软件质量和软件质量保证体系.doc
《软件质量和软件质量保证体系.doc》由会员分享,可在线阅读,更多相关《软件质量和软件质量保证体系.doc(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第9章 软件质量和软件质量保证体系 9.1 软件质量 9.1.1 软件质量特性 什么是软件质量?不同人或组织的看法各不相同。按照ISO/IEC 9126-1991(我国GB/T16260-1996)“信息技术软件产品评价、质量特性及其使用指南”国际标准,认为软件质量 (Software Quality)是与软件产品满足明确或隐含需求的能力有关的特征和特性的总和,例如,符合规格说明。简而言之,软件质量是软件一些特性的组合,它仅依赖于软件本身。 9.1.2 软件质量评价 评价软件质量可从三个方面进行,即产品或中间产品、过程(即软件生产所需的资源和活动)和项目。 评价可按如下三步进行: 1、定义质量
2、需求 质量需求包含两个方面:问题规定或隐含的需求;软件质量标准和其它技术信息。 2、准备评价 首先选择质量度量;然后定义质量等级;再定义评估准则。 由于一般情况下,不可能对质量特性进行直接度量,从而应选择与质量特性相关的且可定量的软件特性加以度量。定义质量等级是依据应用问题的需求将质量度量值分割成若干不同满意程度的等级,如优秀、合格与不合格等。定义评估准则是为了综合软件不同质量特性的评价结果,可采用判定表或加权平均法;同时还可兼顾其它因素,如时间、成本等。 3、评价过程 评价过程实际上是对软件产品就第2步中准备的评价内容进行实施,也分3步: 测量把选定的质量度量应用到软件产品上; 评级确定某测
3、量值的等级; 评估根据评估准则确定产品质量,并依据管理准则判定产品是否可通过验收或是否发行等等。 9.1.3 软件质量保证 软件的质量保证也和一般的质量保证一样,是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。软件质量保证由各种任务构成,分别与两种不同的参与者相关负责技术工作的软件工程师和负责质量保证的计划、监督、记录、分析及报告工作的软件质量保证(SQA)小组。软件工程师通过采用可靠的技术方法和措施,进行正式的技术复审、执行计划周密的软件测试来保证软件质量。SQA小组主要辅助软件工程小组得到高质量的最终产品,对项目准备SQA计划,如确定需要进行的评价、需要进行的审计和复审、项目可采用的
4、标准等;参与开发项目的软件过程描述,以保证该过程与组织政策、内部软件标准、外界所订标准以及软件项目计划的其它部分相符;复审各项软件工程活动,对其是否符合定义好的软件过程进行核实;审计指定的软件工作产品,对其是否符合定义好的软件过程中的相应部分进行核实;确保软件工作及工作产品中的偏差已被记录,并根据预定规程进行处理;记录所有不符合的部分,并报告给高级管理者;等等。? 9.1.4 软件质量管理 所谓质量管理是指确定质量方针、目标和职责,并在质量体系中通过诸如:质量策划、质量控制、质量保证和质量改进,使其实施全部管理职能的所有活动。质量策划包括产品策划、管理和作业策划以及质量计划的编制和质量改进的准
5、备工作。质量控制是指采取某些特定作业技术或开展某些活动,以达到质量要求。质量改进是指以追求更高的效益和效率为目标的持续性活动。 质量管理和质量保证相互依赖,但他们的活动具有不同的范围、不同的目的、不同的动机和不同的结果。? 9.2 软件复杂性分析 9.2.1 基于需求分析的复杂性分析 软件工程的技术性工作始于需求分析,提供对分析模型质量的度量是有意义的和必要的。在需求分析阶段完成以后,项目的管理人员希望知道将要开发的软件有多大规模,这与将要投入的工作量、开发成本以及何时交付用户或何时投放市场都有密切的联系。同时,如果是委托开发的项目软件,用户也会关心开发机构提出的报价是否恰当合理。双方都希望有
6、一个科学、公正的估价依据。下面介绍一种面向功能的软件复杂性度量方法功能点方法。 面向功能度量是由Albrecht首先提出来的。功能点方法以需求规格说明书中双方确认的软件功能为依据,着重分析待开发系统的功能度(Functionality)。显然,软件的大小与软件的功能度相关,而与软件功能的描述无关,也与功能需求的如何实现无关。功能点(FP)度量可以用作从分析模型中获得系统大小的预测手段。 9.2.2 基于软件设计的复杂性分析 人们在设计硬件时,常利用设计测度来确定设计质量,指导设计演化。然而对于软件而言,大部分软件工程师却忽视对软件设计结果的测量以达到进一步改进软件设计的目的。软件设计由概要设计
7、和详细设计两个阶段组成,我们分别就这两个阶段讨论软件设计复杂性度量方法。 概要设计复杂性度量主要集中在软件结构的特征上。Card和Glass定义了三种软件设计复杂度测度:结构复杂度、数据复杂度和系统复杂度。美国空军提出了一种计算“设计结构质量指标(DSQI)”的方法用来度量软件结构的复杂度。该方法使用了类似于在IEEE Std.982.11988中提出的概念。 详细设计复杂性度量主要集中在模块内部结构的复杂性上。麦凯伯(McCabe)提出了一种环形计数的方法来确定程序控制流的复杂度。使用McCabe方法可直接利用程序流程图计算其“判定数”(即比较个数,对于复合条件判定要先转化成单一条件判定),
8、也可根据程序流程图导出的程序图计算其“环形数”(即封闭环域数)来进行,其计算公式为: 程序环形复杂度V(G)=程序流程图中的“判定数”+1=程序图中的“环形数”。 =m-n+2其中m对应于程序图中的弧数,n对应于程序图中的节点数。 9.2.3 基于源程序代码的复杂性分析 软件开发经过编码阶段后,便得到源程序代码。霍尔斯特德(Halstead)根据源代码中运算符和操作数的测量值来度量源程序代码的复杂度。在Halstead方法中,运算符是指用来处理程序中常量和变量的语法元素等,如算术运算符、逻辑运算符、关系运算符、流程控制语句、函数调用等;操作数则是指源程序代码中的常量和变量等。但对非执行语句,如
9、注释,则不进行考虑。Halstead方法使用了以下4个基本测量数据: 程序中运算符总数N1程序中操作数总数N2程序中运算符种类数n1程序中操作数种类数n2根据以上4个测量数据,可以在以下几个方面对源程序代码的复杂性进行度量: 实际程序长度N=N1+N2 编程语言层次L=(2/n1)*(n2/N2)程序容量 V=(N1+N2)*log2(n1+n2)? 预测程序长度N= n1*log2n1+n2*log2n2? (可在详细设计后进行预测) 估计程序工作量 E=V/L=(n1*N2*(N1+N2)*log2(n1+n2)/(2*n2)预测程序错误数E=(N1+N2)*log2(n1+n2)/300
10、0其中,V会随编程语言的不同而不同(对同一功能的程序,用高级语言来写要比低级语言来写得到的程序对应的V要小),它代表了写一个程序所需的信息量(以位为单位)。L反映的是程序最简洁形式时的容量与程序实际容量之比。 9.2.4 基于软件维护的复杂性分析 IEEE建议采用一种软件成熟度指标(SMI),以提供对软件产品的稳定性指示(基于为每一软件产品发布而做的变化)。将SMI和维护工作量联系起来,形成一个经验模型,则可用来度量软件维护的复杂性。 SMI方法涉及的基本测量数据如下: 当前发布软件中的模块数MT; 当前发布软件中已经改变的模块数Fc; 当前发布软件中已经添加的模块数Fa; 当前发布软件中已经
11、删除的前一次发布软件中的模块数Fd。 则软件成熟度指标按下式进行计算: SMI=MT-(Fa+Fc+Fd)/MT当SMI接近1的时候,产品便开始稳定。 实际上,软件维护过程也是由分析、设计、编码和测试的过程组成,从而基于分析、设计、编码以及测试的复杂性分析方法也可用于软件维护的复杂性分析 9.3 软件可靠性分析 9.3.1 软件可靠性三要素 在上面定义软件可靠性中实际给出了三个有关的主要因素:失效、时间和环境。 1、失效 在讨论软件质量和软件可靠性时,软件失效是指最后执行结果与有关规格不相符或用户在软件系统边界觉察到不期望的软件出错行为。失效是错误引起的结果。 2、时间 在进行软件可靠性分析时
12、,时间可以有三种度量方式。第一种是执行时间,是指运行软件时计算机实际花费的CPU时间;第二种是日期时间,指通常以年、月、周、日等计算的时间;第三种是时钟时间,是指运行软件时计算机自始至终所花去的累积时间,但计算机停机时间不计算在内。 3、环境 软件的使用环境涉及软件运行时所需要的支持系统及有关的因素。一个规定的使用环境是对这些因素的精确而详细的限制描述。严格地说,描述软件可靠性“规定的使用环境”包括硬件配置状态和操作人员操作等的描述,并假定其它因素对软件来说都是理想可靠的,不会影响软件的运行。也就是说软件可靠性不包含硬件和操作的可靠性。软件可靠性、硬件可靠性和操作可靠性三者综合起来反映整个计算
13、机系统的可靠性。规定软件的使用环境可用来判定系统失效是否由于软件失效引起。 9.3.2 软件可靠性模型 软件可靠性同硬件可靠性一样,都可看成是随机过程,用概率分布来描述。但软件可靠性与硬件可靠性的分析却不完全相同。一方面,软件不会老化,其可靠性不随时间增加而减少;另一方面,软件失效常常是由于软件分析或设计引起。这样使软件可靠性分析变得非常复杂。自第一个软件可靠性模型由Jelinski和Moranda提出以来,已经有几十个软件可靠性模型公开发表。实际应用经验表明,没有一个普适的模型能对所有产品都能做出最好的可靠性分析。软件可靠性模型的研究还有待进一步深入。 几个较简单的模型:1、Jelinski
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 质量保证 体系
限制150内