《软件质量保证演示文稿.pptx》由会员分享,可在线阅读,更多相关《软件质量保证演示文稿.pptx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件质量管理与控制-唐青松一、软件质量概述二、CMMI持续改进思想三、软件质量管理模型四、软件质量管理措施软件质量概述软件质量的定义-产品的价值取决于产品的质量,软件质量的特性是多方面的。必须包括:与明确确定的功能和性能需求一致性。与明确成文的开发标准的一致性。与所有专业开发的软件所期望的隐含的特性的一致性。软件质量概述软件质量属性和质量要素软件质量属性和质量要素十大软件质量因素功能性质量因素:正确性,健壮性,可靠性非功能性质量因素:性能,易用性,清晰性,安全性,可扩展性,兼容性,可移植性软件质量要素什么是软件质量要素?(1)从技术角度讲,对软件整体质量影响最大的那些质量属性才是质量要素;(2
2、)从商业角度讲,客户最关心的、能成为卖点的质量属性才是质量要素。软件质量概述对于一个特定的软件而言,我们首先判断什么是质量要素,才能给出提高质量的具体措施,而不是一股脑地想把所有的质量属性都做好,否则不仅做不好,还可能得不偿失。如如果果某某些些质质量量属属性性并并不不能能产产生生显显著著的的经经济济效效益益,我我们们可可以以忽忽略略它它们们,把把精精力力用用在在对对经经济济效效益益贡贡献献最最大大的的质质量量要要素素上上。简简而而言言之之,只有质量要素才值得开发人员下功夫去改善。只有质量要素才值得开发人员下功夫去改善。Copyright Xinjun Mao 2005第8讲 软件质量保证5软件
3、质量概述为什么需要关注软件质量?高质量的产品才能提高客户满意度,占领市场降低软件开发的风险确保软件项目按照计划实施防止软件项目由于质量问题而流产或者失败提高企业的影响力软件质量概述商业目标决定质量目标重视软件质量是应该的,但是“质量越高越好”并不是普适的真理。只有极少数软件应该追求“零缺陷”,对绝大多数软件而言,商业目标决定了质量目标,而不该把质量目标凌驾于商业目标之上。企业的根本目标是为了获取尽可能多的利润,而不是生产完美无缺的产品。如果企业销售出去的软件的质量比较差,轻则挨骂,重则被退货甚至被索赔,因此为了提高用户对产品的满意度,企业必须提高产品的质因此为了提高用户对产品的满意度,企业必须
4、提高产品的质量。但是企业不可能为了追求完美的质量而不惜一切代价,当企业为提量。但是企业不可能为了追求完美的质量而不惜一切代价,当企业为提高质量所付出的代价超过销售收益时,这个产品已经没有商业价值了,高质量所付出的代价超过销售收益时,这个产品已经没有商业价值了,还不如不开发。还不如不开发。软件质量概述软件质量成本预防成本(P成本)-为实现无缺陷的需求而支出的前期成本 需求评审、设计评审、培训、市场调研、预防措施 评价成本(A成本)-评价产品或过程是否达到要求 检验、测试、事中检查、内/外部评审、审核软件质量概述失效成本内部失效成本(I成本)-在产品交付之前过程失效,不能交付客户可接受的产品 -内
5、部失效的更正活动,例如废品、返工、修复、停止、缺陷评价等 -内部/外部设计评审外部失效成本(F成本)-客户认为没有满足需求 -退货、投诉处理、现场检验、客户走访和解决问题等修正活动软件质量管理与控制一、软件质量概述二、CMMI持续改进思想三、软件质量管理模型四、软件质量管理措施 戴明博士的PDCA循环理论 SEI的IDEAL模型戴明博士的PDCA循环理论:P(Plan)策划:根据顾客的要求和组织的方针,为提供结果建立必要的目标和过程。D(Do)实施:实施过程。C(Check)检查:根据方针、目标和产品要求,对过程和产品进行监视和测量,并报告结果。A(Action)处置:采取措施,以持续改进过程
6、业绩。质量改进基本方法IDEAL过程改进模型 Initiating Initiating 改进的目的和策略改进的目的和策略 Diagnosing Diagnosing 改进什么改进什么 Establishing Establishing 建立基础设施建立基础设施(群组和计划群组和计划)Acting Acting 执行计划执行计划 Leveraging Leveraging 收集和重用经验教训收集和重用经验教训 (Learning)(Learning)持续过程改进的方法持续过程改进的方法SEISEI的的IDEALIDEAL模型(续)模型(续)修订组织的方法明确范围获取支持 建立改进基础机构改进的
7、激励条件评估明确当前实践编制报告确定方案和优先级建立行动小组、制定计划定义过程执行方案度量、监控记录并分析经验教训初 始 化 诊 断 vInitiatingvDiagnosingvEstablishingvActingvLeveraging (LearningLearning)以CMMI为基础推进 行 动 建 立 软件质量管理与控制一、软件质量概述二、CMMI持续改进思想三、软件质量管理模型四、软件质量管理措施软件质量管理模型郎中治病的故事 在中国古代,有一家三兄弟全是郎中。其中老三是名医,人们问他:“你们兄弟三人谁的医术最高?”他回答说:“我常用猛药给病危者医治,偶尔有些病危者被我救活,于是
8、我的医术远近闻名并成了名医。我二哥通常在人们刚刚生病的时候马上就治愈他们,临近村庄的人说他是好郎中。我大哥不外出治病,他深知人们生病的原因,所以能够预防家里人生病,他的医术只有我们家里才知道。”郎中三兄弟是三种治病方式的代言人。软件质量管理模型提高软件质量最好的办法是:当工作成果刚刚产生时马上进行质量检查,及时找出并消除工作成果当工作成果刚刚产生时马上进行质量检查,及时找出并消除工作成果中的缺陷。这种方式效果比较好,人们一般都能学会。最常用的方法中的缺陷。这种方式效果比较好,人们一般都能学会。最常用的方法是技术评审、软件测试和过程检查,已经被企业广泛采用并取得了成是技术评审、软件测试和过程检查
9、,已经被企业广泛采用并取得了成效。效。软件质量管理模型借鉴老大、老二治病的方法,我们提炼出全面软件质量管理的模型,如下图所示。项目中的所有人员几乎都参与了质量活动,只是介入的程度不同而已,后面几节将逐一介绍这些质量活动。软件质量管理模型角色职责谁对软件质量负责?谁对软件质量负责?是全员负责。任何与软件开发、管理工作相关的人员都对质量产生影响,都要对质量负责。质量人员的主要职责:(1)负责制定质量计划(很重要但是工作量比较少);(2)负责过程检查(3)参与技术评审(4)参与软件测试(5)参与软件过程改进软件质量管理与控制一、软件质量概述二、CMMI持续改进思想三、软件质量管理模型四、软件质量管理
10、措施软件质量管理措施制定质量计划技术评审软件测试缺陷管理质量保证制定制定质量管理计划质量管理计划质量管理计划就是为了实现质量目标的计划。而质量目标则是由商业目标决定的。质量管理质量管理计划是全面质量管理的行动纲领。计划是全面质量管理的行动纲领。谁制定质量管理计划?由项目核心成员和质量人员共同协商制定,主要由质量人员起草,由项目经理审批即可。质量管理计划的主要内容:1.质量要素分析质量要素分析 2.质量目标质量目标 3.人员与职责人员与职责 4.过程检查计划过程检查计划 5.技术评审计划技术评审计划 6.软件测试计划软件测试计划 7.缺陷跟踪工具缺陷跟踪工具 8.审批意见审批意见 软件质量管理措
11、施制定质量计划技术评审软件测试缺陷管理质量保证技术评审为什么要实施技术评审-缺陷放大图正确的用户需求正确的需求 错误的需求正确的设计 错误的设计 基于错误需求的设计正确的程序 错误的程序 基于错误设计的程序 基于错误的需求和程序正确的功能 可定位的错误 无法定位的错误 隐藏的缺陷需求分析设计实现测试技术评审技术评审的主要好处有:通过消除工作成果的缺陷而提高产品的质量。技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本。理论上讲,为了确保产品的质量,产品的所有工作成果都应当接受技术评审。现实中,为了节约时间,允许人们有选择地对工作成果进行技术评审。技术评审的
12、分类本书中按照CMMI模型的提法,将技术评审分为3 类。(1)正式评审(Inspection),一般在完成了一个工作产品后对其进行的评审。正式评审的目的在于定位并除去工作产品中的缺陷。(2)技术审查(TechnicalReviews),或称内部评审,通常由技术负责人或项目经理召集,三人以上参加。技术审查一般是在工作产品的中期进行或完成了某部分独立的工作产品时进行,也可在书写草案遇到问题时就其中专门的一两项问题讨论和审查。也可以是检查工作产品与规程、模板、计划、标准的符合性或者变更是否被正确地执行。(3)走查(Walkthrough),又叫代码走查或代码走读,审查的范围根据需求的优先级通常由管理
13、人员来确定,主要是静态质量分析和编程规则检查。其中,“正式评审”是正式的,“技术审查”和“走查”是常用的非正式技术评审方法。技术评审的流程技术评审的选择-1根据项目及人员现状,常用的技术评审方式为技术审查和走查。技术审查通常包括下述3个基本步骤。(1)准备:评审组长(通常是项目经理)要求项目组成员提供需要考虑的特定问题并分发评审材料。评审组长确定评审重点:需要注意的特定问题;需要满足的特殊标准或规格说明;需要审查的接口或依赖关系。(2)评审:评审人各自审查评审材料,目的是发现错误,而不是改正它们(通常每次评审会不超过1小时)。评审组组长应在一天内写出评审报告。评审会议内容包括:汇总个人发现的问
14、题;加入会议中发现的问题。(3)跟踪:作者负责解决评审报告中的所有错误及问题。评审组长检查所提出的每个问题都得到了解决。组长起草评审发现报告:问题或弱项清单;小组对如何解决这些问题或弱项清单的建议;行动事项。技术评审的选择-2 走查流程走查流程走查对形式的要求更为简单,主要用以下方式。文档驱动法:作者向评审人仔细解释文档(或代码)。在此过程中,可以将评审的内容(如关键代码、架构图、业务逻辑图等)用投影仪投射到屏幕上,作者对工作产品进行讲解,评审人不时针对事先准备好的问题或解释过程中发现的问题提出质疑。在走查过程中,每个评审人都要记录错误或建议,会后要整理会议记录,作为走查报告。工作产品的作者可
15、以根据自己的思路对走查报告质疑。PH0立项PH1需求定义PH2设计开发PH3系统测试PH4发布验收PH5运行维护项目管理过程工程过程组织支持过程项目立项项目规划项目监控(人员、任务、设备、成本、风险)项目结项变更控制与管理、缺陷管理需求开发与管理系统设计实现与测试系统测试客户验收配置管理 过程和产品质量保证 系统维护研发验收度量和分析项目启动决策分析与解决方案(DAR)供应商合同管理、风险管理 组织过程定义(OPD)、组织过程改进(OPF)组织培训 适度增量/迭代过程管理技术评审技术评审的插入点软件质量管理措施制定质量计划技术评审软件测试缺陷管理质量保证软件测试技术评审和软件测试的目的都是为了
16、消除软件的缺陷,两者的主要区别是:(1)前者无需运行软件,评审人员和作者把工作成果摆放在桌面上讨论;(2)后者一定要运行软件来查找缺陷。技术评审在软件测试之前执行,尤其是在需求开发和系统设计阶段。软件测试体系软件测试相关程序规范文件软件质量管理措施制定质量计划技术评审软件测试缺陷管理质量保证缺陷管理应增加缺陷原因和解决方法软件质量管理措施制定质量计划技术评审软件测试缺陷管理质量保证质量保证质量保证的实质质量保证的实质:检查项目的“工作过程和工作成果”是否符合既定的规范。符合规范的工作成果不见得就是高质量的,但是明显不符合规范的工作成果十有八九是质量不合格的。质量保证的要点质量保证的要点:找出明显不符合规范的工作过程和工作成果,及时指导开发人员纠正问题,切勿吹毛求疵或者在无关痛痒的地方查来查去。在制定质量计划的时候,质量人员确定主要检查项和检查时间(或频度)。质量人员在执行质量保证工作的时候,如果发现质量问题,应该立即记录下来。最好使用问题跟踪工具(或者缺陷跟踪工具),有助于提高工作效率。质量人员首先设法在项目内部解决已经发现的质量问题,与项目成员协商,给出解决措施。在项目内难以解决的质量问题,由上级领导给出解决措施。质量人员定期撰写质量保证报告,向项目成员和上级领导汇报现阶段的质量状况。质量保证软件质量保证=?保证软件质量质量保证相关程序文件Q&A?Q&AQ&A