第五章-软件项目质量管理_第1页
第五章-软件项目质量管理_第2页
第五章-软件项目质量管理_第3页
第五章-软件项目质量管理_第4页
第五章-软件项目质量管理_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

石河子大学信息科学与技术学院1第五章软件项目质量管理石河子大学信息科学与技术学院2本章内容提要软件质量管理的基本概念软件质量控制ISO9000系列和CMMI缺陷跟踪缺陷预防软件质量的常用度量软件项目质量管理计划石河子大学信息科学与技术学院3第一节软件质量管理的基本概念软件质量是指软件与明确的和隐含的定义的需求相一致的程度。用户需求是衡量软件质量的基础。除满足明确定义的需求外,还要满足隐含的需求。具体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准以及所有专业开发的软件都应具有的隐含特征的程度。石河子大学信息科学与技术学院4软件质量包含如下三个方面的内容:软件需求是度量软件质量的基础,不符合需求的软件就不具备软件质量。定义了一些开发准则来指导软件人员用工程化的方法开发软件,如果不遵循这些开发准则,软件质量就得不到保证。往往会有一些隐含的需求没有明确地提出来。例如,软件应该具有良好的可维护性。石河子大学信息科学与技术学院5软件质量的重要性软件项目的三大目标:质量进度费用石河子大学信息科学与技术学院6软件质量问题可能导致经济损失甚至灾难性的后果。质量是软件产品和软件组织的生命线。质量问题会增加开发和维护软件产品的成本。软件质量的重要性石河子大学信息科学与技术学院7软件质量属性石河子大学信息科学与技术学院8软件质量属性可靠性可扩展性安全性可移植性兼容性软件质量功能非功能易用性正确性健壮性清晰性性能软件质量属性可分为两大类:功能性与非功能性,如右图所示石河子大学信息科学与技术学院9软件质量模型可靠性可维护性软件质量功能可用性效率可移植性

软件质量模型是指提供声明质量需求和评价质量基础的特性以及特性之间关系的集合。软件质量模型如右图所示(P75)石河子大学信息科学与技术学院10软件质量的形成软件的质量形成于软件的整个开发过程中,而不是事后的检查(如测试)。20世纪80年代起,质量管理逐步从单一的关注产品,转移到关注生产好产品的过程上,并且将过程的作用扩大到了组织运行的所有领域。石河子大学信息科学与技术学院11质量产生于过程要真正地提高软件质量,必须有一个成熟和稳定的软件过程。结果可预测对现行执行可监测质量得到保证实施的过程性能稳定过程的上下控制界石河子大学信息科学与技术学院12特殊原因造成过程性能不稳定。根除特殊原因,使过程性能稳定,防止质量问题的出现。质量产生于过程造成不稳定的特殊原因石河子大学信息科学与技术学院13质量成本(CoQ)质量成本是为了达到产品或服务的质量而付出的所有努力的总成本,包括三部分:预防成本:为防止将缺陷引入软件而进行的预防工作所消耗的费用。评价成本:检查软件是否包含缺陷的工作所消耗的费用。失效成本:修复缺陷工作所消耗的成本。

