基于CMMI和ISO25000的软件研发质量管理体系设计

2019-02-20 03:49苑学贺贾冀芳文建军
网络安全技术与应用 2019年2期
关键词:质量指标软件测试

◆苑学贺 贾冀芳 文建军



基于CMMI和ISO25000的软件研发质量管理体系设计

◆苑学贺 贾冀芳 文建军

(北京中电普华信息技术有限公司研发事业部 北京 100192)

为了提高系统/软件质量同时最大限度地降低系统/软件质量风险,缓解基于CMMI能力成熟度集成模型在系统/软件质量指标要求方面以及ISO25000标准在过程质量控制方面的不足,集成CMMI的过程质量检查项和ISO25000的质量指标设计一种基于过程和结果的软件质量管理体系。在CMMI的需求、设计、测试、实施过程检查项中增加系统/软件质量指标检查项,保证系统/软件质量指标要求在研发各关键环节得到落实,从而确保系统/软件的最终质量。该体系弥补了CMMI对系统/软件质量指标要求的缺失。也弥补了ISO25000对过程质量检查项的缺失,充分发挥了CMMI和ISO25000的优势,完备了软件研发质量管理指标体系。

CMMI;ISO25000系列;系统/软件质量;过程质量;软件研发质量管理体系

0 引言

党的十九大报告指出“我国经济已由高速增长阶段转向高质量发展阶段”。“质量第一”和“质量强国”被同时写进党的十九大报告,进一步充分体现出质量对各行业发展的重要性。在信息化时代和即将进入的人工智能时代,软件做为各行业信息化、智能化的工具,其质量高低更加深入影响各行业的信息化水平、智能化水平以及质量水平,因此,其重要性和意义不言而喻。目前,软件质量相关标准分两大类:一类是基于过程质量管理,比如CMMI,ISO9001;一类基于结果质量评价,比如ISO25000系列。过程质量管理标准对过程活动和过程输出物提出要求。结果质量评价对结果质量提出评价指标要求。大多数软件公司注重过程质量管理,即按照CMMI或ISO9001的要求对软件研发各关键过程进行质量管控,缺少在研发各关键过程中对软件自身质量提出明确评价要求。导致研发过程质量合格,但是最终软件质量不合格。为了解决这一问题,本文设计一种在过程质量管理环节中增加对结果质量评价要求的质量管理体系,即基于CMMI和ISO25000的软件研发质量管理体系,从而针对过程和结果两个方面对软件质量进行管控。

1 背景概述

1.1 研究背景

随着信息化建设与应用的不断深入,以及智能化时代的开启,信息系统的集成度、复杂度、深度以及规模都有了进一步提高,信息系统新的质量问题也随之突显出来。怎样保证并提高信息系统或软件的质量水平成为亟待解决的问题。国际上用来规范系统/软件质量的标准分为两大类:一类是过程质量管理,一类是结果质量评价。过程质量管理软件负责对软件研发各关键过程活动和活动输出物进行质量管控。结果质量评价负责对研发完成的系统/软件质量进行评价。

1.2 研究现状

目前,针对系统/软件研发过程质量管理的主流标准有ISO9001[1]和CMMI[2]。针对结果即系统/软件质量的评级标准主要有ISO25000系列[3]。

质量保证体系ISO9000是保证产品及服务质量的管理措施的标准。其中ISO9001适用于软件企业。包含四部分内容:(1)规定质量相关管理机构及职责权限。(2)规定过程质量检查程序,并使之文件化。(3)按质量检查程序对生产过程加以控制,并要求控制过程具有标识性、监督性、可追溯性。(4)不断地改进质量管理体系,使质量管理呈螺旋式上升。

ISO9001对软件企业从三个方面提出质量管理要求:(1)针对研发方提出研发过程中每个环节的质量要求;(2)针对质量管理方提出质量管理过程要求;(3)针对质量测评方提出质量测量、评价、分析、改进方法。如图1所示。

图1 ISO9001体系架构

CMMI的全称为:Capability Maturity Model Integration,即能力成熟度集成模型,从人、程序方法、工具三个维度定义22个关键过程域,用于管理质量、进度、成本。这些关键过程域为软件企业提供基于过程改进的管理框架和指南。

CMMI由22个关键过程域构成。22个过程域分为四类: 项目管理类,支持类,工程类,过程管理类。每个过程域由目标和相应的执行方法构成。目标是必须实现的,执行方法是推荐使用的。如图2所示。

图2 CMMI体系架构I[2]

ISO25000是系统/软件质量要求与评价(SQuaRE)系列标准,由六个分部组成:(1)ISO/IEC 2500n质量管理分部,概述标准的组成部分、各部分的结构及各部分之间的关系;(2)ISO/IEC 2501n质量模型分部,定义系统/软件质量模型;(3)ISO/IEC 2503n质量要求分部,定义系统/软件质量模型对应的质量指标要求;(4)ISO/IEC 2502n 质量测量分部,定义系统/软件质量指标的度量方法;(5)ISO/IEC 2504n 质量评价分部,定义系统/软件质量的评价方法;(6)ISO/IEC 25050~ISO/IEC 25099扩展标准分部,保留用于SQuaRE的扩展。

图3 ISO25000系列标准

1.3 问题分析

