1.CMMI是什么东西

2.CMM和CMMI是什么?区别是什么?

3.请教未来软件工程专业的发展趋势,请一定留下您的高见。

4.关于程序员

5.关于参与公司的CMMI评级

6.cmml是什么认证

7.什么CMMI Level 2 认证?

ipad能改系统吗_ippd能改电脑系统吗

普天信息技术研究院 (以下简称普天研究院CP) 是中国普天投资组建的中央研究院,是从事通信领域新产品研究与开发的高新技术企业。普天研究院主要从事信息通信系统与终端的研发与中试生产、信息网络软件系统的开发、大型信息网络工程的集成、新产品的市场培育,并向中国普天提供产业技术支撑。普天研究院于2002年通过ISO9001:2000质量体系认证,获得双证书;2006年成为国内首家、全球第15家通过CMMI5级(SE/SW/IPPD)评估的企业,2006年被认定为国家级企业技术中心。普天研究院设立了国家级博士后科研工作站,与国内著名学府联合培养和输出博士后人才。

从2002年起,CP开始了关于员工职业发展的思考和探索,并通过对“职位族理论”、“员工职位价值理论”、“员工职业生涯规划理论”、“员工激励理论”的深入研究,结合非生产型研发企业的特点,坚持以提高人才管理效益为中心,以强化人才管理职能为重点,加强人才建设的统筹规划,把引进培养与大胆使用结合起来,发挥“核心人才”作用,同时注重人才开发整体效能,把解决当前突出矛盾与注重人才队伍长远发展结合起来,不断优化人才队伍结构,推进各类人才在各自的职业通道全面协调可持续发展,逐步确定了以职位为中心的人力资源管理与开发体系,搭建了集管理人员、研发人员、专业技术(非研发)人员职业发展通道为一体的全员职业发展通道。

全员职业发展通道分四步进行:

第一步,建立全员职位体系。形成以系列、族、类三个层次组成的完整的全员职位体系,将组织内部的所有职位划分为3大系列、7大职位族、14大职位类。

第二步,搭建研发人员职业发展通道。形成研发人员职位评聘制度。

第三步,完善管理人员职业发展通道。形成管理人才储备体系和干部竞聘上岗制度。

第四步,搭建专业技术(非研发)人员职业发展通道。形成专业技术(非研发)人员职位层级晋升审批制度。

建立全员职位体系

职位是企业组织结构的细胞,企业依据一定的战略而设立部门机构,企业战略的执行职能按照一定的管理关系逐级分解,最后落实到各个职位,企业的目标与实现目标的能动主体——“人”在职位上实现了最终的结合。CP公司认为,企业战略实现的重要基础是职位,人力资源管理与开发将围绕职位展开。由此,CP公司引进了先进的职位管理体系。

职位管理是以单个职位为管理对象,通过职位分析来明确不同职位在企业中的角色和职责以及相应的任职资格,然后通过职位评估等分析工具来确定职位在企业中的相对价值大小,在企业内部形成职位价值序列。

为了将全员职业发展工作做实,并为构建全员职业发展通道建立科学的理论和实践基础,CP公司于2002年就基于职位管理理论以及职位族平台,设计了员工职业发展体系的核心——CP公司全员职位体系。

依照此思路,并根据企业战略定位及中长期规划目标,确定了以系列、族、类三个层次组成的完整的CP公司全员职位体系,由此将组织内部的所有职位划分为3大系列,7大职位族,14大职位类。

在分类管理的基础上,为体现不同职位对企业相对价值的差异,CP公司运用职位价值评估工具在3大职位系列、7大职位族、14个职位类的基础上确定出来 76个职位,并从影响(影响、组织、贡献三维度)、沟通(沟通、构架二维度)、创新(创新、复杂性二维度)、知识(知识、团队、宽度三维度)等四个要素 10个维度对每个职位进行了价值评估,同时根据每个职位点值的高低,形成了所有职位的内部价值序列图,这样就使所有员工清楚地了解到自己所从事的职位在组织内部的位置以及价值所在,为全员的职业发展奠定了理论和实践基础。

搭建研发人员职业发展通道

CP公司主要承担着新技术和新产品的研究开发,提供具有市场前景和产业规模能力的新技术与新产品。占员工总数近80%的研发人员,是CP公司价值创造的主体,因而研发人员的职业发展通道建设就显得尤为重要。CP公司于2002年底开始进行研发人员职业发展通道的建设,到2003年年中全面实施。

1.研发人员职业发展通道框架

CP公司研发人员职业发展通道是以CP公司全员职位体系研发系列为基础的。由于各职位族和职位类具有相似性,所以专业系列下设的研发族中各个类别的晋升通道一致,共设置了六级职位,分别为“专业初级”、“专业中级”、“专业高级”、“专业资深级”、“专家级”、“高级专家级”。

2.研发人员职业发展

评价原则。研发族专业技术职位评聘与晋升主要是以CP公司各专业技术职位《职位说明书》为基准,对拟聘员工先评价后聘任。同时以实际工作业绩为导向,半年度或年度综合考核成绩排名在本部门相同专业技术职位前40%的员工,才具备专业技术职位晋升的资格。评价以员工是否具备各专业技术职位的胜任能力为主,聘任以职位编制为基础,对空缺的专业技术职位选才聘任。

运用适中的节奏规划研发人员的职业发展。很多企业在员工提升的速度上不够合理。一种情况是快节奏提升,快节奏提升的后果是员工到达职业顶端后,会因不再有发展空间而失去工作积极性甚至离开公司;另一种情况是慢节奏的提升,其缺点是员工得不到职业发展上的有效激励,也不能学习到其他岗位的知识。正确的做法是采取一种适中的提升,表现为对新入职的员工有计划地安排其走向上一级的职位,合理安排每次晋升的时间段。适中的节奏能不断激励员工,提高其职位的认知价值,使其有充分的时间学习和掌握拟晋升职位的技能。

3.研发人员职业发展评价项目

研发人员职业发展评价项目包括六个方面

4.研发人员职业发展评聘方式与流程

研发人员职业发展评聘方式分直接认定、职位评审两种方式。其中,直接认定方式包括新员工专业技术职位认定、推荐晋升认定两种方式;职位评审方式包括专业技术职位晋升评审、专业技术职位再评审两种方式。

新员工专业技术职位认定。新员工专业技术职位认定是指新员工在进入CP公司时,部门或项目负责人结合新员工学历、工作经验、既往业绩等因素,参考各《职位说明书》,初定专业技术职位。员工转正考核时,再由部门或项目负责人结合新员工转正考核成绩提出新员工专业技术职位认定建议,填写在新员工转正表中,经人力资源部及主管院领导批准聘任。

推荐晋升认定。每年年初,上年度部门/项目年度考核结果优秀的部门/项目负责人结合员工上年度工作绩效考核结果,本着宁缺毋滥的原则,推荐聘任少数优异员工晋升专业技术职位。人力资源部对推荐员工晋升资格采取考核成绩复查、员工访谈等方式进行严格审核。审核通过后,人力资源部将推荐人资料向全院公示,其后将推荐人材料及公示结果报办公会审批,最终向全院公布聘任结果。研发人员所聘任的新职位所对应的分值与价值都有一定的增加。

专业技术职位晋升评审。CP公司每年将组织一次专业技术职位晋升评审。评审前需组建专业技术职位评聘委员会,由院领导、经理、相关专业资深工程师、专家、高级专家职位员工、职位评聘顾问等组成。晋升评审程序包括个人申报、部门或项目负责人评审、人力资源部审核、公示(为保证评审流程公平、公正、公开)、人力资源测评、面向职位评聘委员会答辩、审核确认、发文公布聘任结果。

专业技术职位再评审。因员工部门/项目变动、从事专业工作方向改变、专业技术职位标准变动、编制调整等原因,部门或项目负责人对员工的专业技术职位有异议的,可在其后最近的一次专业技术职位晋升评审时期内对该员工提出专业技术职位再评审,从而重新聘任员工专业技术职位。专业技术职位再评审程序与专业技术职位晋升审批程序基本相同,但不由员工本人申报,应由各部门/项目组直接申报。

5.研发人员职业发展动态管理模式

为了时刻激励员工持续发展,CP公司在研发族专业技术职位评聘过程中,也引入了动态管理的模式。员工专业技术职位聘任后,在年度内考核成绩累计出现两次“C”(有待改进)且年度考核成绩为“C”(有待改进)的,将聘任至低一级专业技术职位。

完善管理人员职业发展通道

CP公司战略目标能否顺利实现,管理团队的专业化将起到决定性的作用。他们不仅肩负着企业目标实现的重任,而且还肩负指导员工发展、帮助员工进行职业生涯规划、为企业物色和培养后备人才的重任。为此,CP公司从2003年初,就开始了管理人员职业发展通道的建设工作,以便更好的激励管理人员提出更多的建设性的管理方法和其他富有特色的创新管理思路,并促进管理团队的长远发展。

CP公司管理人员职业发展通道是以CP公司全员职位体系管理系列为基础,包括资源管理族人员和产品管理族人员的职业发展通道。

1.资源管理族人员的职业发展通道建设

CP公司为资源管理族设置了三级的晋升通道,分别为基层管理者(部门三级经理、部门总经理助理)、中级/专项中级管理层(部门总经理、部门副总经理、院长助理)、院级/专项高级管理层(院长、常务副院长、副院长)。

