基于过程改进的软件质量管理模型

2018-07-31 10:22:33

0 引 言

软件产品作为信息技术的核心,其质量管理的重要程度 已经到了不容忽视的地步。在软件开发过程中引入现代质量 管理理论的思想,对软件的开发过程进行质量管理是解决软 件质量问题的重要方法。目前国际上流行的 ISO9000 族标准 和 CMM 模型都是为了指导企业如何建立符合质量管理要求 的开发过程而提出的。由于它们的普遍适用性,而造成了它 们本身的不足,比如ISO9000 强调应该做“什么”,并不强调要 “如何”去做;CMM的主要思想很清楚,标准的条例也很明确, 但如何达到这种标准的可操作性比较差。对于我国大多数 软件质量管理缺乏基础和经验的企业来说,盲目搬用ISO9000 或 CMM 都难以达到应有的效果。在前人研究成果的基础上, 基于中小软件企业的需求,结合现代质量管理思想,文中提出 一种基于过程改进的软件质量管理模型。

1 基于过程改进的软件质量管理模型

在软件开发过程中不仅要借鉴 ISO9000 族和 CMM 的成 功经验,引入现代质量管理理论的管理思想,如:顾客满意、目 标管理、过程管理等,还应该构建有效的管理方法,以在软件 开发过程中有效落实上述管理思想,从而达到加强软件开发 过程质量管理的目的,实现组织软件质量的持续改进。

为更好的对软件开发过程进行质量管理,开发出顾客满 意的软件,规范企业软件开发过程,构建了如图 1 所示的基于 过程改进的软件质量管理模型。

该模型依据著名质量管理专家朱兰提出的“策划、控制、 改进”质量管理三步曲,将软件开发质量管理过程划分为软件 质量策划、软件质量控制和软件质量改进 3 个阶段,并在各个 阶段引入现代质量管理理论的管理思想与方法,将之集成为一个整体。使软件企业和相关人员能够在软件开发过程中, 既能遵循现代质量管理的理念与思想,又有具体操作方法以 实现这些理念与思想,达到质量管理的目标,开发出顾客满意 的软件。




2 基于过程改进的软件质量管理模型的构建过程

2.1 软件开发过程 确保生产出高质量的软件产品,就要遵循一套有质量原 则的软件开发过程。依据不同的原则,对软件生命周期的划 分也不同。因此,不同的开发过程模型如瀑布开发模型、原型 法模型、螺旋模型、迭代式开发过程模型、缺陷预防过程等,对 软件生命周期的划分都有所不同。为统一认识和便于研究, 论文中参考《软件工程国家标准——计算机软件开发规范》 (GB8566—88),将软件开发过程初步划分为 5 个阶段:需求分 析、质量设计、编码实现、测试修正、使用和维护。不同组织根 据自身管理和项目开发的具体情况合理确定过程的划分。

2.2 基于模型的软件质量管理步骤

2.2.1 软件质量策划及方法

质量是指产品特性满足顾客需求的程度。即软件质量的 高低取决于其产品特性满足顾客需求的多少。因此,要开发 高质量的软件,就必须在软件质量策划阶段,准确把握顾客的 需求,并将顾客需求转化为具体的质量特性要求,确定合理的 质量目标。在这一阶段,本文提出了基于需求分析的软件质 量策划方法,以软件需求定量分析结果来规划和设计软件产 品质量和过程质量,以更好的满足顾客的需求,并为实施软件 质量控制提供依据,明确控制重点。基本程序如图 2 所示。

2.2.1.1 软件需求分析

软件需求贯穿软件整个生命周期,对于软件质量具有至 关重要的影响,因此,必须采取科学的方法对需求进行分析和 确认,并对其重要程度进行评判断。 需求分析一般包括需求调研,需求整理和需求确认 3 个 步骤:

(1)采用资料分析法、面谈阅读法、问卷调查法等多种途径 广泛收集顾客或潜在顾客对软件的需求信息。

(2)采用科学的方法,如关联图法、亲和图法等对需求信息 加以归纳、整理,从而使顾客或潜在顾客的需求以层次结构表 现出来[2]。

(3)对整理后顾客或潜在顾客的需求进行判别,评估,以判 断其准确性和合理性,剔除不合理的需求,找出一些隐含的需 求和潜在需求。KANO NORITAKI 博士 (东京理科大学教授) 认为从顾客角度看,顾客对产品或服务质量的需求可以分为 当然质量需求、期望质量需求和魅力性质量需求 3 个类型[3]。

这就有必要对顾客或潜在顾客的需求进行分类确认,特别是 为使软件更具竞争力,应根据组织的实际情况,合理确定软件 的需求。 在确认顾客需求之后,还应采用有效的方法对顾客需求 的重要程度进行定量评判,以把握需求重点和关键点。顾客 需求的重要程度是指按各顾客需求的重要性进行排队而得到 的一个数值。该数值越大,说明该项需求对于顾客具有越重 要的价值 [4]。软件质量需求重要度评判方法一般采用层次分 析法(AHP)。为使评判结果更加准确,在运用层次分析法的同 时,还应对顾客和市场需求的实际进行适当调整。 2.2.1.2 软件产品质量目标策划 软件产品质量目标策划是软件开发人员从总体上对软件 产品所预期达到的质量特性指标进行规划和设计,以提高产 品质量,增强产品竞争力的过程。为了使规划和设计的结果 更好的满足顾客需求,可以结合质量目标策划的实际需要,构 建合适的质量表,依据产品质量需求与产品质量特性之间的 关联程度,以及产品质量需求的重要程度和竞争对手的实际 情况等因素来构建质量表,从而确定软件产品的质量目标。 质量表是由质量需求展开表与质量特性展开表所构成的 矩阵形状的二维表。构建质量表的基本步骤如下: (1)根据需求分析的结果,构建质量需求展开表。 (2)依据产品质量特性的要求,构建产品质量特性展开表。 (3)将质量需求展开表与产品质量特性展开表组合成二维 表(矩阵)。 (4) 研究质量需求与质量特性间的关联关系,以◎、○、△ 符号记入。根据实际需要◎、○、△符号的数值可用 5:3:1 或 是 3:2:1。 在构造质量表之后,还应进行各种检查分析与改良,使之 更符合实际,如对应符号是否仅在对角线上,一行(或一列)的 对应关系符号是否过多、强相关符号是否集中于某一块等等。