CMM与软件工程化浅析

来源 :硅谷 | 被引量 : 0次 | 上传用户:jibbsb12
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]介绍CMM的概念、关键技术和在企业中实施的要点以及在软件工程化发展中的作用,以及以CMM带动后的软件工程化发展方向。目的是让软件开发人员认识CMM过程环节和实施CMM的必要性以及CMM的不足和软件工程化的发展方向。
  [关键词]CMM 关键过程域 目标 关键实践 软件工程
  中图分类号:TP3文献标识码:A文章编号:1671-7597 (2008) 0220016-02
  
  20世纪80年代中期在通过软件工程克服软件危机过程中人们已经认识到,软件过程是否完善是软件风险大小的决定因素。这方面重大突破的标志是1987年美国卡内基-梅隆大学的软件工程研究所(SEI)的研究组发表的研究成果“承包商软件工程能力的评估方法”,该成果在1991年发展为软件过程能力成熟度模型(Capability Maturity Model For Software,CMM)。其核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现相应的目标。
  
  一、CMM给我们带来什么
  
  (一)软件市场的通行证
  高品质的管理决定了高品质的产品,从而也确立了市场的垄断地位。通过了CMM相关等级认证,在软件市场竞争中就处于较大的优势。企业获得CMM认证,同样在同类企业中具有较大的竞争力,反之如果拿不到CMM认证就会减少甚至丢失市场。CMM认证作为“市场通行证”的能力显然不言而喻。
  
  (二)规范的软件开发过程
  更重要的还是在于控制企业的软件规范管理过程和提高产品质量,打造企业软件开发文化。在CMM认证的过程中,实施软件过程严格按照CMM的标准,让整个软件开发过程受控,让软件过程的目标和实现软件产品的活动受控,从而形成高质量的软件产品和企业独特的软件开发文化。同时软件企业通过实施CMM,可以更好地规范软件生产和管理流程,使企业组织规范化,为企业更好更快地发展和进一步扩大规模打下坚实的基础。
  
  二、CMM的关键技术
  
  (一)CMM技术框架
  软件能力成熟度模型将组织的软件能力成熟度分为五个等级,等级1称为初始级,等级2称为可重复级,等级3称为已定义级,等级4称为定量管理级,等级5称为优化级。CMM框架用5个不断进化的层次来评定软件生产的历史与现状:其中初始层是混沌的过程,可重复层是经过训练的软件过程,定义层是标准一致的软件过程,定量管理层是可预测的软件过程,优化层是能持续改善的软件过程,在某个层次内部,也有成熟程度的区别。CMM分为三个层次,即成熟度等级、关键过程域和关键实践。每个成熟度等级由若干关键过程域组成,这几个关键过程域共同形成一种软件过程能力。每个关键过程域都有特定的目标,并且均包含五类关键实践,即:执行承诺类、执行能力类、执行活动类、测量分析类和验证实施类。每类关键实践规定相应组织机构或有关责任者应实施的一些关键实践,通过这五类关键实践来实现关键过程域的目标。
  
  (二)CMM的“关键过程域”
  CMM的关键过程域(Key Process Area,KPA)是软件人员在实施CMM过程中首先需要关注的重点,关键过程域是一组相关的活动,当这些活动共同完成时,对建立过程能力至关重要的一组目标就能实现。需要着重了解关键过程域和软件工程中软件生命周期划分的生命周期阶段是两个不同的概念,每个关键过程域都是贯穿整个软件生命周期的一组相关活动,而软件生命周期阶段的每个阶段如概要设计只是生命周期内的一个时间段,是和软件的生命周期模型密切联系的。对关键过程域的理解是理解CMM及其内涵的关键起步。
  
  (三)CMM的“目标”
  CMM模型定义了52个需要实现的“目标”。目标是对关键过程域关键实践的一种概况,可用于去定组织或项目是否已经有效地实施该关键过程域。目标表示每个关键过程域的范围、边界和意图。同时目标也隐含了软件工程活动中需要产生的软件产品,所有的目标都实现了,代表软件工程的过程已经完全规范化。
  
  (四)CMM的“关键实践”
  CMM模型定义了300多个“关键实践”。关键实践是对关键过程域的有效实施和制度化贡献最大的基础实施和活动。活动代表了在软件工程实现中需要干的事情,或者说完成了某个活动就意味在软件过程化实施过程中某一个环节已经受到控制。
  
  三、CMM在企业实施过程中的要点
  
  (一)实施CMM的必要性
  软件开发和管理的风险之所以大,是由于软件过程能力低,其中关键的问题在于软件开发团队不能很好地管理其软件过程,从而使一些好的开发方法和技术起不到预期的作用。而项目的成功也是通过团队的杰出努力,仅建立在特定技术人员上的成功不能为全组织的生产和质量的长期提高打下基础,必须在建立有效软件管理等方面,坚持不懈地努力,才能不断改进和持续成功,实施CMM是改进软件过程和质量的一种有效方法。
  
  (二)实施CMM的关键点
  各企业在实施CMM过程中,应该根据本企业自身的发展情况和软件水平选取CMM的相关等级,制定相应的实施过程文件和计划,成立专门的组织机构和选择合适的认证机构。各个企业在实施CMM过程中应按照CMM的标准制定相应的软件工程管理文件及发布和实施。而软件开发人员在实施CMM的过程中,应该严格执行本企业制定过程文件中规定的过程和规程,要持之以恒,形成习惯。软件开发团队按照标准实施软件过程就可以水到渠成的通过CMM的标准检查。而开发人员应该在实施CMM过程的各个环节中把握哪些对软件质量的控制有重要意义,哪些是为控制软件质量的而做的证据,从而深入理解CMM要求的本质,提高自身的软件过程能力和软件组织能力,对软件工程化才能有真正的了解。
  
  (三)实施CMM的一些认识
  (1)关于额外工作量。软件相关人员包括软件负责人在实施CMM的初期会因履行各种各样的手续和编制各种各样的文档感到不习惯或繁琐,感觉在浪费时间。但是这些控制文档(软件工程规范开发过程证据)是CMM评价机构查证和评价的关键,在CMM认证和质量认证过程中是必不可少的,但对提高软件质量不一定是必需的。
  (2)实施CMM是使用先进的管理工具是有联系又是两个不同的概念。CMM过程关注的是软件工程过程的规范性,在高等级中同时关注软件开发的技术。先进和有效的工具本身和过程控制没有必然的关系,但是能提高过程控制的效率和节省时间。例如不用DOORS(Telelogic公司的需求管理工具)照样进行需求分析,但是使用它更管理方便、跟踪快捷和操作规范。
  (3)实施CMM不会影响进度。企业软件产品在以往的开发中有进度推迟的现象,很大一部分原因是由于软件策划力度和风险控制不够导致软件开发不受控。实施CMM虽然在认证过程中需要保留证据而增加了一些软件工程中间产品,但是软件策划、监督和质量保证有效的使人工不断监督和干预软件开发的过程,使得进度完全受控。
  (4)提高软件质量、降低软件维护的工作量和提供软件复用的程度都是CMM旨在解决的目的,软件开发和组织人员要善于从其过程中揣摩和总结其带来的优点和自身的不足。
  
  四、CMM的不足和实施思考
  
  CMM参考模型本身同时也是一个理想化的模型,对软件过程控制和软件开发人员也提出了各种各样的要求,也暴露了CMM本身的缺陷,主要表现在以下方面:
  CMM是一个相当复杂的标准,为如何改进软件开发过程提供了很好的指导,它规定了应该做哪些事,没有规定应该如何去做。这种方法给实施企业留下了很大的空间来开发适合自己的软件过程、规范和标准,但也对实施企业提出了非常高的要求。
  CMM过程时间非常长,在实施CMM的过程中将过程复杂化了,增加了软件开发的难度和复杂性,整个过程操作起来比较困难,尤其是第一次评估时。
  软件开发人员的CMM培训比较困难,即使CMM二级也有近百种实践要求,就是每个开发人培训一个星期,还是很难记住这些操作。
  同时在实施CMM的过程中,也要充分认识不是实施了CMM,软件项目的质量就能有所保障。CMM是一种资质认证,它可以证明一个软件企业对整个软件开发过程的控制能力。按照CMM的思想进行管理与通过CMM认证并不能划等号,认证的过程是纠正企业偏差的过程,应借此来改变我们在软件领域长久以来形成的不规范开发习惯。
  
  五、软件工程化管理发展方向
  
  软件工程化管理的发展,在经历了从70年代开始以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征的结构化生产时代,到90年代中期,以CMM模型的成熟模型和日益为市场接受为标志,已经进入以过程成熟模型CMM为标志的以过程为中心向着软件过程技术的成熟和面向对象技术、构件技术的发展为基础的真正软件工业化生产的道路,这个趋势应该引起企业软件的高度重视,及早采取措施,跟上世界软件发展的脚步,控制软件过程和软件技术,提高软件产品质量和软件核心竞争力。软件生产转向以改善软件过程为中心,是软件产业或迟或早都要走的道路。
  这个过程可能需要在软件开发行业持续很长的时间,需要有更加先进的开发和管理理念尤其是评估手段,也有可能带来软件工程化的重大变革。而软件实现企业也要突破原来的管理方式,在不影响软件质量和客户需求的基础上简化管理过程,形成高效的管理手段并缩短开发周期。同时在控制软件过程和提高软件质量的基础上积极研究和总结软件有形资产,无限提高软件产品的复用度,充分探讨软件构件技术和面向用户需求动态变化的技术,在短期内实现真正的软件工业化生产。
  
  六、结束语
  
  CMM是一种有效的软件工程化管理标准,其过程管理是软件开发人员和实施企业应该重点关注的核心,充分认识CMM的优点和弊端,对CMM过程认证也应有正确的认识,在通过CMM相关等级认证后应充分继承过程控制和质量控制精髓,丢弃繁琐的手续和文档,真正提高自身软件核心竞争力及创造新型的属于自己的软件开发理念和文化。
  
  参考文献:
  [1]何新贵、石柱、王纬等,GJB5000《军用软件能力成熟度模型实施指南》。国防工业出版社,2004.
  [2]GJB5000《军用软件能力成熟度模型》,2003.
  [3]李素民、周玉芳、方建勇等,中船重工第七一六所《软件工程管理文件》,2007.
  作者简介:
  方建勇,男,大学本科,助理工程师,主要研究方向大型软件系统体系结构/分布式支撑软件/软件工程化。
