- 3
- 0
- 约3.52千字
- 约 43页
- 2017-04-20 发布于河南
- 举报
第8章 软件质量保证;8.1 软件质量概述;8.1.1 软件质量的定义;8.1.2 软件质量的特性与度量; 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 软件质量保证; 3.实现阶段
检验项目包括设计阶段的所有检验项目,另外还包括:计算机使用时间、测试环境、测试项目设定种类、测试用例的设计方法等。
4.验收阶段
检验项目主要是说明书检查(检查与被检查程序有关的用户文档等)和程序检查(为了评价和保证程序质量,采用各种黑盒测试或白盒测试手段进行检查)。
5.运行维护阶段
主要是掌握用户使用产品的质量情况,并反馈给开发部门。 ;8.2 软件质量模型;8.2.1 McCall质量度量模型;8.2.2 ISO软件质量评价模型;8.3 软件复杂性;8.3.1 软件复杂性的基本概念;8.3.2 软件复杂性的度量方法;要求复杂性度量满足以下假设:
(1) 软件复杂性度量可以用来计算任何一个程序的复杂性。
(2) 对于不合理的程序,如长度动态增长的程序,或者对于原则上无法排错的程序,则不应当使用软件复杂性度量进行复杂性计算。
(3)程序中指令条数、附加存储量、计算时间增多不会减少程序的复杂性。; 1.长度度量
度量程序的复杂性,最简单的方法就是统计程序的源代码行数。此方法的基本考虑是统计一个程序的源代码行数,并以源代码行数作为程序复杂性的质量。; 2.Halstead度量
Halstead度量法通过计算程序中的运算符和操作数的数量对程序的复杂性加以度量。设n1表示程序中不同运算符的个数,n2表示程序中不同操作数的个数,N1表示程序中实际运算符的总数,N2表示程序中实际操作数的总数。令H表示程序的预测长度,Halstead给出H的计算公式为:H=n1log2n1+n2log2n2;令N表示实际的程序长度,其定义为:N=N1+N2。; 3.McCabe度量
该度量方法由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 软件复杂性控制;8.4 软件可靠性;8.4.1 软件可靠性的定义; 2.软件可靠性
软件可靠性的定义是:“软件可靠性是软件系统在规定的时间内及规定的环境条件下,完成规定功能的能力”。
原创力文档

文档评论(0)