2.产品管理族人员的职业发展通道建设

CP公司为产品管理族设置了二级晋升通道,分别为专项中级管理层(产品\项目经理、专项总监)、专项高级管理层(产品\项目总经理、产品\项目总监、技术总监)。

3. 晋升管理机制

对于资源管理族人员以及产品管理族人员的晋升,CP公司设置了一套科学易行的程序,包括分层次推荐候选人,人力资源部进行的 360度访谈,候选人素质评价,候选人公开竞聘,办公会讨论确定人选,人力资源部发文聘任。为引导管理人员一步一步的朝着企业所为他们设定的职业发展通道迈进,CP公司结合激励理论和职业生涯发展理论,在管理人员季度关键业绩指标以及素质评价指标设置中包括了纪律性、协作性、积极性、责任感、勤奋度、创新性、工作质量以及工作改进等内容。

这种做法也出自CP公司所提出的“职业技能生涯发展”的理论。“职业技能生涯发展”理论是指企业引导员工注重自身的职业技能的积累和提升,而不仅是关注职位提升。当员工的职业技能生涯发展到一定高度,员工的竞争力、员工自身价值以及员工的职位就会同步提升。这一理论的提出,着重引导和激发员工的主动性、进取心和事业心,而决非一厢情愿地去“塑造人”。CP公司同时运用内部驱动和外部激励来共同加速管理层的职业生涯发展。

4.晋升配套措施

CP公司管理人才培养计划。伴随着CP公司的快速发展和人员规模的激增,各级管理人员的管理幅度不断增加。随着产品、市场、企业发展,CP公司规模还将进一步扩大,一方面需要选拔更多、更优秀的人才补充到管理团队,一方面也给现有管理团队提出了更高的要求,种种情况表明,CP公司需要打造一个卓越的管理团队来有效支撑和推动自身的快速发展。

鉴此,CP公司制定了管理人才培养体系,建立源源不断提供合格管理人才的供给渠道,提升CP公司整体管理能力和水平,形成文化认同和管理有力的领导团队。CP公司管理人才培养体系包括管理人才培训体系,e-learning学习平台以及自学方式。

CP公司管理人才储备计划。为了保证管理人才的持续供给,CP公司也设定了管理人才储备计划,并以“不惟学历重能力,不惟资历重业绩”作为CP公司选拔后备管理人才的原则。各部门年度考核排名前20%的优秀人才、并具有管理潜质和管理意愿的员工均具备进入CP公司管理人才储备库的基本资格,同时配备管理导师。

进入CP公司后备人才库中的人员可划分为3个类别:

(1)拥有 “技术领导力潜力”的员工:此类员工具有精深的技术专长,能够担负起产品开发的领导重任,可作为CP公司专项管理类职位的人员,如研发组长、专项总监、技术总监、项目经理等。

(2)拥有“职能性领导力潜力”的员工:此类员工具有部门或某一业务单元领导的能力,可作为CP公司资源管理类职位的人选,如部门三级经理、部门总经理等。

(3)拥有“跨领域领导力潜力”的员工:此类员工不仅具有本专业管理工作的能力,同时具备其他专业管理工作的专长。此类员工可进行跨部门或业务单元培养或作为复合型综合性人才培养,使其具有多个关键业务和职能领域的经验,逐步站到组织战略和系统的高度,认识、理解和把握事物,从而正确地决策、准确地执行。

所有进入CP公司管理人才储备库的员工将根据管理导师安排参加CP公司的管理系列培训,并逐步完成相应的培训计划。

CP公司建立管理人才储备计划,不仅因为组织对后备人才培养的重视和投入,还有一个重要原因,就是后备人选本身对个人的未来发展充满着期待,而这也将自发地驱动着自我的成长与发展。

搭建专业技术(非研发)人员职业发展通道

为了满足CP公司专业技术(非研发)人员职业发展的需要,CP公司在全员职位体系专业技术(非研发)系列职位之上构建了专业技术(非研发)人员职业发展通道。

该通道的建立和管理系列人员以及研发系列人员职业发展通道建立的思路有很大的区别。当管理系列人员以及研发系列人员在所对应的职位通道上有所提升时,是通过职位的变动来体现的。而专业技术(非研发)人员所从事的职位有特定的专业领域,其职位内容以及职位价值有固定性,这就给建立职业发展通道造成了很大的困难。在经过对该系列职位的特点进行详细的分析以及研究后,在职位价值应用理论的指导上,突破性的提出了职位“层级”晋升办法:在同一职位中设置5个层级,分别为一级(助理级)、二级(专员级)、三级(主办专员级)、四级(主管级)、五级(高级主管级),将各层级与现代薪酬理论中的P值设计有效结合。

非研发族职位晋升方式与流程

因非研发族各专业职位的专业特性差异,职位晋升方式采用新员工专业岗位级别认定和在职员工专业岗位级别晋升审批两种方式。一至三层级体现从业时间、经验与业绩和能力正相关,以正常晋升体现发展;四至五层级体现专业精深,以审批方式体现组织认可。

新员工专业岗位级别认定。新员工专业岗位级别认定是指新员工在进入CP公司时,部门负责人结合新员工学历、工作经验、既往业绩等因素,参考各专业岗位级别描述和要求,初定专业岗位级别。员工转正考核时,再由部门负责人结合新员工转正考核成绩提出新员工专业岗位级别认定建议,填写在新员工转正表中,经人力资源部及主管院领导批准聘任。

在职员工专业岗位级别晋升审批。在职员工专业岗位级别晋升审批一般安排在每年年初。晋升二、三级专业岗位级别且满足累计两次年度考核结果为“B”(良好)及以上的员工,可以在原专业岗位级别基础上晋升一级。由部门负责人初审,人力资源部复审,主管院领导审批,人力资源部发文公布即可。晋升四、五级专业岗位级别员工,须依据该级别准入条件和评审条件,由员工或者部门经理提出申请,并提出相关评审证明材料,后经部门负责人初审,人力资源部复审,全院公示,办公会审批,人力资源部发文聘任等流程方可晋升。晋升到第三级别的员工将具备三级经理的竞聘资格,晋升到第四或五级的员工将具备二级经理的竞聘资格。同时晋升为第三级别以上的员工都将具有参加CP公司组织的管理培训以及经理扩大会议的资格。

同时,也引入了动态管理的模式。员工专业职位聘任后,在年度内考核成绩累计出现两次“C”(有待改进)且年度考核成绩为“C”(有待改进)的,将聘任至低一级专业技术职位。

通过建立和实施以职位为中心的全员职业发展通道,CP公司克服了所遇到的难题及困惑,并成为创造价值的部门。组建了一支结构合理的人才队伍,对业务的推进和可持续发展提供了人才资源保障;员工的职位晋升更加系统化和规范化,提升了员工对外竞争力;能够更科学的评价员工的胜任力,更好的做到公平竞争、人尽其才;统计数据表明,在员工适岗率、满意度、培训达成率、核心人才流动率等多个方面均有显著的成效。

职业发展通道的建立和实施极大的调动了全体员工的工作热情,整个团队绩效表现突出:2005年在移动存储器领域形成了普天专利群效应;继TD-SCDMA无线接入系统通话成功后,2006年获得信产部电信入网许可证书,同时开通了北京规模试验网,成为世界上能够提供TD无线接入系统整体解决方案的四大设备提供商之一。

在以职位为中心的全员职业发展通道的建设中,我们认为纵向发展和横向发展空间上必然会出现交叉点,这将是CP公司适应未来变化的新职位,例如一个新的复合型职位,需要具备两个甚至三个职位族类某某层级的素质与经验,这样就形成了一个网状、多维的员工职业发展空间。

CMMI是什么东西

1、它们是什么

CMMI的全称为:CapabilityMaturityModelIntegration,即能力成熟度模型集成。

CMM的全称为:CapabilityMaturityModel,即能力成熟度模型。

2、区别

CMMI模型的前身是SW-CMM和SE-CMM,前者就是我们指的CMM(SW-CMM)。CMMI与SW-CMM的主要区别就是覆盖了许多领域;CMMI到目前为止包括以下四个CMM:

(1)、软件工程(SW-CMM)软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。

(2)、系统工程(SE-CMM)系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。系统工程的核心是将客户的需求、期望和约束条件转化为产品解决方案,并对解决方案的实现提供全程的支持。

(3)、集成的产品和过程开发(IPPD-CMM)集成的产品和过程开发是指在产品生命周期中,通过所有相关人员的通力合作,采用系统化的进程来更好地满足客户的需求、期望和要求。如果项目或企业选择IPPD进程,则需要选用模型中所有与IPPD相关的实践。

(4)、采购(SS-CMM)采购的内容适用于那些供应商的行为对项目的成功与否起到关键作用的项目。主要内容包括:识别并评价产品的潜在来源、确定需要采购的产品的目标供应商、监控并分析供应商的实施过程、评价供应商提供的工作产品以及对供应协议很供应关系进行适当的调整。

CMM和CMMI是什么?区别是什么?

CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。

CMMI是由美国卡耐基梅隆大学软件工程研究所(Software Engineering Institute,SEI)组织全世界的软件过程改进和软件开发管理方面的专家历时四年而开发出来的,并在全世界推广实施的一种软件能力成熟度评估标准,主要用于指导软件开发过程的改进和进行软件开发能力的评估。

