APP下载

基于KCFlow工具的软件配置管理研究

2017-04-18程晓莉鲁静魏巍何娜

软件导刊 2017年2期

程晓莉 鲁静 魏巍 何娜

摘要 软件配置管理是软件工程化的基础,贯穿于整个软件生命周期。结合配置管理工具KCFlow对软件配置管理进行了研究,给出了软件配置管理流程及具体实施办法。

关键词 软件配置管理;软件生命周期;KCFlow

DOI DOI: 10.11907/rjdk.162381

中图分类号: TP301

文献标识码: A 文章编号 文章编号: 16727800(2017)002002603

0 引言

随着软件规模的日益增大,软件复杂度逐步提高,软件产品处于不断更新变化中,为了确保整个软件项目生命周期内产品的完整性、一致性和可追踪性,必须对软件进行配置管理。

软件配置管理(SCM,Software Configuration Management)指标识和确定软件系统配置项的过程,在软件系统的整个生命周期内控制这些项的投放和更改,记录并报告配置的状态和更改要求,验证配置项的完整性和正确性[1],通常包括配置标识、配置控制、配置状态记录、配置审核等活动。软件配置管理是整个软件开发生命周期中一个非常核心的管理过程,贯穿了从需求分析、架构设计、项目管理、开发、集成及测试的全过程,可以有效管理配置项版本,记录配置项开发过程,保证软件质量,提高软件重用率。

在软件开发这个庞大而复杂的过程中,涉及到各方面人员,产生许许多多产品。由于规程过于繁琐,手工方法实施软件配置管理是难以想象也是不可能的,因此,有效的软件配置管理需要结合工具来实现。使用软件配置管理工具,可以确保软件项目中基线和配置项随时保持条理清晰,迅速找到工作产品,保证工作产品的版本、内容不会出错,提高管理水平。

1 工具介绍

软件配置管理工具KCFlow采用C/S架构,以软件配置管理项的版本管理为核心,具有软件配置策划管理、变更控制、产品一致性管理、软件问题追踪管理、软件配置审计管理等功能,实现了对配置管理工作的全流程、全方位支持。

KCFlow具有以下特点:C/S软件架构使项目中的各类人员可以在工具提供的平台上分布式工作,确保各项工作有序、规范地实施;具有策划配置项标识功能;支持独立的配置项,单独策划入库、出库和更动审批,能够自动按照策划结果实施入库、出库和更动控制;支持基线的多版本管理功能;支持用户自定义软件问题类别、问题级别、更动类别等,以适应不同的使用需求;支持多个软件开发人员在线提交软件入库申请、出库申请、更动申请等。

2 软件配置管理

软件配置管理是CMM重要的过程域,本文结合配置管理工具给出配置管理实施方法。

项目启动后,配置管理组根据项目情况策划配置管理活动并建立配置管理系统。首先應制定配置管理计划,根据计划建立配置管理系统,通过版本控制、变更控制、基线管理和配置审核等方法,对配置管理系统中的工作产品实施控制和监督。软件配置管理流程如图1所示。

图1 软件配置管理流程

2.1 配置管理计划

经过批准的软件配置管理计划是实施软件配置管理活动的依据[2]。在进行配置管理前应根据项目的具体情况制定软件配置管理计划,内容包括:

(1)确定配置管理机构和人员职责,审批流程。组织机构主要有软件配置控制委员会、软件配置管理组。软件配置控制委员会负责出入库控制、变更及基线的建立和发布;软件配置管理组负责相关制度的建立和维护、工具的推广、培训和技术支持、配置管理审核等。

(2)描述具体配置管理活动,包括标识要纳入配置管理的配置项,规定提交时间、确定项目研制各阶段的基线、基线建立的时机和配置管理项等。配置项根据控制力度分为基线配置项和非基线配置项两类。基线配置项一般包括软件研制任务书、软件需求规格说明、设计说明、设计文档、测试文档、代码、用户手册等;非基线配置项包括计划类文档、开发环境、会议纪要等。标识配置项为每个软件配置项赋予唯一的标识符。在软件开发生存周期中,软件配置项标识应包括文档标识、程序标识和数据标识等[3]。

