软件危机
- 软件开发进度难以预测
- 软件开发成本难以控制
- 用户对产品功能难以满足
- 软件产品质量无法保证
- 软件产品难以维护
人月:软件工程的度量单位
Engineering: The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.
软件工程技术体系层次
- 质量关注点(quality focus)是软件工程的根基
- 过程(process)是软件工程的基础
- 方法(methods)为构造软件提供技术上的解决方案
- 工具(tools)为过程和方法提供自动化或半自动化的支持
软件生存周期
软件生存周期:软件孕育、诞生、成长、成熟、衰亡的整个过程
对软件工程的理解
- 面向质量和经济目标的软件开发工程化
- 包括技术和管理
- 对软件整个生存周期的理解
- 软件演化和软件维护
- 针对各种不同类型软件的工程化开发
- 涉及多个层面:软件产业、软件组织、软件项目、软件开发者