PAF(Prevention/Appraisal/Failure)成本模型石河子大学信息科学与技术学院14质量成本(CoQ)预防评估失效培训审查废品计划测试返工过程研究和改进审计修复供应商调查监控RegressionTest咨询度量缺陷分析获得资格验证服务分析退货确认投诉处理和解决石河子大学信息科学与技术学院15质量成本(CoQ)WhenDefectisDetectedTypicalCostofCorrectionUserRequirements$100-$1,000Coding/UnitTesting$1,000ormoreSystemTesting$7,000-$8,000AcceptanceTesting$1,000-$100,000AfterImplementationUptomillionsofdollars在项目早期预防和检测缺陷比在项目晚期检测和排除缺陷更有效、更节省成本。石河子大学信息科学与技术学院16第二节软件质量控制质量控制(QualityControl,QC)是确定项目结果与质量标准是否相符,并及时纠正产品缺陷的过程。质量控制的主要手段是验证与确认(V&V)验证(Verification):是否正确地构造了产品?以开发者的视角进行。确认(Validation):是否构造了正确的产品?以用户的视角进行。石河子大学信息科学与技术学院17软件项目中的QC活动需求分析需求评审设计设计评审编码代码审查系统测试界面原型需求确认需求确认确认测试测试开发石河子大学信息科学与技术学院18质量控制方法质量控制方法静态方法:评审技术评审代码评审……动态方法:测试单元测试集成测试确认测试……石河子大学信息科学与技术学院19技术评审(TechnicalReview)技术评审是指在完成一项工作后,把工作产品分发给合作者,让合作者检查其中的缺陷。然后开会讨论工作产品并产生需要修复的缺陷列表。技术评审的主要对象:需求和设计规格说明、测试计划、用户手册等。石河子大学信息科学与技术学院20技术评审流程组织召开评审会议:一般应有3~5个相关人员参加,会前每个参加者做好准备,评审会议一般不超过两个小时。在评审会议上,由开发小组对提交的评审对象进行讲解。评审组可对开发小组提问,提出建议和要求,展开讨论。石河子大学信息科学与技术学院21会议结束时必须做出以下三个决策之一:接受该产品,不需要做修改。由于错误严重,拒绝接受。暂时接受该产品,但需要对某一部分进行修改。评审报告与记录:对所提出的问题要进行记录,并产生一个评审报告。技术评审流程石河子大学信息科学与技术学院22同行评审(PeerReview)同行评审是一种特殊类型的技术评审。由与工作产品开发人员具有同等背景和能力的人员对工作产品进行技术评审,因此非常有利于发现工作产品中的问题。石河子大学信息科学与技术学院23代码评审(CodeReview)编码阶段的一种技术评审,由一组人员对程序进行阅读和静态分析,可以很有效地检查程序代码中的缺陷。评审内容:程序是否符合编码规范,程序结构是否合理,算法和程序逻辑是否正确,程序性能怎样等。很多程序逻辑错误很难通过测试发现。石河子大学信息科学与技术学院24PDCA质量控制方法PDCA的定义

PDCA(PlanDoCheckAct)循环又叫质量环,是管理学中的一个通用模型。是全面质量管理所应遵循的科学程序。全面质量管理活动的全部过程,就是质量计划的制订和组织实现的过程,这个过程就是按照PDCA循环,不停顿地周而复始地运转的。石河子大学信息科学与技术学院25PDCA质量控制方法PDCA循环是能使任何一项活动有效进行的一种合乎逻辑的工作程序。P(Plan)计划。确定方针和目标,确定活动计划。D(Do)执行。具体行动,实现计划中的内容。C(Chick)检查。总结执行计划的结果,找出问题。A(Act)行动。石河子大学信息科学与技术学院26PDCA的内容(1/4)制订绩效计划(P)。制订绩效计划的主要依据是员工职位说明书和公司战略目标以及年度经营计划。在绩效计划里,管理者重点做好以下几点:为员工制订职责明确、权限清楚、标准确定、描述清楚的职位说明书。帮助员工制订关键绩效指标,并符合“SMART”原则。S(Specific),具体。绩效考核指标不能笼统。M(Measurable),可度量。考核指标是数量化的。A(Attainable),可实现。在付出努力的情况下可以实现。R(Realistic),现实性。考核指标是实实在在,可以证明和观察。T(Time-bound),时限。完成指标的特定期限。石河子大学信息科学与技术学院27PDCA的内容(2/4)绩效沟通与辅导(D)

绩效指标确定后,管理者以指导员的姿态与员工保持积极的双向沟通,帮助员工理清工作思路,授予与工作职责相当的权限,提供恰当的培训机会,提高员工的技能水平,为员工完成绩效目标提供各种便利。管理者所要做的一个重要工作就是观察和记录员工的绩效表现,形成员工业绩档案。石河子大学信息科学与技术学院28PDCA的内容(3/4)绩效考核与反馈(C)

在绩效周期结束时,管理者依据预先制订好的绩效指标,对员工的绩效目标进行考核。考核的依据就是绩效计划阶段的关键绩效指标和员工业绩档案。通过绩效反馈面谈,使员工全面了解自己的绩效状况,同时正确认识还存在的不足及有待改进的弱项。石河子大学信息科学与技术学院29PDCA的内容(4/4)绩效诊断与提高(A)

绩效诊断与提高有两方面的含义:一是对公司所采用的绩效管理体系以及管理者的管理方式进行诊断;二是对员工在本绩效周期内存在的绩效不足进行诊断。通过对两个方面诊断,得出结论,放到下一个PDCA循环里加以改进和提高。石河子大学信息科学与技术学院30ISO9000系列质量体系ISO9000系列概述(1/4)

ISO9000系列族是由国际标准化组织于1987年提出的。ISO9000族标准的制定和实施反映了市场经济条件下供需双方在进行交易活动中的要求。