早期的CMMI(CMMI-SE/SW/IPPD),SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。

扩展资料:

CMMI级别:

CMMI共有5个级别,代表软件团队能力成熟度的5个等级,数字越大,成熟度越高,高成熟度等级表示有比较强的软件综合开发能力。

1、CMMI一级,执行级。在执行级水平上,软件组织对项目的目标与要做的努力很清晰,项目的目标可以实现。但是由于任务的完成带有很大的偶然性,软件组织无法保证在实施同类项目时仍然能够完成任务。项目实施能否成功主要取决于实施人员。

2、CMMI二级,管理级。在管理级水平上,所有第一级的要求都已经达到,另外,软件组织在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对项目相关的实施人员进行了相应的培训,对整个流程进行监测与控制,并联合上级单位对项目与流程进行审查。二级水平的软件组织对项目有一系列管理程序,避免了软件组织完成任务的随机性,保证了软件组织实施项目的成功率。

3、CMMl三级,明确级。在明确级水平上,所有第二级的要求都已经达到,另外,软件组织能够根据自身的特殊情况及自己的标准流程,将这套管理体系与流程予以制度化。这样,软件组织不仅能够在同类项目上成功,也可以在其他项目上成功。科学管理成为软件组织的一种文化,成为软件组织的财富。

4、CMMI四级,量化级。在量化管理级水平上,所有第三级的要求都已经达到,另外,软件组织的项目管理实现了数字化。通过数字化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。

5、CMMI五级,优化级。在优化级水平上,所有第四级的要求都已经达到,另外,软件组织能够充分利用信息资料,对软件组织在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。

百度百科——CMMI

请教未来软件工程专业的发展趋势,请一定留下您的高见。

1、它们是什么

CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。

CMM 的全称为:Capability Maturity Model ,即能力成熟度模型。

2、区别

CMMI 模型的前身是 SW-CMM 和 SE-CMM,前者就是我们指的CMM(SW-CMM )。CMMI与SW-CMM的主要区别就是覆盖了许多领域;CMMI到目前为止包括以下四个CMM: 

(1)、软件工程(SW-CMM) 软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。 

(2)、系统工程(SE-CMM) 系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。系统工程的核心是将客户的需求、期望和约束条件转化为产品解决方案,并对解决方案的实现提供全程的支持。 

(3)、集成的产品和过程开发(IPPD-CMM) 集成的产品和过程开发是指在产品生命周期中,通过所有相关人员的通力合作,采用系统化的进程来更好地满足客户的需求、期望和要求。如果项目或企业选择IPPD进程,则需要选用模型中所有与IPPD相关的实践。 

(4)、采购(SS-CMM) 采购的内容适用于那些供应商的行为对项目的成功与否起到关键作用的项目。主要内容包括:识别并评价产品的潜在来源、确定需要采购的产品的目标供应商、监控并分析供应商的实施过程、评价供应商提供的工作产品以及对供应协议很供应关系进行适当的调整。

关于程序员

软件工程技术的发展趋势

1, 软件工程是什么

随着信息技术的发展,软件作为一种信息技术的主要载体日益渗透到社会政

治,军事,经济,文化乃至生活的各个方面和各个层次.软件无所不在,其需求

愈来愈多,复杂度愈来愈高,可用性要求愈来愈强.如何高效地开发和生产可靠,

可信的软件,是软件领域一直必须面对的问题.

20世纪60年代,随着第三代计算机的产生,计算机的硬件性能发生了翻天

覆地的变化,运行大型的复杂软件系统已经成为可能.然而,相应的软件开发技

术却难以满足大型软件系统的开发需要,因而造成:

1. 大多数大型的软件开发项目的成本都超过预算,开发进度一再拖延;

2. 软件产品质量不可靠,大型软件系统存在bug几乎成为不可避免的问题;

3. 软件产品难以维护;

4. 软件产品的开发成本过高;

5. 软件产品开发的效率跟不上计算机硬件发展以及用户需求的增长;

软件技术跟不上硬件技术发展而造成的诸多问题被称作"软件危机"

(Software Crisis).为了解决软件危机,1968年北大西洋公约组织(NATO)的

计算机科学家在德国召开的国际学术会议上第一次提出了"软件工程"的概念,

希望通过系统化,规范化,数量化等工程原则和方法来实现复杂软件系统的开发

和维护.

按照Webopedia词典中的定义,软件工程是"研究如何开发大型应用系统的

计算机科学学科.软件工程不仅覆盖构建软件系统的相关技术层面问题,还包括

诸如指导开发团队,安排进度以及预算等管理层面问题" 由这个定义可以看出,

软件工程不仅仅包括编写程序代码所涉及的技术,它包括所有对软件开发能够造

成影响的问题.Brook在1987年指出,不存在任何一个单一的开发技术或管理

技术能够解决软件工程所面临的所有问题.因而软件工程是一个包括一系列概

念,理论,模式,语言,方法以及工具的综合性学科.图1中,我们给出了一个

软件工程技术的总体框架.可以看到,软件工程技术可以分为产品实现层技术以

及开发管理层技术.其中,产品实现层技术涉及与特定软件系统开发相关的问题,

为在软件生命周期的各个阶段实现软件产品提供技术支持;开发管理层技术通常

不针对特定的某个软件开发项目,而是为管理和改进软件组织所有的业务活动提

供技术支持,例如如何使用适当的方法管理软件开发过程中所需要执行的各个活

动,以便在特定的软件项目中系统的展开软件工程的层技术,支持软件组织的业

务实现,从而控制软件产品开发的成本,提高生产的效率,保证和改进软件产品

的质量.

系统设计

设计方法,

设计模式,

设计语言,

图形符号标识,

设计工具.

系统实现

编程语言,

编程环境,

编程工具.

验证和确认

软件测试方法,

软件测试工具,

软件检测方法,

软件检测工具.

操作与维护

维护方法,

维护工具

需求描述

需求描述语言,

形式化语言,

图形符号标识,

需求分析方法,

需求确认,

需求管理,

需求工具.

软件配置管理 配置管理工具,配置管理标准及规程,变更控制

软件成本估算 成本计算模型,专家决策,估算与分析

软件质量管理 质量保证,质量计划,质量控制

软件过程改进 软件过程标准,如:ISO9001,CMM,CMMI,SPICE等

软件过程建模 软件过程建模方法,建模语言,软件工程环境,PSEE系统,CASE工具

产品实现层开发管理层

图1 软件工程技术的总体框架

2, 基本概念

软件工程技术在近半个世纪的历史中,得到了长足而迅速的发展.在经历了

多次浪潮的冲击之后,我们有必要先澄清一些基本的概念.

2.1 软件

IEEE将软件定义为"计算机程序和相关的文档",软件产品一类提供给具体

的客户使用,另一类提供给大众市场.ISO 9001:2000对软件的定义为"一个好

软件的基本属性表现为,软件实现了客户需要的功能和性能,能够维护,可以让

用户在指定环境和条件下依赖和使用".

一般来说,软件是信息的载体并且提供了对信息的处理能力,例如对信息的

收集,归纳,计算,传播等等.虽然计算机硬件设备提供了物理上的数据存储,

传播以及计算能力,但是对于用户来讲,仍然需要软件系统来反映用户特定的信

息处理逻辑,从而由对信息的增值来取得用户自身效益的增值.因而从本质上讲,

软件可以被理解为一种逻辑上的信息处理设备,该设备具有用户所需求的信息处

理能力.一个好的软件应该能够为用户提供有价值的信息输出,从而为用户带来

效益.

2.2 软件工程与计算机科学

软件工程是一门工程学科,关注于软件生产的各个方面和生产方法.计算机

科学关注所有计算机相关的理论和基础.软件工程属于计算机科学的范畴,主要

关注开发和交付可用软件的理论和实践.

软件工程方法包括: 软件系统模型,注释,规则,设计建议(advice)和过

程指导等等.

2.3 软件工程与系统工程

系统工程关注开发基于计算机的系统的所有方面,包括硬件,软件和过程.

软件工程是其中的一部分.

2.4 软件过程和过程模型

ISO9000:2000将过程的定义为"任何使用资源将输入转化为输出的活动或

一组活动可视为一个过程".ISO15504将过程定义为"能够将输入转化为输出的

一组相互关联的活动".CMM将过程定义为"人们用来开发和维护软件及其相

关产品的一组活动,方法,实践和转化."

由上面的几个定义可以看出,软件过程可以被理解为开发和软件产品的一组

活动以及与实施这些活动相关的要素.这里我们给出一个更加细致的软件过程的

定义――软件过程是设计,开发,应用和维护软件产品的一组相互关联的活动,

方针,组织结构,技术方法,规程以及工作产品.它定义了对软件开发进行组织,

管理,度量,支持和改进的途径.

从这个定义可以看出,软件过程是一个由诸多与实现软件产品相关的要素组

成的复杂系统.如何将这些要素有机地组合在一起,从而有效并且高效地实现软

件产品开发是软件过程技术所关注的问题.

相应地,我们可以定义软件过程模型为――使用适当的方法表达的一个软件

过程抽象描述.模型是对其所表示的现实的抽象,是一个部分的描述.软件过程

