第一章 软件危机
1. 介绍
软件危机包含两个问题:如何开发软件以应对日益增长的需求,以及如何维护数量不断增长的已有软件。
2. 软件危机表现:
对软件开发成本和进度估计不明确
用户对已完成的软件系统市场不满意
软件质量靠不住
不可维护
软件通常没有合适的文档材料
软件成本在计算机系统的成本中所占的比例提升
软件开发生产率提高速度过慢
3. 原因
- 软件开发不同于硬件,是逻辑部件,缺乏可见性,所以开发进展较难衡量,软件的质量难以评价;
- 软件规模庞大,难以组织分工合作,难以保证分工的模块合在一起构成高质量大型软件系统。
- 早期开发的错误认识:忽略需求分析重要性、轻视软件维护。
4. 消除软件危机的途径
== 从管理和技术出发==
-
正确认识 :软件是程序,数据及相关文档的完整集合。(不仅仅是程序)
-
程序是能够完成预定功能和性能的可执行的指令序列
-
数据是使程序能够适当地处理信息的数据结构
-
文档是开发、使用、和维护程序所需要的图文资料(包括IEEE定义的方法和规则)