《软件能力成熟度模型sw-cmm教学文案.ppt》由会员分享,可在线阅读,更多相关《软件能力成熟度模型sw-cmm教学文案.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件能力成熟度模型SW-CMM内内 容容 SW-CMMSW-CMM是什么?是什么?SW-CMMSW-CMM的由来和发展的由来和发展 SW-CMMSW-CMM的管理思想与结构的管理思想与结构 SW-CMMSW-CMM评估的国内外现状评估的国内外现状 ISO 9001 ISO 9001与与SW-CMMSW-CMM异同异同 软件业对软件业对SW-CMMSW-CMM的认识的认识 SW-CMMSW-CMM市场存在的问题市场存在的问题 我们怎么办?我们怎么办?什么是什么是SW-CMMSW-CMM?SW-CMMSW-CMM称为软件能力成熟度模型,是称为软件能力成熟度模型,是CapabilityCapabil
2、ityMaturityModelforSoftwareMaturityModelforSoftware的缩写形式。的缩写形式。目前国际上最流行最实用的软件生产过程标准和目前国际上最流行最实用的软件生产过程标准和软件企业成熟度等级认证标准。用于评价软件承软件企业成熟度等级认证标准。用于评价软件承包能力并帮助其改善软件质量的方法。包能力并帮助其改善软件质量的方法。美国卡内基美国卡内基-梅隆大学的软件工程研究所梅隆大学的软件工程研究所(SEI(SEI:SoftwareEngineeringInstitute)SoftwareEngineeringInstitute)在在19871987年研制成年研制
3、成功。功。卡内基卡内基-梅隆大学的软件工程研究所是美国国防梅隆大学的软件工程研究所是美国国防部的软件开发基地之一,部的软件开发基地之一,CMMCMM就是受美国国防部就是受美国国防部委托而研制的。委托而研制的。SW-CMMSW-CMM是什么?(续一)是什么?(续一)SEISEI给给CMMCMM下的定义下的定义:对于软件组织在定义、实现、度量、控制和改善其软件过程的各个发展阶段的描述。这个模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面的最关键的问题,从而为选择过程改进战略提供指南。如今的行情是:一家软件企业如果不能通过相应等级的CMM评估,他的产品就少了一张进入国际市场的通行证。
4、SW-CMMSW-CMM的由来与发展的由来与发展TheCapabilityMaturityModelforSoftware,Version1.1(Mr.MarcC.Paulk):Themajorproblemsinsoftwaredevelopmentaremanagerialnottechnical.SW-CMMSW-CMM的由来与发展(续一)的由来与发展(续一)2020世纪世纪6060年代中期,大型软件系统生产中爆发的软年代中期,大型软件系统生产中爆发的软件危机,使程序中大量的错误难以消除,软件生产件危机,使程序中大量的错误难以消除,软件生产的进度无法预测,开发应用费用失去控制,程序员的进
5、度无法预测,开发应用费用失去控制,程序员人数增长需求很难满足要求。人数增长需求很难满足要求。人们将工程的概念、原理、技术和方法引入了软件人们将工程的概念、原理、技术和方法引入了软件系统开发,在一定程度上解决了软件生产过程中遇系统开发,在一定程度上解决了软件生产过程中遇到的问题。软件工程成为软件产业的重要分支。到的问题。软件工程成为软件产业的重要分支。直至直至8080年代还是没有提出一套管理软件开发的通用年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。原则,软件管理不善的问题依旧在大范围内存在。SW-CMMSW-CMM的由来与发展(续二)的由来与发展(续二)70
6、70年代中期美国国防部曾立题专门研究软件项目做年代中期美国国防部曾立题专门研究软件项目做不好的原因,发现不好的原因,发现70%70%的项目是因为管理不善而引的项目是因为管理不善而引起,而并不是因为技术实力不够。起,而并不是因为技术实力不够。9090年代中期,软件工程管理不善的问题仍然存在。年代中期,软件工程管理不善的问题仍然存在。据美国软件工程实施现状的调查,大约只有据美国软件工程实施现状的调查,大约只有10%10%的的项目能够在预定的费用和进度下交付。项目能够在预定的费用和进度下交付。19951995年,美国共取消了年,美国共取消了810810亿美元的软件项目,其亿美元的软件项目,其中中31
7、%31%的项目未做完就取消了,的项目未做完就取消了,53%53%的软件项目进的软件项目进度通常要延长度通常要延长50%50%的时间,通常只有的时间,通常只有9%9%的软件项目的软件项目能够及时交付并且费用也不超支。能够及时交付并且费用也不超支。结论:结论:管理是影响软件研发项目全局的因素,而技术管理是影响软件研发项目全局的因素,而技术只影响局部。只影响局部。SW-CMMSW-CMM的由来与发展(续三)的由来与发展(续三)8080年代中期,美国联邦政府提出对软件承包商的软件开发年代中期,美国联邦政府提出对软件承包商的软件开发能力进行评估的要求。在能力进行评估的要求。在MitreMitre公司的帮
8、助下,公司的帮助下,19871987年年9 9月,月,美国卡内基美国卡内基-梅隆大学软件工程研究所发布了软件过程成梅隆大学软件工程研究所发布了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。估方法和软件成熟度提问单。4 4年之后,年之后,SEISEI将软件过程成熟度框架进化为软件能力成熟将软件过程成熟度框架进化为软件能力成熟度模型(度模型(CapabilityMaturityModelForSoftwareCapabilityMaturityModelForSoftware,简称,简称SW-CMMSW-CM
9、M)。)。19911991年年8 8月,月,SEISEI发布了最早的发布了最早的SW-CMMv1.0SW-CMMv1.0。经过两年的试用,经过两年的试用,19931993年年SEISEI正式发布了正式发布了SW-CMMv1.1SW-CMMv1.1,这是目前使用最为广泛的版本。这是目前使用最为广泛的版本。SW-CMMSW-CMM的由来与发展(续四)的由来与发展(续四)从从19951995年,年,CMMCMM又进入了另一个修改的高峰期。又进入了另一个修改的高峰期。美国政府和软件业界大力支持和积极参与下,美国政府和软件业界大力支持和积极参与下,SEISEI先后发表先后发表了了CMM2.0CMM2.0
10、版的版的A A版,版,B B版和版和C C版草案;版草案;19971997年,年,CMM2.0CCMM2.0C版草案停止推进。版草案停止推进。SEISEI宣布,宣布,CMM1.1CMM1.1版和版和CMM2.0CCMM2.0C版草案都有效,并且版草案都有效,并且SEISEI及其授权的机构为这两种版本提供相应的服务。及其授权的机构为这两种版本提供相应的服务。自自CMM1.1CMM1.1发布起,发布起,SEISEI相继研制并发布了相继研制并发布了“人员能力成熟人员能力成熟度模型度模型”(P-CMMP-CMM),),“软件访问能力成熟度模型软件访问能力成熟度模型”(SA-SA-CMMCMM)和)和“
11、系统工程能力成熟度模型系统工程能力成熟度模型”(SE-CMMSE-CMM)及其支)及其支持文件。持文件。经过试运行,产生了把经过试运行,产生了把SM-CMM,P-CMM,SA-CMMSM-CMM,P-CMM,SA-CMM和和SE-SE-CMMCMM合并在一起的想法,于是开始了名为合并在一起的想法,于是开始了名为“综合能力成熟度综合能力成熟度模型模型”(英文缩写为(英文缩写为CMMICMMI)的一个综合性模型投入研制。)的一个综合性模型投入研制。SW-CMMSW-CMM的由来与发展(续五)的由来与发展(续五)SEISEI的的CMMCMM为软件工程管理开辟了一条新的途经,其的本为软件工程管理开辟了
12、一条新的途经,其的本质还是软件工程的一个部分。质还是软件工程的一个部分。迄今为止,迄今为止,CMMCMM虽然只是美国卡内基虽然只是美国卡内基-梅隆大学软件工程梅隆大学软件工程研究所(研究所(SEISEI)发表的一份技术报告,既不是政府也不是)发表的一份技术报告,既不是政府也不是行业协会批准的标准,但它在美国和国际上已成为事实上行业协会批准的标准,但它在美国和国际上已成为事实上的软件行业标准。鉴于的软件行业标准。鉴于CMMCMM的巨大应用前景,的巨大应用前景,SEISEI已在美已在美国注册了国注册了CMM,CapabilityMaturityModelCMM,CapabilityMaturity
13、Model和和CapabilityCapabilityMaturityModelingMaturityModeling的专利和商标。的专利和商标。围绕以围绕以CMMCMM为基础的软件过程评估和软件能力评价,建立为基础的软件过程评估和软件能力评价,建立了从审核员培训到提供评估和评价的一整套服务体系了从审核员培训到提供评估和评价的一整套服务体系。SW-CMMSW-CMM的管理思想与结构的管理思想与结构SW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架。它是基于过去所有软件工程成果的过程改善的框架,吸取了以往软件工程的经验教训。指明了一个成熟的软件组织在软件开发方面需要管理的主要工作、这些工
14、作之间的关系以及以怎样的先后次序,一步一步的做好这些工作使软件组织走向成熟。SW-CMMSW-CMM分为分为五个等级五个等级初始级可重复级已定义级已管理级优化级SW-CMMSW-CMM的管理思想与结构(续一)的管理思想与结构(续一)1 1、初始级:、初始级:混沌的过程混沌的过程不具备稳定的环境用于软件开发和维护;不具备稳定的环境用于软件开发和维护;缺乏健全的管理惯例,其软件过程能力无法预计;缺乏健全的管理惯例,其软件过程能力无法预计;软件过程是一片混沌;软件过程是一片混沌;软件过程总是随着软件开发工作的推进而处于变软件过程总是随着软件开发工作的推进而处于变更和调整之中。更和调整之中。现实中有许
15、多这样的软件组织,这种情况被现实中有许多这样的软件组织,这种情况被CMMCMM定义为初级(第定义为初级(第1 1级)能力成熟度。级)能力成熟度。SW-CMMSW-CMM的的管理思想与管理思想与结构(续二)结构(续二)2 2、可重复级:、可重复级:定义管理的基本过程定义管理的基本过程软件开发的首要问题不是技术问题而是管理问题。软件开发的首要问题不是技术问题而是管理问题。因此,因此,可重复级可重复级可重复级可重复级的焦点集中在软件管理过程上。的焦点集中在软件管理过程上。一个可管理的过程则是一个可重一个可管理的过程则是一个可重复复复复级的过程,一级的过程,一个可重级的过程则能逐渐进化和成熟。个可重级
16、的过程则能逐渐进化和成熟。该级管理过程包括了需求管理、项目管理、质量该级管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面。管理、配置管理和子合同管理五个方面。项目管理分为计划过程和跟踪监控过程两个过程。项目管理分为计划过程和跟踪监控过程两个过程。通过实施这些过程,从管理角度可以看到一个通过实施这些过程,从管理角度可以看到一个按按计划执行的且阶段可控的软件开发过程计划执行的且阶段可控的软件开发过程。SW-CMMSW-CMM的管理思想与结构(续三)的管理思想与结构(续三)3 3、定义级:、定义级:定义执行的步骤标准 制定企业范围的工程化标准;制定企业范围的工程化标准;将这些
17、标准集成到企业软件开发标准过程中去。将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出所有开发的项目需根据这个标准过程,剪裁出该项目的过程,并执行这些过程。该项目的过程,并执行这些过程。对用于软件开发和维护的标准过程要以文件形对用于软件开发和维护的标准过程要以文件形式固定下来。针对各个基本过程建立起文件化式固定下来。针对各个基本过程建立起文件化的的“标准软件过程标准软件过程”较普遍的看法是,只有当达到了第较普遍的看法是,只有当达到了第3 3级能力成熟级能力成熟度时,才表明这个软件组织的软件能力度时,才表明这个软件组织的软件能力“成熟成熟”了。了。定义级是标准一致
18、的软件过程。定义级是标准一致的软件过程。SW-CMMSW-CMM的管理思想与结构(续四)的管理思想与结构(续四)4、管理级:设定定量的质量目标、管理级:设定定量的质量目标第四级的管理是量化的管理。第四级的管理是量化的管理。所有过程都需建立相应的度量方式,所有产品的质所有过程都需建立相应的度量方式,所有产品的质量量(包括工作产品和提交给用户的产品包括工作产品和提交给用户的产品)需有明确的需有明确的度量指标。这些度量是详尽的,且可用于理解、控度量指标。这些度量是详尽的,且可用于理解、控制软件过程和产品,这种量化控制将使软件开发真制软件过程和产品,这种量化控制将使软件开发真正变成为工业生产活动。正变
19、成为工业生产活动。处于这一级的组织已经能够为软件产品和软件过程处于这一级的组织已经能够为软件产品和软件过程设定定量的质量目标,并且能对跨项目的重要软件设定定量的质量目标,并且能对跨项目的重要软件过程活动的效率和质量予以度量。过程活动的效率和质量予以度量。管理级是可度量的、可预测的软件过程管理级是可度量的、可预测的软件过程SW-CMMSW-CMM的管理思想与结构(续五)的管理思想与结构(续五)5 5、优化级:持续优化级、优化级:持续优化级第五级的目标是达到一个持续改善的境界。第五级的目标是达到一个持续改善的境界。可根据过程执行的反馈信息来改善下一步的执行过可根据过程执行的反馈信息来改善下一步的执
20、行过程,即优化执行步骤。程,即优化执行步骤。如果一个企业达到了这一级,那么表明该企业能够如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。生产过程以求达到最佳。优化级是能持续改善的软件过程优化级是能持续改善的软件过程SW-CMMSW-CMM的的管理思想与管理思想与结构(续六)结构(续六)除第一级外,除第一级外,SW-CMMSW-CMM的每一级都是按完全相同的的每一级都是按完全相同的结构组成的。每一级包含了实现这一级目标的若干结构组成的。每一级包含了实现这一级目标的若干关键过程域关键过程域(K
21、PA)(KPA),每个,每个KPAKPA进一步包含若干关键实进一步包含若干关键实施活动施活动(KP)(KP),无论哪个,无论哪个KPAKPA,它们的实施活动都统,它们的实施活动都统一按五个公共属性进行组织。一按五个公共属性进行组织。关键过程域关键过程域KPA(KeyProcessAreas)KPA(KeyProcessAreas)一组相关联的活动;通过执行这些活动可以实现既一组相关联的活动;通过执行这些活动可以实现既一组相关联的活动;通过执行这些活动可以实现既一组相关联的活动;通过执行这些活动可以实现既定的过程能力定的过程能力定的过程能力定的过程能力。关键实施关键实施KPKP(KeyPract
22、icesKeyPractices)使关键过程域得以有效实现和制度化的最大的基础使关键过程域得以有效实现和制度化的最大的基础使关键过程域得以有效实现和制度化的最大的基础使关键过程域得以有效实现和制度化的最大的基础设施和活动。设施和活动。设施和活动。设施和活动。SW-CMMSW-CMM的的管理思想与管理思想与结构(续七结构(续七)各个关键实践按每个关键过程域的各个关键实践按每个关键过程域的5 5个个“公共特性公共特性”(对执行该过程的承诺,执行该过程的能力,该(对执行该过程的承诺,执行该过程的能力,该过程中要执行的活动,对该过程执行情况的过程中要执行的活动,对该过程执行情况的度量和度量和度量和度量
23、和分析,及证实分析,及证实分析,及证实分析,及证实所执行的活动符合该过程所执行的活动符合该过程 这种成熟度分级的优点在于,这些级别明确而清楚这种成熟度分级的优点在于,这些级别明确而清楚地反映了过程改进活动的轻重缓急和先后顺序。这地反映了过程改进活动的轻重缓急和先后顺序。这一点很重要,因为大多数软件组织只能在某一段时一点很重要,因为大多数软件组织只能在某一段时间里集中开展少数几项过程改进活动间里集中开展少数几项过程改进活动。SW-CMMSW-CMM的的管理思想与管理思想与结构(续八结构(续八)五个公共属性:五个公共属性:五个公共属性:五个公共属性:1 1、目标、目标、目标、目标 每一个每一个KP
24、AKPA都确定了一组目标,若这组目标在每一个项目都能实现,则都确定了一组目标,若这组目标在每一个项目都能实现,则 说说明企业满足了该明企业满足了该KPAKPA的要求。若满足了一个级别的所有的要求。若满足了一个级别的所有KPAKPA要求,则表明要求,则表明达到了这个级别所要求的能力。达到了这个级别所要求的能力。2 2、实施能力实施能力实施能力实施能力实施能力一般包括资源保证、人员培训等内容。它是企业实施实施能力一般包括资源保证、人员培训等内容。它是企业实施KPAKPA的前提条件。企的前提条件。企业必须采取措施,在满足了这些条件后,才有可能执行业必须采取措施,在满足了这些条件后,才有可能执行KPA
25、KPA的活动。的活动。3 3、执行活动执行活动执行活动执行活动 执行过程描述了执行执行过程描述了执行KPAKPA所需求的必要角色和步骤,一般包括计划、执行的任务、所需求的必要角色和步骤,一般包括计划、执行的任务、任务执行的跟踪等。在五个公共属性中,执行活动是唯一与项目执行相关的属性,任务执行的跟踪等。在五个公共属性中,执行活动是唯一与项目执行相关的属性,其余四个属性则涉及企业其余四个属性则涉及企业CMMCMM能力基础设施的建立。能力基础设施的建立。4 4、度量分析度量分析度量分析度量分析 描述了过程的度量和度量分析要求。典型的度量和度量分析的要求是确定执行活描述了过程的度量和度量分析要求。典型
26、的度量和度量分析的要求是确定执行活动的状态和执行活动的有效性。动的状态和执行活动的有效性。5 5、实施验证实施验证实施验证实施验证 验证执行活动是否与建立的过程一致。实施验证涉及到管理的评审和审计以及质验证执行活动是否与建立的过程一致。实施验证涉及到管理的评审和审计以及质量保证活动。量保证活动。SW-CMMSW-CMM的的管理思想与管理思想与结构(续九结构(续九)SW-CMMSW-CMM的管理思想与结构(续十一的管理思想与结构(续十一)结论:结论:结论:结论:初始级是混沌的过程;初始级是混沌的过程;可重复级是经过训练的软件过程;可重复级是经过训练的软件过程;定义级是标准一致的软件过程;定义级是
27、标准一致的软件过程;管理级是可预测的软件过程;管理级是可预测的软件过程;优化级是能持续改善的软件过程。优化级是能持续改善的软件过程。Wecanneverreachperfection.Thefocusisonalwaysdoingbetter.SW-CMMSW-CMM评估的国内外现状评估的国内外现状SEISEI评估报告评估报告19961996年年20002000年,全球有年,全球有10121012个组织进行了个组织进行了CMMCMM评估,其评估,其中中64.8%64.8%为商业组织,为商业组织,26.7%26.7%为美国官方和军方合同商。为美国官方和军方合同商。主要业务为软件开发和维护的组织有
28、主要业务为软件开发和维护的组织有922922个,有将近一半的个,有将近一半的组织规模是在组织规模是在100100人以下。人以下。这些数据表明,这些数据表明,CMMCMM认证已经引起软件企业的高度关注,并认证已经引起软件企业的高度关注,并且这种认证同样适合中小企业。且这种认证同样适合中小企业。通过通过CMM4-5CMM4-5级评估的状况级评估的状况截止截止20012001年年1010月底,全世界共有月底,全世界共有139139个组织通过了个组织通过了CMM4CMM4和和CMM5CMM5的评估。的评估。7373家组织:家组织:CMM4CMM4级评估级评估6666家组织:家组织:CMM5CMM5级评
29、估级评估这这139139家组织中,其中美国占家组织中,其中美国占5959家,印度占家,印度占7272家,其他国家家,其他国家占占8 8家。家。SW-CMMSW-CMM评估的国内外现状(续一)评估的国内外现状(续一)日本情况日本情况日本官方将采用日本官方将采用CMMCMM软件客观评价标准。官方已软件客观评价标准。官方已决定到决定到20032003年由日本政府机构购入的软件都要经年由日本政府机构购入的软件都要经受此模型的评价。受此模型的评价。日本的经济产业省,将在美国卡内基梅隆大学日本的经济产业省,将在美国卡内基梅隆大学软件工程研究所的协助下,结合日本市场的特点,软件工程研究所的协助下,结合日本市
30、场的特点,与美方共同开发日本版的软件评价模型。与美方共同开发日本版的软件评价模型。今后日本官方各部门将以此为标准,从优秀的软今后日本官方各部门将以此为标准,从优秀的软件开发公司购入自己所需的各种软件,改变固定件开发公司购入自己所需的各种软件,改变固定地从大型企业购买软件的局面。地从大型企业购买软件的局面。SW-CMMSW-CMM评估的国内外现状(续二)评估的国内外现状(续二)国内国内CMMCMM评估的状况评估的状况我国政府对我国政府对CMMCMM认证标准给予的足够的关注和支持,国务认证标准给予的足够的关注和支持,国务院发布的鼓励软件产业和集成电路产业发展的若干政策院发布的鼓励软件产业和集成电路
31、产业发展的若干政策(也称(也称1818号文件)中第号文件)中第1717条中表示,将对软件出口型企条中表示,将对软件出口型企业业CMMCMM认证费用予以适当支持。鼓励企业实施认证费用予以适当支持。鼓励企业实施CMMCMM。珠海开发区规定了通过二级一次性奖励珠海开发区规定了通过二级一次性奖励5050万元的政策。万元的政策。我国已有软件企业通过了我国已有软件企业通过了CMMCMM标准认证,如标准认证,如motoralamotorala(中国)(中国)过了过了CMM5CMM5、联想集团通过了、联想集团通过了CMM3CMM3、鼎新过了、鼎新过了CMM2CMM2等等。等等。预计未来预计未来2 2、3 3年
32、内,国内将出现软件业实施年内,国内将出现软件业实施CMMCMM的高潮。的高潮。我国通过CMMCMM的认证情况:cmm5cmm5级级cmm4cmm4级级cmm3cmm3级级 cmm2cmm2级级摩托罗拉中国软件中心摩托罗拉中国软件中心20002000年年9 9月,全球第月,全球第3939个通过个通过cmmcmm5 5级评估的企业级评估的企业 华为印度研究所华为印度研究所20012001年年1212月月1010日日联想集团软件设计中心联想集团软件设计中心 20022002年年1 1月月1111日日沈阳东软股份有限公司沈阳东软股份有限公司20012001年年6 6月月2626日日四川托普集团四川托普
33、集团20012001年年1212月月1313日日北京鼎新信息系统开发有限公司北京鼎新信息系统开发有限公司19991999年年7 7月月6 6日,中国首家企业通过日,中国首家企业通过cmm2cmm2级评估的企业级评估的企业。用友软件股份有限公司用友软件股份有限公司20012001年年6 6月月亿阳集团亿阳集团20012001年年浪潮通软浪潮通软20012001年年北京北佳公司北京北佳公司20012001年年1111月月3030日日东方通公司东方通公司20012001年年1212月月7 7日日广州新太科技有限公司广州新太科技有限公司20012001年年1212月月1414日日方正技术研究院方正技术
34、研究院20012001年年1212月月2424日日ISO 9001ISO 9001与与CMMCMM异同异同与与与与ISOISO标准系列相比,标准系列相比,标准系列相比,标准系列相比,CMMCMM更为软件产业所看好更为软件产业所看好更为软件产业所看好更为软件产业所看好原因是它专门针对软件工程控制而设置的,不仅进行软件企原因是它专门针对软件工程控制而设置的,不仅进行软件企业工程能力的评估,更致力于软件开发过程的管理,强调业工程能力的评估,更致力于软件开发过程的管理,强调“对软件开发过程进行持续改进对软件开发过程进行持续改进”,引导软件开发过程走向成,引导软件开发过程走向成熟。熟。相同点相同点相同点
35、相同点CMMCMM和和ISO9001ISO9001标准系列都着眼于质量和过程管理,二者标准系列都着眼于质量和过程管理,二者都为了解决同样的问题。都为了解决同样的问题。不同点不同点不同点不同点CMMCMM是动态的、开放的和持续改进的,强调没有最好只有更是动态的、开放的和持续改进的,强调没有最好只有更好,强调不断改进,强调人在软件开发方面的思想认识和主好,强调不断改进,强调人在软件开发方面的思想认识和主动性,适用于软件过程的改进。动性,适用于软件过程的改进。CMMCMM模型只关注软件,它能解决模型只关注软件,它能解决“软件危机软件危机”这个世界性这个世界性的问题,的问题,ISO9001ISO900
36、1是静态的质量控制,只要达到几个关键指标就能完是静态的质量控制,只要达到几个关键指标就能完成质量控制,更适用于硬件制造生产线的质量控制。成质量控制,更适用于硬件制造生产线的质量控制。ISO9001ISO9001的适应范围更广,包括硬件、软件和服务的适应范围更广,包括硬件、软件和服务。软件业对软件业对CMMCMM的认识的认识并不是实施了并不是实施了CMMCMM,软件项目的质量就能有所保障。,软件项目的质量就能有所保障。CMMCMM不是万能的,它的成功与否,与一个组织内部有关人不是万能的,它的成功与否,与一个组织内部有关人员的积极参与和创造性活动是密不可分的,而且员的积极参与和创造性活动是密不可分
37、的,而且CMMCMM并未并未提供实现有关子过程域所需要的具体知识和技能。提供实现有关子过程域所需要的具体知识和技能。CMMCMM已经是一套发展相当成熟的方法,但国内要想完全掌已经是一套发展相当成熟的方法,但国内要想完全掌握并广泛付诸实践,对绝大多数软件企业来说,可能还需握并广泛付诸实践,对绝大多数软件企业来说,可能还需要要3 35 5年的时间。年的时间。美国曾在美国曾在19951995年做过软件产业成熟程度的调查,发现在美年做过软件产业成熟程度的调查,发现在美国的软件产业中,国的软件产业中,CMMCMM成熟度等级为初始级的竟占成熟度等级为初始级的竟占70%70%,其特征是软件开发过程不能预测,
38、风险度高;为可重复级其特征是软件开发过程不能预测,风险度高;为可重复级的占的占15%15%,其特征是软件开发过程需小心谨慎方能避免失,其特征是软件开发过程需小心谨慎方能避免失败;为定义级的所占比例小于败;为定义级的所占比例小于10%10%,其特征是软件开发过,其特征是软件开发过程相当稳定,进展顺利且可以预测;为管理级的所占比例程相当稳定,进展顺利且可以预测;为管理级的所占比例小于小于5%5%,其特征是软件过程预测准确、值得信赖;为优,其特征是软件过程预测准确、值得信赖;为优化级的所占比例小于化级的所占比例小于1%1%,其特征是软件过程能持续改善,其特征是软件过程能持续改善。实施实施CMMCMM
39、并非一朝一夕的事情。并非一朝一夕的事情。CMMCMM市场存在的问题市场存在的问题1 1 1 1、CMMCMMCMMCMM工具市场薄弱工具市场薄弱工具市场薄弱工具市场薄弱 ,缺乏过程管理工具,缺乏过程管理工具,缺乏过程管理工具,缺乏过程管理工具 北大青鸟:北大青鸟:JBCMJBCMRationalRational:ClearcaseClearcase2 2、我国、我国CMMCMM评估师太少评估师太少 全世界获得全世界获得CMMCMM主任评估师(主任评估师(LeaderAssessorLeaderAssessor)资格的有)资格的有355355人,人,而我国仅有两人。而我国仅有两人。原因原因CMM
40、CMM的门槛很高,要成为的门槛很高,要成为CMMCMM主任评估师的条件:主任评估师的条件:11)具有硕士学历)具有硕士学历22)十年以上的软件开发经验)十年以上的软件开发经验33)两年以上管理经验)两年以上管理经验44)去美国卡内基)去美国卡内基 梅隆大学学习,并经过多种考核梅隆大学学习,并经过多种考核我们缺乏自己的我们缺乏自己的CMMCMM主任评估师大大制约我国软件事业的发展。请外主任评估师大大制约我国软件事业的发展。请外国评估师做一次国评估师做一次CMMCMM评估,花费大约是七八十万元,而且语言问题还评估,花费大约是七八十万元,而且语言问题还会在一定程度上影响到评估会在一定程度上影响到评估
41、。这势必大大阻碍我国软件企业在这方面的发。这势必大大阻碍我国软件企业在这方面的发展。展。CMMCMM市场存在的问题(一)市场存在的问题(一)3 3、存在、存在“牌子牌子”误区误区CMMCMM是梯子、是镜子,不是牌子!是梯子、是镜子,不是牌子!CMMCMM不应该成不应该成为软件企业的应试教育。为软件企业的应试教育。CMMCMM应该是通过改善内应该是通过改善内部管理为企业带来利益的东西,不能带来利益的部管理为企业带来利益的东西,不能带来利益的CMMCMM,也就不能长久存在。,也就不能长久存在。CMMCMM只是一个衡量体系,检验企业的软件工程做只是一个衡量体系,检验企业的软件工程做得怎么样,并不指导
42、企业怎么做。企业只有有效得怎么样,并不指导企业怎么做。企业只有有效地实施了软件工程,才能去实施地实施了软件工程,才能去实施CMMCMM。CMM CMM市场存在的问题(二)市场存在的问题(二)4 4、评定牵涉大量人力,财力和时间、评定牵涉大量人力,财力和时间实施CMM评定将牵涉大量人力,财力和时间。例如,美国的CMM评审机构为进行一次评估(或评价)开出的价码是710万美金。从接受评估申请到完成评估跨时2到3个月;如果涉及过程改进,将可能需时1824个月。为了适应中,小组织的需要,要对CMM进行裁剪和压缩。我们怎么办?由于实施由于实施CMMCMM的基础是有效地实施了软件工程,的基础是有效地实施了软
43、件工程,所以所以BEPCIIBEPCII实时数据信息管理系统以实施软件工实时数据信息管理系统以实施软件工程为本,执行过程中借鉴程为本,执行过程中借鉴CMMCMM的管理方式。的管理方式。软件按其生命周期分为三个阶段:软件定义期、软件按其生命周期分为三个阶段:软件定义期、软件开发期和软件运行维护期。软件开发期和软件运行维护期。软件定义期包括软件项目的系统定义、可行性研软件定义期包括软件项目的系统定义、可行性研究和详尽的需求定义三个工作阶段。这一时期要究和详尽的需求定义三个工作阶段。这一时期要为被开发的软件项目解决为被开发的软件项目解决“做什么做什么”。软件开发期包括软件设计、编码、调试、测试和软件
44、开发期包括软件设计、编码、调试、测试和验收。验收。这一时期着重解决开发软件这一时期着重解决开发软件“怎么做怎么做”的的问题。问题。软件运行维护期着重于因多种原因造成的对软件软件运行维护期着重于因多种原因造成的对软件要作的修改。要作的修改。我们怎么办?(续一)系统定义系统定义明确所开发软件的总体要求和适用范围,描述所明确所开发软件的总体要求和适用范围,描述所开发软件与外界的接口关系,确定所需的硬、软开发软件与外界的接口关系,确定所需的硬、软件支持。件支持。对开发的进度和成本作初步估计,确定所开发软对开发的进度和成本作初步估计,确定所开发软件的性能与其内部复杂性之间的折中关系和所开件的性能与其内部
45、复杂性之间的折中关系和所开发软件与原有软件系统的兼容性关系。发软件与原有软件系统的兼容性关系。在确定以上任务时,设想多种可能方案,并从中在确定以上任务时,设想多种可能方案,并从中进行比较选择。进行比较选择。我们怎么办?(续二)可行性研究可行性研究 任务是对系统的可行性进行研究。它包括技术可任务是对系统的可行性进行研究。它包括技术可行性、经济可行性和法律可行性等方面。行性、经济可行性和法律可行性等方面。技术可行性技术可行性应弄清现有的技术条件能否完成开发应弄清现有的技术条件能否完成开发工作,参加人员是否胜任开发技术的要求,硬件工作,参加人员是否胜任开发技术的要求,硬件环境配置能否满足开发的需要,
46、用户提出的开发环境配置能否满足开发的需要,用户提出的开发周期和技术要求是否合理等。周期和技术要求是否合理等。经济可行性经济可行性研究的目的是希望以最小的开发成本研究的目的是希望以最小的开发成本获得最佳经济效益的软件产品,因此需要作投资获得最佳经济效益的软件产品,因此需要作投资估算,如对人工费用、硬软件支持或其他费用进估算,如对人工费用、硬软件支持或其他费用进行估算,对软件投入使用后可能带来的经济效益行估算,对软件投入使用后可能带来的经济效益进行估算。进行估算。法律可行性法律可行性研究所开发的软件项目是否涉及到专研究所开发的软件项目是否涉及到专利权、版权等法律问题。利权、版权等法律问题。我们怎么
47、办?(续三)需求分析需求分析软件定义期的关键步骤,主要是理解和表达软件系统的用户需求。它包括所开发软件的功能、性能、可靠性、安全性、成本消耗、开发进度、资源利用、用户接口和所需的数据库等许多方面。在研究用户需求的基础上,将经过分析的软件需求编写成软件需求说明书或软件规格说明书,作为需求分析阶段的主要工作成果。我们怎么办?(续四)软件设计软件设计分为概要设计分为概要设计(也称为总体设计或结构设计也称为总体设计或结构设计)和详细设和详细设计计(模块设计模块设计)两个阶段。两个阶段。概要设计是从宏观角度解决开发软件概要设计是从宏观角度解决开发软件“怎么做怎么做”的问的问题,把系统要完成的任务按功能分
48、块,明确各模块的题,把系统要完成的任务按功能分块,明确各模块的功能以及它们之间的接口,即模块之间的相互关系以功能以及它们之间的接口,即模块之间的相互关系以及模块之间传递的信息。及模块之间传递的信息。详细设计则要明确每个模块内部的处理过程,即要给详细设计则要明确每个模块内部的处理过程,即要给出每个模块的详细说明、流程图、一些典型或重要方出每个模块的详细说明、流程图、一些典型或重要方法的结构化说明或伪代码等。法的结构化说明或伪代码等。我们怎么办?(续五)总体设计总体设计根据需求分析阶段的用户需求说明书,产生具体根据需求分析阶段的用户需求说明书,产生具体的实际方案,主要解决:的实际方案,主要解决:怎
49、样将系统分解成一怎样将系统分解成一个个功能独立,大小规模适当的模块;个个功能独立,大小规模适当的模块;判定各判定各模块之间传递的数据,规定各个模块的功能和模模块之间传递的数据,规定各个模块的功能和模块之间的相互联系;块之间的相互联系;决定各模块间调用的层次决定各模块间调用的层次关系;关系;审查评价模块结构的质量;审查评价模块结构的质量;产生模块产生模块说明书。说明书。该阶段常用的方法有:自顶向下逐步求精、原型该阶段常用的方法有:自顶向下逐步求精、原型法;结构化设计方法,即法;结构化设计方法,即SDSD方法、方法、JacksonJackson方法、方法、ParnasParnas和和LCPLCP方
50、法。方法。我们怎么办?(续六)详细设计详细设计软件设计的第二阶段,与总体设计相比,它主要考虑每个模块内部的数据加工处理,完成模块内部详细的过程描述。进行详细设计主要使用的工具可分为三种类型图示工具,常用的有结构化流程图、N-S图和PAD图;伪代码语言;表格工具,如判定表、判定树等。我们怎么办?(续七)软件测试软件测试为了发现错误而执行程序的过程,是软件生存期中的重要阶段之一。它的主要任务是发现并排除需求分析、系统设计和编码等阶段产生的各种类型的错误,得到可靠的可运行的软件系统。软件测试可分为四级单元测试;集成测试;确认测试;系统测试。常用的测试方法有白盒测试法和黑盒测试法。我们怎么办?(续八)