供方只需按ISO9000族标准组织产品的开发和生产,并通过权威机构的认证,在产品质量方面就会赢得顾客的充分信任。

需方在购买软件产品时,更愿意选择通过质量认证的企业所生产的产品,从而减少质量的检验活动。石河子大学信息科学与技术学院31ISO9000系列质量体系ISO9000系列概述(2/4)

ISO9000系列标准,旨在指导:高质量产品的生产、评价、认证。ISO9000系列标准包括:ISO9000基础与术语ISO9001质量体系-设计/开发、生产、安装和服务中的质量保证模式ISO9002质量体系-生产和安装中的质量保证模式ISO9003质量体系-最终检验和测试中的质量保证模式ISO9004质量管理和质量体系要素-业绩改进指南石河子大学信息科学与技术学院32ISO9000系列质量体系ISO9000系列概述(3/4)

其中:

ISO9001、ISO9002、ISO9003,是“需方对供方要求质量保证”的标准。它们之间的主要区别是工序范围不同,即:

ISO9001范围最广,从设计一直到售后服务,

ISO9002是ISO9001的一个子集

ISO9003又是ISO9002的一个子集

ISO9004是用于“供方建立质量保证体系的标准”石河子大学信息科学与技术学院33ISO9000系列质量体系ISO9000系列概述(4/4)

ISO9000系列标准的主导思想是:质量并非在产品检验中得到,而是形成于产品生产的全过程;应使影响产品质量的全部因素,在生产全过程中始终处于受控状态;并且ISO9000系列标准要求企业具有持续提供符合要求产品的能力;ISO9000系列标准强调质量管理必须坚持进行质量改进。石河子大学信息科学与技术学院34ISO9000系列质量体系ISO9000-3介绍(1/3)ISO9000系列标准原本是为制造业而制定的标准,通过在软件开发中的应用,发现效果并不是十分理想。其主要原因是:传统制造业的产品生产与软件开发具有很大的差异。于是,国际标准化组织以ISO9000系列标准为基础,以“追加”形式,制定了ISO9000-3标准,成为“使ISO9001适用于软件开发、供应及维护”的“指南”。石河子大学信息科学与技术学院35ISO9000系列质量体系ISO9000-3介绍(2/3)ISO9000-3主要是给出了软件开发中的质量体系框架。其中包括:供需双方的责任,供需双方所进行的一些有组织的质量活动,以及与之相关的规范化(文档化)。而没有规定质量管理以及每一活动所采用的方法和程序。因此可以说,ISO9000-3是质量体系这一概念在注重质量的软件开发中之应用;目的是:为软件企业实施ISO9001提供了一个指南。石河子大学信息科学与技术学院36ISO9000系列质量体系ISO9000-3介绍(3/3)

ISO9000-3的要点包括:ISO9000-3标准仅适合于依照合同进行的单独的订货开发软件,不适用于面向多数用户销售的程序软件包。对于包括合同在内的全部工序要进行审查,并要求一切文档化。ISO9000-3对合同双方的责任均做出了明确规定,需方应收集供方意见,归纳形成需方需求,详细传达给对方,才能对供方提出实施质量保证的要。软件在完成设计编码后,测试和验收对提高软件质量是很有限的,必须建立质量保证体系,全面管理和控制软件生存周期所有阶段的质量活动。石河子大学信息科学与技术学院37ISO9000系列质量体系ISO9000的质量管理原则以顾客为关注焦点领导作用全员参与过程方法管理的系统方法持续改进基于事实的决策方法互利的供方关系石河子大学信息科学与技术学院38能力成熟度模型集成CMMICMM简介(1/6)CMM(CapabilityMaturityModel,能力成熟度模型)是卡耐基梅隆大学软件工程研究所制定的软件过程改良和评估模型,核心是把软件开发视为一个过程,进行过程的监控和研究。石河子大学信息科学与技术学院39能力成熟度模型集成CMMICMM简介(2/6)CMM的软件过程成熟度框架通过成熟度级别,定义了在使软件过程成熟的过程中的演化状态。初始级(1)可重复级(2)已定义级(3)已管理级(4)持续优化级(5)严格的过程标准的一致的过程可预言的过程持续改善的过程CMM将这些演化步骤组织为5个成熟度等级的框架,为持续的过程改进提供了基础。石河子大学信息科学与技术学院40能力成熟度模型集成CMMICMM简介(3/6)初始级软件过程的特点是杂乱无章,有时甚至混乱,几乎没有明确定义的步骤,成功完全依赖个人努力和英雄式核心任人物。可重复级建立了基本的项目管理过程来跟踪成本、进度和机能。有必要的过程准则来重复以前在同类项目的成功。石河子大学信息科学与技术学院41能力成熟度模型集成CMMICMM简介(4/6)已定义级

