APP下载

做好软件配置管理,保障软件产品质量

2015-09-26蒲波

现代计算机 2015年22期
关键词:配置管理基线工具

蒲波

(中国电子科学研究院,北京 100041)

做好软件配置管理,保障软件产品质量

蒲波

(中国电子科学研究院,北京100041)

0 引言

随着软件行业的发展,软件研发的规模越来越大,软件研制的过程越来越复杂,软件质量控制的难度越来越大,如何保障软件的质量,是业界一直以来不断探讨的问题。

软件配置管理是软件能力成熟度模型中的一个关键过程域,贯穿了软件生命周期的始终。其中一项重要内容就是控制软件的变更,而软件的变更是造成软件质量问题的重要因素之一。所以提高软件配置管理能力与提高软件的质量有着紧密的联系。

本文将首先阐述软件配置管理的基本内容,并结合笔者多年的软件配置管理工作经验,就工作中容易被忽视的、管理不足的或是特别重要的5个方法和过程进行重点探讨。并在最后,就使用软件配置管理工具改进和提升软件配置管理能力进行了简单的阐述。

1 配置管理内容

软件配置管理包含四部分内容:配置标识、配置控制、配置审核、配置记录。在执行软件配置管理前进行软件配置管理的准备工作也是很重要的一个环节。

执行软件配置管理首先应建立好软件配置管理制度,其中要包含软件配置管理计划编制规定、软件版本标识规定、变更过程控制规定等。

在此基础上,还应成立执行软件配置管理的组织机构,确定必要的角色。这部分不属于具体的软件配置管理业务范畴,但却是实行软件配置管理的基础。表1列出了软件配置管理过程中常见的组织机构、角色和职责,供参考。

表1 组织机构、角色和职责

配置标识是执行软件配置管理的基础。配置标识做得好,配置管理才有可能做好。配置标识主要包含两方面内容:

一方面是配置标识计划。每个配置项必须有一个区别于其他配置项的标识。要管理哪些配置项,配置项如何进行标识,基线如何标识,以及配置项和基线的版本如何标识等,这些都应该在实行配置管理前规定好。

另一方面是对软件版本和基线等实体进行标识,也就是在具体实行软件配置管理过程中对软件配置项、基线等配置管理内容进行具体的版本标识和存储的控制。

软件配置控制是软件配置管理的关键。主要包括配置项和基线的出、入库,以及变更控制(包含功能提升和缺陷管理)。

执行配置控制过程中要涉及到审批、评审等,并且会涉及到配置审核和配置标识的过程。

配置审核同样包含两个部分:

事件审核:软件配置管理小组对每次软件的出、入库的软件配置项和基线进行物理审核和功能审核,以保证出、入库的软件配置项或基线与所要求和描述的一致。

定期审核:软件配置管理小组及质量管理人员定期对配置库的状态进行审核。内容包括:变更是否实现、是不是要求的改变、是否经过评审、关联的模块是否已被更新及测试等。

记录用来有效管理配置所需的必要的信息。包括批准的配置识别清单、问题报告、变更控制、基线状态等内容。其表现形式通常有版本记录、出入库记录、变更记录,以及其他的一些报告和图表。

2 薄弱环节与改进

本节主要指出在多年实际工作中发现的,在实行软件配置管理中那些容易被忽视的和管理相对薄弱的部分,以及配置管理过程中特别重要的方法。其中包含加强软件测试和软件回归测试、基线管理、工具和其他编译脚本的管理、变更控制、建立问题收集机制几个方面。

虽然软件测试并不完全属于软件配置管理的业务范畴,但软件测试作为提高和反映软件质量的一种最直观有效的方法,可以有效提高软件的质量。

软件回归测试作为配置审核的一个重要工作,可以尽可能保证纳入到配置库的软件产品的质量。没有经过软件回归测试,将无法确定你更改的内容是否正常,也无法保证更改是否引入了新的缺陷。

而有时又可能会出现以下情况,即:回归测试进行了,也通过了,但回归测试过程没有与软件配置管理过程很好地结合,或者提交测试的软件配置项和入库的软件配置项根本就不是同一个东西,导致回归测试中已经通过的功能在配置库中又会重新出现。

所以,软件回归测试不应该只是有无的问题,它应与软件配置管理流程有效结合,才能充分发挥其重要作用。例如,可以将回归测试报告和测试报告纳入软件配置管理,同时提交回归测试的软件配置项由回归测试人员直接从配置库中提取,从而避免上述问题的出现。

基线代表着软件的状态,是一个阶段的成果,同时也是下一个阶段的基础。虽然基线管理与软件质量管理看似没有直接的联系,但基线管理却十分重要。但是很多时候,我们的基线建立的不够完整,或没有进行评审,这些情况都有可能会给我们软件的质量带来隐患,所以在管理基线时应严格依据规定进行基线控制,应该进行评审的基线,一定要进行评审。

软件开发过程中用到的开发工具、编译工具,以及编译脚本、测试脚本等,往往没有纳入管理。但这极可能会引发问题。最常见的问题是,编译的环境发生了变化。例如,软件应该在Windows XP SP2中进行编译,可能由于重装了系统或更换了开发人员,将该软件在Windows 2000中进行编译,则有可能编译不通过,或编译出的东西并不是所希望的。因此,对于这些工具和编译脚本等的管理,我们同样要给予足够的重视。

上面已经提到了配置控制,但由于变更控制部分太重要了,笔者认为有必要再次加以强调。

