第10章软件质量与质量保证-第7章软件质量与质量ppt课件_第1页
第10章软件质量与质量保证-第7章软件质量与质量ppt课件_第2页
第10章软件质量与质量保证-第7章软件质量与质量ppt课件_第3页
第10章软件质量与质量保证-第7章软件质量与质量ppt课件_第4页
第10章软件质量与质量保证-第7章软件质量与质量ppt课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、第10章 软件质量与质量保证软件工程课件讲稿-肖浩.10.1 软件质量的概念.软件质量的定义(1) 与所确定的功能和性能需求的一致性。(2) 与所成文的开发规范的一致性。(3) 与一切专业开发的软件所期望的隐含特性的一致性。.影响软件质量的要素(1) 可以直接度量的要素,如单位时间内千行代码KLOC中产生的错误数。(2) 只能间接度量的要素,如可用性或可维护性。在软件开发和维护的过程中,为了定量地评价软件质量,必需对软件质量特性进展度量,以测定软件具有要求质量特性的程度。 .什么是软件质量保证软件的质量保证就是向用户及社会提供称心的高质量的产品,确保软件产品从诞生到消亡为止的一切阶段的质量的活

2、动,即确定、到达和维护需求的软件质量而进展的一切有方案、有系统的管理活动。.质量保证的战略(1) 以检测为重。产品制成后才进展检测,这种检测只能判别产品的质量,不能提高产质量量。(2) 以过程管理为重。把质量保证任务重点放在过程管理上,对制造过程的每一道工序都进展质量控制。(3) 以新产品开发为重。.质量保证的主要义务(1) 正确定义用户要求。(2) 技术方法的运用。(3) 提高软件开发的工程才干。(4) 软件的复用。(5) 发扬每个开发者的才干。(6) 组织外部力量协作。(7) 排除无效力动。最大的无效力动是因需求规格阐明有误、设计有误而呵斥的返工。(8) 提高方案和管理质量。.质量保证与检

3、验软件质量必需在设计和实现过程中加以保证。 .10.2 质量度量模型.McCall质量度量模型. ISO的软件质量评价模型.10.3 软件复杂性 .软件复杂性的根本概念(1) 规模,即总共的指令数,或源程序行数。(2) 难度,通常由程序中出现的操作数的数目所决议的量来表示。(3) 构造,通常用于程序构造有关的度量来表示。(4) 智能度,即算法的难易程度。软件复杂性主要表如今程序的复杂性。程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件内部埋伏错误的多少。同时它也是软件可了解性的另一种度量。 .软件复杂性的度量方法-代码行度量法度量程序的复杂性,最简单的方

4、法就是统计程序的源代码行数。此方法的根本思索是统计一个程序的源代码行数,并以源代码行数作为程序复杂性的质量。 .软件复杂性的度量方法-McCabe度量法McCabe度量法是由Thomas McCabe提出的一种基于程序控制流的复杂性度量方法。McCabe复杂性度量又称环路度量。它以为程序的复杂性很大程度上取决于程序的复杂性。单一的顺序构造最为简单,循环和选择所构成的环路越多,程序就越复杂。这种方法以图论为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值。程序图是退化的程序流程图。也就是说,把程序流程图的每一个处置符号都退化成一个结点,原来衔接不同处置符号的流线变成衔接不同结点的有向

5、弧,这样得到的有向图就叫做程序图。 .软件复杂性的度量方法-McCabe度量法.软件复杂性的度量方法-McCabe度量法 根据图论,在一个强连通的有向图G中,环的个数V(G)由以下公式给出: V(G)=m-n+2p其中,V(G)是有向图G中环路数,m是图G中弧数,n是图G中结点数,p是图G中强连通分量个数。在一个程序中,从程序图的入口点总能到达图中任何一个结点,因此,程序总是连通的,但不是强连通的。为了使图成为强连通图,从图的入口点到出口点加一条用虚线表示的有向边,使图成为强连通图。这样就可以运用上式计算环路复杂性了。以图4-11所给出的例子示范,其中,结点数n=6,弧数m=9,p=1,那么有

