APP下载

基于风险分析的软件质量保证过程研究

2021-09-22关昕贾祺

电子技术与软件工程 2021年15期
关键词:质量保证准则软件

关昕 贾祺

(中国电子科技集团公司第十五研究所 北京市 100083)

1 软件质量保证过程

软件质量保证的目的是使软件组织中的管理者和各个角色对软件过程和相关的工作产品能有客观深入的了解,它是质量管理的重要活动之一,如图1所示。软件质量保证的评价对象包括两类:过程活动和工作产品或服务。软件质量保证过程的主要活动包括:质量保证策划;客观地评价所实施的过程、工作产品和服务对适用的过程说明、标准和规程的遵循性;记录并通报不符合项,跟踪不符合项直至解决[1]。

图1:软件质量保证过程

(1)质量保证策划:软件质量保证人员根据项目的软件开发计划、顾客的质量相关要求、项目执行的标准、组织提供的相关准则规范编制本项目的软件质量保证计划、选取适宜的过程活动和工作产品评价的准则规范。

(2)客观地评价所实施的过程、工作产品和服务对适用的过程说明、标准和规程的遵循性:伴随着软件开发活动的进行,软件质量保证人员按照软件质量保证计划、之前选取的本项目的过程活动和相关工作产品的准则规范对软件开发的过程活动、工作产品进行客观评价,判断所实施的过程、完成的产品和服务与之前的过程说明、标准、规程是否符合。

(3)记录并通报不符合项,跟踪不符合项直至解决:软件质量保证人员在评价过程中,及时记录评价中发现的不符合项,通报给相关人员,令其修正改进,并持续跟踪至不符合项被解决关闭。

在软件工程活动中,软件质量保证应具备独立性和客观性,因此软件质量保证人员需要独立于软件项目组,对于不符合项应该具有独立的上报渠道和处理规程。同时,软件质量保证人员必须依据软件项目的准则规范对过程活动和产品进行客观地评价。

2 基于风险分析的软件质量保证过程

软件质量保证的评价需要覆盖到软件项目的全部过程活动、产品和服务。但是与测试、评审等质量控制活动不同,软件质量保证评价的检查并不需要覆盖产品的所有内容和每个从事软件过程的人员。软件质量保证的评价可以是有针对性的抽查。因此,软件质量保证人员在软件过程和产品评价中选取使用的准则规范;被抽查产品的范围、内容;被抽查的人员能力等与软件质量保证的有效性有直接紧密的相关性。

在实际软件工程活动中,为了满足顾客的要求持续交付,越来越多的软件项目采用了快速迭代的开发模式,存在项目进度紧张、软件需求不断变更、软件工作产品版本众多等现状。基于这样的情形,使用有限的时间和人手快速完成软件质量保证的检查,就很难实现覆盖产品全部的内容和全部人员。抽查内容的判断和选择成为软件质量管理人员面临的一道难题。为了使软件质量保证的有效性和效率得到保障,本文主要研究了需要基于分析风险开展软件质量保证活动。基于风险分析的软件质量保证过程如图2所示。基于风险分析的质量保证过程与传统软件质量保证过程的最大区别在于质量保证策划和客观地评价所实施的过程、工作产品和服务对适用的过程说明、标准和规程的遵循性两个活动,这两个活动都需要使用历史项目数据结合项目特征进行相关风险分析后开展。

图2:基于风险分析的软件质量保证过程

2.1 基于风险分析的质量保证策划

基于风险分析的质量保证策划依然需要完成软件质量保证计划的制定和准则规范的选取。但软件质量保证人员需要根据项目特征(如:软件产品的可靠性、安全性等方面的质量要求)、历史数据库中与当前项目特征匹配的项目测试、评审、质量保证人员进行评价时发现的过程与产品的不符合项、不符合项的严重程度(如:对最终软件质量的影响、对顾客满意度的影响),以及这些不符合对应的准则规范,识别软件产品质量特性要求和对质量特性影响相关的风险,识别项目软件过程活动对产品质量的相关风险,进行风险分析,找到对产品质量影响最大、最广泛的准则规范,将这些准则规范作为该项目软件质量保证的准则规范。如图3所示。

图3:基于风险分析的质量保证策划活动流程

2.2 基于风险分析客观地评价所实施的过程、工作产品和服务对适用的过程说明、标准和规程的遵循性

基于风险分析客观地评价所实施的过程、工作产品和服务对适用的过程说明、标准和规程的遵循性需要根据开展过程活动、开发软件工作产品人员的特征(如:人员的技术能力、对业务的了解程度等),以及工作产品内容对软件质量影响的重要程度进行风险分析,确定需要重点检查的人和工作产品的具体内容,然后软件质量保证人员依据软件质量保证计划、选取的准则规范、确定的重点检查的人和工作产品具体内容,开展对过程活动、工作产品和服务进行评价,记录评价的结果。如图4所示。

