软件质量概念课件.ppt

上传人:飞****2 文档编号:92660492 上传时间:2023-06-11 格式:PPT 页数:71 大小:291KB
返回 下载 相关 举报
软件质量概念课件.ppt_第1页
第1页 / 共71页
软件质量概念课件.ppt_第2页
第2页 / 共71页
点击查看更多>>
资源描述

《软件质量概念课件.ppt》由会员分享,可在线阅读,更多相关《软件质量概念课件.ppt(71页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、n n 软件质量概念n n 软件质量保证n n 软件可靠性1软件质量概念n n 软件质量的定义n n 软件质量特性n n 软件质量模型n n 软件质量的度量和评价2软件质量的定义n n ANSI/IEEE Std 729-1983 定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。n n 软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。n n 质量/成本,性价比3质 量 特 性 及 其 组 合,是 软 件 开 发与维护中的重要考虑因素n n 为满足软件的各项精确定义的功能、性能需求,符合文档化的开发标准,需要相应地设计实现一些质量特性及其组合。n n

2、软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。4软件质量特性n n 定义一个软件的质量,就等价于为该软件定义一系列质量特性。n n 软件质量模型描述影响软件质量的特性。5软件质量模型n n 软件质量特性定义成分层模型n n 最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量。n n 二次特性在必要时又可由它的一些子质量特性定义和度量。n n 1976年 Boehm质量模型n n 1979年 McCall 质量模型n n 1985年 ISO 质量模型6McCall质量模型可维护性(Maintainability)可测试性(Testability)

3、灵活性(Flexibility)正确性(Correctness)可靠性(Reliability)可使用性(Usability)效率(Efficiency)完整性(Integrity)互连性(Interoperability)可移植性(Portability)复用性(Reusability)产品运行Product Operations Product Revitions产品修正ProductTransitions 产品转移7ISO 的软件质量评价模型n n 按照ISO/TC97/SC7/WG3/1985-1-30/N382,软件质量度量模型由三层组成n n 软件质量需求评价准则(SQRC)n n

4、 软件质量设计评价准则(SQDC)n n 软件质量度量评价准则(SQMC)n n 高层和中层建立国际标准,低层可由各使用单位视实际情况制定81991年 ISO 质 量 特 性 国 际 标 准(ISO/IEC9126)n n 6 SQRC 质量特性:功能性、可靠性、可维护性、效率、可使用性、可移植性n n 推荐21个SQDC 子特性:适合性 准确性 互用性 依从性 安全性 成熟性 容错性 可恢复性 可理解性 易学习性 操作性 时间特性 资源特性 可分析性 稳定性 可变更性 可测试性 可安装性 可替换性 适应性 一致性 9软件质量功能性可靠性可维护性效率可使用性可移植性适合性准确性互操作性依从性c

5、ompliance安全性成熟性容错性易恢复性易理解性易学习性易操作性时间特性资源特性易分析性稳定性易变更性易测试性易安装性易替换性适应性遵循性conformance 质量特性质量子特性 质量度量准则SRMC使用单位自行规定ISO 9126质量模型1011软件质量的度量和评价n n 软件质量特性度量有两类:预测型和验收型。n n 预测度量是利用定量或定性的方法,估算软件质量的评价值。n n 验收度量是在软件开发各阶段的检查点,对软件的要求质量进行确认性检查的具体评价值。12n n 度量有两种。n n 第一种叫做尺度度量,这是一种定量度量。它适用于一些能够直接度量的特性,例如,出错率定义为:错误数

6、KLOC 单位时间。n n 第二种叫做二元度量,这是一种定性度量。它适用于一些只能间接度量的特性,例如,可使用性、灵活性等等。13尺度度量检查表14二元度量检查表15n n 通过对照检查项目,确定一种质量特性的有无。n n 例如,在设计和编码阶段的复杂性度量,利用尺度度量方法来做。对模块复杂性的度量采用McCabe 环路度量。n n 对于二元度量,可针对检查表中每一项都应给以记分,指定信息存在时记“1”,否则记“0”。表中所有各项的分数相加,即得度量结果。16软件的质量保证QAn n 质量保证的概念n n 软件质量保证的主要任务n n 质量保证与检验n n 软件质量保证体系n n 质量保证的实

7、施n n 软件的质量设计17质 量 保 证 的 概 念 Quality Assurance(QA)n n 什么是质量保证,它是为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。n n 质量保证是面向消费者的活动,是为了使产品实现用户要求的功能,站在用户立场上来掌握产品质量。n n 软件的质量保证就是向用户及社会提供合格产品。18n n 软件的质量保证活动也和一般的质量保证活动一样,是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。19软件质量保证的主要任务n n 为了提高软件的质量和生产软件的效率

8、,软件质量保证的主要任务大致可归结为8点。201.了解用户,需求n n 熟练掌握正确定义用户要求的技术n n 熟练使用和指导他人使用定义软件需求的支持工具n n 重视领导全体开发人员收集和积累有关用户业务领域的各种业务的资料和技术技能。212.力争不重复劳动n n 考虑哪些既有软件可以复用n n 在开发过程中,随时考虑所生产软件的复用性。n n重复劳动重复劳动增加成本223.掌握开发新软件的方法n n 在开发新软件的过程中大力使用和推行软件工程学中所介绍的开发方法和工具。uu 使用先进的开发技术:如结构化技术、面向对象技术uu 使用数据库技术或网络化技术uu 应用开发工具或环境uu 改进开发过

9、程234.组织外部力量协作的方法n n 一个软件自始至终由同一个软件开发单位来开发,也许是最理想的。但在现实中常常难以做到。n n 改善对外部协作部门的开发管理。必须明确规定进度管理、质量管理、交接检查、维护体制等各方面的要求,建立跟踪检查的体制。245.排除无效劳动n n 最大的无效劳动就是因需求规格说明有误、设计有误而造成的返工。定量记录返工工作量,收集和分析返工劳动花费数据n n 较大的无效劳动是重复劳动,即相似的软件在几个地方同时开发n n 建立互相交流、信息往来通畅、具横向交流特征的信息流通网256.发挥每个开发者的能力n n 软件生产是人的智能生产活动,它依赖于人的能力和开发组织团

10、队的能力。n n 开发者必须有学习各专业业务知识、生产技术和管理技术的能动性。n n 管理者或产品服务者要制定技术培训计划、技术水平标准,以及适用于将来需要的中长期技术培训计划。267.提高软件开发的工程能力n n 要想生产出高质量的软件产品必须有高水平的软件工程能力。n n 在软件开发环境或软件工具箱的支持下,运用先进的开发技术、工具和管理方法开发软件的能力。278.提高计划和管理质量能力n n 项目开发初期计划阶段的项目计划评价n n 计划执行过程中及计划完成报告的评价n n 将评价、评审工作在工程实施之前就列入整个开发工程的工程计划中n n 提高软件开发项目管理的精确度28质量保证与检验

11、n n 其一是切实搞好开发阶段的管理,检查各开发阶段的质量保证活动开展得如何;n n 其二是预先防止软件差错给用户造成损失。n n 为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行质量检验。29质量检验的原则n n 用户要求的是产品所具有的功能,这是“真质量”。靠质量检验,一般检查的是“真质量”的质量特性。n n 能靠质量检验的质量特性,即使全数检验,也只是代表产品的部分质量特性。n n 必须在各开发阶段对影响产品质量的因素进行切实的管理,认真检查实施落实情况。30n n 当开发阶段出现异常时,要从质量特性方面进行检验,看是否会给后续阶段带来影响。n n 由于工程能力不足,

12、软件产品不能满足用户要求的质量。这时可通过检验对该产品做出评价,判断是否能向用户提供该产品。n n 要以一定的标准检验产品,根据产品的质量特性,检查各个过程的管理状态。31质量检验的类型 n n供货检验:这是指对委托外单位承担开发作供货检验:这是指对委托外单位承担开发作业,而后买进或转让的构成软件产品的部件、业,而后买进或转让的构成软件产品的部件、规格说明、半成品或产品的检查。规格说明、半成品或产品的检查。n n中间检验阶段评审:在各阶段的中途或向中间检验阶段评审:在各阶段的中途或向下一阶段移交时进行的检查叫做中间检验或下一阶段移交时进行的检查叫做中间检验或阶段评审。阶段评审。n 验收检验:确

13、认产品是否已达到可以进行验收检验:确认产品是否已达到可以进行“产品检验产品检验”的质量要求。的质量要求。n n产品检验:这是软件产品交付使用前进行的产品检验:这是软件产品交付使用前进行的检查。检查。32软件质量保证体系 软件的质量保证活动,是涉及各个门。明确部门间的质量保证业务,确立部门间的联合与协作的机构就是质量保证体系。uu 必须明确反馈途径。uu 必须明确各部门的职责。uu 必须确定保证系统运行的方法、工具、有关文档资料,以及系统管理的规程和标准。33uu 必须明确决定是否可向下一阶段进展的评价项目和评价准则。uu 必须不断地总结系统管理的经验教训,能够修改系统。uu 制定质量保证计划,

14、在计划中F F 确定质量目标F F 确定在每个阶段为达到总目标所应达到的要求F F 确定进度安排F F 确定所需人力、资源和成本等。3435软件质量保证规程和技术准则n n 规定在项目的哪个阶段进行评审及如何评审;n n 规定在项目的哪个阶段应当产生哪些报告和计划;n n 规定产品各方面测试应达到的水平。n n 在每次评审和测试中发现的错误如何修正;36n n 描述希望得到的质量度量;n n 说明各种软件人员的职责,规定为了达到质量目标他们必须进行哪些活动。n n 建立uu 在各阶段中执行质量评价和质量检查系统uu 有效运用质量信息系统,并使其运行。37软件质量保证计划示例 gbSQAP.do

15、c38质量保证的实施n n 软件质量保证的实施需要从纵向和横向两个方面展开。uu 要求所有与软件生存期有关的人员都要参加uu 要求对产品形成的全过程进行质量管理n n 这要求整个软件部门齐心协力,不断完善软件的开发环境。此外还需要与用户共同合作。39质量目标与度量n n 为了开发高质量的软件,需要明确软件的功能,明确软件应达到什么样的质量标准,即质量目标。n n 为了达到这个目标,在开发过程中的各个阶段进行质量设计,检查和评价。n n 在做质量评价时,需要有对质量进行度量的准则和方法。n n 需要有在软件生存期中如何使用这些准则和方法的质量保证步骤,以及提高该项作业效率的工具40软件质量度量和

16、保证的条件n n 适应性:适应各种用户、软件类型n n 易学性:不需要特殊技术,易掌握n n 可靠性:同个软件的评价结果一致n n 针对性:设计阶段就确立质量目标,在各个阶段实施落实。41质量保证活动的实施步骤:n n Target:以用户要求和开发方针为依据,对质量需求准则、质量设计准则的各质量特性设定质量目标。n n Plan:设定适合于被开发软件的评测检查项目(质量评价准则)。研讨实现质量目标的方法或手段。n n Do:制作高质量的规格说明和程序。在接受质量检查前先自行检查。42n n Check:以Plan 阶段设定的质量评价准则进行评价。计算结果用质量图的形式表示出来。比较评价结果的

17、质量得分和质量目标,看其是否合格。n n Action:对评价发现的问题进行改进活动,如果实现并达到了质量目标就转入下一个工程阶段。这样重复“Plan”到“Action”的过程,直到整个开发项目完成。4344Target454647软件的质量设计n n 质量特性转换为软件的内部结构n n 在软件定义阶段,必须定义对软件的质量需求。即确定软件的质量特性及必需的评价准则,并定量地设定其必须达到的质量水平n n 在以后软件开发的每一阶段结束时,要算出评价的分数,然后与目标值加以对照,以评估在这一阶段开发的软件质量是否达到要求。48n n 为了实现规定的质量特性,就需要把这些质量特性转换为软件的内部结

18、构的特性。n n 例如,软件质量需求中的“性能”,可以转换成软件内部结构中的构成元素,即每一个程序模块和物理数据各自应具有的性能特性。这些性能特性的累积就形成外部规格中的性能特性。49软件的结构特性与评价标准n n 结构特性 逻辑数据层次n n 评价标准 uu 全部数据元素定义完毕uu 所有层次的操作符定义完毕n n 结构特性 功能层次n n 评价标准uu 全部功能元素定义完毕uu 所有层次的操作符定义完毕50n n 结构特性 逻辑数据与功能的对应关系n n 评价准则uu 所有数据都与功能对应uu 所有功能元素都与数据对应uu 逻辑数据与功能的相互关系个数(局部)51 n n 结构特性 物理数

19、据层次n n 评价准则uu 全部数据元素定义完毕uu 物理数据之间的所有指针定义完毕uu 上述指针都具有层次性52n n 结构特性 模块层次n n 评价准则uu 所有模块定义完毕uu 模块之间所有控制关系定义完毕uu 上述关系都是标准过程调用形式uu 各层次上的模块大小适当53n n 结构特性 物理数据与模块的对应关系n n 评价准则 uu 所有物理数据都与模块对应uu 所有模块都与物理数据对应uu 对应于一个物理数据的模块数(以一对一为好)54n n 结构特性 逻辑数据与物理数据的对应关系n n 评价准则uu 所有逻辑数据都与物理数据对应uu 对应于一个物理数据的逻辑数据数(以一对一为好)5

20、5n n 结构特性 功能与模块的对应关系n n 评价准则uu 所有功能都与模块对应uu 对应模块的功能个数(以一对一为好)56软件可靠性n n 软件生存期与软件寿命的关系n n 软件可靠性定义n n 测试中的可靠性分析n n 测试精确度和测试覆盖度的评价57软件生存期既软件寿命n n“寿命”也可以延伸到对非生命产品的质量评价上来。如一个电子产品的寿命就是指该产品从出厂直到丧失使用价值的持续时间。n n 从软件工程的角度来说,软件产品的寿命是指软件的整个生存期。58n n 从软件用户的角度来看,更关心的是软件在交付使用后的情况如何。n n 希望用一个指标平均失效间隔时间 MTBF(MeanTim

21、e Between Failure)来表明,在规定的要求和条件下,能在多大的程度上依赖这个软件来完成任务。n n 我们把在使用期间软件能够持续正常工作的时间叫做软件的使用寿命。59软件可靠性的定义n n 软件可靠性是软件在给定的时间间隔及给定的环境条件下,按设计要求,成功地运行程序的概率。n n 环境条件 指的是软件的使用环境。无论是什么软件,如果不对它的使用环境加以限制,都是会失效的。这种失效的数据,不能用来度量软件的可靠性。60n n 规定的时间 在定义中,一般采用“运行时间”t 作为时间的尺度。因 n n 具体要处理的问题是多种多样的 n n 其对应的输入环境是随机 n n 程序中相应程

22、序路径的选取也是随机的 n n 软件的失效也是随机的n n 应当把运行时间t 当作随机变量来考虑。61n n 规定的功能 在考虑软件可靠性时,首先应当明确软件的功能是什么,哪些功能是主要的,哪些功能是次要的。一般从软件需求分析说明书和设计说明书中可以了解这些情况。uu 由于功能不同,失效带来的损失就不一样。因此,还要明确哪些失效是致命的,哪些失效是非致命的,哪些又是容易修复的。此外,还要明确,怎样才算是完成了一个规定的功能。62n n 成功地运行程序 是指不仅程序能正确地运行,满足用户对它的功能要求,而且当程序一旦受到意外的伤害,或系统故障时,能尽快恢复,仍能正常地运行。63测试中的可靠性分析

23、n n 在软件开发的过程中,利用测试的统计数据,估算软件的可靠性,以控制软件的质量是至关重要的。n n 推测错误的产生频度,即推测错误产生的时间间隔n n 推测残留在程序中的错误数n n 评价测试的精确度和覆盖率64推测错误的产生频度n n 估算错误产生频度的一种方法是估算平均失效等待时间MTTF(Mean Time To Failure)n n MTTF 估算公式(Shooman 模型)65故障累积指数曲线模型66估算软件中故障总数ET 的方法利用Shooman 模型估算程序中原来错误总量ET 瞬间估算67n n SPQL(Software Product Quality Level)用如下

24、公式度量:SPQL AcCvn n 其中,Ac(Test Accuracy)是测试的精确度,它反映了测试的质量;Cv(Test Coveragy)是测试的覆盖度,它反映了测试的数量。测试结束时软件产品质量水准68n n 测试质量的度量可以靠测试的故障捕捉率和遗漏率来衡量。n n 测试数量的度量指标是执行的测试用例数、确认的程序路径数等等;69测试精确度Acn n 表明在测试的过程中以多大的把握捕捉了软件中潜在的故障。n n 测定Ac,需要预先植入播种故障,然后通过测试,根据播种故障的捕捉率来推测原有故障的捕获率。70测试覆盖率Cvn n 表明在整个测试期间发现软件内潜在故障的可能性有多大。n n 可通过被测试对象软件内潜在的原有故障的捕捉率来测定的。71

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