第1章 软件工程:预览 1
1.1 软件工程在系统设计中的作用 2
1.2 软件工程简史 2
1.3 软件工程师的作用 4
1.4 软件生存期 4
1.5 软件工程与计算机科学其他领域的关系 6
1.6 软件工程与其他学科的关系 9
1.7 结束语 10
第2章 软件:性质和质量 12
2.1 软件质量分类 12
2.2 质量代表 13
2.3 不同应用领域的质量需求 25
2.4 质量的度量 28
2.5 结束语 29
第3章 软件工程原则 31
3.1 严格和形式化 32
3.2 相关分离 33
3.3 模块化 35
3.4 抽象 37
3.5 变更预测 38
3.6 概括性 39
3.7 增量式 40
3.8 两个说明软件工程原则的案例分析 41
3.9 结束语 49
第4章 设计与软件构架 52
4.1 软件设计活动及其目标 54
4.2 模块化技术 61
4.3 异常处理 93
4.4 设计案例分析 95
4.5 并发软件 98
4.6 面向对象设计 110
4.7 构架和组件 115
4.8 结束语 121
第5章 规范 127
5.1 规范的使用 128
5.2 规范的质量 129
5.3 规范风格分类 131
5.4 规范的验证 134
5.5 操作型规范 134
5.6 描述型规范 167
5.7 规范构建和使用实践 190
5.8 结束语 209
第6章 验证 218
6.1 验证的目标和需求 219
6.2 验证方法 221
6.3 测试 222
6.4 分析 255
6.5 符号执行 273
6.6 模型检验 281
6.7 验证技术小结 283
6.8 调试 284
6.9 其他软件特性的验证 288
6.10 结束语 300
第7章 软件生产过程 312
7.1 什么是软件过程模型 313
7.2 为什么软件过程模型是重要的 314
7.3 软件生产的主要活动 316
7.4 软件过程模型概述 325
7.5 处理遗留软件 337
7.6 案例分析 338
7.7 过程组织 347
7.8 制品的组织:配置管理 358
7.9 软件标准 361
7.10 结束语 362
第8章 软件工程管理 367
8.1 管理职能 368
8.2 项目计划 369
8.3 项目控制 381
8.4 组织 387
8.5 风险管理 392
8.6 能力成熟度模型 394
8.7 结束语 396
第9章 软件工程工具和环境 400
9.1 工具和环境的历史演进 400
9.2 软件工具的比较因素 401
9.3 代表性工具 404
9.4 工具集成 417
9.5 影响工具演进的力量 418
9.6 结束语 419
第10章 后记 422
10.1 软件工程的将来 422
10.2 职业道德和社会责任 424
10.3 软件工程的职业道德准则 424
10.4 结束语 425
附录 案例分析 427
案例分析A:律师事务所办公自动化 427
案例分析B:开发一个编译器族 430
案例分析C:增量或交付 436
案例分析D:形式化方法在工业中的应用 437
结束语 444