一、软件危机的介绍

1、概念

软件危机是指在计算机软件开发和维护过程中所遇到的一系列严重问题。这些问题绝不是不能运行的问题才有的,实际上,所有的软件都不同程度的存在这些问题。软件危机包含两方面的问题:

(1)如何开发软件,以满足对软件日益增长的需求;

(2)如何维护数量不断膨胀的已有软件。

2、典型表现

(1)对软件开发成本和进度估计不准确。

(2)用户对“已完成的”软件系统不满意。

(3)软件产品的质量不可靠。

(4)软件不可维护。

(5)软甲没有适当的文档资料。

(6)软件成本在计算机系统总成本中所占的比例逐年上升。

(7)软件开发跟不上计算机应用普及深入的趋势。

二、产生软件危机的原因

1.客观原因

(1)软件是计算机系统中的逻辑部件而不是物理部件。

(2)软件规模庞大,而且程序复杂性将随着程序规模的增加而呈指数式上升。

2、主观原因

(1)对软件开发和维护有不少糊涂的概念,采用的错误的方法技术。

(2)存在与软件发开和维护有关的很多错误的做法。

(3)对用户要求没有完整清楚的认识,就急于编写软件程序。

(4)一个软件从定义,开发,使用,维护,直到最终废弃,要经历一个漫长的时期。

(5)一个软件产品必须有一个完整的配置组成,主要包括:程序,文档,数据等。

(6)在软件开发的不同阶段进行修改所付出的代价是很不相同的。

(7)轻视维护是一个很大的错误。

三、消除软件危机的途径

1、应该对计算机软件有一个正确的认识。程序是指能够完成预定功能和性能的可执行的指令序列;数据是使程序能够适当地处理信息的数据结构;文档是开发,使用和维护程序所需要的图文资料。

2、应该充分认识到软件开发是一种组织良好,管理严密,各类人员协同配合,共同完成的工程项目。

3、应该推广使用在实践中总结出来的开发软件成功的技术和方法。

4、应该开发和使用更好的软件工具。