第1章 绪论 1
1.1 软件工程概述 1
1.2 软件危机 5
1.3 软件生存周期 8
1.4 软件生存期模型 10
第2章 软件开发形式化方法 18
2.1 形式化方法概述 18
2.2 有穷状态机 22
2.3 Petri网 31
第3章 软件需求分析和规格说明 39
3.1 概述 39
3.2 软件需求分析的任务和过程 44
3.3 用户需求获取 47
3.4 软件需求建模 53
3.5 需求分析工具 56
3.6 需求分析的文档 60
第4章 软件架构与体系结构设计 63
4.1 软件设计概述 63
4.2 架构设计 66
4.3 软件结构设计基本原理 71
4.4 软件结构图 77
4.5 结构化设计方法 81
4.6 软件体系结构设计常用技术 84
4.7 软件体系结构设计规格说明书 89
第5章 详细设计 91
5.1 结构化程序设计 91
5.2 面向对象程序详细设计 100
5.3 人机界面设计 102
5.4 面向数据结构的设计方法 108
5.5 程序复杂程度的定量度量 113
第6章 面向对象分析与设计 115
6.1 面向对象的基本概念 115
6.2 面向对象分析 119
6.3 软件重用 124
6.4 面向对象设计 127
6.5 典型的面向对象的方法 136
第7章 UML统一建模语言 143
7.1 UML概述 143
7.2 UML的语言机制 146
7.3 UML的建模 153
7.4 基于UML的软件开发过程 169
第8章 软件开发工具与编码 172
8.1 软件工具概述 172
8.2 Rational Rose工具 180
8.3 软件开发环境 186
8.4 程序设计编码 189
第9章 软件检验与测试方法 196
9.1 软件测试概述 196
9.2 白盒测试 204
9.3 黑盒测试 213
9.4 调试 219
第10章 软件维护 222
10.1 软件维护概述 222
10.2 软件维护的过程 226
10.3 软件的可维护性 229
10.4 软件再工程 234
第11章 软件工程管理 239
11.1 软件工程管理概述 239
11.2 软件开发成本估算 242
11.3 软件项目组织与人员管理 246
11.4 软件质量保证 252
11.5 软件工程文档 256
参考文献 258