第一部分 引言 1
第1章 软件透视 2
1.1 软件危机 2
1.2 虚幻的银弹 3
1.3 解决危机的其他尝试 3
1.4 理解软件的本质 4
1.5 软件过程改进创新 5
1.6 小结 9
第2章 软件开发生存周期模型 12
2.1 瀑布模型 13
2.2 并发开发模型 14
2.3 快速原型模型 16
2.4 螺旋模型 17
2.5 混合模型 19
2.6 基于模型的开发 19
2.7 面向对象模型 21
2.8 小结 23
第3章 软件开发过程 25
3.1 软件开发过程经常提及的问题 26
3.2 小结 30
第4章 经济缘由 32
4.1 经济缘由 33
4.2 软件缺陷开销模型 34
4.3 质量成本测量 38
4.4 小结 39
第二部分 软件验证活动综述 41
第5章 审查过程 42
5.1 审查过程经常提及的问题 43
5.2 小结 50
第6章 审查过程的应用 53
6.1 好的过程的属性 53
6.2 需求审查 55
6.3 设计审查 58
6.4 代码审查 60
6.5 测试脚本审查 63
6.6 小结 65
第7章 软件质量度量 66
7.1 实施软件度量程序的策略 67
7.2 软件质量度量框架 67
7.3 有助于软件确认活动的度量 75
7.4 小结 78
第8章 配置管理 80
8.1 软件配置管理基础 81
8.2 标识 85
8.3 基线管理 88
8.4 审计和报告 92
8.5 小结 94
第三部分 软件确认活动概要 97
第9章 测试 98
9.1 测试阶段、测试方法和测试类型 99
9.2 并发开发/确认测试模型 107
9.3 测试计划 111
9.4 小结 116
10.1 时间测量 118
第10章 确认度量 118
10.2 测试覆盖度量 119
10.3 质量度量 121
10.4 小结 122
第11章 软件可靠性增长 123
11.1 定义 123
11.2 测试-分析-修改过程 124
11.3 可靠性增长模型 124
11.4 小结 130
第四部分 可预测的软件开发 133
第12章 变成可预测的动机 135
12.1 可预测的软件开发概述 136
12.2 不能进行预测的组织的特征 139
12.4 管理部门能够使组织发生改变 140
12.3 进行预测的组织的特征 140
12.5 小结 143
第13章 质量、特性和进度的平衡 145
13.1 质量 146
13.2 特性 150
13.3 进度 151
13.4 质量、特性和进度之间的平衡 154
13.5 小结 155
第14章 准确估算和进度安排 159
14.1 为什么估算和进度在很多时候是错误的 159
14.2 一个典型的进度倒计时项目 161
14.3 软件估算方法 163
14.4 进度安排方法 166
14.5 小结 168
第15章 人员、过程和产品的平衡 170
15.1 过程 170
15.2 人员 175
15.3 产品 180
15.4 小结 183
第16章 管理承诺和风险 185
16.1 管理承诺 185
16.2 风险 186
16.3 风险管理方法 187
16.4 小结 190
附录A 审查角色与职责 191
附录B 审查过程实例 195
附录C 审查过程表 202
附录D 审查检查表 204
附录E 良好的需求规格说明属性 223
附录F 选择用于代码审查的模块的抽样准则 224
附录G 基于瀑布模型的软件开发过程样本 225
附录H 文档大纲 232
附录I 三角形程序的测试用例 244
附录J 软件可靠性模型 245
附录K 黄色粘贴法 249
附录L 软件开发最佳实践 256
附录M 软件质量最佳实践 267
附录N 项目事后剖析 271
附录O 根本原因分析 273