基于CMMI的软件配置管理服务模型研究

2018-10-11 08:46彭璐侯凯瑞
电子元器件与信息技术 2018年7期
关键词:配置管理入库基线

彭璐,侯凯瑞

(北京计算机技术及应用研究所,北京 10086)

0 引言

信息化软件由于其特殊性,随着管理流程、使用周期、业务需求的不断变化,具有需求变更频繁,开发过程复杂,维护周期漫长,人员协同量大,开发人员流动性强的特征,而在当前信息化软件的全过程中,均没有一种良好的手段进行统筹规划与有效管理,造成系统版本混乱,需求难以追溯,变更不能实时体现,系统交接复杂,文档混乱,后期维护困难等现象,因此,提升信息化软件过程的管理水平尤为重要。

1 软件过程管理技术研究

软件过程是对一系列相互关联的用来创建、维护和演进软件的活动以及执行活动所需的角色和资源集合的抽象描述[1]。软件过程的建立过程包括两个阶段:软件过程定义和建模阶段以及软件过程改进阶段。它侧重的是在软件开发的过程中对需求管理、计划安排、合同管理、项目跟踪、资源分配和质量要求等的管理方式,也就是对软件开发、维护全过程规范化、透明化、标准化的管理。

软件配置管理(SCM)是对过程产品变更进行的管理[2]:在软件过程生命周期内标识、组织和控制软件过程变更,关键活动包括:过程配置项标志,过程构件版本控制,过程变更控制和状态报告等。

目前软件配置管理有一些常用的标准与规范,由SEI提出的CMMI(Capability Maturity Model Integration),即软件能力成熟度集成模型,提供了一种渐进式的软件过程改进途径,体现了软件工程和软件管理的最佳实践,为软件开发者提供了成熟的规范化过程的框架:通过划分5个等级共22个过程区域(PA),以过程域为主题,阐述了对各PA的要求,分为特定目标与通用目标,并通过对应的特定实践和通用实践来实现这些目标[3-5]。

在军用领域,总装备部2008年颁布了GJB5000A-2008《军用软件研制能力成熟度模型》[4],用于管理项目进行过程中持续不断的变化。配置管理是GJB5000A所包含的过程域中的一个,在这个过程域中包含了军工领域普遍认可且行之有效的最佳实践,并提供了配置管理的目标和实践方法。与此同时,GJB5235-2004《军用软件配置管理》作为软件工程的重要标准,提供了配置管理的执行标准与相关术语规定。软件配置管理的相关术语与主要任务如下:

1.1 软件配置项

软件配置项即软件配置管理的对象,它是软件开发过程中产生的所有工作产品,包括:代码(源代码、目标代码)以及数据结构(内部、外部数据)、文档(技术文档、管理文档、用户文档等)、报告,其中每一项称为一个软件配置项,是配置管理的基本单位。

1.2 角色

配置管理中包含的相关角色与职能如下表所示:

表1 配置管理相关角色Tab.1 Configuration management related roles

1.3 基线

基线标志着软件开发过程一个阶段工作的结束,是后续工作的基础。一旦文档通过评审形成基线就要对其进行严格的修改控制。

配置管理主要活动与要求有:一、配置标识:编制软件配置管理计划;软件配置项标识;基线标识;受控库标识;配置项和基线的状态标识;更改申请状态标识;配置项和基线纳入配置控制的进展情况标识。二、配置控制:标识和记录更改申请;分析并评价更改;批准或否决更改申请;实现、验证和发行已修改的软件项。三、配置状态记实:记录标识,跟踪更改,报告状态记实。四、配置评价:确定配置项是否与SCM记录相符;软件产品相对构造软件配置项的累积状态和批准的更改而言,是否完备和可用;基线是否由相关的软件配置项和各自批准的更改组成[6]。

