APP下载

大型信息系统软件版本管理流程优化

2021-10-28鸦文陆一

网络安全技术与应用 2021年9期
关键词:出库入库信息系统

◆鸦文 陆一

大型信息系统软件版本管理流程优化

◆鸦文 陆一

(中国电子科技集团公司第二十八研究所 江苏 210000)

本文针对大型信息系统研制项目用户需求变化频繁、参研单位多、技术体制复杂等特点,分析了影响其软件版本管理的主要因素,针对性地研究设计了版本管理优化流程,并辅助设计开发和使用了自研版本管理工具提升版本管理效率,确保了软件版本的有效控制和可追溯。通过规范和信息化相结合的手段,版本管理的实效在测试过程和测试结果中得到验证,产品遗留问题率趋于减少,产品质量得到提升。

版本管理流程优化;版本控制工具;产品遗留问题率

大型信息系统是指以信息技术和通信技术为支撑,规模庞大,分布广阔,采用多级网络结构,跨越多个安全域,处理海量的,复杂且形式多样的数据,提供多种类型应用的大系统[1]。

软件配置管理(Software Configuration Management,SCM)在整个软件系统的生命周期内维护配置项的完整性和可追踪性。配置管理的目的是利用配置标识、配置控制、配置状态纪实和配置审计建立和维护工作产品的完整性[2]。版本控制是配置管理的一个关键问题,贯穿于系统研制过程的全生命周期,对大型信息系统的交付质量起着重要作用,也是系统能否形成最终能力的决定性因素之一。

大型信息系统一般由若干承研单位共同开发,软件更新升级十分频繁,因此软件版本管理在系统集成联试过程中显得尤为重要[3]。

1 影响大型信息系统版本管理成效的因素分析

大型信息系统研制项目一般具有用户需求变化频繁、参研单位多、技术体制复杂等特点,版本管理的难点以及影响整个系统软件版本管理成效的主要因素包括:

(1)用户需求多样化。在正式交付前,软件通常需先交用户进行多轮试用,在试用过程中,用户针对应用场景可能实时提出多样化的特殊定制需求,导致软件快速迭代,软件状态变更频繁。

(2)软件集成体制验证复杂。在承研单位多、软件业务多的情况下,必须确保严格遵守技术体制约束,遵循统一的软件集成规范,才能避免在软件集成过程中以及在软件集成后出现技术体制不一致的问题,从而避免影响交付产品质量。

(3)可执行文件数量多。大型信息系统软件往往包含很多可执行文件,且相互依赖,如果使用传统版本管理流程和工具,工作量较大,且效率低、易出错。

2 大型信息系统版本管理流程优化

2.1 优化方案

针对大型信息系统研制过程中用户需求多样化、开发周期短、用户急于试用的特点,很多项目均采用了迭代开发的模式,即:每次只设计和实现这个产品的一部分,逐步完成的方法。每次设计和实现一个阶段叫作一个迭代。在迭代式开发方法中,整个开发工作被组织为一系列短小的、固定长度(如2~3周)的小项目,被称为一系列的迭代。每一次迭代都包括了需求分析、设计、实现与测试[4]。

为此,考虑从需求跟踪、配置库建立、测试环境准备、代码合规性检查、版本管理工具等五个方面进行优化设计,提升管控成效。

(1)在需求跟踪方面,在获取用户需求并进一步分解形成系统需求和条目化的软件需求后,形成并维护更适合迭代开发的《开发任务清单》,便于实时记录和跟踪与需求、设计相匹配的开发任务进展和完成情况;

(2)在配置库建立方面,在传统软件开发库、受控库、产品库的基础上,增加软件测试库的管理要求,便于迭代开发软件快速功能验证和在版本发布节点聚焦业务流程测试,形成更加稳定的软件版本。

(3)在测试环境准备方面,分级建立功能验证和集成验证环境两个环境,分别开展配置项级测试和系统级测试,以适应迭代开发情况下的测试需求,确保“开发即测试,测试即提交”,加快版本迭代。

(4)在代码合规性检查方面,从系统技术体制和软件实现等方面着眼,建立软件集成和编码规则,在软件入库前由配置管理师进行检查。

(5)在版本管理工具方面,基于大型信息系统软件自身特点,自主研制满足按专业或功能域显示查询、按不同范围出库的版本控制工具,增强管理效率,确保软件版本依赖关系的可追溯性和出入库版本的准确性。

2.2 优化流程

优化后的版本管理流程可分为三个阶段实施,即设计开发阶段、迭代测试阶段和版本生成阶段。管理流程如图1所示。

(1)设计开发阶段

各专业负责人组织讨论用户需求(包括问题缺陷),形成《开发任务清单》,包括专业类别、需求或问题描述、解决措施、影响域分析、责任人等任务信息和软件设计流程,开发人员据此进行功能开发及问题整改,在开发环境完成初步集成测试后,提交可执行文件、变更说明至配置管理员。

(2)迭代测试阶段

迭代测试是根据每一轮迭代开发包含的特性数量,确定待测试的用例数量,将整个测试工作分割成一系列小型测试任务,并根据测试用例的数量与难度来安排测试人员参与迭代测试工作[5-9]。

迭代测试阶段,配置管理员需根据软件集成规范检查可执行文件的合规性,并记录软件版本状态;测试人员按照变更说明在功能验证环境验证功能、记录测试结果。

(3)版本生成阶段

