软件工程——软件危机
软件危机
- 许多项目不能满足客户的要求
- 许多软件项目超出预算和时间安排
软件危机的表现
- 对软件开发成本和进度的估算常常很不正确
- 用户对“已完成的”软件系统不满意的现象经常发生
- 软件产品的质量往往靠不住
- 软件常常是不可维护的
- 软件通常没有适当的文档资料
- 软件成本在计算机系统总成本中所占的比例逐年上升
- 软件开发生产率提高的速度远远跟不上计算机应用迅速普及及深入的趋势
软件危机的原因
- 软件是逻辑产品,开发进度、成本难以估计
- 缺乏或不完整、不一致的文档给维护带来困难
- 用户对软件需求的描述往往不够精确,有遗漏,有二义
- 软件开发人员对需求的理解与用户的本来愿望有差异
- 大型软件项目需多人协同完成,缺乏管理经验
- 开发人员不能有效地、独立自主地处理大型软件的全部关系
- 缺乏有力的方法学和工具的支持
- 软件项目的特殊性和人类智力的局限性
克服软件危机的途径
- 消除错误的概念和做法
- 推广使用成功的开发技术和方法
- 使用软件工具和软件工程支持环境
- 加强软件管理