实现了可重复级(2级)的关键过程域:软件配置管理、软件质量保证、软件子合同管理、软件项目跟踪和监督、软件项目规划以及需求管理实现了关键过程域:组织过程焦点、组织过程定义、培训大纲、集成软件管理、软件产品工程、组间协调以及同行评审

所有的项目都采用根据实际情况修改后得到的标准软件过程来发展和维护软件。石河子大学信息科学与技术学院42能力成熟度模型集成CMMICMM简介(5/6)定量管理级实现了:定量过程管理和软件质量管理。主要特征:项目:项目减小过程性能的变化性,使其进入可接收的量化边界,从而达到对产品和过程的控制。组织:为软件产品和过程都设定了量化的质量目标。过程能力:可预言的。(predictable)石河子大学信息科学与技术学院43能力成熟度模型集成CMMICMM简介(6/6)持续优化级实现了:缺陷预防、技术变化管理、过程变化管理主要特征:组织:关注于持续的过程改进。项目:软件过程被评价,以防止过失重复发生,从中获得的教训散布给其它项目。过程能力:持续的改善。(continuouslyimproving)石河子大学信息科学与技术学院44能力成熟度模型集成CMMICMMI简介

CMMI(CapabilityMaturityModelIntegeration,能力成熟度模型集成)是在CMM基础上,对系统工程、软件工程、集成过程和产品开发、供应商管理四个学科进行了集成,并在度量与分析、工程实践方面提出了更详细的要求。石河子大学信息科学与技术学院45能力成熟度模型集成CMMICMMI的软件能力成熟度模型(1/6)

CMMI共有5级,共计18个关键过程域,52个目标,300多个关键实践。5级阶梯分别是:初始级、可重复级、已定义级、已管理级、优化级。石河子大学信息科学与技术学院46能力成熟度模型集成CMMICMMI的软件能力成熟度模型(2/6)初始级(1级)处于1级成熟度的软件机构,其过程能力是不可预测的,其软件过程是不稳定的,产品质量只能根据相关人员的个人工作能力而不是软件机构的过程能力来预测。石河子大学信息科学与技术学院47能力成熟度模型集成CMMICMMI的软件能力成熟度模型(3/6)可重复级(2级)处于2级成熟度的软件机构,软件项目的策划和跟踪是稳定的,已经为一个有纪律的管理过程提供了可重复以前成功实践的项目环境。软件项目工程活动处于项目管理体系的有效控制之下,执行着基于以前项目的准则且符合现实的计划。石河子大学信息科学与技术学院48能力成熟度模型集成CMMICMMI的软件能力成熟度模型(4/6)已定义级(3级)处于3级成熟度的软件机构,无论是管理活动还是工程活动都是稳定的。软件开发的成本和进度以及产品的功能和质量都受到控制,而且软件产品的质量具有可追溯性。这种能力是基于在软件机构中对堆定义的过程模型的活动、人员和职责都有共同的理解。石河子大学信息科学与技术学院49能力成熟度模型集成CMMICMMI的软件能力成熟度模型(5/6)已管理级(4级)软件过程是可度量的,软件过程在可度量的范围内运行。这一级的过程能力允许软件机构在定量的范围内预测过程和产品质量趋势,在发生偏离时可以及时采取措施予以纠正,并且可以预期软件产品是高质量的。石河子大学信息科学与技术学院50能力成熟度模型集成CMMICMMI的软件能力成熟度模型(6/6)优化级(5级)软件过程是可优化的。软件机构能够持续不断地改进其过程能力,既对现行的过程实例不断地改进和优化,又借助于所采用的新技术和新方法实现未来的过程改进。石河子大学信息科学与技术学院51PSP、TSP与CMMIPSP(PersonalSoftwareProcess),个体软件过程PSP是CMU/SEI于1995年公布,是一种可用于控制、管理和改进个人工作方式的自我改善过程,是一个包括软件开发表格、指南和规程的结构化框架。

