软件危机的产生及解决

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.分析上述说明中的案例,简述什么原因导致了以上情况,应用什么途径消除?

答:这些情况是由软件危机导致的,导致软件工程发生的主要原因为(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费

用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,

生产率提高缓慢。解决软件危机的办法是:(1) 充分吸收和借鉴人类长期以来从

事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取

几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力

作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来

的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服

在计算机系统早期发展阶段形成的一些错误概念和作法。(3) 根据不同的应用

领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工

具集合成一个整体,形成一个很好的软件开发环境。总之为了解决软件危机,

既要有技术措施(方法和工具),又要有必要的组织管理措施

2.简述软件生命周期的划分及任务

答:软件生命周期的具体划分和任务如下

1.问题定义

此阶段是软件开发方与需求方共同讨论,主要确定软件的开发目标及其可行性。

2.可行性研究

可行性分析的任务是明确应用项目的开发的必要性和可行性。必要性来自实

现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。这项

工作是建立在初步调查的基础上。

3.需求分析

在确定软件开发可行的情况下,对软件需要实现的各个功能进行详细分析。

需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项

目的成功打下良好的基础。"唯一不变的是变化本身。",同样需求也是在整

个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应

付这种变化,以保护整个项目的顺利进行。

4.总体设计

此阶段主要根据需求分析的结果,对整个软件系统进行设计,如系统框架设

计,数据库设计等等。软件设计一般分为总体设计和详细设计。好的软件设

计将为软件程序编写打下良好的基础。

5.详细设计

详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详

细设计的目标有两个:实现模块功能的算法要逻辑上正确和算法描述要简明

易懂。

6.编码和单元测试

此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中

必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,

提高程序的运行效率。

7.综合测试

在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的

问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶

段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建

立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。

8.软件维护

软件维护是软件生命周期中持续时间最长的阶段。在软件开发完成并投入使用后,由于多方面的原因,软件不能继续适应用户的要求。要延续软件的使用寿命,就必须对软件进行维护。软件的维护包括纠错性维护和改进性维护两个方面。

相关文档
最新文档