CMM简介

转载 2012年03月28日 23:29:04

      CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。

能力等级 特点 关键过程
第一级 基本级 软件过程是混乱无序的,对过程几乎没有定义,成功依靠的是个人的才能和经验,管理方式属于反应式  
第二级 重复级 建立了基本的项目管理来跟踪进度.费用和功能特征,制定了必要的项目管理,能够利用以前类似的项目应用取得成功 需求管理,项目计划,项目跟踪和监控,软件子合同管理,软件配置管理,软件质量保障
第三级 确定级 已经将软件管理和过程文档化,标准化,同时综合成该组织的标准软件过程,所有的软件开发都使用该标准软件过程 组织过程定义,组织过程焦点,培训大纲,软机集成管理,软件产品工程,组织协调,专家审评
第四级 管理级 收集软件过程和产品质量的详细度量,对软件过程和产品质量有定量的理解和控制 定量的软件过程管理和产品质量管理
第五级 优化级 软件过程的量化反馈和新的思想和技术促进过程的不断改进 缺陷预防,过程变更管理和技术变更管理

SW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架,阶梯共有五级。第一级实际上是一个起点,任何准备按CMM体系进化的企业都自然处于这个起点上,并通过这个起点向第二级迈进。除第一级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一个级别迈进。CMM体系不主张跨越级别的进化,因为从第二级起,每一个低的级别实现均是高的级别实现的基础。

1.初始级
初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。

2.可重复级
根据多年的经验和教训,人们总结出软件开发的首要问题不是技术问题而是管理问题。因此,第二级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐进化和成熟。第二级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面。其中项目管理分为计划过程和跟踪与监控过程两个过程。通过实施这些过程,从管理角度可以看到一个按计划执行的且阶段可控的软件开发过程。

3.定义级
在第二级仅定义了管理的基本过程,而??业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出与项目适宜的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。

4.管理级
第四级的管理是量化的管理。所有过程需建立相应的度量方式,所有产品的质量(包括工作产品和提交给用户的产品)需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品。量化控制将使软件开发真正变成为一种工业生产活动。

5.优化级
第五级的目标是达到一个持续改善的境界。所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。

结构

除第一级外,SW-CMM的每一级是按完全相同的结构构成的。每一级包含了实现这一级目标的若干关键过程域(KPA),每个KPA进一步包含若干关键实施活动(KP),无论哪个KPA,它们的实施活动都统一按五个公共属性进行组织,即每一个KPA都包含五类KP。

1.目标
每一个KPA都确定了一组目标。若这组目标在每一个项目都能实现,则说明企业满足了该KPA的要求。若满足了一个级别的所有KPA要求,则表明达到了这个级别所要求的能力。

2.实施保证
实施保证是企业为了建立和实施相应KPA所必须采取的活动,这些活动主要包括制定企业范围的政策和高层管理的责任。

3.实施能力
实施能力是企业实施KPA的前提条件。企业必须采取措施,在满足了这些条件后,才有可能执行KPA的执行活动。实施能力一般包括资源保证、人员培训等内容。

4.执行活动
执行过程描述了执行KPA所需求的必要角色和步骤。在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业CMM能力基础设施的建立。执行活动一般包括计划、执行的任务、任务执行的跟踪等。

5.度量分析
度量分析描述了过程的度量和度量分析要求。典型的度量和度量分析的要求是确定执行活动的状态和执行活动的有效性。

6.实施验证
实施验证是验证执行活动是否与所建立的过程一致。实施验证涉及到管理方面的评审和审计以及质量保证活动。
在实施CMM时,可以根据企业软件过程存在问题的不同程度确定实现KPA的次序,然后按所确定次序逐步建立、实施相应过程。在执行某一个KPA时,对其目标组也可采用逐步满足的方式。过程进化和逐步走向成熟是CMM体系的宗旨。



实验二:CMM语言词法分析

笔记 (一)、扫描处理 最主要的是正则表达式( regular expression)和有穷自动机( finite automata)。 扫描程序的任务是从源代码中读取字符并形成由编译器的以后部...
  • ancientmoondjay
  • ancientmoondjay
  • 2016年11月11日 11:12
  • 1522

完整cmm解释器构造实践(二):词法分析

cmm是c的一个子集,保留字只有如下几个 if else while read write int real 特殊符号有如下几个 + - * / = ( ) ; { } [ ] /* */ 标识符:...
  • oqqShaw123
  • oqqShaw123
  • 2015年01月23日 18:22
  • 2857

完整cmm解释器构造实践(三):语法分析

完整cmm解释器构造实践(三):语法分析 语法树节点 我的语法分析器不仅会判断cmm代码的语法是否正确, 同时会存储分析过程中得到的信息, 完成语法树的构建. 为什么要有语法树呢, 其实...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月07日 17:36
  • 3747

实验三:CMM语言语法分析

注意: 1.本程序用的是LL1预测分析表法。 2.可根据输入的文法文件自动生成first集、follow集、select集以及预测分析表。 3.文法的符号之间要有空格。 4.最后的输出文件有s...
  • ancientmoondjay
  • ancientmoondjay
  • 2016年11月21日 23:31
  • 1517

完整cmm解释器构造实践(五):解释执行与GUI

解释执行接下来要做的事情就是解释执行, 我们只需要将中间代码一条一条执行下来就行. 我们可以模仿CPU的执行方式, 使用一个叫pc的变量存储下一条需要执行的指令的序号. 每次执行一条执行就将pc+1,...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月17日 23:13
  • 1875

从CMM认证看认证误区

从目前中国软件业的发展来看,CMM一直是一个非常热门的话题,为了增加自己的综合竞争力,迎接加入WTO后来自全球软件企业的挑战,国内软件企业都把通过CMM认证作为企业中长期的目标,国内的媒体也给予了极大...
  • zjlovety
  • zjlovety
  • 2017年01月24日 08:16
  • 393

完整cmm解释器构造实践(四):语义分析与代码生成

语义分析语法分析只是分析了代码在语法上是不是合法的, 但是代码仍然有可能存在问题, 比如一些需要上下文才能分析的错误, 语法分析就不能分析出来. 比如下面的代码a = 10;从语法上来看, 这是一句合...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月17日 21:54
  • 2401

软件工程:CMM、RUP、XP总结

软件开发过程学习总结 目的:初步理解CMM、RUP、XP分别是怎样的过程,弄懂其关键步骤,分析其优劣及适应情况。最后综各家之长,给出一个可能较实用可行的软件开发过程体系X Process,以用在项目...
  • yuhui_fish
  • yuhui_fish
  • 2013年08月30日 11:07
  • 1086

CMM软件能力成熟度模型

 CMM软件能力成熟度模型 一、什么是cmm评审   简单来说: 通过实施CMM认证和评审,能够帮助你们公司建立一些软件开发、质量管理等方面的规范(质量体系)来,能够帮助你们公司的软件开发有...
  • mimi_endeavor
  • mimi_endeavor
  • 2014年10月23日 10:03
  • 577

CMM软件成熟度

Table of Contents 1. 一、绪论1.1. 软件的定义 1.2. 软件的特征 1.3. 软件危机产生的原因 1.4. 软件过程 1.5. 软件过程能力 1.6. 软件过程性...
  • u013225150
  • u013225150
  • 2016年06月17日 22:58
  • 9192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CMM简介
举报原因:
原因补充:

(最多只允许输入30个字)