软件质量度量方法比较分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件质量度量方法比较分析

摘要:常用的软件质量度量是以软件功能点数或代码行为基础的,采用不同度量方法,结果不尽相似。本文以介绍软件功能点为主,展开之后再对二者加以比较。

关键词:软件质量度量

一、概述

软件质量评价需要使用质量度量,现在最常用的质量度量是软件每单位功能点缺陷数和单位代码行缺陷数。同样的软件采用不同的度量方法,结果不尽相似。究其原因,则在于软件的功能点和软件的代码行数,表面上虽有关联,实质上存在重大差别。用代码行作为评价质量的载体,比较简单和直观。功能点度量法,则涉及更多的软件工程技术内容。本文以介绍软件功能点为主要内容展开。

软件功能点并非软件质量专用度量方法,具有比质量度量更加广泛的用途。它实质上是软件工程界经多年的知识积累,精心设计的一种软件规模大小的基本度量。可以用来估计软件产品规模,软件开发投入和工作量,安排软件进度,估算软件寿命周期费用。用来表示软件质量的“单位功能点缺陷数”是其应用的一个重要方面。

软件功能点分析方法已经有30多年的历史,它是在上世纪70年代末期由IBM首先开发,此后由国际功能点用户协会(IFPUG)推广。本世纪初,获两大国际标准化机构ISO和IEC的认可,成为国际标准。其发展过程如下:

1979年,IBM的Allan Albrecht在发表的文章中提出FP(Function Points)方法;

1984年,IBM正式发布FP使用指南;

1988年,国际功能点协会(IFPUG)的《功能点实践手册》2.0版发布;

1990年,国际功能点协会的《功能点实践手册》3.0版发布;

1994年,国际功能点协会的《功能点实践手册》4.0版发布;

1999年,国际功能点协会的《功能点实践手册》4.1版发布;

2003年,ISO/IEC 20926:2003《软件和系统工程——软件测量-IFPUG功能规模测量法2003》发布;

2009年,ISO/IEC 20926-2009《软件和系统工程——软件测量

-IFPUG功能规模测量法2009》发布。

二、软件功能点分析方法流程

具体步骤包括:

1)确定功能点计数类型。

2)识别计数范围及应用系统边界。

3)数据功能点计数。

4)事务处理功能点计数。

5)确定调整系数值。

6)计算调整后功能点数。

图1 软件功能点分析步骤图

(一)确定功能点计数分析项目的类型

1)开发项目:这种类型的分析,为用户提供在软件第一次安装时,该软件具有的功能点数量。

2)升级项目:这种类型的分析,为用户提供项目升级后,原有系统的功能经过修改、增加和删除后系统的功能点数量。

3)应用:应用的功能点计数,是度量已经安装运行的系统提供给用户的功能点数量。

(二)识别项目的范围和边界

识别边界的时候必须应用如下规则:

1)边界的定义必须基于用户的视角,边界必须是用户能够理解和描述的。

2)相关应用间的边界是由用户看到的不同功能区域来划分,而不是由技术考虑来划分。

3)应用之间的初始边界不会因为功能点分析而改变。

(三)数据功能计数

1、数据功能

数据功能是指向用户提供的,满足内部或者外部数据需求的功能。数据功能有两类,内部逻辑文件ILF和外部接口文件EIF。这里所谓的文件不是传统数据处理意义上的文件,而是指一组逻辑上相互关联的数据。其中:

1)ILF:是一组在应用边界内可识别的,且被应用维护的逻辑相关数据或者控制信息。其主要目的是通过应用的一个或几个基本处理过程维护数据。

2)EIF:是一组在应用边界内被查询,但在其他应用中被维护的,用户可识别的逻辑相关数据或者控制信息。EIF的主要目的是使数据在应用边界内,通过一个或几个基本处理过程得以查询。

2、数据功能点计算

一个ILF或者EIF“未经调整的功能点数”是由它的复杂度和贡献度直接决定的。每一个ILF或者EIF都必须有一个复杂度与它相关联。其复杂度又是由这个ILF或者EIF的数据元素类型(DET)数和记录元素类型(RET)数决定的。其中:

1)DET:是一个唯一的用户可认知的、不重复的数据域;

2)RET:是一个ILF或EIF内用户可认知的数据元素子集。

ISO/IEC 20926-2009标准中规定了确定复杂度、贡献度和关联度的ILF或者EIF“未经调整的功能点数”的测算方法。

(四)事务处理功能计数

1、事务功能

事务功能是指向用户提供的用来处理数据的功能。包括:

1)外部输入(External Inputs(EI))

EI是指一个处理来自本应用边界之外的一组数据或者控制信息的基本处理过程。外部输入的基本目的是维护一个内部逻辑文件(ILF)或者改变系统的行为。

2)外部输出(External Output(EO))

EO是向应用边界之外发送数据或控制信息的基本处理过程。其主要目的是通过逻辑处理方式向用户展示信息,而不只是直接恢复数据或控制信息。该处理逻辑必须包含至少一个数学公式或计算过程,并生成衍生数据。一个EO可能维护一个或多个ILF和改变系统行为。

3)外部查询(External Query(EQ))

EQ是向应用边界之外发送数据或控制信息的基本处理过程,主要目的是向用户展示信息。该处理逻辑不包括数学公式或计算过程,不会生成衍生数据。EQ处理过程中既不会维护任何ILF,也不会改变系统行为。

4)EI、EO、EQ都是逻辑处理

逻辑处理指的是用户提出的完成某个处理的请求。逻辑处理的例子包括:数据验证;数学公式和计算;数据过滤和选择;分析适用条件;更新一个或多个ILF;引用一个或多个ILF或EIF;运用现有数据生成衍生数据;改变系统行为;向应用范围之外显示数据;接受进入系统边界的数据或者控制信息;恢复和重新整理数据。

2、事务功能点计算

根据EI、EO、EQ的复杂度和贡献度来计算,EI、EO、EQ的复杂度和贡献度取决于以下两种元素的数量:

1)引用文件类型(File Types Referenced(FTR))

FTR是一个被事务功能读取或者维护的内部逻辑文件,或者是一个被数据功能读取的外部接口文件。

2)数据元素类型(Data Element Types(DET))

DET是一个唯一的用户可认知的、不重复的数据域。

ISO/IEC 20926-2009标准中规定了确定复杂度、贡献度和EI、EO、EQ的“未经调整的功能点数”的测算方法。

(五)确定调整系数

调整系数(V alue Adjustment Factor(V AF))反映的是应用给用户提供的功能的概况。V AF包含14个基本系统特征(GSC),每一个特征都有特定的规则描述来帮助使用者确定该特征对本应用影响的大小。这些影响值从0到5,分别表示对系统从无影响到具有强烈影响的程度。

1、通用系统特性及其影响程度的评定

通用系统特性包括如下14个:

1)数据通讯(Data Communications)

2)分布式数据处理(Distributed Data Processing)

3)性能(Performance)

4)使用强度高的配臵(Heavily Used Configuration)

相关文档
最新文档