999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MD5軟件在版本控制中的應用研究

2016-10-19 02:39:48李韓芬張家鳳
無線互聯科技 2016年17期
關鍵詞:管理

李韓芬,張家鳳,陳 瑩

(中國電子科技集團公司 第二十八研究所,江蘇 南京 210007)

MD5軟件在版本控制中的應用研究

李韓芬,張家鳳,陳瑩

(中國電子科技集團公司 第二十八研究所,江蘇 南京 210007)

有效的配置管理能使軟件系統能夠很好地適應外界需求的變化,也能使項目后期的維護和升級得到保證。針對軟件項目開發過程中常出現的文檔及源代碼變更頻繁、修改沖突等問題,文章對版本控制的原理和現狀作了介紹。為優化軟件項目管理,解決軟件版本難于控制的問題,研究了具有文件校驗功能的MD5軟件,文章結合工程實踐,探討了一種在版本控制過程中使用MD5軟件的規范和流程,實踐證明這是保護軟件資源、加強軟件版本控制的有效途徑。

版本控制;配置管理;MD5

軟件配置管理是在項目開發過程中標識、控制和管理軟件變更的一種管理活動。有效的配置管理可以使軟件系統很好地適應外界需求的變化,也使項目后期的維護和升級得到保證[1]。

軟件版本管理是對軟件開發過程中涉及的各種軟件資源進行管理,是實現軟件配置管理的基礎和核心。有效的版本管理有助于對軟件開發過程中產生的各種中間產品實施管理,也有助于選擇合適版本的構件組成軟件產品進行發布[2]。

1 版本控制

1.1版本控制工具

早在70年代初期,人們就提出了軟件配置管理的概念和軟件過程工程的一些思想,研究實現了第一代軟件配置管理工具,這些工具通過在特定的時刻標識軟件系統的配置,系統化地控制配置的變更,維護了配置的完整性和可追溯性[3]。

近年來,由于軟件規模日趨大型化和復雜化,軟件修改也變得越來越頻繁,軟件版本管理顯得尤為重要。一些版本控制工具如VSS(Visual SourceSafe),ClearCase,CVS(Concurrent Version System,版本控制系統的一種)和SVN(Subversion,版本管理工具)等,能夠與流行的開發工具有機結合完整地保存開發過程中對每一個源文件所做的修改,解決軟件開發過程中的版本管理和控制問題。這些工具引入了一種版本管理機制,是廣義上的版本管理,它不僅對源代碼的版本進行管理,而且對整個項目進行管理。

1.2版本控制及現狀

版本控制(Revision Control)是軟件配置管理的重要活動,因為軟件變更常常帶來軟件版本的改變與新版本的發布,必須進行有效地控制。

貝爾實驗室《配置管理的精髓》中描述“版本控制就是對軟件開發過程中所創建的配置對象的不同版本進行管理,保證任何時候都能獲取正確的版本以及版本的組合”。版本控制的對象包括技術文檔、源代碼、規范、可執行文件等,其目的在于對軟件開發過程中的這些對象提供有效的跟蹤手段,便于對版本進行檢索和跟蹤,避免文件的丟失和覆蓋。

軟件項目通常是由項目組來共同進行需求分析、軟件設計、實現、測試和維護,在軟件交付后發現的軟件缺陷和用戶提出的軟件改進將重復上述流程,每個階段都會產生數據文件。由于軟件開發所固有的特征,可能會形成眾多的軟件版本,而且可能存在某個版本的修改是錯誤的,并且由于不同的需求,會出現同一個軟件不同版本給不同的用戶。

在版本較多、生命周期較長的大型項目中往往容易出現以下問題[4]:

(1)代碼管理混亂;解決代碼沖突困難;(2)在代碼整合期間引入深層BUG;(3)無法對代碼擁有者進行權限控制;(4)缺少版本說明的頻繁的版本發布;(5)因缺少有效的管理,可執行程序和源代碼不能相互對應的情況。

