1
大学信息技术基础教程
1.2.3.1.4 3.1.4 软件危机

3.1.4 软件危机

20世纪60年代中期以后,计算机硬件技术日益进步,计算机价格的下跌为它的广泛应用创造了极好的条件。在这种形势下,一些开发大型软件系统的要求提了出来。然而在大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证这三大难题。遇到的问题找不到解决办法,致使问题堆积起来,形成了人们难以控制的局面,出现了所谓的“软件危机”。

最为突出的例子是美国IBM公司于1963年~1966年开发的IBM360系列机的操作系统。该软件系统花了大约5 000人一年的工作量,最多时有1 000人投入开发工作,写出近100万行的源代码。然而尽管投入了这么多的人力和物力,得到的结果却极其糟糕。据统计,这个操作系统每次发行的新版本都是从前一版本中找出1 000个程序错误而修正的结果。

软件危机是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件来满足对软件日益增长的需求,以及如何维护数量不断膨胀的已有软件。

软件危机导致了软件工程的产生。借鉴一般的工程经验,针对软件产品的性质和特征,运用科学知识找出一套原理和方法克服软件产品开发过程中的困难,从而以最经济的手段得到软件产品,这是软件工程所面临的任务。