Version 3.0
第 六 章能力成熟度模型
2
回顾
度量是软件工程过程的一个关键要素。
可以在源代码中插入语句以收集程序数据,
例如计算每个分支的每一侧被遍历了几次,
或者每一段代码是否都被执行过,执行了几次。
测试覆盖率是对最后的测试结果提供度量的信任标准。
理解缺陷的定义和测试过程中对缺陷管理的必要性
3
回顾
软件缺陷的生命周期:打开、解决和关闭。
缺陷管理报告中应该包含对于整个缺陷涉及到的各种因素进行管理。
4
本章目标
理解能力成熟度模型
理解能力成熟度模型中的不同等级
理解 ISO的流程体系
5
简介
,能力成熟度模型,是 SEI 在 1986 年开发的过程,用于改善组织的软件技术的应用过程。
这个过程分为五个定义良好的顺序提高的等级:
– 初始级
– 可重复级
– 已定义级
– 已管理级
– 优化级
6
CMM的产生背景
当今的软件组织工作在一个竞争和变化日益加剧的环境中。
成功的软件组织通过为现有产品开辟新的市场或满足新的需求来积极有效地面对变化。
许多公司面对变化没能采取主动有效的措施,而被其产品开发工作的缺乏控制所牵掣。
许多公司不能够正确地预测、控制和改进特定产品或合同的利润空间、产品装运日期或产品质量。
7
CMM
CMM 是设计用来帮助组织解决这些问题的。
CMM 提供了一种有效的和可验证的方法,
用以不断地加强对产品开发过程的控制,并改进产品开发过程。
CMM 提供了一个标尺,使组织能够根据该标尺对其生产过程进行定期的测量,也提供了进行优化及管理改进工作的数据。
CMM 描述了软件特有的产品开发实践和所有组织必须遵守的通用管理实践。
8
SECAT
SECAT 支持应用于行业中的大部分主要的
CMM模型,特别是:
– 集成产品开发能力成熟度模型 (IPD-CMM)
– 软件能力成熟度模型 (SW-CMM)
– 软件获取能力成熟度模型 (SA-CMM)
– 系统工程能力成熟度模型 (SE-CMM)
– EIA I/S 731,系统工程能力模型 (SECM)
– 系统安全工程能力成熟度模型 (SSE-CMM)
9
CMM 等级
10
1 级:初始级 2-1
开发团队对每个项目采用不同的处理方式。
可能取得巨大的成功,但以后可能不会成功。
某些时间 /成本估算是准确的,但大多数估算与实际相去甚远。
成功依赖于杰出的人员和他们的努力。
11
1 级:初始级 2-2
杰出的人员离开后,很难再次获得成功。
经常出现危机和紧急修改工作。(许多人认为这是软件开发过程中不可避免的。但是
CMM 不这样认为。)
大多数的软件开发组织处于 1级。
12
2 级:可重复级 3-1
纪律化的过程
– 用于管理软件项目的方针和实施这些方针的规程都已制定。
项目级想法,可造,类似项目成功经验可重用。
13
2 级:可重复级 3-2
软件项目标准均已确定,并且组织能保证切实地执行这些标准。
如果有分包商的话,软件项目人员与他们一起努力,建立牢固的顾客 - 供应商关系。
14
2 级:可重复级 3-3
2 级组织的软件过程能力可概括为纪律化的,
因为软件项目的规划和跟踪是稳定的,能重复以前的成功。
遵循以前项目的实施情况所制定的切实可行的计划,项目处在项目管理系统的有效控制之下。
15
3 级:已定义级 2-1
标准和一致的过程:
– 开发和维护软件的标准过程
– 3 级组织的软件过程能力可概括为标准和一致的。
有组织化思想。具备能动性。文档化和标准化。
16
3 级:已定义级 2-2
3 级组织建立的过程,用来(必要时,可以修改)帮助软件经理和技术人员更有效地工作。
实施全组织的培训计划,以保证职员和经理具有履行其职责所必需的知识和技能。
3级组织的软件过程能力可概括为标准和一致的,因为软件工程活动和管理活动都是稳定的和可重复的。
17
4 级:已管理级 2-1
关键域,3级的关键域,以及
– 定量过程管理(数据收集)
– 软件质量管理(数据驱动的质量改进)
组织对软件产品和过程都设置定量的质量目标。
作为组织测量计划的一部分,对所有项目中重要的软件过程活动都测量其生产率和质量。
18
4 级:已管理级 2-2
项目组通过将其过程实施的变化限制在定量的可接受的范围之内,实现对其产品和过程的控制。
可以将过程实施方面有意义的变化与随机变化(,噪声,)区别开来,特别是在所建立的产品线内。
提升新应用领域的学习曲线所带来的风险是已知的,并且得到了精心的管理。
4 级组织的软件过程能力可概括为可预测的,
因为过程是已测量的并在可测量的范围内运行。
19
5 级:优化级 2-1
关键域,4级的关键域,以及
– 缺陷预防
– 技术变更管理(采用新方法)
– 过程变更管理(改进过程)
为了防止已知类型的缺陷再次出现,评估软件过程,将经验教训告知其他项目组。
20
5 级:优化级 2-2
5 级组织的软件过程能力可以概括为持续改进的,因为这些组织为扩大其过程能力的范围进行着不懈的努力,因而不断地提高其项目的过程绩效。
通过对现有过程进行增量式改善,也通过采用新技术、新方法的革新,使过程得以不断改进。
21
国际标准化组织 (ISO)
ISO 是一个建立于 1947 年的非政府组织。
ISO的宗旨是:在全世界范围内促进标准化工作及相关活动的发展,以便于国际物资和服务的交流,并扩大在知识、科学、技术和经济方面的合作。
22
为何 ISO 是必需的?
需要 ISO的主要原因有:
– 世界范围的贸易自由化的发展
– 各个领域的相互渗透
– 世界范围的通信系统
– 新技术的全球性标准
– 发展中国家
23
ISO 的贡献 2-1
下面是已经被广泛采用的 ISO 标准,它们为工业界、商业界和消费者都带来了显而易见的利益。
– 在众多的照相设备标准中,ISO 胶片速度码标准已经被采用为世界标准,方便了一般的用户。
– 电话卡和银行卡格式的标准化使得卡可在全世界范围内使用。
24
ISO 的贡献 2-2
– 成千上万的企业实施了 ISO 9000 标准,它为质量管理和质量保证提供了框架。
– ISO 14000 系列标准提供了环境管理的的类似框架。
– 定义良好的符号可以在多语种的环境中传达简单清晰的信息。相同的汽车控制符号应用于全世界的汽车中,而不论汽车是在哪儿生产的。
25
ISO 的成员有哪些?
ISO 组织的成员可分为以下三类:
– ISO 团体成员
– 通信成员
– 订购成员
26
ISO 标准是如何开发的?
ISO 标准的开发依据以下原则:
– 少数服从多数
– 行业范围内
– 自愿
27
ISO 中的三个主要阶段
ISO 标准开发过程中的三个主要阶段为:
– 定义未来标准的技术范围
– 达成一致阶段
– 正式批准形成的国际标准草案
28
总结 3-1
能力成熟度模型是一个过程,它划分为五个定义良好的顺序提高的等级:初始级、可重复级、已定义级、已管理级和优化级。
能力成熟度模型的设计用来帮助组织解决软件过程的问题。
SECAT 提供了完整的服务,支持结构化产品的开发过程改进,包括培训、评估和基于
CMM 的过程改进指导 。
1 级组织的软件过程能力是不可预测的,因为随着工作的开展,软件过程经常更改或修订。
29
总结 3-2
用于管理软件项目的方针和实施这些方针的规程都已制定。
在全组织范围内开发和维护软件的标准过程已文档化。
组织对软件产品和过程都设置定量的质量目标。
30
总结 3-3
作为组织测量计划的一部分,对所有项目中重要的软件过程活动都测量其生产率和质量。
在优化级阶段,整个组织集中精力进行持续的过程改进。
标准是文档化的协议,它包含了技术规范或其他精确的准则,用于将其作为规则、指南或特征定义,并始终如一地使用,以保证材料、产品、过程和服务与其预期目标相吻合。
第 六 章能力成熟度模型
2
回顾
度量是软件工程过程的一个关键要素。
可以在源代码中插入语句以收集程序数据,
例如计算每个分支的每一侧被遍历了几次,
或者每一段代码是否都被执行过,执行了几次。
测试覆盖率是对最后的测试结果提供度量的信任标准。
理解缺陷的定义和测试过程中对缺陷管理的必要性
3
回顾
软件缺陷的生命周期:打开、解决和关闭。
缺陷管理报告中应该包含对于整个缺陷涉及到的各种因素进行管理。
4
本章目标
理解能力成熟度模型
理解能力成熟度模型中的不同等级
理解 ISO的流程体系
5
简介
,能力成熟度模型,是 SEI 在 1986 年开发的过程,用于改善组织的软件技术的应用过程。
这个过程分为五个定义良好的顺序提高的等级:
– 初始级
– 可重复级
– 已定义级
– 已管理级
– 优化级
6
CMM的产生背景
当今的软件组织工作在一个竞争和变化日益加剧的环境中。
成功的软件组织通过为现有产品开辟新的市场或满足新的需求来积极有效地面对变化。
许多公司面对变化没能采取主动有效的措施,而被其产品开发工作的缺乏控制所牵掣。
许多公司不能够正确地预测、控制和改进特定产品或合同的利润空间、产品装运日期或产品质量。
7
CMM
CMM 是设计用来帮助组织解决这些问题的。
CMM 提供了一种有效的和可验证的方法,
用以不断地加强对产品开发过程的控制,并改进产品开发过程。
CMM 提供了一个标尺,使组织能够根据该标尺对其生产过程进行定期的测量,也提供了进行优化及管理改进工作的数据。
CMM 描述了软件特有的产品开发实践和所有组织必须遵守的通用管理实践。
8
SECAT
SECAT 支持应用于行业中的大部分主要的
CMM模型,特别是:
– 集成产品开发能力成熟度模型 (IPD-CMM)
– 软件能力成熟度模型 (SW-CMM)
– 软件获取能力成熟度模型 (SA-CMM)
– 系统工程能力成熟度模型 (SE-CMM)
– EIA I/S 731,系统工程能力模型 (SECM)
– 系统安全工程能力成熟度模型 (SSE-CMM)
9
CMM 等级
10
1 级:初始级 2-1
开发团队对每个项目采用不同的处理方式。
可能取得巨大的成功,但以后可能不会成功。
某些时间 /成本估算是准确的,但大多数估算与实际相去甚远。
成功依赖于杰出的人员和他们的努力。
11
1 级:初始级 2-2
杰出的人员离开后,很难再次获得成功。
经常出现危机和紧急修改工作。(许多人认为这是软件开发过程中不可避免的。但是
CMM 不这样认为。)
大多数的软件开发组织处于 1级。
12
2 级:可重复级 3-1
纪律化的过程
– 用于管理软件项目的方针和实施这些方针的规程都已制定。
项目级想法,可造,类似项目成功经验可重用。
13
2 级:可重复级 3-2
软件项目标准均已确定,并且组织能保证切实地执行这些标准。
如果有分包商的话,软件项目人员与他们一起努力,建立牢固的顾客 - 供应商关系。
14
2 级:可重复级 3-3
2 级组织的软件过程能力可概括为纪律化的,
因为软件项目的规划和跟踪是稳定的,能重复以前的成功。
遵循以前项目的实施情况所制定的切实可行的计划,项目处在项目管理系统的有效控制之下。
15
3 级:已定义级 2-1
标准和一致的过程:
– 开发和维护软件的标准过程
– 3 级组织的软件过程能力可概括为标准和一致的。
有组织化思想。具备能动性。文档化和标准化。
16
3 级:已定义级 2-2
3 级组织建立的过程,用来(必要时,可以修改)帮助软件经理和技术人员更有效地工作。
实施全组织的培训计划,以保证职员和经理具有履行其职责所必需的知识和技能。
3级组织的软件过程能力可概括为标准和一致的,因为软件工程活动和管理活动都是稳定的和可重复的。
17
4 级:已管理级 2-1
关键域,3级的关键域,以及
– 定量过程管理(数据收集)
– 软件质量管理(数据驱动的质量改进)
组织对软件产品和过程都设置定量的质量目标。
作为组织测量计划的一部分,对所有项目中重要的软件过程活动都测量其生产率和质量。
18
4 级:已管理级 2-2
项目组通过将其过程实施的变化限制在定量的可接受的范围之内,实现对其产品和过程的控制。
可以将过程实施方面有意义的变化与随机变化(,噪声,)区别开来,特别是在所建立的产品线内。
提升新应用领域的学习曲线所带来的风险是已知的,并且得到了精心的管理。
4 级组织的软件过程能力可概括为可预测的,
因为过程是已测量的并在可测量的范围内运行。
19
5 级:优化级 2-1
关键域,4级的关键域,以及
– 缺陷预防
– 技术变更管理(采用新方法)
– 过程变更管理(改进过程)
为了防止已知类型的缺陷再次出现,评估软件过程,将经验教训告知其他项目组。
20
5 级:优化级 2-2
5 级组织的软件过程能力可以概括为持续改进的,因为这些组织为扩大其过程能力的范围进行着不懈的努力,因而不断地提高其项目的过程绩效。
通过对现有过程进行增量式改善,也通过采用新技术、新方法的革新,使过程得以不断改进。
21
国际标准化组织 (ISO)
ISO 是一个建立于 1947 年的非政府组织。
ISO的宗旨是:在全世界范围内促进标准化工作及相关活动的发展,以便于国际物资和服务的交流,并扩大在知识、科学、技术和经济方面的合作。
22
为何 ISO 是必需的?
需要 ISO的主要原因有:
– 世界范围的贸易自由化的发展
– 各个领域的相互渗透
– 世界范围的通信系统
– 新技术的全球性标准
– 发展中国家
23
ISO 的贡献 2-1
下面是已经被广泛采用的 ISO 标准,它们为工业界、商业界和消费者都带来了显而易见的利益。
– 在众多的照相设备标准中,ISO 胶片速度码标准已经被采用为世界标准,方便了一般的用户。
– 电话卡和银行卡格式的标准化使得卡可在全世界范围内使用。
24
ISO 的贡献 2-2
– 成千上万的企业实施了 ISO 9000 标准,它为质量管理和质量保证提供了框架。
– ISO 14000 系列标准提供了环境管理的的类似框架。
– 定义良好的符号可以在多语种的环境中传达简单清晰的信息。相同的汽车控制符号应用于全世界的汽车中,而不论汽车是在哪儿生产的。
25
ISO 的成员有哪些?
ISO 组织的成员可分为以下三类:
– ISO 团体成员
– 通信成员
– 订购成员
26
ISO 标准是如何开发的?
ISO 标准的开发依据以下原则:
– 少数服从多数
– 行业范围内
– 自愿
27
ISO 中的三个主要阶段
ISO 标准开发过程中的三个主要阶段为:
– 定义未来标准的技术范围
– 达成一致阶段
– 正式批准形成的国际标准草案
28
总结 3-1
能力成熟度模型是一个过程,它划分为五个定义良好的顺序提高的等级:初始级、可重复级、已定义级、已管理级和优化级。
能力成熟度模型的设计用来帮助组织解决软件过程的问题。
SECAT 提供了完整的服务,支持结构化产品的开发过程改进,包括培训、评估和基于
CMM 的过程改进指导 。
1 级组织的软件过程能力是不可预测的,因为随着工作的开展,软件过程经常更改或修订。
29
总结 3-2
用于管理软件项目的方针和实施这些方针的规程都已制定。
在全组织范围内开发和维护软件的标准过程已文档化。
组织对软件产品和过程都设置定量的质量目标。
30
总结 3-3
作为组织测量计划的一部分,对所有项目中重要的软件过程活动都测量其生产率和质量。
在优化级阶段,整个组织集中精力进行持续的过程改进。
标准是文档化的协议,它包含了技术规范或其他精确的准则,用于将其作为规则、指南或特征定义,并始终如一地使用,以保证材料、产品、过程和服务与其预期目标相吻合。