CMM简介

原创 2002年03月08日 09:19:00

CMM简介

张友生

(本文转载自软件工程专家网www.21cmm.com)

  CMM是软件过程能力成熟度模型(Capacity Maturity Model)的简称,是卡内基-梅隆大学软件工程研究院为了满足美国联邦政府评估软件供应 商能力的要求,于1986年开始研究的模型,并于1991年正式推出了CMM 1.0 版。CMM自问世以来备受关注,在一些发达国家和地区得到了广泛应用,成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进事实上的工业标准。据了解,美国、印度、日本等国家已有数十家公司通过了CMM不同等级的认证。

  1986年11月,SEI应美国联邦政府的要求,在Mitre公司的协助下,于1987年9月开发了一套软件能力成熟度框架和一套软件成熟度问卷,用来评估软件供应商的能力。这就是最早用于探索软件过程成熟度的一个工具。

  四年以后,也就是991年,SEI自己总结了CMM成熟度框架和初版成熟度问卷的实践经验,并以此为基础推出民用CMM1.0版。

  CMM1.0版合用两年之后,1992年4月,SEI举行了CMM一个的研讨会,参加研讨会的有大约200名富有经验的软件专家。SEI在广泛听取他们的意见之后,又于1993年推出 CMM1.1版。这也是目前世界上比较流行和通用的CMM版本。

  十几年来,此项工作一直在不断进行。按照SEI原来的计划,CMM的改进版本2.0应该在1997年11月完成,然后在取得版本2.0得实践反馈意见之后,在1999年完成准CMM2.0版本。但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更为紧迫得项目CMMI。

  CMMI(Capability Maturity Model Integration)即能力成熟度模型集成,这也是美国国防部的一个设想,他们想把现在所有的以及将被发展出来的各种能力成熟度模型,集成到一个框架中去。这个框架有两个功能,第一,软件获取方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进。

  随着人们对CMM研究的不断深入,其他学科也结合本系统的特点,陆续推出了自己的CMM模型。例如,人力资源能力成熟度模型、系统工程能力成熟度模型等等。为了以示区别,国内外很多资料把CMM叫做SW-CMM。

  软件过程成熟度的提高是一个渐进的过程,需要一个长远的、可持续发展的过程作为保证。为建立一个面向过程持续提高的基础和文化,有些软件企业可能要花费很大的精力和时间。但是这种努力对任何一个软件企业来说都是非常必要的。

  CMM目前代表着软件发展的一种思路,一种提高软件过程能力的途径。尽管它存在着某些不足。例如,成熟级别、关键过程域、公共属性和关键实践还需要在软件行业进一步深入地讨论和修订,但它确实为软件行业的发展提供了一个良好的框架,而且是浓度软件过程能力提高的有用工具。

  增强我国软件企业的竞争力,提高国产软件的水平是国人的共同愿望,但目前我国软件水平,尤其是软件开发能力和软件生产能力还很差,这也是不争的事实。那么,如何提高我国软件的开发和生产能力,从而提高软件整体水平?软件企业实施CMM也许不失为一条有效的途径。

  一个企业的软件能力更取决于该企业的过程能力,特别是在软件开发和生产中的成熟度。其过程能力越是成熟,该企业的软件生产能力 就越有保证。目前,我国已有一些软件企业正在尝试实施CMM。

  当然,CMM不是万能的,并不一定对所有的软件企业都适合,实施CMM的企业也有失败的例子。我们希望通过本专栏能使更多的企业了解CMM,尽快找到适合本企业的发展之路,从而提高中国软件企业的竞争力。

实验二:CMM语言词法分析

笔记 (一)、扫描处理 最主要的是正则表达式( regular expression)和有穷自动机( finite automata)。 扫描程序的任务是从源代码中读取字符并形成由编译器的以后部...
  • ancientmoondjay
  • ancientmoondjay
  • 2016年11月11日 11:12
  • 1525

完整cmm解释器构造实践(二):词法分析

cmm是c的一个子集,保留字只有如下几个 if else while read write int real 特殊符号有如下几个 + - * / = ( ) ; { } [ ] /* */ 标识符:...
  • oqqShaw123
  • oqqShaw123
  • 2015年01月23日 18:22
  • 2858

完整cmm解释器构造实践(三):语法分析

完整cmm解释器构造实践(三):语法分析 语法树节点 我的语法分析器不仅会判断cmm代码的语法是否正确, 同时会存储分析过程中得到的信息, 完成语法树的构建. 为什么要有语法树呢, 其实...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月07日 17:36
  • 3747

实验三:CMM语言语法分析

注意: 1.本程序用的是LL1预测分析表法。 2.可根据输入的文法文件自动生成first集、follow集、select集以及预测分析表。 3.文法的符号之间要有空格。 4.最后的输出文件有s...
  • ancientmoondjay
  • ancientmoondjay
  • 2016年11月21日 23:31
  • 1519

完整cmm解释器构造实践(五):解释执行与GUI

解释执行接下来要做的事情就是解释执行, 我们只需要将中间代码一条一条执行下来就行. 我们可以模仿CPU的执行方式, 使用一个叫pc的变量存储下一条需要执行的指令的序号. 每次执行一条执行就将pc+1,...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月17日 23:13
  • 1875

从CMM认证看认证误区

从目前中国软件业的发展来看,CMM一直是一个非常热门的话题,为了增加自己的综合竞争力,迎接加入WTO后来自全球软件企业的挑战,国内软件企业都把通过CMM认证作为企业中长期的目标,国内的媒体也给予了极大...
  • zjlovety
  • zjlovety
  • 2017年01月24日 08:16
  • 393

完整cmm解释器构造实践(四):语义分析与代码生成

语义分析语法分析只是分析了代码在语法上是不是合法的, 但是代码仍然有可能存在问题, 比如一些需要上下文才能分析的错误, 语法分析就不能分析出来. 比如下面的代码a = 10;从语法上来看, 这是一句合...
  • oqqShaw123
  • oqqShaw123
  • 2015年02月17日 21:54
  • 2401

软件工程:CMM、RUP、XP总结

软件开发过程学习总结 目的:初步理解CMM、RUP、XP分别是怎样的过程,弄懂其关键步骤,分析其优劣及适应情况。最后综各家之长,给出一个可能较实用可行的软件开发过程体系X Process,以用在项目...
  • yuhui_fish
  • yuhui_fish
  • 2013年08月30日 11:07
  • 1086

CMM软件能力成熟度模型

 CMM软件能力成熟度模型 一、什么是cmm评审   简单来说: 通过实施CMM认证和评审,能够帮助你们公司建立一些软件开发、质量管理等方面的规范(质量体系)来,能够帮助你们公司的软件开发有...
  • mimi_endeavor
  • mimi_endeavor
  • 2014年10月23日 10:03
  • 579

CMM软件成熟度

Table of Contents 1. 一、绪论1.1. 软件的定义 1.2. 软件的特征 1.3. 软件危机产生的原因 1.4. 软件过程 1.5. 软件过程能力 1.6. 软件过程性...
  • u013225150
  • u013225150
  • 2016年06月17日 22:58
  • 9193
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CMM简介
举报原因:
原因补充:

(最多只允许输入30个字)