欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    软件工程8软件质量保证ppt课件.ppt

    • 资源ID:3301864       资源大小:700.55KB        全文页数:43页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件工程8软件质量保证ppt课件.ppt

    第8章 软件质量保证 掌握:软件质量的定义、软件质量的特性与度 量、软件质量保证、软件质量模型、软件复杂 性的度量方法、软件可靠性、软件评审、容错 软件。 8.1 软件质量概 述 8.1.1 软件质量的定义 清华大学的郑人杰教授认为,软件质量主要 反映了以下3方面的问题: (1)软件需求是度量软件质量的基础,不符 合需求的软件就不具备质量。 (2)在各种标准中定义了一些开发准则,用 来指导软件人员用工程化的方法来开发软件。 如果不遵守这些开发准则,软件质量就得不到 保证。 (3)往往会有一些隐含的需求没有明确地提 出来,例如,软件应具备良好的可维护性。如 果软件只满足那些精确定义了的需求,而没有 满足这些隐含的需求,软件质量也不能保证。 8.1.2 软件质量的特性与度量 软件测试的目的就是为了发现错误并纠正错 误,可以将其总结为以下几点: (1)测试是一个程序的执行过程,它的目 的在于发现错误。 (2)一个好的测试用例极可能发现至今未 发现的错误。 (3)一个成功的测试是发现了至今末发现 的错误的测试。 1功能性 由功能及与其指定的性质有关的一组属性组 成,包括: (1)适合性 (2)准确性 (3)互用性 (4)依从性 (5)安全性 2可靠性 由与在规定的一段时间和条件下,软件维持其性能 水平的能力有关的一组属性组成,包括: (1)成熟性 (2)容错性 (3)易恢复性 3易用性 由与一组规定或潜在的用户为使用软件所需作的努 力和对这样的使用所作的评价有关的一组属性组成, 包括: (1)易理解性 (2)易学性 (3)易操作性 4效率 在规定的条件下,软件的性能水平与所使用资源之 间存在一定的关系,与这个关系有关的一组属性,是 衡量效率的标准,这些属性包括: (1)时间特性 (2)资源特性 5可维护性 由与为进行指定的修改而所需的努力有关的一组属 性组成,包括: (1)易分析性 (2)易改变性 (3)稳定性 (4)易测试性 6可移植性 由与软件可从某一环境转移到另一环境的能 力有关的一组属性组成,包括: (1)适应性 (2)易安装性 (3)遵循性 (4)易替换性 8.1.3 软件质量保证 所谓软件质量保证,就是建立一套有计划、有系统的方 法,来向管理层保证拟定出的标准、步骤、实践和方法能 够正确地被所有项目所采用。 软件质量保证的主要手段,是对软件产品和活动进行评 审和审计,以此来验证软件是合乎标准的。在软件开发的 各个阶段实施的软件质量保证检验项目如下: 1需求分析阶段 主要检测开发目的、目标值、开发量(程序、文档)、 所需资源、各阶段的产品和作业内容、开发体制等的合理 性。 2设计阶段 检验项目包括产品的量(计划量、实际量)、评审量、 差错数、检出差错的内容、评审方法和覆盖性、出错原因 、处理情况及对该阶段的影响、评审结束和阶段结束的判 断标准等。 3实现阶段 检验项目包括设计阶段的所有检验项目,另外还包括: 计算机使用时间、测试环境、测试项目设定种类、测试用 例的设计方法等。 4验收阶段 检验项目主要是说明书检查(检查与被检查程序有关的 用户文档等)和程序检查(为了评价和保证程序质量,采 用各种黑盒测试或白盒测试手段进行检查)。 5运行维护阶段 主要是掌握用户使用产品的质量情况,并反馈给开发部 门。 8.2 软件质量模 型 8.2.1 McCall质量度量模型 图8-1 McCall模型的3个层次与11个特性 8.2.2 ISO软件质量评价模型 国际标准化组织ISO制定的ISO质量度量模型由3层组成,分别是 : (1)高层,称为“软件质量需求评价准则”。 (2)中层,称为“软件质量设计评价准则”。 (3)低层,称为“软件质量度量评价准则”。 ISO认为,应对高层和中层建立国际标准,而低层可由各使用单 位视实际情况制定相关标准。同时,按照ISOIEC9126质量特性国 际标准,第一层(即ISO质量度量模型中的“高层”)称为质量特性, 第二层(即ISO质量度量模型中的“中层”)称为质量子特性,第三层 (即ISO质量度量模型中的“低层”)称为度量。该标准定义了6个质量 特性,即功能性、可靠性、可维护性、效率、可使用性、可移植性, 并推荐了21个子特性,如适合性、准确性、互用性、依从性、安全性 、成熟性、容错性、可恢复性、可理解性、易学习性、操作性、时间 特性、资源特性、可分析性、可变更性、稳定性、可测试性、适应性 、可安装性、一致性、可替换性,但不作为标准。 8.3 软件复杂性 8.3.1 软件复杂性的基本概念 软件复杂性是指软件的复杂程度。 (1)规模:即总共的指令或源程序行数。 (2)难度:通常由程序中出现的操作数的数量 来表示。 (3)结构:通常用与程序结构有关的度量来表 示。 (4)智能度:即算法的难易程度。 8.3.2 软件复杂性的度量方法 软件复杂性度量是对软件复杂性的定量描述, 是软件复杂性分析和控制的基础,它针对不同 对象,从不同角度选用不同方法来描述软件的 复杂性。 软件复杂性主要表现在程序的复杂性。程序的 复杂性主要指模块内程序的复杂性,它直接关 系到软件开发费用、开发周期和软件内部潜伏 错误的多少,同时也可用于度量软件的可理解 性。 要求复杂性度量满足以下假设: (1) 软件复杂性度量可以用来计算任何一个程序 的复杂性。 (2) 对于不合理的程序,如长度动态增长的程序 ,或者对于原则上无法排错的程序,则不应当 使用软件复杂性度量进行复杂性计算。 (3)程序中指令条数、附加存储量、计算时间增 多不会减少程序的复杂性。 1长度度量 度量程序的复杂性,最简单的方法就是统计程序 的源代码行数。此方法的基本考虑是统计一个程序的 源代码行数,并以源代码行数作为程序复杂性的质量 。 2Halstead度量 Halstead度量法通过计算程序中的运算符和操作 数的数量对程序的复杂性加以度量。设n1表示程序中 不同运算符的个数,n2表示程序中不同操作数的个数 ,N1表示程序中实际运算符的总数,N2表示程序中实 际操作数的总数。令H表示程序的预测长度, Halstead给出H的计算公式为: H=n1log2n1+n2log2n2;令N表示实际的程序长度, 其定义为:N=N1+N2。 3McCabe度量 该度量方法由McCabe提出,又称为环路复杂性度 量方法,其步骤是: (1)将程序流程图中的每个处理符号看作一个节点 ,流程图中的流程线看作有向弧,从而将流程图转换 为一个有向图。 (2)从图的入口点到出口点加一条用虚线表示的有 向边,使图成为强连通图。 (3)定义环路复杂性的计算公式为: V(G) = m n + p 其中,V(G)是有向图G中的环路数;m是图G中的 弧数;n是图G中的节点数;P是图G中的强连通分量 。 也可简单地将环路复杂性看作有向图中有向弧所封 闭的区域个数。 例如,如图8-2(a)所示的程序流程图对应的有向 图如图8-2(b)所示。因为节点数n=11,弧数m=13 ,强连通分量p=1,因此,环路复杂性V(G)=3。 图8-2 McCabe复杂性度量的例子 8.3.3 软件复杂性控制 (1)控制结构和数据结构复杂的程序较复杂。 (2)转向语句使用不当的程序较复杂。 (3)非局部量较多的程序较复杂。 (4)按地址调用参数比按值调用参数复杂。 (5)模块及过程之间联系密切的程序较复杂。 (6)嵌套深度越大,程序越复杂。 (7)循环结构复杂性大于选择结构和顺序结构 的复杂性。 (8)宽度是软件复杂性的主要形成原因。 8.4 软件可靠性 8.4.1 软件可靠性的定义 1软件故障及其特征 常用以下3个术语来描述软件未正常运行的 情况: (1)缺陷:是指软件的内在缺陷。 (2)错误:缺陷在一定环境条件下暴露, 导致系统运行中出现可感知的不正常、不正确 和不按规范执行的状态。 (3)故障:由于对错误未作任何纠正,而 导致系统的输出不满足预定的要求。 2软件可靠性 软件可靠性的定义是:“软件可靠性是软件 系统在规定的时间内及规定的环境条件下,完 成规定功能的能力”。 (1)规定的时间 (2)规定的环境条件 (3)规定的功能 8.4.2 软件可靠性的指标 (1)平均失效间隔时间MTTF:即两次失效之间的平均操作时间。 (2)平均修复时间MTTR:即修复一个故障平均需用的时间。 (3)有效性:A=(MTTF/(MTTF+MTTR)。 (4)初期故障率:一般以软件交付使用方后的3个月内为初期故障 期,初期故障率指软件在初期故障期内单位时间的故障数,一般 以每100h 的故障数为单位,可以用来评价交付使用的软件的质 量,并预测软件可靠性何时基本稳定。 (5)偶然故障率:一般以软件交付给使用方后的4个月后为偶然故 障期。偶然故障率指软件在偶然故障期内单位时间的故障数,一 般以每千小时的故障数为单位,它反映了软件处于稳定状态时的 质量。 (6)使用方误用率:使用方不按照软件规范及说明等文 件来使用软件而造成的错误叫“使用方误用”。在总使用 次数中,使用方误用次数占的百分率叫“使用方误用率” 。造成使用方误用的原因之一是使用方对说明理解不 深,操作不熟练,但也可能是说明没有讲得非常清楚 ,引起误解等。 (7)用户提出补充要求数:由于软件在开发过程中未能 充分满足用户需要,或者用户在软件开发时所提要求 不全面,软件开始使用后用户又提出补充要求,需要 生产方对软件进行修改、完善。 8.4.3 软件可靠性模型 (1)随机性分类法:根据随机过程的假设(如过程的确定性或非确 定性、马氏过程、泊松过程等)进行分类。 (2)按软件出现的故障数进行分类:主要有错误计数模型和非计数 模型,可数性或不可数性模型。 (3)按模型参数的估计方法进行分类:主要有贝叶斯方法或非贝叶 斯方法,最大似然估计法或最小二乘法,另外还有线性模型等。 (4)按模型使用的时间方式分类:主要有日历时间和执行时间模型 。 (5)按修复过程分类:主要指强调对软件系统修复过程的一类模型 ,如:完全修复型的和不完全修复型的模型,完全排错型和不完 全排错型的模型。 (6)按对软件的内部结构是否了解进行分类:可分为黑箱模型和白 箱模型。主要根据对软件内部结构的了解程度,以及对它们的结 构能加以利用的程度来进行分类。 8.5 软件评审 8.5.1 软件评审的概念 对软件工程来说,软件评审是一个“过滤器 ”。在软件开发的各个阶段都要采用评审的方法 ,以发现软件中的缺陷,然后加以改正。 8.5.2 软件评审的阶段和内容 1设计质量的评审 设计质量的评审包括: (1) 评价软件的规格说明是否合乎用户的要求,即总体设计思想和 设计方针是否明确;需求规格说明是否得到了用户或单位上级机 关的批准;需求规格说明与软件的概要设计规格说明是否一致等 。 (2) 评审可靠性,即是否能避免输入异常(错误或超载等)、硬件 失效及软件失效。一旦发生异常,应能及时采取代替或恢复手段 。 (3) 评审保密措施实施情况,即是否提供对使用系统资格进行检查 的功能;在检查出有违反对特定数据、特殊功能的使用资格的情 况后,能否向系统管理人员报告有关信息;是否提供对系统内重 要数据加密的功能等。 (4) 评审操作特性实施情况,即操作命令和操作信息的 恰当性;输入数据与输入控制语句的恰当性;输出数 据的恰当性;应答时间的恰当性等。 (5) 评审性能实现情况,即是否达到所规定性能的的目 标值。 (6) 评审软件是否具有可修改性、可扩充性、可互换性 和可移植性。 (7) 评审软件是否具有可测试性。 (8) 评审软件是否具有复用性。 2程序质量的评审 程序质量评审通常是从开发者的角度进行评审,它直接与开 发技术有关。程序质量评审着眼于对软件本身的结构、与运行环 境的接口、变更带来的影响等进行的评审活动。 1)软件的结构 软件的结构包括功能结构、功能的通用性、模块的层次、模 块结构、处理过程的结构等。其中,在功能结构方面需要检查的 项目有: (1)数据结构:包括数据名和定义;构成该数据的数据项; 数据与数据间的关系。 (2)功能结构:包括功能名和定义;构成该功能的子功能; 功能与子功能之间的关系。 (3)数据结构和功能结构之间的对应关系:包括数据元素与 功能元素之间的对应关系;数据结构与功能结构的一致性。 在模块结构方面需要检查的项目有: (1)控制流结构:规定了处理模块与处理模块之间的流 程关系,检查处理模块之间的控制转移关系与控制转 移形式(调用方式)。 (2)数据流结构:规定了数据模块是如何被处理模块进 行加工的流程关系,检查处理模块与数据模块之间的 对应关系,处理模块与数据模块之间的存取关系,如 建立、删除、查询、修改等。 (3)模块结构与功能结构之间的对应关系:包括功能结 构与控制流结构的对应关系;功能结构与数据流结构 的对应关系;每个模块的定义(包括功能、输入与输 出数据)。 2)与运行环境的接口 与运行环境的接口包括与硬件的接口及与用户的接 口。 随着软件运行环境的变更,软件的规格也在随着 不断地变更。运行环境变更时的影响范围,需要从以 下3个方面来分析: (1) 与运行环境的接口。 (2) 在每项设计工程规格内的影响。 (3) 设计工程相互间的影响。 8.5.3 软件评审的原则和作用 1. 评审的原则 评审的原则包括: (1)某阶段未通过阶段评审不得进入下一个软件研制阶段。 (2)评审时对事不对人,评审的是产品,而不是评审生产者。 (3)评审就要挑刺,找问题、缺陷和隐患。 (4)评审组的人员面越广越好,如包括用户、设计人员、测试人员 等。 (5)评审组不做无休止的争论和辩驳,而是将争论点记录下来,供 以后甄别。 (6)评审只是提出问题,没有解决问题的任务。 (7)使用“评审检查单”,以提高评审的效果。 2. 评审的作用 评审的作用在于: (1)技术把关,避免软件人员的想当然。 (2)概念沟通,吸收用户和总体设计人员参加,审查软 件人员理解的正确性。 (3)集思广益,吸收有关的分系统人员参加,从不同侧 面确认软件的协调性。 (4)总结汇报,使实时控制系统总指挥、总设计师了解 软件生产的进度、问题和要求,以做出新的部署。 8.6 容错软件 8.6.1 容错软件的定义 容错软件的定义为:规定功能的软件,在 一定程度上对自身错误的作用(软件错误)具 有屏蔽能力,或在一定程度上能从错误状态自 动恢复到正常状态,或在因错误而发生错误时 ,仍然能在一定程度上完成预期的功能,或在 一定程度上具有容错能力,则称之为容错软件 。 8.6.2 容错的一般方法 1结构冗余 (1)静态冗余。常用的有三模冗余(Triple Moduler Redundancy, TMR )和多模冗余(Multiple Modular Redundancy,MMR)。 (2)动态冗余。动态冗余的主要方式是多重模块待机储备,即当系统检测 到某工作模块出现错误时,就用一个备用的模块来顶替它,并重新运行 。 (3)混合冗余。它兼有静态冗余和动态冗余的长处。 2信息冗余 为检测或纠正信息在运算或传输中的错误需外加一部分信息,这种现象称 为信息冗余。 3时间冗余 时间冗余是指以重复执行指令(指令复执)或程序(程序复算)来消除瞬 时错误带来的影响。 4冗余附加技术 冗余附加技术是指实现上述冗余技术所需的资源和技术。 8.6.3 容错软件的设计过程 容错系统的设计过程包括以下步骤: (1)按设计任务要求进行常规设计,尽量保证 设计的正确。 (2)对可能出现的错误分类,确定实现容错的 范围。 (3)按照“成本效率”最优原则,选用某种冗 余手段(结构、信息、时间)来实现对各类错 误的屏蔽。 (4)分析或验证上述冗余结构的容错效果。 第8章 结束 谢谢!

    注意事项

    本文(软件工程8软件质量保证ppt课件.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开