(3)确定更动申请流程及更动申请方法。

(4)描述配置管理报告内容、报告时机、报告人和通告对象等。

(5)制定配置审核时机、审核内容及审核问题的解决方法,软件配置管理所使用的工具、技术和方法。

使用KCFlow配置管理平台,制定配置管理计划,并依据配置管理计划实时自动化约束配置管理活动,客观记录配置管理活动。KCFlow可对配置管理计划中的机构组织、基线、基线下包含的配置管理项、工作产品标识、问题类型、问题来源、更动流程、修改类别、项目基本信息等进行配置策划。一般基线策划有3条:功能基线、分配基线和产品基线。配置项标识应按照相关的配置项标识规范进行,一般文档、程序标识采用以下格式表示:文件名称英文缩写 V主版本号.次版本号;问题类型可分为程序、文档、数据库等;问题来源有计划、方案、设计、编码、数据库、测试、使用和维护等。

2.2 配置管理系统

配置管理计划经过评审后,由配置管理员依照配置管理计划建立开发库、受控库和产品库,对库结构进行策划,明确基线内容,定期备份配置管理库,为相关人员分配权限并发送用户帐号信息单给相关人员。

开发库、受控库和产品库应独立管理。开发库存放开发过程中需保留的各种信息;受控库存放已通过评审且作为阶段性产品的软件配置项;产品库存放已定型(鉴定)供交付生产、检验验收的软件配置项。在KCFlow中创建受控库一般包括功能基线、分配基线、产品基线及非基线配置项。功能基线包含软件研制任务书等文档;分配基线包含软件需求规格说明、接口需求规格说明等文档;产品基线包含软件设计说明、接口设计说明、软件测试说明、软件测试报告、固件保障手册、源代码、目标码、软件版本说明、软件研制总结报告、软件配置管理报告、软件质量保证报告等;非基线配置项主要包含计划类工作产品。

2.3 配置控制

配置控制是配置管理的组成部分,包含评估、协调、批准/拒绝、配置项的变更[4]。配置库建好后,配置管理员按照配置管理计划进行日常的配置管理活动,主要包括版本控制、变更控制、基线管理等。

2.3.1 基线管理

基线是软件生命周期中各开发阶段的一个特定点,它的作用是把开发各阶段工作明确划分,使本来连续的工作在这些点上断开,以便于检查和肯定阶段成果[5],是进一步开发的基础。

在软件生命周期中主要有3种基线:功能基线、分配基线和产品基线。功能基线是开展软件研制工作的依据,一般是在软件研制任务书评审并纳入受控管理后建立;分配基线在软件需求规格说明评审并纳入受控管理后建立;产品基线在产品发布后建立。

基线包含的配置项全部入库后才可建立基线,配置管理员提交《基线建立和发布申请单》,通过软件配置控制委员会审批通过授权后,方可建立和发布基线。基线发布后,配置管理员要把基线发布的结果通告给相关人员,通告内容包括基线名称和标识、所包含的配置项及配置项版本等信息。

对基线的变更需要通过正式的变更流程来完成。首先提出变更请求,然后进行变更评估,变更批准后再进行变更。变更评估包括:软件变更分类、技术影响分析、接口影响分析、进度及预算影响分析。

2.3.2 变更控制

对已进入受控库和产品库的任一软件配置管理项的更改,要履行规定的申请和审批手续。配置管理工具KCFlow提供了两种更动流程供选择,一般采用的更动流程是:填写问题报告、提出更动申请、更动出库、实施和验证更动和更动入库,具体更动流程如图2所示。

(1)发现问题,并填写《问题报告单》。变更人发现问题后首先填写问题报告单,在问题报告单中详细描述问题,说明问题来源并对问题进行分析,确定问题类型。

