蘭洪霞++孟悅新++董琳++張國威
摘 要:本文介紹了ELIS海洋石油成像測井地面系統(tǒng)軟件配置管理的實現(xiàn),通過軟件配置管理工具的應用,克服了ELIS系統(tǒng)開發(fā)過程中遇到的代碼丟失、版本混亂、可靠性差、質量低劣、代碼冗余、維護困難、團隊溝通困難等軟件開發(fā)過程中的嚴重問題,使ELIS軟件開發(fā)的效率和質量都得到了大大的提高。
關鍵詞:測井系統(tǒng) 配置管理 版本控制 基線 變更管理 缺陷管理
中圖分類號:TE32 文獻標識碼:A 文章編號:1672-3791(2014)03(c)-0017-03
ELIS海洋石油成像測井系統(tǒng)(Enhanced Logging Imaging System)是中海油田股份有限公司自主研發(fā)具有自主知識產(chǎn)權的用于海上石油勘探開發(fā)的電纜測井成像系統(tǒng),它主要由地面采集系統(tǒng)、井下儀器和數(shù)據(jù)解釋處理三個部分組成。
ELIS地面系統(tǒng)分硬件和軟件兩大部分,在ELIS地面系統(tǒng)開發(fā)的早期階段,因為開發(fā)人員比較少采用代碼相互拷貝的方式來完成共同開發(fā),這種方式隨著開發(fā)人員的逐漸增加越來越顯示出嚴重的問題主要包括:
(1)代碼拷貝容易覆蓋已經(jīng)更改的代碼,導致代碼丟失。
(2)缺乏統(tǒng)一的管理,經(jīng)常是一個人修改了某個程序,而別人都不知道,仍然使用舊的,并在舊版本的基礎上又修改了,造成了不同版本的沖突。
(3)每個人的機器上都維護著一套代碼,但它們之間的差別無法明確,也不確定哪個是正確完備的最新版本,導致版本混亂、代碼冗余。
(4)為了發(fā)布最新版本,經(jīng)常要核對各版本的差別,查找因版本混亂引起的錯誤,帶來團隊溝通成本增加。
(5)如果新版本失敗的話,也很難回到某個舊版本上去,導致維護困難。
(6)隨著ELIS系統(tǒng)的持續(xù)發(fā)展,已經(jīng)有多個支持不同測井系統(tǒng)的軟件平臺,還用原來的文檔拷貝模式會更加混亂。
1 軟件配置概念的引人
軟件配置管理(SCM)是處理軟件變更管理的軟件工程方法。SCM的目標是標識變更、控制變更、確保變更正確實現(xiàn)以及向其它人員報告變更,缺陷管理,版本控制。成功的軟件配置管理保證軟件開發(fā)的每個階段都是可控的、可重復的,可以有效解決代碼丟失、代碼沖突、代碼冗余、版本混亂、無法追溯舊版本等問題,極大地提高了軟件質量、開發(fā)效率,縮短了開發(fā)周期。
2 軟件配置管理工具的選擇
2.1 本地軟件變更管理工具
最初本計劃選擇IBM的ClearCase& ClearQuest軟件系統(tǒng)來實現(xiàn)ELIS地面系統(tǒng)的軟件配置管理,但是在應用的過程中我們發(fā)現(xiàn)ClearCase&ClearQuest系統(tǒng)龐大、應用和管理復雜,而且成本高昂,適用于開發(fā)人員多,組織機構復雜的大型軟件的開發(fā),對我們這樣的中小開發(fā)團隊并不適合,經(jīng)過仔細研究,我們選擇了Dynamsoft SourceAnywhere for VSS(簡稱:SAW)作為我們的軟件配置管理工具。Dynamsoft SourceAnywhere for VSS是一種可視化的 SourceSafe遠程獲取解決方案。作為一個 SourceSafe中外加的工具,SourceAnywhere for VSS為SourceSafe的用戶提供了更快,更可信,更安全的遠程獲取功能。
Dynamsoft SourceAnywhere for VSS的優(yōu)點:
(1)強大的功能。
創(chuàng)建項目,增加文件,刪除文件或項目,獲取最近的版本,簽入,簽出,撤消,移動,配置,共享,分支,瀏覽,編輯,顯示差別,設置工作文件夾,刷新文件列表,刷新項目樹,顯示屬性,顯示歷史,標簽,鎖定,改名,改密碼,隱蔽項目,狀態(tài)搜索,通配符搜索等。
(2)配置、操作簡單便于管理、使用。
(3)支持分布式結構使得團隊成長—— 通過Client/Server結構進行多點復制和及時的對象版本的更新來實現(xiàn)。
(4)安全性:使用128-bit Blowfish來保護數(shù)據(jù),使用強大的密碼機制來保護密碼,Client-server體系.無需暴露VSS數(shù)據(jù)庫文件夾。
(5)Dynamsoft SourceAnywhere for VSS是開源的,可以在網(wǎng)上下載,節(jié)約成本。
因為Dynamsoft SourceAnywhere for VSS采用Client/Server結構,所以ELIS用SAW作為配置管理工具也需要配置服務器端和客戶端,服務器端選用一臺高性能且磁盤空間大的計算機,安裝配置VSS及SourceAnyWhere For Server,為每個項目添加相應的數(shù)據(jù)庫,并把代碼拷貝到數(shù)據(jù)庫中(見圖1)。
每個開發(fā)人員的計算機都要安裝SAW的客戶端程序,安裝完后彈出連接到服務器對話框,輸入服務器IP地址和端口號,點擊Connect連接(見圖2)。
彈出登錄界面(見圖3)。
在登錄界面中選擇要登陸的數(shù)據(jù)庫,因為ELIS系統(tǒng)的持續(xù)發(fā)展,已經(jīng)有多個支持不同測井系統(tǒng)的軟件平臺包括:ELIS_FIELD(只支持低端儀器的版本)、ELIS_FCT(支持各種高端儀器的多線程版)、ELIS_MRT(支持核磁儀器的特殊版本)、ELIS_70(掛接小井眼儀器的版本)、ELIS_1000(高速傳輸版本)、ELIS2_HARDWARE(與ELIS硬件相關的嵌入式軟件版本)等,每個版本都有相應的數(shù)據(jù)庫,開發(fā)人員登錄時在Database選擇自己要修改的版本,輸入用戶名和密碼即可登錄。每個數(shù)據(jù)庫會對特定的開發(fā)人員開發(fā),如果該數(shù)據(jù)庫沒有給開發(fā)人員分配用戶名和密碼,則該開發(fā)人員是無法進入該數(shù)據(jù)庫的。點擊OK彈出SAW客戶端界面:(見圖4)。
在該界面可以實現(xiàn)創(chuàng)建項目,增加文件,刪除文件或項目,獲取最近的版本,簽入,簽出,顯示差別,設置工作文件夾等一系列操作。
2.2 本地缺陷管理工具:Bugfree
Dynamsoft SourceAnywhere for VSS主要的作用是對代碼的一致性、完整性及軟件版本的管理控制,但是對軟件開發(fā)過程中的缺陷管理并不適用。以前測試出的問題都是以口頭或Email的方式指派,問題很容易被忽略或遺忘,隨著ELIS系統(tǒng)不斷擴展,需要維護的系統(tǒng)和軟件版本,這種缺陷管理的方式越來越不適合,因此,我們采用Bugfree問題跟蹤系統(tǒng)來管理缺陷,它的主要優(yōu)點包括:
(1)可以給每個項目分配一個數(shù)據(jù)庫,該項目的所有Bug放在這個數(shù)據(jù)庫里統(tǒng)一編號,方便查詢管理。
(2)一個項目內(nèi)還可以劃分多個功能模塊,把bug具體歸類,便于查找和修改bug。
(3)每個Bug都有明確的發(fā)現(xiàn)人、修改人,開發(fā)人員登錄進去后按自己的名字查詢就可以找到本項目中指派給自己的bug。
(4)Bug的狀態(tài)在修改后需要設置為關閉,這樣在查詢需要修改的bug時,關閉的bug就不會查詢到。
(5)Bugfree還提供上傳文本的功能,可以填寫bug的復現(xiàn)步驟、解決方案等補充內(nèi)容。
(6)可以指定bug的優(yōu)先級,急于解決的bug可以設置較高的優(yōu)先級,提示修改人優(yōu)先修改。
Bugfree管理者頁面(見圖5)。
Bugfree使用者頁面。
在使用Bugfree后,ELIS項目管理人員對各項目的bug分布和修改進度一目了然,徹底扭轉了以前bug管理混亂的局面。
3 結語
ELIS成像測井地面系統(tǒng)軟件通過Dynamsoft SourceAnywhere for VSS和Bugfree成功實現(xiàn)了對軟件的配置管理、版本控制、變更管理、缺陷管理,實現(xiàn)對軟件的整個生命周期的工程化管理,極大的提高了ELIS系統(tǒng)的軟件開發(fā)效率、軟件的穩(wěn)定性和健壯性。為ELIS成像測井系統(tǒng)的推廣應用起到了非常重要的作用。
參考文獻
[1] Jim Beveridge&Robert Wiener. Multithreading Application in Win32[M].華中科技大學出版社,2008.
[2] 孟顯英.淺談軟件配置管理[J].電腦知識與技術,2010(6):5092-5097.
[3] 黃琳芳.軟件配置管理在項目開發(fā)過程中的應用[J].寶信軟件與標準化專欄,2009(10):47-49.
2.2 本地缺陷管理工具:Bugfree
Dynamsoft SourceAnywhere for VSS主要的作用是對代碼的一致性、完整性及軟件版本的管理控制,但是對軟件開發(fā)過程中的缺陷管理并不適用。以前測試出的問題都是以口頭或Email的方式指派,問題很容易被忽略或遺忘,隨著ELIS系統(tǒng)不斷擴展,需要維護的系統(tǒng)和軟件版本,這種缺陷管理的方式越來越不適合,因此,我們采用Bugfree問題跟蹤系統(tǒng)來管理缺陷,它的主要優(yōu)點包括:
(1)可以給每個項目分配一個數(shù)據(jù)庫,該項目的所有Bug放在這個數(shù)據(jù)庫里統(tǒng)一編號,方便查詢管理。
(2)一個項目內(nèi)還可以劃分多個功能模塊,把bug具體歸類,便于查找和修改bug。
(3)每個Bug都有明確的發(fā)現(xiàn)人、修改人,開發(fā)人員登錄進去后按自己的名字查詢就可以找到本項目中指派給自己的bug。
(4)Bug的狀態(tài)在修改后需要設置為關閉,這樣在查詢需要修改的bug時,關閉的bug就不會查詢到。
(5)Bugfree還提供上傳文本的功能,可以填寫bug的復現(xiàn)步驟、解決方案等補充內(nèi)容。
(6)可以指定bug的優(yōu)先級,急于解決的bug可以設置較高的優(yōu)先級,提示修改人優(yōu)先修改。
Bugfree管理者頁面(見圖5)。
Bugfree使用者頁面。
在使用Bugfree后,ELIS項目管理人員對各項目的bug分布和修改進度一目了然,徹底扭轉了以前bug管理混亂的局面。
3 結語
ELIS成像測井地面系統(tǒng)軟件通過Dynamsoft SourceAnywhere for VSS和Bugfree成功實現(xiàn)了對軟件的配置管理、版本控制、變更管理、缺陷管理,實現(xiàn)對軟件的整個生命周期的工程化管理,極大的提高了ELIS系統(tǒng)的軟件開發(fā)效率、軟件的穩(wěn)定性和健壯性。為ELIS成像測井系統(tǒng)的推廣應用起到了非常重要的作用。
參考文獻
[1] Jim Beveridge&Robert Wiener. Multithreading Application in Win32[M].華中科技大學出版社,2008.
[2] 孟顯英.淺談軟件配置管理[J].電腦知識與技術,2010(6):5092-5097.
[3] 黃琳芳.軟件配置管理在項目開發(fā)過程中的應用[J].寶信軟件與標準化專欄,2009(10):47-49.
2.2 本地缺陷管理工具:Bugfree
Dynamsoft SourceAnywhere for VSS主要的作用是對代碼的一致性、完整性及軟件版本的管理控制,但是對軟件開發(fā)過程中的缺陷管理并不適用。以前測試出的問題都是以口頭或Email的方式指派,問題很容易被忽略或遺忘,隨著ELIS系統(tǒng)不斷擴展,需要維護的系統(tǒng)和軟件版本,這種缺陷管理的方式越來越不適合,因此,我們采用Bugfree問題跟蹤系統(tǒng)來管理缺陷,它的主要優(yōu)點包括:
(1)可以給每個項目分配一個數(shù)據(jù)庫,該項目的所有Bug放在這個數(shù)據(jù)庫里統(tǒng)一編號,方便查詢管理。
(2)一個項目內(nèi)還可以劃分多個功能模塊,把bug具體歸類,便于查找和修改bug。
(3)每個Bug都有明確的發(fā)現(xiàn)人、修改人,開發(fā)人員登錄進去后按自己的名字查詢就可以找到本項目中指派給自己的bug。
(4)Bug的狀態(tài)在修改后需要設置為關閉,這樣在查詢需要修改的bug時,關閉的bug就不會查詢到。
(5)Bugfree還提供上傳文本的功能,可以填寫bug的復現(xiàn)步驟、解決方案等補充內(nèi)容。
(6)可以指定bug的優(yōu)先級,急于解決的bug可以設置較高的優(yōu)先級,提示修改人優(yōu)先修改。
Bugfree管理者頁面(見圖5)。
Bugfree使用者頁面。
在使用Bugfree后,ELIS項目管理人員對各項目的bug分布和修改進度一目了然,徹底扭轉了以前bug管理混亂的局面。
3 結語
ELIS成像測井地面系統(tǒng)軟件通過Dynamsoft SourceAnywhere for VSS和Bugfree成功實現(xiàn)了對軟件的配置管理、版本控制、變更管理、缺陷管理,實現(xiàn)對軟件的整個生命周期的工程化管理,極大的提高了ELIS系統(tǒng)的軟件開發(fā)效率、軟件的穩(wěn)定性和健壯性。為ELIS成像測井系統(tǒng)的推廣應用起到了非常重要的作用。
參考文獻
[1] Jim Beveridge&Robert Wiener. Multithreading Application in Win32[M].華中科技大學出版社,2008.
[2] 孟顯英.淺談軟件配置管理[J].電腦知識與技術,2010(6):5092-5097.
[3] 黃琳芳.軟件配置管理在項目開發(fā)過程中的應用[J].寶信軟件與標準化專欄,2009(10):47-49.