其他文献
[摘要]随着网络的发展,虚拟实验室正逐渐成为远程教育中的一个重要组成部分,而VRML技术以其媒体表现形式丰富、交互性强和带宽要求低的优点,成为开发虚拟实验室的重要技术之一。但是虚拟实验室作为一种的教育形式,不仅包含技术层面,还应当包括对虚拟情境的教学设计环节。从教学设计的视角,对基于VRML的虚拟实验室进行了不同方面的比较、分析,探讨VRML技术在虚拟情境建构中的优势与不足。  [关键词]虚拟实验
期刊
[摘要]农村雷电灾害日益严重的主要原因是:生态环境破坏造成气候异常;农村城镇化和城镇集群化带来负面影响;农村人群雷电自我防护能力低下等。基本对策为:改善生态环境,保持当地气候良性自稳;摒弃“经济优先潜规则”,坚持可持续发展的村镇规划建设思想;农村所有基本建设项目依法列入防雷安全行政许可范围。  [关键词]农村雷电 灾害原因 分析对策  中图分类号:P4文献标识码:A 文章编号:1671-7597(
期刊
[摘 要]针对“湖广填四川”大移民时期四川地区的植被发生的变化,运用GIS技术来恢复反映当时四川地区的森林植被演变情况。  [关键词]湖广填四川 植被变迁 GIS技术  中图分类号:P9 文献标识码:A 文章编号:1671-7597 (2008) 0220002-01  历史上四川植被一直保存良好,保持着完好的生态环境。在接踵而至的历时105年(公元1671年至1776年)的“湖广填四
期刊
[摘要]Java语言作为程序员及所有网络工作者的“宠物”,正以不可阻挡的趋势强势发展。分析Java的前进路程,探讨其生存现状。  [关键词]Java 生存现状 分析  中图分类号:TP3文献标识码:A文章编号:1671-7597(2008)0220021-01  Java自问世以来,以其得天独厚的优势,在IT业界掀起了研究、开发它的浪潮,显示了鹏程万里的美好前景。作为一种与底层硬件无关的、“编写一
期刊
[摘要]C语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效力高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点"这一双重性使它既能做系统描述语言,又是通用的程序设计语言,它是计算机应用人员应掌握的一种程序设计工具。对计算机C语言程序进行了简单探讨研究,希望能够对我们认识、了解和使用C语言程序有所帮助。  [关键词]C语言程序设计 难点分析 重点函数与指针  中图分类号:TP
期刊
[摘要]随着中国3G移动通信网络正式商用期限的来临,各利益相关方纷纷从自身视角出发寻求对市场规则、运营秩序的最大影响。各方利益博弈的激烈交锋,既阻抑了中国3G正常平稳的发展步伐,也从某种层面上推动并见证了中国轰轰烈烈的3G时代的到来。而在这样复杂多变的环境中,中国的3G发展,以至于整个中国电信产业的发展必须有自己清晰而坚定的思路。  [关键词]3G 移动通讯 政策 利益博弈  中图分类号:TP3
期刊
[摘要]根据实际工作经验,分析QS型潜水泵在使用过程中的注意事项,系统分析影响其寿命的各种因素,并对针对常见故障提出排除措施。  [关键词]潜水泵 故障 维修 寿命  中图分类号:TV5 文献标识码:A 文章编号:1671-7597 (2008) 0220036-01  Qs系列潜水泵属于三相充水式结构,分为水泵和电机两大部分。水泵机座上有两排进出水孔,工作时电机内部始终充满流动的水,确保电机在工
期刊
[摘要]运用PDMS优化施工图可在冶建施工中最大化的缩短施工周期、节省施工人力及物力成本。  [关键词]PDMS 管道等级库 管道元件库 数据库 三维技术  中图分类号:TF3 文献标识码:A 文章编号:1671-7597(2008)0220032-01    一、前言    冶建单位的施工模式都是采用二维图纸施工,工程技术人员只能在实际施工阶段才能发现图纸的错误,往往造成施工方及甲方人力物力的大
期刊
[摘要]在经过多年的Photoshop教学实践,总结出了八条使用窍门。可以帮助使用者提高操作水平和速度,达到节约时间,得到美观图片的效果。   [关键词]Photoshop 图层   中图分类号:TP3 文献标识码:B 文章编号:1671-7597(2008)0220013-01  密技一:当你需要快速隐藏工具栏和多个浮动面板时,逐一点击面板上的关闭按钮,接下来使用时又要打开,十分不方便。其实你可
期刊
[摘要]“价格歧视”是当今社会普遍存在而且备受关注的话题,从国家垄断企业到贩卖衣服食品的商贩,都在自觉或者刻意应用经济学中的这一理论来尽量获取最大利润,消费者有必要知道此种现象发生的原因和本质,即对此现象的原因和本质进行论述。  [关键词]价格歧视 消费者剩余  中图分类号:O29 文献标识码:A 文章编号:1671-7597(2008)0520198-01    一、背景资料    某市水价改革
期刊