(2)提出更动申请,填写《更动申请单》。《更动申请单》要详细填写问题来源、问题类别、问题级别、更动类型和修改类别等,描述更动方案、影响域分析及验证办法,待更动申请批准后方可进行更动。

(3)更动出库。更动申请通过审批后,更改实施人填写《更动出库单》,审批通过后,检出待更改的配置项准备实施更动。待更改配置项出库后,处于待更动状态,禁止其他人使用。

图2 更动流程

(4)实施和验证更动。更动出库后可由变更实施人对待更动配置项实施更改,并请同行专家验证变更结果。验证结果合格后将变更后的配置项更动入库,如果验证没通过,则重新实施更改。

(5)更动入库。更动完成并通过验证后,变更实施人填写《更动入库申请单》。审批通过后,将更动后的配置项更动入库。

2.3.3 版本控制

版本控制是全面实施软件配置管理的基礎,其目的是按照一定的规则保存配置项的所有版本,避免发生版本丢失或混淆等现象,保证产品的可追溯性[6]。对配置项在初次完成时确定初始版本,在每次更改后确定新的版本。版本号由主版本号和次版本号组成,当发生更改时,若变动较大,次版本号加0.1,若变动较小,次版本号加0.01。

2.4 配置管理记录和报告

配置状态记录和报告通常称为配置状态纪实。配置状态记录主要对配置管理活动进行记录和报告,一般包括以下内容:配置项纪录(名称、标识和版本)、变更纪录、基线纪录、出入库纪录、审核纪录、备份记录和测量信息等。

配置管理工具KCFlow可以根据配置库中的内容生成配置状态报告,确保配置管理报告和配置管理库的客观一致性。在项目每个阶段结束时,配置管理员从KCFlow导出该阶段的配置状态报告,总结该阶段的配置管理活动,统计配置管理相关数据,并将配置状态报告发送给相关人员。

2.5 配置审核

配置审核是一种软件验证方法,其目的是检查软件产品和过程是否符合标准和规程,是变更控制的补充。配置审核包括功能配置审核、物理配置审核和管理配置审核。

功能配置审核一般由项目经理审核配置项的实际功能特征是否达到功能基线文档中所规定的要求。物理配置审核是通过对配置项的检测,鉴定文、图、物的一致性,保证软件更改的完整性。配置管理组定期(每季度)进行配置管理审核。配置管理审核主要是对配置管理过程进行审核,确认配置管理记录和配置项是否完整、一致和准确。审核过程中,相关人员按照审核内容形成《配置审核检查单》,对不符合项进行记录和处理。

KCFlow具有灵活的配置审核功能,能够策划适合本单位的软件配置管理审核准则。每次入库时,相关人员进行物理审核,在基线建立及变更时进行功能审核。

图3 配置审核策划

3 结语

软件配置管理贯穿整个软件生命周期,在软件开发过程中采用有效的工具进行配置管理,能够弥补人工管理出现的纰漏,规范开发流程,保证软件产品质量,减少软件缺陷,缩短软件开发周期,降低软件维护成本。本文结合配置管理工具,对软件配置管理流程及实施方法进行了研究。为提高软件开发的效率与质量,今后的工作中应结合项目实际情况及本单位的配置管理相关规定,对配置管理工具的适应性进行研究,以满足各种软件开发要求。

参考文献:

[1] 石柱.软件工程标准手册[M].北京:中国标准出版社,2007.

[2] 何新贵,石柱,王纬,等.GJB5000军用软件能力成熟度模型实施指南[M].北京:国防工业出版社,2004.

[3] 王忠贵,刘姝.航天型号软件工程方法与技术[M].北京:中国宇航出版社,2015.

[4] 董越.未雨绸缪理解软件配置管理[M].北京:电子工业出版社,2012.

[5] 邓良松,刘海岩,陆丽娜.软件工程[M].西安:西安电子科技大学出版社,2000.

[6] 赵文杰.软件配置管理理论与实践[J].现代计算机,2010(12):7475.

(责任编辑:杜能钢)