基于GB/T 25000.10-2016 的软件质量度量框架实例的应用

2019-04-03 01:39乐亮张宝林高员
现代计算机 2019年35期
关键词:度量产品质量特性

乐亮,张宝林,高员

(工业和信息化部电子第五研究所,广州510610)

0 引言

近年来,软件质量对整个软件产品的影响日益加深,通过对软件质量进行度量和评价,进而保证软件质量已经是指导软件生命周期中各阶段工作的基本原则,也是软件利益相关方(如开发方、集成方、需方、所有者、维护者、合同方、质量保证和控制人员、用户)非常关心的问题。这个过程在软件生命周期过程中是一直持续的、不可或缺的,已经有许多专家、学者在对软件质量的度量和评价方法进行研究[1]。

对软件的质量进行全面度量和评价是保证相关方利益的关键因素,在软件中,可以通过定义与相关方目标相关的质量特性来实现度量和评价,从而实现对软件质量的度量和评价;同时,尽可能使用经确认的或被广泛认可的措施和测量方法,对于度量和评价软件质量至关重要[2]。综上所述,本文基于GB/T 25000.10-2016 标准的软件质量模型设计一个软件质量度量框架,并以某网络通信服务软件为例,使用该度量框架进行软件质量度量。

1 质量模型

软件的质量是指该软件满足其不同利益相关方所明确的或隐含的要求的程度,这些明确的或隐含的要求是通过标准中的质量模型予以表达的,标准中把软件质量分类为一些特性,并在某些情况中进一步被分解为子特性(某些子特性又被分解为子子特性)。这一层次化的分解,为软件质量分级提供了便利。

把一个软件可测量的、与质量相关的属性被称为与质量测度相关联的质量属性。除去一些可直接测量该特性或子特性,针对不可直接测量的质量特性或子特性,有必要标识那些覆盖该特性或子特性的一组属性,获得每一个质量测度,并通过计算把它们组合起来,以获得对应质量特性或子特性的一个导出的质量测度。下图给出了质量特性、子特性和质量属性之间的关系。

图1 质量模型结构图

当前,GB/T 25000.10-2016 标准提供了2 个质量模型:使用质量模型和产品质量模型。这两个质量模型合起来作为一个框架,以确保所有质量特性得到考虑。这些模型为相关的广泛利益相关方,如软件开发方、集成方、需方、所有者、维护者、合同方、质量保证和控制人员、用户,提供了一个质量特性集。

1.1 使用质量模型

使用质量模型将使用质量属性分为5 个特性:有效性、效率、满意度、抗风险和周境覆盖。每个特性都可以被赋予到利益相关方的不同的活动中,例如操作人员的交互或开发人员的维护。软件的使用质量描述了产品(系统或软件产品)对利益相关方造成的影响,它是由软件、硬件和运行环境的质量,以及用户、任务和社会环境的特性所决定的。所有这些因素均有利于软件的使用质量。

图2 使用质量模型

1.2 产品质量模型

产品质量模型将软件产品质量属性分为8 个特性:功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性和可移植性,每个特性由一组相关子特性组成,产品质量模型可以应用于软件产品或者包含软件的计算机系统。

图3 产品质量模型

在产品质量模型内,还包括用来测量软件源代码的某些属性的单纯的内部质量度量,如软件的可追踪性、圈复杂度、信息流复杂度、模块性、代码规模、数据耦合的模块率、功能耦合的模块率、条件语句、变量名的适当性、条件语句、程序语句、统一数据基准、平均模块大小等,它们将影响软件产品质量的部分特性或子特性[3]。

2 框架实例

依据GB/T 25000.10-2016 标准,本文设计了一个高层描述的框架实例,本实例所示的概念可用不同的定制形式来实现,以适应个体、组织或者项目,所以只要能理解基本概念,也可以把这些概念映射为其他的软件生存周期模型[4]。为了测量软件可交付项的质量(即使用质量、产品质量),需要建立一个模型,它需要把软件开发生存周期过程的活动与其关键的可交付项及相关的质量模型联系起来。本文建立的模型如表1所示。

