CMMI培训讲义1.pdf
《CMMI培训讲义1.pdf》由会员分享,可在线阅读,更多相关《CMMI培训讲义1.pdf(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 CMMI 培训讲义(1)编写:胡希明 王红女 2005 年年 6 月月 目 录 第一章第一章 预备知识预备知识 1 1.1 软件工程基本原理.1 1.2 质量管理体系 ISO9001.4 1.3 项目管理知识体系 PMBOK.9 1.4 软件能力成熟度模型 CMM.12 1.5 软件过程改进案例介绍.21 1.7 著名质量专家论点摘要.29 1.8 软件过程管理标准化国内动态.35 第二章第二章 CMMI 模型框架模型框架 36 2.1CMMI 模型系列.36 2.2 CMMI 模型的过程域.38 2.3CMMI 的两种表示法.41 2.4 CMMI 的阶梯式表示.44 2.5 CMMI 的
2、连续式表示.52 第三章第三章 CMMI 模型部件模型部件 58 3.1 必需部件.58 3.2 期望部件.61 3.3 解释性部件.63 3.4 模型部件实例.64 3.5 名词术语.70 3.6 共性实践的详细说明.73 第 1 页 共 81 页 第一章第一章 预备知识预备知识 1.1 软件工程基本原理软件工程基本原理 就全国情况而言,经过十几年特别是近几年的发展,我国已形成了具有一定自主开发能力、初步的规模和巨大的潜在市场的软件产业。但与发达国家相比,无论在开发能力还是管理水平上都还存在较大差距,尤其是粗放的甚至是落后的软件工程管理制约了我们软件产业的发展。某些国家的整体国力并不比我国强
3、,但在国际软件市场上的份额却远大于我国,原因之一就是我国在软件开发过程管理方面急待改善。应该看到,机械工业以至一般的加工业,都已经有了上百年的历史,产品的生产流程以及工厂、车间、工种等等的机构设置和角色分工都有了成熟的模式。但是,软件企业及其软件产品的生产,历史不长,加之软件本身的智力劳动的特性,软件作为产品的生产流程及其相应的管理活动,还远远没有一个成熟的模式。近 10 年来,在国家各级主管部门的政策倡导和支持下,中国软件企业的决策者也从各自的成长历程中认识到了加强和改进内部管理特别是技术管理的重要性,纷纷投入大量的人力、物力和财力,学习、采用和实施一系列的学科、标准和模型,例如,软件工程、
4、ISO9001、PMBOK 以及 CMM、CMMI 等等。为了改进软件企业的管理,为了“更快、更好、更便宜”的开发软件产品,既要有技术措施(方法和工具),又要有必要的组织管理措施。从学科发展角度出发,人们很自然的想到了软件工程。因为软件工程正是从管理和技术两方面研究如何采用工程的概念、原理、技术和技术方法并加以综合,指导开发人员更好地开发和维护计算机软件的一门新的学科。自从 1968 年正式提出并采用“软件工程”这个术语以来,研究软件工程的专家学者们陆续提出了 100 多条关于软件工程的准则或“信条”。著名的软件工程专家波汉姆(Boehm)综合这些学者们的意见,并总结了多年开发软件的经验,于
5、1983 年在一篇论文中提出了软件工程的 7 条基本原理。他认为这 7 条原理是确保软件产品质量和开发效率的原理的最小集合。人们虽然不能用数学方法严格证明它们是一个完备的集合,但是,事实证明在此之前已经提出的 100 多条软件工程原理都可以由这 7 条原理的适当组合所蕴含或派生所得到。下面给出这 7 条基本原理的简要内容。1.按照软件生命周期的阶段划分制定计划,严格依据计划进行管理。按照软件生命周期的阶段划分制定计划,严格依据计划进行管理。在软件开发与维护的整个生命周期中,需要完成许多性质各异的工作,应该把软件生命周期划分成若干个阶段,并相应地制定出切实可行的计划,然后严格按照计划对软件的开发
6、与维护工作进行管理。共有 6 类计划,包括项目概要计划,里程碑计划,项目控制计划,产品控制计划,验证计划,运第 2 页 共 81 页 行维护计划。不同层次的管理人员都必须严格按照计划各尽其职地管理软件开发与维护工作,绝不能受客户或上级人员的影响而擅自背离或随意修改预定计划。2.坚持进行阶段评审坚持进行阶段评审 软件质量保证工作不能等到编码阶段结束之后再进行,因为大部分缺陷是在编码之前造成的(例如,据统计,设计阶段注入的缺陷占缺陷总数的 63),并且缺陷发现与改正越晚,所需付出的代价就越高。因此,在每个阶段都应进行严格的评审,以便尽早发现在软件开发过程中所犯的错误。3.实行严格的产品控制实行严格
7、的产品控制 在软件开发过程中不应随意改变需求,因为改变一项需求往往需要付出较高的代价。但是,在软件开发过程中改变需求又是难免的,由于外部环境的变化,相应地改变用户需求是一项客观需要,显然不能硬性禁止客户提出需求变更请求,而只能依靠科学的控制技术来顺应这种要求。也就是说,当改变需求时,为了保持软件各个配置项的一致性,必须实行严格的产品控制,其中主要是实行基准配置管理,定义基线,管理和控制基线。基准配置管理也称为变更控制:一切有关修改软件的建议,特别是涉及到对基准配置的修改建议,都必须按照严格的规程进行评审,获得批准以后才能实施修改。绝对不能谁想修改软件(包括尚在开发过程中的软件),就随意进行修改
8、。4.采用现代程序设计技术采用现代程序设计技术 从提出软件工程的概念开始,人们一直把主要精力用于研究各种新的程序设计技术。例如 20 世纪 60 年代末提出的结构程序设计技术以及后来发展的面向对象的分析技术和编程技术,等等。实践表明,采用先进的技术既可提高软件开发的效率,又可提高软件维护的效率。5.结果应能清楚地审查结果应能清楚地审查 软件产品不同于一般的物理产品,它是看不见摸不着的逻辑产品。软件开发人员的工作可视性差,难以准确度量,从而使得软件产品的开发过程比一般产品的开发过程更难于评价和管理。为了提高软件开发过程的可视性,更好地进行管理,应该根据软件开发项目的目标及完成期限,规定开发组织的
9、责任和产品标准,从而使得所得到的结果能够清楚地加以审查。6.开发小组的人员应该少而精开发小组的人员应该少而精 这条基本原理的含义是,软件开发小组的组成人员的素质应该好,而人数则不宜过多。开发小组人员的素质和数量是影响软件产品质量和开发效率的重要因素。素质高的人员的开发效率比素质低的人员的开发效率可能高几倍至几十倍,而且素质高的人员所开发的软件中的缺陷明显少于素质低的人员所开发的软件中的缺陷。此外,随着开发小组人员数目的增加,因为交流情况讨论问题而造成的开销也急剧增加。因此,组成少而精的开发小组是软件工程的一条基本原理。第 3 页 共 81 页 7.承认不断改进软件工程实践的必要性承认不断改进软
10、件工程实践的必要性 遵循上述 6 条基本原理,就能够实现软件的工程化生产,但是,仅有上述 6 条原理并不能保证软件开发与维护的过程能赶上时代前进的步伐,跟上技术的不断进步。因此,应把承认不断改进软件工程实践的必要性作为软件工程的第 7 条基本原理。按照这条原理,不仅要积极主动地采纳新的软件技术,而且要注意不断总结经验,例如,收集进度和资源耗费数据,收集缺陷类型和问题报告数据,等等。这些数据不仅可以用来评价新的软件技术的效果,而且可以用来指明必须着重开发的软件工具和应该优先研究的技术。以上 7 条只是基本原理,对每一个软件企业而言,如何根据这几条原理管理和改进软件产品的开发和维护过程,问题还是不
11、少,主要是可操作性差,缺少评价标准,以及缺少相互之间的可比性。于是,人们又只好求助于其他与产品质量管理、项目管理相关的标准体系,或者是新出现的并已证明有效的专门关于软件过程改进和管理的评价模型。从当前及今后一个时期看,一个软件企业在技术、产品管理方面可采用的标准体系或模型,基本上有三个,它们之间的关系如下图示:【注 1.CMMCapability Maturity Model,能力成熟度模型。注 2.CMMICapability Maturity Model Integration,能力成熟度集成模型。注 3.PMProject management,项目管理;PMBOK(A Guide to
12、 the Project Management Body Of Knowledge项目管理知识体系指南),由 PMI(美国项目管理协会)颁布。】从上图可以看出:?三者不存在互相包含的关系,但有很强的关联性。?三者不存在互相替代的关系,但侧重点各有不同。?PM 和 9001 并不专门针对软件企业,但可用于软件企业特别是包括软件产品、集成工程和服务的软件企业。?CMM、CMMI 专用于软件企业或软件项目,或系统集成企业或系统集成项目。本章后面几节分别介绍 ISO9001、PMBOK 和 CMM。ISO/9001 ISO/9001 CMM注1 PM注3 PMBOK PM注3 PMBOK 软件企业,C
13、MMI注2 第 4 页 共 81 页 1.2 质量管理体系质量管理体系 ISO9001 本节简要介绍质量管理体系 ISO9001:2000。ISO9001 规定了企业质量管理体系的基本要求,它是通用的,适用于所有行业或经济领域,不论其提供何种类别的产品。ISO9001 本身并不规定产品质量的要求。质量管理原则 为促进质量目标的实现,ISO9001 标准明确规定了以下八项质量管理原则:?以顾客为中心。?高层管理者推动。?全员参与。?采用过程方法。?系统的管理。?持续改进。?基于事实的决策。?互利的供方关系。建立和实施质量管理体系的步骤 建立和实施质量管理体系,一般应按下列步骤进行:?确定顾客的需
14、求和期望;?建立企业的质量方针和质量目标;?确定实现质量目标所必需的过程和职责;?对每个过程实现质量目标的有效性确定测量方法;?通过测量,确定每个过程的现行有效性;?确定防止不合格项并消除产生原因的措施;?寻找提高过程有效性和效率的机会;?确定并优先考虑那些能提供最佳结果的改进;?为实施已确定的改进,对战略、过程和资源进行策划;?实施改进计划;?监控改进效果;?对照预期效果,评价实际结果;?评审改进活动,确定必要的纠正、跟踪措施。过程方法 任何得到输入并将其转化为输出的序列活动均可视为过程。为使组织有效运行,必须识别和管理许多内部相互联系的过程。通常,一个过程的输出将直接形成下一个过程的输入。
15、系统识别和管理组织内所使用的过程,特别是这些过程之间的相互作用,称为“过程方法”。ISO9001 标准鼓励采用过程方法建立和实施质量管理体系。实例介绍 此处给出某著名软件企业采用 ISO9001 标准,建立和实施质量管理体系的概况,供参考。?过程识别 整个质量管理体系由四个大过程以及大过程所包含的若干个子过程构成,分别定义如下:第 5 页 共 81 页 体系管理过程:体系管理过程:对应于标准条款 4 和 5,主要活动包括整个质量管理体系所包含的过程及子过程的识别和划分、过程之间关系的确定以及质量管理体系文件的编写、管理和控制;还包括确定管理承诺、质量方针、质量目标、职责划分以及为了质量管理体系
16、的实施、保持和持续改进而进行的质量策划和管理评审。资源管理过程:资源管理过程:对应于标准条款 6(资源管理与提供),为了质量管理体系的实施、保持和持续改进,公司应保证在人员编制、员工培训、基础设施、工作环境等方面提供必要、合理和充分的资源。产品实现过程:产品实现过程:是核心业务过程,对应于标准条款 7(产品实现过程),包括产品策划子过程、与顾客相关的子过程、设计开发子过程、采购子过程以及生产和服务提供子过程。监测、分析和改进过程:监测、分析和改进过程:对应于标准条款 8(测量、分析和改进)。主要活动包括顾客满意、内部审核、过程监视、产品监视等过程的监视与测量活动,以及不合格品控制、数据分析、持
17、续改进和纠正、预防措施。上列 4 个基本过程以及相关子过程的相互关系,如下页图示。第 6 页 共 81 页?过程关系 体系管理过程体系管理过程 资源管理过程资源管理过程产品实现过程产品实现过程 监测、分析与改进过程监测、分析与改进过程 资源提供 人力资源 基础设施 工作环境 监视与测量 不合格品控制数据分析 改进 产品策划子过程产品策划子过程 与顾客相关的子过程与顾客相关的子过程 设计开发子过程设计开发子过程 采购子过程采购子过程 生产与服务提供子过程生产与服务提供子过程 采购流程 采购信息 产品验收 用户需求确定投标书评审 合同评审 顾客沟通 设计开发策划设计开发输入设计开发输出阶段评审 阶
18、段验证 阶段确认 更改控制 客户服务流程控制客户服务流程确认版本控制 顾客财产 产品防护 监视与测量 产品质量计划管理承诺 用户第一 质量方针 质量策划 责权与沟通 管理评审 职责权限 管理者代表 内部沟通 质量目标 体系策划 顾客满意度 内部审核 过程监视 产品监视 持续改进 纠正措施 预防措施 需求分析 软件设计 软件编码 软件测试 软件结项 第 7 页 共 81 页?质量体系文件的分层结构 质量体系文件分为四个层次:?质量手册质量手册:质量体系文件中的纲领性文件。阐明公司质量方针、质量目标和质量策略;描述影响和参与质量活动的部门、岗位职责、权限和相互关系,同时概要描述了质量体系的主体文件
19、即程序文件(规程)。?程序文件程序文件:质量手册的支持性文件,具体描述质量活动各个过程、子过程以及各阶段中所采取的措施和必需遵循的流程。?条例和规范条例和规范:结合公司的具体情况而颁布各类工作条例、技术规范。?表单模板表单模板:包括质量记录模板、文档模板等。?过程与文件的对应关系 上列各个过程和质量体系文件之间的对应关系,见下页对照表。第 8 页 共 81 页 过程与相关文件对照表 过程类别 子过程、活动或内容 相关文件 过程识别 质量手册章节 4.1 体系文件控制、质量记录控制 文件资料控制程序 质量记录控制程序 质量方针、质量目标的确定 质量手册章节 5.3,5.4.1 组织机构和职责权限
20、的明确 质量手册章节 5.5 体系管理 管理评审 管理评审程序 培训管理 人力资源控制 人力资源管理 人力资源管理程序 人力资源管理工作条例 基础设施保障 资源管理 工作环境提供与维护 行政管理工作条例 产品策划 产品实现程序 需求确定 投标书评审 合同评审 与顾客相关 顾客沟通 投标控制程序 合同管理程序 合同管理工作条例 设计开发策划 设计开发输入 设计开发输出 阶段评审 阶段验证 阶段确认 设计和开发 更改控制 产品实现程序 技术管理工作条例 系统集成项目管理工作条例 采购流程 采购信息 采购 产品验收 产品实现程序 设备采购供应管理工作条例 系统集成项目管理工作条例 客户服务流程控制
21、客户服务流程确认 版本控制 产品实现程序 客户服务工作条例 顾客财产 质量手册章节 7.5.4 产品防护 质量手册章节 7.5.5 产品实现 生产与服务提供 监视与测量 数据收集与分析程序 内部质量审核 内部质量审核程序 过程监视和测量 质量手册章节 8.2.3 监视和测量 产品监视和测量 质量手册章节 8.2.4 不合格品控制 质量手册章节 8.3 不合格品控制程序 数据收集与分析应用 数据收集与分析程序 持续改进 纠正措施 持续改进 持续改进过程 预防措施 持续改进程序 第 9 页 共 81 页 1.3 项目管理知识体系项目管理知识体系 PMBOK 项目基本属性。项目,是在限定时间内、利用
22、有限的资源、完成有一定质量要求的目标而进行的一系列有序活动的一次性组合。充分认识项目属性,有利于做好项目管理。项目基本属性 8 条,包括:?整体性,是一系列活动的有序组合。?唯一性,每个项目均是具体的、特殊的,没有二个完全相同的项目。?一次性,目标一旦完成,项目即告结束。?目标性,一个项目有确定的成果性目标。?多约束性,在多种约束条件下完成项目的成果性目标,约束包括时间、资源、质量以及其他非技术性约束。?依赖性,项目活动的进行涉及多个方面的因素,有对内部各级各部门的依赖,有对用户条件的依赖,有对标准的依赖和对各类变更的依赖等等。?冲突性,项目内部会有多种冲突,需要沟通、协调和培训。?周期性,项
23、目不同,但都有其基本的生命周期属性,都会经历大体相同的阶段。项目参数。用于刻划一个项目的主要参数:范围、进度、资源、成本和质量。项目生命周期。项目生命周期划分成四个阶段:?定义。?策划。?实施。?收尾。项目生命周期与软件生命周期阶段划分的对应关系,如下表:项目生命周期 软件生命周期 项目定义 立项管理、需求管理 项目策划 项目策划 项目实施 软件设计、编码、测试 项目收尾 发布、提交、运行维护、技术支持和产品退役 项目管理基本过程 项目管理基本过程共五个:启动过程、策划过程、执行过程、控制过程和结束过程。项目管理基本职能。项目管理基本职能,有九个,如下图所示。第 10 页 共 81 页 项目管
24、理成熟度模型 CMM(见下一节)发布后,有人又根据 PMBOK 和 CMM,进一步提出了一套项目管理成熟度模型(Project Management Maturity Model),简称 PMMM。PMMM V5.0(2002 年 10 月)标准文本与 CMM 非常相似,也分成 5 级,也有关键过程域的概念,要点如下表:项目管理项目管理 项目整体管理项目整体管理 项目计划制订 项目计划实施 整体变更控制 项目范围管理项目范围管理 启动 范围计划编制 范围定义 范围核定 范围变更控制 项目时间管理项目时间管理 活动定义 活动排序 历时估算 进度计划编制 进度计划控制 项目成本管理项目成本管理 资
25、源计划编制 费用估算 费用预算 费用控制 项目质量管理项目质量管理 质量计划编制 质量保证 质量控制 项目人力资源管理项目人力资源管理 组织的计划编制 人员获取 班子组建 项目沟通管理项目沟通管理 沟通计划编制 信息发布 绩效报告 管理收尾 项目风险管理项目风险管理 风险识别 风险量化 定性风险分析 定量风险分析 风险应对计划编制 风险监控 项目采购管理项目采购管理 采购计划编制 询价计划编制 询价 供方选择 合同管理 合同收尾 第 11 页 共 81 页 成熟度等级 关键过程域 Initial process 初始级 Project Definition 项目定义 Repeatable pr
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMMI 培训 讲义
限制150内