模型通常包含与各种软件过程要素相关的模板或类型,或者它们的实例.模型对

现实的抽象描述了一组现实对象的共同特征,并且在特定的环境,参数和约束条

件下能够被实例化为现实的对象.从这个意义上讲,软件过程模型可以被理解为

"对一组软件过程的共同特征的抽象描述".软件过程由一组软件过程要素及其

相互的关系组成,软件过程模型是对软件过程要素及其关系的抽象描述.

2.5 软件成本

软件成本指开发软件产品所需要花费的资金.一般来说,开发一个软件项目

的成本包括以下几个方面:

1.软硬件成本,包括维护费用;

2.旅行及培训费用;

3.工作成本(effort cost).

对于大多数软件项目来说,其成本中最主要的部分是工作成本.工作成本并

不能简单的理解为对参与项目的软件开发人员支付的薪金.软件组织通常采用将

其运营组织的总成本除以参与开发的人员数量的方式核算工作成本.工作成本一

般包括:

1.办公环境的采暖,照明等费用;

2.组织管理人员的费用,例如财务,行政管理人员,经理等等;

3.网络及通讯费用;

4.辅助基础设施管理费用,例如图书馆以及娱乐设施费用等;

5.开发人员的社会保障金,健康保险等等;

工作成本通常是开发人员薪水的两倍或以上.

2.6 计算机辅助软件工程――CASE

CASE是一个软件系统,用于对软件过程的活动提供自动化支持.CASE系

统常常用作方法支持.

2.7 软件质量

尽管ISO9000等对质量有定义,但在一种大众的观点中,质量并没有明确的

含义.质量是一种多维的概念,包括客观的实体,实体各个方面的视角,以及实

体的质量属性.

从大众的观点看,通常认为质量是无形的,没有明确的特征.它可以被讨论,

感觉和判断,但不能度量.大多数人认为质量类似于美国联邦法庭关于*秽的说

法,"当我看见它的时候我知道". 一些关于质量好,质量坏的说法都没有明确

的定义.这种情况反映公众是可以接受从不同的角度去解释质量.这也隐含着认

为质量既不能被控制和管理,也不能被量化.另外也有一种观点认为,质量是奢

侈,分等级并且可以体验的.一些昂贵复杂的产品被认为比他们伸手可及的产品

具有更高的质量.譬如根据实际的可靠性和维修记录,卡迪拉克(cadillac)是好

汽车, 雪佛兰(Chevrolet)不是;高保真环绕系统是高质量的系统,单声道收

音机就不是.从这样的观点看,质量被归约到一类具有复杂功能的昂贵产品.

大众观点中的误解和含混,非常不利于工业界对质量的改进.所以质量应该

被准确,可理解,可操控的方式定义.针对这一点,Juran等人指出,质量是"适

于使用",Crosby指出,质量应该是"顺应需求".这两种观点是一致的,目前

被大多数质量专家所采纳."适于使用"考虑了客户的需求和期望,包括产品和

服务是否适合于他们的使用.不同的客户可能以不同的方式使用产品,这就意味

着产品必须拥有多种元素来适合使用.按Juran的观点,每一个元素就是一个质

量特征,他们可以归为一些类,作为适合使用的参数.最重要的两种参数是设计

质量(quality of design)和符合质量(Quality of Conformance).设计质量是对需

求的确定和说明,而符合质量就是符合需求.满足需求,意味着需求必须被清楚

地描述,不会导致误解.在开发和生产的过程中,要持续地度量以确定是否满足

需求,不满足的部分被认为是缺陷.

前面对于软件的定义可以看出,软件作为信息技术的一个载体,其质量应该

与其所能够为用户提供的信息处理能力,或者更直接地讲,用户对于软件产品的

质量要求更多是关注于软件所能提供的有用信息,而非软件产品本身.很多软件

产品失败的原因恰恰是因为忽略了这一个根本问题.

此外,用户对产品的需求并不仅仅与产品的功能性特征相关.用户为了取得

产品需要为产品的提供方支付一定的费用(产品的价格),而用户仅仅在其通过

使用该产品取得的效益(或者更一般地讲,获得的效用)高于其支付时,才愿意

购买该产品.因此,产品的质量并不能够在忽略用户支付条件的前提下无止境地

提高.对于用户来讲,完美但是价格昂贵的产品是无法接受的,一个能够最好的

满足用户需求的产品应该是"刚刚好"(just good enough)的.

3, 软件工程发展的历史

从1968年以来,软件工程有了很大的发展,并对软件产品的改进也是显而

易见的.我们对软件开发的活动有了更好的理解,有了更有效的方法支持软件系

统的设计和实现.这些新的方法和技术也有效地减少了大型复杂系统的开发成

本.然而,不可否认的是,软件组织在预算成本和预计工期内交付客户期望的复

杂系统仍然存在问题.因此,有人评论软件工程一直处在慢性的,持续痛苦的状

态.

总的看来.计算机技术的发展趋势呈现为:硬件价格降低,人力费用增加,

应用复杂度增加,社会对软件的依赖程度增加,具体如表1所示:

表1

工具 硬件 软件工程技术

1950

2000

机器码

汇编

第三代语言

4GLs

AI 语言

面向对象

Vacuum tube 电子管

Transistors 晶体管

Semiconductors 半导体

Integrated circuits集成电路

Parallel Processing 并行处理

VLSI 超大规模集成电路

结构化程序设计

功能分解

结构分析

以数据为中心的分析

面向对象的分析

3.1 结构化程序设计

结构化程序设计(Structured Programming, SProg)方法始于60年代后期,

典型的代表是Goto语句从软件中驱逐出来.其动机就是改进软件源码的结构,

增加软件的鲁棒性和可靠性.但随着系统复杂度的提高,单独使用结构化方法并

不能保证软件的质量.尽管使用了结构化方法,开发出来的软件依然难于理解和

使用.于是导致了功能分解技术的出现.

3.2 功能分解

功能分解(Functional Decomposition, FD)技术是一个过程方法,它将要实

现的最终系统分解成一系列逐步细化的概念化的模块(conceptualization).概念

之间的关系用结构图(structure Chart)来表示.FD通常在面向过程的paradigm

中使用.这些系统的概念模块是以面向过程的方式定义的.(每一个模块代表一

个过程或者子过程).FD的目标提供一种方法通过抽象来逐步求精地理解系统,

其开发的产品具有良好的结构.系统的概念模型和表示与源代码的结构是一致

的.这种方法今天依然在使用,但结构图已经不能提供足够的信息来保证可以得

到一个结构良好,准确的解决方案了.为了增加一些必要的信息,出现了结构化

分析与设计方法.

3.3 结构化分析与设计

结构化分析与设计(Structured Analysis and Design, SAD)的降临标志着第一

个软件工程方法的诞生.它用一组技术共同来表示整个软件开发的过程.SAD

基于SPrag和FD,并进一步用抽象的技术来产生模块化的输出.随着SAD的引

入,最终实现系统的交付变成一系列的里程碑而不仅是一个里程碑.分析要解决

的问题以及解决办法的设计都被认为是软件开发过程的重要步骤.

3.4 以数据为中心的设计方法

以数据为中心的设计方法(Data-Centered Design Method, DCM)的贡献是在

结构化分析中扩充了数据模型,其目的是确定整个组织的数据需求,创建一个中

心的,集成的数据库.单独的应用程序开发并从中心数据库取数据.数据模型用

ER模型表示.ER最初的目的是为关系数据库的设计,建立了数据模型之后,应

用程序的开发就可以用结构化的分析和设计来关注中心数据库的数据.

3.5 面向对象的设计方法

面向对象的方法(Object-Oriented Method, OO)是软件工程方法的又一次飞

跃.对象是一个具有一组状态的实体,并封装了附加于这些状态的操作.状态描

述了对象的属性或特征,操作描述了对象改变其状态的方法以及该对象为其他对

象所提供的服务.面向对象方法认为,人类生活在一个由对象(Object)组成的

世界中.对象可以被归类,描述,组织,组合,创建和操纵.面向对象方法是一

种模型化世界的抽象方法,结构上具有良好的高内聚低耦合特性.采用面向对象

技术设计和开发的软件系统更易于维护,在对系统进行修改时,能够产生较少的

副作用.同时,面向对象技术提出了类,继承,接口等等概念,从而为对象的复

用提供了良好的支持机制.因而采用面向对象技术对软件产品进行设计和开发,

也能够有效地提高软件组织的开发效率.

90年代开始,面向对象方法已经成为软件组织分析,设计和开发软件产品

的首选范型.

3.6 以过程为中心的软件开发方法

前面的各种软件工程方法严格说来,都属于软件产品的实现层技术.它们提

供了一系列方法,技术和工具支持软件被设计为具有良好定义的结构,使得其复

杂度可以得到控制,软件易于实现,易于维护和移植.这些方法和技术在一定程

度上可以改进软件质量,可靠性,结构以及成功交付软件概率.但事实上,单纯

依赖实现层技术并不能够保证软件组织高质量并且高效地开发软件产品,即使到

了今天,软件危机依然存在,甚至由于应用领域的普及,需求的频繁变化,有着

愈演愈烈的趋势.

1. 软件的设计方法出现转移.面向业务过程的方法被面向对象的方法所代

替.但许多人认为OO的方法在工业界使用还不足够成熟.虽然事实并非如此.