PSP侧重于企业中有关软件过程的微观优化,面向软件组织的个体成员。石河子大学信息科学与技术学院52PSP、TSP与CMMITSP(TeamSoftwareProcess)小组软件过程TSP也是由CMU/SEI提出的,讲述了如何创建高效且具有自我管理能力的项目小组,开发人员如何才能成为合格的项目组成员,管理人员如何对小组提供指导和支持,如何保持良好的工程环境使项目组能充分发挥水平等软件工程管理问题。TSP侧重于组织中的各个项目团队,为开发软件产品的团队提供指导,保证单个项目和团队的成功。石河子大学信息科学与技术学院53PSP、TSP与CMMICMMICMMI偏重的是软件组织的宏观过程规范完善,其实现最终依赖于组织中个体成员的能力、参与和创造,但CMMI并未提供有关实现CMMI各关键过程域所需要的具体的知识和技能。石河子大学信息科学与技术学院54PSP、TSP与CMMIPSP、TSP和CMMI三者的关系(1/4)

CMMI是过程改善的第一步,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。企业只有开始CMMI改善后,才能接受需要规划的事实,认识到质量的重要性,才能注重对员工经常进行培训,合理分配项目人员,并建立起有效的项目小组。石河子大学信息科学与技术学院55PSP、TSP与CMMIPSP、TSP和CMMI三者的关系(2/4)

PSP能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程和产品质量。经过PSP学习和实践的正规训练,软件工程师们能够在他们参与的项目工作之中充分运用PSP,从而有助于CMMI目标的实现。石河子大学信息科学与技术学院56PSP、TSP与CMMIPSP、TSP和CMMI三者的关系(3/4)

TSP结合了CMMI的管理方法和PSP的工程技能,通过告诉软件工程师如何将个体过程结合进小组软件过程,并将PSP与组织和整体管理系统相联系。通过告诉管理层如何支持和授权项目小组,坚持高质量的工作,并且依据数据进行项目的管理,向组织展示如何应用CMMI的原则和PSP的技能生产高质量的产品。石河子大学信息科学与技术学院57PSP、TSP与CMMIPSP、TSP和CMMI三者的关系(4/4)总之,要使一个软件过程对软件生产的改善真正有所帮助,其框架应是由CMMI、TSP、PSP组成的一个完整体系,即从企业、小组、个人3个层次进行良好的软件工程和管理实践的指导和支持。以CMMI为框架,先从PSP做起,然后在此基础上逐渐过渡到TSP,保证CMMI/PSP/TSP在企业中生根开花,不断地改进软件研发项目管理,提高软件开发水平。石河子大学信息科学与技术学院58第三节缺陷跟踪缺陷跟踪是指从缺陷被发现开始到被改正为止的整个跟踪流程。石河子大学信息科学与技术学院59缺陷跟踪一般需要软件工具支持。常用的工具有Bugzilla、ClearQuest、JIRA、TrackRecord等。缺陷跟踪石河子大学信息科学与技术学院60缺陷跟踪工具BugzillaBugzilla是Mozilla公司提供的一个开源的缺陷跟踪工具,在全世界拥有大量用户。它能够为软件组织建立一个完善的缺陷跟踪体系,包括报告缺陷、查询缺陷记录并产生报表、处理解决缺陷、管理员系统初始化和设置等。石河子大学信息科学与技术学院61Bugzilla的功能和特点:基于Web方式运行,易于掌握。缺陷从最初的报告到最后的关闭,都有详细的操作记录,确保了缺陷不会被忽略,并允许用户在检查缺陷状态时获取历史记录。提供强大的查询匹配能力,能根据各种条件组合进行缺陷查询,并能够记忆搜索条件。石河子大学信息科学与技术学院62当缺陷状态发生改变时,会自动发送邮件通知相关责任人。自带基于数据库的报表生成功能,主要生成两类图表:基于表格的视图和图形视图(条形图、线图、饼状图)。Bugzilla的特点:石河子大学信息科学与技术学院63Bugzilla的基本操作说明报告缺陷分配缺陷处理缺陷验证已解决的缺陷石河子大学信息科学与技术学院64第四节缺陷预防优点:主动改进软件过程,降低出错几率降低质量成本,实现项目效益找到根本原因消除根本原因石河子大学信息科学与技术学院65软件缺陷原因分析方法Step1:选择缺陷数据。对小项目,可选择某一时期内发现的所有缺陷。对大项目,可选择一个缺陷样本集合。Step2:分析缺陷的根本原因对缺陷逐个进行分析,常以会议的方式进行。可对分析出的根本原因进行分类,例如:

IBM:疏忽

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论