第一章 软件工程概述
1.1 软件危机与软件工程的起源
软件危机主要包含两个方面:
- 如何开发软件, 以满足对软件日益增长的需求;
- 如何维护数量不断膨胀的已有软件.
软件危机的典型表现:
- 对软件开发成本和进度估计不准确;
- 用户不满意所开发的软件系统的情况经常发生;
- 软件质量往往靠不住;
- 软件往往不可维护;
- 软件没有适当的文档资料;
- 软件成本在计算机系统中的总成本占比逐年上升;
- 软件开发生产率的提高速度, 既跟不上硬件发展速度, 也跟不上计算机普及趋势.
产生软件危机的原因
软件的一个显著特点是规模庞大, 且程序复杂性随程序规模的增加而呈指数级增加.
软件维护通常意味着改正或修改原来的设计.
软件声明周期:
软件配置
在软件的生命周期的每个阶段都要得出最终产品的一个或几个组成部分. 这些组成部分通常以文档资料的形式存在.
- 程序: 能够完成预订功能和性能的可执行的指令序列;
- 数据: 使程序能够适当地处理信息的数据结构;
- 文档: 开发, 使用和维护程序所需要的图文资料.
1.2 软件工程
软件工程的基本原理
- 用分阶段的生命周期计划严格管理;
- 坚持进行阶段评审;
- 实行严格的产品控制;
- 采用现代程序设计技术;
- 结果应能清楚地审查;
- 开发小组人员应少而精;
- 承认不断改进软件工程实践的必要性.