1.分析上述说明中的案例,简述什么原因导致了以上情况,应用什么途径消除?答:这些情况是由软件危机导致的,导致软件工程发生的主要原因为(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加.(4)软件开发技术落后.(5)生产方式落后。(6)开发工具落后,生产率提高缓慢.解决软件危机的办法是:(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件讨论和开发的经验教训.在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。 (2) 推广在实践中总结出来的开发软件的成功的技术和方法,并讨论更好、更有效的技术和方法,尽快克服在计算机系统早期进展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具.将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施2.简述软件生命周期的划分及任务答:软件生命周期的具体划分和任务如下1.问题定义此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。2.可行性讨论可行性分析的任务是明确应用项目的开发的必要性和可行性.必要性来自实现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。这项工作是建立在初步调查的基础上。3。需求分析在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础.”唯一不变的是变化本身。”,同样需求也是在整个软件开发过程中不断变化和深化的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。 4.总体设计此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设计将为软件程序编写打下良好的基础。5.详细设计详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明易懂.6.编码和单元测试此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写法律规范.以保证程序的可读性,易维...