第一部分 软件能力成熟度模型:背景、概念、结构和应用 1
第1章 引入软件成熟度 2
1.1 CMM的发展 3
1.2 不成熟的与成熟的软件机构的对比 4
1.3 软件过程成熟度涉及的基本概念 4
1.4 全面质量管理和CMM 6
1.5 使客户满意 7
1.6 基于模型改进的优点与风险 7
第2章 软件过程成熟度框架 9
2.1 成熟度级别的行为特征 10
2.1.1 级别1:初始级 10
2.1.2 级别2:可重复级 10
2.1.4 级别4: 已管理级 11
2.1.3 级别3:已定义级 11
2.1.5 级别5:优化级 12
2.2 成熟度级别的跳跃 12
2.3 软件过程的可视性 13
2.4 效能预测 15
第3章 能力成熟度模型的结构 18
3.1 成熟度级别的内部结构 18
3.2 成熟度级别 18
3.3 关键过程域 19
3.3.1 级别2的关键过程域 20
3.3.2 级别3的关键过程域 21
3.3.3 级别4的关键过程域 22
3.5 共同特性 23
3.4 关键实践 23
3.3.4 级别5的关键过程域 23
第4章 CMM的相关说明 25
4.1 解释关键实践 25
4.2 关键过程域框架 25
4.3 解释共同特性 28
4.3.1 执行约定 28
4.3.2 执行能力 29
4.3.3 执行活动 31
4.3.4 测量和分析 33
4.3.5 验证执行 34
4.4 机构结构和任务 35
4.4.1 机构任务 35
4.4.2 机构结构 36
4.4.3 独立性和机构结构 38
4.5 理解软件过程定义 38
4.5.1 过程定义概念 39
4.5.2 有关机构软件过程资源的概念 40
4.5.3 与项目定义的软件过程相关的概念 41
4.5.4 项目定义的软件过程和项目的软件开发计划之间的关系 42
4.5.5 文档和CMM 43
4.6 过程的演化 43
4.7 应用专家判断 45
第5章 CMM的应用 47
5.1 基于CMM的估价方法 48
5.2 软件过程评估和软件能力评价 49
5.3 软件过程改进 50
5.4 在具体背景下使用CMM 51
第6章 一个高成熟度级别实例:航天飞机机载软件 54
6.1 引言 54
6.2 背景 55
6.2.1 产品 55
6.2.2 生命周期 56
6.2.3 项目特征 56
6.3 过程改进方法 57
6.3.1 改进历史 57
6.3.2 项目管理计划与跟踪及组间协作 57
6.3.3 配置控制 60
6.3.4 需求管理 60
6.3.5 同行评审和审查 61
6.3.6 软件产品工程 62
6.3.7 软件质量管理和缺陷预防 63
6.3.8 过程更改管理 66
6.3.9 培训和指导 68
6.4 总的经验 68
6.4.1 管理经验 68
6.4.2 人员的经验 69
6.4.3 有关成本的经验 69
6.4.4 过程转移经验 70
第二部分 软件能力成熟度模型的关键过程域 73
第7章 第2级(可重复级)关键过程域 74
7.1 需求管理 74
7.2 软件项目计划 78
7.3 软件项目跟踪和监督 87
7.4 软件分包合同管理 92
7.5 软件质量保证 99
7.6 软件配置管理 104
第8章 第3级(已定义级)关键过程域 111
8.1 机构过程焦点 111
8.2 机构过程定义 115
8.3 培训大纲 121
8.4 综合软件管理 127
8.5 软件产品工程 136
8.6 组间协调 148
8.7 同行评审 152
第9章 第4级(已管理级)关键过程域 157
9.1 定量过程管理 157
9.2 软件质量管理 164
第10章 第5级(优化级)关键过程域 172
10.1 缺陷预防 172
10.2 技术更新管理 179
10.3 过程更改管理 185
附录A 参考文献 193
附录B 缩写 196
附录C 术语表 199
附录D 关键实践的节略版本 210
附录E 关键实践与目标的对应关系 223
附录F CMM与ISO 9001的对比 226
附录G ISO的SPICE项目概述 235
附录H CMM演变历史 239
附录I Change Request Form 241