能力成熟度模型CMM.ppt
《能力成熟度模型CMM.ppt》由会员分享,可在线阅读,更多相关《能力成熟度模型CMM.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、能力成熟度模型能力成熟度模型CMM思考题:思考题:为什么说结构化的软件开发是软件可维护性的前为什么说结构化的软件开发是软件可维护性的前提?提?1、结构化的软件开发才会有开发过程文件,而这些文件是结构化维护的前提;2、只有坚持结构化的软件开发才能使软件更可理解。本次课程学习内容:本次课程学习内容:1、什么是、什么是CMM?(重要)?(重要)2、什么是过程能力,什么是过程性能?(非常重、什么是过程能力,什么是过程性能?(非常重要)要)3、什么是过程成熟度?(了解)、什么是过程成熟度?(了解)4、CMM的过程成熟度模型框架。(非常重要)的过程成熟度模型框架。(非常重要)5、CMM的内部组织结构。(重
2、要)的内部组织结构。(重要)软件开发软件开发本质本质软软件件生生存存周周期期过过程程定义定义软软件件生生存存周周期期模模型型软软件件工工程程生生存存周周期期过过程程支支持持过过程程方方向向(活活动动与与定定序序)的的建建立立形形成成软件开发方法学软件开发方法学 结构化方法结构化方法 面向对象方法面向对象方法 面向数据结构面向数据结构 方法方法 维也纳开发方维也纳开发方 法(法(VDM)给给出出实实现现开开发发过过程程的的途途径径 支持支持/管理技术管理技术与方法与方法作用于作用于仅当软件过程予以有效管理时,才能实现有效的软件仅当软件过程予以有效管理时,才能实现有效的软件工程。工程。九九 CMM
3、CMM(the Capability Maturity Model for software)CMMCMM是什么是什么?CMMCMM的知识结构的知识结构 过程是生产产品的机制过程是生产产品的机制.不论是过程改善还不论是过程改善还是能力确定是能力确定,均需要过程评估均需要过程评估,而过程评估通常而过程评估通常基于已提出的一些评估模型基于已提出的一些评估模型.在在8080年代中期,美国工业界和政府部门开始认识到:年代中期,美国工业界和政府部门开始认识到:在在软件开发中,关键的问题在于软件开发组织不能很好地定义软件开发中,关键的问题在于软件开发组织不能很好地定义和控制其软件过程。和控制其软件过程。从
4、而使一些好的开发方法和技术都起不从而使一些好的开发方法和技术都起不到所期望的作用。到所期望的作用。针对这一问题:针对这一问题:19861986年年1111月月,美美国国卡卡内内基基-梅梅隆隆大大学学软软件件工工程程研研究究所所(SEISEI)开始开发过程成熟度框架。)开始开发过程成熟度框架。19871987年年9 9月月,SEISEI发发布布了了过过程程成成熟熟度度框框架架的的简简要要描描述述和和成成熟度调查表。熟度调查表。19911991年年,SEISEI将将过过程程成成熟熟度度框框架架演演化化为为CMM CMM 1.01.0版版:CMU/SEI-91-TR-24CMU/SEI-91-TR-
5、24、CMU/SEI-91-TR-25CMU/SEI-91-TR-25。19931993年年,SEISEI根根据据反反馈馈,提提出出CMM CMM 1.11.1版版:CMU/SEI-93-CMU/SEI-93-TR-25TR-25。目前,。目前,已经提出已经提出CMM 2.0CMM 2.0版。版。是什么?是什么?CMM为控制软件过程提供了一种业界认可的评估指标体系,为控制软件过程提供了一种业界认可的评估指标体系,一种软件能力成熟度模型一种软件能力成熟度模型注:没有涉及评估过程的方法注:没有涉及评估过程的方法.过程管理过程管理过程规划过程规划评评 估估组织组织过程控制过程控制人员指派人员指派领导
6、领导至少涉及:至少涉及:1)评估模式;)评估模式;2)评估指标体系;)评估指标体系;3)评估方法学;)评估方法学;4)评估技术;等)评估技术;等CMM:支持建立过程能力评估:支持建立过程能力评估 的评估指标体系的评估指标体系 包括包括 评估指标评估指标 指标体系指标体系2 2 的基本内容的基本内容 )基本)基本思想思想(Philosophy)支撑软件产品系统质量的三大要素:支撑软件产品系统质量的三大要素:“整个软件任务可以看作是一个过程,该过程可以予以控整个软件任务可以看作是一个过程,该过程可以予以控制、测量和改进制、测量和改进”ABDCPeopleProcessTechnology)基本概念
7、)基本概念:(1)何谓过程?)何谓过程?过程(过程(Process)是一种手段,通过该手段可以把人、规程、是一种手段,通过该手段可以把人、规程、方法、设备以及工具进行集成,以产生一种所期望的结果。方法、设备以及工具进行集成,以产生一种所期望的结果。(the means by which people,procedures,method,equipment,and tools are integrated to produce a desired end result.)(2)过程能力过程能力 定义定义:(开发组织或项目组开发组织或项目组)通过遵循其软件过通过遵循其软件过 程能够实现预期结果的程
8、度。程能够实现预期结果的程度。range可见:可见:一一个个组组织织的的软软件件过过程程能能力力,是是未未来来项项目目结结果果的的指指示示器器,给给出出了了一一种种预预测测该该组组织织承承担担下下一一个个软软件件项项目目可可能能结结果果的的方方法法。是是不不同等级过程能力的基本指标,同等级过程能力的基本指标,低过程能力的基本特征低过程能力的基本特征 非常依赖当前的参与人员(非常依赖当前的参与人员(practitioners););什么事情(包括软件过程与管理)均是临时准备;什么事情(包括软件过程与管理)均是临时准备;没有严格的下一步;没有严格的下一步;冒险地使用新技术;冒险地使用新技术;复审和
9、测试常常不足;复审和测试常常不足;产品质量很难预测产品质量很难预测 交付的交付的“东西东西”不符合要求;不符合要求;进度延迟和预算超额。进度延迟和预算超额。高过程能力的特征高过程能力的特征 定义了过程,建立了使用技术的基础;定义了过程,建立了使用技术的基础;开发和管理遵循一个确定的途径;开发和管理遵循一个确定的途径;过程得到了很好地控制,并得到各方面(包括测量)过程得到了很好地控制,并得到各方面(包括测量)的支持;的支持;实现了过程制度化,并不断改进实现了过程制度化,并不断改进。(3)过程性能(过程性能(Process Performance)遵循一个过程所达到实际结果的一个测度(遵循一个过程
10、所达到实际结果的一个测度(measure)过程能力和过程性能之间的关系过程能力和过程性能之间的关系 Capability Performance 注意注意:软件过程能力软件过程能力与与软件过程性能软件过程性能之间的关系:之间的关系:一个是能够一个是能够实现预期结果的程度,一个是得到的实际结果实现预期结果的程度,一个是得到的实际结果 一个一个项目的实际过程性能,可能并不充分反映其所在组织项目的实际过程性能,可能并不充分反映其所在组织 的整个过程能力。(由于该项目的具体属性和执行该项目的整个过程能力。(由于该项目的具体属性和执行该项目 的环境所限)的环境所限)(4)过程成熟度(过程成熟度(Proc
11、ess Mature)一个特定软件过程被明确和有效地定义、管理、测量和一个特定软件过程被明确和有效地定义、管理、测量和控制的程度。控制的程度。(Definition:Process Mature The extent to which a specific process is explicitly:defined(you know what is done),managed(you can control the process qualitatively),measured(you know how much is done,and how well),controlled(you can
12、 control the process quantitatively),effective(you can improve the process rationally))软件过程成熟度软件过程成熟度指明指明:一个软件开发组织一个软件开发组织软件过程能力软件过程能力的增长潜力;的增长潜力;-能力提高的能力提高的基础性基础性 表明一个开发组织表明一个开发组织软件过程的丰富多样性软件过程的丰富多样性,-能力提高的能力提高的可能性可能性 在各开发项目中运用在各开发项目中运用软件过程的一致性软件过程的一致性。-能力提高的能力提高的持续性持续性 这意味着这意味着:由于开发组织通过运用软件过程,使各项目
13、由于开发组织通过运用软件过程,使各项目执行软件过程的纪律性一致地增强,导致软件生产率和质量执行软件过程的纪律性一致地增强,导致软件生产率和质量可以得到不断地的改进。可以得到不断地的改进。组织成熟度(组织成熟度(Organizational Maturity)组织的成熟度是由一组过程的组织的成熟度是由一组过程的 组合能力来表达的,其中组合能力来表达的,其中 包括支持它们的制度因素(包括支持它们的制度因素(factor)-pertains to set of processes 高的组织成熟度,是将组织的一组过程看作为一个整体,高的组织成熟度,是将组织的一组过程看作为一个整体,该整体是高的过程能力
14、。其主要表现为:该整体是高的过程能力。其主要表现为:不不论论是开是开发还发还是管理,均有明确、是管理,均有明确、严严格的途径;格的途径;定定义义了了组织过组织过程并不断改善之;程并不断改善之;得到了管理人得到了管理人员员和其他人和其他人员员的支持;的支持;实实施了很好的控制;施了很好的控制;()能力成熟度等级能力成熟度等级 软件开发组织在走向成熟的过程中,几个具有明确定软件开发组织在走向成熟的过程中,几个具有明确定义的、可以表征其软件过程能力成熟程度的义的、可以表征其软件过程能力成熟程度的“平台平台”。该平台(该平台(每一等级)包含一组过程目标。当一个软件开发每一等级)包含一组过程目标。当一个
15、软件开发组织达到其中一个目标时,则表明软件过程的一个组织达到其中一个目标时,则表明软件过程的一个(或几个或几个)重重要成分得到了实现,从而导致该组织软件过程能力的增长。要成分得到了实现,从而导致该组织软件过程能力的增长。显然,显然,每一个成熟度等级为达到下一个等级提供了一个基础。每一个成熟度等级为达到下一个等级提供了一个基础。3)CMM的软件过程成熟度框架的软件过程成熟度框架初始级初始级(1)可重复级可重复级(2)已定义级已定义级(3)已管理级(4)持续优化级持续优化级(5)可重复的可重复的过程过程标准的一致的标准的一致的过程过程可预言的可预言的过程过程持续改善的持续改善的过程过程(1)成熟度
16、框架成熟度框架 在这一框架中,在这一框架中,将将过程能力成熟过程能力成熟度分为五级度分为五级:初始级初始级,可重复级可重复级,已定义级,已管理级已定义级,已管理级,持续优化级持续优化级。通过成熟度级别通过成熟度级别,定义了定义了在在使软件过程成熟的过程使软件过程成熟的过程 中的中的 演化状态演化状态。可见可见,过程成熟度框架过程成熟度框架:描述:描述:一条从无序的、混乱的过程达到成熟的、有纪律一条从无序的、混乱的过程达到成熟的、有纪律 的软件的软件过程的进化途径过程的进化途径。用途:用途:以软件过程成熟度框架,可以导出过程改进策略,以软件过程成熟度框架,可以导出过程改进策略,为软件过程的不断改
17、进的历程提供了一份导引图:为软件过程的不断改进的历程提供了一份导引图:-指导软件开发组织不断识别出其软件过程的缺陷指导软件开发组织不断识别出其软件过程的缺陷 -引导开发组织在各个平台上引导开发组织在各个平台上“做什么做什么”改进(但它改进(但它 并不提供并不提供“如何做如何做”的具体措施。的具体措施。基础:基础:软件过程成熟度框架的基础是等级内部结构。软件过程成熟度框架的基础是等级内部结构。(2)各等级的基本特征各等级的基本特征l初始级初始级 主要特征:主要特征:组织:组织通常没有提供开发和维护软件的稳定的环境。组织:组织通常没有提供开发和维护软件的稳定的环境。项目:当发生危机时,项目通常放弃
18、计划的过程,回复到项目:当发生危机时,项目通常放弃计划的过程,回复到编码和测试。编码和测试。过程能力:不可预测。过程能力:不可预测。(unpredictable)由于:由于:软件开发无规范;软件开发无规范;软件过程不确定、无计划、无秩序;软件过程不确定、无计划、无秩序;过程执行不过程执行不“透明透明”;需求和进度失控。需求和进度失控。结果:结果:项目的成败完全取决于个人的能力和努力;项目的成败完全取决于个人的能力和努力;软软件件性性能能随随个个人人具具有有的的技技能能、知知识识和和动动机机的的不不同同而而变变化,化,并只能通过个人的能力进行预测。并只能通过个人的能力进行预测。可重复级可重复级
19、主要特征主要特征:组织组织:将软件项目的有效管理过程制度化,这使得组织:将软件项目的有效管理过程制度化,这使得组织 能够重复以前项目中的成功实践。能够重复以前项目中的成功实践。项目项目:配备了基本的软件管理控制。:配备了基本的软件管理控制。过程能力过程能力:可重复的:可重复的:即对当前项目的需求分析后制定的,能重即对当前项目的需求分析后制定的,能重 复以前的成功实践,尽管在具体过程中可能有所不同。复以前的成功实践,尽管在具体过程中可能有所不同。基本可控的:基本可控的:即对软件项目的管理过程是制度化的。即对软件项目的管理过程是制度化的。过程是有效的:过程是有效的:即对项目建立了实用的、已文档化的
20、、即对项目建立了实用的、已文档化的、已实施的、己培训的、已测量的和能改进的过程。已实施的、己培训的、已测量的和能改进的过程。项目是稳定的:即对新项目的策划和管理,有明确的管理项目是稳定的:即对新项目的策划和管理,有明确的管理方针和确定的标准(包括对分承制方),可使项目的进展稳方针和确定的标准(包括对分承制方),可使项目的进展稳定。定。过程过程是有纪律的:即对所建立和实施的方针、规程,对软是有纪律的:即对所建立和实施的方针、规程,对软件项目过程而言,已进化为组织的行为。件项目过程而言,已进化为组织的行为。具备以上过程能力特征的途径:具备以上过程能力特征的途径:应实现关键过程域应实现关键过程域:软
21、件配置管理、软件质量保证、软件子合同管理、软件配置管理、软件质量保证、软件子合同管理、软件项目跟踪和监督、软件项目规划、需求管理。软件项目跟踪和监督、软件项目规划、需求管理。其中:其中:关键过程域:关键过程域:过过程程域域:互互相相关关联联的的若若干干个个软软件件实实践践活活动动和和有有关关基基础础设设施施的集合。的集合。关关键键过过程程域域:对对某某一一成成熟熟度度等等级级将将起起到到至至关关重重要要的的过过程程域域即即它它们们的的实实施施将将对对达达到到该该成成熟熟度度等等级级的的目目标标起起保保证证作作用用,这这些些过过程域被称为关键过程域。程域被称为关键过程域。每一软件过程成熟度等级均
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 能力 成熟度 模型 CMM
限制150内