進行版本控制是團隊軟件開發的必然選擇,也是持續集成的基礎,從而保障項目開發資料(源代碼、技術文檔等)的完整性、安全性。

2 基于MD5軟件的版本控制

2.1MD5算法簡介及MD5軟件應用

MD5[5]是message-digest algorithm 5(信息—摘要算法)的縮寫,是對一段字節串(Message)產生指紋(Fingerprint),被廣泛應用于加密及解密技術上,它可以說是文件的“數字指紋”。MD5算法簡要的敘述為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理后,算法的輸出由4個32位分組組成,將這4個32位分組級聯后將生成一個128位散列值。

MD5算法具有以下特點:(1)壓縮性:任意長度的數據,算出的MD5值長度都是固定的;(2)容易計算:從原數據計算出MD5值很容易;(3)抗修改性:對原數據進行任何改動,哪怕只修改1個字節,所得到的MD5值都有很大區別;(4)強抗碰撞:已知原數據和其MD5值,想找到一個具有相同MD5值的數據(即偽造數據)是非常困難的。

任何一個文件,無論是可執行程序、源代碼、圖像文件、臨時文件或者其他任何類型的文件,也不管它體積多大,都有且只有一個獨一無二的MD5信息值,并且如果這個文件被修改過,它的MD5值也將隨之改變。因此,我們可以通過對比同一文件的MD5值,來校驗這個文件是否被修改,這使得MD5軟件在文件一致性校驗方面有著廣泛的應用。

工程實踐中使用典型的WinMD5軟件,這是一款綠色工具軟件,是一款可以對所有文件類型計算MD5值,并通過校驗MD5值來判斷文件是否被修改的軟件,該軟件對眾多的常用文件類型(*.cpp,*.c,*.h,*.doc,*.html,*.xls,*.txt,*.exe,*.md5等等)的版本檢測都提供了便捷的手段,是一款適用于多種場景文件校驗的工具軟件,WinMD5軟件使用要點如下。

(1)計算MD5值:通過工具欄“文件→打開文件”或快捷菜單“打開”/“文件”選擇要校驗MD5值的文件,或者拖動文件到軟件處理框內(支持批量文件MD5值計算),即可顯示文件名稱及其MD5值等信息。

(2)復制MD5值:選定所需要復制的MD5值,通過“CTRL+C”或者工具欄“編輯→復制”可以保留文件名稱及其校驗的MD5值。

(3)另存為*.md5:通過工具欄“文件→保存MD5文件”或快捷菜單“保存”可以生成軟件當前所校驗文件名及其MD5值對應的md5文件。

(4)通過*.md5文件校驗:將保存的*.md5文件拖到軟件處理框內,即可顯示文件匹配、不匹配信息,文件及其MD5值均一致的,*.md5文件校驗為“匹配”;未包含的文件及MD5值,*.md5文件的校驗為“未知”;內容已修改的同名文件,*.md5文件校驗為“不匹配”。

軟件操作界面、MD5值生成、MD5值校驗如圖1—2所示,將圖1中的MD5校驗結果保存為“test.md5”,圖2是通過“test.md5”對原始文件、修改文件、新文件執行校驗操作的結果示意。2.2 MD5軟件在版本控制中的應用

圖1 WinMD5軟件示意

圖2 WinMD5軟件文件校驗結果示意

在軟件資源的源代碼上,通過備注行能夠盡可能把每次修改的痕跡保留下來。這些痕跡包括修改的時間、地點、人員、修改原因、修改內容等。源代碼上有這些修改說明,會對軟件的維護、查找錯誤帶來極大的方便,但是在修改內容很多的情況下,這種檢索方式并不是高效的。

對于項目經理、配置管理人員、質量管理人員及項目后期維護人員等角色,關注的重點是軟件版本的動態性變更而非精細的開發過程版本,版本演變過程及其相關說明能夠更直觀地展示軟件的技術狀態。動態性是指版本在軟件生命周期內其狀態在不斷地改變,包括版本生成、有效至消失,如圖3所示。重點關注軟件版本動態性變更的需求就要求結合工程實踐在版本控制過程中增加有效的措施。

