软件能力成熟度模型――CMM的理论和实践
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件能力成熟度模型――CMM的理论和实践
吉林大学计算机学院李文辉
主要参考讲义:
1.Capability Maturity Model for Software, Version 1.1
Mark C. Paulk
Bill Curtis
Mary Beth Chrissis
Charles V. Weber
2.Key Practices of the Capability Maturity Model,
Version 1.1
Mark C. Paulk
Charles V. Weber
Suzanne M. Garcia
Mary Beth Chrissis
Marilyn Bush
Capability Maturity Model for Software, Version 1.1
前言
软件危机(software crisis)
CMM的发展过程(SEI /Software Engineering Institute
/Carnegie Mellon University)CMM产生的理论基础
1.过程成熟度框架
(The Process Maturity Framework)
1.1 不成熟和传输组织的比较
1.2构成过程成熟度基础的基本概念
1.3能力成熟度模型概述
2.软件过程成熟度的五个等级
成熟度等级
成熟度等级的五个级别的主要特征
2.1等级的行为特征
×成熟度可以通过以下各项对其特征加以描述:
1.组织为建立或改进软件过程所进行的活动
2.对每个项目所进行的活动
3.所产生的横跨各项目的过程能力
×等级1:
×等级2:
1.具有项目级的方针和执行这些方针的规程
2.基于在类似们项目上的经验对新项目进行规划和管理
3.达到等级2的目的是使软件项目的有效管理过程制度化
4.一个有效过程可特征化为:实用的、已文档化的、已实施的、已培训的、已测量的、能改进的
5.等级2组织的过程能力可概括为有纪律的。
×等级3:
1.有组织级的标准软件过程
2.存在一个负责组织的软件过程活动的组,SEPG
3.实施全组织的培训计划
4.项目剪裁组织的标准软件过程去建立他们自己的软件过程(项目定义软件过程)5.等级3组织的软件过程能力可概括为标准和一致的
×等级4:
1.组织对软件产品和过程都设置定量的质量目标
2.组织内建立了软件过程数据库
3.开始定量地认识软件过程
4.软件过程变化较小,一般在可接受的范围内
5.等级4组织的软件过程能力概括为可预测的
×等级5:
1.整个组织集中精力进行不断的过程改进
2.缺陷预防
3.技术更新
4.等级5组织的软件过程能力可特征化为不断改进
2.2理解成熟度等级
描述模型
规范模型
CMM不是处方,它并不告诉组织如何进行改进
×理解初级
×理解可重复级和已定义级
×理解已管理级和优化级
2.3软件过程的可视性
等级1―――一个黑盒
等级2―――项目里程碑处具有管理可视性
等级3―――盒子的内部结构可视
等级4―――软件过程被配备上度量,并得到定量地控制
等级5―――对过程不断改进
3.4过程能力和性能预测
随着成熟度增加,预定目标结结果与实际结果间的差距减少
随着成熟度增长,实际结果相对预定目标结果的偏差范围减小随着成熟度增加,预定目标结果得到改善
2.5跳越成熟度等级
跳跃等级是违反生产规律的
4.CMM的可操作定义
四种用法
3.1成熟度等级的内部结构
3.2成熟度等级
3.3关键过程区域
每个关键过程区域识别出一串相关活动,当这些活动全部完
成时,能达到一组对增强过程能力至关重要的目标
分别叙述等级2-等级5的每个KPA
3.4共同特点
执行约定――必须执行的活动
执行能力――先决条件
执行的活动描述为了建立过程能力必须作什么,而其他的实践是执行的活动中所描述的实践规范化的基础
3.5关键实践
5.运用CMM
4.1软件过程评估和软件能力评价方法
4.2软件过程评估和软件能力评价之间的差别
4.3CMM在过程改进方面的其他用法
Key Practices of the Capability Maturity
Model
2.能力成熟度模型概述
2.1介绍能力成熟度模型
软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。
CMM包括对软件开发和维护进行策划、工程化和管理的实践。
遵循这些关键实践,就能改进组织在实现有关成本、进度、功能和产品质量等目标上的能力。
2.2CMM的起源
SEI应政府要求在MITRE公司的帮助下开发出成熟度模型和成熟度提问单的一个初始版本。
模型的设计目标:
●基于现实的实践;
●反映最好的实践状态;
●反映从事软件过程改进、软件过程评估或软件能力评价的个人的需要;
●是已文档化的;
●是公开可以得到的。
2.3CMM的结构
成熟度等级关键过程域共同特点关键实践
CMM的主要成分:
●成熟度等级
●过程能力
●关键过程域
●目标
●共同特点
●关键实践
2.4CMM成熟度等级的定义
分为5个等级
每个等级为连续过程改进提供一层基础。
每个关键过程域包含一组目标,当这组目标实现时,就使得软件过程的一个重要成分稳定。
达到成熟度模型中的每一个等级,都使得软件过程的一个不同的成分规范化,导致组织过程能力的整体增长。
2.5CMM的关键过程域(KPA)
CMM共有18个KPA,2级――6个;3级――7个;4级――2个;5级――3个。
KPA的特性:
A.每个KPA识别出一串相关活动
B.每KPA定义在单个成熟度等级上
C.K PA鉴别出为达到某一成熟度等级所必须解决的问题
等级2的KPA:(集中关注软件项目所关心的、与建立基本项目管理控制有关的问题)
●需求管理
●软件项目策划
●软件项目跟踪和监督
●子合同管理
●质量保证
●软件配置管理
等级3的KPA:(既阐述项目问题,又阐述组织的问题)
●组织过程焦点
●组织过程定义
●培训大纲
●集成软件管理
●软件产品工程
●组间协调
●同行评审
等级4的KPA:(关注焦点是建立对软件过程和软件产品的定量了解)
●定量过程管理
●软件质量管理
等级5的KPA:(关注那些为了实施连续不断的和可测的软件过程改进,组织和项目都必须解决的问题)
●缺陷预防
●技术改革管理
●过程更改管理
2.6 关键实践
:
关键实践描述应做什么,但不应解释为强制如何实现目标。
2.7 目标
目标概括一个PKA中的所有关键实践,并能用于确定一个组织或项目是否已有效地实施此KPA。
目标表示每个关键过程域地范围、边界和意图。
2.8共同特点
KPA 目标
成熟度等级KPAs KPA 共同特点(执行约定,执行能力,执行活动,测量和
KPA 分析,验证实施)
3.关键实践的版面介绍
关键过程域的结构:
KPA的简要描述
KPA的目标
关键实践(包括5个共同特点)
4.解释CMM
4.1解释关键实践
4.2解释共同特点
4.2.1 执行约定
4.2.2 执行能力
4.2.3 执行的活动
4.2.4 测量和分析
4.2.5 验证实施
4.3解释软件过程定义
CMM 中过程定义的一个基本概念是组织标准软件过程。
组织的基本过程指导建立一个遍历组织中所有软件项目的共同的软件过程,而组织标准软件过程就是基本过程的可操作的定义。
标准软件过程描述基本的软件过程元素,同时描述这些基本的软件过程元素之间的关系。
4.3.1 过程定义的概念
4.3.2 组织的过程财富
4.3.3 项目定义软件过程
4.3.4 项目定义软件过程和软件开发计划的关系4.3.5 生命周期和CMM
4.3.6 技术和CMM
4.3.7 文档和CMM
4.3.8 过程数据的收集和分析
4.4组织机构和角色
4.4.1 组织的角色
4.4.2 组织机构
4.4.3 组织机构的独立性
4.5运用专业判断
5.等级2 关键实践
5.1 需求管理
目标
目标1:
目标2
执行约定。