资源预览内容
第1页 / 共52页
第2页 / 共52页
第3页 / 共52页
第4页 / 共52页
第5页 / 共52页
第6页 / 共52页
第7页 / 共52页
第8页 / 共52页
第9页 / 共52页
第10页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第12章软件工程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.1 CMM/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.2 SW-CMM介绍 1软件过程成熟度及其五个等级 定义:软件过程成熟度,是指一个软件过程被明确定义、管理、度量和控制的有效程度。 SW-CMM的五个成熟度等级分别为: 初始级(CMM1:无序管理级) 可重复级(CMM2:项目管理级) 已定义(CMM3:组织管理级) 已管理级(CMM4:定量管理级) 优化级(CMM5:不断优化级) 等级成熟度名称级别描述级别特点1初始级 组织的软件过程能力不可预测人治2可重复级 项目上的经验,能对新项目进行策划和管理项目管理级3已定义级 定义了软件过程,过程是稳定的和可重复的,并且高度可视组织级管理,已经达到了法律化管理4已管理级 组织的软件过程能力可描述为可预测的,软件产品具有可预测的高质量定量管理管理,内部已量化管理5优化级 在优化级,组织的软件过程能力可描述为持续改善的循环优化和与时俱进 2关键过程域KPA CMM模型共计18个关键过程域KPA,52个具体目标,316个关键实践KP。 所谓过程域 KPA(Key Process Areas),是指互相关联的若干个软件实践活动和相关设施的集合。CMM中叫做关键过程域KPA,而CMMI中叫做过程域 PA(Process Areas)。它们在五个等级中的分布情况如下表所示: 成熟度等级管理过程组织过程工程过程5. 优化级技术改革管理过程优化管理缺陷预防4. 已管理级定量过程管理软件质量管理3. 己定义级集成软件管理组间协同组织过程焦点组织过程定义培训大纲软件产品工程同行评审2. 可重复级需求管理软件项目策划项目跟踪与监督软件子合同管理软件质量保证软件配置管理1. 初始级无序过程 3关键实践KP 所谓关键实践 KP(Key Practices),是指对相应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合计20121 5成熟度提问单(评估问卷) 成熟度提问单就是一大堆关于CMM某个级别是否成熟的问题。 提问单第一个作用,是软件组织的能力评估,软件组织是被评估者,主任评估师及其领导的ATM小组是评估者。应该是评估者提问,被评估者回答,按照回答的情况,评估者就从宏观上掌握了该软件组织在实践某个KPA过程中的强项和弱项,再综合其他考核与检查,最终确定该软件组织在CMM的某个KPA上的评估是否通过。 第二个作用,是软件组织的过程改进,过程改进是一个自我加压、自我约束、苦练内功的过程,是一个内部预评估(模拟评估)的过程,既然如此,提问者与被提问者都是软件组织内部的人。 2.3 CMM/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(Assessment Team Member)。机构性质机构名称机构功能立法机构软件工程过程组 制定政策、方针、标准、规范、指南、模板司法机构软件质量保证组 跟踪、监督、确认软件质量: 负责保证软件项目适用的规程、标准和约定得到遵守行政机构软件工程组 软件工程项目的分析、设计、编码、测试、用户培训、现场实施服务配置机构软件配置组 负责对软件基线、配置项/单元的标识,软件基线更改和由软件基线库所构造的软件产品的评审和认定评估机构评审小组 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步,进行正式评估 评估工作可以在软件企业的会议室进行,也可以在同一城市的某宾馆内进行。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号