第1章 软件工程概述 1
1.1 计算机软件 1
1.2 软件的发展和软件危机 7
1.3 软件工程 11
1.4 软件工程知识体系 17
习题 19
第2章 软件生命周期模型 20
2.1 软件工程过程 20
2.2 模型及软件生命周期定义 21
2.3 传统软件生命周期模型 23
2.4 新型软件生命周期模型 42
习题 55
第3章 软件需求分析 56
3.1 需求分析之前的活动 56
3.2 什么是需求 61
3.3 软件需求分析的目标及任务 63
3.4 软件需求分析建模的原则和方法 65
3.5 软件需求工程 67
3.6 软件需求分析过程 68
习题 78
第4章 面向对象需求分析方法 79
4.1 面向对象建模方法的发展历程 79
4.2 统一建模语言简介 83
4.3 面向对象的需求分析建模 86
4.4 领域建模 87
4.5 用例建模 100
4.6 需求分析规格说明书参考模板 114
习题 115
第5章 结构化需求分析方法 116
5.1 结构化分析发展简史 116
5.2 面向数据流图的结构化分析模型 116
5.3 结构化方法的软件需求规格说明书 143
习题 145
第6章 软件设计的概念及原则 146
6.1 软件设计的目标 146
6.2 软件设计的过程 146
6.3 软件的概要设计 147
6.4 软件的详细设计 149
6.5 软件设计模型 150
6.6 软件设计的一般原则 151
6.7 面向对象设计原则 161
6.8 软件设计基础 168
6.9 软件体系结构简介 172
6.10 软件设计方法 183
习题 183
第7章 面向对象设计方法 184
7.1 面向对象设计方法综述 184
7.2 模型层次化 185
7.3 设计用例实现方案 188
7.4 概要设计说明书参考模板 209
习题 209
第8章 结构化设计方法 210
8.1 系统功能结构图结构 210
8.2 变换映射 212
8.3 事务映射 215
8.4 变换-事务混合型的系统结构图 216
8.5 改进系统功能结构图的启发式原则 217
8.6 数据设计和文件设计的原则 221
8.7 设计的后处理 223
8.8 详细设计 225
8.9 界面设计的原则 231
习题 237
第9章 软件实现 238
9.1 软件实现概述 238
9.2 程序设计语言与集成开发环境 239
9.3 程序设计方法 240
9.4 程序设计风格 245
习题 249
第10章 软件测试 250
10.1 软件测试概述 250
10.2 系统测试步骤 255
10.3 软件测试流程 261
10.4 测试用例设计方法 265
10.5 自动化软件测试 278
10.6 软件的可靠性 281
习题 284
第11章 软件维护 285
11.1 软件维护概述 285
11.2 软件维护活动 287
11.3 维护期的软件开发 289
习题 292
第12章 软件项目管理 293
12.1 软件项目管理概述 293
12.2 软件项目管理知识体系 293
12.3 软件项目管理过程 295
12.4 项目过程组与项目管理知识域的映射关系 297
12.5 软件项目管理体系 298
习题 308
附录一 309
附录二 318
附录三 326