第10章软件质量与质量保证课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第10章软件质量与质量保证课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 软件 质量 质量保证 课件
- 资源描述:
-
1、1第第10章章 软件质量与质量保证软件质量与质量保证210.1 软件质量的概念软件质量的概念3软件质量的定义软件质量的定义(1)与所确定的功能和性能需求的一致性。与所确定的功能和性能需求的一致性。(2)与所成文的开发标准的一致性。与所成文的开发标准的一致性。(3)与所有专业开发的软件所期望的隐含特与所有专业开发的软件所期望的隐含特性的一致性。性的一致性。4影响软件质量的因素影响软件质量的因素(1)可以直接度量的因素,如单位时间内千可以直接度量的因素,如单位时间内千行代码(行代码(KLOC)中产生的错误数。)中产生的错误数。(2)只能间接度量的因素,如可用性或可维只能间接度量的因素,如可用性或可
2、维护性。护性。l在软件开发和维护的过程中,为了定量在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件质量特性地评价软件质量,必须对软件质量特性进行度量,以测定软件具有要求质量特进行度量,以测定软件具有要求质量特性的程度。性的程度。5什么是软件质量保证什么是软件质量保证l软件的质量保证就是向用户及社会提供软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理量而进行的所有
3、有计划、有系统的管理活动。活动。6质量保证的策略质量保证的策略(1)以检测为重。产品制成后才进行检测,以检测为重。产品制成后才进行检测,这种检测只能判断产品的质量,不能提这种检测只能判断产品的质量,不能提高产品质量。高产品质量。(2)以过程管理为重。把质量保证工作重点以过程管理为重。把质量保证工作重点放在过程管理上,对制造过程的每一道放在过程管理上,对制造过程的每一道工序都进行质量控制。工序都进行质量控制。(3)以新产品开发为重。以新产品开发为重。7质量保证的主要任务质量保证的主要任务(1)正确定义用户要求。正确定义用户要求。(2)技术方法的应用。技术方法的应用。(3)提高软件开发的工程能力。
4、提高软件开发的工程能力。(4)软件的复用。软件的复用。(5)发挥每个开发者的能力。发挥每个开发者的能力。(6)组织外部力量协作。组织外部力量协作。(7)排除无效劳动。最大的无效劳动是因需求规排除无效劳动。最大的无效劳动是因需求规格说明有误、设计有误而造成的返工。格说明有误、设计有误而造成的返工。(8)提高计划和管理质量。提高计划和管理质量。8质量保证与检验质量保证与检验l软件质量必须在设计和实现过程中加以软件质量必须在设计和实现过程中加以保证。保证。910.2 质量度量模型质量度量模型10McCall质量度量模型质量度量模型11 ISO的软件质量评价模型的软件质量评价模型1210.3 软件复杂
5、性软件复杂性 13软件复杂性的基本概念软件复杂性的基本概念(1)规模,即总共的指令数,或源程序行数。规模,即总共的指令数,或源程序行数。(2)难度,通常由程序中出现的操作数的数目所难度,通常由程序中出现的操作数的数目所决定的量来表示。决定的量来表示。(3)结构,通常用于程序结构有关的度量来表示。结构,通常用于程序结构有关的度量来表示。(4)智能度,即算法的难易程度。智能度,即算法的难易程度。l软件复杂性主要表现在程序的复杂性。程序的软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。它直接关复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软联到
6、软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少。同时它也是软件可理件内部潜伏错误的多少。同时它也是软件可理解性的另一种度量。解性的另一种度量。14软件复杂性的度量方法软件复杂性的度量方法-代码行度量法代码行度量法l度量程序的复杂性,最简单的方法就是度量程序的复杂性,最简单的方法就是统计程序的源代码行数。此方法的基本统计程序的源代码行数。此方法的基本考虑是统计一个程序的源代码行数,并考虑是统计一个程序的源代码行数,并以源代码行数作为程序复杂性的质量。以源代码行数作为程序复杂性的质量。15软件复杂性的度量方法软件复杂性的度量方法-McCabe度量法度量法lMcCabe度量法是由度量法是由
7、Thomas McCabe提出的一提出的一种基于程序控制流的复杂性度量方法。种基于程序控制流的复杂性度量方法。McCabe复杂性度量又称环路度量。它认为程复杂性度量又称环路度量。它认为程序的复杂性很大程度上取决于程序的复杂性。序的复杂性很大程度上取决于程序的复杂性。单一的顺序结构最为简单,循环和选择所构成单一的顺序结构最为简单,循环和选择所构成的环路越多,程序就越复杂。这种方法以图论的环路越多,程序就越复杂。这种方法以图论为工具,先画出程序图,然后用该图的环路数为工具,先画出程序图,然后用该图的环路数作为程序复杂性的度量值。程序图是退化的程作为程序复杂性的度量值。程序图是退化的程序流程图。也就
8、是说,把程序流程图的每一个序流程图。也就是说,把程序流程图的每一个处理符号都退化成一个结点,原来连接不同处处理符号都退化成一个结点,原来连接不同处理符号的流线变成连接不同结点的有向弧,这理符号的流线变成连接不同结点的有向弧,这样得到的有向图就叫做程序图。样得到的有向图就叫做程序图。16软件复杂性的度量方法软件复杂性的度量方法-McCabe度量法度量法17软件复杂性的度量方法软件复杂性的度量方法-McCabe度量法度量法 根据图论,在一个强连通的有向图根据图论,在一个强连通的有向图G中,环的个数中,环的个数V(G)由以下公由以下公式给出:式给出:V(G)=m-n+2pl其中,其中,V(G)是有向
9、图是有向图G中环路数,中环路数,m是图是图G中弧数,中弧数,n是图是图G中结中结点数,点数,p是图是图G中强连通分量个数。在一个程序中,从程序图的入中强连通分量个数。在一个程序中,从程序图的入口点总能到达图中任何一个结点,因此,程序总是连通的,但不口点总能到达图中任何一个结点,因此,程序总是连通的,但不是强连通的。为了使图成为强连通图,从图的入口点到出口点加是强连通的。为了使图成为强连通图,从图的入口点到出口点加一条用虚线表示的有向边,使图成为强连通图。这样就可以使用一条用虚线表示的有向边,使图成为强连通图。这样就可以使用上式计算环路复杂性了。上式计算环路复杂性了。l以图以图4-11所给出的例
10、子示范,其中,结点数所给出的例子示范,其中,结点数n=6,弧数弧数m=9,p=1,则有则有 V(G=m-n+2p=9-6+2=5l即即McCabe环复杂度度量值为环复杂度度量值为5。这里选择的。这里选择的5个线形无关环路为个线形无关环路为(abefa),(beb),(abea),(acfa),(abcfa),其他任何环路都是这其他任何环路都是这5个环路的个环路的线性组合。线性组合。18McCabe度量法的缺点度量法的缺点对于不同种类的控制流的复杂度不能区分。对于不同种类的控制流的复杂度不能区分。简单简单IF语句与循环语句的复杂性同等看待。语句与循环语句的复杂性同等看待。嵌套嵌套IF语句与简单语
11、句与简单CASE的复杂性是一样的。的复杂性是一样的。模块间接口当成一个简单分支一样处理。模块间接口当成一个简单分支一样处理。一个具有一个具有1000行的顺序程序与一行语句的复杂行的顺序程序与一行语句的复杂性相同。性相同。l尽管尽管McCabe复杂度度量法有许多缺点,但它复杂度度量法有许多缺点,但它容易使用,而且在选择方案和估计排错费用等容易使用,而且在选择方案和估计排错费用等方面都是很有效的。方面都是很有效的。1910.4 软件可靠性软件可靠性 20软件可靠性定义软件可靠性定义l软件可靠性定义表明了一个程序按照用软件可靠性定义表明了一个程序按照用户的要求和设计的目标,执行其功能的户的要求和设计
12、的目标,执行其功能的正确程度。一个可靠的程序应要求是正正确程度。一个可靠的程序应要求是正确的、完整的、一致的和健壮的。确的、完整的、一致的和健壮的。l即:在给定的时间内,程序按照规定的即:在给定的时间内,程序按照规定的条件成功地运行的概率。条件成功地运行的概率。21软件可靠性定义的数学表达软件可靠性定义的数学表达l设设R(t)代表在时间代表在时间(0,t)之间的软件可靠性,之间的软件可靠性,PE代表事件代表事件E的概率,则软件可靠性可表示为:的概率,则软件可靠性可表示为:R(t)=P在时间在时间(0,t)内按规定条件运行成功内按规定条件运行成功l可靠性与软件内部的故障密切相关,如果软件可靠性与
13、软件内部的故障密切相关,如果软件在交付使用时有遗留错误,则当出现某种组合在交付使用时有遗留错误,则当出现某种组合时,就会使程序在运行中失败。当残留错误的时,就会使程序在运行中失败。当残留错误的数量一定时,程序的运行时间越长,则发生失数量一定时,程序的运行时间越长,则发生失效的机会就越多,可靠性也随之下降。设软件效的机会就越多,可靠性也随之下降。设软件的故障率不随时间而变化,则根据经典的可靠的故障率不随时间而变化,则根据经典的可靠性理论。性理论。R(t)可以表示为时间与故障率的指数可以表示为时间与故障率的指数函数函数 R(t)=tete22软件可靠性指标软件可靠性指标l软件可靠性与可用性的定量指
14、标,是指能够以软件可靠性与可用性的定量指标,是指能够以数字概念来描述可靠性的数学表达式中所使用数字概念来描述可靠性的数学表达式中所使用的量。下面主要讨论常用指标平均失效等待时的量。下面主要讨论常用指标平均失效等待时间间MTTF与平均失效间隔时间与平均失效间隔时间MTBF。1.MTTF(Mean Time To Failure)平均失效等待时间平均失效等待时间MTTF定义为:定义为:2.MTBF(Mean Time Betmeen Failure)MTBF是平均失效间隔时间,它是指两次相继是平均失效间隔时间,它是指两次相继失效之间的平均时间。失效之间的平均时间。111niitnMTTF23软件可
15、靠性模型软件可靠性模型-正比于遗留故障数的宏观模型正比于遗留故障数的宏观模型l程序的故障率与遗留错误的数量成正比,根据程序的故障率与遗留错误的数量成正比,根据程序中遗留错误的多少,就可以预测程序的可程序中遗留错误的多少,就可以预测程序的可靠性。靠性。l设设 t=程序的调试时间程序的调试时间 ET=调试前的错误总数调试前的错误总数 Ec(t)=在时间在时间(0,t)期间纠正的错误期间纠正的错误 Er(t)=在时间在时间t时的遗留错误量时的遗留错误量 IT=程序的长度或指令的总数程序的长度或指令的总数 则则 Er(t)=ET-Ec(t)用用 除以上述等式两边,得除以上述等式两边,得到错误的规格化值
展开阅读全文