《软件能力成熟度模型――CMM的理论和实践》由会员分享,可在线阅读,更多相关《软件能力成熟度模型――CMM的理论和实践(9页珍藏版)》请在金锄头文库上搜索。
1、软件能力成熟度模型CMM 的理论和实践吉林大学计算机学院 李文辉主要 参考讲义:1 Capability Maturity Model for Software, Version 1.1Mark C. PaulkBill CurtisMary Beth ChrissisCharles V. Weber2 Key Practices of the Capability Maturity Model,Version 1.1Mark C. PaulkCharles V. WeberSuzanne M. GarciaMary Beth ChrissisMarilyn BushCapability Ma
2、turity Model for Software, Version 1.1、八 、-前言软件危机( software crisis )CMM 的发展过程 (SEI / Software Engineering Institute/Carnegie Mellon University )CMM 产生的理论基础1 过程成熟度框架(The Process Maturity Framework)11 不成熟和传输组织的比较12 构成过程成熟度基础的基本概念13 能力成熟度模型概述2 软件过程成熟度的五个等级成熟度等级成熟度等级的五个级别的主要特征21 等级的行为特征X成熟度可以通过以下各项对其特征加
3、以描述:1 组织为建立或改进软件过程所进行的活动2 对每个项目所进行的活动3 所产生的横跨各项目的过程能力X 等级 1 :X 等级 2 :1 具有项目级的方针和执行这些方针的规程2 基于在类似们项目上的经验对新项目进行规划和管理3 达到等级 2 的目的是使软件项目的有效管理过程制度化4 一个有效过程可特征化为: 实用的、 已文档化的、 已实施的、 已培训的、 已测量的、 能改进的5 等级 2 组织的过程能力可概括为有纪律的。X等级3:1有组织级的标准软件过程2存在一个负责组织的软件过程活动的组,SEPG3实施全组织的培训计划4项目剪裁组织的标准软件过程去建立他们自己的软件过程(项目定义软件过程
4、)5等级 3 组织的软件过程能力可概括为标准和一致的X等级4:1 组织对软件产品和过程都设置定量的质量目标2 组织内建立了软件过程数据库3 开始定量地认识软件过程4 软件过程变化较小,一般在可接受的范围内5 等级 4 组织的软件过程能力概括为可预测的X 等级 5:1 整个组织集中精力进行不断的过程改进2 缺陷预防3 技术更新4 等级 5 组织的软件过程能力可特征化为不断改进2 2 理解成熟度等级描述模型规范模型CMM 不是处方,它并不告诉组织如何进行改进X 理解初级X 理解可重复级和已定义级X 理解已管理级 和 优化级23 软件过程的可视性等级1一个黑盒等级2项目里程碑处具有管理可视性等级3盒
5、子的内部结构可视等级4软件过程被配备上度量,并得到定量地控制等级5对过程不断改进3 4 过程能力和性能预测 随着成熟度增加,预定目标结结果与实际结果间的差距减少 随着成熟度增长,实际结果相对预定目标结果的偏差范围减小 随着成熟度增加,预定目标结果得到改善25 跳越成熟度等级跳跃等级是违反生产规律的4 CMM 的可操作定义四种用法31 成熟度等级的内部结构3 2 成熟度等级3 3 关键过程区域每个关键过程区域 识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标分别叙述等级2等级5的每个KPA3. 4共同特点执行约定 必须执行的活动执行能力一一先决条件执行的活动 描述
6、为了建立过程能力必须作什么,而其他的实践是执行的活动中所描述的实践规范化的基础3. 5关键实践5.运用CMM4. 1软件过程评估和软件能力评价方法4. 2软件过程评估和软件能力评价之间的差别4. 3CMM在过程改进方面的其他用法Key Practices of the Capability MaturityModel2. 能力成熟度模型概述2. 1介绍能力成熟度模型软件能力成熟度模型是一种描述有效软件过程的关键元素的框架,CMM描述一条从无序的不成熟的过程到成熟的、有纪律的过程的进化的改进途径。CMM包括对软件开发和维护进行策划、工程化和管理的实践。遵循这些关键实 践,就能改进组织在实现有关成
7、本、进度、功能和产品质量等目标上的能力。2. 2CMM的起源SEI应政府要求在MITRE公司的帮助下开发出成熟度 模型和成熟度提问单的 一个初始版本。模型的设计目标:基于现实的实践;反映最好的实践状态;反映从事软件过程改进、软件过程评估或软件能力评价的个人的需要;是已文档化的;是公开可以得到的。2. 3CMM的结构成熟度等级一关键过程域一共同特点一关键实践CMM的主要成分: 成熟度等级 过程能力 关键过程域 目标 共同特点 关键实践2. 4CMM成熟度等级的定义 分为5个等级 每个等级为连续 过程改进提供一层基础。每个关键过程域包含一组目标,当这 组目标实现时,就使得软件过程的一个重要成分稳定
8、。达到成熟度模型中的每一个等级,都使得软件过程的一个不同的成分规范化, 导致组织过程能力的整体增长。2. 5CMM的关键过程域(KPA)CMM共有18个KPA,2级 6个;3级 7个;4级 2个;5级 3个 KPA的特性:A. 每个KPA识别出一串相关活动B. 每KPA定义在单个成熟度等级上C. KPA鉴别出为达到某一成熟度等级所必须解决的问题等级2的KPA :(集中关注软件项目所关心的、与建立基本项目管理控制有关的 问题)需求管理软件项目策划软件项目跟踪和监督子合同管理质量保证软件配置管理等级3的KPA :(既阐述项目问题,又阐述组织的问题)组织过程焦点 组织过程定义 培训大纲集成软件管理
9、软件产品工程 组间协调 同行评审等级4的KPA :(关注焦点是建立对软件过程和软件产品的定量了解)定量过程管理软件质量管理等级5的KPA :(关注那些为了实施连续不断的和可测的软件过程改进,组织和 项目都必须解决的问题)缺陷预防技术改革管理 过程更改管理2. 6关键实践 子关键实践(详细描述、例子) 顶层关键实践(单句):子关键实践(详细描述、例子)关键实践描述应做什么,但不应解释为强制如何实现目标 2. 7目标目标概括一个PKA中的所有关键实践,并能用于确定一个组织或项目是否已有 效地实施此KPA。目标表示每个关键过程域地范围、边界和意图。2. 8共同特点KPA 目标成熟度等级一 KPAs
10、KPA 共同特点 (执行约定,执行能力,执行活动,测量和KPA分析,验证实施)3. 关键实践的版面介绍关键过程域的结构:KPA的简要描述KPA的目标关键实践(包括5个共同特点)4. 解释CMM4. 1解释关键实践 4. 2解释共同特点4. 2. 1执行约定4. 2. 2执行能力4. 2. 3执行的活动4. 2. 4测量和分析4. 2. 5验证实施4. 3解释软件过程定义CMM中过程定义的一个基本概念是组织标准软件过程。组织的基本过程指导 建立一个遍历组织中所有软件项目的共同的软件过程,而组织标准软件过程就 是基本过程的可操作的定义。标准软件过程描述基本的软件过程元素,同时描述这些基本的软件过程元素之 间的关系。过程定义的概念组织的过程财富项目定义软件过程项目定义软件过程和软件开发计划的关系435生命周期和CMM436技术和CMM437文档和CMM438 过程数据的收集和分析 44组织机构和角色4.4.1 组织的角色4.4.2 组织机构4.4.3 组织机构的独立性45运用专业判断5等级 2 关键实践5 1 需求管理目标目标 1:目标 2执行约定