第1章 绪论 1
1.1 软件工程的产生 1
1.2 软件工程过程和软件生存周期 5
1.3 软件生存周期模型 7
1.4 软件开发方法 16
1.5 软件开发工具 18
1.6 小结 20
习题 20
第2章 软件要求定义 21
2.1 可行性研究 21
2.2 项目开发计划 26
2.3 软件需求分析 27
2.4 IDEF方法 30
习题 33
2.5 小结 33
第3章 软件设计 34
3.1 软件概要设计概述 34
3.2 软件设计的基本原理 36
3.3 软件结构准则 40
3.4 基于IDEF0图的设计方法 45
3.5 软件详细设计 45
3.6 软件详细设计表示法 47
3.7 小结 52
习题 53
第4章 软件编码 54
4.1 程序设计语言的特征及选择 54
4.2 程序设计风格 58
4.3 小结 60
习题 60
5.1 软件测试概述 61
第5章 软件测试 61
5.2 测试方法 62
5.3 测试用例的设计 63
5.4 测试过程 72
5.5 调试 78
5.6 小结 80
习题 81
第6章 软件维护 82
6.1 软件维护的内容 82
6.2 软件维护的特点 83
6.3 软件维护的实施 84
6.4 软件可维护性 88
6.5 小结 92
习题 92
7.1 概述 93
第7章 增量模型 93
7.2 渐增模型 95
7.3 快速原型模型 96
7.4 快速原型的开发技术和开发环境 99
7.5 增量模型的评价 100
7.6 小结 101
习题 102
第8章 结构化方法 103
8.1 概述 103
8.2 结构化分析 104
8.3 数据流图 106
8.4 数据字典 112
8.5 加工逻辑的描述 115
8.6 结构化设计 118
8.7 小结 125
习题 126
第9章 Jackson方法 128
9.1 概述 128
9.2 JSP方法 129
9.3 JSD方法 135
9.4 小结 140
习题 141
第10章 面向对象基础 143
10.1 面向对象程序设计语言的发展 143
10.2 面向对象程序设计模式 145
10.3 面向对象的概念 149
10.4 面向对象的开发方法 154
10.5 面向对象的Booch方法 155
习题 161
10.6 小结 161
第11章 面向对象的Coad方法 162
11.1 Coad方法概述 162
11.2 面向对象分析 168
11.3 面向对象设计 174
11.4 小结 182
习题 182
第12章 面向对象的OMT方法 183
12.1 OMT方法概述 183
12.2 建模概念 185
12.3 系统分析 196
12.4 系统设计 210
12.5 对象设计 216
12.6 小结 219
习题 220
13.1 UML概述 221
第13章 UML建模语言 221
13.2 通用模型元素 224
13.3 用例模型 227
13.4 静态模型 230
13.5 动态模型 236
13.6 实现模型 246
13.7 小结 248
习题 249
第14章 软件质量评价和保证 251
14.1 软件质量概述 251
14.2 质量度量模型 254
14.3 软件复杂性 256
14.4 软件可靠性 258
14.5 软件评审 260
14.6 软件容错技术 263
习题 265
14.7 小结 265
第15章 软件工程管理技术 266
15.1 软件工程管理概述 266
15.2 软件项目计划 268
15.3 软件配置管理 275
15.4 软件工程标准化与软件文档 278
15.5 小结 280
习题 281
第16章 软件工程环境 282
16.1 软件开发环境 282
16.2 软件工具 286
16.3 计算机辅助软件工程 288
16.4 小结 295
习题 296
参考文献 297