2. 一些非技术的管理人员常常把软件理解为是一组计算机指令.从这个观

点看,只有一种任务是软件开发,那就是写指令.技术人员常常通过度量代码行

的进展来迎合管理人员的要求.但软件工程技术的目标是改进代码的质量而不是

代码的数量,所以工业界一些人常常认为软件工程技术对软件开发过程几乎没有

贡献.事实上,当实践好的软件工程技术时,软件开发人员有时会从事一些并不

直接产生代码的活动,这些活动的目标是得到一个模块化的,鲁棒的,可靠的解

决方案.但常常人们只关注了最终实现系统的代码行数量,实现的功能,以及测

试出来的Bug,对软件的形成过程没有给予足够的重视.

显然,信息技术的飞速发展,把软件推到了一个前所未有的重要高度.随着

软件的应用范围,复杂度和规模的急剧增大,传统软件工程基于实体驱动和确定

目标,有序控制的开发模式开始让位于Internet环境下以过程为中心,基于协同

驱动和动态目标,实体聚合的开发模式.软件的生产必然向着工业化和过程化的

方向发展,支持软件开发工业化的方法和技术已经成为影响软件产业发展的重要

因素.

4, 软件过程技术

软件过程概念的形成可以追溯到20世纪60-70年代.1969年,Lehman花费

了一年时间研究IBM公司的编程实践,并首次提出了"编程过程"(programming

process)的概念――"将一个微小的想法转化成二进制程序代码的所有相关技术

和活动的集成".这一概念初步确立了软件过程概念的基础.

人们对软件过程的认识经历了一个从将软件过程当作一个"黑盒子"过渡到

对软件过程产生透彻认识的过程.将软件过程作为一个"黑盒子"来看待,软件

产品(过程输出)则仅仅依赖于产品的需求(输入).在这种模型中,产生软件

产品的过程没有被描述出来.使用这种模型的一个问题是难以估计实现软件产品

的时间和成本.此外,在软件开发项目初期,软件产品的需求往往是非形式化的

和不明确的,因而造成软件开发的输出在很多情况下不是用户所希望的产品.

为了降低软件开发的风险,人们需要打开软件过程的"黑盒子"从而对生成

软件产品的软件过程作出更清晰细致的了解.因此,研究人员提出了软件生命周

期的概念,例如Royce提出的瀑布模型以及Boehm提出的螺旋模型等等.软件

生命周期定义了软件产品开发中的所要经历的一系列不同的阶段,一般包括:需

求分析和规约,设计,开发,确认,安装,应用,维护以及退役等等.同时,软

件生命周期还为如何实现这些不同的开发阶段定义了相关的概念和指导.总的来

说,软件生命周期定义了软件过程的框架和原则.它并没有详细描述软件过程的

活动,组织形式,工具和操作规程,以及开发方针和约束.软件生命周期模型是

定义软件开发如何进行的一个重要的起点,但是单纯应用软件生命周期来指导和

控制软件开发实践仍然是不足的.

20世纪80年代,软件过程技术开始形成一个独立的学科.软件过程的概念

建立在软件生命周期的基础之上,并且提供了一系列更为广泛和全面的概念来设

计和组织与软件开发活动相关的各种要素.软件过程技术是一个集成了组织,文

化,技术以及经济等多种因素的综合性学科.有效地识别,定义,管理和改进组

织的软件过程,对于一个软件组织实现其经营目标,改进其业绩是至关重要的.

总的来说,软件过程技术的意义在于:

1. 在产品实现前估计产品开发的进度和成本:软件组织在系统地识别和管理

其所使用的过程基础上,能够在产品实现之前策划产品从设计,开发到实

现的全部过程.对过程的策划来源于组织对自身业务活动的分析以及以往

项目的成功经验.基于这些分析和经验,组织能够有效地估计产品开发的

进度和成本.

2. 有效地利用资源,降低成本,缩短周期:资源是实现软件产品开发的必要

条件.通过确定产品实现的过程,软件组织就可以根据过程实现所需要的

资源要求有目的地并且有效地投入和利用资源,防止资源不足或浪费.有

效地利用资源可以降低产品开发的成本,提高软件开发所产生的效益,从

而使顾客和所有其它相关方受益.

3. 确保软件产品开发及软件产品质量的稳定性和持续性:软件过程的一致遵

循和有效控制能够使产品的生产和产品的质量保持持续稳定的状态,使得

软件产品的质量变成可预期的指标.持续稳定的开发过程能够有效地降低

不合格的产生,从而降低开发的成本,提高软件产品的质量.

4. 对软件产品开发的全过程进行有效地监控,尽可能早地发现问题或可能产

生问题的趋势,并予以解决:软件过程的识别和控制使得对软件产品生产

过程的监控成为可能.通过对过程特征的考察和分析,软件组织能够确定

有效的监控措施以确保过程的执行不会偏离预期的目标或超过规定的阈

值.通过对过程参数的监测和分析,组织能够在过程出现不稳定或出现变

坏的趋势时及时采取必要的措施,防止问题的产生.

5. 发现改进的机会,以及确定过程改进实施的优先次序:软件组织持续改进

其业绩的重点在于过程改进.对于改进产品质量来说,改进其生产过程是

更根本的.过程定义为过程改进提供了必要的基础.良好定义的过程有利

于对过程特点和性能的考察和分析,也有利于取得过程改进所需要的信

息.同时,系统地考察组织内的过程,分析其相互关系,有利于发现改进

的关键区域,确定过程改进实施的优先次序.

6. 有效的实现和改进软件产品的质量,使所有相关方获益:良好定义的软件

过程能够持续稳定地实现产品的质量.软件组织能够通过不断地改进软件

过程从而使其产品更好地满足顾客的要求和期望.产品质量的提高,组织

过程的改进最终能够使所有相关方获益.

7. 再现组织自己或其他组织的成功经验:软件过程模型能够使软件组织将以

往的成功经验以正规的形式予以保持,并且在未来的项目中予以重现.组

织还可以参考其他类似组织的好的管理和生产经验,并以软件过程模型的

形式确定下来,从而指导自己的生产和管理,为自己带来效益.

4.1 软件过程管理及软件过程改进

80年代初,软件产业逐步进入过程化生产的时代,同时一些重要的国际标准

和模型纷纷提出,其中最主要的三个流派是:CMM/PSP/TSP,ISO 9000 系列和

ISO/IEC15504 标准,其中以美国国防部支持的CMM/PSP/TSP流派研究得最为

深入,在软件领域应用得最为广泛.

4.1.1 CMM系列模型

软件工程20世纪60年代开始研究支持软件开发活动的CASE技术和工具,

其间研究硕果累累,但对软件产业的发展却没有起到预期的作用.此时人们意识

到,单纯依靠软件产品的实现技术并不能够解决软件危机所带来的问题.软件产

品的生产是一个多人协作的复杂活动.成功地开发大型软件系统,还需要相关的

方法和技术对软件开发过程实施管理.

20世纪80年代,卡内基-梅隆大学(CMU-Carnegie Mellon University)的

软件工程研究所(SEI-Software Engineering Institute)在美国DoD的支持下,提

出了评价软件供应商过程能力的模型CMM(Capability Maturity Model).1987

年,SEI首先提出了能力成熟度框架,并于1991年和1993年陆续推出了CMM

模型的1.0版和1.1版.此后SEI针对具体软件生产要求,进一步推出SA-,SE-,

IPPD-,P-CMM等一系列成熟度模型.为了和其它模型相区别,SEI将最初的CMM

更名为SW-CMM.CMM将组织的成熟能力划分为五个等级,这五个等级定义了

度量软件组织生产过程成熟度的标准,以及评估软件组织生产能力的标准.

CMM模型为软件组织提供了一个分层的,螺旋上升的过程改进途径.软件

过程管理涉及很多问题,CMM最大的贡献在于指出了软件组织处于不同的能力

成熟度级别时,所应关注和改进的关键问题(关键过程域).这就使得软件组织

能够了解在其当前状态下所最迫切需要解决的问题,从而更加有效地实施过程改

进.

为了整合现有CMM模型和相关的工作,1998年,SEI启动了CMMI(CMM

Integration)计划,并于2000年8月11日推出CMMI SE/SW v1.0正式版.已经

开始的SW-CMM v2.0的草案停止推进并被集成在CMMI框架中.目前已经推出

集成了系统工程,软件工程,集成产品和过程开发,供应商管理四部分的

CMMI-SE/SW/IPPD/SS(CMMI for Systems Engineering,Software Engineering,

Integrated Product and Process Development,and Supplier Sourcing)1.1版. CMMI

通过提供统一的过程改进框架,消除了不同模型之间的不一致性和重复性,同时

也降低基于模型进行过程改善的成本.另外,CMMI提供了两种模型表示方式―

―分级(staged)模型表示和连续(continuous)模型表示.

CMMI 分级模型主要对应于已有的CMM模型,依然分为五个成熟度级别,

CMMI连续模型摒弃了传统的台阶式上升的模型.它认为软件组织的改进是持续

的,并从它自身最希望的,可以给组织带来效益的地方进行.因此组织完全有理

由把某些过程域的成熟度能力提高到很高级别,而把其它某些过程域继续留在较

低级别.连续模型为组织的过程改进提供更加方便的途径,并且在结构上和正在

