标题：软件质量管理指南
图书信息
作　者：51Testing软件测试网组编，张瑾编著  出 版 社： 电子工业出版社
出版时间： 2009-7-1
页　数：384页
开　本： 16开
I S B N ：9787121090103
定价：49.00元
内 容 简 介
本书从软件质量管理的流程和技术方法等方面对软件质量管理体系进行了详尽的讲述，并对 日常工作中的案例进行剖析，使广大软件质量管理人员能够更加清楚地了解和掌握软件质量管理 的精髓。
本书以CMMI软件能力成熟度模型为主线，穿插了PMP项目管理和软件测试技术的相关知识，从而形成了一套完整的软件质量管理理论。因此，本书是软件企业进行过程改进或CMMI认证的辅导资料，同样也可以作为PMP和“信息类项目管理师”考试的补充材料。
前    言
软件质量管理是个全组织、多角色共同参与的、复杂的系统过程，好的软件质量是各级软件管理人员孜孜追求的最高梦想。
软件质量管理体系的知识涵盖了软件工程、CMMI软件能力成熟度模型、PMP项目管理以及软件测试技术的理论。其中，软件工程主要介绍了各种生命周期模型，这是软件研发和质量管理的基础，也是CMMI软件能力成熟度模型和PMP项目管理理论中非重点介绍的内容；PMP项目管理理论适用于任何行业的项目管理工作，它详细介绍了制定项目估算、预算的方法，以及制定项目进度计划的各种技术，这些是CMMI软件能力成熟度模型和软件工程的重要补充；CMMI软件能力成熟度模型是当今最流行的一种对软件企业成熟度的评判标准，它所涵盖的内容之广及体系之完整都是前所未有的。CMMI将软件的管理过程拆分为多个PA（过程域），并详细介绍了每个PA所需要完成的工作、流程以及流程中必备的产出物，它是软件质量管理中的核心部分。但CMMI软件能力成熟度模型着重于过程的定义，有些具体的操作方法和技术就必须参考PMP项目管理理论或软件测试理论的相关知识。软件测试一直以来都被很多人误解为等同于软件质量管理，多样的软件测试技术正是CMMI软件能力成熟度模型VER（验证）的重要补充内容。总的来说，软件工程中生命周期模型好比盖房子时打下的地基，CMMI软件能力成熟度模型就是房子的框架结构，PMP项目管理以及软件测试技术的理论就是填充房子的砖石，而盖好的这座房子就是软件质量管理体系。
本书以CMMI软件能力成熟度模型为主线，第1章对软件质量管理体系进行了概述，第2～4章介绍了软件质量管理所必备的常用技术“验证”、“确认”和“同行评审”；第5～8章介绍软件质量管理的基础管理流程“质量保证”、“配置管理”、“度量管理”和“风险管理”的知识；第9～11章介绍软件项目管理相关的“项目集成管理”、“项目计划”和“项目监控”的知识；第12～14章介绍了软件质量管理体系的“需求工程”、“决策分析”和“产品集成”的理论；第15章重点介绍了如何进行持续的质量改进，第16章为广大读者讲解了微软最新的软件项目工具“Team Foundation Server”的基本使用方法。
为了让广大读者更好地理解软件质量管理的理论，本书在每章的结束都针对软件项目研发过程中的常见问题进行案例分析，目的是为了将软件质量管理体系的知识与实际项目进行联系，更好地让软件各级管理人员进行理解和应用。
本书总结了当今软件质量管理所需要的全部知识，其中重点介绍的CMMI软件能力成熟度模型可以为软件公司高层管理人员和过程改进小组（EPG）的工作提供帮助；PMP项目管理的相关技术可以为软件公司的项目管理人员提供日常的项目指导并作为PMP考试的参考资料；每章的案例分析也采取了“信息类项目管理师”的考试形式，希望可以为参加“信息类项目管理师”考试的朋友提供帮助。
这些年来我一直希望可以将总结的软件质量管理的知识和理论与大家分享，本书能够顺利出版首先要感谢51Testing所提供的机会，也要感谢各位编辑的辛勤劳动。同时还要感谢长期以来支持我的朋友和我的妻子蔡觅女士，你们是我成长的最大动力！
作  者         
2009年5月28日于苏州
目 录
第1章  软件质量管理体系概述    1
1.1  软件质量复杂度的来源    2
1.2 “过程”在软件研发中的重要性    3
1.3  小结    7
1.4  思考题    7
第2章  软件质量管理的检查方式——验证    8
2.1  软件验证的最佳实践    9
2.2  软件质量大师的观点    13
2.3  常用的验证方法    15
2.3.1  边界值测试    16
2.3.2  白盒测试    17
2.3.3  等价类分法    23
2.3.4   压力测试    24
2.4  案例分析——如何计算系统的并发用户数    31
2.5  小结    32
2.6  思考题    32
第3章  软件质量管理的信任机制——确认    33
3.1  软件确认管理的概述    34
3.2  软件确认流程及最佳实践    35
3.2.1  确认的准备工作    35
3.2.2  执行确认    41
3.3  软件确认过程中常见问题及案例分析    41
3.3.1  为什么开发和测试之间总是反复    42
3.3.2  确认是对需求变更的约束    43
3.4  小结    44
3.5  思考题    44
第4章  软件质量管理的预防手段——同行评审    45
4.1  软件同行评审的概述    45
4.2  软件同行评审流程及最佳实践    47
4.2.1  同行评审计划阶段    47
4.2.2  同行评审启动阶段    52
4.2.3  同行评审执行阶段    55
4.2.4  同行评审收尾阶段    56
4.2.5  同行评审流程裁剪指南    56
4.2.6  同行评审最佳实践    58
4.3  软件同行评审常见问题及案例分析    59
4.3.1  案例1——如何提高同行评审的效果    59
4.3.2  案例2——如何计算同行评审的投资回报率    61
4.3.3  案例3——如何更好地执行同行评审    62
4.4  小结    62
4.5  思考题    62
第5章  软件质量管理的审计体系——质量保证    63
5.1  软件质量保证概述    64
5.1.1  PPQA与SQC的区别    65
5.1.2  软件质量保证人员的素质和责任    68
5.1.3  软件质量保证人员与其他岗位的关系    70
5.2  软件质量保证流程及最佳实践    71
5.2.1  对软件研发过程的审计    71
5.2.2  对软件工作产品的审计    73
5.3  软件质量保证常见问题及案例分析    76
5.4  小结    79
5.5  思考题    79
第6章  软件质量管理的基石——配置管理    80
6.1  软件配置管理概述    81
6.2  软件配置管理流程及最佳实践    82
6.2.1  建立基线    83
6.2.2  配置库及工具    91
6.2.3  跟踪和控制变更    104
6.2.4  建立基线完整性    107
6.3  利用分支与合并进行软件配置管理工作    111
6.4  小结    112
6.5  思考题    113
第7章  软件质量管理的客观洞察力——度量管理    114
7.1  软件度量管理概述    115
7.1.1  测量的基础知识    115
7.1.2  度量的基础知识    116
7.2  软件度量管理流程及最佳实践    117
7.2.1  软件度量的目标    117
7.2.2  软件度量的实体与属性    120
7.2.3  软件度量的方法    121
7.2.4  软件度量的指示器    123
7.2.5  软件度量管理的流程    126
7.3  软件度量管理常见问题及案例分析    126
7.3.1  如何提高软件度量的准确性    126
7.3.2  从哪里可以收集到度量所需的数据    128
7.4  小结    129
7.5  思考题    129
第8章  软件质量管理的预警措施——风险管理    130
8.1  软件风险管理的概述    131
8.1.1  风险的类型    131
8.1.2  风险的来源    132
8.1.3  风险的应对策略    134
8.2  软件风险管理流程及最佳实践    134
8.2.1  建立组织级风险库    135
8.2.2  识别项目风险、定义风险的属性    137
8.2.3  分析风险并对风险进行排序    138
8.2.4  风险的跟踪    141
8.3  软件风险管理常见问题及案例分析    142
8.3.1  为什么风险识别总不准确    142
8.3.2  为什么项目计划总是不准确    143
8.3.3  如何在项目中进行风险跟踪    143
8.4  小结    144
8.5  思考题    144
第9章  软件质量管理的统筹规划——
第9章  项目集成管理    145
9.1  项目整体策划的流程及最佳实践    147
9.2  XP极限式开发模型与CMMI的比较    154
9.3  小结    155
9.4  思考题    155
第10章  软件质量管理的策划——项目计划    156
10.1  软件项目计划概述    159
10.2  软件计划的流程及最佳实践    161
10.2.1  对项目进行整体估算    161
10.2.2  对项目范围进行管理    166
10.2.3  建立时间进度计划    190
10.2.4  建立项目费用预算    200
10.2.5  计划项目的其他内容    203
10.2.6  建立项目计划的基准    204
10.3  软件计划的常见问题及案例分析    204
10.3.1  假设是项目计划的根本条件    204
10.3.2  关键路径的计算之案例1    205
10.3.3  关键路径的计算之案例2    206
10.4  小结    206
10.5  思考题    206
第11章  软件质量管理的监督手段——项目监控    207
11.1  软件监控管理流程及最佳实践    208
11.1.1  监控项目的主要参数    208
11.1.2  监控项目的次要参数    211
11.1.3  监控项目的方法    214
11.2  软件监控管理常见问题及案例分析    218
11.2.1  项目参数之间存在相互的影响和依赖    218
11.2.2  挣值法在软件项目中的应用    219
11.3  小结    221
11.4  思考题    221
第12章  软件质量管理的根源——需求工程    222
12.1  软件需求工程概述    223
12.2  软件需求开发的流程及最佳实践    224
12.2.1  需求调研的方法    225
12.2.2  软件需求分析的概述    228
12.2.3  软件需求规格化    231
12.2.4  需求验证及确认方法    238
12.3  软件需求管理的流程及最佳实践    244
12.4  软件需求工程常见问题及案例分析    248
12.4.1  对需求关键干系人分析的重要性    248
12.4.2  调研时需求关键干系人不能被代替    249
12.4.3  需求文档规范化与XP极限式开发的理念
12.4.3  是否矛盾    249
12.4.4  利用需求跟踪矩阵来应对项目变更    250
12.5  小结    251
12.6  思考题    251
第13章  软件质量管理的群体决议机制——
第13章  决策分析    252
13.1  软件决策分析概述    253
13.2  软件决策分析流程及最佳实践    254
13.3  软件决策分析常见问题及案例分析    259
13.3.1  决策树的使用方法    259
13.3.2  加权打分的决策方法    261
13.4  小结    263
13.5  思考题    263
第14章  软件质量管理的构建机制——产品集成    264
14.1  软件产品集成管理概述    265
14.2  软件产品构建的流程及最佳实践    266
14.2.1  软件产品集成的准备工作    266
14.2.2  确保软件产品接口的完整性    272
14.2.3  集成并交付产品    276
14.2.4  通过日构建来实现持续集成    279
14.2.5  日构建工具NAnt的使用    283
14.3  软件产品集成管理常见问题及案例分析    295
14.3.1  在配置管理下如何开展产品集成    295
14.3.2  产品集成的顺序与项目进度计划的关系    296
14.4  小结    296
14.5  思考题    297
第15章  软件质量的持续改进    298
15.1  组织过程改进的焦点    299
15.1.1  确定过程改进的需要    299
15.1.2  计划和执行过程改进    304
15.2  定义组织标准过程的最佳实践    309
15.2.1  建立组织级标准过程和组织财富库    309
15.2.2  定义生命周期模型    311
15.2.3  定义裁剪指南    319
15.2.4  建立组织级度量库和工作环境    326
15.3  组织培训的最佳实践    328
15.3.1  建立组织培训的能力    328
15.3.2  实施培训    332
15.4  案例分析在实际工作中如何把握质量改进的时机    334
15.5  小结    334
15.6  思考题    334
第16章  TFS在软件研发中的应用    335
16.1  TFS的拓扑结构    336
16.2  TFS团队项目功能简介    340
16.2.1  创建工作项    341
16.2.2  添加查询视图    345
16.2.3  源代码管理    347
16.2.4  项目门户    351
16.3  Team Build    358
16.4  小结    360
附录A  思考题答案    361