软件能力成熟度模型.ppt_第1页
软件能力成熟度模型.ppt_第2页
软件能力成熟度模型.ppt_第3页
软件能力成熟度模型.ppt_第4页
软件能力成熟度模型.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件能力成熟度 模型,13.7.1 CMM概述,软件能力成熟度模型CMM(Capability Maturity Model)是由美国卡内基-梅隆大学软件工程研究所(CMU/SEI)推出的评估软件能力与成熟度的一套标准,该标准基于众多软件专家的实践经验。,从86年开始,开发软件过程成熟度框架。 91年8月SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM1.0版)。 目前,CMM已经发展到CMMI(Capability Maturity Model Integration),能力成熟度模型集成阶段。

2、,13.7.1 CMM概述,CMM侧重于软件开发过程的管理及工程能力的提高与评估,是国际上流行的软件生产过程标准和软件企业成熟度等级认证标准,它更代表了一种管理哲学在软件企业中的应用。 CMM认证已经成为世界公认的软件产品进入国际市场的通行证。,CMM的主要用于: 1.软件过程评估SPA(Software Process Assessment) 2. 软件过程改进SPI(Software Process Improvement) 3. 软件能力评价SCE(Software Capability Evaluation),13.7.1.1 CMM的基本概念,1. 什么是软件过程 一个软件过程是指人

3、们开发和维护软件及其相关产品所采取的一系列活动。,规程与方法,工具和设备,有技能经过培训的开发人员,13.7.1.1 CMM的基本概念,2. 什么是软件能力成熟度? 由于特定项目的属性和环境限制,项目的实际性能并不能充分反映组织的软件过程能力,但成熟的软件过程可弱化和预见不可控制的过程因素(如客户需求变化或技术变革等)。 一个组织的软件过程能力为组织提供了预测软件项目开发的数据基础,提供了全面的软件质量保证。,软件过程成熟度是指一个软件过程被明确定义、管理、度量和控制的有效程度。成熟意味着软件过程能力持续改善的过程,成熟度代表软件过程能力改善的潜力。,13.7.1.2 软件过程的成熟度等级,C

4、MM将软件过程的成熟度分为5个级别(Maturity Levels),如图所示,5个等级分别是:,1.初始级(Initial) 2.可重复级(Repeatable) 3.已定义级(Defined) 4.已管理级(Managed) 5.优化级(Optimizing),成熟度等级,初始级(Initial) 在初始级,企业一般不具备稳定的软件开发与维护环境。项目成功与否在很大程度上取决于是否有杰出的项目经理和经验丰富的开发团队。此时,项目经常超出预算和不能按期完成,组织的软件过程能力不可预测。,初始级,初始级,可重复级(Repeatable): 在可重复级,组织建立了管理软件项目的方针以及为贯彻执行

5、这些方针的措施。组织基于在类似项目上的经验对新项目进行策划和管理。组织的软件过程能力可描述为有纪律的,并且项目过程处于项目管理系统的有效控制之下。,可重复级,可重复级,已定义级(Defined): 在已定义级,组织形成了管理软件开发和维护活动的组织标准软件过程,包括软件工程过程和软件管理过程。项目依据标准定义自己的软件过程进行管理和控制。组织的软件过程能力可描述为标准的和一致的,过程是稳定的和可重复的并且高度可视。,已定义级,已管理级(Managed): 组织对软件产品和过程都设置定量的质量目标。项目通过把过程性能的变化限制在可接受的范围内,实现对产品和过程的控制。组织的软件过程能力可描述为可

6、预测的,软件产品具有可预测的高质量。,已管理级,已管理级,优化级(Optimizing): 在优化级,组织通过预防缺陷、技术创新和更改过程等多种方式,不断提高项目的过程性能以持续改善组织软件过程能力。组织的软件过程能力可描述为持续改善的。,优化级,优化级,表描述了SW-CMM不同成熟度等级过程的可视性和过程能力。,可视性与过程能力的比较,13.7.2 CMM的内部结构,CMM的每个等级都被分解为3个层次加以定义:即关键过程域、公共特性和关键实践。 每个等级由几个关键过程域组成,这几个关键过程域共同形成一种软件过程能力。 每个关键过程域按4个关键实践类加以组织;并且都有一些特定的目标,通过相应的

