目录译者序前言作者介绍针对专门读者群的指南第一部分 引论第1章 软件质量的挑战 3
1.1 软件质量保证的独特性 3
1.2 为之建立SQA方法的环境 5
小结 8
复习题 8
讨论题 9
第2章 什么是软件质量 10
2.1 什么是软件 10
2.2 软件错误、故障与失效 11
2.3 软件错误原因的分类 13
2.4 软件质量——定义 16
2.5.1 软件质量保证的定义 17
2.5 软件质量保证——定义与目标 17
2.5.2 软件质量保证和软件质量控制 19
2.5.3 SQA活动的目标 19
2.6 软件质量保证与软件工程 20
小结 20
选择书目 21
复习题 22
讨论题 23
第3章 软件质量因素 24
3.1 对全面软件质量需求的需要 24
3.2 软件需求按软件质量因素的分类 25
3.3 产品运行软件质量因素 26
3.4 产品校正软件质量因素 27
3.5 产品转移软件质量因素 28
3.6 软件质量因素的替代模型 29
3.6.1 替代模型的形式比较 30
3.6.2 因素模型的比较——内容分析 31
3.6.3 替代因素模型的结构 31
3.7 谁对质量需求的定义感兴趣 32
3.8 软件对质量因素的符合性 33
小结 34
选择书目 35
复习题 36
讨论题 37
第4章 软件质量保证系统的部件——概论 39
4.1 SQA系统——SQA体系结构 39
4.2 项目前部件 40
4.2.1 合同评审 40
4.3 软件项目生命周期部件 42
4.2.2 开发计划与质量计划 42
4.3.1 评审 43
4.3.2 专家观点 43
4.3.3 软件测试 44
4.3.4 软件维护部件 44
4.3.5 外部参与方工作质量的保证 45
4.4 出错预防和改进的基础设施部件 45
4.4.1 规程与工作条例 45
4.4.2 支持性质量手段 46
4.4.3 雇员培训、教育与认证 46
4.4.4 预防性和改正性措施 46
4.4.5 配置管理 46
4.5.2 软件质量度量 47
4.5.1 项目进展控制 47
4.4.6 文档编制控制 47
4.5 管理SQA部件 47
4.5.3 软件质量费用 48
4.6 SQA标准、系统验证与评估部件 48
4.6.1 质量管理标准 48
4.6.2 项目过程标准 48
4.7 SQA组织——人的部件 49
4.7.1 管理人员在SQA中的作用 49
4.7.2 SQA单位 49
4.7.3 SQA理事、委员会和论坛 49
4.8 指导构建机构的SQA系统的考虑 50
5.1 引言:CFV项目完成庆典 55
第二部分 项目前软件质量部件第5章 合同评审 55
5.2 合同评审的过程和阶段 56
5.3 合同评审的目标 56
5.3.1 建议草案评审的目标 56
5.3.2 合同草案评审的目标 58
5.4 合同评审的执行 58
5.4.1 影响合同评审范围的因素 58
5.4.2 谁进行合同评审 59
5.4.3 对重要建议进行合同评审 59
5.5 合同评审的主题 60
5.6 内部项目的合同评审 60
小结 62
选择书目 62
讨论题 63
复习题 63
附录5A 建议草案评审——主题检查表 65
附录5B 合同草案评审——主题检查表 66
第6章 开发计划和质量计划 68
6.1 开发计划和质量计划的目标 69
6.2 开发计划的要素 69
6.3 质量计划的要素 72
6.4 小项目与内部项目的开发计划和质量计划 73
6.4.1 小项目的开发计划和质量计划 73
6.4.2 内部项目的开发计划和质量计划 74
小结 75
选择书目 76
复习题 77
讨论题 78
附录6A 软件开发风险与软件风险管理 79
第三部分 软件生命周期中的SQA部件第7章 将质量活动整合进项目生命周期 87
7.1 经典软件开发方法学和其他软件开发方法学 87
7.1.1 软件开发生命周期(SDLC)模型 88
7.1.2 原型建造模型 89
7.1.3 螺旋模型 91
7.1.4 面向对象模型 93
7.2 影响开发过程中质量保证活动强度的因素 94
7.3 验证、确认与鉴定 96
7.4 一个SQA缺陷排除有效性与费用模型 96
7.4.1 数据 97
7.4.2 模型 98
小结 102
选择书目 104
复习题 104
讨论题 105
第8章 评审 107
8.1 评审的目标 107
8.2 正式设计评审(DR) 108
8.2.1 DR的参加者 109
8.2.2 DR的准备 110
8.2.3 DR会议 111
8.2.4 评审后的活动 111
8.3 同行评审 114
8.3.1 同行评审的参加者 115
8.3.2 同行评审会议的准备 116
8.3.3 同行评审会议 117
8.3.4 同行评审后的活动 118
8.3.5 同行评审的效率 119
8.3.6 同行评审覆盖 120
8.4 组评审方法的比较 121
8.5 专家观点 121
小结 122
选择书目 122
复习题 123
讨论题 124
附录8A DR报告表 125
附录8B 审查会议发现报告表 126
附录8C 审查会议总结报告 127
9.1 定义与目标 128
第9章 软件测试——策略 128
9.2 软件测试的策略 130
9.3 软件测试的分类 133
9.3.1 按测试概念的分类 133
9.3.2 按需求的分类 134
9.4 白盒测试 135
9.4.1 数据处理与计算正确性测试 135
9.4.2 正确性测试与路径覆盖 136
9.4.3 正确性测试与行覆盖 136
9.4.4 McCabe的圈复杂性度量 138
9.4.5 软件鉴定与可重用性测试 140
9.4.6 白盒测试的优点与缺点 140
9.5 黑盒测试 140
9.5.1 输出正确性测试的等价类 141
9.5.2 其他运行因素测试类 143
9.5.3 校正因素测试类 146
9.5.4 转移因素测试类 147
9.5.5 黑盒测试的优点与缺点 148
小结 148
选择书目 150
复习题 151
讨论题 152
第10章 软件测试的执行 154
10.1 测试过程 154
10.1.1 确定测试方法学阶段 155
10.1.2 测试的计划 156
10.1.3 测试的设计 162
10.1.4 测试的执行 163
10.2 测试用例设计 165
10.2.1 测试用例数据部件 165
10.2.2 测试用例来源 166
10.3 自动测试 167
10.3.1 自动测试的过程 168
10.3.2 自动测试的类型 168
10.3.3 自动测试的优缺点 172
10.4 α现场测试与β现场测试 174
小结 175
选择书目 177
复习题 178
讨论题 179
第11章 保证软件维护质量的部件 181
11.1 引言 181
11.2 高质量的基础 183
11.2.1 基础一:软件包质量 183
11.2.2 基础二:维护方针 184
11.3 维护前的软件质量部件 185
11.3.1 维护合同评审 185
11.3.2 维护计划 186
11.4 维护的软件质量保证工具 188
11.4.1 改正性维护的SQA工具 188
11.4.2 功能改善性维护的SQA工具 189
11.4.3 软件维护的SQA基础设施部件 189
11.4.4 软件维护的管理性控制SQA工具 191
小结 193
选择书目 195
复习题 195
讨论题 196
第12章 保证外部参与方工作的质量 198
12.1 引言:HealthSoft案例 198
12.2 外部参与方的类型 199
12.3 引入外部参与方的风险与益处 201
12.4 保证外部参与方工作的质量:目标 202
12.5 保证外部参与方工作质量的SQA工具 202
12.5.1 需求文档评审 203
12.5.2 外部参与方的选择 203
12.5.6 专门的规程 205
12.5.5 参与软件测试 205
12.5.4 参与设计评审 205
12.5.3 项目协调与联合控制委员会 205
12.5.7 外部参与方的组长与其他雇员的认证 206
12.5.8 进展报告 206
12.5.9 交付物(文档)的评审与验收测试 206
小结 207
选择书目 208
复习题 208
讨论题 209
第13章 CASE工具及其对软件质量的作用 210
13.1 什么是CASE工具 210
13.2 CASE工具对软件产品质量的贡献 213
13.3 CASE工具对软件维护质量的贡献 214
13.4 CASE工具对改善项目管理的贡献 214
选择书目 215
小结 215
复习题 216
讨论题 216
第四部分 软件质量基础设施部件第14章 规程与工作条例 219
14.1 对规程与工作条例的需要 219
14.2 规程与规程手册 220
14.3 工作条例与工作条例手册 222
14.4 规程与工作条例:编制、执行与更新 223
小结 224
选择书目 224
复习题 225
讨论题 225
附录14A 设计评审规程 226
15.1 模板 229
第15章 支持性质量手段 229
15.1.1 模板对软件质量的贡献 230
15.1.2 编制、执行和更新模板的机构框架 230
15.2 检查表 231
15.2.1 检查表对软件质量的贡献 233
15.2.2 编制、执行和更新检查表的机构框架 233
小结 234
选择书目 235
复习题 235
讨论题 235
第16章 员工培训与认证 237
16.1 引言:“3S”开发组意想不到的事 237
16.3 培训和认证过程 238
16.2 培训和认证目标 238
16.4 确定专业知识要求 239
16.5 确定培训和更新需要 240
16.6 计划培训和更新项目 240
16.7 确定需要认证的职位 241
16.8 计划认证过程 241
16.9 培训和认证项目的履行 242
16.10 培训和认证的后续跟踪 243
小结 243
选择书目 244
复习题 245
讨论题 245
17.1 引言:“3S”开发组改组了 247
第17章 改正性和预防性措施 247
17.2 改正性和预防性措施——定义 248
17.3 改正性和预防性措施过程 248
17.4 信息收集 249
17.5 分析收集的信息 251
17.6 解决办法的建立及其执行 252
17.6.1 解决办法的建立 252
17.6.2 CAPA过程的执行 254
17.7 跟踪活动 254
17.8 改正性和预防性措施的组织 254
小结 255
选择书目 256
复习题 256
讨论题 257
第18章 配置管理 258
18.1 软件配置、软件配置项和软件配置管理 259
18.2 软件配置管理——任务与机构 261
18.2.1 软件配置管理的任务 261
18.2.2 软件配置管理当局 262
18.3 软件更改控制 262
18.3.1 批准实施更改建议 262
18.3.2 软件更改的质量保证 263
18.4 软件配置版本的发布 264
18.4.1 软件配置发布的类型 264
18.4.2 软件配置管理计划(SCMP) 265
18.4.3 软件配置演化模型 266
18.4.4 软件配置版本的文档编制 267
18.5 SCM信息服务的提供 268
18.6 软件配置管理审计 269
18.7 管理软件配置的计算机化工具 270
小结 270
选择书目 271
复习题 271
讨论题 272
第19章 文档编制控制 274
19.1 引言:文档编制在哪里 274
19.2 受控文档和质量记录 275
19.2.1 定义和目标 275
19.2.2 文档编制控制规程 276
19.3 受控文档清单 277
19.5 受控文档的批准问题 278
19.4 受控文档的编制 278
19.6 受控文档的存储与检索问题 279
小结 279
选择书目 280
复习题 281
讨论题 281
第五部分 软件质量的管理部件第20章 项目进展控制 285
20.1 项目进展控制的部件 285
20.2 内部项目和外部参与方的进展控制 287
20.3 项目进展管理制度的执行 287
20.4 项目进展控制的计算机化工具 288
小结 290
选择书目 290
复习题 291
讨论题 292
第21章 软件质量度量 293
21.1 质量测量的目标 294
21.2 软件质量度量的分类 295
21.3 过程度量 295
21.3.1 软件过程质量度量 295
21.3.2 软件过程进度表度量 298
21.3.3 软件过程生产率度量 299
21.4 产品度量 299
21.4.1 HD质量度量测量 300
21.4.2 HD生产率和有效性度量 301
21.4.3 改正性维护质量度量 302
21.4.4 软件改正性维护生产率和有效性度量 303
21.5.1 新软件质量度量的定义 304
21.5 软件质量度量的执行 304
21.5.2 度量的应用——管理方面 305
21.5.3 度量数据的统计分析 307
21.5.4 采取措施响应度量分析结果 307
21.6 软件度量的局限性 308
小结 309
选择书目 310
复习题 313
讨论题 314
附录21A 功能点方法 315
第22章 软件质量费用 321
22.1 软件质量度量费用的目标 321
22.2 软件质量费用的经典模型 322
22.2.1 预防费用 323
22.2.2 评价费用 323
22.2.3 内部失效费用 324
22.2.4 外部失效费用 324
22.3 软件质量费用的扩展模型 325
22.3.1 管理性准备与控制费用 326
22.3.2 管理性失效费用 326
22.4 软件质量费用系统的应用 327
22.4.1 软件质量费用模型的确定 327
22.4.2 费用数据收集方法的确定 328
22.4.3 软件质量费用系统的执行 328
22.4.4 为响应模型发现采取的措施 328
22.5 软件质量度量费用的应用中的问题 329
小结 330
复习题 332
选择书目 332
讨论题 334
第六部分 标准、认证和评估第23章 质量管理标准 341
23.1 质量管理标准的范围 341
23.2 ISO 9001与ISO 9000-3 342
23.2.1 ISO 9000-3质量管理系统:指导原则 342
23.2.2 ISO 9000-3:需求 343
23.2.3 ISO 9001——对软件的应用:TickIT倡议 344
23.3 根据ISO 9000-3的认证 345
23.3.1 制定导致认证的过程计划 345
23.3.4 接受认证审计 347
23.3.5 维持ISO认证的规程 347
23.3.3 机构SQA系统的实施 347
23.3.2 机构SQA系统的建立 347
23.4 能力成熟度模型——CMM与CMMI评估方法学 348
23.4.1 CMM的原理 348
23.4.2 CMM的演变 349
23.4.3 CMMI结构与过程域 349
23.4.4 CMM实施经验 350
23.5 Bootstrap方法学 352
23.6 SPICE项目与ISO/IEC 15504软件过程评估标准 353
23.6.1 ISO/IEC 15504评估模型的原则 354
23.6.2 ISO/IEC 15504评估模型的结构 354
23.6.3 ISO/IEC 15504评估模型的内容 356
23.6.4 ISO/IEC 15504过程 356
小结 357
2 3.6.5 ISO/IEC 15504实验 357
选择书目 358
复习题 360
讨论题 360
附录23A CMMI过程域 361
附录23B ISO/IEC 15504模型的过程 362
第24章 SQA项目过程标准——IEEE软件工程标准 364
24.1 IEEE软件工程标准的结构与内容 365
24.2 IEEE/EIA Std 12207——软件生命周期过程 365
24.2.1 目的 366
24.2.2 12207软件生命周期体系结构 366
24.2.3 基础概念 367
24.3 IEEE Std 1012——验证与确认 368
24.2.4 内容 368
24.3.1 目的 369
24.3.2 基础概念 369
24.3.3 标准的内容 370
24.4 IEEE Std 1028——评审 372
24.4.1 目的 372
24.4.2 基础概念 373
24.4.3 标准的内容 373
小结 374
选择书目 376
复习题 377
讨论题 377
附录24A IEEE软件工程标准 378
附录24B MIL-STD-498:数据项描述(DID)清单 379
附录24C 根据IEEE/EIA Std 12207的基本过程的任务结构——例子 380
第七部分 质量保证的组织第25章 管理及其在软件质量保证中的作用 391
25.1 顶层管理人员的质量保证活动 391
25.1.1 软件质量方针 392
25.1.2 负责软件质量的经理 393
25.1.3 管理评审 394
25.2 部门管理人员的质量保证职责 394
25.3 项目管理人员的质量保证职责 395
小结 396
选择书目 397
复习题 397
讨论题 398
第26章 SQA系统中的SQA单位和其他行动者 399
26.1 SQA单位 399
26.1.1 由SQA单位领导执行的任务 400
26.1.2 与项目生命周期有关的SQA次级单位任务 401
26.1.3 SQA次级单位基础设施运行任务 401
26.1.4 SQA次级单位审计和认证任务 402
26.1.5 SQA次级单位支持任务 403
26.1.6 SQA次级单位标准和规程:开发与维护任务 403
26.1.7 SQA次级单位的工程开发与维护任务 404
26.1.8 SQA次级单位信息系统任务 404
26.2 SQA理事及其任务 404
26.3 SQA委员会及其任务 405
26.4 SQA论坛——任务和运行的方法 405
小结 406
复习题 407
讨论题 408
尾声 SQA的未来 409