第1章 绪论 1
1.1 软件 1
1.2 软件危机 5
1.3 软件工程 7
1.4 软件开发方法 12
第2章 软件生命周期及模型 16
2.1 软件生命周期的定义 16
2.2 软件生命周期的阶段划分 16
2.3 软件生命周期模型 18
第3章 软件可行性研究与需求分析 30
3.1 问题定义与可行性研究 30
3.2 需求分析概述 35
3.3 获取需求的方法 43
3.4 结构化分析方法 45
3.5 快速原型分析方法 47
3.6 需求验证与评审 49
3.7 需求管理 51
第4章 软件设计 60
4.1 软件设计概述 60
4.2 软件概要设计 63
4.3 软件详细设计 71
4.4 用户界面设计 78
4.5 软件结构化设计方法 81
4.6 面向数据结构的设计方法 87
第5章 面向对象分析与设计 94
5.1 面向对象方法学概述 94
5.2 面向对象的分析 98
5.3 面向对象的设计 108
5.4 面向对象的实现 118
第6章 软件编码与实现 124
6.1 软件实现的目标及策略 124
6.2 程序设计语言 125
6.3 程序设计风格 131
6.4 程序效率 139
6.5 编程安全 141
第7章 软件测试 144
7.1 软件测试概述 144
7.2 软件测试方法和技术 149
7.3 软件测试的策略 161
7.4 面向对象的测试 173
7.5 测试用例的设计 175
第8章 软件的调试、维护与再工程 182
8.1 软件调试与排错 182
8.2 软件维护概述 186
8.3 软件维护的过程 189
8.4 软件的可维护性分析 192
8.5 逆向工程和再工程 200
第9章 软件复用与构件技术 204
9.1 软件复用概述 204
9.2 软件复用的现状及问题 208
9.3 构件复用与构件工程 210
9.4 领域工程 215
9.5 基于构件的软件开发 222
第10章 软件项目管理 233
10.1 软件项目管理概述 233
10.2 软件项目进度管理 238
10.3 软件项目成本估算 251
10.4 软件项目风险管理 259
10.5 软件项目组织和人员管理 273
10.6 软件项目收尾与验收管理 278
第11章 软件质量管理 288
11.1 质量管理概述 288
11.2 软件质量度量与评价 295
11.3 软件质量保证 306
11.4 软件技术评审 312
11.5 软件质量体系 314
第12章 软件工程标准与环境 319
12.1 软件工程标准 319
12.2 软件文档 326
12.3 软件开发工具 330
12.4 软件开发环境 333
12.5 计算机辅助软件工程(CASE) 338
第13章 敏捷软件开发探析 350
13.1 敏捷软件开发概述 350
13.2 极限编程方法 363
13.3 Scrum方法 368
参考文献 375