第一章概述1、软件危机定义:软件危机就是软件开发和维护过程中遇到的一系列严重问题。软件危机包括两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的现有软件。2、软件危机的主要表现:产品不符合用户的实际需要;软件开发生产率提高速度不能满足客观需要(软件的生产率远远低于硬件生产率和计算机应用的增长率,不能充分利用硬件的巨大潜力);软件产品的质量差(软件可靠性和质量保证的定量概念刚刚出现不久,软件质量保证技术(审查、复审、测试)没有贯穿到软件开发的全部过程中);对软件开发成本和进度的估计常常不准确(实际成本比估计成本可能高,实际进度比预期进度推迟,会降低开发者信誉级别,赶进度也可能降低质量);软件的可维护性差(程序中很多错误是难免的,这些程序有时不能适应硬件环境的改变,也不能根据需要增加新功能,软件的不可重用性,造成了重复开发功能类似的软件);软件文档资料通常既不完整也不合格(计算机软件不应仅有程序,还应包括一整套文档资料);软件的价格昂贵(软件成本在计算机系统的总成本中所占的比例逐年上升,硬件成本下降,软件开发需要大量人力)。3、软件危机主要原因:忽