根据版本计划,各专业负责人梳理待形成系统版本的对应功能配置项,由开发人员和配置管理员确认升级的可执行文件、版本号、升级说明。配置管理员将待升级的可执行文件入集成验证环境,测试人员按升级说明更新软件版本,并根据梳理的功能、影响域开展全系统业务流程测试,最终由项目负责人根据测试结果分析决策软件版本是否入受控库或产品库。

图1 软件版本管理优化流程

2.3 定制软件版本控制工具

由于大型信息系统研制项目存在可执行文件数目多、相互依赖、手工维护困难等问题,满足系统实际管理要求的版本控制工具非常必要。工具应支持:

(1)可执行文件管理。在实施版本管理前,配置管理员需先梳理由“专业-功能域-配置项”三级节点组成的系统功能体系树形结构,其中的一个配置项可关联一个或多个可执行文件,一个可执行文件可以同时关联多个配置项。通过该定制工具可以查看专业、功能域或配置项包含的可执行文件及其基本信息,包括可执行文件名称、可执行文件标识、版本号、文件类型、依赖关系、功能描述、变更说明等,可以保存、查询和删除可执行文件所有入库的历史版本。

(2)可执行文件入库。支持入库流程的信息化审批,包含入库时间、入库申请人、入库事由等信息。可执行文件单个或批量入库时自动关联软件集成规范审查,检查项主要包括版本号、依赖关系、功能描述、变更说明等信息。

(3)可执行文件出库。支持出库流程的信息化审批,包含出库时间、出库方式(新版本增量、全量等)、出库事由、版本发布说明、接收单位、联系人等信息。出库时对可执行文件之间的依赖关系进行合法性校验,并以拓扑图方式展现可执行文件之间的依赖关系。校验成功后自动将可执行文件及其依赖的可执行文件一并出库,同时具备按“专业-功能域-配置项-可执行文件-标识号-版本号-功能描述”的能力输出软件版本发布清单。

3 优化实施效果

3.1 入库管理和测试成效

按照优化后的版本管理及相应的迭代测试流程开展软件开发和测试后,收集了6周的入库和迭代测试数据见表1。

表1 入功能测试环境测试的数据

统计分析发现,随着迭代开发工作的持续进行,可执行文件持续入库,在新增问题率基本平稳的情况下,遗留问题率持续大幅衰减,产品质量逐步呈现提升趋势。

图2 迭代测试成效

3.2 代码合规性检查成效

配置管理员可以结合大型信息系统软件版本管理的实际要求,自编脚本实现代码合规性检查包括环境变量、动态库等等,提升代码入库的有效性。

图3 环境变量检测结果

图4 冗余动态库检测结果

图5 系统路径下动态库检测结果

3.3 工具实施效果

结合大型信息系统的设计和应用形态,自主研制的软件版本控制工具能够实现出入库流程的自动化审批和关联(见图6);出库时展现可执行文件间的依赖关系(见图7),解决了可执行文件数量多、依赖关系错综复杂导致的集成规范不一致和出库文件不完整等问题。

图6 出入库审批流程

图7 依赖关系拓扑图

本软件具有界面友好、结构清晰、实用性强、自动化程度高、流程可跟踪、版本可追溯的优点,工具使用后,软件版本得到了有效控制,为软件开发过程和版本发布提供了强大的支持,进而提高了软件产品质量。

5 结束语

本文从需求跟踪、配置库建立、测试环境准备、代码合规性检查、版本管理工具等五个方面对软件开发、测试和版本管理流程进行了优化,并结合自研的版本控制工具提升了版本管理的实施效果。该流程和工具已在多个实际项目中推广应用,切实提升了用户需求变化多、版本迭代快、参研单位多情况下的大型信息系统软件版本管理效率,成效明显。

[1]袁海林,陈钧.大型信息系统软件版本管理的研究与思考[J].电子世界,2018.

[2]顾梦华.基于CMMI的软件配置管理模型研究[J].微计算机信息,2012.

[3]杨智.一种软件版本管理模型设计[J].电子技术与软件工程,2019.

[4]陈勇.浅谈敏捷开发与迭代开发相结合[D].应用软件专题论文,2014.

[5]姜文,刘立康.应用软件项目的迭代开发与测试[J].计算机技术与发展,2019.

[6]CRISPIN L,GREGORY J. 敏捷软件测试:软件测试工程师与敏捷团队的实践指南[M]. 孙伟峰,崔康,译. 北京:清华大学出版社,2010.

[7]GREGORY J,CRISPIN L. 深入敏捷测试—整个敏捷团队的学习之旅[M]. 徐毅,夏雪,译. 北京:清华大学出版社,2017.

[8]杨丹君.迭代测试流程在软件测试中的应用[J].工业控制计算机,2016.

[9]尚洁,李春雷.快速迭代开发模式下系统测试方法[ J]. 指挥信息系统与技术,2017.

猜你喜欢

出库入库信息系统
企业信息系统安全防护
重磅!广东省“三旧”改造标图入库标准正式发布!
中国食品品牌库入库企业信息公示②
中国食品品牌库入库企业信息公示①
基于区块链的通航维护信息系统研究
散粮出库 加快腾仓
信息系统审计中计算机审计的应用
优化拍卖出库流程控制防范拍卖出库环节财务风险
“出库费” 应由谁来付
基于SG-I6000的信息系统运检自动化诊断实践