您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > Ch03 软件质量控制
2019/8/21§3.1引言3.1.1基本概念一、质量控制制造业的质量控制开始于二战期间的军事采购中,是一种采用统计技术的工具主要活动包括:①建立质量标准:定义每一质量特性的规约②制定计划:对制造过程、设备、采购、培训作出计划③确定预防措施:分析质量要素,谨慎控制生产过程④确定质量符合度2019/8/21确定质量符合度的方法:①解释质量标准②随机抽样检查③抽样审查和度量④度量与标准的对照⑤评价质量符合度⑥应用统计方法决定是否接受该批次产品⑦审查数据、形成文档2019/8/21根据质量控制模型中,工厂把原材料转变为可用的产品,用以下模型表示:U=F(R)其中,R是一组材料,U是一组产品工厂有2个特征:①有明确定义的原材料(类型、质量特征)②有明确定义的产品、产品的缺陷、质量特征2019/8/21产品质量符合度的测量可采用统计抽样方法,用总缺陷率估计:θ=D/N其中,D是存在缺陷的产品数,N是总产品数。如果总缺陷率θ总是低于某个可接受值,即可达到较高的置信率另一种方法是验收抽样,即抽取K个产品进行审查,若缺陷产品数小于某个可接受值C,即可认为总体可接受2019/8/21二、软件质量控制软件质量控制是一组由开发组织使用的程序和方法,用以在规定的资金投入和时间限制条件下,提供满足用户质量要求的软件产品并持续不断地改善开发过程和开发组织特征:软件质量控制是开发组织执行的一系列过程目标是以最低的代价获得客户满意的产品改进开发过程和组织以改善质量控制度量是改善过程和组织的基础2019/8/21三、软件质量控制与质量管理的区别与联系软件质量控制对开发过程中的软件产品的质量特性进行连续的收集和反馈,通过质量管理和配置管理机制,使软件开发进程向着既定的质量目标发展质量控制是质量管理的路标和动力,质量管理是质量控制的执行机制2019/8/21质量管理技术开发质量控制配置管理客户变更需求客户需求管理指令汇报和报告错误/问题报告需求变更被拒绝的产品标准和程序状态/进展报告阶段产品质量控制系统的基本结构2019/8/21有关软件质量控制的问题一.软件质量控制为什么难?软件质量目标难于达到相对成本和时间,质量问题易被管理者忽略客户似乎更关心预算和交付时间软件质量控制需要增加成本软件开发是人的智力活动,有较大易变性二.质量控制成本有哪些?前期成本:制定计划、执行计划和前期的纠错评估成本:评估产品、过程质量内部工作失效:因过程、产品缺陷返工外部失效成本:维护费用2019/8/21三.如何理解软件质量控制的重要性?软件质量控制的目标是为了获得更高的开发效率和效益,为客户提供高质量的软件产品某些质量关键的软件产品要求更高的质量特性质量控制是开发者及时发现早期缺陷的主要方法实行TQC可避免返工而节省时间和经费实施TQC可获得较高质量的产品,较少维护费用四.由谁来进行质量控制?客户:间接控制——系统需求、资金分配、开发计划和过程里程碑、选择组织、质量控制手段开发商:直接控制——确定技术、方法和程序2019/8/21五.什么时候进行质量控制?在整个软件生命周期中都该进行不同阶段活动不同,应采用不同技术预开发开发维护概念定义需求分析修复初步制作设计改进系统需求编码、单元测试适应性修改资源集成测试和确认测试招标、合同验收交付2019/8/21软件质量控制的一般方法一.目标问题度量法通过确定软件质量目标并连续监视这些目标是否达到来控制软件质量具体方法是:①对每一个项目要素(产品、过程和资源)规定明确的具体目标②对每一目标建立一系列要回答的问题,问题的答案应能回答目标是否达到,并有助于目标的量化③将对问题的回答映射到软件质量等级的度量上,并得出是否达到目标的结论④收集并管理数据2019/8/21目标:改善软件的可维护性问题:①可维护性开发过程对于预防缺陷是有效的吗?②正在发生的缺陷是什么?③产生缺陷的原因是什么?度量:①产品的缺陷密度②按缺陷类别划分的缺陷发生频率③缺陷产生的频率分布、分阶段发生缺陷的频率分布运行维护可维护性开发开发预开发例:软件的可维护性开发2019/8/21二.风险管理法识别和控制软件开发过程中对软件质量危害最大的因素(SEI)主要内容:选择风险估计和控制技术进行风险估计和控制基本步骤:①根据经验识别项目要素的有关风险②评估风险发生的概率和发生的代价③按发生概率和代价划分风险等级并排序④在项目限定条件下选择控制风险的技术并制定计划⑤执行计划并监视进程⑥持续评估风险状态并采取正确的措施2019/8/21跟踪在风险转化为问题前发现对风险的影响、发生概率等进行分析基于分析的决策弱化、转移、控制风险监督风险,检查对策的适应性SEI的风险管理模型2019/8/21项目各阶段的风险阶段可能面临的风险问题计划目标不清范围不清缺少沟通业务不清缺乏可行性分析设计缺乏经验没有变更控制计划项目计划仓促(进度风险)设计疏漏实施缺乏环境设计错误开发能力项目范围变更进度变更人员变更内部沟通不畅备选方案无效测试计划不充分或缺少经验发布质量差客户不满意设备未按时到货资金不能及时回收2019/8/21风险严重性等级影响程度标准等级危险严重影响项目,可能导致项目取消或直接失败10~9高影响进度,导致延期,客户抱怨严重8~7中影响预算或软件性能差,客户不满意6~5低影响进程但很快解决,客户有些不满4~3小影响较小,客户未察觉或认可2~02019/8/21风险控制方法风险避免通过变更计划消除风险的触发条件如采用成熟技术、增加资源、减少软件范围……风险弱化降低风险发生的概率如简化流程、更多测试、开发原型系统……风险承担制定应急方案,随机应变风险转移将风险发生的结果连同应对权利转移给有承受能力的第三方2019/8/21与目标问题度量法相比风险管理法中质量控制技术的使用目的更有针对性,直接针对最具危险的、严重影响质量的关键因素正确地选择质量控制技术是风险管理法的重要部分,而目标问题度量法更多地关注质量目标及监视它们的改善进程2019/8/21三.PDCA质量控制法PDCA是一个基于统计方法的迭代过程,由W.E.Deming提出,已被作为国际标准。①Plan(计划):确定产品的质量、过程和资源计划,明确目标和配置标准目标是量化的②Do(实施):根据已确定的过程实施计划活动实施过程中质量被构造进产品,缺陷也同时发生③Check(检查):评审和测试产品,确定已达到目标④Action(改进):纠正已知缺陷,确认待改进因素PlanDoCheckActionDemingcycle2019/8/21的特点:持续的采用PDCA方法将有助于产品过程的不断改善,从而提高产品质量通过持续地收集数据和评审不断提高产品的质量目标PDCA更关注过程、资源和质量的度量,并以此为基础寻找产生缺陷的原因和发现改善质量的机会2019/8/21§3.2全面软件质量控制3.2.1全面软件质量控制模型TSQC是指导开发者计划和控制软件质量的框架,TSQC模型用来描述各组成要素间的关系确定质量目标提高质量开发质量评估质量质量控制参数产品、过程、资源定义改善估计度量计划Plan改进Action实施Do检查Check2019/8/21①TSQC过程是一个调节和控制那些影响软件质量的参数的过程②影响软件质量的参数包括:产品:所有可交付物过程:所有活动的集合资源:活动的物质基础(人力、技术、设备、时间、资金等)③TSQC过程是PDCA四个活动的循环:计划Plan:确定参数要求实施Do:根据要求开展活动检查Check:通过评审、度量、测试,确认满足要求改进Action:纠正参数要求,再开发2019/8/21控制参数参数不是孤立的,需要综合调节和平衡一.产品产品是软件生命其中某个过程的输入和输出,或者是对最终产品的需求、最终产品本身或开发过程中产生的任何中间产品这些产品包括计划、报告、编码、数据……2019/8/21中间产品是某个阶段的输出,也是后续阶段的输入作为输入的产品的质量不会比过程的输出更高产品的缺陷在后续阶段不会自动消失,影响会更大过程1过程2过程n输出1输入2输出2输入n输入1输出n反馈及纠错2019/8/21二.过程过程是为完成开发、维护和为保证软件质量所进行的管理和技术活动管理过程:包括计划、监控、资源分配、组织……技术过程:以软件工程方法为特征,包括工具对于软件质量,过程分两类:质量设计和构造过程质量检查过程2019/8/21过程对质量的影响:产品质量是通过开发过程设计并构造进产品的,同时也引入了缺陷产品的质量是通过检查过程检查并确认的每个过程所涉及的组织的数量以及它们之间的关系都直接影响引入缺陷的概率和纠正错误的概率在软件开发过程中人的心理、社会、组织因素对产品生产率和质量有强烈影响2019/8/21三.资源资源是指为得到要求的产品质量,过程所需的时间、资金、人力、设备等资源的数量和质量影响产品质量:人力因素是影响软件质量和生产率的主要因素时间、资金不足将削弱软件质量控制活动不充分、不合适、不可靠的开发环境和测试环境会使缺陷率增加,发现并纠正错误的时间和资金也将增加2019/8/21全面软件质量控制的实施过程软件质量控制过程是在软件生命期的各个阶段,应用TSQC模型对产品、过程、资源的控制过程计划实施检查改进计划实施检查改进计划实施检查改进计划实施——检查改进预开发开发维护2019/8/21点准则:1.制定坚定的改进质量的目标
本文标题:Ch03 软件质量控制
链接地址:https://www.777doc.com/doc-426492 .html