资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Page,*,CMMI,与软件质量管理,国家软件标准化推广中心,林 平,CMMI与软件质量管理国家软件标准化推广中心,目的,明确组织实施CMMI的基本目标应包含对质量管理能力的提升,理解CMMI质量管理的基本理念,了解CMMI所包含的质量管理的实践和要求。,明确以提高产品质量为目的的项目质量管理所涵盖的内容和方法,Page,目的明确组织实施CMMI的基本目标应包含对质量管理能力的提升,内容,推进质量管理是实施CMMI过程改进的重要目标,基于过程的质量管理,项目质量管理的3个方面:质量保证、质量控制和质量工程的实践,质量保证-概念及QA的角色,质量控制,项目质量工程的实践,Page,内容推进质量管理是实施CMMI过程改进的重要目标Page,CMMI实施带来哪些改变?,改进软件产品的质量,改进项目满足预定目标的能力,减少开发成本和周期,降低项目风险,更有效地控制供应商,提高组织过程能力,提高竞争力,市场占有率,效益,.,CMMI的实施有助于:,Page,CMMI实施带来哪些改变?改进软件产品的质量CMMI的实施,成功的经验-1,缺陷率,生产率,88 89 90 91 92 93 94 95 96 97 98 99,软件缺陷率,Defect/KLOC,软件生产率和质量性能,Reference:Presented at,SEPG 99,L2,L3,L4,软件生产率,SLOC/人天,Page,成功的经验-1缺陷率生产率 88 89,成功的经验-2,缺陷能够在早期发现并消除,Page,成功的经验-2缺陷能够在早期发现并消除Page,成功的经验-2,缺陷能够在早期发现并消除,Page,成功的经验-2缺陷能够在早期发现并消除Page,成功的经验-3,产品质量随成熟度的提高而改进,Page,成功的经验-3产品质量随成熟度的提高而改进Page,CMM等级与产品缺陷,CMM Level,隐含的缺陷,缺陷消除率,%,交付的缺陷,1,5.00,85,0.75,2,4.00,89,0.44,3,3.00,91,0.27,4,2.00,93,0.14,5,1.00,95,0.05,数据按每个功能点的缺陷数来表示,Source:Software Assessments,Benchmarks,and Best Practices by Capers Jones,year 2000,Page,CMM等级与产品缺陷CMM Level隐含的缺陷缺陷消除率交,国内CMM成熟度等级分布,数据来源:,信产部科技司 05 年 12 月软件过程改进与评估推进座谈会,国内软件企业开展 CMM/CMMI 过程评估的数量达到 350 家,Page,国内CMM成熟度等级分布数据来源:信产部科技司 05 年 1,被评估组织的地区分布,*上海、辽宁数据到05 年底,数据来源:,信产部科技司 05 年 12 月软件过程改进与评估推进座谈会,Page,被评估组织的地区分布*上海、辽宁数据到05 年底数据来源:信,国内软件企业的质量管理能力,?,缺少对产品质量状况进行客观评价的数据,按CMMI模型实施的过程改进应将项目质量管理能力的提升作为改进重点之一。,Page,国内软件企业的质量管理能力?缺少对产品质量状况进行客观评价的,质量和软件质量管理,质量(Quality),一组内在特性满足需求的程度。,ISO 9000:2000,一个系统、构件或过程满足特定需求(顾客或用户需要或期望)的程度。,IEEE-STD-610,软件质量管理,确定一个软件产品的质量目标、建立实现这些目标的计划以及监督和调整软件计划、软件工作产品、活动和质量目标以满足顾客和最终用户需要和期望的过程。,SW-CMM CMU/SEI-93-TR-025,Page,质量和软件质量管理 质量(Quality)Page,质量对成本和进度的影响,早期阶段工作产品的低质量将最终影响成本和进度,开发过程中较早引入的缺陷,如果未加消除,将在后期花费更多的资源来治理。,单独依靠产品交付前的测试会更多地牺牲进度和成本,成熟的过程在项目早期就开始控制工作产品的质量,缺陷预防的方法能达到成本效益最佳,成本和进度是确定质量等级的主要影响因素之一,Page,质量对成本和进度的影响早期阶段工作产品的低质量将最终影响成本,CMMI质量管理的理念,“,产品的质量在很大程度上取决于,用以开发和维护该产品的过程的质量。,”,人,过 程,技 术,Q&P,该前提,以制造业为基础已长久建立;,在世界范围的制造和服务业的质量运动中得到确信(如,ISO 9000 标准)。,Page,CMMI质量管理的理念“产品的质量在很大程度上取决于人过 程,基于过程的质量,定义过程,质量OK,否,是,开发产品,评估产品质量,改进过程,将过程制度化,Page,基于过程的质量定义过程质量OK否是开发产品评估产品质量改进过,质量管理的职责,质量管理体系和过程的建立在组织级,实施在项目级;,组织质量管理的职责,质量目标是组织的商业目标之一,建立质量方针和策略,提供资源和支持,项目质量管理的职责,把质量构建到产品中去,实施对产品质量的监控,项目如何实施质量管理?,Page,质量管理的职责质量管理体系和过程的建立在组织级,实施在项目级,项目质量管理的主要环节,质量保证(Quality Assurance),质量控制(Quality Control),质量工程的实践(Quality Engineering Practices),Page,项目质量管理的主要环节质量保证(Quality Assura,软件质量保证,什么是软件质量保证?,由(相对)独立的质量管理人员在项目的整个开发周期中对项目所执行的过程和产生的工作产品进行监督和检查,确保其符合预定的要求。,条,件:组织已经制定了较为完备的开发和管理过程体系,质量保证的目的,确保过程得到有效地执行,并推进过程改进,就项目过程的执行情况和所构造的产品向管理者提供适当的可视性,质量保证有效实施的前提,各级管理者相信“过程”,高级管理者提供资源和支持,QA的主动性,Page,软件质量保证 什么是软件质量保证?Page,理解QA的角色,QA 关注的是:,正确的贯彻和使用过程,客观地审视项目过程的符合性,与,SEPG,组共同分析执行过程所产生的结果,,以支持过程改进,合作协调地开展工作,提供执行过程的反馈意见,为项目人员掌握过程提供指导,Page,理解QA的角色QA 关注的是:Page,理解QA的角色,QA 不承担:,对模型(CMM/CMMI)符合性的监督,验证项目工作产品的好坏“goodness”,产品质量的责任,强迫对过程的遵循,Page,理解QA的角色QA 不承担:Page,质量控制,为评价和验证已开发的产品而执行的活动和技术,产品是否满足质量要素(quality factors)的要求?,产品(包括生命周期的工作产品)是否具有可接受的质量?,工具和技术,同行评审/技术评审,测试,质量控制的目的,发现在工作产品中隐藏的缺陷和问题,为产品的质量分析提供数据,Page,质量控制为评价和验证已开发的产品而执行的活动和技术Page,评审,评审(Review):,软件技术人员(包括管理人员、用户代表)以会议的形式对软件产品进行评论,识别存在的问题,并判断其是否满足预期的要求。,同行评审(Peer review),在工作产品的开发进程中由同行们对该工作产品进行的评审,目的是识别要消除的缺陷。CMMI V1.2,方式:审查(Inspection)、走查(walkthrough),评审过程,评审的检查单,评审记录和报告,Page,评审评审(Review):Page,测试,测试-对产品的动态检测和评价,不同层次,单元测试、集成测试,.,不同的类型,黑箱、白箱,目的:,验证产品符合技术文档预期的特性、功能和性能等要求;识别产品的缺陷。,正式测试过程,测试规程、方法和工具,缺陷的记录和跟踪机制,Page,测试测试-对产品的动态检测和评价Page,评审和测试关注的重点,过程发现缺陷的能力,对过程活动和产品质量状况的了解,Page,评审和测试关注的重点过程发现缺陷的能力Page,质量工程,确保将质量构建到软件产品而对需求、设计、代码和验证过程和结果所进行的各种分析、研究和调控,以确保产品的可靠性、可维护性和其它质量要素得到满足的活动。,早期的错误发现,缺陷消除有效性分析,质量成本的优化,缺陷预防,Page,质量工程 确保将质量构建到软件产品而对需求、设计、代码和验证,项目质量工程的实践,质量分析模型,质量分析的技术、方法和工具,鱼骨图、Pareto 图、趋势分析、统计过程控制等,质量分析产生的共识,尽可能早地发现并消除缺陷,在软件开发周期的各阶段实施质量控制活动;,收集质量管理的数据,缺陷数据,返工的工作量数据,缺陷消除有效性分析;,质量成本分析,Page,项目质量工程的实践质量分析模型Page,质量分析模型-,缺陷消除,错误修改引入,缺陷发现,进入本阶段前存在的缺陷,未发现的缺陷,结束本阶段时遗留的缺陷,消除的缺陷,逃逸的缺陷,本阶段,开发中,注入的缺陷,进入的缺陷,进入的缺陷,本阶段,开发中,注入的缺陷,消除的缺陷,+,(,),/,DRE,=,缺陷消除的有效性(DRE),缺陷,修改,修改引入,的缺陷,+,当前的开发阶段,阶段性缺陷消除的有效性,Page,质量分析模型-缺陷消除错误修改引入缺陷发现进入本阶段前存在,尽早消除缺陷的价值,0,10,20,30,40,50,60,100,Requirements,Design,Code,System Test,Maintenance,Phase Error Found&Fixed,Cost to Fix,$1,$5,$20,$50,$100+,缺陷修改的成本 1:10:100,Page,尽早消除缺陷的价值 0102030405060100Req,多阶段消除缺陷比较,阶 段,需求,设计,实施,UT,IT,ST,进入的缺陷,100,340,736,295,118,47,60%的缺陷被消除,40,136,295,118,47,19,进入的缺陷,100,330,699,210,63,19,70%的缺陷被消除,30,99,210,63,19,6,100,300,600,95%,1000,60%,60%,60%,60%,60%,60%,19,50,DRE,DRE,10%,缺陷,3,Page,多阶段消除缺陷比较 阶 段需求设计实施UTITST,项目发现缺陷的状况?,Page,项目发现缺陷的状况?Page,缺陷数据是质量活动的基础,策划将来的项目和项目的后续阶段,积累的缺陷历史数据在项目策划中可以用来确立项目的质量目标,估计缺陷密度,缺陷消除率,在开发进程中利用项目前期采集的缺陷数据来预测产品潜在的缺陷,采取适当的措施来改进质量,规划产品的维护工作,利用缺陷数据评估,过程,项目,缺陷预防,错误发生的类别,原因分析,Page,缺陷数据是质量活动的基础 策划将来的项目和项目的后续阶段Pa,缺陷消除的模式,Page,缺陷消除的模式Page,分析缺陷数据,对每次评审和测试活动收集的数据进行汇总和分析,缺陷分布的趋势及其对产品质量的影响,识别缺陷引入阶段,缺陷密度-缺陷是否被充分地发现,Page,分析缺陷数据对每次评审和测试活动收集的数据进行汇总和分析Pa,缺陷消除有效性矩阵,(DRE Matrix),项目的 DRE=148/166=89.2%,高,中,警示,DRE,90%,75-90%,75%,Page,缺陷消除有效性矩阵(DRE Matrix)项目的 DRE=,改进质量的途径-,尽早消除缺陷,在总体注入缺陷相同的情况下,尽早地消除缺陷可以使交付产品的质量大大提高。,需 求,设 计,编 码,单元测试,系统测试,部件测试,交付使用,缺陷数,Page,改进质量的途径-尽早消除缺陷在总体注入缺陷相同的情况下,尽,缺陷预测,With Rayleigh Model,开 发
展开阅读全文