Ch03 软件质量控制4491.pptx
《Ch03 软件质量控制4491.pptx》由会员分享,可在线阅读,更多相关《Ch03 软件质量控制4491.pptx(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章 软件质量控制软件质量控制Software Quality Control3/26/202313.1 引言3.1.1 基本概念一、质量控制一、质量控制制造业的质量控制开始于二战期间的军事采购中,是制造业的质量控制开始于二战期间的军事采购中,是一种采用统计技术的工具一种采用统计技术的工具主要活动包括:主要活动包括:建立质量标准:建立质量标准:定义每一质量特性的规约定义每一质量特性的规约制定计划:制定计划:对制造过程、设备、采购、培训作出计划对制造过程、设备、采购、培训作出计划确定预防措施:确定预防措施:分析质量要素,谨慎控制生产过程分析质量要素,谨慎控制生产过程确定质量符合度确定质量符
2、合度3/26/20232确定质量符合度的方法:确定质量符合度的方法:解释质量标准解释质量标准随机抽样检查随机抽样检查抽样审查和度量抽样审查和度量度量与标准的对照度量与标准的对照评价质量符合度评价质量符合度应用统计方法决定是否接受该批次产品应用统计方法决定是否接受该批次产品审查数据、形成文档审查数据、形成文档3/26/20233根据质量控制模型中,工厂把原材料转变为可用根据质量控制模型中,工厂把原材料转变为可用的产品,用以下模型表示:的产品,用以下模型表示:U=F(R)其中,其中,R是一组材料,是一组材料,U是一组产品是一组产品工厂有工厂有2个特征:个特征:有明确定义的原材料(类型、质量特征)有
3、明确定义的原材料(类型、质量特征)有明确定义的产品、产品的缺陷、质量特征有明确定义的产品、产品的缺陷、质量特征3/26/20234质量特征产品概念定义产品质量特征规约销售使用质量审查产品制造设备安装采购与获取产品设计过程工程制造质量环质量控制与制造过程的关系3/26/20235产品质量符合度的测量可采用产品质量符合度的测量可采用统计抽样统计抽样方法,用方法,用总缺陷率估计:总缺陷率估计:=D/N其中,其中,D是存在缺陷的产品数,是存在缺陷的产品数,N是总产品数。如果总是总产品数。如果总缺陷率缺陷率总是低于某个可接受值,即可达到较高的置总是低于某个可接受值,即可达到较高的置信率信率另一种方法是另
4、一种方法是验收抽样验收抽样,即抽取,即抽取K个产品进行审个产品进行审查,若缺陷产品数小于某个可接受值查,若缺陷产品数小于某个可接受值C,即可认为总,即可认为总体可接受体可接受3/26/20236二、软件质量控制二、软件质量控制软件质量控制是一组由开发组织使用的程序和软件质量控制是一组由开发组织使用的程序和方法,用以在规定的资金投入和时间限制条件下,方法,用以在规定的资金投入和时间限制条件下,提供满足用户质量要求的软件产品并持续不断地提供满足用户质量要求的软件产品并持续不断地改善开发过程和开发组织改善开发过程和开发组织特征:特征:p软件质量控制是开发组织执行的一系列过程软件质量控制是开发组织执行
5、的一系列过程p目标是以最低的代价获得客户满意的产品目标是以最低的代价获得客户满意的产品p改进开发过程和组织以改善质量控制改进开发过程和组织以改善质量控制p度量是改善过程和组织的基础度量是改善过程和组织的基础3/26/20237软件质量特征软件概念定义软件质量特征规约销售使用质量审查软件实现设备安装采购与获取软件设计过程工程软件质量环3/26/20238三、软件质量控制与质量管理的区别与联系三、软件质量控制与质量管理的区别与联系软件质量控制对开发过程中的软件产品的质量特软件质量控制对开发过程中的软件产品的质量特性进行连续的收集和反馈,通过质量管理和配置管理性进行连续的收集和反馈,通过质量管理和配
6、置管理机制,使软件开发进程向着既定的质量目标发展机制,使软件开发进程向着既定的质量目标发展质量控制是质量管理的路标和动力,质量管理是质量控制是质量管理的路标和动力,质量管理是质量控制的执行机制质量控制的执行机制3/26/20239质量管理技术开发质量控制配置管理客户变更需求客户变更需求客户需求客户需求管理指令管理指令汇报和报告汇报和报告错误错误/问题报告问题报告需求变更需求变更被拒绝的产品被拒绝的产品标准和程序标准和程序状态状态/进展报告进展报告阶段产品阶段产品质量控制系统的基本结构3/26/2023103.1.2 有关软件质量控制的问题1软件质量控制为什么难?软件质量控制为什么难?软件质量目
7、标难于达到软件质量目标难于达到相对成本和时间,质量问题易被管理者忽略相对成本和时间,质量问题易被管理者忽略客户似乎更关心预算和交付时间客户似乎更关心预算和交付时间软件质量控制需要增加成本软件质量控制需要增加成本软件开发是人的智力活动,有较大易变性软件开发是人的智力活动,有较大易变性2质量控制成本有哪些?质量控制成本有哪些?前期成本:制定计划、执行计划和前期的纠错前期成本:制定计划、执行计划和前期的纠错评估成本:评估产品、过程质量评估成本:评估产品、过程质量内部工作失效:因过程、产品缺陷返工内部工作失效:因过程、产品缺陷返工外部失效成本:维护费用外部失效成本:维护费用3/26/2023113如何
8、理解软件质量控制的重要性?如何理解软件质量控制的重要性?软件质量控制的目标是为了获得更高的开发效率和效软件质量控制的目标是为了获得更高的开发效率和效益,为客户提供高质量的软件产品益,为客户提供高质量的软件产品p某些质量关键的软件产品要求更高的质量特性某些质量关键的软件产品要求更高的质量特性p质量控制是开发者及时发现早期缺陷的主要方法质量控制是开发者及时发现早期缺陷的主要方法p实行实行TQC可避免返工而节省时间和经费可避免返工而节省时间和经费p实施实施TQC可获得较高质量的产品,较少维护费用可获得较高质量的产品,较少维护费用4由谁来进行质量控制?由谁来进行质量控制?客户:客户:间接控制间接控制系
9、统需求、资金分配、开发计划和过程里系统需求、资金分配、开发计划和过程里程碑、选择组织、质量控制手段程碑、选择组织、质量控制手段开发商:开发商:直接控制直接控制确定技术、方法和程序确定技术、方法和程序3/26/2023125什么时候进行质量控制?什么时候进行质量控制?在整个软件生命周期中都该进行在整个软件生命周期中都该进行不同阶段活动不同,应采用不同技术不同阶段活动不同,应采用不同技术预开发预开发开发开发维护维护概念定义概念定义需求分析需求分析修复修复初步制作初步制作设计设计改进改进系统需求系统需求编码、单元测试编码、单元测试适应性修改适应性修改资源资源集成测试和确认测试集成测试和确认测试招标、
10、合同招标、合同验收交付验收交付3/26/2023133.1.3 软件质量控制的一般方法1目标问题度量法目标问题度量法通过确定软件质量目标并连续监视这些目标是否达到来控制通过确定软件质量目标并连续监视这些目标是否达到来控制软件质量软件质量具体方法是:具体方法是:对每一个项目要素(产品、过程和资源)规定明确的具对每一个项目要素(产品、过程和资源)规定明确的具体目标体目标对每一目标建立一系列要回答的问题,问题的答案应能对每一目标建立一系列要回答的问题,问题的答案应能回答目标是否达到,并有助于目标的量化回答目标是否达到,并有助于目标的量化将对问题的回答映射到软件质量等级的度量上,并得出将对问题的回答映
11、射到软件质量等级的度量上,并得出是否达到目标的结论是否达到目标的结论收集并管理数据收集并管理数据3/26/202314目标:改善软件的可维护性目标:改善软件的可维护性问题:问题:可维护性开发过程对于预防缺陷是有效的吗?可维护性开发过程对于预防缺陷是有效的吗?正在发生的缺陷是什么?正在发生的缺陷是什么?产生缺陷的原因是什么?产生缺陷的原因是什么?度量:度量:产品的缺陷密度产品的缺陷密度按缺陷类别划分的缺陷发生频率按缺陷类别划分的缺陷发生频率缺陷产生的频率分布、分阶段发生缺陷的频率分布缺陷产生的频率分布、分阶段发生缺陷的频率分布运行维护可维护性开发开发预开发例:软件的可维护性开发3/26/2023
12、15鱼骨图鱼骨图可维护性缺陷文档代码环境工具评审计划3/26/2023162风险管理法风险管理法识别和控制软件开发过程识别和控制软件开发过程中对软件质量危害最大的中对软件质量危害最大的因素(因素(SEI)主要内容:主要内容:选择风险估计和控制选择风险估计和控制技术技术进行风险估计和控制进行风险估计和控制基本步骤:基本步骤:根据经验根据经验识别识别项目要素的项目要素的有关有关风险风险评估风险评估风险发生的概率和发发生的概率和发生的代价生的代价按发生概率和代价划分风按发生概率和代价划分风险等级并排序险等级并排序在项目限定条件下选择在项目限定条件下选择控控制风险制风险的技术并制定计划的技术并制定计划
13、执行计划并执行计划并监视进程监视进程持续评估持续评估风险状态并采取风险状态并采取正确的措施正确的措施3/26/202317跟踪识别分析计划控制在风险转化为问题前发现对风险的影响、发生概率等进行分析基于分析的决策弱化、转移、控制风险监督风险,检查对策的适应性SEI的风险管理模型3/26/202318项目各阶段的风险阶段阶段可能面临的风险问题可能面临的风险问题计划目标不清范围不清缺少沟通业务不清缺乏可行性分析设计缺乏经验没有变更控制计划项目计划仓促(进度风险)设计疏漏实施缺乏环境设计错误开发能力项目范围变更进度变更人员变更内部沟通不畅备选方案无效测试计划不充分或缺少经验发布质量差客户不满意设备未按
14、时到货资金不能及时回收3/26/202319风险严重性等级影响程度影响程度标准标准等级等级危险危险严重影响项目,可能导致项目取消或直接失败严重影响项目,可能导致项目取消或直接失败109高高影响进度,导致延期,客户抱怨严重影响进度,导致延期,客户抱怨严重87中中影响预算或软件性能差,客户不满意影响预算或软件性能差,客户不满意65低低影响进程但很快解决,客户有些不满影响进程但很快解决,客户有些不满43小小影响较小,客户未察觉或认可影响较小,客户未察觉或认可203/26/202320风险控制方法风险避免风险避免通过变更计划消除风险的触发条件通过变更计划消除风险的触发条件如采用成熟技术、增加资源、减少
15、软件范围如采用成熟技术、增加资源、减少软件范围风险弱化风险弱化降低风险发生的概率降低风险发生的概率如简化流程、更多测试、开发原型系统如简化流程、更多测试、开发原型系统风险承担风险承担制定应急方案,随机应变制定应急方案,随机应变风险转移风险转移将风险发生的结果连同应对权利转移给有承受能力的将风险发生的结果连同应对权利转移给有承受能力的第三方第三方3/26/202321与目标问题度量法相比与目标问题度量法相比p风险管理法中质量控制技术的使用目的更有风险管理法中质量控制技术的使用目的更有针对性,直接针对最具危险的、严重影响质针对性,直接针对最具危险的、严重影响质量的关键因素量的关键因素p正确地选择质
16、量控制技术是风险管理法的重正确地选择质量控制技术是风险管理法的重要部分,而目标问题度量法更多地关注质量要部分,而目标问题度量法更多地关注质量目标及监视它们的改善进程目标及监视它们的改善进程3/26/2023223PDCA质量控制法质量控制法1.PDCA是一个基于统计方法的是一个基于统计方法的迭代过程,由迭代过程,由W.E.Deming提出,提出,已被作为国际标准。已被作为国际标准。Plan(计划)(计划):确定产品的质确定产品的质量、过程和资源计划,明确目标量、过程和资源计划,明确目标和配置标准和配置标准目标是量化的目标是量化的Do(实施):根据已确定的过(实施):根据已确定的过程实施计划活动
17、程实施计划活动实施过程中质量被构造进产品,实施过程中质量被构造进产品,缺陷也同时发生缺陷也同时发生Check(检查):评审和测试(检查):评审和测试产品,确定已达到目标产品,确定已达到目标Action(改进):纠正已知缺(改进):纠正已知缺陷,确认待改进因素陷,确认待改进因素PlanDoCheckActionDeming cycle3/26/202323PDCA的特点:的特点:p持续的采用持续的采用PDCA方法将有助于产品过程的不方法将有助于产品过程的不断改善,从而提高产品质量断改善,从而提高产品质量p通过持续地收集数据和评审不断提高产品的质通过持续地收集数据和评审不断提高产品的质量目标量目标
18、pPDCA更关注过程、资源和质量的度量,并以更关注过程、资源和质量的度量,并以此为基础寻找产生缺陷的原因和发现改善质量此为基础寻找产生缺陷的原因和发现改善质量的机会的机会3/26/2023243.2 全面软件质量控制3.2.1 全面软件质量控制模型TSQC是指导开发者计划和控制软件质量的框架,是指导开发者计划和控制软件质量的框架,TSQC模型用来描述各组成要素间的关系模型用来描述各组成要素间的关系确定质量目标提高质量开发质量评估质量质量控制参数产品、过程、资源定义改善估计度量计划Plan改进Action实施Do检查Check3/26/202325TSQC过程是一个调节和控制那些影响软件质过程是
19、一个调节和控制那些影响软件质量的参数的过程量的参数的过程影响软件质量的参数包括:影响软件质量的参数包括:产品:产品:所有可交付物所有可交付物过程:过程:所有活动的集合所有活动的集合资源:资源:活动的物质基础活动的物质基础(人力、技术、设备、时间、资金等)(人力、技术、设备、时间、资金等)TSQC过程是过程是PDCA四个活动的循环:四个活动的循环:计划计划Plan:确定参数要求:确定参数要求实施实施Do:根据要求开展活动:根据要求开展活动检查检查Check:通过评审、度量、测试,确认满足要求:通过评审、度量、测试,确认满足要求改进改进Action:纠正参数要求,再开发:纠正参数要求,再开发3/2
20、6/2023263.2.2 TSQC控制参数参数不是孤立的,需要综合调节和平衡参数不是孤立的,需要综合调节和平衡1产品产品产品是软件生命其中某个过程的输入和输出,产品是软件生命其中某个过程的输入和输出,或者是对最终产品的需求、最终产品本身或开或者是对最终产品的需求、最终产品本身或开发过程中产生的任何中间产品发过程中产生的任何中间产品这些产品包括计划、报告、编码、数据这些产品包括计划、报告、编码、数据3/26/202327p中间产品是某个阶段的输出,也是后续阶段的输入中间产品是某个阶段的输出,也是后续阶段的输入p作为输入的产品的质量不会比过程的输出更高作为输入的产品的质量不会比过程的输出更高p产
21、品的缺陷在后续阶段不会自动消失,影响会更大产品的缺陷在后续阶段不会自动消失,影响会更大过程1过程2过程n输出1输入2输出2输入n输入1输出n反馈及纠错3/26/2023282过程过程1.过程是为完成开发、维护和为保证软件质量过程是为完成开发、维护和为保证软件质量所进行的管理和技术活动所进行的管理和技术活动1.管理过程:包括计划、监控、资源分配、管理过程:包括计划、监控、资源分配、组织组织2.技术过程:以软件工程方法为特征,包技术过程:以软件工程方法为特征,包括工具括工具2.对于软件质量,过程分两类:对于软件质量,过程分两类:质量设计和构造过程质量设计和构造过程质量检查过程质量检查过程3/26/
22、202329过程对质量的影响:过程对质量的影响:产品质量是通过开发过程设计并构造进产品产品质量是通过开发过程设计并构造进产品的,同时也引入了缺陷的,同时也引入了缺陷产品的质量是通过检查过程检查并确认的产品的质量是通过检查过程检查并确认的每个过程所涉及的组织的数量以及它们之间每个过程所涉及的组织的数量以及它们之间的关系都直接影响引入缺陷的概率和纠正错的关系都直接影响引入缺陷的概率和纠正错误的概率误的概率在软件开发过程中人的心理、社会、组织因在软件开发过程中人的心理、社会、组织因素对产品生产率和质量有强烈影响素对产品生产率和质量有强烈影响3/26/2023303资源资源资源是指为得到要求的产品质量
23、,过程所需的时间、资金、资源是指为得到要求的产品质量,过程所需的时间、资金、人力、设备等人力、设备等资源的数量和质量影响产品质量:资源的数量和质量影响产品质量:人力因素是影响软件质量和生产率的主要因素人力因素是影响软件质量和生产率的主要因素时间、资金不足将削弱软件质量控制活动时间、资金不足将削弱软件质量控制活动不充分、不合适、不可靠的开发环境和测试环境会使不充分、不合适、不可靠的开发环境和测试环境会使缺陷率增加,发现并纠正错误的时间和资金也将增加缺陷率增加,发现并纠正错误的时间和资金也将增加3/26/2023313.2.3 全面软件质量控制的实施过程全面软件质量控制的实施过程软件质量控制过程是
24、在软件生命期的各个阶段,应用TSQC模型对产品、过程、资源的控制过程计划实施检查改进计划实施检查改进计划实施检查改进计划实施检查改进预开发开发维护3/26/202332软件质量管理的软件质量管理的14点准则:点准则:1.制定坚定的改进质量的目标,满足客户需要制定坚定的改进质量的目标,满足客户需要2.管理者必承担责任管理者必承担责任3.停止使用大规模审查(尤其是测试)方法提高质量,太停止使用大规模审查(尤其是测试)方法提高质量,太晚也不可靠晚也不可靠4.不要仅靠价格决定业务,选择客户并作为长期伙伴不要仅靠价格决定业务,选择客户并作为长期伙伴5.持续改进过程以提高质量和生产率,降低成本持续改进过程
25、以提高质量和生产率,降低成本6.进行工作培训进行工作培训7.确立领导地位确立领导地位8.消除恐惧,让员工更有效地工作消除恐惧,让员工更有效地工作9.消除领域障碍,建立团队精神消除领域障碍,建立团队精神10.不以口号要求零缺陷、高效率不以口号要求零缺陷、高效率11.不要使用量化的目标和任务分解不要使用量化的目标和任务分解12.建立工艺尊严,关注质量而不是进度建立工艺尊严,关注质量而不是进度13.为所有人建立教育和自我提高机制为所有人建立教育和自我提高机制14.改革是工作的一部分,每个人都该为改革做贡献改革是工作的一部分,每个人都该为改革做贡献3/26/2023331.影响软件质量的影响软件质量的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ch03 软件质量控制4491 软件 质量 控制 4491
限制150内