制定中的ISO15504兼容.

CMM的出现带来了软件产业发展新的浪潮,为软件大规模生产带来了生机.

CMM以及相关技术的推广和应用使人们逐渐认识到:技术提高和过程改善同时

进行,才是促进软件产业发展的最佳途径.

此外,人对过程改进和技术提高依然起着非常重要的作用,如图2所示.

人技术

过程

图2:人,过程和技术的三角形关系

从图2我们可以看到,人,过程和技术共同构成了一个相互支持,相互制约,

均衡发展的三角形.事实上,人是过程和技术的主体,人,过程和技术三位一体

构成现代企业全面质量管理的核心内容.其中:

过程:指产品生产的过程,如计划,跟踪,度量,审计等等,以及过程

流程,如生产线,工序等

技术:指产品生产的技术,譬如工艺,软件的需求分析技术,设计技术,

编码技术,测试技术等等

人:指可以胜任过程管理和技术活动的人力资源.这就涉及到要招聘合

适的人才,对组织内的员工进行培训,提供人员之间有效沟通的

渠道,以及客户/供应商/合作伙伴之间的关系维护

可以看到,现代企业(组织)管理都围绕这个铁三角在运行,过程是三角形

的支点,过程通过一系列相互关联的方针,程序和规则将企业的经营活动串起来,

形成企业的业务流程;人是过程的执行者,其行为规范要受到过程的约束,并在

执行中接受必要的服务支持,通常表现为一组支持过程;技术则要通过过程来实

现,通常表现为一组工程过程.可见企业中一切活动都是过程,或者过程的一部

分.过程成为企业(组织)管理的中心.

对软件组织而言,软件生产环节中的所有过程组成软件过程.CMMI将软件

关于参与公司的CMMI评级

那编程能力实在是太强了,而且开发经验丰富。你要想成为程序员就一定要做好吃苦的准备,还有一点要说明,做这个行业不是早结婚,就是晚结婚,这是不争的事实。

学好某一门语言或学好多门语言只是成为一名合格的程序员必备的条件之一,重要的是软件工程所要走的一个流程,看一下CMMi方面的资料会对你有一些好处.

(Capability Maturity Model Integration,能力成熟度模式整合)

CMMI( Capability Maturity Model Integration)的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题, 50多年来计算的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。基於模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能力稳定的进行改善,该组织也能变得更加成熟。

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

CMMI是一个可以改进系统工程和软件工程的整合模式。1997年10月SEI停止对CMM的研究,改而致力於CMMI,以解决使用多个过程改进模型的问题。SEI同时宣布CMMI将取代CMM,与2000年8月11日颁布了CMMI-SE/SW 1.0版本,2001年12月颁布了1.1版本,这次发布标志著CMMI正式启用,并准备今年内完成CMM到CMMI的过渡。说到CMMI就不能不提CMM。

CMM

CMM框架用5个不断进化的层次来评定软件生产的历史与现状:初始级描述了不成熟,或者说是未定义的过程的组织,是混沌的过程以不可预测结果为特徵;可重复级是经过训练的软件过程;已定义级是标准一致的软件过程,以组织内改进项目执行为特徵;已管理级是可预测的软件过程,以改进组织性能为特徵;优化级是能持续改善的软件过程,以可快速进行重新配置的组织性能,和定量的、持续的过程改进为特徵。任何单位所实施的软件过程,都可能在某一方面比较成熟,在另一方面不够成熟,但总体上必然属於这5个层次中的某一个层次。

CMM包括两部分"软件能力成熟度模型"和"能力成熟度模型的关键过程域"。"软件能力成熟度模型"主要是描述此模型的结构,并且给出该模型的基本构件的定义。"能力成熟度模型的关键过程域"详细描述了每个关键过程方面涉及的过程域。

可重复级关键过程域:需求管理,软件项目计划,软件项目跟踪和监控,软件子合同管理,软件质量保证,软件配置管理。

已定义级关键过程域:组织级过程焦点,组织级过程定义,培训大纲,集成软件管理,软件产品工程,组间协调,同行评审。

已管理级关键过程域:定量过程管理,软件质量管理。

优化级关键过程域:缺陷预防,技术更新管理,过程更改管理。

多数组织的基本目标是达到成熟度3级。评估组织当前的成熟度级别的手段之一是软件能力评估(SCE)。SCE通过评估软件过程(一般以方针陈述的形式)和项目实践来确定该组织是否言行一致。组织的过程体现了如实记录所做的工作,项目实施(对该过程的特定剪裁和解释)应该证明说到做到。

现在全球许多不同的组织以CMM为协助企业作全面的过程改进活动,除了肯定其软件成熟度外,更像征具有跨足国际市场的能力。现在通过CMM5级认证的组织达到了一百多家。

CMMI

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

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

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

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

CMMI的原则:

1. 强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的、一致的支持是过程改进的关键。

2. 仔细确定改进目标,首先应该对给定时间内的所能完成的改进目标进行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效益。

3. 选择最佳实践,应该基於组织现有的软件活动和过程财富,参考其他标准模型,取其精华去其糟粕,得到新的实践活动模型。

4. 过程改进要与组织的商务目标一致,与发展战略紧密结合。

CMMI目标:

1. 为提高组织过程和管理产品开发、发布和维护能力的提供保障。

2. 帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。

CMMI的方法:

1 决定哪个CMMI模型等级最适合组织过程改进需要。

2 选择模型的表示法是连续式还是阶段式。

3 决定组织需要用到的模型中的知识领域。

4 类似CMM提出的过程改进6步,集成化过程改进分成:开始集成过程改进,建造集成改善平台,集成传统过程,启动新过程,进行改 进评估。

CMMI内容

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

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

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

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

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

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

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

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

======================================================================

CMMI 模型的前身是 SW-CMM 和 SE-CMM,前者就是我们指的CMM。CMMI与SW-CMM的主要区别就是覆盖了许多领域;到目前为止包括四个下面领域:

1.软件工程(SW-CMM)

软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。

2.系统工程(SE-CMM)

系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。系统工程的核心是将客户的需求、期望和约束条件转化为产品解决方案,并对解决方案的实现提供全程的支持。

3.集成的产品和过程开发(IPPD-CMM)

集成的产品和过程开发是指在产品生命周期中,通过所有相关人员的通力合作,采用系统化的进程来更好地满足客户的需求、期望和要求。如果项目或企业选择IPPD进程,则需要选用模型中所有与IPPD相关的实践。

4.采购(SS-CMM)

采购的内容适用於那些供应商的行为对项目的成功与否起到关键作用的项目。主要内容包括:识别并评价产品的潜在来源、确定需要采购的产品的目标供应商、监控并分析供应商的实施过程、评价供应商提供的工作产品以及对供应协议和供应关系进行适当的调整。

在以上模块中,企业可以选择软件工程,或系统工程,也可以都选择。集成的产品和过程开发和采购主要是配合软件工程和系统工程的内容使用。例如,纯软件企业可以选择CMMI中的软件工程的内容;设备制造企业可以选择系统工程和采购;集成的企业可以选择软件工程、系统工程和集成的产品和过程开发。CMMI中的大部分内容是适用各不同领域的,但是实施中会有显著的差别,因此模型中提供了"不同领域应用详解"。

CMM的基於活动的度量方法和瀑布过程的有次序的、基於活动的管理规范有非常密切的联系,更适合瀑布型的开发过程。而CMMI相对CMM更一步支持迭代开发过程和经济动机推动组织采用基於结果的方法:开发业务案例、构想和原型方案;细化后纳入基线结构、可用发布,最后定为现场版本的发布。虽然CMMI保留了基於活动的方法,它的确集成了软件产业内很多现代的最好的实践,因此它很大程度上淡化了和瀑布思想的联系。

在 CMMI 模型中在保留了CMM阶段式模式的基础上,出现了连续式模型,这样可以帮助一个组织以及这个组织的客户更加客观和全面的了解它的过程成熟度。同时,连续模型的采用可以给一个组织在进行过程改进的时候带来更大的自主性,不用再像CMM 中 一样,受到等级的严格限制。这种改进的好处是灵活性和客观性强,弱点在於由於缺乏指导,一个组织可能缺乏对关键过程域之间依赖关系的正确理解而片面的实施过程,造成一些过程成为空中楼阁,缺少其他过程的支撑。两种表现方式(连续的和阶段的)从他们所涵盖的过程区域上来说并没有不同,不同的是过程区域的组织方式以及对成熟度(能力)级别的判断方式。

CMMI 模型中比 CMM 进一步强化了对需求的重视。在 CMM 中,关於需求只有需求管理这一个关键过程域,也就是说,强调对有质量的需求进行管理,而如何获取需求则没有提出明确的要求。在CMMI的阶段模型中,3 级有一个独立的关键过程域叫做需求开发,提出了对如何获取优秀的需求的要求和方法。CMMI 模型对工程活动进行了一定的强化。在CMM中,只有3级中的软件产品工程和同行评审两个关键过程域是与工程过程密切相关的,而在CMMI中,则将需求开发,验证,确认,技术解决方案,产品集成这些工程过程活动都作为单独的关键过程域进行了要求,从而在实践上提出了对工程的更高要求和更具体的指导。CMMI中还强调了风险管理。不像在CMM 中把风险的管理分散在项目计划和项目跟踪与监控中进行要求,CMMI3级里单独提出了一个独立的关键过程域叫做风险管理。