圖3 版本的動態性示意

基于MD5軟件的版本一致性校驗功能,并結合工程實踐,在項目的軟件版本控制(包括源代碼、可執行程序、配置文件)中增加MD5值校驗以及詳細的說明有助于更好地開展版本控制,同時MD5值校驗功能還可應用于項目技術文檔等的版本控制,如表1所示。

(1)版本唯一性控制:按照表1內容完成第一個版本及變更版本的信息錄入,對版本進行有效的標識、管理及差異識別,并對相應版本的軟件源代碼、可執行程序、配置文件等文件生成MD5值,從而完整、明確地記載開發過程中的歷史變化。其中,第一個版本不需要填寫修改輸入、修改說明、影響域分析信息。

(2)版本準確性控制:項目開展軟件測試、現場聯試、因需求變更開展軟件改動、軟件升級、軟件交付與維護等版本的獲取均需要對照相應版本的MD5值進行校驗,以確認版本的唯一性與準確性;同時,對每個軟件模塊的版本控制有助于實現對研發小組各成員所做的修改進行統一匯總,從而形成某一特定版本的軟件配置項或軟件系統。

(3)版本恢復性控制:基于明確的版本修改說明及版本唯一性控制,能夠在項目周期內撤銷錯誤的改動,快速恢復到特定版本的狀態,也可以隨時檢查并獲取正確的歷史版本,還原到歷史上某階段曾經運行的狀態,以便適應某些歷史查詢的需要。

(4)版本映射關系控制:對于規模較大并且不同用戶需求有差異的系統,可以根據不同用戶的需求配置不同的軟件系統,在版本控制記錄表中詳細說明;源代碼與可執行程序,可執行程序與配置文件之間的對應關系是影響系統運行狀態的重點因素之一,在配置文件說明一欄詳細列出每個配置文件實現的功能及其MD5值,通過版本控制記錄它們之間的映射關系,能夠有效地解決因源代碼與可執行程序以及可執行程序與配置文件對應關系錯亂帶來的問題。

表1 版本控制記錄模板

基于MD5軟件的版本控制可以解決很多問題,包括有效隔離開發環境、測試環境;評估開發質量;根據不同用戶的需求,配置不同的軟件系統;保存系統歷史版本,為撤銷修改或追溯問題提供支持;支持多個軟件開發人員共同開發一個項目,或同時修改一個軟件配置項;存儲軟件的多個版本,清晰地展示軟件版本的演進過程,便于進行版本控制、提高團隊開發與項目管理效率。

3 結語

在團隊項目開發中,版本控制能夠對軟件開發的整個過程進行有效管理,解決軟件開發中出現的源代碼、可執行程序版本混亂,同時利用MD5軟件的一致性校驗功能可以更高效地解決版本控制無序、難追溯等問題,使項目能夠恢復到任一個歷史狀態,并可以按不同配置選取文件進行部署,方便進行軟件項目的開發和管理,能確保軟件配置項在軟件生命周期始終受控,有效地提高了團隊的工作效率并規范了項目開發流程,從而提高軟件產品的可靠性和穩定性。

[1]任永昌,朱萍,李仲秋.基于基線的軟件配置管理版本控制[J].計算機技術與發展,2012(11):113-1159.

[2]劉燕秋,勉玉靜,趙文耘.軟件配置管理中版本管理技術研究[J].計算機工程與應用,2003(21):68-71.

[3]倪曉峰,趙文耘,張捷.構件軟件配置管理以及其版本控制技術研究[J].計算機工程與應用,2005(2):94-98.

[4]趙穎,蔡伶.增量開發軟件項目版本管理關鍵問題解析[J].軟件導刊,2012(5):3-4.

[5]李杰,張學旺.MD5報文摘要算法與文件系統完整性保護[J].湘潭大學自然科學學報,2003(3):96-100.

