软件工程概述
一、软件危机
1.软件危机的主要表现
- 对软件开发成本和进度的估计常常很不准确;
- 用户对“已完成的”软件系统不满意的现象经常发生;
- 软件产品的质量往往靠不住;
- 软件常常是不可维护的;
- 软件通常没有适当的文档资料;
- 软件成本在计算机系统总成本中所占的比例逐年上升;
- 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
2.产生软件危机的原因
软件危机源于:
软件本身:与软件的特点有关
人为因素:软件开发与维护的方法不正确有关
二、软件工程
1.软件工程的定义
1993年IEEE进一步给出了一个更全面更具体的定义:“软件工程是: ①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件; ②研究①中提到的途径。”
2.软件工程发展的四个阶段
1、第一代软件工程 — 传统的软件工程
2、第二代软件工程 — 对象工程
3、第三代软件工程 — 过程工程
4、第四代软件工程 — 构件工程
3.软件工程的本质特性
- 软件工程关注于大型程序的构造
- 软件工程的中心课题是控制复杂性
- 软件经常变化
- 开发软件的效率非常重要
- 和谐地合作是开发软件的关键
- 软件必须有效地支持它的用户
- 在软件