一种软件开发库的工具化管理方法
2018-06-21章文娟李涛陈红解静史雷蕾
章文娟 李涛 陈红 解静 史雷蕾
摘 要:为了规范软件开发库管理,提高工作效率,提出了一种软件开发库策划方案。对重点部分基线策划提出了3种方案并进行对比分析,选取软件配置管理工具进行管理。使用该方案建立的开发库结构清晰、配置项变更可控制,产品一致性及软件问题追踪管理实施良好。
关键词:软件开发库;软件生存周期;基线;KCFlow
DOI:10.11907/rjdk.172849
中图分类号:TP301
文献标识码:A 文章编号:1672-7800(2018)005-0046-03
Abstract:In order to standardize the management of software development library, prevent mistakes from manual management and improve work efficiency, this article offers a scheme of software development library. It puts forward three methods of baseline design which is the most important part of the scheme, and chooses the best method through comparative analysis. The development library designed according to the scheme turns out to be clear, controlled, consistent and traceable.
Key Words:software development library; software life cycle; baseline; KCFlow
0 引言
在MIL-STD-498中将软件开发库定义为:一套受控的软件、文档、其它中间件和最终的软件产品,以及相关的用以改进软件的有序开发和后续支持的工具和方法[1]。软件开发库存放软件开发全生命周期过程中需要保存的各种信息,是软件配置项的集合,受控于软件开发组[2]。
目前,软件开发库多由项目组人员手工管理,规范性较差,人力成本较高,容易出现纰漏,难以满足软件配置管理需求[3]。软件开发库的工具化管理能够满足开发库要求,规范开发库管理,弥补人工管理出现的纰漏,降低人力成本,改善科研项目运行环境,大幅提高工作效率。本文提出一种可行的管理方法和流程,以便在项目中推进开发库的工具化管理。
1 工具选择
常用软件配置管理工具有Rational公司的ClearCase、Hansky公司的Firefly以及StarTeam、CVS等[4-5]。关键科技的软件配置管理工具KCFlow符合GJB5235-2004《军用软件配置管理》、GJB5000A《军用软件研制能力成熟度模型》、《总装备部软件工程规范》等标准和规范要求。KCFlow以软件配置管理项的版本管理為核心,具有软件配置策划管理、变更控制、产品一致性管理、软件问题追踪管理、软件配置审计管理等功能,实现对配置管理工作全流程、全方位的支持[6],能够满足软件开发库、受控库、产品库的管理要求。因此,本文选取KCFlow进行开发库的工具化管理。
2 软件开发库策划
软件开发库主要包含以下内容:任务书、需求分析、设计编码、测试验收、需求过程管理表单、项目管理过程表单、软件质量保证过程表单、配置管理过程表单、测量与分析过程表单及外购软件平台与工具等。
项目立项后需要在一定时间内策划相应的软件配置管理开发库,包括用户角色策划和配置策划。
策划项目组成员包括配置管理员、审批领导、项目组开发成员。
配置策划主要策划基线、标识和项目基本信息。基线策划主要策划基线名称、基线标识、基线所包含的CMI等信息。标识策划主要策划入库表单登记号、出库表单登记号、CMI版本标识;项目基本信息策划内容为系统名称、系统标识、子系统名称、子系统标识、项目代号和项目关键等级。基线策划和标识策划是配置策划的主要内容。
2.1 基线策划
在软件工程中,基线是文档和其它资料的集合,代表产品在某一时间点的情况[7-8]。
根据GJB5235-2004《军用软件配置管理》GJB5000A《军用软件研制能力成熟度模型》等标准和规范要求,提出3种软件开发库基线策划方案。
方案1:根据软件配置管理基线策划软件开发库。根据企业对软件配置管理过程和软件三库管理要求,软件开发库策划3条基线:功能基线、分配基线和产品基线,每条基线包括一组完整的工作产品[9-10]。方案1包含的基线及基线包含的CMI如图1所示。
方案2:根据软件生命周期模型策划软件开发库。软件生存周期模型为软件产品的开发过程提供依据和框架,根据软件生存周期模型的规定,选取适合项目的模型。软件生命周期模型一般包括系统设计与软件定义、软件需求分析、软件设计、软件集成与测试、软件验收和交付等5个阶段,开发库可根据这5个阶段进行基线策划。方案2包含的基线及基线包含的CMI如图2所示。
方案3:根据软件开发过程管理体系策划软件开发库。软件开发过程管理包括需求管理过程、项目管理过程、软件质量保证过程、软件配置管理过程、测量与分析过程等5个管理体系,每个管理过程产生相应的表格、文档等工作产品。方案3包含的基线及基线包含的CMI如图3所示。
方案1只划分了3条基线,策划和实施的复杂度较低,难度小、耗时短,缺少项目策划过程生成的产品,工作产品数量少、不够完整,项目进度节点也不明确。方案2根据软件生命周期策划基线,选取对应的软件生存周期模型,基线策划和实施复杂度与方案1相比较高,项目进度节点明确,工作产品数量较多、完整性较好,能够满足开发库要求。方案3根据软件开发过程管理体系策划10条基线,工作产品多、完整性好,但基线组成复杂,对配置管理人员要求高,耗时长,实施难度较大。具体分析结果如表1所示。
由表1可以看出,方案1的产品完整性较差,不能完全满足软件开发库对产品的完整性要求。方案2和方案3均能满足软件开发库要求,但方案3策划复杂度高,耗时长,策划难度大。所以,方案2既能满足软件开发库的要求,难度又较低。因此,本方法选择方案2进行基线策划。
2.2 标识策划
标识策划主要策划入库表单登记号、出库表单登记号、CMI版本标识和CMI代码版本标识。两种类型的表单策划方式相同,表单标识的字段类型为“字符串/数字”,下一字段连接符“./-/_/(/)/无”,流水号位数选择1/2/3位(表单数目的位数)。版本标识策划根据项目要求设置为两段式如Vx.xx,或三段式如Vx.xx.xx,也可在之后加上日期如x年x月x日。
2.3 建立与使用
软件开发库具体策划方案如图4所示,在KCFlow中依照图4步骤建立开发库。
在KCFlow中建立完成的软件开发库主页面默认为开发库入库单,如图5所示。软件开发库使用包括初始入库和使用出库。初始入库和使用出库需分别填写开发库入库单和使用出库申请单,填写完成后点击“添加”即可完成对应操作,如图5、图6所示。
3 结语
本文策划了一种通过工具建立软件开发库的方法,对策划的重点部分——基线策划提出了3种方案并进行了详细的对比分析,选出了最佳方案。使用KCFlow工具进行工程化的配置管理应用,在某直升机型号项目中,通过该方法建立的软件开发库结构清晰、配置项变更可控制、产品一致性及软件问题追踪管理良好。该方法可提高開发库在项目中的应用普及率,很大程度上规范了开发库管理,大幅提高了工作效率。
参考文献:
[1] 林华,夏耘.软件配置管理过程[J].计算机工程,2000,26(10):109-111.
[2] 张晓燕,孙亮清.软件配置管理在船舶监控软件项目中的实施[J].上海船舶运输科学研究所学报,2013,36(2):57-61.
[3] 冯济舟.软件配置管理典型问题的研究与思考[J].航天标准化,2013(3):44-46.
[4] 王忠贵,刘姝.航天型号软件工程方法与技术[M].北京:中国宇航出版社,2015.
[5] 聂华北,张艺超.软件配置管理工具综述[J].计算机系统应用,2008(7):125-128.
[6] 程晓莉,鲁静,魏巍,等.基于KCFlow工具的软件配置管理研究[J].软件导刊,2017,16(2):26-28.
[7] HUMPHREY W S.团队软件过程 [M].第2版.北京:人民邮电出版社,2011.
[8] 石柱.软件工程标准手册[M].北京:中国标准出版社,2007.
[9] 石柱.软件质量管理[M].北京:中国标准出版社,2003.
[10] 于宏霞,陈凯,白英彩.基线技术在软件配置管理过程中的应用[J].计算机应用与软件,2006,23(2):43-45.
(责任编辑:杜能钢)