7、关键实践类来实现。 除了初始级外,每一成熟度等级都是按完全相同的内部结构构成,,13.7.2.1关键过程区域 除初始级外,每一成熟度等级又由若干个关键过程区域(Key Process Areas)构成。关键过程域指出为了达到某个成熟度等级所要解决的问题。 要达到一个成熟度等级,必须实现该等级上的全部关键过程区域。要实现一个关键过程区域,就必须达到该关键过程区域的所有目标。 在CMM中一共有18个关键过程域,分布在2 5个级别中 。,SW-CMM的关键过程区域,13.7.2.1 关键过程区域,关键过程区域KPY(Key Process Areas)是由一组相关的活动(实践)组成,如图描述。,可重

8、复级关键过程域集中关注从非软件工程化向软件工程化转变初期必须做好的事情。其中包括它的6个关键过程域。,已定义级中的关键过程域既涉及项目,又涉及组织,这是因为组织建立了对所有项目都有效的软件工程过程和管理过程的规范化基础设施。,已管理级中的关键过程域的主要任务是为软件过程和软件产品建立一种可以理解的定量的方式。,优化级的关键过程域,主要涉及的内容是软件组织和项目中如何实现持续不断的过程改进。,13.7.2.2 关键实践,关键实践是指在基础设施以及其他前提条件均满足的情况下对关键过程域的规范实施起重要作用的活动。每个关键过程域包含的关键实践涉及5个共同特征: 执行约定(Commitment to

9、Perform) 执行能力(Ability to Perform) 实施活动(Actives Performed) 度量和分析(Measurement and Analysis) 验证实施(Verifying Implementation),13.7.3 软件能力成熟度模型集成(CMMI),CMMI (Capability Maturity Model Integration)是软件工程模型、系统工程模型、集成化产品和过程开发模型以及集成供应商管理模型等多个模型的集合。这是一套包括多个学科、可扩充的模型系列。 CMMI由卡内基梅隆大学2001年9月推出,其涉及面更广,专业领域覆盖软件工程、系统

10、工程、集成产品开发和系统采购。它的运用不仅降低了项目的成本,而且提高了项目的质量与按期完成率。,13.7.4 软件企业如何实施CMM,软件是促进我国电子信息产业发展的关键技术。而要发展我国的软件产业,在战略上,必须将软件产业作为我国高新技术产业的龙头和国民经济发展的新增长点,在策略上,必须走软件过程管理专业化的道路。 软件企业实施CMM或通过CMM评估所必须经历的步骤。,提高思想认识,进行CMM培 训和咨询工作,确定合理的目标,成立工作组,制定和完善 软件过程,内部评审,正式评估,根据评估结果 改进软件过程,CMM步骤,中国这样的一个大国,软件销售额还不到世界市场的0.5%。我国软件企业除少数

11、几家在500人以上外,多数是在50人以下的民营、集体和个人的软件公司。以开发技术和规范化程序来衡量,总体上仍是相当落后的,大多数企业仍为手工作坊式制作,产品缺乏市场竞争力。因此,软件过程管理已成为发展我们软件产业的一个关键性问题。 实施CMM对软件企业的发展起着至关重要的作用,CMM过程本身就是对软件企业发展历程的一个完整而准确的描述,企业通过实施CMM,可以更好地规范软件生产和管理流程,使企业组织规范化。而且,只有在国际市场取得成功的产品和企业才具有长久的竞争力和生命力,,.提高思想认识,根据CMM模型的要求,一个项目的开发一定要有章可循,而且要做到有章必循,这两点都离不开培训。培训工作需要

12、投入很大的人力、物力和财力,只有企业的管理人员和软件开发人员对CMM真正了解和认识了,自觉地按CMM的方法去进行工作,才能真正实施CMM, 培训的内容需要精心地准备,主要有两个方面,第一,对所有员工包括经理在内的最基本的软件工程和CMM培训知识;第二,对各个工作组的有关人员提供专业领域知识等方面的培训;此外,在每次开发过程中,还要对普通人员进行软件过程方面的培训。,.进行CMM培训和咨询工作,CMM模型划分为5个级别,共计18个关键过程域,52个目标,300多个关键实践。每一个CMM等级的评估周期(从准备到完成)约需12-30个月。无论一个软件企业的软件过程处于什么样的水平,都可以在CMM框架

