导引篇 1
第1章 软件工程概述 1
1.1软件的概念和分类 1
1.2软件危机与软件工程 3
1.3 CDIO工程教育模式 7
1.4 CDIO大作业 9
习题 11
第2章 软件过程 12
2.1绪论 12
2.2软件开发的主要活动 15
2.3软件过程模型 20
2.4软件过程中的并行工程 27
习题 32
构思篇 33
第3章 传统软件需求分析 33
3.1需求分析与需求工程 33
3.2软件需求工程过程 37
3.3软件需求获取 40
3.4结构化分析 45
3.5案例分析 51
习题 55
第4章 面向对象方法概论 56
4.1什么是面向对象 57
4.2面向对象方法在软件工程学中的作用 58
4.3面向对象方法的主要概念 62
4.4面向对象方法与UML 69
习题 82
第5章 面向对象需求分析 83
5.1面向对象需求分析概述 83
5.2案例 86
5.3建立用例模型 87
5.4发现对象和类 92
5.5建立行为模型 101
5.6需求验证 106
习题 109
设 计 篇 110
第6章 软件体系结构 110
6.1概述 110
6.2软件体系结构的类别及重要性 111
6.3软件体系结构的构成 111
6.4软件体系结构的描述语言 114
6.5体系结构模式和风格 116
6.6体系结构设计原理 122
6.7分布式软件体系结构 124
习题 128
第7章 传统软件设计 129
7.1软件设计的概念与原则 129
7.2结构化设计方法 134
7.3变换型设计与事务型设计 135
7.4数据库设计 138
7.5结构化程序设计 142
7.6案例分析:系统设计 144
7.7案例分析:办公室管理子系统分析与设计 150
习题 159
第8章 面向对象设计 160
8.1面向对象设计概述 160
8.2问题域设计 164
8.3驱动控制设计 168
8.4用户界面设计 170
8.5数据库系统设计 172
8.6类设计 173
习题 175
实 现 篇 176
第9章面向对象程序设计 176
9.1面向对象程序设计的目的 176
9.2选择程序设计语言 177
9.3面向对象程序设计风格 178
9.4面向对象程序设计准则 182
习题 183
第10章 新兴软件开发方法 184
10.1敏捷软件开发方法 184
10.2软件复用 191
10.3基于构件的软件工程 196
习题 200
第11章 软件测试 201
11.1软件测试的基本概念 201
11.2白盒测试 204
11.3黑盒测试 208
11.4单元测试 210
11.5集成测试 213
11.6确认测试 215
11.7面向对象的软件测试 218
习题 224
运作篇 225
第12章 软件维护与演化 225
12.1概述 225
12.2软件维护 227
12.3软件演化 233
习题 237
第13章 软件项目管理 238
13.1软件项目管理概述 238
13.2软件项目需求管理 240
13.3软件项目成本管理 247
13.4软件项目进度管理 258
13.5软件项目风险管理 266
13.6软件项目配置管理 272
习题 276
第14章 软件过程改进 277
14.1过程与产品质量的关系 277
14.2软件过程的建立与分析 278
14.3过程度量和监控 280
14.4过程变更和改进 281
14.5过程改进框架 282
习题 284
参考文献 285