配置管理作为在软件全生命周期对软件质量的一项重要的控制手段,同时也是推行其它软件工程方法和活动的基础,在进行配置管理活动的时候,我们应编写软件配置管理计划,明确配置管理组织及其成员的责任和权限,明确配置管理的范围[7-8],对每条基线及每个基线下的配置项有清楚认识与规划,同时做好配置管理评价工作。

2 配置管理过程与可行性分析

配置管理的目的是利用配置标识、配置控制、配置状态记实和配置审核,建立和维护工作产品的完整性。我所的信息化软件管理以前由于缺乏管理标准,造成当前诸多问题的出现,如果能从软件生命周期的开始阶段,就采用配置管理的规程,对信息化软件的全生命周期进行管理,制定软件的配置管理计划,并严格按照计划与要求去执行,则相应的文档将会齐备且相互对应,利于软件的后期维护与重用,且配置管理涵盖了软件全生命周期的全部过程文件,这样将确保信息化软件最后输出的完整性。软件的每一个版本与对应的变更能够有效地进行管理,使每个功能点的追溯成为可能,更为重要的是,在配置管理流程中,每一个环节都是相互关联的,当上一个环节没有按照规定完成时,就不能进行下一环节的工作。例如,在更改环节,配置管理员必须提交问题报告单和修改申请单,并进行影响域分析,分析此次更改的必要性、技术可行性,并权衡其它的更改策略和方法、所涉及的相关配置项等,对所涉及的配置项进行修改并入库管理,这样,对于每一次变更,都能够从源头进行管理。同时,整个配置管理活动,均要进行配置审核,在CCB的干预下进行,对于每次活动有了专业的规程与审核,配置管理还会生成一系列配置管理报告,能够随时了解整个软件过程状态。产品的出入库管理,对于版本的定义更加清晰,避免了信息化软件版本混乱的情形,通过上述分析,可知将配置管理用于信息化软件的过程管理,是可行且必要的。

3 信息化软件配置管理实施

本文将配置管理引入到信息化软件的管理中来,并以元器件选用控制管理系统为例,利用软件配置管理系统对元器件选用控制管理系统软件的全过程进行管理。

3.1 立项

将元器件选用控制管理系统作为一个信息化软件项目进行立项,给出项目编号:706-YQJMS,确定项目的CCB成员:主管室领导,项目组长和项目CM员。

3.2 配置管理策划

进行配置管理策划,建立SCM计划表,是一个项目运行最重要的部分,包括对人员权限与职能的划分,依据选择配置项的准则,定义组成软件基线的所有软件配置项,指明每个配置项(SCMI)的名称、文档简号、标识码、负责人和载体,策划中还包含每条基线完成的时间节点,以后的配置活动,将严格按照此策划进行。设置的版本模式类别有:1、配置项(SCMI)版本;2、基线版本;3、软件产品版本,并给出各版本号的标准命名。同时,在配置管理策划中还要定义各SCMI项的依赖和约束关系,且在每一个文档中,都具体描述了软件每一个功能的的追溯关系,图1为本次配置管理定义的三条基线及其对应的SCMI项。

3.3 入库管理

入库申请是将各个基线对应下的SCMI项入受控库并提交申请的过程,首先填写入库的基本情况,其次将对应的SCMI项,按照SCMI的版本标识形式给出SCMI的版本号,入库然后提交审批。审批流程严格按照SCM初始入库审批流程进行,符合配置管理过程文件中的“初始入库管理规程”。

3.4 基线版本建立

当软件配置管理计划中基线定义所包含的所有配置项都进入受控库后,或软件基线更改后,填写基线建立申请单,对所有版本的基线(初始基线和更改版本),都要确认软件基线版本的正确性、完整性、完备性,以及组成软件基线版本的SCMI版本相互之间的一致性。

3.5 更改控制