cmml是什么认证

1.经验值

2.是的,经验越多越好

(Capability Maturity Model Integration,能力成熟度模式整合)

CMMI( Capability Maturity Model Integration)的本质是软件管理工程的一个部分。软件过程改善是当前软件管理工程的核心问题, 50多年来计算的发展使人们认识到要高效率、高质量和低成本地开发软件,必须改善软件生产过程。基於模型的过程改进是指用采用能力模型来指导组织的过程改进,使之过程能力稳定的进行改善,该组织也能变得更加成熟。

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

CMMI

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

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

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

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

CMMI的原则:

1. 强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的、一致的支持是过程改进的关键。

2. 仔细确定改进目标,首先应该对给定时间内的所能完成的改进目标进行正确的估计和定义并制定计划。选择能够达到的目标和能够看到对组织的效益。

3. 选择最佳实践,应该基於组织现有的软件活动和过程财富,参考其他标准模型,取其精华去其糟粕,得到新的实践活动模型。

4. 过程改进要与组织的商务目标一致,与发展战略紧密结合。

CMMI目标:

1. 为提高组织过程和管理产品开发、发布和维护能力的提供保障。

2. 帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。

CMMI的方法:

1 决定哪个CMMI模型等级最适合组织过程改进需要。

2 选择模型的表示法是连续式还是阶段式。

3 决定组织需要用到的模型中的知识领域。

4 类似CMM提出的过程改进6步,集成化过程改进分成:开始集成过程改进,建造集成改善平台,集成传统过程,启动新过程,进行改 进评估。

CMMI内容

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

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

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

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

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

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

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

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

CMMI 模型的前身是 SW-CMM 和 SE-CMM,前者就是我们指的CMM。CMMI与SW-CMM的主要区别就是覆盖了许多领域;到目前为止包括四个下面领域:

1.软件工程(SW-CMM)

软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。

2.系统工程(SE-CMM)

系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。系统工程的核心是将客户的需求、期望和约束条件转化为产品解决方案,并对解决方案的实现提供全程的支持。

3.集成的产品和过程开发(IPPD-CMM)

集成的产品和过程开发是指在产品生命周期中,通过所有相关人员的通力合作,采用系统化的进程来更好地满足客户的需求、期望和要求。如果项目或企业选择IPPD进程,则需要选用模型中所有与IPPD相关的实践。

4.采购(SS-CMM)

采购的内容适用於那些供应商的行为对项目的成功与否起到关键作用的项目。主要内容包括:识别并评价产品的潜在来源、确定需要采购的产品的目标供应商、监控并分析供应商的实施过程、评价供应商提供的工作产品以及对供应协议和供应关系进行适当的调整。

在以上模块中,企业可以选择软件工程,或系统工程,也可以都选择。集成的产品和过程开发和采购主要是配合软件工程和系统工程的内容使用。例如,纯软件企业可以选择CMMI中的软件工程的内容;设备制造企业可以选择系统工程和采购;集成的企业可以选择软件工程、系统工程和集成的产品和过程开发。CMMI中的大部分内容是适用各不同领域的,但是实施中会有显著的差别,因此模型中提供了"不同领域应用详解"。

CMM的基於活动的度量方法和瀑布过程的有次序的、基於活动的管理规范有非常密切的联系,更适合瀑布型的开发过程。而CMMI相对CMM更一步支持迭代开发过程和经济动机推动组织采用基於结果的方法:开发业务案例、构想和原型方案;细化后纳入基线结构、可用发布,最后定为现场版本的发布。虽然CMMI保留了基於活动的方法,它的确集成了软件产业内很多现代的最好的实践,因此它很大程度上淡化了和瀑布思想的联系。

在 CMMI 模型中在保留了CMM阶段式模式的基础上,出现了连续式模型,这样可以帮助一个组织以及这个组织的客户更加客观和全面的了解它的过程成熟度。同时,连续模型的采用可以给一个组织在进行过程改进的时候带来更大的自主性,不用再像CMM 中 一样,受到等级的严格限制。这种改进的好处是灵活性和客观性强,弱点在於由於缺乏指导,一个组织可能缺乏对关键过程域之间依赖关系的正确理解而片面的实施过程,造成一些过程成为空中楼阁,缺少其他过程的支撑。两种表现方式(连续的和阶段的)从他们所涵盖的过程区域上来说并没有不同,不同的是过程区域的组织方式以及对成熟度(能力)级别的判断方式。

CMMI 模型中比 CMM 进一步强化了对需求的重视。在 CMM 中,关於需求只有需求管理这一个关键过程域,也就是说,强调对有质量的需求进行管理,而如何获取需求则没有提出明确的要求。在CMMI的阶段模型中,3 级有一个独立的关键过程域叫做需求开发,提出了对如何获取优秀的需求的要求和方法。CMMI 模型对工程活动进行了一定的强化。在CMM中,只有3级中的软件产品工程和同行评审两个关键过程域是与工程过程密切相关的,而在CMMI中,则将需求开发,验证,确认,技术解决方案,产品集成这些工程过程活动都作为单独的关键过程域进行了要求,从而在实践上提出了对工程的更高要求和更具体的指导。CMMI中还强调了风险管理。不像在CMM 中把风险的管理分散在项目计划和项目跟踪与监控中进行要求,CMMI3级里单独提出了一个独立的关键过程域叫做风险管理。

什么CMMI Level 2 认证?

CMMI 的全称为:Capability Maturity Model Integration,即能力成熟度模型集成。CMMI是CMM模型的最新版本。早期的CMMI(CMMI-SE/SW/IPPD)1.02版本是应用于软件业项目的管理方法,SEI在部分国家和地区开始推广和试用。随着应用的推广与模型本身的发展,演绎成为一种被广泛应用的综合性模型。

自从1994 年SEI 正式发布软件CMM 以来,相继又开发出了系统工程、软件采购、人力资源管理以及集成产品和过程开发方面的多个能力成熟度模型。虽然这些模型在许多组织都得到了良好的应用,但对于一些大型软件企业来说,可能会出现需要同时采用多种模型来改进自己多方面过程能力的情况。这时他们就会发现存在一些问题,其中主要问题体现在:

n 不能集中其不同过程改进的能力以取得更大成绩;

n 要进行一些重复的培训、评估和改进活动,因而增加了许多成本;

n 遇到不同模型中有一些对相同事物说法不一致,或活动不协调,甚至相抵触。

于是,希望整合不同CMM 模型的需求产生了。1997 年,美国联邦航空管理局(FAA)开发了FAA-iCMMSM(联邦航空管理局的集成CMM),该模型集成了适用于系统工程的SE-CMM、软件获取的SA-CMM 和软件的SW-CMM 三个模型中的所有原则、概念和实践。该模型被认为是第一个集成化的模型。

CMMI 与CMM 最大的不同点在于: CMMISM-SE/SW/IPPD/SS 1.1 版本有四个集成成分,即:系统工程(SE)和软件工程(SW)是基本的科目,对于有些组织还可以应用集成产品和过程开发方面(IPPD)的内容,如果涉及到供应商外包管理可以相应的应用SS(Supplier Sourcing)部分。

CMMI 有两种表示方法,一种是大家很熟悉的,和软件CMM 一样的阶段式表现方法,另一种是连续式的表现方法。这两种表现方法的区别是:阶段式表现方法仍然把CMMI 中的若干个过程区域分成了5 个成熟度级别,帮助实施CMMI 的组织建议一条比较容易实现的过程改进发展道路。而连续式表现方法则通过将CMMI 中过程区域分为四大类:过程管理、项目管理、工程以及支持。对于每个大类中的过程区域,又进一步分为基本的和高级的。这样,在按照连续式表示方法实施CMMI的时候,一个组织可以把项目管理或者其他某类的实践一直做到最好,而其他方面的过程区域可以完全不必考虑。

CMMI各个进程的关键元素

CMMI自出道以来,它所达到的目标就没有变过,第一个是质量,第二个是时间表,第三就是要用最低的成本。不过特别强调的是,CMMI不是传统的、仅局限于软件开发的生命周期,它应该被运用于更广泛的一个范畴——工程设计的生命周期。TSP的建立,也是为了支持CMMI的这样一个系统。 那么CMMI究竟是什么呢?它并不是一个过程,也不是告诉你怎么去做一件事情。如果用一句话来概括什么是CMMI,它就是各个进程的一个关键的元素,在很多领域里面一个集成的点。它是这样的一个基本架构,能够用来度量你的有效性和实用性;能够找出这样的一些机会,继续改进的机会,包括在商业目标、策略还有降低项目的风险等方面。

一、CMMI的起源

随着人们对CMM研究的不断深入,其他学科也结合本系统的特点,陆续推出了自己的CMM模型。例如,人力资源能力成熟度模型、系统工程能力成熟度模型等等:

(1) SW-CMM (Software CMM) 软件CMM

(2) SE-CMM (System Engineering CMM) 系统工程CMM

(3) SA-CMM (Software Acquisition CMM) 软件采购CMM

(4) IPT-CMM (Integrated Product Team CMM) 集成产品群组CMM

(5) P-CMM (People CMM) 人力资源能力成熟度模型

