第1章 CMM概论 1
1.1 CMM概况 1
1.1.1 CMM概述 1
1.1.2 国内外实施CMM的情况 4
1.1.3 CMM实施的成功策略 5
1.1.4 CMM与UML、XP 8
1.1.5 先行者的经验 9
1.2 CMM的体系结构 15
1.2.1 能力成熟度模型概述 15
1.2.2 软件过程成熟度的五个等级 17
1.2.3 理解成熟度等级 17
1.3 CMM的进一步认识 19
1.3.1 成熟度等级的内部结构 19
1.3.2 关键过程域 20
1.3.3 关键实践 23
1.3.4 目标 23
1.3.5 共同特点 24
1.4 实施CNM的方法——IDEAL模型 24
1.4.1 初始阶段 25
1.4.2 诊断阶段 29
1.4.3 建立阶段 31
1.4.4 行动阶段 35
1.4.5 学习阶段 38
第2章 需求管理 40
2.1 需求管理概论 40
2.1.1 需求管理在CNN中的地位 40
2.1.2 需求管理的定义 40
2.1.3 需求管理和需求工程的关系 41
2.1.4 需求开发的实施 41
2.1.5 需求管理的典型活动和实施步骤 49
2.1.6 需求管理面临的阻力 51
2.1.7 需求管理的度量 52
2.2 需求管理的深刻认识 53
2.2.1 需求管理的规则 53
2.2.2 变更控制 53
2.2.3 SCCB的作用和活动 54
2.2.4 需求的跟踪 55
2.2.5 需求的追踪 57
2.2.6 需求变更波及分析 60
2.2.7 需求管理的评审 63
2.3 典型案例 63
2.3.1 需求管理规程的制订 63
2.3.2 需求管理计划的制订 67
2.3.3 需求管理的工具Rational RequisitePro和DOORS 67
2.3.4 需求管理的整体部署方案 70
第3章 软件项目计划与管理 72
3.1 项目计划和管理概论 72
3.1.1 项目计划——预则立 72
3.1.2 项目计划在CMM中的地位 73
3.1.3 项目计划的主要内容 73
3.1.4 项目计划的典型步骤 74
3.1.5 让计划执行变得可控的项目管理 75
3.2 项目计划的深刻认识 77
3.2.1 确定项目生存周期模型 77
3.2.2 项目估算 79
3.2.3 WBS工作分解结构 83
3.2.4 制订进度计划 87
3.3 项目管理的深刻认识 91
3.3.1 项目计划的跟踪和监督 91
3.3.2 项目状态报告的产生和作用 96
3.3.3 风险管理 96
3.4 典型案例 102
3.4.1 软件项目计划的制订 102
3.4.2 软件项目跟踪计划的制订 104
3.4.3 软件项目计划的评审 104
3.4.4 怎样让项目计划更好地体现实际 105
3.4.5 工作量数据的收集 106
3.4.6 项目管理工具——MS Project2000和ProjectCentral介绍 106
第4章 软件配置管理 128
4.1 配置管理概论 128
4.1.1 配置管理的定义 128
4.1.2 配置管理在CMM中的作用 129
4.1.3 配置管理能解决的问题 129
4.1.4 配置管理的主要活动 129
4.2 配置管理的深刻认识 130
4.2.1 配置管理的典型体系结构 130
4.2.2 配置管理中的角色 131
4.2.3 SCCB的建立 132
4.2.4 配置管理——计划先行 135
4.2.5 变更控制——配置管理的核心 141
4.2.6 典型配置管理工具RationalClearCase和ClearQuest详解 143
4.2.7 配置审核——让配置管理更有效 146
4.2.8 配置状态报告——配置管理的目的体现 148
4.3 典型案例 150
4.3.1 怎样合理部署配置管理 150
4.3.2 选择合适的配置管理工具 152
4.3.3 配置管理计划的制订 155
4.3.4 配置管理审核报告的制订 157
4.3.5 配置管理最佳实践 158
4.3.6 为什么会这样——解析实施过程中的误区 160
第5章 软件质量保证 163
5.1 软件质量保证概论 163
5.1.1 SQA工程师的诞生 163
5.1.2 软件质量保证的定义 164
5.1.3 软件质量保证的作用 164
5.1.4 软件质量保证的主要活动 165
5.2 软件质量保证的深刻认识 167
5.2.1 软件质量保证参与的过程审核 167
5.2.2 软件质量保证参与的产品审核 172
5.2.3 软件质量保证参与的其他活动 175
5.2.4 软件质量保证计划的制订 176
5.2.5 软件质量保证的验证和确认 177
5.3 典型案例 177
5.3.1 建立有效的软件质量保证机构 177
5.3.2 SQA人员如何建立自己的权威 179
5.3.3 软件质量保证规程的制订 179
5.3.4 软件质量保证计划模板 183
5.3.5 SQA审核单的制订 185
5.3.6 SQA工作量的度量 185
第6章 同行评审 187
6.1 同行评审概论 187
6.1.1 同行评审的概念 187
6.1.2 同行评审在CMM中的作用 188
6.1.3 认清现有的评审手段 189
6.1.4 哪些工作产品需要同行评审 190
6.2 同行评审的深刻认识 191
6.2.1 同行评审的主要方法 191
6.2.2 同行评审的组织管理 205
6.2.3 同行评审的数据收集 210
6.3 典型案例 212
6.3.1 正式与非正式评审的区别 212
6.3.2 选择合适的同行评审方式 212
6.3.3 同行评审计划的制订 213
6.3.4 如何提高同行评审的效率 214
第7章 组织过程焦点 216
7.1 组织过程焦点概论 216
7.1.1 组织过程焦点的定义 216
7.1.2 组织过程焦点的基础 217
7.1.3 组织过程焦点的主要活动 218
7.2 组织过程焦点的深刻认识 219
7.2.1 软件过程的评估和改进 219
7.2.2 合理使用软件过程数据库 220
7.2.3 选择和推广新工具 221
7.3 典型案例 222
7.3.1 软件过程改进和维护计划的策划 222
7.3.2 软件过程数据库的作用 225
7.3.3 组织过程焦点的度量、分析和验证 227
第8章 组织过程定义 229
8.1 组织过程定义概论 229
8.1.1 组织过程定义的定义 229
8.1.2 组织过程定义的基础 229
8.1.3 组织过程定义的主要活动 230
8.2 组织过程定义的深刻认识 233
8.2.1 软件工程过程组的建立 233
8.2.2 适合组织的标准软件过程的制订和维护 234
8.2.3 软件过程财富的建立和维护 238
8.3 典型案例 239
8.3.1 软件工程过程组参与的主要活动 239
8.3.2 软件工程过程组规程 240
8.3.3 标准软件过程的指南和准则 240
8.3.4 软件过程数据库要收集的过程和产品数据 241
第9章 CMM2级评估(CBA-IPI)实践 248
9.1 CMM2级各关键过程域的关联关系 248
9.2 CMM2级过程评估总体方案 250
9.3 CMM2级各关键过程域评估实施 250
9.4 CMM2级过程审核问题清单 252
9.5 评估结果总体分析 255
9.6 结束语——实施CMM是一条没有终点的路 256
参考文献 257