6、 V(G=m-n+2p=9-6+2=5即McCabe环复杂度度量值为5。这里选择的5个线形无关环路为(abefa),(beb),(abea),(acfa),(abcfa),其他任何环路都是这5个环路的线性组合。.McCabe度量法的缺陷对于不同种类的控制流的复杂度不能区分。简单IF语句与循环语句的复杂性同等对待。嵌套IF语句与简单CASE的复杂性是一样的。模块间接口当成一个简单分支一样处置。一个具有1000行的顺序程序与一行语句的复杂性一样。虽然McCabe复杂度度量法有许多缺陷,但它容易运用,而且在选择方案和估计排错费用等方面都是很有效的。.10.4 软件可靠性 .软件可靠性定义软件可靠性定

7、义阐明了一个程序按照用户的要求和设计的目的,执行其功能的正确程度。一个可靠的程序应要求是正确的、完好的、一致的和强壮的。即:在给定的时间内,程序按照规定的条件胜利地运转的概率。 .软件可靠性定义的数学表达设R(t)代表在时间(0,t)之间的软件可靠性,PE代表事件E的概率,那么软件可靠性可表示为: R(t)=P在时间(0,t)内按规定条件运转胜利可靠性与软件内部的缺点亲密相关,假设软件在交付运用时有遗留错误,那么当出现某种组合时,就会使程序在运转中失败。当残留错误的数量一定时,程序的运转时间越长,那么发生失效的时机就越多,可靠性也随之下降。设软件的缺点率不随时间而变化,那么根据经典的可靠性实际

8、。R(t)可以表示为时间与缺点率的指数函数 R(t)=.软件可靠性目的软件可靠性与可用性的定量目的,是指可以以数字概念来描画可靠性的数学表达式中所运用的量。下面主要讨论常用目的平均失效等待时间MTTF与平均失效间隔时间MTBF。1. MTTFMean Time To Failure 平均失效等待时间MTTF定义为:2. MTBFMean Time Betmeen Failure MTBF是平均失效间隔时间,它是指两次相继失效之间的平均时间。.软件可靠性模型-正比于遗留缺点数的宏观模型程序的缺点率与遗留错误的数量成正比,根据程序中遗留错误的多少,就可以预测程序的可靠性。设 t=程序的调试时间 E

9、T=调试前的错误总数 Ec(t)=在时间(0,t)期间纠正的错误 Er(t)=在时间t时的遗留错误量 IT=程序的长度或指令的总数 那么 Er(t)= ET - Ec(t) 用 除以上述等式两边,得到错误的规格化值.软件可靠性模型-平均失效等待时间知当缺点率为独立于时间的常数时, MTTF=1/ 即 为简化讨论,又在时间0至t期间的纠错率为常数,且等于,那么 所以,平均缺点间隔时间的模型可简写为: .软件可靠性模型-错误植入模型这类模型的中心思想,是经过估计残留错误的数量,来确定程序的可靠性。详细的作法是:测试之前先在程序中植入一批人为的错误,在测试过程中分别统计出测试小组的原有错误和植入错误

10、,然后由以下计算式计算原有错误。 假设 N=程序中原来残留的错误数; S=新植入程序的错误数; n=测试中发现的原有错误数; s=测试中发现的植入错误数 假设调试中对这两类错误具有同样的发现才干,那么有 或 .10.5 软件评审 .软件评审对软件工程来说,软件评审是一个“过滤器,在软件开发的各个阶段都要采用评审的方法,以发现软件中的缺陷,然后加以矫正。把“质量了解为“用户称心程度。为运用户称心,有两个必要条件: (1) 设计的规格阐明书要符合用户的要求。 (2) 程序要按照设计规格阐明书所规定的情况正确执行。.设计质量的评审内容(1) 评价软件的规格阐明能否符合用户的要求,即总体设计思想和设计

11、方针能否明确;需求规格阐明能否得到了用户或单位上级机关的同意;需求规格阐明与软件的概要设计计规格阐明能否一致等? (2) 评审可靠性,即能否能防止输入异常错误或超载等、硬件失效及软件失效所产生的失效,一旦发生应能及时采取替代或恢复手段 。(3) 评审严密措施实现情况,即能否提供对运用系统资历进展检查;对特定数据的运用资历、特殊功能的运用资历进展检查,在查出有违反运用资历情况后,能否向系统管理人员报告有关信息;能否提供对系统内重要数据加密的功能等。.设计质量的评审内容(4) 评审操作特性实施情况,即操作命令和操作信息的恰当性,输入数据与输入控制语句的恰当性;输出数据的恰当性;应对时间的恰当性等。

12、(5) 评审性能实现情况,即能否到达所规定性能的的目的值。(6) 评审软件能否具有可修正性、可扩展性、可互换性和可移植性。(7) 评审软件能否具有可测试性。(8) 评审软件能否具有复用性。 .程序质量的评审内容-软件的构造 (1) 功能构造。在软件的各种构造中,功能构造是用户独一能见到的构造。需求检查的工程有:数据构造:包括数据名和定义;构成该数据的数据项;数据与数据间的关系。功能构造:包括功能名和定义;构成该功能的子功能;功能与子功能之间的关系。数据构造和功能构造之间的对应关系:包括数据元素与功能元素之间的对应关系;数据构造与功能构造的一致性。(2) 功能的通用性。(3) 模块的层次。.程序

13、质量的评审内容-软件的构造 (4) 模块构造。控制流构造:规定了处置模块与处置模块之间的流程关系。检查处置模块之间的控制转移关系与控制转移方式调用方式。数据流构造:规定了数据模块是如何被处置模块进展加工的流程关系。检查处置模块与数据模块之间的对应关系;处置模块与数据模 块之间的存取关系,如建立、删除、查询、修正等。模块构造与功能构造之间的对应关系:包括功能构造与控制流构造的对应关系;功能构造与数据流构造的对应关系;每个模块的定义 包括功能、输入与输出数据。(5) 处置过程的构造。处置过程是最根本的加工逻辑过程。.程序质量的评审内容-与运转环境的接口 (1) 与硬件的接口。(2) 与用户的接口。

14、随着软件运转环境的变卦,软件的规格也在跟着不断地变卦。运转环境变卦时的影响范围,需求从以下三个方面来分析:(1) 与运转环境的接口。(2) 在每项设计工程规格内的影响。(3) 在设计工程相互间的影响。.11.6 软件容错技术 .软件容错技术提高软件质量和可靠性的技术大致分为两类,一类是避开错误fault-avoidance技术,即在开发的过程中不让过失潜入软件的技术;另一类是容错fault-tolerance技术,即对某些无法避开的过失,使其影响减少至最小的技术。.容错软件定义1规定功能的软件,在一定程度上对本身错误的作用软件错误具有屏蔽才干,那么称此软件为具有容错功能的软件,即容错软件。2规

15、定功能的软件,在一定程度上能从错误形状自动恢复到正常形状,那么称之为容错软件。3规定功能的软件,在因错误而发生错误时,依然能在一定程度上完成预期的功能,那么把该软件称为容错软件。4规定功能的软件,在一定程度上具有容错才干,那么称之为容错软件。.容错的普通方法1、构造冗余(1)静态冗余。常用的有:三模冗余TMRTriple Moduler Redundancy和多模冗余。(2)动态冗余。动态冗余的主要方式是多重模块待机贮藏,当系统检测到某任务模块出现错误时,就用一个备用的模块来顶替它并重新运转。(3)混合冗余。它兼有静态冗余和动态冗余的优点。.容错的普通方法2、信息冗余为检测或纠正信息在运算或传输中的错误须外加一部分信息,这种景象称为信息冗余。3、时间冗余时间冗余是指以反复执行指令指令复执或程序程序复算来消除瞬时错误带来的影响。4、冗余附加技术冗余附加技术是指实现上述冗余技术所需的资源和技术。.容错软件的设计过程容错系统的设计过程包括以下设计步骤:1按设计义务要求进展常规设计,尽量保证设计的正确。 按常规设计得到非容错构造,它是容错系统构成的根底。在构造冗余中,不论是主模块还是备用模块的设计和实现,都要在费用答应的 条件下,用调试的方法尽能够提高

温馨提示

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

评论

0/150

提交评论