为了以示区别,国内外很多资料把CMM叫做SW-CMM。按照SEI原来的计划,CMM的改进版本2.0应该在1997年11月完成,然后在取得版本2.0得实践反馈意见之后,在1999年完成准CMM2.0版本。但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更为紧迫的项目CMMI。

CMMI(Capability Maturity Model Integration)即能力成熟度集成模型,这也是美国国防部的一个设想,他们想把现在所有的以及将被发展出来的各种能力成熟度模型,集成到一个框架中去。这个框架有两个功能,第一,软件采购方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进。就软件而言,CMMI是SW-CMM的修订本。它兼收了SW-CMM 2.0版C稿草案和SPA中更合理、更科学和更周密的优点。SEI在发表CMMI-SE/SW 1.0版时,宣布大约用两年的时间完成从CMM到CMMI的过渡。

CMMI项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。

二、实施CMMI的意义

很多人认为,实施CMMI的意义在于项目工程走向世界,可以在西方国家接到订单。实际上,这只是我国企业实施CMMI的意义的很小一部分。更为重要的意义则是,CMMI的实施能够提高我国企业的管理水平。降低企业的工程成本。事实表明,企业实施CMMI技术的投入都会得到丰厚的回报。据SEI统计,用于软件项目上的CMMI的投资,其回报率在5:1到8:1之间。由此可见,为什么这么多的企业纷纷实施CMMI项目管理技术。

近年来,很多软件企业纷纷实施CMMI管理模式,这一方面反映了我国企业在进入WTO后的危机意识,以及与世界接轨的迫切愿望。另一方面则反映出我国软件企业在改进管理方法上所作的努力。但是CMMI到底能够为我们做什么呢?实际上这个问题对不同的人有不同的答案。对采购部门的人员来说,掌握了CMMI技术可以有目的地考察项目实施人员或公司的实施能力,从而保证所采购的项目能够顺利完成。对于项目经理来说,掌握CMMI技术能够提高自己的管理能力,从而能够使项目高质量,低成本,按期限地完成。对于企业老总来说,CMMI还能够引入科学的管理理念,提升企业的整体管理水平。

在美国,很多企业通过CMMI评估,一方面为了满足承包国防工程或一些大企业的工程的要求,另一方面也是为了提高企业自身的管理能力。美国政府的工程项目,绝大多数都要求承包商有一定的CMMI级别作为参加投标的资格。越来越多的大型企业开始要求其工程承包商具有一定的CMMI级别。级别高的企业在赢得项目的竞标中具有一定的优势。因此,如果没有CMMI的等级评估,企业就会失去很多商机。

三、CMMI的两种实施方法

CMMI有两种不同的实施方法,不同的实施方法,其级别表示不同的内容。CMMI的一实施方法为连续式,主要是衡量一个企业的项目能力。企业在接受评估时可以选择自己希望评估的项目来进行评估。因为是企业自己挑选项目,其评估通过的可能性就较大一点。但是,它反映的内容也比较窄一点。它仅仅表示企业在该项目或类似项目的实施能力达到了某一等级。而另一种实施方法为阶段性。它主要是衡量一个企业的成熟度,亦即是企业在项目实施上的综合实力。企业在进行评估时,一定要由评估师来挑选企业内部的任何项目,甚至于任何项目的任何部分。一般地讲,一个企业要想在阶段性评估中得到三级,其企业内部的大部分项目要达到三级,小部分项目可以在二级,但绝不能够有一级。阶段性实施方法的难度要大一些。

虽然,CMMI的表述方式不同,但其实质内容是完全一样的。是同一种方法的两种不同的表述方式。企业在准备评估时要做的准备工作也是完全一样的。这些工作对企业的管理上的帮助也是一样的。因此,不管企业需要做什么样的评估,企业所获取的实惠应该是差别不大。具体要做连续性评估,还是做阶段性评估则要看企业对等级评估证书的具体要求。

四、CMMI可以帮助我们做什么

近年来,很多软件企业纷纷实施CMMI管理模式,不少企业如:东软,托普,华为等企业通过了三级或四级评估。 这一方面反映了我国企业在进入WTO后的危机意识,以及与世界接轨的迫切愿望。另一方面则反映出我国软件企业在改进管理方法上所作的努力。但是CMMI到底能够为我们做什么呢?实际上这个问题对不同的人有不同的答案。对采购部门的人员来说,掌握了CMMI技术可以有目的地考察项目实施人员或公司的实施能力,从而保证所采购的项目能够顺利完成。对于项目经理来说,掌握CMMI技术能够提高自己的项目管理能力, 从而能够使项目高质量,低成本,按期限地完成。 对于企业老总来说,CMMI技术不仅能够提升企业的管理水平,还能够引入科学的管理理念,提升企业的整体管理水平。

在美国,很多企业通过CMMI评估一方面为了满足承包国防工程或一些大企业的工程的要求, 另一方面也是为了提高企业自身的管理能力。美国政府的工程项目,绝大多数都要求承包商具有一定的CMMI级别作为参加投标的资格。越来越多的大型企业业开始要求其工程承包商具有一定的CMMI级别。级别高的企业在赢得项目的竞标中具有一定的优势。 因此,如果没有CMMI的等级评估,企业就会失去很多商机。另一方面,企业通过CMMI评估也是为了提升企业内部的管理水平,降低企业的工程成本。企业在实施CMMI技术的投入都会得到丰厚的回报。据SEI统计,用于软件项目上的CMMI的投资,其回报率在5:1到8:1之间。由此可见,为什么这么多的企业纷纷实施CMMI项目管理技术。

五、CMMI的基本表述

如果一家企业对外宣称自己通过了CMMI三级评估,外行的人会觉得还不错,因为三级比二级要高。 内行的人则要问通过了三级什么? 因为,CMMI有两种不同的表述方式,不同的表述方式,其级别表示不同的内容。CMMI的一种表述方式为连续表述,主要是衡量一个企业的项目能力。企业在接受评估时可以选择自己希望评估的项目来进行评估。因为是企业自己挑选项目,其评估通过的可能性就较大一点。但是,它反映的内容也比较窄一点。它仅仅表示企业在该项目或类似项目的实施能力达到了某一等级。而另一种表述方式为阶段性。它主要是衡量一个企业的成熟度,也即是企业在项目实施上的综合实力。企业在进行评估时,一定要由评估师来挑选企业内部的任何项目,甚至于任何项目的任何部分。一般地讲,一个企业要想在阶段性评估中得到三级,其企业内部的大部分项目要达到三级,小部分项目可以在二级,但绝不能够有一级。阶段性表述的难度要大一些。

虽然,CMMI的表述方式不同,但其实质内容是完全一样的。是同一种方法的两种不同的表达方式。企业在准备评估时要做的准备工作也是完全一样的。这些工作对企业的管理上的帮助也是一样的。因此,不能企业需要做什么样的评估,企业所获取的实惠应该是差别不大。具体要做连续性评估,还是做阶段性评估则是看企业对等级评估证书的具体要求。

六、CMMI的五个台阶

台阶一:CMMI一级,完成级。在完成级水平上,企业对项目的目标与要做的努力很清晰,项目的目标得以实现。但是由于任务的完成带有很大的偶然性,企业无法保证在实施同类项目的时候仍然能够完成任务。企业在一级上的项目实施对实施人员有很大的依赖性。

台阶二:CMMI二级,管理级。在管理级水平上,企业在项目实施上能够遵守既定的计划与流程,有资源准备,权责到人,对相关的项目实施人员有相应的培训,对整个流程有监测与控制,并与上级单位对项目与流程进行审查。企业在二级水平上体现了对项目的一系列的管理程序。这一系列的管理手段排除了企业在一级时完成任务的随机性,保证了企业的所有项目实施都会得到成功。

台阶三:CMMI三级,定义级。在定义级水平上,企业不仅能够对项目的实施有一整套的管理措施,并保障项目的完成;而且,企业能够根据自身的特殊情况以及自己的标准流程,将这套管理体系与流程予以制度化这样,企业不仅能够在同类的项目上生到成功的实施,在不同类的项目上一样能够得到成功的实施。科学的管理成为企业的一种文化,企业的组织财富。

台阶四:CMMI四级,量化管理级。在量化管理级水平上,企业的项目管理不仅形成了一种制度,而且要实现数字化的管理。对管理流程要做到量化与数字化。通过量化技术来实现流程的稳定性,实现管理的精度,降低项目实施在质量上的波动。

台阶五:CMMI五级,优化级。在优化级水平上,企业的项目管理达到了最高的境界。企业不仅能够通过信息手段与数字化手段来实现对项目的管理,而且能够充分利用信息资料,对企业在项目实施的过程中可能出现的次品予以预防。能够主动地改善流程,运用新技术,实现流程的优化。

由上述的五个台阶我们可以看出,每一个台阶都是上面一阶台阶的基石。要上高层台阶必须首先踏上较低一层台阶。企业在实施CMMI的时候,路要一步一步地走。一般地讲,应该先从二级入手。在管理上下功夫。争取最终实现CMMI的第五级。

已管理级

具体 你可以百度。CMMI

应该是软件的吧,SW-CMM。

一般公司都会有2 到 3的等级吧。

一个分五级,五级是最高的。

就是一套软件开发的模型,体系。让软件开发更科学,合理,符合用户要求。自然,能更赚钱。