




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 软件生产是一个相当复杂的过程。在计算机出现后的几十年中,探索新的 软件方法和技术以提高计算机软件的生产率和质量一直是软件工程领域研究的 一个焦点。在1 9 8 7 年前后,美国卡耐基一梅隆大学软件工程研究所针对软件生 产过程中存在的问题,提出了软件能力成熟度模型c m m ,它主要用于软件过 程的改进和软件开发能力的评估。这一概念的提出引起了世界范围的研究热潮, 由此也导致了各种模型的衍生。因此,s e i 组织又提出了集成多种模型的c m m i 。 在我国,软件产业还算是一个新兴产业,但却是一个很有潜力和后劲的产 业。目前,软件企业不仅面临着这些来自企业内部的困扰,而且还有来自世界 各大强国的软件企业对于中国这块超大市场甚至世界市场的争夺大战。在这种 情况下,探索出一条适合我国的软件改进之路,增强我国软件企业的竞争实力, 已经是势在必行的头等大事了。目前流行很多关于软件企业的评估办法,那么 哪一种才是适合我国的呢? 另外,我国软件企业应该怎么看待企业的评估,是 不是只有通过某一级评估的企业才算是有竞争力? 这些都是本文将要探讨的问 题。文章分为六章: 第一章是概述部分。简单介绍了软件产品的特殊性,软件过程中的问题, 以及面临的困境,最后介绍了c m m 和c m m i 的产生和发展过程。 第二章介绍了c m m i 的构成,特别从过程域角度分析了c m m i 与c m m 的 区别。 第三章从c m m l 分阶式入手,将c m m i 与组织文化变革联系起来,分析了 每个成熟度等级所需要的组织文化,证明了实施c m m i 不仅仅是组织制度和流 程上的变化。 第四章在深入了解c m m i 模型的基础上,详细分析归纳了c m m i 度量与分 析过程域的关键实施步骤。 第五章根据上一章的研究结果,探讨基于c m m i 的度量数据库系统的设计, 并对重点模块进行了设计和实现。 第六章总结了本文的主要工作,并提出进一步工作设想。 关键词:c m m i ,组织文化,度量和分析 摘要 a b s t r a c t s o f t w a r ep r o d u c i n gi sav e r yc o m p l e xp r o c e s s s i n c es e v e r a ly e a r sa g ot h a t c o m p u t e ra p p e a r e df i r s t ,s e a r c h i n gf o rn e ws o f t w a r em e t h o da n dt e c h n o l o g yt o i m p r o v es o f t w a r ep r o d u c t i o nh a sa l w a y sb e e naf o c u si ns o f t w a r e e n g i n e e r i n g r e s e a r c ha r e a d u r i n gn o n d i s c i p l i n e da n dd i s o r d e r e ds o f t w a r ep r o c e s s e s ,t i m ep l a n a n db u d g e ta r eb a d l yf o l l o w e d i n1 9 8 7 ,a c c o r d i n gt ot h ep r o b l e m sa r i s ei ns o f t w a r e p r o d u c t i o n ,t h es e io f a m e r i c a nc a r n e g i em e l l o nu n i v e r s i t yp u tf o r w a r das o f t w a r e c a p a b i l i t ym a t u r i t ym o d e l ( c m m ) 。i ti sm a i n l yu s e dt oe v a l u a t ea n di m p r o v et h e s o f t w a r ed e v e l o p i n gp r o c e s sa n ds o f t w a r ed e v e l o p i n gc a p a b i l i t y t h e n ,b e c a u s eo f t h es u c c e s so fc m m ,m a n ys i m i l a rm o d e l sa p p e a r e d i no r d e rt o i n t e g r a t et h e s e m o d e l ,s e i p u t f o r w a r da n o t h e r m o d e l - c m m i ( c a p a b i l i t ym a 如f i t y m o d e l i n t e g r a t i o n ) i no u rc o u n t r y , s o f t w a r ei n d u s t r yi ss t i l lan e wb u tp o t e n t i a li n d u s t r y s o f t w a r e c o m p a n i e sa r ef a c i n gn o to n l yt h et r o u b l e sc o m i n gf r o mt h ec o m p a n y , b u ta l s ot h e c o m p e t i n gp r e s s u r ei nc h i n e s ee v e ni n t e m a t i o n a lm a r k e t s s oi t sv e r yi m p o r t a n ta n d u r g e n tf o ro u rs o f t w a r ec o m p a n i e st h ef i n dap r o p e rw a yt oi m p r o v et h es o f t w a r e p r o d u c t i o n t h i sp a p e ri sm a i n l yt os t u d yap r o p e rw a yf o rc h i n e s es o f t w a r e c o m p a n i e st oi m p r o v es o m v a r ep r o c e s s ,a n da d v i s es o m e t h i n gn e e d e dt op a y a t t e n t i o nt ow h e na p p l y i n gc m m i c h a p t e ro n ei st h es u m m a r i z a t i o n w ei n t r o d u c es o f t w a r ec h a r a c t e r s ,p r o b l e m s f o u n di ns o f t w a r ep r o d u c t i o n a n dt h e n ,w ee l a b o r a t eh o wc m m a n dc m m i b e g i n t oc o m et ob e i n g c h a p t e rt w ob e g i n sw i t ht h eb a s i cn o t i o n ,i n c l u d i n gt h es ”t e mf r a m e w o r ko f c m m ia n dt h ed i f f e r e n c eb e t w e e nc m ma n dc m m i c h a p t e rt h r e ei sm a i n l ya b o u tt h ep r o c e s sa r e a - - m e a s u r e m e n ta n da n a l y s i s c h a p t e rf o u rs h o w st h ed e s i g na n dt h er e a l i z a t i o no fam e a s u r e m e n ts y s t e m m o d u 】e t h el a s tc h a p t e rs u m m a r i z e sm yw o r ka n dp l a n si nt h ef u t u r e k e yw o r d s :c _ t m i , o r g a n i z a t i o n a lc u l t u r e s , m e a s u r e 玎】e n ta n da n a l y s i s 厦门大学学位论文原创性声明 兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。本人 在论文写作中参考的其他个人或集体的研究成果,均在文中以明确方式标 明。本人依法享有和承担由此论文产生的权利和责任。 声明人( 签名) :癣丽吊 2 0 0 6 年5 月2 0 日 厦门大学学位论文著作权使用声明 本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大学有 权保留并向国家主管部门或其指定机构送交论文的纸质版和电子版,有权 将学位论文用于非赢利目的的少量复制并允许论文进入学校图书馆被查 阅,有权将学位论文的内容编入有关数据库进行检索,有权将学位论文的 标题和摘要汇编出版。保密的学位论文在解密后适用本规定。 本学位论文属于 1 、保密() ,在年解密后适用本授权书。 2 、不保密( 扔 ( 请在以上相应括号内打“4 ”) 作者签名:倦憾丽 导师繇瞰中 日期:2 0 0 6 年5 月2 0 日 日期:2 0 0 6 年5 月2 0 日 第一章软件危机与软件能力成熟度 第一章软件危机与软件能力成熟度 1 1 软件危机 1 1 1 软件的发展经历 在1 9 5 0 年代,软件伴随着第一台电子计算机的问世诞生了。以写软件为职 业的人也开始出现,他们多是经过训练的数学家和电子工程师。1 9 6 0 年代美国 大学里开始出现授予计算机专业的学位,教人们写软件。 本世纪中叶软件产业从零开始起步,在短短的5 0 年的时间里迅速发展成为 推动人类社会发展的龙头产业,并造就了一批百万、亿万富翁。随着信息产业 的发展,软件对人类社会性越来越重要。 首先要说明的是,软件对于人类而言是一个全新的东西,其发展历史不过 四、五十年,人们对软件的认识经历了一个由浅到深的过程。现在,被普遍接 受的软件定义是:软件( s o f t w a r e ) 是计算机系统中与硬件( h a r d w a r e ) 相互依存的另 一部分,它包括程序0 r o g r a m ) 、相关数据( a l m a ) 及其说明文档( d o c u m e n t ) 。 从全球的观点看,计算机软件经历了3 个发展阶段: - 程序设计阶段:2 0 世纪五六十年代。 一程序系统阶段:2 0 世纪六七十年代。 一软件工程阶段:2 0 世纪7 0 年代后。 在计算机系统发展的初期,硬件通常用来执行一个单一的程序,而这个程 序又是为一个特定的目的而编制的。早期当通用硬件成为平常事情的时候,软 件的通用性却是很有限的。大多数软件是由使用该软件的个人或机构研制的, 软件往往带有强烈的个人色彩。早期的软件开发也没有什么系统的方法可以遵 循,软件设计是在某个人的头脑中完成的一个隐藏的过程。而且,除了源代码 往往没有软件说明书等文档。 从6 0 年代中期到7 0 年代中期是计算机系统发展的第二个时期,在这一时 期软件开始作为一种产品被广泛使用,出现了“软件作坊”专职应别人的需求写 软件。这一软件开发的方法基本上仍然沿用早期的个体化软件开发方式,但软 件的数量急剧膨胀,软件需求日趋复杂,维护的难度越来越大,开发成本令人 吃惊地高,而失败的软件开发项目却屡见不鲜。“软件危机”就这样开始了! “软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变 第一章软件危机与软件能力成熟度 了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看 懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能 优良之外,还应该容易看懂、容易使用、容易修改和扩充。 1 1 2 软件危机及其原因 软件危机指的是在计算机软件的开发和维护过程中所遇到的一系列严重问 题。 1 9 6 8 年北大西洋公约组织的计算机科学家在联邦德国召开的国际学术会议 上第一次提出了“软件危机”( s o f t w a r ec r i s i s ) 这个名词。 概括来说,软件危机包含两方面问题:一、如何开发软件,以满足不断增 长,日趋复杂的需求;二、如何维护数量不断膨胀的软件产品。 具体地说,软件危机主要有以下表现: ( 1 ) 对软件开发成本和进度的估计常常不准确。开发成本超出预算,实际 进度比预定计划一再拖延的现象并不罕见。 ( 2 ) 用户对“己完成”系统不满意的现象经常发生。 ( 3 ) 软件产品的质量往往靠不住。b u g 一大堆,p a t c h 一个接一个。 ( 4 ) 软件的可维护程度非常之低。 ( 5 ) 软件通常没有适当的文档资料。 ( 6 ) 软件的成本不断提高。 ( 7 ) 软件开发生产率的提高赶不上硬件的发展和人们需求的增长。 软件危机的原因,一方面是与软件本身的特点有关:另一方面是由软件开 发和维护的方法不正确有关。 软件同传统的工业产品相比,有其独特的特性: 1 ) 软件是一种逻辑实体,具有抽象性。这个特点使它与其它工程对象有着 明显的差异。人们可以把它记录在纸上、内存、和磁盘、光盘上,但却无法看 到软件本身的形态,必须通过观察、分析、思考、判断,才能了解它的功能、 性能等特性。 2 ) 软件没有明显的制造过程。一旦研制开发成功,就可以大量拷贝同一内 容的副本。所以对软件的质量控制,必须着重在软件开发方面下工夫。 3 ) 软件在使用过程中,没有磨损、老化的问题。软件在生存周期后期不会 因为磨损而老化,但会为了适应硬件、环境以及需求的变化而进行修改,而这 第一章软件危机与软件能力成熟度 些修改有不可避免的引入错误,导致软件失效率升高,从而似的软件退化。当 修改的成本变得难以接受时,软件就被抛弃。 4 ) 软件对硬件和环境有着不同程度的依赖性。这导致了软件移植的问题。 5 ) 软件的开发至今尚未完全摆脱手工作坊式的开发方式,生产效率低。 6 ) 软件是复杂的,而且以后会更加复杂。软件是人类有史以来生产的复杂 度最高的工业产品。软件涉及人类社会的各行各业、方方面面,软件开发常常 涉及其它领域的专门知识,这对软件工程师提出了很高的要求。 7 ) 软件的成本相当昂贵。软件开发需要投入大量、高强度的脑力劳动,成 本非常高,风险也大。现在软件的开销己大大超过了硬件的开销。 8 ) 软件工作牵涉到很多社会因素。许多软件的开发和运行涉及机构、体制 和管理方式等问题,还会设计到人们的观念和心理。这些人的因素,常常成为 软件开发的困难所在,直接影响到项目的成败。 软件开发和维护的不正确方法主要表现为忽视软件开发前期的需求分析; 开发过程没有统一的、规范的方法论的指导,文档资料不齐全,忽视人与人的 交流;忽视测试阶段的工作,提交用户的软件质量差:轻视软件的维护。这些 大多数都是软件开发过程管理上的原因。 1 1 3 软件工程 由于软件危机的产生,许多计算机和软件学者尝试,把其他工程领域中行 之有效的工程学运用到软件开发工作中来。1 9 6 8 年秋季,n a t o ( 北约) 的科技 委员会召集了近j o 名一流的编程人员、计算机科学家和工业界巨头,讨论和制 定摆脱“软件危机”的对策。在那次会议上第一次提出了软件工程( s o f t w a r e e n g i n e e r i n g ) 这个概念。到今年( 1 9 9 8 ) ,软件工程整整走过了3 0 年的历程。 经过不断实践和总结,最后得出一个结论:按工程化的原则和方法组织软件开 发工作是最有效的,也是摆脱软件危机的一个主要出路。 软件工程“3 :软件工程是- - ;7 研究如何用系统化、规范化、数量化等工程 原则和方法去进行软件的开发和维护的学科。 软件工程包括两方面内容:软件开发技术和软件项目管理。软件开发技术 包括软件开发方法学、软件工具和软件工程环境。软件项目管理包括软件度量、 项目估算、进度控制、人员组织、配置管理、项目计划等。本文所讨论的软件 能力成熟度正是软件项目管理这一领域所涉及的。 第一章软件惹饥与软件能力成熟度 1 2 基于模型的过程改进 1 2 1 软件能力成熟度模型c m m 尽管人们在软件工程原理的指导下,对软件项目进行了工程化的管理,取 得了一定的成效,但令人遗憾的是软件工程的实践令人非常不满意。大量的软 件项目不能按照人们的计划实施和完或,持续了二三十年的软件危机变的更加 突出。 软件作为一种强有力的工具得到了广泛使用,而且软件技术也取得了突飞 猛进的发展。尽管如此,软件涉及问题的负责程度增长更快。现在仍然困扰着 绝大多数软件机构的问题是:无法开发符合预算和进度要求的高可靠性和可用 性软件。软件开发速度和软件维护能力远远赶不上人们对软件要求的增长。 1 9 8 6 年美国国防部开始组织软件工程的管理方法进行研究,并资助美国卡 耐基梅隆大学成立了软件工程研究所( s o f t w a r ee n g i n e e r i n gi n s t i t u t e ,s e i ) 。 该研究所的任务是,领导改进软件工程实践的当前状况,以提高以软件为主的 系统的质量。 经过软件专家们多年的共同努力,s e i 已于1 9 9 1 年,提出的软件能力成熟 度模型( c a p a b i l i t ym a t u r i t ym o d e l f o rs o f t w a r e ,c m m ) ”3 。该模型描述了 严格定义的以及能有效测量的软件过程单元的框,其目的是在成本和进度要求 条件下能提交高质量的软件。c m m 为软件机构描述了从混乱的、不成熟的软件 过程向成熟的、有纪律的软件过程改进的一条途径。 c m m 框架用5 个不断进化的层次来评定软件生产的历史与现状:其中初始 层是混沌的过程,可重复层是经过训练的软件过程,定义层是标准一致的软件 过程,管理层是可预测的软件过程,优化层是能持续改善的软件过程。任何单 位所实施的软件过程,都可能在某一方面比较成熟,在另一方面不够成熟,但 总体上必然属于这5 个层次中的某一个层次。而在某个层次内部,也有成熟程 度的区别。在c m m 框架的不同层次中,需要解决带有不同层次特征的软件过程 问题。因此,一个软件开发单位首先需要了解自己f 处于哪一个层次,然后才 能够对症下药地针对该层次的特殊要求解决相关问题,这样才能收到事半功倍 的软件过程改善效果。任何软件开发单位在致力于软件过程改善时,只能由所 第一章 软件危机与软件能力成熟度 处的层次向紧邻的上一层次进化。而且在由某成熟层次向上一更成熟层次进 化时,在原有层次中的那些已经具备的能力还必须得到保持与发扬。 每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方 面,它们的实施对达到该成熟度等级的目标起到保证作用。这些过程域就称为 该成熟度等级关键过程域( k p a ) ,c m m 定义了1 8 个关键过程域( 表l 一1 ) 。1 。 表1 - - 1c m m 各能力等级的k p a 能力等级峙点| 关键过程域 软件过程是混乱无序的,对过程几乎 第一级初始级没有定义,成功依靠的是个人的才能 和经验,管理方式属于反应式 建立了基本的项目管理来跟踪进度需求管理,项目计划,项 费用和功能特征,制定了必要的项目目跟踪和监控,软件子合 第二级可重复级 管理,能够利用以前类似的项目应用同管理,软件配置管理, 取得成功袄件质量保障 三经将软件管理和过程文档化,标准组织过程定义,组织过程 比,同时综合成该组织的标准软件过焦点,培训大纲,软机集 第三级已定义级 陧,所有的软件开发都使用该标准软成管理,软件产品工程, 牛过程组织协调,专家审评 第四级定量管理 收集软件过程和产品质量的详细度 定量的软件过程管理和 量,对软件过程和产品质量有定量的 级产品质量管理 理解和控制 第五级优化级髅瑟望差鸶票嚣曩觚榔髅粟雯嚣赠理 全球许多不同的组织以c m m 为协助企业作全面的过程改进活动,除了肯定 其软件成熟度外,更象征具有跨足国际市场的能力。现在通过c m m 5 级认证的组 织达到了1 0 7 家,我国就有3 家,分别是摩托罗拉中国研究院、东软和大连海 辉。 1 2 2 软件能力成熟度模型集成c m m i c m m 模型自2 0 世纪8 0 年代末推出,并在2 0 世纪9 0 年代广泛应用于软件 过程的改进以来,极大地促进了软件生产率的提高和软件质量的提高,为软件 产业的发展和壮大做出了巨大的贡献。 自从推出c 删后,软件产业又发生了许多变化,生产环境更加负责,工程 量更大,更多的需要跨越公司和学科界限。然而,c 删模型主要用于软件过程 的改进,促进软件企业软件能力成熟度的提高,但它对于系统工程、集成化产 第一章软件危机与软件能力成熟度 品和过程开发、供应商管理等领域的过程改进都存在缺陷,人们不得不分别开 发软件以外其他学科的类似模型,导致了各种模型的衍生。每种模型都讨论了 某一特定领域中的过程改进问题,这就造成了涉及到交叉学科过程中实践人员 的混淆。而且过多的模型也使培训工作加长。 由业界、美国政府和卡内基梅隆大学软件工程研究所率先倡导的能力成 熟度模型集成( c 删i ) 项目致力于帮助企业缓解这种困境。c m m i 为改进一个组 织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模 型的不一致性,减少了模型间的重复,增加透明度和理解,建立了一个自动的、 可扩展的框架。因而能够重总体上改进组织的质量和效率。c m m i 主要关注点就 是成本效益、明确重点、过程集中和灵活性四个方面。 与原有的能力成熟度模型类似,c i 也包括了在不同领域建立有效过程的 必要元素,反映了业界普遍认可的”最佳”实践;专业领域覆盖软件工程、系统 工程、集成产品开发和系统采购。在此前提下,c m m i 为企业的过程构建和改进 提供了指导和框架作用;同时为企业评审自己的过程提供了可参照的行业基准。 过程改进的集成主要影响了4 个方面:成本、重点、过程集成和灵活性“3 。 首先,成本降低是最显著的收益。由于集成了多个模型,组织可以减少包括培 训和评估等活动的费用; 其次,重点明确。集成使得模型包括了组织中所涉及的所有关键学科,各 个学科的成员都能在集成化的模型中找到自己的重点。 第三,过程集成和精简组织,减少和消除不必要的生产活动; 第四,灵活性和学科的扩展,当业务环境发生变化时,集成的模型可以添 加和重新解释些过程域,从而达到增加学科的目的,这比增加一个单一的模 型要简单许多。 1 3 本章主要工作总结 在本章,我们从软件的特性出发,分析了软件生产的不稳定性和混乱性, 由此探讨了软件工程对软件生产的重要作用。而随着软件产业的发展,又产生 了c c m m i 等基于模型的过程改进方法。 c m m 模型基于众多软件专家的实践经验,是组织进行软件过程改善和软件 过程评估的一个有效的指导框架。c m m i 项目更为工业界和政府部门提供了一个 第一章 软件危机与软件能力成熟度 集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模 型改善的成本。c m m i 将以更加系统和一致的框架来指导组织改善软件过程,提 高产品和服务的开发、获取和维护能力。c m m 或c 删i 不仅是一个模型,一个工 具,它更代表了一种管理哲学在软件工业中的应用。 c m m c i 的思想来源于已有多年历史的产品质量管理和全面质量管理。 w a t t sh u m p h r e y 和r o nr a d i c e 在i b m 公司将全面质量管理的思想应用于软件 工程过程,收到了很大的成效。s e i 的软件能力成熟度框架就是在以h u m p h r e y 为主的软件专家实践经验的基础上发展而来的。软件能力成熟度模型中融合了 全面质量管理的思想,以不断进化的层次反映了软件过程定量控制中项目管理 和项目工程的基本原则。c m m c i 所依据的想法是只要不断地对企业的软件工 程过程的基础结构和实践进行管理和改进,就可以克服软件生产中的困难,增 强开发制造能力,从而能按时地、不超预算地制造出高质量的软件。 从本章的分析,我们可以看出,与只适用于软件领域的c 删模型相比,c m m i 模型更适用于软件开发、电子制造业、高端服务业、咨询业等知识工程企业。 2 0 0 3 年s e i 组织停止了c m m 体系的维护和提升工作,并在2 0 0 5 年停止认证工 作,全面转向升级版c m m i 的认证。中国的软件企业为了提高自身的作业能力, 也为了获得参与全球竞争的入场券,纷纷开始用c m m i 来指导组织的过程改进。 下一章我们将详细介绍和分析c i 模型的具体内容。 第二章c m _ ;t i 的体系结构 第二章c m m i 模型 2 1o m m l 的构成 2 1 1c m m l 的源模型 c m m i 是以三个基本成熟度模型为基础综合而来的,这三个源模型分别是“1 : 软件工程( s w c m m ) :这个模型描述了基本的软件过程成熟度的原理 和实践,用于帮助软件组织向成熟的,有纪律的软件过程方向发展。 系统工程( s e c m m ) ;系统工程集成所有系统相关的学科,i n c o s e ( 国 际系统工程委员会) 定义系统工程为“能实现成功系统的跨学科的方法和手段 【1 2 集成产品开发( i p d c ) ;集成产品开发指在整个产品生命周期中, 通过相关的利益关系方的及时协作来更好的满足顾客的需求 1 。 由于在实际过程中,很少有企业的系统的所有部分都是由自己开发完成, 其中有一部分必须外购或协同开发,如果管理这些过程成为产品成功的关键, 因此也引入了外购成熟度模型( s s c 删) 作为c m m i 的主要模型源。 2 1 2c m m l 的模型系列 c r i i 的模型系列包括c m m i - s w ( 软件能力模型集成) ,该模型中对于软件开 发过程中需求的建立、项目计划的制定和实旖,以及对软件的测试等过程都有 详细的描述。c m m i - - s e s w 是系统工程和软件工程能力模型集成。c m m i s e s w i p p d 是系统工程、软件工程、集成化产品和过程开发能力模型集成,该 模型中对于在项目开发中需要使用交叉学科群组,需要解决对项目群组的使用、 计划和组织,需要解决学科或组之间的沟通以及与集成化产品和过程开发相关 的一些问题提供了解决方案模型。c m m i s e s w i p p d s s 是系统工程、软件工 程、集成化产品和过程开发、供应商管理能力模型组成,对于供应商的选择和 监督、集成化供应商管理以及供应商定量管理等方面给出了详尽描述。 在c m m i 模型组件中,s e s w 是核心,s e s w i p p d 、s e s w i p p d s s 是在 此基础上扩展而来的。对于这几个模型,不同的企业可以根据实际需要来选择 不同的模块。例如,纯软件企业可以选择c m i - - s w :设备制造企业可以选择c m m i s e s w i p p d s s :集成的企业可以选择c i s e s w i p p d 。因此,c m m i 可适合 于不同的应用领域,但是实施中会有显著的差别。 第二章c 埘i 的体系结构 2 2c m m i 模型构件 每一种c z m i 模型是一个多达数百页的文档,文档中包含了不同类型的资 料,也就是模型构件。c m m i 的模型构件主要有三类:需要的( r e q u i r e d ) ,期 望的( e x p e c t e d ) ,以及提供信息的构件( i n f o r m a t i v e ) 。 2 2 i 目标( g o a i ) 需要的( r e q u i r e d ) 构件只有一种,那就是“目标”。目标表示某个过程 域想要达到的最终状态,其实现则表示项目和过程控制已经达到了某种规定程 度。针对单一过程域的目标,c m m i 标准中为评估模型定义了“通用目标”( g e n e r i c g o a l ,g g ) 和“特殊目标”( s p e c i f i cg o a l ,s g ) ,把它们作为衡量实际软件过 程能力的重要尺度:在涉及软件过程能力的情况下,每个通用目标和特定目标 都具有特定的含义,不能把其他背景中的目标一词与它们混淆。 2 2 2 实践( p r a c t i c e ) 期望的( r e q u i r e d ) 构件也只有一种,就是“实践”。实践代表了达到目 标所“期望的”手段。c m m i 模型中每个实践都恰好映射到一个目标。当然,只 要能够实现模型中规定的目标,组织可以采用其他一些经过认证的手段作为 “替代的”实践,而不一定非要采用模型中规定的实践。因此,实践只是模型 中期望的构件,而不是需要的构件。同样,针对单一过程域的实践,称之为特 殊实践( s p e c i f i cp r a c t i c e ,s p ) ;用于所有过程域的实践则称为通用实践 ( g e n e r i cp r a c t i c e ,g p ) 。 2 2 3 提供信息的构件( i n f o r m a t i v e ) 提供信息的构件有1 0 种,分别是目的、介绍性说明、引用、名字、实践与 目标关系表、注释、典型工作产品、子实践、学科扩充以及共性实践的详尽描 述。这些构件为需要构件和期望构件提供了有益的补充。 2 2 4 过程域( p r o c e s sa r e a ) “过程域”用于描述c 埘i 标准定义的软件过程能力评估模型中的一种部件。 在该模型中,“过程域”是最大的的构造块,每个“过程域”由一组目标构成, 每个目标得到一组实践支持。模型中描述的过程是参考模板,用“过程域”来 表示。不能与实际过程混淆。“过程域”不是实际的过程,它是模型中的模板。 c m m i 共有分属于4 个类别的2 5 个过程域,覆盖了4 个不同的领域( 相对 第二章c n n i 的体系结构 应,s w c m m 共有1 8 个过程域) 。虽然c i 中的很多过程域与s w c m m 中的关 键过程域基本相同,但有几个过程域的范围和内容发生了重要的变化,另外也 有几个新增加的过程域。两个模型的过程域关系比较见表2 2 。 表2 2 c m m i 和c m m 过程域关系 c 删c 删i 等级类别 关键过程域缩写过程域缩写 技术更新管理 t o io i d 组织革新与部署 过程管理 5 过程更改管理 p c mc a r 缺陷预防 d p 原因分析与决羡支持 软件质量管理 s o m 组织过程性能 o p p 过程管理 4 定量过程管理q p m定量项目管理q p m项目管理 需求制定 r d 工程 技术方集 t s工程 软件产品工程 s p e 产品集成p it 程 同行评审 p r 验证v e r工程 确认 v a l 工程 组织过程聚焦o p f组织过程聚焦o p f过程管理 组织过程定义 ( ) p d 组织过程定义o p d过程管理 3 培训大纲 t p 组织培训o t过程管理 集成软件管理 i s m 集成项目管理 i p m 项目管理 组间协调 风险管理 r s k m 项目管理 决策分析与决定 d a r 支持 集成供应商管理 s m 项目管理 组织集成环境o e l支持 i c集成组队 i t 项目管理 需求管理 r m 需求管理 r m 软件项目策划 s p p 项目策划 p p 项目管理 软件项目监督与控制 s p t o项目监督与控制p m c 项目管理 2 软件分包管理 s a m 供应协议管理 s a m 项目管理 软件质量保证 s o a 过程与产品质量保证 p o a 支持 软件配置管理 s c m 配置管理 c m 支持 度量与分析m a支持 第二章c t m i 的体系结构 2 3c m m l 的表示方式 在c m m i 中,每种学科模型都有两种表示方式:阶段式和连续式。这是因为 在c m m i 的三个源模型中,c 州是“阶段式”模型,系统工程能力模型是“连续 式”模型,而集成产品开发( i p d ) c m m 是一个混合模型,组合了阶段式和连续 式两者的特点。两种表示法在以前的使用中各有优势,都有很多支持者,因此, c m m i 产品开发群组在集成这三种模型时,为了避免由于淘汰其中任何一种表示 法而失去对c 删1 支持的风险,并没有选择单一的结构表示法,而是为每一个 c 删i 都推出了两种不同表示法的版本。 不同表示方式的的模型具有不同的结构,强调的重点也不一样。阶段式注 重组织的成熟度,连续式强调的是单个过程域的能力。 尽管两种表示法的模型在结构上有所不同,但c m m i 产品开发群组仍然尽最 大努力确保了两者在逻辑上的一致性,二者的需要构件和期望部件基本上都是 一样的。过程域、目标在两种表法中都一样,特定实践和共性实践在两种表示 法中也不存在根本区别。因此,模型的两种表示法并不存在本质上的不同。组 织在进行集成化过程改进时,可以从实用角度出发选择某一种偏爱的表示法, 而不必从哲学角度考虑两种表法之间的差异。 2 3 1 阶段式 软件c m m 就是一种阶段式模型,该模型经过多年的实践已经证明是有效的, 它提供了一个建议过程改进序列。 c m m i 的阶段式n ,表现方法仍把c m m i 中的若干个过程区域分成了5 个成熟度 级别,2 5 个过程域被分配到各个层次,每个过程域也都有对应的目标和实践, 如图2 1 。分阶式中,又对通用实践分成4 类具有特性的活动:执行承诺、执 行能力、指导实施、验证实施。 c m m i 中成熟度等级的概念与s w c m m 模型相同,只是某些等级的名称有些 变化。1 级、3 级和5 级的名称没有变化,名称还是初始级、已定义和优化级, 但是2 级和4 级分别变为己管理级和定量管理级,这个变化更突出了2 级定性 管理和4 级定量管理的特点: 1 m l l ( 初始级) :代表了以不可预测结果为特征的过程成熟度。过程包 括了一些特别的方法、符号、工作和反应管理,成功主要取决于团队的技能。 第二章c m m i 的体系结构 2 m l 2 ( 已管理级) :代表了以可重复项目执行为特征的过程成熟度。组 织使用基本纪律进行需求管理、项目计划、项目监督和控制、供应商协议管理、 产品和过程质量保证、配置管理、以及度量和分析。对于级别2 而言,主要的 过程焦点在于项目级的活动和实践。 3 级别3 ( 已定义级) :代表了以组织内改进项目执行为特征的过程成熟 度。 4 级别4 ( 定量管理级) :代表了以改进组织性能为特征的过程成熟度。 3 级项目的历史结果可用来交替使用,在业务表现的竞争尺度( 成本、质量、 时间) 方面的结果是可预测的。 5 。级别5 ( 优化级) :代表了以可快速进行重新配置的组织性能,和定量 的、持续的过程改进为特征的过程成熟度。 从分阶法的特点我们可以分析出这种表示法所特有的优势: 首先,对于关注改善过程成熟度的组织来说,阶段式模型提供了一种明确 的、行之有效的跨越式发展途径。每个成熟度等级中,都致力解决某一方面的 问题,如图2 2 所示。通过这种方式,组织可以找到一条最佳的过程改进次序。 其次,由于进行阶段式改进,可以为组织定义一个成熟度等级,这样,在 不同组织间进行对比时,只要比较组织所达到的不同等级,就可以大概了解组 织在各方面所存在的差别。 第二章c 删i 的体系结构 但是,与所有事物一样,阶段式表示法也存在自身的缺陷。一是缺乏灵活 性,例如组织要达到某一等级,必须完成该等级所有过程域要求的工作。另外, 阶段式有许多过程改进需要同时进行,工作量大,成本较高。 2 3 2 连续式 连续式表现方法“1 则通过将c 删i 中过程区域分为四大类:过程管理、项目 管理、工程以及支持。对于每个大类中的过程区域,又根据每种活动的能力表 现,可以分成c l o - - c l 5 六个能力表达层次,分别表示为:不完备( i n c o m p l e t e ) 、 己执行( p e r f o r m e d ) 、已管理( m a n a g e d ) 、已定义( d e f i n e d ) 、量化管理 ( q u a n t i t a t i v e l ym a n a g e d ) 和优化( o p t i m i z i n g ) 六个级别。同样,连续式表 示法的每个过程域也有相对应的目标和实践,如图2 3 。 这样,在按照连续式表示方法实施c m m i 的时候,一个组织可以把项目管理 或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑, 不会受限于分阶模型的过程限制。 连续式表示法并不常用,选用c m m i 模型进行过程改进的组织也大部分采用 阶段式表示法,所以在下一章中也主要针对阶段式进行讨论和分析。但是它也 有自己的优势: 首先,与阶段式不同,连续式有比较大的自由度,可以根据组织的业务目 第一,章c 删i 的体系结构 的来选择过程改进活动的次序,而不会受限于阶段式单一的改进路径。其次, 连续式模型的评估结果具有更好的可见性,每个过程域都可以有能力等级,从 而对强项和弱项的认识更加清晰。这比单一的阶段式的成熟度等级图能提供对 过程的更仔细的观察。 连续式表示法也有缺点。与阶段式相反,由于没有确定的改进路线,组织 的过程改进需要有专家的指导才能确定需要改进的过程和先后次序。另外,由 于没有像阶段式的成熟度等级,与其他组织进行能力比较时有一定的难度。 2 3 3 两种表示方法的选择 在我看来,c m m i 两种表达模式虽然不同,但在实质内容上是一致的。组织 可以根据需要和实际情况选择不同的表达模式。例如,组织如果没有进行过程 改进或流程重组,由于没有经验,适合采用阶段式表示法,这样可以有明确的 改进次序。如果组织曾经推行过过程改进方面的活动,可以采用连续性模型, 选择薄弱的过程作为改进的重点。 但是,虽然两种方法有所不同,但不代表采用了阶段式就不能采用连续式, 而用了连续式就不能采用阶段式。当按照阶段式推进过程改进的时候,就可以 跨越成熟度级别进行更高等级的过程域改进。 2 4c m m i 与c m m 的比较 虽然,在某种意义上说c m m 是o a m i 的前身,但两者在很多方面有不同之处, 下面我们就简单的对两者进行一次比较。 首先,在c m m i 模型中在保留了c m m 阶段式模式的基础上,出现了连续式 第二章c 、5 t ij j 体系结构 模型,这样可以帮助一个组织以及这个组织的客户更加客观和全面的了解它的 过程成熟度。同时,连续模型的采用可以给一个组织在进行过程改进的时候带 来更大的自主性,不用再象c m m 中一样,受到等级的严格限制。这种改进的 好处是灵活性和客观性强,弱点在于由于缺乏指导,一个组织可能缺乏对关键 过程域之间依赖关系的正确理解而片面的实施过程,造成一些过程成为空中楼 阁,缺少其他过程的支撑。两种表现方式( 连续的和阶段的) 从他们所涵盖的 过程区域上来说并没有不同,不同的是过程区域的组织方式以及对成熟度( 能 力) 级别的判断方式。 其次,c m m i 模型中比c m l 进一步强化了对需求的重视。在c m m 中,关于 需求只有需求管理这一个关键过程域,也就是说,强调对有质量的需求进行管 理,而如何获取需求则没有提出明确的要求。在c e i i 的阶段模型中,3 级有一 个独立的关键过程域叫做需求开发,提出了对如何获取优秀的需求的要求和方 法。c m m i 模型对工程活动进行了一定的强化。在c m m 中,只有3 级中的软件产 品工程和同行评审两个关键过程域是与工程过程密切相关的,而在c m m i 中,则 将需求开发,验证,确认,技术解决方案,产品集成这些工程过程活动都作为 单独的关键过程域进行了要求,从而在实践上提出了对工程的更高要求和更具 体的指导。c m m i 中还强调了风险管理。不像在c 删中把风险的管理分散在项目 计划和项目跟踪与监控中进行要求,c 、n 1 3 级罩单独提出了一个独立的关键过 程域叫做风险管理。 第三,c m m i 模型对工程活动进行了一定的强化。在s w c m m 中,只有3 级 中的软件产品工程和同行评审两个k p a 是与工程过程密切相关的,而在c i 中, 则是将需求开发,验证,确认,技术解决方案,产品集成作为单独的p a 进行了 要求,从而在实践上提出了对工程的更高要求和更具体的指导。 第四,c m m i 中还强调了风险管理。不象在s w c m m 中把风险的管理分散在 项目计划和项目跟踪与监控中进行要求,c 1 3 级旱包含了一个独立的p a 叫做 风险管理。 最后,因为s w c 删中对度量与分析的要求比较笼统和空泛,c m m i 中将度 量和分析作为一个独立的2 级p a 进行要求,从而强调了量化管理这个方面。这 与当前流行的6 西格马不谋而合。这一点将在第四章进行具体分析。 另外,c m m 的基于活动的度量方法和瀑布过程的有次序的、基于活动的管 第二章c g f i 的体系结构 理规范有非常密切的联系( 即:先是需求活动,然后是设计活动,编码活动, 单位测试活动,集成活动,以及系统接收测试) 。而c m m i 相对c m m 更一步支持 迭代开发过程和经济动机推动组织采用基于结果的方法:开发业务案例、构想 和原型方案;细化后纳入基线结构、可用发布,最后定为现场版本的发布。虽 然c 删i 保留了基于活动的方法,它的确集成了软件产业内很多现代的最好的实 践,因此它很大程度上
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江省中交华东物资有限公司招聘4人笔试参考题库附带答案详解
- 2025江苏苏州市张家港市美利肯纺织(张家港)有限公司招聘10人笔试参考题库附带答案详解
- 2025广西玉柴铸造有限公司实习生招聘100人笔试参考题库附带答案详解
- 2025年甘肃西北永新集团招聘11人笔试参考题库附带答案详解
- 2025年河南省储备粮管理集团有限公司招聘12人笔试参考题库附带答案详解
- 2025年四川绵阳机场(集团)有限公司春季招聘18人笔试参考题库附带答案详解
- 2025年中核嘉华公司春季招聘66人笔试参考题库附带答案详解
- 2025国网中兴有限公司高校毕业生招聘(第二批)笔试参考题库附带答案详解
- 2025四川日报报业集团春季招聘22人笔试参考题库附带答案详解
- 2025中核集团所属中核二二社会招聘4人笔试参考题库附带答案详解
- 残运会应急预案管理办法
- 福建土楼文化课件下载
- 医院廉洁行医培训
- 2025年山西省中考物理试卷真题(含答案解析)
- 口腔医疗质量与安全管理体系
- 安全生产知识竞赛题库(1800道)
- 律所清算破产管理制度
- T/SFABA 2-2016食品安全团体标准食品配料焙烤食品预拌粉
- 2025贵州省专业技术人员继续教育公需科目考试题库(2025公需课课程)
- 华为光芯片机考题库
- 家装托管服务合同协议
评论
0/150
提交评论