亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

        李韓芬,張家鳳,陳 瑩

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

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

        李韓芬,張家鳳,陳瑩

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

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

        版本控制;配置管理;MD5

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

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

        1 版本控制

        1.1版本控制工具

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

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

        1.2版本控制及現(xiàn)狀

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

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

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

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

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

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

        2 基于MD5軟件的版本控制

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

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

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

        任何一個文件,無論是可執(zhí)行程序、源代碼、圖像文件、臨時文件或者其他任何類型的文件,也不管它體積多大,都有且只有一個獨一無二的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”對原始文件、修改文件、新文件執(zhí)行校驗操作的結果示意。2.2 MD5軟件在版本控制中的應用

        圖1 WinMD5軟件示意

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

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

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

        圖3 版本的動態(tài)性示意

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

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

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

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

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

        表1 版本控制記錄模板

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

        3 結語

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

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

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

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

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

        [5]李杰,張學旺.MD5報文摘要算法與文件系統(tǒng)完整性保護[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— ),女,江蘇宿遷,碩士,工程師;研究方向:軟件測試。

        猜你喜歡
        管理
        棗前期管理再好,后期管不好,前功盡棄
        《水利建設與管理》征訂啟事
        聆聽兩會
        ——關注自然資源管理
        2020年《水利建設與管理》征稿函
        運行管理
        管理就是溝通
        中國制筆(2019年1期)2019-08-28 10:07:26
        加強土木工程造價的控制與管理
        如何加強土木工程造價的控制與管理
        解秘眼健康管理
        “這下管理創(chuàng)新了!等7則
        雜文月刊(2016年1期)2016-02-11 10:35:51
        国产亚洲精品aaaa片app| 水野优香中文字幕av网站| 国产老熟女网站| 中文字幕精品久久久久人妻红杏1 丰满人妻妇伦又伦精品国产 | 亚洲一本到无码av中文字幕| 久久精品国产99精品国偷| 毛片色片av色在线观看| 精品国产成人av久久| 女人被狂c躁到高潮视频| 99国产免费热播视频| 免费的黄网站精品久久| 麻豆精品一区二区综合av| 帮老师解开蕾丝奶罩吸乳视频 | 三级黄片一区二区三区| 中国一级特黄真人片久久| 大肉大捧一进一出好爽视色大师| 国产内射XXXXX在线| 精品在线亚洲一区二区三区| 久久亚洲av成人无码电影| 水蜜桃亚洲一二三四在线| 国产精品98视频全部国产| 一本色道加勒比精品一区二区| 久久无码字幕中文久久无码| 丰满爆乳一区二区三区| 国产经典免费视频在线观看| 蜜臀av一区二区三区久久| 丰满少妇a级毛片野外| 久久狠狠高潮亚洲精品暴力打 | 厨房人妻hd中文字幕| 乱子伦视频在线看| 中日无码精品一区二区三区| 亚洲国产精品区在线观看| 国产精品无码久久久久成人影院| 中文毛片无遮挡高潮| 国产精品亚洲一区二区三区久久| 亚洲人成网线在线播放va蜜芽 | 午夜精品久久久久久99热| 国产成人av综合亚洲色欲| 国产高清在线精品一区不卡| 亚洲av无码乱码在线观看牲色 | 中出人妻中文字幕无码|