当涉及到需求变更或发现软件问题时,都涉及到软件的更改控制。使用配置管理中的更改控制,可以很好地解决信息化软件所面临的这一问题。以元器件选用控制管理系统一个需求变更为例,首先由项目CM填写问题报告单,内容为由于业务部门提出的需求更改而引起的变更。一个问题更改单由概述和问题描述组成,还要将涉及更改关联已入库的配置项纳入进来,并说明受影响的具体内容。

因为业务需求的更改,用户需求和软件需求规格说明书两个文档均需要修改,这两项SCMI项均已入受控库,应该严格按照配置管理要求,先出库再修改,此时,我们提交两张《更改申请单》,填写申请概述,将通过审批的问题更改单作为更改依据,申请出库。

文件出库修改后,需要更改入库,必须将所更改的SCMI项重新纳入到受控库中。将每一项SCMI与对应的《更改申请单》关联,以便后期追溯。对本次入库SCMI版本进行定义和说明,并与之前的SCMI版本建立关联,因为本次更改尚处于设计阶段,不涉及源程序的变化,因此,不需要进行更改验证,如果有,还必须将更改验证单纳入本次申请。当一次更改成功后,升级功能基线和分配基线版本,将更改入库的SCMI项对应到升级的基线版本中,整个更改控制是一个闭环环节,并遵守受控库中的受控要求,每次更改均要从受控库中出库,整个过程均由项目CCB审核,保证每次更改的可追溯性和可验证性,整个过程可对SCMI的各个版本进行比较,对问题处理的过程进行追踪,解决了信息化软件文档难以追溯的问题。

3.6 基线审核

软件基线建立后,需要进行项目的功能配置审核、物理配置审核和配置管理审核。

图1 元器件选用控制管理系统基线定义与对应的SCMI项Fig.1 Element selection control management system baseline definition and corresponding SCMI terms

图2 配置管理更改流程Fig.2 Configuration management change process

功能配置审核内容:依据软件配置管理计划中的基线定义和更改要求,确认基线版本的完整性、一致性;依据软件配置管理计划中定义的配置项之间的依赖关系,确认基线版本的完备性。对基线版本包含的、新入库的配置项版本,确认配置项版本组成文件内容的正确性,对出库的软件源程序测试其功能、性能、是否达到规定的要求;

物理配置审核内容:确认软件基线版本组成配置项版本的条目与配置项版本实体文件之间的一致性。

配置管理审核内容:依据过程质量检查单进行配置管理过程审核;确认配置管理记录和配置项是否完备、一致和准确,形成配置管理过程质量报告。

我们对每条基线进行了审核工作,下面是对功能基线和分配基线的基线审核报告表,分别对功能配置、物理配置和配置管理活动进行审核。

3.7 配置报告

CM组需定期、在里程碑处和需要时编制配置管理报告,了解配置项的版本变迁,问题处理情况,配置管理的执行进度,受控库中已入库配置项的入库时间等信息。

3.8 产品管理

当软件测试阶段评审通过后,配置管理员应建立产品基线,并依据产品基线定义产品,提交产品定义申请。此后可进行产品的版本定义和产品出入库管理,将受控库定义的产品纳入到产品库中管理。

4 结论

通过对元器件选用控制管理系统软件过程的配置管理实践,充分验证了配置管理对信息化软件的需求追溯、变更控制及文档管理都具有极大的帮助,可有效规范信息化软件的管理过程。信息化软件比普通软件拥有更多、更繁琐的变更,今后,在严格遵守配置管理基本规程的基础上,应考虑如何定义和管理信息化软件的变更版本,既保证变更管理的正确、完整性,又提高配置管理的工作效率。

猜你喜欢
配置管理入库基线
汽车委托外加工零件自动化配置管理
重磅!广东省“三旧”改造标图入库标准正式发布!
适用于MAUV的变基线定位系统
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
航天技术与甚长基线阵的结合探索
配置管理数据库运用与实现
一种改进的干涉仪测向基线设计方法
身临其境探究竟 主动思考完任务——《仓储与配送实务》入库作业之“入库订单处理”教学案例
建设CMDB任重道远