表1 质量度量模型

建好模型后,在开发周期中对质量的评价分为下列步骤。步骤1 必须在需求分析活动中完成,步骤2到5 必须在上述定义的每个过程活动中重复进行。

步骤1:质量需求的确定

对质量模型中定义的每个质量特性和子特性,可参考下表对每类测量(使用质量、产品质量)确定用户要求的权重。根据分配的相对权重,允许评价者将精力集中在重要的特性上。

表2 用户要求的特性与权重

步骤2:评价的规格说明

质量模型中定义的每个质量子特性均标识要应用的度量和要求的级别,以便达到在步骤1 中设定的用户要求,并按表3 的例子加以记录。

表3 质量度量表

步骤3:评价的设计

制定一个包括可交付项的测量计划(可参考表4),这些交付项用作要实施的测量过程的输入。

表4 测量计划

步骤4:评价的执行

执行评价计划,填写表3 例子中的每一列。步骤5:反馈给组织

一旦所有测量均已完成,要把结果映射到表1 中并以报告的形式将结论写成文件。同时标识产品质量需要改进的特定区域以使其满足需要。

3 实例应用

本文以某网络通信服务软件为例,应用上述设计的框架实例,进行软件质量度量。首先,根据软件需求与用户要求,选取表5 中的特性、子特性进行度量,并确定其权重。

表5 某网络通信服务软件度量特性权重

表6 某网络通信服务软件度量特性权值

综合评价软件包括两个因子:软件质量特性和软件的纯内部质量特性,即:

综合特性=ω1×软件质量特性+ω2×纯内部质量特性

其中:ω1 和ω2 是两个综合特性因子的加权系数,本文中加权系数根据专家评审评分确定,ω1=0.5,ω2=0.5。然后根据以下公式评价软件各质量特性:

计算结果如表7 所示。

表7

由于软件产品的最终度量结果以加权和的方式进行计算,因此为了便于计算,要将所有的度量元的取值范围尽量控制在0.0 到1.0 之间、且确保取值趋于1.0越好,因此测量值取值范围不在0.0 到1.0 之间的度量元要做“归一化”处理。建议产品最终测量值的优劣评价等级如下:

(1)0.9-1.0 为优

(2)0.8-0.89 为良

(3)0.6-0.79 为合格

(4)0.59 以下为不合格

依据上述评价等级,某网络通信服务软件质量度量结果为0.835,评级为良。

4 结语

软件质量度量的目的使软件的需方、供方和用户能够认识到软件质量特性的重要性,针对具体产品、项目提出适当的质量模型,并能有效地开展质量度量。作为需方在项目论证时或在签订合同时,就能提出一些质量要求,并且尽量做到合理。作为供方(开发者)在项目论证或需求分析时,既要分析质量要求的合理性,又要分析如何满足需方或用户的质量要求,同时要考虑满足需方或用户潜在的隐含的质量要求。一旦质量需求确定后,就应对这些质量需求分析配置:即明确哪些过程、哪些活动、哪些阶段要控制、把握哪些质量需求。特别是要关注过程本身的质量。适时开展产品质量度量或使用质量度量。以使软件产品最终满足用户或需方的质量要求。

针对具体软件产品实施软件质量度量时,要确定评价指标。也就是说衡量一个软件产品的好坏,质量特性、子特性及度量元的合格与否要给出准绳,给出每个特性、子特性及度量元的权重。这样数据需要通过长期积累、总结获得,同时也需要经过专家的评估确定。因此,在基于GB/T 25000.10-2016 质量模型的软件质量度量还需要做大量的研究实践工作,深入钻研。

猜你喜欢
度量产品质量特性
质量鉴定中产品质量特性及重要度确认的重要性
鲍文慧《度量空间之一》
茶树吸收营养物质的特性
谷稗的生物学特性和栽培技术
航天外包产品质量控制方法研究
航天产品质量控制及提升方法研究
色彩特性
加强PPE流通领域产品质量监督
突出知识本质 关注知识结构提升思维能力
度 量