当前位置:首页 > 我们的服务 > IT行业资质

CMMI软件能力成熟度

发布时间:2017/7/28 10:28:15

一、CMMI软件成熟度基本概念

软件过程
  过程即人们为实现某一既定目标所执行的一系列步骤(IEEE-STD-610)。软件过程则可定义为企业设计,研制和维护软件产品及相关资料文档的全部生产活动和工程管理活动。理解包括SEI在内的美国过程学派的一个核心概念就是--只要过程正确及构成过程的解决方法正确,产品就会正确。

软件过程能力
  企业实施软件过程所能实现预期目标的程度。它可用于预测企业的软件过程水平。

软件过程成熟度
   软件过程行为可定义,预测和控制并被持续性提高的程度。它主要用来表明不同项目所遵循的软件过程的一致性。

软件能力成熟度等级
  企业的软件开发在由低到高成熟化演进过程中所普遍面临的具有一定成熟度标志特性的平台。
  
配置管理
   包括以下管理行为:对某个配置项的功能和物理特性进行识别和编档;对这些特征的变动进行控制;对变动和事实进行记录、汇报;验证需求计划的实现。

 

二、能力成熟度模型

能力成熟度模型- Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM

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

  CMM是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。CMM分为五个等级: 一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。

  其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家以及国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容。

  CMM为软件企业的过程能力提供了一个阶梯式的改进框架,它基于过去所有软件工程过程改进的成果,吸取了以往软件工程的经验教训,提供了一个基于过程改进的框架;它指明了一个软件组织在软件开发方面需要管理哪些主要工作、这些工作之间的关系、以及以怎样的先后次序,一步一步的做好这些工作而使软件组织走向成熟。

  
三、CMM软件能力成熟度模型的5个等级及其特点
 
CMM(capability maturity model),即软件能力成熟度模型。CMM在改进软件过程中所起的作用主要是,指导软件机构通过确定当前的过程成熟度并识别出对过程改进起关键作用的问题,从而明确过程改进的方向和策略。通过集中开展与过程改进的方向和策略相一致的一组过程改进活动,软件机构便能稳步而有效地改进其软件过程,使其软件的过程能力得到循序渐进的提高。
  能力成熟度的5个等级从低到高依次是:初始级,可重复级,已定义级,已管理级和优化级。

初始化
  软件过程的特征是无序的,有时甚至是混乱的。几乎没有什么过程是经过定义的(即没有一个定型的过程模型),项目能否成功完全取决于开发人员的个人能力。

可重复级
  软件机构建立了基本的项目管理过程(过程模型),可跟踪成本、进度、功能和质量。达到2级的一个目标是使项目管理过程稳定,从而使得软件机构能重复以前在成功项目中所进行过的软件项目工程实践。

已定义
  软件机构已经定义了完整的软件过程(过程模型),软件过程已经文档化和标准化。所有项目组都是用文档化的、经过批准的过程来开发和维护软件。这一级的软件机构的过程能力可以概括为,无论是管理活动还是工程活动都是稳定的。软件开发的成本和进度以及产品的功能和质量都受到控制,而且软件产品的质量具有可追溯性。

已管理性
  软件机构对软件过程(过程模型和过程实例)和软件产品都建立了定量的质量目标,所有项目的重要的过程活动都是可度量的。这一级的过程能力允许软件机构在定量的范围内预测过程和产品质量趋势,在发生偏离时可以及时采取措施予以纠正,并且可以预期软件产品是高质量的。

优化级
  软件机构集中精力持续不断地改进软件过程。这一级的软件机构能够持续不断地改进其过程能力,既对现行的过程实例不断地改进和优化,又借助于所采用的新技术和新方法来实现未来的过程改进。
 
 
四、CMM体系结构
一个企业软件能力类似于一个人在一个特定领域的能力,是逐步获得和增长的。如果一个人在其领域的发展过程中能得到一个很好的指南,那么他或她就会不断达到一个个设定的目标,并变得成熟起来,否则可能会盲目发展,离自己的目标越来越远,甚至南辕北辙。一个企业的软件能力发展也同样需要一个良好的指南,SW-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体系的宗旨。

五、申请CMMI主要的阶段与内容

Copyright © 2014 yonghuaxin 福州永华信信息科技有限公司 版权所有 地址:福州市闽侯县科技东路11号网讯中心A栋6层CP备16014406号

免费客服热线:15306913115QQ咨询:183846877邮箱:183846877@qq.com