一、软件危机:
软件开发和维护过程中遇到的一系列严重问题。
二、具体表现:
1、产品不符合用户的实际需要;
2、软件开发生产率不高,不能满足客观需要;
3、软件产品质量差;
4、对软件开发成本和进度的估计不准确;
5、可维护性差;
6、软件的文档资料不完整和不合格;
7、软件成本逐年上升。
三、产生原因:
1、宏观
(1)缺乏总体考虑,没有软件工程学概念或系统工程思想。——软件
(2)对业务了解支离破碎,需求分析不准。——软件
(3)企业依赖激情指挥,企业管理标准化、规范化、科学化程度不高,导致不能成功地应用“死板”的软件,它依赖于业务的“科学化”、“条理化”、“程序化” ——企业
(4)企业信息化程度和计算机应用水平低,导致无法准确描述需求。——企业
(5)一把手对信息管理的重视程度不够。——企业
(6)缺乏相互沟通,业务描述的详尽程度不能达到具备生活常识的人能够轻易理解。—— 企业、软件
2、微观
(1)软件的规模比较庞大,其开发和维护相当困难;
(2)开发人员虽然有经验,但还存在着不少错误观点,没有实行工程化的方法;
(3)不能与用户及时沟通,不能了解用户的实际需要;
(4)没有统一的软件质量管理规范;
(5)不能根据环境的变化而随时对产品进行改正。
补充:软件危机事件
IBMOS/360
IBMOS/360操作系统被认为是一个典型的案例,到现在为止,它仍然被使用在360系列主机中。这个经历了数十年,极度复杂的软件项目甚至产生了一套不包括在原始设计方案之中的工作系统。
IBM公司开发OS/360系统,共有4000多个模块,约100万条指令,投入5000人年,耗资数亿美元,结果还是延期交付,在交付使用后的系统中仍发现大量(2000个以上)的错误,造成无法估计的安全隐患。