图4:基于风险分析进行客观评价活动流程

2.3 记录并通报不符合项,跟踪不符合项直至解决

为了有利于今后的项目使用历史数据基于风险分析开展更精细的质量保证工作,软件质量保证人员在记录评价结果的同时,需要记录发现的不符合项。不符合项记录的内容不仅包括发现的不符合项、造成不符合的人员,还必须记录不符合项与准则规范的对应关系、不符合项与工作产品内容类型的对应关系。同时,软件质量保证软件应将发现的不符合向相关人员通报,并跟踪问题直至关闭。

3 基于风险分析的软件质量保证过程与传统软件质量保证过程的差异

本文从对历史数据的依赖、质量保证过程的能力水平、质量保证过程的有效性、质量保证评价记录的要求、不符合项的记录要求、质量保证资源投入情况等几个方面分析了基于风险的软件质量保证过程与传统软件质量保证过程的差异,如表1所示。基于风险分析的软件质量保证过程与传统的软件质量保证过程相比,更加依赖于组织的历史数据,能够做到定性与定量的方法相结合,可以提高软件质量保证过程的有效性和精细化水平。因此,基于风险的软件质量保证过程更加适应目前普遍使用的快速迭代开发模式。

表1:基于风险分析的软件质量保证过程与传统软件质量保证过程的差异

4 基于风险分析的软件质量保证策划实施示例

某项目进度非常紧张,顾客对软件可靠性、安全性等非功能性需求的要求较高,在不额外增加软件质量保证人员的基础上同时要求保障软件质量保证的有效性,项目采用了基于风险分析的软件质量保证过程。本文以对“软件需求规格说明”(SRS)的产品质量保证评价策划为例,对基于风险分析的软件质量保证过程进行说明。

首先,软件质量保证人员在该组织历史数据库中整理归纳了同类项目软件需求规格说明不符合项发生频率的历史数据,分析了对产品质量产生的影响,如表2所示。

表2:软件需求规格说明不符合项发生频率

在同类型项目的历史数据中,该组织对于软件需求规格说明(SRS)的完整性的检查中不符合项发生频率最高。

其次,基于以上的分析,软件质量保证人员分析归纳对完整性进行评价的准则规范对应评价对象不符合项的发生频率。如表3所示。在该组织同类型项目的历史数据中,功能需求、接口需求和非功能性需求发生不符合项的频率最高。

表3:完整性不符合项发生频率

再次,软件质量保证人员参照该项目的风险管理计划,对与软件需求规格说明相关的风险进行分析整理,如表4所示。软件质量保证人员分析了风险的发生概率、影响程度、处理方式,提出对软件需求规格说明产品进行质量保证评价中具体的实施措施。

表4:某项目与软件需求规格说明的风险列表

最后,软件质量保证人员结合同类项目的历史数据和本项目的风险分析,进行软件需求规格说明的评价策划。按照惯例,对软件需求规格说明(SRS)的评价是在其完成后进行的。基于对本项目的风险分析,软件质量保证人员对本项目的软件需求规格说明(SRS)评价计划分成两次进行。第一次为功能需求、接口需求和非功能性需求部分完成后。第二次为软件需求规格说明(SRS)完成后。基于项目风险和历史数据的分析,软件需求规格说明(SRS)两次评价的重点不同。软件质量人员对每次评价的准则规范进行了选择和调整,如表5所示。

表5:某项目软件需求规格说明(SRS)的风险列表

5 小结

随着信息技术飞速发展,软件以用户为中心,为了实现快速、高质量地交付软件,多种开发模式应运而生,给传统的软件质量管理带来了挑战。软件质量保证是质量管理的重要活动之一。本文利用风险分析的思想,基于定性和定量相结合的方法,构建了基于风险分析的软件质量保证过程,分析了基于风险分析的软件质量保证过程与传统软件质量保证过程的差异,给出了基于历史数据和项目风险如何进行质量保证策划的一个示例。希望能够为周期紧、人员有限、质量要求高的软件项目,提供一种精准地投入软件质量保证资源、快速有效开展软件质量保证的解决思路。

猜你喜欢

质量保证准则软件
田湾核电站运行阶段质量保证分级管理
田湾核电站运行阶段质量保证分级管理
禅宗软件
焊接技能评定过程中的质量保证要求
具非线性中立项的二阶延迟微分方程的Philos型准则
软件对对碰
基于Canny振荡抑制准则的改进匹配滤波器
质量保证监查在AP1000依托项目中的应用
一图读懂《中国共产党廉洁自律准则》
谈软件的破解与保护