第一章 软件工程概述 1
1.1 软件危机和软件工程 1
1.2 软件和软件生存周期 4
习题与思考 5
1.3 软件的质量 8
1.4 软件工程学的基本原则 11
1.5 软件开发方法、工具和环境 13
1.6 小结 16
习题与思考 16
第二章 系统定义与软件计划 19
2.1 系统定义 19
2.2 软件计划 26
2.3 软件成本估算 28
2.4 进度安排 36
2.5 软件计划的文件与复审 37
2.6 小结 38
习题与思考 39
第三章 软件需求分析 40
3.1 需求分析阶段的任务 40
3.2 结构化分析方法(SA) 41
3.3 数据流图 43
3.4 数据词典 49
3.5 加工逻辑的描述的工具 52
3.6 需求分析工具 54
3.7 软件需求分析文件与复审 57
3.8 小结 59
第四章 概要设计 64
4.1 软件设计的概念和原理 64
4.2 模块的独立性 70
4.3 结构化设计方法(SD) 75
4.4 Parnas方法 89
4.5 Jackson方法 90
4.6 程序的逻辑构造方法(LCP) 96
4.7 概要设计文件与复审 102
4.8 小结 105
习题与思考 105
5.1 详细设计概述 111
5.2 结构化程序设计 111
第五章 详细设计 111
5.3 详细设计的描述工具 114
5.4 详细设计文件与复审 125
5.5 小结 127
习题与思考 127
第六章 软件编码 130
6.1 程序设计语言 130
6.2 程序设计方法 135
6.3 程序设计风格 143
6.4 系统开发的原型法与第4代语言 145
6.5 软件编码文件与复审 147
6.6 小结 148
习题与思考 148
第七章 软件测试 151
7.1 软件测试的基本概念 151
7.2 静态分析技术 156
7.3 测试用例设计 160
7.4 软件测试的步骤 173
7.5 排错技术 178
7.6 软件测试文件 179
7.7 小结 182
习题与思考 182
第八章 软件维护 188
8.1 软件维护概述 188
8.2 软件维护过程 193
8.3 软件维护管理 198
8.4 软件维护文件 201
8.5 软件重用技术 205
8.6 小结 207
习题与思考 208
第九章 软件管理 211
9.1 软件项目的特点和软件管理的职能 211
9.2 软件开发的人员组织和管理 214
9.3 软件计划管理 219
9.4 软件配置管理 221
9.5 标准化管理 224
9.6 软件产业和产权保护 227
9.7 小结 232
习题与思考 232
参考文献 235