1. CMM是什么意思
CMM是Capability Maturity Model的英文缩写,意思是能力成熟度模型。
能力成熟度模型最初是作为客观评估政府承包商流程实施合同软件项目能力的工具而开发的。 该模型基于IEEE软件中首次描述的流程成熟度框架。
后来在1989年出版的Watts Humphrey的“管理软件过程”一书中进行了描述。 它后来在1993年的一份报告中发表并于1995年作为同一作者的一本书出版。
它是对于软件组织在定义,实施,度量,控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护过程进行监控和研究。
(1)检验方法cmm是什么扩展阅读
历史背景:
1、1984年,美国国防部资助建立了卡内基·梅隆大学软件研究所(SEI)
2、1987年,SEI发布第一份技术报告介绍软件能力成熟度模型(CMM)及作为评价国防合同承包方过程成熟度的方法论。
3、1991年,SEI发表1.0版软件CMM(SW-CMM)。
4、1987年开始实施认证,现已成为软件业权威的评估认证体系。CMM包括5个等级,共计18个过程域,52个目标,300多个关键实践。
参考资料来源:网络-能力成熟度模型
参考资料来源:网络-软件能力成熟度模型
2. cmm数据是什么意思
cmm是三坐标测量机的意思、
cmm数据顾名思义就是三坐标测量机检测出来的数据!
3. 什么是cmm
三坐标测量机(Coordinate Measuring Machining,简称CMM)是一种三维尺寸的精密测量仪器,主要用于零部件尺寸、形状和相互位置的检测。坐标测量机是基于坐标测量原理,即将被测物体置于坐标测量机的测量空间,获得被测物体上各测点的坐标位置,根据这些点的空间坐标值,经过数学运算,求出被测的几何尺寸、形状和位置。
4. 什么叫CMM
CMM(Capability Maturity Model),英文直译的意思是“能力成熟度模型”。由卡内基.梅隆大学的软件工程协会(Software Engineering Institute, 简称SEI) 提出并完善,目的是通过一个合理的体系模型来对软件组织开发能力进行合理有效的评估,帮助软件组织在模型实施的过程中提高软件过程管理能力,降低软件系统开发风险,在预定的项目周期和预算内开发出高质量的软件产品。
CMM一共分为5级,1级最低,5级最高,3级是一个比较重要的分界线
5. ISO9000族标准中的ISO9000-3的内容是什么有什么作用它与CMM有什么关系
ISO 9000-3是国际标准化组织(ISO)制定的软件开发企业实施ISO 9001指南
中国电子技术标准化研究所 李韵琴
本文试图从大家所熟悉的ISO 9001标准入手,对ISO 9001、ISO900-3和CMM之间的区别和联系做个简单的分析,探讨一些大家感到困惑的问题,包括:
1)取得ISO 9000认证的组织大约相当于CMM的哪个等级?
2)取得CMM第2级(或第3级)的组织是否可以认为满足ISO 9001要求?
3)取得ISO 9001证书与取得CMM相应等级证书的企业,谁的质量管理/质量保证水平/能力更高?
一、背景
ISO 9000族国际标准是在总结了英国的国家标准基础之上产生的,因此,欧洲通过ISO 9000认证的企业数量最多,约占全世界的一半以上。受此影响,相当多的欧洲软件企业选择了ISO 9001认证。
CMM是由美国卡内基-梅隆大学的软件工程研究所(SEI)开发的软件成熟度模型,美国的软件企业更多的选择取得CMM等级证书。在形式上,CMM分为5个等级(第1级级别最低,第5级级别最高),与ISO 9000审核后只有“通过”和“不通过”两个结论相比,CMM是一个动态的过程,企业在取得低级别证书后,可根据高级别的要求确定下一步改进的方向。 在基本原理方面,ISO 9001和CMM都十分关注软件产品质量和过程改进。尤其是ISO 9000:2000版标准增加持续改进、质量目标的量化等方面的要求后,在基本思路上和CMM更加接近。
本文参考了Mark C. Paulk先生的文章,但观点不尽相同。
注:ISO 9001是软件企业开展质量体系认证依据的标准;
ISO 9000-3是国际标准化组织(ISO)制定的软件开发企业实施ISO 9001指南;
二、ISO 9000和CMM主要内容的对比
下面以ISO 9001为主线,列出了ISO 9001的要点及CMM的对应部分。
1) 要素4.1——管理职责
ISO 9001标准要求:组织应规定质量方针,形成文件并予以实施和保持; 对从事与质量有关的管理、执行和验证工作的人员规定其职责、权限和相互关系; 识别和提供验证资源被指派的管理者保证实施和保持质量大纲。
CMM第2级提出了质量方针和验证的职责,包括识别各类人员在项目中的职责,建立一支受过培训的软件质量保证小组和指派高级管理者监控软件质量保证(SQA)活动。
作为CMM的共同特征,CMM在高级管理人员和项目经理两个层次上识别管理职责,以监控软件项目,支持SQA审核,建立支持软件工程的组织结构和分配资源。
ISO 9001要求的质量目标(一种量化的、可检查的要求),与在CMM第4级提到的“量化的”质量方针是一致的
2) 要素4.2——质量体系
ISO 9001要求建立一个文件化的质量体系包括质量手册、质量计划、程序文件和作业指导书。
CMM第2级提出验证符合性和管理过程的质量体系活动,在软件开发计划中规定软件项目使用的具体程序和标准。CMM的验证实施共同特征明确要求进行审核以保证符合特定标准和程序。 CMM第3级要求组织必须规定软件工程任务,并持续实施,在全组织都必须规定软件过程资源,包括标准、程序和过程描述。 与ISO 9001相比,CMM特别强调组织支持和项目实施之间的关系。
3)要素4.3——合同评审
ISO 9001要求组织必须评审每一个合同以判断需求是否明确、组织是否有能力满足合同要求。
CMM第2级提出组织必须文件化顾客要求并予以评审,明确不恰当或模糊的要求。
CMM第2级也要求描述目的、工作陈述和软件开发计划以履行软件工程小组和高级管理者评审过的外部(合同)承诺。
4) 要素4.4——设计控制
ISO 9001要求组织建立控制和验证设计的程序,包括:策划设计和开发活动;规定组织上和技术上的接口;识别设计输入和设计输出;评审、验证和确认设计;控制设计更改
CMM 3级描述生存周期过程,包括需求分析、设计、编码和测试;第2级提出策划和跟踪所有项目活动,包括上述生存周期活动及配置管理。
ISO 9001要求必须进行设计评审,至于应如何进行设计评审,并没有提出具体要求,组织可根据具体情况,在一定范围内选择。与此不同的是,CMM第3级特别要求设计评审要采用同行评审的方式。ISO 9000-3关于设计评审的指南包含了CMM这一要求。
CMM 4级对设计过程的要求与ISO 9001相比更加正式和量化。
5) 要素4.5——文件和资料的控制
ISO 9001要求组织控制文件和资料的发放与更改。
CMM第2级提出要将对文件和资料的控制纳入配置管理,第3级特别要求对文件控制须实施并维持配置管理体系。在CMM的实施活动共同特征章节中,对不同的关键过程区域明确了哪些专门的程序文件、标准和其它文件可纳入配置管理。
ISO 9000-3提出应将文件和资料纳入配置管理。
6) 要素——4.6 采购
ISO 9001要求组织要确保采购的产品符合规定的要求,包括评价潜在的分承包方和验证采购产品。CMM第2级在顾客软件开发的要求中包括了对分承包方的评价和分承包方提供的软件进行接收测试等内容。
7) 要素——4.7顾客提供产品的控制
ISO 9001要求组织要验证、贮存和维护顾客提供的产品。ISO 9000-3在论述这个条款的要求时特别提到对顾客提供的市售软件的控制。CMM仅在第3级的子活动中提到采购软件,提出识别市售软件或可复用软件是策划的一部分。 市售软件和可复用软件整体来说是CMM的一大弱点。事实上,CMM在这点上不能充分覆盖ISO9001要求,特别是ISO9000-3的要求。尽管如此,CMM第2级中还是要求对分承包的软件进行接收测试。
8) 要素4.8——产品的标识和可追溯性
ISO9001要求组织能够在生产、安装和交付的所有阶段标识和追溯产品。
CMM主要在第2级的配置管理章节中覆盖了这个要求,在第3级阐述了软件工作产品之间的一致性和可追溯性需要。
ISO 9000-3指出在软件行业一种产品标识和可追溯的方法是配置管理,而且强调配置管理的两个目标:对产品的当前配置及产品达到需求的状态提供足够的可视性;保证参与产品工作的每一位成员在软件生存周期的任何阶段都能使用正确的和准确的信息。在这一点上,两者基本是一致的。
9) 要素4.9——过程控制
ISO 9001要求组织策划和控制其生产过程,包括在受控条件下按形成文件的指导书进行生产。当组织不能完全验证过程的结果时,须对过程进行连续的监控。
CMM第2级要求在软件开发计划中规定软件生产过程使用的特定程序和标准;第3级阐述了软件生产过程的定义、集成以及支持这些过程的工具要求;第4级阐述了过程控制的量化要求,并举统计过程控制(SPC)的例子说明。但对一个组织来说,证实满足这个条款要求的程度一般并不需要这样高。CMM的第5级更提出了在组织中转换新技术的要求,这与ISO 900-3中提到的“供方应改进这些工具和技术”是一致的。
ISO 9000-3提出这一要素适用于复制、发行和安装过程。
10)要素4.10——检验和试验:
ISO 9001要求组织在使用前对材料进行进货检验或验证并进行过程检验,组织还必须在最终产品发运前实施最终检验和试验并保存检验和试验记录。
CMM第3级阐述了测试和过程检验的要求。
ISO 9000-3对软件(系统)测试给出了指南。
11) 要素4.11——检验、测量和试验设备的控制
ISO 9001要求组织控制、校准和保持所有用于符合性证实的设备。当使用测试硬件或软件时必须在使用前进行检查并在规定的时间间隔内复检。
CMM在软件产品工程的测试活动章节对此进行了一般性的阐述。关于测试软件,在CMM实施能力共同特征章节中专门阐述了用于支持软件测试的工具。
12)要素4.12——检验和试验状态
ISO 9001要求组织保证产品在不同过程步骤中移动时须保持检验和试验状态的标识。
CMM第2级在问题报告和配置状态、第3级在测试活动中阐述了这个条款的要求。
13)要素4.13——不合格品的控制
ISO 9001要求组织控制不合格(不满足规定要求的)产品以预防非预期的使用或安装。 ISO900-3在设计控制、检验和试验(测试和确认)、过程控制(复制、交付和安装)和产品的标识和可追溯性(配置管理)等条款中对这个要求作了进一步的阐述。
CMM并没有专门对不合格产品进行阐述。CMM第2级要求保持那些包含已知缺陷但目前尚未修正的配置项的状态,第3级的设计、实施、测试和确认中均对此作了阐述。
14)要素4.14——纠正和预防措施
ISO 9001要求组织确定不合格产生的原因。纠正措施要求消除不合格产生的实际原因,预防措施要求消除产生潜在不合格的原因。
CMM第2级的问题报告,及其后对基线工作产品的受控维护进行跟踪、关键过程区域(KPA)的软件质量保证部分与此内容相对应。 CMM第5级关键过程区域(KPA)的很多部分也包含了这一内容,例如,防错。
15)要素4.15——搬运、贮存、包装、防护和交付
ISO 9001要求建立并保持搬运、贮存、包装、防护和交付的形成文件的程序。ISO9000-3展开为对软件产品的复制、备份、交付和安装的控制。
CMM并没有覆盖复制、交付和安装的要求。它在第2级中阐述了软件产品的生成和发行,在第3级中规定了接收测试的要求。但是CMM没有阐述关于产品交付和安装的要求。
16) 要素4.16——质量记录的控制
ISO 9001要求组织收集和保存质量记录。
CMM在实施活动共同特征章节中所规定的所有关键过程区域(KPA)都涉及质量记录的保存要求。第2级的问题报告、第3级的测试和同行评审活动都对应这一条款的要求。
17) 要素4.17——内部质量审核
ISO 9001要求组织策划和实施内部质量审核。审核的结果提交管理评审,并应针对不符合采取纠正措施。
CMM第2级阐述了审核过程。在验证实施共同特征中明确提出:审核活动是为了确保符合特定标准和程序的要求。
18)要素4.18——培训
ISO 9001要求组织确定培训需求,并提供相应的培训且保留培训记录。
CMM的实施能力共同特征中明确了特殊培训需求。它阐述了通用培训基础结构,包括保存培训记录的要求。
19)要素4.19——服务
ISO 9001要求:当服务是规定要求时,组织应实施、验证和报告服务活动。ISO9000-3则把对维护的控制要求归于本要素。
CMM并没有单独论述软件维护,而是把维护贯穿于整个CMM过程中。
20)要素4.20——统计技术
ISO 9001要求组织明确合适的统计技术,并用它们来验证过程能力和产品特性的可接受性。
CMM把产品特性纳入“执行活动”共同特征章节,作为“测量和分析”共同特征的组成部分。
CMM第2级要求建立项目级的数据库,第3级要求建立全组织范围内的过程和产品数据库,第4级要求组织进行统计过程控制,如使用排列图分析。
下表是ISO 9001要素涉及到的CMM级别的对应表,在具体的内容上它们并不是一一对应,有的虽然涉及到了,但在要求的程度上也有差别,本表只是说明了它们之间的关系。
ISO 9001要素 本文中涉及的CMM级别
第2级 第3级 第4级 第5级 共同特征
4.1 管理职责 √ √ √
4.2 质量体系 √ √ √
4.3 合同评审 √
4.4 设计控制 √ √ √
4.5 文件和资料控制 √ √ √
4.6 采购 √
4.7 顾客提供产品的控制 √ √
4.8 产品标识和可追溯性 √ √
4.9 过程控制 √ √ √ √
4.10 检验和试验 √ √
4.11 检验、测量和试验设备的
控制√
4.12 检验和试验状态 √ √
4.13 不合格品控制 √ √
4.14 纠正和预防措施 √ √
4.15 搬运、包装、贮存、防护和交付 √ √
4.16 质量记录的控制 √ √ √
4.17 内部质量审核 √ √
4.18 培训 √
4.19 服务 √
4.20 统计技术 √ √ √ √
三、结论
1)ISO 9001和CMM既有区别又相互联系,两者不可简单的互相替代。 尽管ISO 9001标准的一些要求在CMM中不存在,而CMM的一些要求在ISO 9001标准中也不存在,但不可否认的是,两者之间的关系非常密切。当然,两者之间的差别也很明显,例如, ISO 9001标准的要素4.7和4.15在CMM中没有细述,而4.19则是分散在CMM的各部分中。ISO 9001的一些要素可以在CMM中找到完全对应的部分,另外一些要素则是比较分散的对应。
两者的最大相似之处在于两者都强调“该说的要说到,说到的要做到”。对每一个重要的过程应形成文件,包括指导书和说明,并检查交货质量水平。CMM强调持续改进,ISO 9001的1994版标准主要说明的是“合格质量体系的最低可接受水平”(ISO 9001 的2000版标准也增加了持续改进的内容)。
另外,1999年底,由美国质量协会(ASQ)和MOTOROLA、NOKIA、BELL SOUTH等100多家企业、机构共同制定的电信行业(包括电信软件开发企业)质量体系标准TL 9000正式发布,在处理已经取得CMM和ISO 9001认证的软件开发企业如何升级到TL 9000时,补充审核的要求有很大差异,这从一个侧面也可以说明它们之间的差别。但很明显,取得ISO 9001认证对于取得CMM的等级证书是有益的,反之,取得CMM等级证书,对于寻求ISO 9001认证也是有帮助的。
2)取得ISO 9001认证并不意味着完全满足CMM某个等级的要求。 表面上看,获得ISO 9001标准的企业应有CMM第3至第4级的水平,但事实上,有些获得CMM第1级的企业也获得了ISO 9001证书,原因是ISO 9001强调以顾客的要求为出发点,不同的顾客要求的质量水平也不同,而且各个审核员的水平/解释也有些差异;由此可以看出,取得ISO 9001认证所代表的质量管理和质量保证能力的高低与审核员对标准的理解及自身水平的高低有很大的关系,而这不是ISO 9001标准本身所决定的
ISO 9001标准只是质量管理体系的最低可接受准则,不能说已满足CMM的大部分要求。有一点可以肯定,ISO 9001认证合格的企业至少能满足CMM第2级的大部分要求以及第3级的一部分要求。 3)取得CMM第2级(或第3级)不能笼统的认为是满足ISO 9001的要求。CMM 第2级的所有关键过程都涉及ISO 9001的要求,但都低于ISO9001的要求。另外,一些CMM第1级的组织在满足了第2级和第3级的一些关键过程的要求后,也可以获得ISO 9001认证证书.一些CMM第2级或第3级的企业可能被认为符合ISO 9001的要求,但是,甚至一些第3级企业也需另外满足ISO9001的要素4.15的搬运和交付要求以及补充对市售软件和可复用软件的控制。当然,尽管CMM没有完全满足ISO 9001标准的一些特定要求,但包含了大部分的要求。
不可否认,CMM是专门针对软件开发企业设计的,因此在针对性上比ISO 9001要好。ISO已经意识到这个问题,针对软件开发企业应用ISO 9001提供了指南标准(ISO 9000-3),预计在2000年底发布的ISO 9000:2000也考虑了软件企业的特点。 需要特别说明的是,CMM强调的是软件开发过程的管理,对于国内软件企业涉及较多的“系统集成”并没有考虑,如果单纯按照CMM的要求建立质量体系应该注意补充“系统集成”方面的内容。
四、结束语
本文并没有回答CMM和ISO 9001谁更好,也不想回答这个问题,一个体系的好坏是由很多方面决定的。上面仅仅反应了作者对这两个体系的一些看法,不免带有一些主观和片面。但是,对于一个软件开发企业来说,获得什么样的认证证书只是表面的,重要的是如何着眼于持续改进以更好的保证软件开发的质量、满足顾客的要求,从而获得竞争优势,这是每一个软件开发企业应该认真考虑的问题。
6. CMM是什么东西
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for
Software,英文缩写为SW-CMM,简称CMM.它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述.CMM
的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标.
CMMI
认证是由美国软件工程学会(software engineering
institue,简称SEI)制定的一套专门针对软件产品的质量管理和质量保证标准. CMMI 的全称为:Capability Maturity
Model Integration,即能力成熟度模型集成.
CMMI的五个台阶(五个等级): 台阶一:CMMI一级,完成级.
在完成级水平上,企业对项目的目标与要做的努力很清晰,项目的目标得以实现.但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候
仍然能够完成任务.企业在一级上的项目实施对实施人员有很大的依赖性. 台阶二:CMMI二级,管理级.
在管理级水平上,企业在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并
与上级单位对项目与流程进行审查.企业在二级水平上体现了对项目的一系列的管理程序.这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业
的所有项目实施都会得到成功. 台阶三:CMMI三级,定义级.
在定义级水平上,企业不仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理
体系与流程予以制度化这样,企业不仅能够在同类的项目上生到成功的实施,在不同类的项目上一样能够得到成功的实施.科学的管理成为企业的一种文化,企业的
组织财富. 台阶四:CMMI四级,量化管理级.
在量化管理级水平上,企业的项目管理不仅形成了一种制度,而且要实现数字化的管理.对管理流程要做到量化与数字化.通过量化技术来实现流程的稳定性,
实现管理的精度,降低项目实施在质量上的波动.
7. CMM模型五个标准等级有哪些具体特征和衡量标准
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于组织在定义、实施、度量、控制和改善其过程的实践中各个发展阶段的描述。CMM的核心是把开发视为一个过程,并根据这一原则对开发和维护进行过程监控和研究,以使其更加科学化、标准化、使能够更好地实现商业目标。
CMM是是一种用于评价承包能力并帮助其改善质量的方法,侧重于开发过程的管理及工程能力的提高与评估。CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
CMM是由美国卡内基梅隆大学工程研究所1987年研制成功的,是目前国际上最流行最实用的生产过程标准和成熟度等级认证标准。目前,我国已有通过了CMM标准认证 。
SW-CMM(Capability Maturity Model For Software 生产能力成熟度模型,以下简称"CMM"),是87年由美国卡内基梅隆大学工程研究所(CMU SEI)研究出的一种一种用于评价承包商能力并帮助改善质量的方法,其目的是帮助对工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的。
其所依据的想法是:只要集中精力持续努力去建立有效的工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服生产中的困难。CMM它是目前国际上最流行、最实用的一种生产过程标准,已经得到了众多国家以及国际产业界的认可,成为当今从事规模生产不可缺少的一项内容。
8. 软件工程中的cmm是什么,有哪五个层次
CMM是指“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。
CMM是是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
CMM是由美国卡内基梅隆大学软件工程研究所1987年研制成功的,是目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。目前,我国已有软件企业通过了CMM标准认证 。
SW-CMM(Capability Maturity Model For Software 软件生产能力成熟度模型,以下简称"CMM"),是87年由美国卡内基梅隆大学软件工程研究所(CMU SEI)研究出的一种一种用于评价软件承包商能力并帮助改善软件质量的方法,其目的是帮助软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发出高质量的软件。
其所依据的想法是:只要集中精力持续努力去建立有效的软件工程过程的基础结构,不断进行管理的实践和过程的改进,就可以克服软件生产中的困难。CMM它是目前国际上最流行、最实用的一种软件生产过程标准,已经得到了众多国家以及国际软件产业界的认可,成为当今企业从事规模软件生产不可缺少的一项内容。
CMM目前通用流行的版本是1.1(Version1.1)。《按照软件工程研究所(SEI)的原来计划,CMM的改进版版本2.0(V2.0)是要在1997年的11月完成的。但是,美国国防部办公室要求软件工程研究所(SEI)延迟发放公布CMM版本2.0,直至他们完成另一个更为紧迫的项目-CMMI。
CMMI(Capability Maturity Model Integration能力成熟度模型集成),是美国国防部的一个设想。他们希望把所有现存的与将被发展出来的各种能力成熟度模型,集成到一个框架中去。这个框架用于解决两个问题:第一,软件获取办法的改革;第二,从集成产品与过程发展的角度出发,建立一种包含健全的系统开发原则的过程改进。
CMM为软件企业的过程能力提供了一个阶梯式的改进框架,它基于过去所有软件工程过程改进的成果,吸取了以往软件工程的经验教训,提供了一个基于过程改进的框架;它指明了一个软件组织在软件开发方面需要管理哪些主要工作、这些工作之间的关系、以及以怎样的先后次序,一步一步的做好这些工作而使软件组织走向成熟。
一、CMM的诞生
信息时代,软件质量的重要性越来越为人们所认识。软件是产品、是装备、是工具,其质量使得顾客满意,是产品市场开拓、事业得以发展的关键。而软件工程领域在1992年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。
软件管理工程引起广泛注意源于20世纪70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项目是因为管理不善而引起,而并不是因为技术实力不够,进而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只影响局部。到了20世纪90年代中期,软件管理工程不善的问题仍然存在,大约只有10%的项目能够在预定的费用和进度下交付。软件项目失败的主要原因有:需求定义不明确;缺乏一个好的软件开发过程;没有一个统一领导的产品研发小组;子合同管理不严格;没有经常注意改善软件过程;对软件构架很不重视;软件界面定义不善且缺乏合适的控制;软件升级暴露了硬件的缺点;关心创新而不关心费用和风险;军用标准太少且不够完善等等。在关系到软件项目成功与否的众多因素中,软件度量、工作量估计、项目规划、进展控制、需求变化和风险管理等都是与工程管理直接相关的因素。由此可见,软件管理工程的意义至关重要。
软件管理工程和其它工程管理相比有其特殊性。首先,软件是知识产品,进度和质量都难以度量,生产效率也难以保证。其次,软件系统复杂程度也是超乎想象的。因为软件复杂和难以度量,软件管理工程的发展还很不成熟。
软件管理工程的发展,在经历了从70年代开始以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试为特征的结构化生产时代,到90年代中期,以CMM模型的成熟模型和日益为市场接受为标志,已经进入以过程成熟模型CMM、个体软件过程PSP和群组软件过程TSP为标志的以过程为中心的时代,而软件发展第三个时代,及软件工业化生产时代,从90年代中期软件过程技术的成熟和面向对象技术、构件技术的发展为基础,已经渐露端倪,估计到2005年,可以实现真正的软件工业化生产,这个趋势应该引起软件企业界和有关部门的高度重视,及早采取措施,跟上世界软件发展的脚步。软件生产转向以改善软件过程为中心,是世界各国软件产业或迟或早都要走的道路。
软件过程改善是当前软件管理工程的核心问题。50多年来计算事业的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。软件管理工程走过了一条从70年代开始以结构化分析与设计、结构化评审、结构化程序设计以及结构化测试到90年代中期以过程成熟模型CMM、个体软件过程PSP和群组软件过程TSP为标志的以过程为中心向着软件过程技术的成熟和面向对象技术、构件技术的发展为基础的真正软件工业化生产的道路。软件生产转向以改善软件过程为中心,是世界各国软件产业或迟或早都要走的道路。软件工业已经或正在经历着"软件过程的成熟化",并向"软件的工业化"渐进过渡。规范的软件过程是软件工业化的必要条件。
软件过程研究的是如何将人员、技术和工具等组织起来,通过有效的管理手段,提高软件生产的效率,保证软件产品的质量。由此诞生了软件过程的三个流派:CMU-SEI的CMM/PSP/TSP;ISO 9000质量标准体系;ISO/IEC 15504(SPICE)。
CMM/PSP/TSP即软件能力成熟度模型/ 个体软件过程/群组软件过程,是1987年美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI)以W.S.Humphrey为首的研究组发表的研究成果"承制方软件工程能力的评估方法";SO 9000质量标准体系是在70年代由欧洲首先采用的,其后在美国和世界其他地区也迅速地发展起来。目前,欧洲联合会积极促进软件质量的制度化,提出了如下ISO9000软件标准系列:ISO9001、ISO9000-3、ISO9004-2、ISO9004-4、ISO9002;ISO/IEC 15504(SPICE)是1991年国际标准化组织采纳了一项动议,开展调查研究,按照CMU-SEI的基本思路,产生的技术报告ISO/IEC 15504--信息技术软件过程评估
目前,学术界和工业界公认美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI) 以W.S.Humphrey为首主持研究与开发的软件能力成熟度模型CMM是当前最好的软件过程,已成为业界事实上的软件过程的工业标准。
二、CMM的发展
1987年美国 Carnegie Mellon 大学软件工程研究所(CMU/SEI)以W.S.Humphrey为首的研究组发表了CMM/PSP/TSP 技术,为软件管理工程开辟了一条新的途经。
CMM框架用5个不断进化的层次来评定软件生产的历史与现状:其中初始层是混沌的过程,可重复层是经过训练的软件过程,定义层是标准一致的软件过程,管理层是可预测的软件过程,优化层是能持续改善的软件过程。任何单位所实施的软件过程,都可能在某一方面比较成熟,在另一方面不够成熟,但总体上必然属于这5个层次中的某一个层次。而在某个层次内部,也有成熟程度的区别。在CMM框架的不同层次中,需要解决带有不同层次特征的软件过程问题。因此,一个软件开发单位首先需要了解自己正处于哪一个层次,然后才能够对症下药地针对该层次的特殊要求解决相关问题,这样才能收到事半功倍的软件过程改善效果。任何软件开发单位在致力于软件过程改善时,只能由所处的层次向紧邻的上一层次进化。而且在由某一成熟层次向上一更成熟层次进化时,在原有层次中的那些已经具备的能力还必须得到保持与发扬。
软件产品质量在很大程度上取决于构筑软件时所使用的软件开发和维护过程的质量。软件过程是人员密集和设计密集的作业过程:若缺乏有素训练,就难以建立起支持实现成功是软件过程的基础,改进工作亦将难以取得成效。CMM描述的这个框架正是勾列出从无定规的混沌过程向训练有素的成熟过程演进的途径。
CMM包括两部分"软件能力成熟度模型"和"能力成熟度模型的关键惯例"。"软件能力成熟度模型"主要是描述此模型的结构,并且给出该模型的基本构件的定义。"能力成熟度模型的关键惯例"详细描述了每个"关键过程方面"涉及的"关键惯例"。这里"关键过程方面"是指一组相关联的活动;每个软件能力成熟度等级包含若干个对该成熟度等级至关重要的过程方面,它们的实施对达到该成熟度等级的目标起到保证作用。这些过程域就称为该成熟度等级的关键过程域,反之有非关键过程域是指对达到相应软件成熟度等级的目标不起关键作用。归纳为:互相关联的若干软件实践活动和有关基础设施的一个集合。而"关键惯例"是指使关键过程方面得以有效实现和制度化的作用最大的基础设施和活动,对关键过程的实践起关键作用的方针、规程、措施、活动以及相关基础设施的建立。关键实践一般只描述"做什么"而不强制规定"如何做"。各个关键惯例按每个关键过程方面的5个"公共特性"(对执行该过程的承诺,执行该过程的能力,该过程中要执行的活动,对该过程执行情况的度量和分析,及证实所执行的活动符合该过程)归类,逐一详细描述。当作到了某个关键过程的的全部关键惯例就认为实现了该关键过程,实现了某成熟度级及其以低级所含的全部关键过程就认为达到到了了该级。
上面提到了CMM把软件开发组织的能力成熟度分为5个的等级。除了第1级外,其他每一级由几个关键过程方面组成。每一个关键过程方面都由上述5种公共特性予以表征。CMM给每个关键过程了一些具体目标。按每个公共特性归类的关键惯例是按该关键过程的具体目标选择和确定的。如果恰当地处理了某个关键过程涉及的全部关键惯例,这个关键过程的各项目标就达到了,也就表明该关键过程实现了。这种成熟度分级的优点在于,这些级别明确而清楚地反映了过程改进活动的轻重缓急和先后顺序。
9. cmm是什么
什么是CMM
CMM是能力成熟度模型(capabilityMaturityModel)的缩写,是一种用于评价软件承包能力并帮助其改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。CMM分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
CMM是由美国卡内基梅隆大学软件工程研究所1987年研制成功的,是目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。目前,我国已有软件企业通过了CMM标准认证。
CMM五级标准(中文)
第一级:初始级 Initial Level
在初始级,企业一般不具备稳定的软件开发与维护的环境。 常常在遇到问题的时候,就放弃原定的计划而只专注于编程与测 试。
第二级:可重复级 Repeatable Level
在这一级,建立了管理软件项目的政策以及为贯彻执行这些 政策而定的措施。基于过往的项目的经验来计划与管理新的项目。
第三级:定义级 Defined Level
在这一级,有关软件工程与管理工程的一个特定的、面对整 个企业的软件开发与维护的过程的文件将被制订出来。同时,这 些过程是集成到一个协调的整体。这就称为企业的标准软件过程。
第四级:管理级 Managed Level
在这一级,企业对产品与过程建立起定量的质量目标,同时 在过程中加入规定得很清楚的连续的度量。作为企业的度量方案, 要对所有项目的重要的过程活动进行生产率和质量的度量。软件 产品因此具有可预期的高质量。
第五级:优化级 Optimizing Level
在这个等级,整个企业将会把重点放在对过程进行不断的优 化。企业会采取主动去找出过程的弱点与长处,以达到预防缺陷 的目标。同时,分析有关过程的有效性的资料,作出对新技术的 成本与收益的分析,以及提出对过程进行修改的建议。
CMM的用途
1.用于软件过程的改进(SPI Software Process Improvement)
帮助软件企业对其软件(制作)过程的改变(进)进行计划、(措施)制定以及实施。
2.用于软件过程评估(SPA Software Process Assessment):
在评估中,一组经过培训的软件专业人员确定出一个企业软件过程的状况,找出该企业所面对(存在)的与软件过程有关的、最迫切的所有问题;以及取得企业领导层对软件过程改进的支持。
3.软件能力评鉴(SCE Software Capability Evaluation):
在能力评鉴中,一组经过培训的专业人员鉴别出软件承包者的能力资格;或者是检查监察正用于(进行)软件制作的软件过程的状况。
10. cmm的含义是什么
cmm的含义是“能力成熟度模型”,其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。
它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。此外还是化妆品的名字。
实施CMM的必要性:
软件开发其中最关键的问题在于软件开发组织不能很好地管理其软件过程,从而使一些好的开发方法和技术起不到预期的作用。
而且项目的成功也是通过工作组的杰出努力,所以仅仅建立在可得到特定人员上的成功不能为全组织的生产和质量的长期提高打下基础,必须在建立有效的软件如管理工程实践和管理实践的基础设施方面,坚持不懈地努力,才能不断改进,才能持续地成功。