版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实用软件工程----IT企业软件的开发与管理赵池龙20世纪末叶软件产业革命发生在美国,标志性的事件有两件:
1.微软窗口操作系统的出现;
2.CMM能力成熟度模型的形成。为什么发生在美国,而不是在中国?这是美国的文化背景所决定的。为此,我们举一个案例、讲一个故事、开一个玩笑,来说明中美文化的差异。请听:………。第12章软件过程管理
本章导读许多软件企业的失败,归根结底都是管理的失败,表现在过程管理上的无序状态。软件管理是面向过程的,到底有哪些过程需要管理呢?回答是:
(1)开发过程
(2)配置过程
(3)维护过程
(4)质量保证过程
(5)过程管理改善过程要求具体内容了解1)“组织”或“软件组织”的概念2)软件过程概念3)软件产品和软件工作产品的概念4)软件过程能力与性能的概念5)的成熟度提问单6)组织的软件过程资源7)CMMI是CMM的继续与发展
理解1)CMMI阶段模型的五个等级2)CMMI阶段模型的体系结构3)CMMI的软件测量数据库和软件文档库
关注1)CMMI的过程域PA2)CMMI的实施思路
12.1CMM/CMMI基本概念
1.组织CMM/CMMI中的“组织”或“软件组织”,是指软件企业内部的一个软件研发部门。该部门内部应有若干个项目和一个软件工程管理部门。如公司的研发中心、软件中心、软件事业部,它们均可称为“组织”或“软件组织”。CMM/CMMI的实施和评估,不在整个软件企业的所有部门进行,而只需在软件企业中的某个软件组织范围内进行。2.软件过程
(1)什么是软件过程?一个软件过程,是指人们从开发到维护软件相关产品所采取的一系列活动。
(2)软件质量来源于什么?软件产品的质量主要取决于产品开发和维护的软件过程质量。
(3)什么样的软件过程是好过程?一个有效的、可视的软件过程是好过程。从这个角度来讲,CMMI对软件组织的作用,就是将软件过程由不可控的黑盒过程,逐步变为可控的白盒过程。即由黑箱操作,逐步变为白箱操作。这种“逐步变为”,就是“过程改善”。
3.软件产品和软件工作产品
(1)什么叫软件工作产品?在CMM/CMMI中,每一道工作程序的输出均称为软件工作产品。评审报告、跟踪记录等软件管理文档,也是软件工作产品。
(2)什么叫基线?
里程碑上通过评审与批准后的软件工作产品一般称为基线,如用户需求报告、概要设计说明书、详细设计说明书、源代码、测试报告、用户指南等。
(3)什么叫软件产品?软件承包方最终交付给客户方的软件工作产品,称为软件产品。
4.软件过程能力与性能
(1)什么叫软件过程能力?软件过程能力,是软件过程本身具有的按预定计划生产产品的固有能力。一个组织的软件过程能力,为组织提供了预测软件项目开发的数据基础。
(2).什么叫软件过程性能?软件过程性能是软件过程执行的实际结果。一个项目的软件过程性能,决定于它内部的子过程执行状态,只有每个子过程的性能得到改善,相应的成本、进度、功能和质量等性能目标才能得到控制。5.软件过程资源定义
(1)什么叫软件过程资源?就是软件组织在进行软件过程改善中通过积累而得到的、用于指导软件项目过程的文档和数据等重要信息。
(2)软件过程资源有什么用?软件过程资源能够为软件项目在制定、裁剪、维护和实施软件过程时,提供全面的决策指导。
(3)软件过程资源包含哪些内容?
1)组织批准的软件生存周期;
2)组织的标准软件过程;
3)裁剪指南;
4)组织的软件测量数据库;
5)组织的与软件过程有关的文档库。6.软件生存周期
(1)什么是软件生存周期?软件生存周期是从某软件产品开始研发到软件不再使用为止的时间间隔。软件生存周期一般包括:需求阶段、架构阶段、设计阶段、实现阶段、测试阶段、安装和调整阶段、运行和维护阶段,有时还包括退役阶段。
(2)在什么时候选择软件生存周期?在项目策划的初期,就应该确定项目所采用的软件生存周期,目的是统筹规划项目的整体开发流程。7.标准软件过程和裁剪指南
(1)什么是标准软件过程?标准软件过程就是组织中所有软件开发和维护项目共用的软件过程。它是项目定义软件过程的基础。它保证组织过程活动的连续性,是软件过程测量和长期改进的依据。
(2)裁剪指南有什么样作用?裁剪指南则是用来指导对标准软件过程进行裁剪、以形成适合项目特征的软件过程。
(3)不同组织的标准软件过程是否通用?
不能!8.软件测量数据库
(1)什么是软件测量数据库?软件测量数据库,是收集软件管理过程和软件工作产品的相关数据后,建立起来的软件度量数据库。
(2)软件测量数据库有两个关键点:一是要明确组织的度量指标,二是要建立一个方便有效的度量流程。
(3)测量数据库有什么用?
a.参照历史数据来指导项目的策划和估计工作。
b.参照历史数据来指导项目的监控工作。
c.用于评估组织的软件过程改善实施情况。9.软件过程有关文档库
(1)为什么要建立文档库?文档库主要出于两方面的考虑:一是存储可能有用的过程文档;二是共享所存储的文档。
(2)文档库包括哪些内容?通常包括组织的程序文件和项目的过程文档的优秀实例,还可以包括一些技术资料、产品模板或培训资料等。12.2SW-CMM介绍1.软件过程成熟度及其五个等级定义:软件过程成熟度,是指一个软件过程被明确定义、管理、度量和控制的有效程度。
SW-CMM的五个成熟度等级分别为:初始级(CMM1:无序管理级)
可重复级(CMM2:项目管理级)
已定义(CMM3:组织管理级)
已管理级(CMM4:定量管理级)
优化级(CMM5:不断优化级)
等级成熟度名称级别描述级别特点1初始级组织的软件过程能力不可预测人治2可重复级项目上的经验,能对新项目进行策划和管理项目管理级3已定义级定义了软件过程,过程是稳定的和可重复的,并且高度可视组织级管理,已经达到了法律化管理4已管理级组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量定量管理管理,内部已量化管理5优化级在优化级,组织的软件过程能力可描述为持续改善的循环优化和与时俱进2.关键过程域KPACMM模型共计18个关键过程域KPA,52个具体目标,316个关键实践KP。所谓过程域KPA(KeyProcessAreas),是指互相关联的若干个软件实践活动和相关设施的集合。CMM中叫做关键过程域KPA,而CMMI中叫做过程域PA(ProcessAreas)。它们在五个等级中的分布情况如下表所示:成熟度等级管理过程组织过程工程过程5.优化级技术改革管理过程优化管理缺陷预防4.已管理级定量过程管理软件质量管理3.己定义级集成软件管理组间协同组织过程焦点组织过程定义培训大纲软件产品工程同行评审2.可重复级需求管理软件项目策划项目跟踪与监督软件子合同管理软件质量保证软件配置管理1.初始级无序过程3.关键实践KP所谓关键实践KP(KeyPractices),是指对相应KPA的实施起关键作用的政策、资源、活动、测量、验证。KP只描述“做什么”,不描述“怎么做”。目前,CMM共有52个具体目标,316个关键实践KP,它们分布在CMM2至CMM5的各个PA中。4.目标目标概括某个关键过程域中的所有关键实践应该达到的总体要求,可用来确定是否一个组织或一个项目已有效地实现关键过程域。目标表明每个关键过程域的范围、边界和意图。目标用于检验关键实践的实施情况,确定关键实践的替代方法是否满足关键过程域的意图等。如果一个级别的所有的目标都已实现,则表明这个组织已经达到了这个级别,可以进行下一个级别的软件过程改善。CMM2的目标个数和KP个数
KPA名称目标个数KP个数需求管理(RM)212软件项目策划(SPP)325软件项目跟踪和监控(SPTO)324软件子合同管理(SSM)422软件质量保证(SQA)417软件配置管理(SCM)421合计201215.成熟度提问单(评估问卷)成熟度提问单就是一大堆关于CMM某个级别是否成熟的问题。提问单第一个作用,是软件组织的能力评估,软件组织是被评估者,主任评估师及其领导的ATM小组是评估者。应该是评估者提问,被评估者回答,按照回答的情况,评估者就从宏观上掌握了该软件组织在实践某个KPA过程中的强项和弱项,再综合其他考核与检查,最终确定该软件组织在CMM的某个KPA上的评估是否通过。第二个作用,是软件组织的过程改进,过程改进是一个自我加压、自我约束、苦练内功的过程,是一个内部预评估(模拟评估)的过程,既然如此,提问者与被提问者都是软件组织内部的人。
2.3CMM/CMMI实施思路第1步,要进行CMM基本知识的培训任何培训工作都需要解决两个基本问题:一是教师问题,二是教材问题。
CMM的培训对象是:
(1)对所有员工(包括总经理在内),进行最基本的软件工程和CMM知识培训;
(2)对CMM的各个工作组的有关人员,提供专业领域知识等方面的培训;
(3).在每次开发过程中,还要对项目组成员进行软件过程方面的培训。
培训的教师来源有:
(1)CMM有关专业培训咨询机构。
(2)利用互联网资源进行咨询和培训。
(3)聘请有关CMM专家到企业实地指导CMM的实施培训。第2步,成立CMM的工作小组在CMM的实施过程中,必须成立专业化的工作组。例如:软件工程过程组SEPG(组织过程焦点)
软件工程组SWEG
系统测试组STG
软件项目跟踪与监督组SPTO
软件配置管理组SCMG
软件质量保证组SQAG
评估领导组或评估成员团队ATM(AssessmentTeamMember)。机构性质机构名称机构功能立法机构软件工程过程组制定政策、方针、标准、规范、指南、模板司法机构软件质量保证组跟踪、监督、确认软件质量:
负责保证软件项目适用的规程、标准和约定得到遵守行政机构软件工程组软件工程项目的分析、设计、编码、测试、用户培训、现场实施服务配置机构软件配置组负责对软件基线、配置项/单元的标识,软件基线更改和由软件基线库所构造的软件产品的评审和认定评估机构评审小组ATM评估小组成员组成一个ATM小组,该小组在主任评估师的领导下,负责评估过程的领导、组织、测量、评估和管理
第3步,建立软件组织的CMM文档体系
(1)软件组织文档它包括:软件工程规范、软件生命周期及裁剪指南、软件质量标准、名词和术语定义。
(2)关键过程域文档对应每个KPA,根据该软件组织的实际需求,都有一个过程文件和一个程序文件与之对应:过程文件描述干什么(干的要求),程序文件描述怎么干(干的模板)。
(3)软件项目文档它包括三方面的内容:工作产品文档:如配置项、基线;工作日记文档:如日报、周报、里程碑报;软件产品文档:如用户需求报告、设计说明书、源程序、用户手册。第4步,进行内部模拟评审
软件组织在进行正式评估之前,先进行内部评审或评估。这种内部评审包含两层含义。
(1)软件组织自己内部成员,严格、认真地按照CMMI规范评估过程,对自己的软件过程进行评审,找出其中的强项和弱项,并进行改进。
(2)在全国范围内,由有关软件工程和CMMI专家组成一个专门的“内部评审”机构,负责指导协调实施CMMI的活动,推进活动的深入开展,对国内软件组织CMMI评估进行“预先评估”。第5步,确定CMMI正式评估的工作步骤
(1)软件公司与主任评估师(或评估中介公司)签订评估合同;
(2)软件公司选定4--5个工作量大、工期6个月以上的大中型软件项目作为评估对象,并且准备好文档;
(3)软件公司选4-10人组成评估小组;
(4)由主任评估师组织评估培训;
(5)由ATM评估小组制订正式评估工作计划;
(6)进入正式评估过程,ATM评估小组对每个KP打分(必须在7分以上,满分为10分);
(7)ATM评估小组指出被评估组织的强项和弱项,协商产生评估结果,若评估通过,则由主任评估师签字,报CMU/SEI组织审批和备案。第6步,进行正式评估
评估工作可以在软件企业的会议室进行,也可以在同一城市的某宾馆内进行。CMM正式评估由CMU/SEI授权的一个主任评估师,领导ATM评审小组进行。评估过程包括员工培训(企业的高层领导也要参加)、与选定的项目经理等人座谈、问卷调查和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等,评估结果由主任评估师签字生效。第7步,根据评估结果改进软件过程
一般来说,不管评估是否通过,都应该在评估之后根据ATM小组所指出的强项和弱项,很快地做出软件过程改进计划,因为这时大家对评估结果和存在的问题仍有一个深刻的认识。计划在软件过程改进中是一个非常必要的阶段,只有有效的计划,才能确保软件过程得到有效地改进。12.4CMMI内容简介
1.CMMI模型的由来能力成熟度模型集成(CMMI)是能力成熟度模型(CMM)的逻辑后续,是CMM的最新版本,是过程改进模型的最新方向。能力成熟度模型集成(CMMI)来自于三个原模型,即:
(1)适用于软件开发的SW-CMM2.0(阶段模型);
(2)系统工程能力模型SECM(即EIA/IS731,连续模型);
(3)适用于集成化产品开发的IPD-CMMv0.98(混合模型)。2.CMMI的结构和内容CMM是以关键过程域KPA为纲,以目标、共同特性、关键实践为目,分等级来定义的。CMMI是以过程域PA为纲,以特定目标SG、特定实践SP、共性目标GG、共性实践GP为目,分阶段式模型和连续式模型两种方式来定义的。CMMI的阶段式模型内部结构如图12-2所示。CMM1.1版本共有18个KPA,CMMI1.1版本共有24个PA。CMM1.1绝大部分KPA的内容,在CMMI1.1中都得到了继承与扩充。这就是CMM和CMMI之间的联系与区别。CMMI1.2版本共有22个PA。CMMI成熟度等级过程域1过程域2过程域N共性目标特定目标特定实践公共特征共性实践执行承诺执行能力定向实现验证实现CMMI的结构和内容从形式上讲,CMM与CMMI的最大区别是:CMM只有阶级式模型一种表示方式。而CMMI有阶级式和连续式两种表示方式,分别称为“成熟度维”和“能力维”。为了方便起见,我们将CMMI阶段式表示称为CMMI阶段式模型,将“成熟度维”称为成熟度等级,将CMMI连续式表示称为CMMI连续式模型,将“能力维”称为能力等级。阶段式表示方式分为五个等级,称为成熟度等级ML(MaturityLevel),从ML1级到ML5级,如表12-8所示。连续式表示方式分为六个能力等级,简称能力等级CL(CapabilityLevel),从CL0级到CL5级,如表12-9所示。CMMI阶段式表示的成熟度等级
CMMI的等级PA数目管理特点ML1Initial(初始级)0过程不可预测且缺乏控制ML2Managed(已管理级)7过程为项目服务,即项目级管理ML3Defined(己定义级)13过程为组织服务,即组织级管理ML4QuantitativelyManaged(定量管理级)2过程已度量和控制,即定量级管理ML5Optimizing(优化级)2集中于过程改进,即优化级管理CMMI阶段模型的主要过程域
能力级别定级名称文化组织运作能力组织制度项目管理工程技术质量工作ML5优化主动OIDCARML4定量管理客观OPPQPMML3组织定义共享OPDOPFOTIPMRSKMISMITRDTSPIVERVALDARORIML2项目管理纪律PPPMCSAMREQMCMPPQAMAML1未执行目标管理缺省一切面向效率和发展的积累
CMMI连续式表示的能力等级
CMMI的等级管理特点特定实践个数共性实践个数CL0Incomplete(未执行级)未执行的过程00CL1Performed(已执行级)已执行的过程:执行基本实践,标识工作范围1682CL2Managed(已管理级)已管理的过程被制度化910CL3Defined(已定义级)已定义的过程被制度化72CL4QuantitativelyManaged(定量管理级)定量管理的过程被制度化02CL5Optimizing(优化级)优化的过程被制度化02CMMI连续式模型CMMI连续式模型的等级,与过程域之间无对应关系,这是为什么?原因是:组织在能力等级1时就统帅所有的24个过程域,过程改进开始持续不断地往前走。组织的能力等级的提高,不是依靠每个等级统帅的过程域的多少(它们都统帅24/22个过程域),而是依靠每个等级的共性实践的能力强弱(每个等级的共性实践个数及其能力不同)。这种能力强弱的程度,即共性实践对所有过程域的作用力程度,就决定了能力等级的高低。CMMI连续式模型能力等级CL1到CL5的区分,不是以过程域(PA)的多少为标准的,而是以共性目标(GG)为标准的。这些共性目标,指出在单个过程域(PA)中,组织在不同的能力等级中执行它的好赖程度。CMMI中的所谓能力等级,主要是每个等级的共性实践对24/22个过程域的作用力程度。这种作用力,驱使24/22个过程域,来推动组织连续式地进行过程改进,所以叫连续式模型。12.5CMMI阶段式模型成熟度等级2的过程域介绍
标题(1)需求管理成熟度等级2(已管理级)的一个过程域概述需求管理的目的是:管理项目产品和产品构件的需求,并且识别需求和项目计划以及工作产品之间的矛盾。相关的过程域:需求开发、技术解决方案、项目计划、配置管理、项目监督和控制、风险管理。特定目标
SG1:管理需求,并且识别项目计划和工作产品之间的不一致。特定实践
SP1.1:与需求提供者(客户)在需求的含义上,建立一个共同的理解。
SP1.2:从项目的参与者那里,获得需求的承诺。
SP1.3:在项目的发展过程中,进行需求变更管理。
SP1.4:在需求和项目计划以及工作产品之间,维护相互的可追溯性。
SP1.5:识别项目计划和工作产品及需求之间的不一致问题。共性目标GG2:制度化过程为一个已管理的过程。共性实践
执行承诺GP2.1(CO1):为了计划和执行需求管理过程,建立和维护组织级方针。
执行能力GP2.2(AB1):建立并维护需求和目标,同时为实现需求管理过程作计划。GP2.3(AB2):为实现需求管理过程、开发工作产品和提供过程服务,提供足够的资源。GP2.4(AB3):为过程的执行、开发工作产品和提供需求管理过程服务活动,分配职责和权限。GP2.5(AB4):对执行人员,或者支持需求管理过程的人员,进行必要的培训。
定向实现GP2.6(DI1):使需求管理过程指定的工作产品,置于适当的配置管理等级下。GP2.7(DI2):按照计划,识别并投入与需求管理过程有关的项目相关人员。GP2.8(DI3):对照计划,监督和控制需求管理过程,并采取适当的纠正行动。
验证实现GP2.9(VE1):客观地评价需求管理过程、工作产品和过程服务,查看是否遵从所采用的需求、目标和标准,并解决不一致问题。GP2.10(VE2):与高级管理人员一起,评审需求管理过程的活动、状态和结果,并解决问题。12.6成熟度等级2的解释CMMI的成熟度等级2(ML2)叫做已管理级。那么,它到底已经管理了什么?回答是:当组织的过程改进状态已处于CMMI的成熟度等级2时,它主要实现了对项目的有效管理和支持。此时,组织所有项目都得到了文档化和制度化的管理与控制:项目的产品和产品构件的需求得到了管理和控制,项目的执行过程和工作产品都是有计划的、可执行的、可计量的、可跟踪的、可控制的,项目的需求、过程、工作产品和服务,都是已管理的。成熟度等级2的解释(续)需求管理过程域,目的就是管理项目的产品和产品构件的需求,标识需求与项目计划、工作产品之间的不一致性,并解决不一致性问题。需求获取及需求管理,是项目是否成功的关键所在。对于应用软件(例如ERP)来说,需求的清晰性、一致性、稳定性,功能、性能、接口、界面等方面获取的准确性和双方认可的程度,一直是开发和管理工作的难题。因此,CMMI的成熟度等级2,将“需求管理”过程域列为7个过程域之首,就是这个道理。项目计划过程域,目的就是制定和维护项目活动计划。该计划的内容包括项目工作量估计、成本估量、建立预算、安排进度、标识风险、所需资源、知识技能培训、承诺与协调等。项目计划是项目管理活动的基础和主线,离开了它,项目管理就无从谈起。成熟度等级2的解释(续)项目监督和控制过程域,目的就是提供对项目进展的可视性理解,当项目进展性能严重偏离计划时,釆取纠正措施。项目监督和控制是执行和落实项目计划的手段与措施,只有通过它,才能保证项目计划的实行,检验项目计划的正确性。当发现计划与实际偏离时,不是去更改实际,而是去更改计划,这叫做唯物论,即“实践是检验真理的惟一标准”。供应商合同管理过程域,目的就是管理有合同的、来自项目外部的供应商提供的产品和服务,对获取的产品进行验收测试,并转交给项目集成工作。该过程域对组织外部的承包商进行子项目管理或子合同管理,其管理方法同于项目管理。供应商合同管理过程域,它不具备普遍意义,当组织无外包业务时,它可以被裁剪掉。成熟度等级2的解释(续)度量和分析过程域,目的就是开发和维持用于支持管理信息需要的度量能力。项目计划过程包括定义度量的目的,项目监督和控制过程也包含度量的内容。度量就是测量,分析就是统计与决策。过程和产品质量保证过程域,目的就是对过程及相关工作产品进行客观评价,提供给项目成员和管理部门。为此,要建立独立的质量保证部门,强调同行评审与审计,交流和解决不一致问题。评审就是开会或汇签,目的就是挑毛病,指出强项和弱项,限期纠正不符合项。审计就是查看质量保证过程的程序是否违规与合法。成熟度等级2的解释(续)配置管理过程域,目的就是使用配置标识、配置控制、配置状态和配置审计,来建立和维护工作产品的完整性。为此,要建立配置基线、跟踪基线变更、保证基线的完整性。这些工作由配置控制委员会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁现代服务职业技术学院《生物学教学艺术与教学设计》2023-2024学年第一学期期末试卷
- 兰州工商学院《半导体器件制造及测试技术》2023-2024学年第一学期期末试卷
- 吉林艺术学院《结构稳定》2023-2024学年第一学期期末试卷
- 湖南税务高等专科学校《风景区规划与设计》2023-2024学年第一学期期末试卷
- 湖南电子科技职业学院《城市修建性详细规划》2023-2024学年第一学期期末试卷
- 黑龙江生态工程职业学院《园林植物生物技术》2023-2024学年第一学期期末试卷
- 重庆艺术工程职业学院《影视动画制作》2023-2024学年第一学期期末试卷
- 重庆机电职业技术大学《机器学习与模式识别II(双语)》2023-2024学年第一学期期末试卷
- 中央司法警官学院《建筑空间生活》2023-2024学年第一学期期末试卷
- 浙江农林大学《社区管理与服务》2023-2024学年第一学期期末试卷
- Unit 3 We should obey the rules. Lesson15(说课稿)-2023-2024学年人教精通版英语五年级下册
- 绵阳市高中2022级(2025届)高三第二次诊断性考试(二诊)语文试卷(含答案)
- 2024年聊城市东昌府区中医院招聘备案制工作人员考试真题
- 2025年极兔速递有限公司招聘笔试参考题库含答案解析
- 一般固废处理流程
- 《健康体检知识》课件
- 《AIGC应用实战(慕课版)》-课程标准
- 政府机关办公用品配送方案
- 永威置业项目交付前风险排查表
- 人力资源许可证制度(服务流程、服务协议、收费标准、信息发布审查和投诉处理)
- 建设工程监理费计算器(免费)
评论
0/150
提交评论