13、的5个级别中找到自己的位置。 因此,要实施CMM,首先应该对本企业的现状有一个准确的评估,然后再结合企业的实际情况选择CMM的切入点,确定总体目标。这个目标包括在多长时间之内,需要投入多少人力、物力和财力,要达到哪一级。 由于软件过程的建立和改进是一个渐进的、分轻重缓急的、逐步完善的过程。所以,在总体目标已经确定的前提下,还要制订近期目标和长期目标。,.确定合理的目标,在CMM的实施过程中,工作组的成立是一个关键步骤。有几个必不可少的重要的组织包括:软件工程过程组、软件工程组、系统工程组、系统测试组、需求管理组、软件项目计划组、软件项目跟踪与监督、软件配置管理组、软件质量保证组、培训组。例如:

14、 软件工程过程组由专家组成,统领CMM实施活动,协调全组织软件过程的开发和改进活动,制定、维护和跟踪与软件过程开发和改进活动有关的计划,定义用于过程的标准和模板,负责对全体人员培训有关软件过程及其相关的活动。 软件工程组负责一个项目的软件开发和维护活动(即需求分析、设计、编码和测试) 系统工程组负责规定系统需求;将系统需求分配给硬件、软件和其他成分;规定硬件、软件和其他成分的界面;以及监控这些成分的设计和开发以保证它们符合其规格说明。,.成立工作组,CMM模型强调软件过程的改进,如果企业还没有一个文档形式的软件过程,则首要任务是对当前的工作流程进行分析、整理及文档化,从而制定出一个具有本企业风

15、格的软件过程,并用该文档化的过程指导软件项目的开发。 如果已经具备了软件过程,则要对这个过程做内部评估,对照CMM的要求,找出问题,然后对这个过程进行补充修改。在具体实施的过程中,可以选择有一定代表性和完善性的项目组或项目进行试点,跟踪、监督改进后的软件过程的实施情况,执行改进活动的状态。,.制定和完善软件过程,CMM每一级别的评估都由美国卡内基梅隆大学的软件工程研究所(CMU/SEI)授权的主任评估师领导一个评审小组进行。目前,全世界一共只有三百多个主任评估师大部分在美国,而我国大陆还没有一个主任评估师。CMM评估中要聘请外籍主任评估师费用较高。据估计,要通过一个级别的CMM评估,费用是通过

16、ISO9000认证的十多倍。 因此,建议软件企业在进行正式评估之前,先进行内部评审或评估。这种内部评审包含两层含义。第一种就是软件企业组织自己内部成员,严格、认真地按照CMM规范评估过程,对自己的软件过程进行评审,找出其中的不足点并进行改进。 第二种含义就是在全国范围内,由有关软件工程和CMM专家组成一个专门的内部评审机构,负责指导协调实施CMM的活动,对国内软件企业CMM评估进行预先评估。这种预先评估,可降低软件企业通过正式CMM评估的风险,减少软件企业实施CMM的成本,为企业最终获得国际CMM认证打下基础。,.内部评审,目前主要有两种基于CMM的评估方法,一种是CBA-SCE(CMM-Ba

17、sed Appraisal for Software Capability Estimation),它是基于CMM对组织的软件能力进行评估,是由组织外部的评估小组对该组织的软件能力进行的评估。另一种是CBA-IPI(CMM-Based Appraisal for Internal Process Improvement),它是基于CMM对内部的过程改进进行的评估,是由组织内部的小组对软件组织本身进行评估以改进质量,结果归组织所有,目的是引导组织不断改进质量。 CBA评估过程主要分成两个阶段:准备阶段和评估阶段。在评估的最初几天,小组成员的主要任务是采集数据,回答SEI的CMM提问单,文档审阅以及进行交谈,对整个组织中的应用有一个全面的了解。 然后进行数据分析。评估员要对记录进行整理,把这些数据与CMM模型进行比较,最后给出一个评估报告。在评估报告的基础上,评估小组成员起草一个评估结果。,.正式评估,根据IDEAL模型,成熟度的评估只是软件过程改进中的一个环节,如果这个环节与软件过程改进的其他环节不能很好地结合,那么,CMM评估对于软件过程改进所应具有的作用就得不到发挥。 一般来说,应该在评估之后很快地作出软件过程改进的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论