《软件过程的质量管理.pptx》由会员分享,可在线阅读,更多相关《软件过程的质量管理.pptx(73页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件过程的软件过程的质量管理质量管理主讲人:王辉主讲人:王辉2014-02-212022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量软件质量 = = 好?好?q软件质量软件质量 = = 时间和空间复杂度低?时间和空间复杂度低?q软件质量软件质量 = = 鲁棒性?鲁棒性?q2022年年1月月9日日信息科学与技术学院信息科学与技术学院q古时候古时候:长得结实、饭量大长得结实、饭量大就是健康就是健康q现代现代:通过:通过多方面的生理因素来判断多方面的生理因素来判断:身高、身高、体重、心跳、血压、血液、体温体重、心跳、血压、血液、体温等,如果某个因等,如果某个因素的素的测量测量不合格
2、,则表明在某方面不健康,医生不合格,则表明在某方面不健康,医生会对症下药。会对症下药。2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量软件质量是许多是许多质量属性的综合体现质量属性的综合体现,各种,各种质量属性反映了软件质量的方方面面质量属性反映了软件质量的方方面面。q人们通过人们通过改善软件的各种质量属性改善软件的各种质量属性,来,来提高提高软件的整体质量软件的整体质量。2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量管理的基本概念软件质量管理的基本概念q软件质量度量软件质量度量qISO 9126 软件质量度量模型软件质量度量模型q软件质量管理软件
3、质量管理 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量管理的基本概念软件质量管理的基本概念q软件质量度量软件质量度量qISO 9126 软件质量度量模型软件质量度量模型q软件质量管理软件质量管理 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q质量是产品或者服务满足质量是产品或者服务满足明确或隐含需要明确或隐含需要能力的性能和特性的总体。能力的性能和特性的总体。qThe totality of features and characteristics of a product or service that bear on its ability to
4、satisfy stated or implied needs.2022年年1月月9日日信息科学与技术学院信息科学与技术学院q质量是软件产品满足质量是软件产品满足明确或隐含需要明确或隐含需要能力能力的性能和特性的总体。的性能和特性的总体。用户需求用户需求是衡量软件质量的基础。是衡量软件质量的基础。除满足明确定义的需求外,还要满足除满足明确定义的需求外,还要满足隐含的需求隐含的需求。qThe totality of features and characteristics of a software product that bear on its ability to satisfy stat
5、ed or implied needs.2022年年1月月9日日信息科学与技术学院信息科学与技术学院质量质量时间时间成本成本2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件越来越重要,对其软件越来越重要,对其质量要求质量要求也越来越高也越来越高2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量问题可能导致软件质量问题可能导致经济损失甚至灾难性经济损失甚至灾难性的的后果。后果。v19991999年美国年美国火星气候探测器火星气候探测器从距离火星表面从距离火星表面130130英尺的高英尺的高度垂直度垂
6、直坠毁坠毁。此项工程成本耗费。此项工程成本耗费3.273.27亿美元,亿美元,故障为软件故障为软件中使用的是英制单位中使用的是英制单位,而不是预制的公制单位。,而不是预制的公制单位。v20092009年年2 2月份月份Google的的Gmail故障故障,Gmail用户几小时不用户几小时不能访问邮箱能访问邮箱, , 故障是因数据中心之间的故障是因数据中心之间的负载均衡软件的负载均衡软件的Bug引发的。引发的。q质量问题会质量问题会增加增加开发和维护软件产品的开发和维护软件产品的成本成本。2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学
7、与技术学院q软件的质量形成于软件的质量形成于产品或者服务的开发过程产品或者服务的开发过程中中,而不是,而不是事后的检查(如测试)。事后的检查(如测试)。q2020世纪世纪8080年代起,质量管理逐步从单一的年代起,质量管理逐步从单一的关关注产品注产品,转移转移到关注生产好产品的到关注生产好产品的过程过程上,上,并且将过程的作用扩大到了组织运行的所有并且将过程的作用扩大到了组织运行的所有领域。领域。软件质量的软件质量的形成形成2022年年1月月9日日信息科学与技术学院信息科学与技术学院q当当过程不断被重复过程不断被重复,其,其性能会趋于稳定性能会趋于稳定w结果可预测结果可预测w对现行执行可监测对
8、现行执行可监测质量得到保证质量得到保证实施的过程性能实施的过程性能稳定过程的上下控制界稳定过程的上下控制界质量产生于过程质量产生于过程2022年年1月月9日日信息科学与技术学院信息科学与技术学院q特殊原因造成过程性能不稳定。特殊原因造成过程性能不稳定。 根除特殊原因,使过程性能稳定,防止质量根除特殊原因,使过程性能稳定,防止质量问题的出现问题的出现。造成不稳定的特殊原因造成不稳定的特殊原因2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量管理的基本概念软件质量管理的基本概念q软件质量度量软件质量度量qISO 912
9、6 软件质量度量模型软件质量度量模型q软件质量管理软件质量管理 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件度量软件度量(software measurement):):对对软件开发软件开发项目、过程及其产品项目、过程及其产品进行进行定量化定量化的过的过程,目的在于对其加以理解、预测、评估、控程,目的在于对其加以理解、预测、评估、控制和改善。制和改善。q没有度量就没有控制没有度量就没有控制,没有控制就没有管理没有控制就没有管理。2022年年1月月9日日信息科学与技术学院信息科学与技术学院数字数字图表图表模型模型2022年年1月月9日日信息科学与技术学院信息科学与技术学院软
10、件质量度量软件质量度量2022年年1月月9日日信息科学与技术学院信息科学与技术学院qGQM( (Goals-Questions-Metrics) ) 是是2020世纪世纪8080年年代中期由美国马里兰大学巴士利博士及其助手提出代中期由美国马里兰大学巴士利博士及其助手提出的一种的一种面向目标、自上而下由目标逐步细化到度量面向目标、自上而下由目标逐步细化到度量的度量定义方法。的度量定义方法。 GQM三层模型三层模型2022年年1月月9日日信息科学与技术学院信息科学与技术学院q提出度量的提出度量的目标目标G(Goal)q将目标细化为特定的将目标细化为特定的问题问题Q(Question)q这些问题以这
11、些问题以度量度量M(Metric)的方式回答的方式回答GQM三层模型三层模型2022年年1月月9日日信息科学与技术学院信息科学与技术学院 Q1: How much does the inspection process cost? Q2: How much calendar time does the inspection process take? M1.1: Average effort per KLOC M1.2: Percentage of re-inspection M2.1: Average effort per KLOC M2.2: Total KLOC inspected202
12、2年年1月月9日日信息科学与技术学院信息科学与技术学院q平均无失效时间平均无失效时间( (mean time to failure)q缺陷密度缺陷密度q顾客问题度量顾客问题度量q2022年年1月月9日日信息科学与技术学院信息科学与技术学院q缺陷率缺陷率 = = 缺陷数缺陷数 / / 软件大小软件大小v通常千行源代码数(通常千行源代码数(KLOC)v功能点功能点2022年年1月月9日日信息科学与技术学院信息科学与技术学院q采用采用PUM( (problems per user month) )表示表示qPUM = = 一个时段内的顾客报告的问题总数一个时段内的顾客报告的问题总数 / /在此期间软
13、件许可证月总数在此期间软件许可证月总数q许可证月总数许可证月总数= =软件的安装许可证数软件的安装许可证数* *计算时段计算时段中的月数中的月数2022年年1月月9日日信息科学与技术学院信息科学与技术学院缺陷/KLOCPUM分子分子有据且不同的产品有据且不同的产品缺陷数缺陷数所有顾客问题(缺所有顾客问题(缺陷性和非缺陷性,陷性和非缺陷性,首次的和重复的)首次的和重复的)分母分母产品大小(产品大小(KLOC) 产品的顾客使用产品的顾客使用(用户一月数)(用户一月数)测量角度测量角度生产者生产者-软件开发软件开发机构机构顾客顾客作用范围作用范围内在产品质量内在产品质量内在产品质量加上内在产品质量加
14、上其他因素其他因素2022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量管理的基本概念软件质量管理的基本概念q软件质量度量软件质量度量qISO 9126 软件质量度量模型软件质量度量模型q软件质量管理软件质量管理 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q按照按照 1991 1991 年年 ISO 发布的发布的 ISO/IEC 9126 质量质量特性国际标准特性国际标准 ,软件质量度量模型由,软件质量度量模型由三层三层组成组成v 软件质量软件质量特性特性v 软件质量软件质量子特性子特性v 软件质量软件质量度量评价准则度量评价准则q高层和中层建立国际标准,高层
15、和中层建立国际标准,低层可由各使用单位低层可由各使用单位视实际情况制定视实际情况制定。功能性可靠性可维护性有效性可使用性可移植性适合性准确性互操作性依从性安全性成熟性容错性易恢复性易理解性易学习性易操作性时间特性资源特性易分析性稳定性易变更性易测试性易安装性易替换性适应性遵循性质量特性质量子特性质量度量准则使使用用单单位位自自行行规规定定ISO 9126质量模型质量模型ISO 9126 software qualities32ISO 9126 software qualities332022年年1月月9日日信息科学与技术学院信息科学与技术学院qSuitability ( (适合性适合性) )
16、qAccuracy ( (准确性准确性) )qInteroperability ( (互操作性,兼容性互操作性,兼容性) )vability of software to interact with other software componentsqFunctionality compliance ( (功能符合性功能符合性) )vdegree to which software adheres to application-related standards or legal requirements e.g auditqSecurity ( (安全性安全性) )vcontrol of a
17、ccess to the system2022年年1月月9日日信息科学与技术学院信息科学与技术学院q弱者设法与强者兼容,否则无容身之地弱者设法与强者兼容,否则无容身之地q强者应当避免被兼容,否则市场将被瓜分强者应当避免被兼容,否则市场将被瓜分Word VS WPS2022年年1月月9日日信息科学与技术学院信息科学与技术学院qMaturity(成熟度成熟度)vfrequency of failure due to faults - the more the software has been used, the more faults will have been removedqFault-t
18、olerance (容错性容错性)qRecoverability (可恢复性可恢复性)qReliability compliance (可靠性符合性可靠性符合性)vcomplies with standards relating to reliability2022年年1月月9日日信息科学与技术学院信息科学与技术学院qUnderstandability (可理解性可理解性)veasy to understand?qLearnability (可学习性可学习性)veasy to learn?qOperability (可操作性可操作性)veasy to use?qAttractiveness (
19、吸引性吸引性) v this is a recent additionqUsability compliance (可用性符合性可用性符合性)vcompliance with relevant standards2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院qTime behaviour (时间特性时间特性)ve.g. response timeqResource utilization (资源利用资源利用)ve.g. memory usageqEfficiency compliance (有效性符合性有效性符合性)vc
20、ompliance with relevant standards2022年年1月月9日日信息科学与技术学院信息科学与技术学院qAnalysability(可分析性可分析性)vease with which the cause of a failure can be foundqChangeability (可变性可变性)vhow easy is software to change?qStability (稳定性稳定性)vlow risk of modification having unexpected effectsqTestability (可测试性可测试性)qMaintainabil
21、ity conformance (符合性符合性)2022年年1月月9日日信息科学与技术学院信息科学与技术学院qAdaptability (适应性适应性)qInstallability (可安装性可安装性)qCo-existence (共存性共存性)vCapability of co-existing with other independent software productsqReplaceability (可替代性可替代性)vfactors giving upwards compatibility - downwards compatibility is excludedqPortabi
22、lity conformance (符合性符合性)vAdherence to standards that support portability2022年年1月月9日日信息科学与技术学院信息科学与技术学院qJudge the importance of each quality for the applicationvfor example, safety critical systems - reliability very importantvreal-time systems - efficiency importantqSelect relevant external measure
23、ments within ISO 9126 framework for these qualities, for examplevmean-time between failures for reliabilityvresponse-time for efficiencyqRather than map engineering measurement to qualitative rating, map it to a scorev Rate the importance of each quality in the range 1-5v Multiply quality and import
24、ance scores see next slide43Product AProduct BProduct qualityImportance rating (a)Quality score (b)Weighted score (a x b)Quality score (c)Weighted score (a x c)usability31339efficiency42828maintain-ability23612Overall totals1719442022年年1月月9日日信息科学与技术学院信息科学与技术学院q软件质量管理的基本概念软件质量管理的基本概念q软件质量度量软件质量度量qISO
25、 9126 软件质量度量模型软件质量度量模型q软件质量管理软件质量管理 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q质量计划质量计划 ( (Quality Plan) ):确定项目应达到的确定项目应达到的质量质量标准标准,以及如何满足质量标准的,以及如何满足质量标准的计划安排和方法计划安排和方法。q质量保证质量保证( (Quality Assurance, QA) ):确保项目达到确保项目达到有关标准,而开展的有计划、有组织的工作活动。有关标准,而开展的有计划、有组织的工作活动。”Is it done right?”q质量控制质量控制( (Quality Control, Q
26、C) ):是确定项目结果是确定项目结果与质量标准与质量标准是否相符是否相符,并及时,并及时纠正产品缺陷纠正产品缺陷的过程的过程。”Is it right done?”2022年年1月月9日日信息科学与技术学院信息科学与技术学院qQA:Is to focus the process.qQC: Is to control the quality before delivery.P1P2P3ProductQAQCQAQA 2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院q项目应达到的质量目标和质量特性的要求项目应达到的质量目标和
27、质量特性的要求q确定项目中的质量活动和质量控制程序确定项目中的质量活动和质量控制程序q项目不同阶段,职责,权限,交流方式以及资源分配项目不同阶段,职责,权限,交流方式以及资源分配q确定项目采用的控制手段确定项目采用的控制手段, ,合适的验证手段和方法合适的验证手段和方法q确定和准备质量记录确定和准备质量记录 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q试验设计试验设计q基准对照基准对照q质量成本分析质量成本分析q流程图方法流程图方法q因果分析图因果分析图 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q试验设计是一种统计学方法,确定哪些因素试验设计是一种统计学方
28、法,确定哪些因素可能会对特定变量产生影响。可能会对特定变量产生影响。正交试验设计法正交试验设计法析因法析因法2022年年1月月9日日信息科学与技术学院信息科学与技术学院q质量成本质量成本( (Cost of Quality, CoQ) )是为了达是为了达到产品或服务的到产品或服务的质量而付出的所有努力质量而付出的所有努力的的总总成本成本,包括三部分:,包括三部分:v预防成本预防成本:为防止将缺陷引入软件而进行的预防:为防止将缺陷引入软件而进行的预防工作所消耗的费用。工作所消耗的费用。v评价成本评价成本:检查软件是否包含缺陷的工作所消耗:检查软件是否包含缺陷的工作所消耗的费用。的费用。v失效成本
29、失效成本:修复缺陷工作所消耗的成本。:修复缺陷工作所消耗的成本。 PAF(Prevention/ Appraisal/ Failure)成本模型成本模型预防预防评估评估失效失效培训培训审查审查废品废品计划计划测试测试返工返工过程研究和改进过程研究和改进审计审计修复修复供应商调查供应商调查监控监控Regression Test咨询咨询度量度量缺陷分析缺陷分析获得资格获得资格验证验证服务服务分析分析退货退货确认确认投诉处理和解决投诉处理和解决When Defect is DetectedTypical Cost of CorrectionUser Requirements$100-$1,000Co
30、ding/Unit Testing$1,000 or moreSystem Testing$7,000 - $8,000Acceptance Testing$1,000 - $100,000After ImplementationUp to millions of dollars在项目在项目早期预防和检测缺陷早期预防和检测缺陷比在项目比在项目晚期检测和排除晚期检测和排除缺陷缺陷更有效、更节省成本。更有效、更节省成本。质检质检/ /过失比过失比 = (= (预防成本预防成本 + + 评价成本评价成本) / ) / 失效成本失效成本,这个比值这个比值大于大于2 2是努力达到的程度是努力达到的程度2
31、022年年1月月9日日信息科学与技术学院信息科学与技术学院q描述相关的描述相关的各种原因和子原因如何产生潜在各种原因和子原因如何产生潜在问题或影响问题或影响,将影响质量问题的,将影响质量问题的“人员、设人员、设备、参考资料、方法、环境备、参考资料、方法、环境”等各方面的原等各方面的原因进行细致的分解,方便地在质量计划中制因进行细致的分解,方便地在质量计划中制定相应的预防措施。定相应的预防措施。 2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院q 项目概述项目概述q 实施策略实施策略q 项目组织项目组织q 质量保证对象分析及
32、选择质量保证对象分析及选择q 质量保证任务划分质量保证任务划分q 实施计划实施计划q 资源计划资源计划q 记录的收集、维护与保存记录的收集、维护与保存质量保证计划模板参照质量保证计划模板参照2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院q正规的质量评价(正规的质量评价(质量审计质量审计):通常在项目执):通常在项目执行的过程中进行行的过程中进行q总结性质量评价(总结性质量评价(质量改进质量改进):通常在项目结):通常在项目结束时进行束时进行q自检自检2022年年1月月9日日信息科学与技术学院信息科学与技术学院q审计准备审
33、计准备:主要是收集材料、编写计划、明确审计:主要是收集材料、编写计划、明确审计目的。目的。q实施审计实施审计:实施审计过程中,当发现明显偏差时,:实施审计过程中,当发现明显偏差时,应与现场管理人员进行讨论,对照程序详细记录,应与现场管理人员进行讨论,对照程序详细记录,取得客观证据。取得客观证据。q提出提出偏差报告偏差报告q审计报告发生后的审计报告发生后的跟踪跟踪q建立建立审计档案审计档案2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院2022年年1月月9日日信息科学与技术学院信息科学与技术学院质量控质量控制方法制方法静态方
34、法:评审静态方法:评审技术评审技术评审代码评审代码评审动态方法:测试动态方法:测试单元测试单元测试集成测试集成测试确认测试确认测试缺陷跟踪缺陷跟踪2022年年1月月9日日信息科学与技术学院信息科学与技术学院不管你有没有发现他们,缺陷总是存在,问题不管你有没有发现他们,缺陷总是存在,问题只是你最终发现它们时,需要多少纠正成本。评审只是你最终发现它们时,需要多少纠正成本。评审的投入把质量成本从昂贵的、后期返工转变为早期的投入把质量成本从昂贵的、后期返工转变为早期的缺陷发现。的缺陷发现。卡尔卡尔威格威格 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q 临时评审(临时评审(Ad hoc
35、 review)q 轮查(轮查(Passroud)q 走查(走查(Walkthrough)q 小组评审(小组评审(Group Review)q 审查(审查(Inspection)q 最不正式最不正式最正式最正式临时评审临时评审轮查轮查 走查走查小组评审小组评审 审查审查2022年年1月月9日日信息科学与技术学院信息科学与技术学院q技术评审是指在完成一项工作后,把工作产品技术评审是指在完成一项工作后,把工作产品分发给分发给合作者合作者,让合作者检查其中的缺陷。然,让合作者检查其中的缺陷。然后开会讨论工作产品并产生需要返工的缺陷列后开会讨论工作产品并产生需要返工的缺陷列表。表。q技术评审的主要对象
36、:技术评审的主要对象:需求和设计规格说明、需求和设计规格说明、测试计划、用户手册等测试计划、用户手册等。2022年年1月月9日日信息科学与技术学院信息科学与技术学院1.1.组织召开组织召开评审会议评审会议:一般应有:一般应有3535个相关人员个相关人员参加,会前每个参加者做好准备,评审会议一参加,会前每个参加者做好准备,评审会议一般般不超过两个小时不超过两个小时。2.2.在评审会议上,由开发小组对提交的评审对象在评审会议上,由开发小组对提交的评审对象进行进行讲解讲解。3.3.评审组可对开发小组评审组可对开发小组提问提问,提出建议和要求,提出建议和要求,展开展开讨论讨论。2022年年1月月9日日
37、信息科学与技术学院信息科学与技术学院4.4.会议结束时必须做出以下三个决策之一:会议结束时必须做出以下三个决策之一:w接受该产品,不需要做修改。接受该产品,不需要做修改。w由于错误严重,拒绝接受。由于错误严重,拒绝接受。w暂时接受该产品,但需要对某一部分进行修改。暂时接受该产品,但需要对某一部分进行修改。5.5.评审报告与记录评审报告与记录:对所提出的问题要进行记:对所提出的问题要进行记录,并产生一个评审报告录,并产生一个评审报告。技术评审流程技术评审流程2022年年1月月9日日信息科学与技术学院信息科学与技术学院q同行评审同行评审是一种特殊类型的技术评审。是一种特殊类型的技术评审。q由与工作
38、产品开发人员由与工作产品开发人员具有同等背景和能力具有同等背景和能力的人员的人员对工作产品进行技术评审,因此非常对工作产品进行技术评审,因此非常有利于发现工作产品中的问题。有利于发现工作产品中的问题。同行评审(同行评审(Peer Review)2022年年1月月9日日信息科学与技术学院信息科学与技术学院q编码阶段编码阶段的一种技术评审,由一组人员对程序的一种技术评审,由一组人员对程序进行阅读和静态分析,可以很有效地检查程序进行阅读和静态分析,可以很有效地检查程序代码中的缺陷。代码中的缺陷。q评审内容评审内容:程序是否符合编码规范,程序结构:程序是否符合编码规范,程序结构是否合理,算法和程序逻辑
39、是否正确,程序性是否合理,算法和程序逻辑是否正确,程序性能怎样等。能怎样等。q很多程序逻辑错误很难通过测试发现。很多程序逻辑错误很难通过测试发现。代码评审(代码评审(Code Review)2022年年1月月9日日信息科学与技术学院信息科学与技术学院q缺陷跟踪缺陷跟踪是指从缺陷被发现开始到被改正为止是指从缺陷被发现开始到被改正为止的整个跟踪流程。的整个跟踪流程。2022年年1月月9日日信息科学与技术学院信息科学与技术学院q缺陷跟踪一般需要软件工具支持。常用的工缺陷跟踪一般需要软件工具支持。常用的工具有:具有: Bugzilla ClearQuest Jira TrackRecord 2022年年1月月9日日信息科学与技术学院信息科学与技术学院q阅读:阅读:ISO-9126软件质量度量模型软件质量度量模型