1.2.2 软件危机的表现形式

更新于 2026年10月10日 版权声明
1.2.2 软件危机的表现形式

具体地说,软件危机的表现形式可以概括如下。

(1)软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。

(2)软件系统实现的功能与实际需求不符。软件开发人员对用户需求缺乏深入的理解,往往急于编写程序,闭门造车,最后完成的软件与用户需求相距甚远。

(3)软件的可靠性差。尽管耗费了大量的人力、物力,系统的正确性却越来越难以保证,出错率大大增加,由于软件错误而造成的损失十分惊人。

(4)软件难以维护。很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,软件维护占用了大量的人力、物力和财力。

(5)软件通常没有适当的文档资料。计算机软件不仅仅是程序,还应有一整套文档资料。这些文档资料应该是在软件开发过程中产生出来的,与程序代码完全一致的。缺乏必要的文档资料或者文档资料不合格,必然给软件开发和维护带来许多严重的问题。(https://www.daowen.com)

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

由于微电子学技术的进步和硬件生产自动化程度不断提高,硬件成本逐年下降,性能和产量迅速提高,然而软件开发需要大量人力,软件成本随着软件规模和数量的剧增而持续上升。

(7)软件生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

软件生产不能满足日益增长的软件需求。软件生产率远低于硬件生产率和计算机应用的增长率,社会出现了软件供不应求的局面。更为严重的是,软件生产效率随软件生产规模的增加和软件复杂性的提高而急剧下降。

上述问题经常表现在具体的软件开发项目上,最为突出的实例便是美国IBM公司在1963年至1966年开发的IBM 360系列机的操作系统。这一项目在开发期间,每年花费五千万美元,总共投入的工作量为5千人1年,参加工作最多时有1千人。总共写出了一百万行源程序。尽管投入如此多的开销,却拿不到开发成果,这是一次失败的记录。项目负责人F.P.Brooks事后总结了他在组织开发过程中的沉痛教训,写成《人月神话》一书。这个反映软件危机的典型事例,成为软件技术发展过程中一个重要的历史性标志。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)