时间:2022-04-16 03:14:30
摘 要:本文介绍了ELIS海洋石油成像测井地面系统软件配置管理的实现,通过软件配置管理工具的应用,克服了ELIS系统开发过程中遇到的代码丢失、版本混乱、可靠性差、质量低劣、代码冗余、维护困难、团队沟通困难等软件开发过程中的严重问题,使ELIS软件开发的效率和质量都得到了大大的提高。
关键词:测井系统 配置管理 版本控制 基线 变更管理 缺陷管理
中图分类号:TE32 文献标识码:A 文章编号:1672-3791(2014)03(c)-0017-03
ELIS海洋石油成像测井系统(Enhanced Logging Imaging System)是中海油田股份有限公司自主研发具有自主知识产权的用于海上石油勘探开发的电缆测井成像系统,它主要由地面采集系统、井下仪器和数据解释处理三个部分组成。
ELIS地面系统分硬件和软件两大部分,在ELIS地面系统开发的早期阶段,因为开发人员比较少采用代码相互拷贝的方式来完成共同开发,这种方式随着开发人员的逐渐增加越来越显示出严重的问题主要包括:
(1)代码拷贝容易覆盖已经更改的代码,导致代码丢失。
(2)缺乏统一的管理,经常是一个人修改了某个程序,而别人都不知道,仍然使用旧的,并在旧版本的基础上又修改了,造成了不同版本的冲突。
(3)每个人的机器上都维护着一套代码,但它们之间的差别无法明确,也不确定哪个是正确完备的最新版本,导致版本混乱、代码冗余。
(4)为了最新版本,经常要核对各版本的差别,查找因版本混乱引起的错误,带来团队沟通成本增加。
(5)如果新版本失败的话,也很难回到某个旧版本上去,导致维护困难。
(6)随着ELIS系统的持续发展,已经有多个支持不同测井系统的软件平台,还用原来的文档拷贝模式会更加混乱。
1 软件配置概念的引人
软件配置管理(SCM)是处理软件变更管理的软件工程方法。SCM的目标是标识变更、控制变更、确保变更正确实现以及向其它人员报告变更,缺陷管理,版本控制。成功的软件配置管理保证软件开发的每个阶段都是可控的、可重复的,可以有效解决代码丢失、代码冲突、代码冗余、版本混乱、无法追溯旧版本等问题,极大地提高了软件质量、开发效率,缩短了开发周期。
2 软件配置管理工具的选择
2.1 本地软件变更管理工具
最初本计划选择IBM的ClearCase& ClearQuest软件系统来实现ELIS地面系统的软件配置管理,但是在应用的过程中我们发现ClearCase&ClearQuest系统庞大、应用和管理复杂,而且成本高昂,适用于开发人员多,组织机构复杂的大型软件的开发,对我们这样的中小开发团队并不适合,经过仔细研究,我们选择了Dynamsoft SourceAnywhere for VSS(简称:SAW)作为我们的软件配置管理工具。Dynamsoft SourceAnywhere for VSS是一种可视化的 SourceSafe远程获取解决方案。作为一个 SourceSafe中外加的工具,SourceAnywhere for VSS为SourceSafe的用户提供了更快,更可信,更安全的远程获取功能。
Dynamsoft SourceAnywhere for VSS的优点:
(1)强大的功能。
创建项目,增加文件,删除文件或项目,获取最近的版本,签入,签出,撤消,移动,配置,共享,分支,浏览,编辑,显示差别,设置工作文件夹,刷新文件列表,刷新项目树,显示属性,显示历史,标签,锁定,改名,改密码,隐蔽项目,状态搜索,通配符搜索等。
(2)配置、操作简单便于管理、使用。
(3)支持分布式结构使得团队成长―― 通过Client/Server结构进行多点复制和及时的对象版本的更新来实现。
(4)安全性:使用128-bit Blowfish来保护数据,使用强大的密码机制来保护密码,Client-server体系.无需暴露VSS数据库文件夹。
(5)Dynamsoft SourceAnywhere for VSS是开源的,可以在网上下载,节约成本。
因为Dynamsoft SourceAnywhere for VSS采用Client/Server结构,所以ELIS用SAW作为配置管理工具也需要配置服务器端和客户端,服务器端选用一台高性能且磁盘空间大的计算机,安装配置VSS及SourceAnyWhere For Server,为每个项目添加相应的数据库,并把代码拷贝到数据库中(见图1)。
每个开发人员的计算机都要安装SAW的客户端程序,安装完后弹出连接到服务器对话框,输入服务器IP地址和端口号,点击Connect连接(见图2)。
弹出登录界面(见图3)。
在登录界面中选择要登陆的数据库,因为ELIS系统的持续发展,已经有多个支持不同测井系统的软件平台包括:ELIS_FIELD(只支持低端仪器的版本)、ELIS_FCT(支持各种高端仪器的多线程版)、ELIS_MRT(支持核磁仪器的特殊版本)、ELIS_70(挂接小井眼仪器的版本)、ELIS_1000(高速传输版本)、ELIS2_HARDWARE(与ELIS硬件相关的嵌入式软件版本)等,每个版本都有相应的数据库,开发人员登录时在Database选择自己要修改的版本,输入用户名和密码即可登录。每个数据库会对特定的开发人员开发,如果该数据库没有给开发人员分配用户名和密码,则该开发人员是无法进入该数据库的。点击OK弹出SAW客户端界面:(见图4)。
在该界面可以实现创建项目,增加文件,删除文件或项目,获取最近的版本,签入,签出,显示差别,设置工作文件夹等一系列操作。
2.2 本地缺陷管理工具:Bugfree
Dynamsoft SourceAnywhere for VSS主要的作用是对代码的一致性、完整性及软件版本的管理控制,但是对软件开发过程中的缺陷管理并不适用。以前测试出的问题都是以口头或Email的方式指派,问题很容易被忽略或遗忘,随着ELIS系统不断扩展,需要维护的系统和软件版本,这种缺陷管理的方式越来越不适合,因此,我们采用Bugfree问题跟踪系统来管理缺陷,它的主要优点包括:
(1)可以给每个项目分配一个数据库,该项目的所有Bug放在这个数据库里统一编号,方便查询管理。
(2)一个项目内还可以划分多个功能模块,把bug具体归类,便于查找和修改bug。
(3)每个Bug都有明确的发现人、修改人,开发人员登录进去后按自己的名字查询就可以找到本项目中指派给自己的bug。
(4)Bug的状态在修改后需要设置为关闭,这样在查询需要修改的bug时,关闭的bug就不会查询到。
(5)Bugfree还提供上传文本的功能,可以填写bug的复现步骤、解决方案等补充内容。
(6)可以指定bug的优先级,急于解决的bug可以设置较高的优先级,提示修改人优先修改。
Bugfree管理者页面(见图5)。
Bugfree使用者页面。
在使用Bugfree后,ELIS项目管理人员对各项目的bug分布和修改进度一目了然,彻底扭转了以前bug管理混乱的局面。
3 结语
ELIS成像测井地面系统软件通过Dynamsoft SourceAnywhere for VSS和Bugfree成功实现了对软件的配置管理、版本控制、变更管理、缺陷管理,实现对软件的整个生命周期的工程化管理,极大的提高了ELIS系统的软件开发效率、软件的稳定性和健壮性。为ELIS成像测井系统的推广应用起到了非常重要的作用。
参考文献
[1] Jim Beveridge&Robert Wiener. Multithreading Application in Win32[M].华中科技大学出版社,2008.
[2] 孟显英.浅谈软件配置管理[J].电脑知识与技术,2010(6):5092-5097.
[3] 黄琳芳.软件配置管理在项目开发过程中的应用[J].宝信软件与标准化专栏,2009(10):47-49.