Study of application on revision control based on MD5 software

Li Hanfen, Zhang Jiafeng, Chen Ying
(The 28th Research Institute of China Electronics Technology Group Corporation, Nanjing 210007, China)

Software system can easily adapt to the changes of external demands based on effective confguration management, it also makes the maintenance and upgrading of any project be guaranteed. Considering frequent changes of documents and source code, as well as conficted modifcation, this paper presented the principles and current status of revision control. To improve project management and solve the revision control issue, the MD5 software with fle check sum function is applied to the use of revision control. As well, this paper showed the standards and processes combining engineering practice. At last, it proved this method presented in this paper can protect software resource and enhance revision control.

revision control; confguration management; MD5

李韓芬(1988— ),女,江蘇宿遷,碩士,工程師;研究方向:軟件測試。

猜你喜歡
管理
棗前期管理再好,后期管不好,前功盡棄
今日農業(2022年15期)2022-09-20 06:56:20
《水利建設與管理》征訂啟事
聆聽兩會
——關注自然資源管理
2020年《水利建設與管理》征稿函
運行管理
管理就是溝通
中國制筆(2019年1期)2019-08-28 10:07:26
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
解秘眼健康管理
“這下管理創新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 国产亚洲男人的天堂在线观看| 日本精品αv中文字幕| 精品国产自在在线在线观看| 一级在线毛片| 日韩经典精品无码一区二区| 91在线日韩在线播放| 丁香婷婷在线视频| 成人在线观看一区| 中国美女**毛片录像在线| 98超碰在线观看| 亚洲热线99精品视频| 国产交换配偶在线视频| 亚洲热线99精品视频| 视频二区中文无码| 国产内射一区亚洲| 超级碰免费视频91| 国产欧美视频综合二区| 国产一级视频久久| 亚洲中文字幕97久久精品少妇| 国产人成午夜免费看| 成人午夜视频免费看欧美| 2021国产精品自拍| 国产精品大尺度尺度视频| 国产永久免费视频m3u8| 大香网伊人久久综合网2020| jizz在线观看| 91无码国产视频| 18禁色诱爆乳网站| 免费毛片网站在线观看| 国产精品香蕉在线| 国产视频a| 2020最新国产精品视频| 国产美女91视频| 毛片视频网址| 国产精品分类视频分类一区| 久久这里只有精品免费| 亚洲欧美日韩中文字幕在线一区| 国产91成人| 国内精品视频在线| 找国产毛片看| 亚洲欧美另类久久久精品播放的| 亚洲欧美在线综合一区二区三区| 国产91丝袜在线播放动漫 | 制服无码网站| 99久久婷婷国产综合精| 最近最新中文字幕免费的一页| 干中文字幕| 日本影院一区| 一边摸一边做爽的视频17国产 | 亚洲国产一成久久精品国产成人综合| 亚洲码一区二区三区| 欧美色图第一页| 免费 国产 无码久久久| 国产午夜一级毛片| 国产精品毛片在线直播完整版| 国产视频只有无码精品| 久久久久亚洲精品成人网| 特级精品毛片免费观看| 久综合日韩| 国产一区三区二区中文在线| 亚洲国产成人麻豆精品| 欧美69视频在线| 日本高清成本人视频一区| 成人噜噜噜视频在线观看| 国产乱子伦视频在线播放| 天天干天天色综合网| 国产欧美精品专区一区二区| 欧美三级视频在线播放| 91黄视频在线观看| 狠狠v日韩v欧美v| 国产欧美专区在线观看| 福利一区在线| 国产特级毛片| 日本成人福利视频| 999国内精品视频免费| 国产午夜精品一区二区三区软件| 91精品国产自产91精品资源| 亚洲Av综合日韩精品久久久| 亚洲天堂成人在线观看| 国产欧美日韩一区二区视频在线| 亚洲国产第一区二区香蕉| 天天摸天天操免费播放小视频|