CMMI是什么???

刚才在看最新招聘信息时看到了一个要求,就是要知道cmmi,我都没接触过,天a ,这也是程序员要懂得啊。我落后哦。

所以就赶紧上网查了一下,了解到cmmi是能力成熟度模式整合。英文翻译是:Capability Maturity Model Integration。它的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题。50多年来计算的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。基於模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能力稳定的进行改善,该组织也能变得更加成熟。

然而,软件组织形成一套完整而成熟的软件过程不是一蹴而就的事情,需要经历一系列的成熟度。软件组织首先要进行差异分析,评定自己比较接近哪一个成熟度,然后再根据自身的情况来决定要采取哪些改进活动,来更有效地改进自己的软件过程。这就对软件过程的评定提出了一个客观的标准。美国卡内基梅隆大学软件工程学院於1987年研究成功的SW-CMM(Capability Maturity Model for Software)就是这样的一个理论模型,其目的在於帮助软件组织改善软件生产流程,以探索一个保证软件产品质量、缩短开发周期、提高工作效率的软件工程模式与标准规范。

CMM的成功促使其他学科也相继开发类似的过程改进模型,例如系统工程、需求工程、人力资源、集成产品开发、软件采购等等,从CMM衍生出了一些改善模型,比如:SW-CMM,SE-CMM,IPD-CMM等。不过,在同一个组织中多个过程改进模型的存在可能会引起冲突和混淆。CMMI就是为了解决怎麼保持这些模式之间的协调。

由业界、美国政府和卡内基·梅隆大学软件工程研究所率先倡导的能力成熟度模型集成(CMMI)项目致力於帮助企业缓解这种困境。CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。CMMI主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。

与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的"最佳"实践;专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。在此前提下,CMMI为企业的过程构建和改进提供了指导和框架作用;同时为企业评审自己的过程提供了可参照的行业基准。

CMMI的源模型:软件能力成熟度模型2.0版,C稿;电子行业协会临时标准(EIA/IS)731;集成产品开发能力成熟度模型(IPD- CMM)。

CMMI内容分为"要求"、"期望"和"提供信息"三个级别,来衡量模型包括的质量重要性和作用。最重要的是"要求"级别,是模型和过程改进的基础。第二级别"期望"在过程改进中起到主要作用,但是某些情况不是必须的可能不会出现在成功的组织模型中。"提供的信息"构成了模型的主要部分,为过程改进提供了有用的指导,在许多情况下他们对需要和期望的构件做了进一步说明。

"要求"的模型构件是目标,代表了过程改进想要达到的最终状态,它的实现表示了项目和过程控制已经达到了某种水平。当一个目标对应一个关键过程域,就称为"特定目标";对应整个关键过程域就称为"公用目标"。整个CMMI模型包括了54个特定目标,每个关键过程域都对应了一到四个特定目标。每个目标的描述都是非常简捷的,为了充分理解要求的目标就是扩展"期望"的构件。

"期望"的构件是方法,代表了达到目标的实践手段和补充认识。每个方法都能映射到一个目标上,当一个方法对一个目标是唯一就是"特定方法";而能适用於所有目标时就是"公用方法"。CMMI模型包括了186个特定方法,每个目标有两到七个方法对应。

CMMI包括了10种"提供的信息":目的,概括和总结了关键过程域的特定目标;介绍说明,介绍关键过程域的范围、性质和实际方法和影响等特徵;引用,关键过程域之间的指向是通过引用;名字,表示了关键过程域的构件;方法和目标关系,关键过程域中方法映射到目标的关系表;注释,注释关键过程域的其他模型构件的信息来源;典型工作产品集,定义关键过程域中执行方法时候产生的工作产品;子方法,通过方法活动的分解和详细描述;学科扩充,CMMI对应学科是独立的,这里提供了对应特定学科的扩展;公用方法的详细描述,关键过程域中公用方法应用实践的详细描述。

CMMI提供了阶段式和连续式两种表示方法,但是这两种表示法在逻辑上是等价的。我们熟悉的SW-CMM软件能力成熟模型就是阶段式的模型,SE-CMM系统工程模型是连续式模型,而IPD-CMM集成产品开发模型结合了阶段式和连续式两者的特点。

阶段式方法将模型表示为一系列"成熟度等级"阶段,每个阶段都有一组KPA指出一个组织应集中於何处以改善其组织过程,每个KPA用满足其目标的方法来描述,过程改进通过在一个特定的成熟度等级中满足所有KPA的目标而实现的。

连续式模型没有像阶段式那样的分散阶段,模型的KPA中的方法是当KPA的外部形式,并可应用於所有的KAP中,通过实现公用方法来改进过程。它不专门指出目标,而是强调方法。组织可以根据自身情况适当裁剪连续模型并以确定的KPA为改进目标。

两种表示法的差异反应了为每个能力和成熟度等级描述过程而使用的方法,他们虽然描述的机制可能不同,但是两种表示方法通过采用公用的目标和方法作为需要的和期望的模型元素,而达到了相同的改善目的。

把这些东西保存下来,了解了解,一遍看不懂,第二遍肯定也看不懂,那就看多遍吧。希望对我有所帮助。

posted @ 2011-09-14 17:22  豪迈人生  阅读(697)  评论(0编辑  收藏  举报