CMMI和ISO9001是针对系统/软件研发过程的质量管理体系,ISO25000是针对结果即系统/软件质量的评价体系。其中CMMI和ISO9001的区别在于,CMMI对过程规定目标和实现目标要做的事情。ISO9001没有对过程规定目标,只规定了过程中要做的事情。ISO25000规定在软件需求中对系统/软件的质量提出明确要求,在测试时确定质量需求的实现情况。ISO25000与CMMI和ISO9001的关系从系统/软件质量角度看是直接和间接关系、也是互为补充的关系。

表1 三种质量标准比较

目前,绝大部分软件企业在研发全过程:需求、设计、实现、测试、发布、实施环节使用过程质量管理体系ISO9001或CMMI,而只在测试环节使用结果即系统/软件质量评价标准ISO25000,没有在需求、设计、实施阶段使用系统/软件质量评价标准,导致研发过程质量和结果质量脱节。过程质量合格,结果质量不合格。针对这一问题,本文提出在需求、设计、测试和实施阶段中除了使用过程质量标准外增加使用系统/软件质量评价标准。确保系统/软件质量要求在研发各关键环节得到落实,从而确保最终系统/软件的质量。

2 系统设计

在研发过程中的需求、设计、测试、实施阶段中增加系统/软件的质量评价要求。即在需求阶段对系统/软件质量指标提出明确需求,在设计阶段对系统/软件质量指标进行明确设计,在测试阶段对系统/软件质量指标进行测试,在实施阶段对系统/软件质量进行用户评价。

2.1 需求阶段

在软件研发需求阶段,项目组质量专责应对需求过程进行质量检查,并同步完成需求过程检查单评价表。评价不达标者,进行整改,直到需求过程达标才可以进行后续工作。

质量管理部门应组织专家对《软件需求规格说明书》进行内部评审,并同步完成软件需求评审检查单评价表。评价不达标者,进行修改,直到达标才可以进行后续工作。

表2 需求阶段质量评价表

其中《软件需求评审检查单》中包括对系统/软件质量指标需求的检查项,如下表中的“非功能性需求定义”一项。

表3 需求评审检查单

其中,《系统/软件质量指标项》是依据ISO25000标准定义的质量指标。如表4所示。

表4 系统/软件质量指标项[3]

2.2 设计阶段

在设计阶段项目组质量专责应对设计过程进行质量检查,并同步完成设计过程检查单评价表。评价不达标者,进行整改,直到设计过程达标才可以进行后续工作。

质量管理部门应组织专家对《概要设计说明书》进行内部评审,并同步完成概要设计评审检查单评价表。评价不达标者,进行修改,直到达标才可以进行后续工作。

表5 设计阶段质量评价表

其中《软件概要设计评审检查单》中包括对软件质量指标设计的检查项,如表6中的“非功能性需求定义”。

表6 概要设计评审检查单

2.3 测试阶段

在测试阶段质量管理部门应对项目测试过程进行质量检查,并同步完成测试过程检查单评价表。评价不达标者,进行整改,直到设计过程达标。

质量管理部门应组织专家对测试部门编写的《测试方案及用例》进行内部评审,并同步完成测试方案及用例评审检查单评价表。评价不达标者,进行修改,直到达标才可以进行后续工作。并且内部评审应在内部测试之前完成。

测试部门应对系统/软件质量进行内部测试,并同步完成系统/软件质量测试评价表。测试不达标者,进行修改,直到内部测试达标才可以进行后续工作。

表7 测试阶段质量评价表

其中,软件质量测试依据即是表4《系统/软件质量指标项》。

2.4 实施阶段

实施阶段项目组质量专责应对项目实施过程进行质量检查,并同步完成实施过程检查单评价表。评价不达标者,进行整改,直到设计过程达标。

质量管理部门应组织专家对《实施方案》进行内部评审,并同步完成实施方案评审检查单评价表。评价不达标者,进行修改,直到达标才可以进行后续工作。并且内部评审应在实施之前完成。

用户应对实施后的系统/软件质量进行评价,并同步完成系统/软件质量用户评价表。

表8 实施阶段质量评价表

表9 系统/软件质量用户评价指标[3]

质量模型指标名称 一级指标 有效性准确性 完备性 效率 时间 资源 满意度有用性 可信性 愉悦性 舒适性 抗风险经济风险缓解性 健康和安全风险缓解性 环境风险缓解性 周境覆盖周境完备性 灵活性

3 结论

在软件研发各关键过程通过结合CMMI的过程检查项及ISO25000的系统/软件质量指标项完善了现有质量管理体系中的检查要素,从源头解决了系统/软件质量不可控问题。弥补了CMMI或ISO9001中缺少的针对结果质量指标的检查项,同时也弥补了ISO25000中缺少的过程质量检查项,充分发挥了两类质量标准的优势,更加完备和精确地对软件研发质量进行管控。

4 结束语

基于CMMI和ISO25000的软件研发质量管理体系为软件质量管理提供了一种新的思路,新的管理机制。对软件行业的质量提升有比较大的意义,同时,也为其他行业的质量管理体系提供参考。

[1]ISO9000系列标准.

[2]CMMI系统标准.

[3]ISO25000系统标准.

猜你喜欢
质量指标软件测试
更正启事
基于移动护理下全院护理质量指标监控系统的探索研究
禅宗软件
“摄问”测试
软件对对碰
“摄问”测试
汽车润滑用润滑脂的主要质量指标及其意义
烧结矿组成和结构对烧结矿质量的影响
即时通讯软件WhatsApp
测试