相信每个配置管理员都会把变更控制作为配置管理的重点工作之一,但是,我们回过头翻一下我们的软件配置管理记录:我们做的够吗?变更控制和需求同步了吗?每一个软件问题都变更了吗?变更涉及到对其他模块影响的时候,相应的模块进行变更了吗……对于上述问题,并非每个配置管理员都会给出足够肯定和自信的回答。

变更控制如果想做好,就一定要借助于变更工具。仅靠人去管理变更过程,很容易由于大意或任务繁忙而造成失误。

问题收集机制归属于配置控制中的内容。之所以要单独提出来,是因为目前大部分企业和项目对问题的收集过程并不完善,重视程度不够。

问题的提出方和提出的方式有很多种。例如,测试人员针对测试发现的软件问题提交了软件问题报告;联试中出现了一个质量问题,填写了质量表格;用户口头形式或书面形式提出了一个更改意见。这些问题最后都填写软件问题报告单了吗?都落实了吗?有没有挂起的问题忘了变更?这些都是常见的容易被忽视的问题。

对于从各方收集到的软件问题,应建立软件问题库,及时填写软件问题报告单,保证不漏掉一个问题。同时要保证任何一个问题可以从问题库中查询到,并可以通过软件问题报告单,关联到软件的变更过程。如一个软件问题涉及到了软件或文档的哪些更改,都应能够快捷地查找到。同时,对于软件问题的状态应及时调整,如标记“解决中”、“已解决”。

3 使用工具

工具对于提高软件配置管理效率和能力非常重要。能否用好一个工具,甚至有时可以决定软件配置管理工作的成败。使用工具进行软件配置管理也是我们目前要进行的一项主要改进工作。

一方面使用版本管理工具可以进行并行开发,可以使版本标识有序。

另一方面,使用变更管理工具,可以有效地收集问题,有效控制软件的变更过程,并随时供项目组成员查看问题状态,是否关闭,是否需要及时进行更改,更改影响到哪些模块,等等。

由于篇幅原因,本文只简单介绍一下利用软件配置管理工具可以进行哪些工作的改进。

(1)控制软件资产,通过工具对配置库的权限控制能力,防止人为对软件资产造成破坏。

(2)进行并行开发,随着软件研发规模的扩展,利用软件配置管理工具的工作区管理功能、冲突检测功能及分支功能,可以很好地控制并行开发。

(3)加强软件版本控制能力,通过工具的版本控制功能,对软件研发历史的版本进行全过程记录,可以随时回退到之前保存的任何版本状态,并保证了版本之间的可追踪性。

(4)软件问题收集,项目组成员可以清晰地查找到目前问题的状态,如都有哪些问题要解决,哪些问题分配给我进行解决,有没有完成等。

(5)变更控制过程电子化,利用工具的流转过程,可以严格地控制变更过程的签批手续,免除了拿着纸质表单到处找领导签字的问题,并使变更控制过程更快捷、清晰和容易追踪。

(6)自动生成报告,很多工具可以自动生成软件配置管理报告,满足配置状态记录中的各项状态报告。

(7)软件研制过程更清晰,可以设置多个工作分支进行流转,代替开发库、测试库、受控库和产品库间的物理流转等。

以上只是阐述了利用软件配置管理工具改进的一部分,很多软件配置管理工具的功能十分强大,可以满足更多的工作改进。

4 结语

软件配置管理是一个辅助管理项目软件状态和整个开发过程的方法和手段。软件配置管理同软件质量管理一样,贯穿整个软件生命周期。软件配置管理的能力一定程度上可以衡量软件的质量和支持质量管理过程。只有更好地实施软件配置管理,才能保证软件产品的质量,才能维护一个企业的生命。

Software;Configuration Management;Quality

Configuration Management for the Quality of Software

PU Bo
(China Academy of Electronics and Information Technology,Beijing 100041)

1007-1423(2015)22-0055-04

10.3969/j.issn.1007-1423.2015.22.014

2015-07-14

2015-07-30

蒲波(1981-),男,四川绵阳人,硕士研究生,工程师,从事领域为软件研制过程管理与软件质量保证相关工作

2015-07-142015-07-30

质量是一个企业的生命。随着软件行业尤其是军工软件行业的发展,软件质量逐渐成为人们关注的焦点。软件配置管理贯穿软件生命周期的始终,与软件质量有着紧密的联系。基于在软件配置管理领域工作多年的经验,就具体实践中几个容易被疏忽或管理不足从而造成软件质量问题的方法和过程进行总结。阐述软件配置管理的基本方法,并重点就这些容易被遗忘的、管理不足的或是特别重要的方法和过程进行探讨。

软件质量;软件配置管理;配置管理

[1]张杰,陶幸辉.型号软件的配置管理.北京:科技经济市场,2008.13.

[2]董越.未雨绸缪――理解软件配置管理.北京:电子工业出版社,2008.143-152.

Configuration management runs through the software life cycles,it has close link to the software quality.Concentrates on the basic method of the configuration,and the easily forgotten,discusses less managerial or particularly important methods and progresses.

猜你喜欢

配置管理基线工具
汽车委托外加工零件自动化配置管理
波比的工具
航天技术与甚长基线阵的结合探索
波比的工具
一种SINS/超短基线组合定位系统安装误差标定算法
准备工具:步骤:
配置管理数据库运用与实现
“巧用”工具
一种改进的干涉仪测向基线设计方法
建设CMDB任重道远