软件生存周期与过程体系.ppt
1,软件生存周期与过程体系,质量,就是把客户的质量要求分解,转化为设计参数、形成预期目标值,最终生产出来低成本且性能稳定可靠的“物美价廉”的产品。田口玄一 软件质量管理的困难性,主要是由软件特点规模大、软件内部构成复杂、难易度量因素决定的。,2,系统工程学的思想,系统工程学是为了研究多个子系统构成的整体系统所具有的多种不同目标的相互协调,以期望系统功能的最优化、最大限度地发挥系统组成部分的能力而发展起来的一门科学。,系统工程主要是用沿着逻辑推理的路径,去解决那些原本靠直觉判断处理的问题。,3,软件质量工程体系的建立,4,从系统工程的角度来描述质量管理体系,5,软件质量工程体系的构成,6,软件产品的质量因素,7,软件质量FCM模型,8,软件质量工作层次,软件质量方针软件质量控制(SQC)软件质量保证(SQA)软件质量管理(SQM),9,软件质量管理的4个层次,检查保证。预防完美,10,软件质量方针,质量方针,11,软件质量策划,12,软件质量控制,质量控制是一个设定标准(根据质量要求)、测量结果,判定是否达到了预期要求,对质量问题采取措施进行补救并防止再发生的过程,质量控制已不再仅仅是检验,而更多地倾向于确保生产出来的产品满足要求的过程控制。,13,软件质量保证,质量保证是质量管理的一部分,是为保护产品和服务充分满足消费者要求的质量而进行的有计划有组织的活动,致力于提供对满足质量要求的信任。内部质量保证是组织向自己的管理者提供信任;外部质量保证是组织向外部客户或其它方提供信任。复审(Review):用结束标准对该阶段生产出的软件配置成分进行严格的技术审查等活动;内审(Audit):检查组织内部是否遵守已有的模板、规则、流程等。,14,软件质量改进,质量改进是质量管理的一部分,是不断为改进软件开发过程、产品和服务的持续过程。同时,为确保有效性、效率或可追溯性,组织应注意识别需要改进的项目和关键质量要求,考虑改进所需的过程,以增强组织体系、改进过程和产品并提高满足要求的能力。在质量改进工作中,有许多模型,包括PDCA模型、PEIS模型、6 Sigma模型的DMAIC、CMM模型、SPICE模型等。,15,IDEAL模型用于质量改进,16,质量成本,田口玄一:“所谓质量,是指产品上市后给社会带来的损失。”费根堡姆主张把质量预防费用和检验费用与产品不合要求所造成的厂内损失和厂外损失一起加以考虑,并形成质量成本报告 ISO84021994:质量成本是为确保和保证满意的质量而发生的费用以及没有达到满意的质量所造成损失的总和,即包括保证费用和损失费用。,17,质量成本的构成,质量成本质量保证成本损失成本 保证成本:为保证满意的质量而发生的费用 损失成本:没有达到满意的质量所造成损失质量成本质量预防成本评价成本失效成本保证成本预防成本评价成本 预防成本:评价成本:失效成本:,18,3.5.2 引入质量成本的意义,质量成本将质量与企业经济效益直接联系起来,质量得以货币语言来表达,质量语言和货币语言形成对话,从一个务虚的概念转换成一个务实的概念。,19,“矿中黄金”理论,20,3.5.3 劣质成本PONC和COPQ,PONC,即“不符合要求的代价(Price of Nonconformance)”或称“劣质成本”,是指由于缺乏质量而造成的人力、财力、物力以及时间成本的浪费。PONC是在“零缺陷”质量管理中,为了更有效地衡量质量成本而引入的一个重要概念。COPQ,即“不良成本(Cost of Poor Quality)”或称“劣质成本”的概念。COPQ指所有由过程、产品和服务中的质量缺陷引起的费用。COPQ则是“6西格玛(Six sigma)”质量管理中的一个重要概念,用于有效地衡量质量成本、质量改进过程在经营效益上的表现。,21,劣质成本的分类,故障成本,包括质量成本中的外部故障成本、内部故障成本,需采取返工、返修、纠正等补救措施所花费的成本。过程成本,包括非增值成本(非增值的预防成本和鉴定成本)、低效率过程成本(如多余的操作、重复的作业等)、机会损失成本(指如果没有缺陷而就不会发生的费用等)。损失成本,包括顾客损失成本(指给顾客所造成的各种额外的费用及负担)、信誉损失成本。,22,3.5.4 软件的劣质成本,验证缺陷 回退到原来位置/版本(Roll Back)代码完成后功能修改、测试用例修改 缺陷报告质量低,往返几次,才能再现缺陷 回归测试和不断的重复测试 错误的开发环境或测试环境而返工.为修正客户发现的问题,紧急发布程序补丁,软件劣质成本竟高达46%以上,有时高达60,23,质量成本 冰山,停工延期纠正错误所进行的加班不断重复测试越来越庞大的测试队伍影响员工积极性失去的市场时机失去的订单失去的信誉、品牌,账单出错失败的项目现场运行故障,看到的只是冰山一角,24,软件质量标准体系介绍,从纵向看,分为产品质量管理标准和过程质量管理标准 从横向看,分为通用标准和各个行业的质量标准 从范围看,分为国际标准和国内标准,原理标准,描述各个原理级的关键组织标准 要素标准,原理标准中的各个要素的详细性能要求的标准,必须执行;指南和补充,为如何把原理或要素标准应用于特定场合而提供指导性的文件,标准体系空间,标准体系层次,25,软件产品质量标准体系,26,软件过程质量标准体系,27,软件质量度量的地位,项目质量度量是度量软件项目特征和项目执行的质量状态,包括项目的资源使用效率、项目性能、项目风险等。产品质量度量是度量软件产品的特性和质量属性,如软件产品的功能、复杂性、设计特征、性能和可靠性等。过程质量度量是度量软件开发和维护的改进过程,包括过程中某一时刻的状态(时间切面)、历史数据分析度量和未来变化预测的度量等。,采用定量软件工程,制定软件产品质量的度量准则,可以提高软件开发过程管理的可视性,降低劣质成本,提高软件产品的质量,