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

        ?

        SVN在設(shè)備軟件開(kāi)發(fā)管理中的應(yīng)用

        2016-12-12 08:18:24張金環(huán)張為強(qiáng)田洪濤
        電子工業(yè)專用設(shè)備 2016年11期
        關(guān)鍵詞:設(shè)備

        張金環(huán),張為強(qiáng),田洪濤

        (中國(guó)電子科技集團(tuán)公司第四十五研究所,北京,100176)

        SVN在設(shè)備軟件開(kāi)發(fā)管理中的應(yīng)用

        張金環(huán),張為強(qiáng),田洪濤

        (中國(guó)電子科技集團(tuán)公司第四十五研究所,北京,100176)

        介紹了軟件版本控制的基本概念和SVN版本控制系統(tǒng)在設(shè)備軟件開(kāi)發(fā)中的應(yīng)用,研究解決目前設(shè)備軟件開(kāi)發(fā)過(guò)程中的諸多問(wèn)題,從而提高設(shè)備軟件開(kāi)發(fā)效率和質(zhì)量。

        版本控制;設(shè)備軟件;軟件管理;SVN系統(tǒng)搭建和應(yīng)用

        隨著設(shè)備軟件越來(lái)越復(fù)雜,軟件開(kāi)發(fā)團(tuán)隊(duì)越來(lái)越壯大,每次軟件源程序匯總出現(xiàn)的問(wèn)題就會(huì)越來(lái)越多,處理這些匯總問(wèn)題導(dǎo)致了時(shí)間的大量浪費(fèi)和代碼的混亂。那么,一個(gè)軟件版本控制系統(tǒng)的使用就顯得尤為迫切。

        1 目前設(shè)備軟件開(kāi)發(fā)管理中存在的問(wèn)題

        在沒(méi)有進(jìn)行版本控制的設(shè)備軟件開(kāi)發(fā)過(guò)程中,當(dāng)多個(gè)開(kāi)發(fā)人員共同開(kāi)發(fā)一個(gè)設(shè)備軟件時(shí),每個(gè)人在各自的機(jī)器上都有整個(gè)軟件的備份,并對(duì)自己本地硬盤上的代碼進(jìn)行修改、添加、刪除等開(kāi)發(fā)工作,分別完成各自任務(wù)之后,再通過(guò)文本比對(duì)工具將各自機(jī)器上的不同版本的程序整合到一臺(tái)機(jī)器上。然而如此經(jīng)常會(huì)出現(xiàn)如下問(wèn)題:

        (1)開(kāi)發(fā)人員忘記備份,而無(wú)法找回某一天或?qū)崿F(xiàn)某些功能的代碼;

        (2)在合并代碼時(shí),開(kāi)發(fā)人員A的修改把B的修改覆蓋掉了;

        (3)在合并后,有些開(kāi)發(fā)人員的某些文件不知何時(shí)被人修改了,且不知還有哪些部分被改動(dòng)過(guò);

        (4)開(kāi)發(fā)人員沒(méi)有及時(shí)將自己最新修改的代碼合并到其他開(kāi)發(fā)人員的程序中,而在后期合并后,原本沒(méi)問(wèn)題的程序出現(xiàn)了各種各樣的BUG。

        (5)軟件管理人員,無(wú)法準(zhǔn)確掌握軟件整體和每個(gè)開(kāi)發(fā)人員的工作進(jìn)度。

        當(dāng)一個(gè)設(shè)備有多個(gè)用戶,每個(gè)用戶有不同需求時(shí),每個(gè)開(kāi)發(fā)人員針對(duì)自己的用戶需求,各自基于某個(gè)相似機(jī)型軟件進(jìn)行修改添加等后續(xù)開(kāi)發(fā)工作,完成任務(wù)后在電腦本地各自保存自己開(kāi)發(fā)過(guò)的版本。然而經(jīng)常會(huì)有如下問(wèn)題:

        (1)有開(kāi)發(fā)人員在備份時(shí)沒(méi)有備注設(shè)備或軟件修改說(shuō)明,而忘記程序基于哪個(gè)版本開(kāi)發(fā),或基于某個(gè)型號(hào)的設(shè)備軟件做了哪些改動(dòng);

        (2)有開(kāi)發(fā)人員辭職忘記移交軟件源程序,而使管理人員找不到設(shè)備軟件源碼,或者源碼的開(kāi)發(fā)文檔。

        沒(méi)有進(jìn)行版本控制或者版本控制本身缺乏正確的流程管理,在設(shè)備軟件開(kāi)發(fā)過(guò)程中,將會(huì)引發(fā)一系列問(wèn)題,如軟件代碼的一致性、軟件內(nèi)容的冗余、軟件過(guò)程的事物性、軟件開(kāi)發(fā)過(guò)程中的并發(fā)性、軟件源代碼的安全性,以及軟件的整合等諸多問(wèn)題。

        2 軟件版本控制的基本概念

        版本控制是指按照一定的規(guī)則管理配置項(xiàng)的所有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,并且保證任何時(shí)候都能取到正確的版本以及版本的組合,它是在軟件開(kāi)發(fā)過(guò)程中保證技術(shù)狀態(tài)一致的一種手段,是開(kāi)發(fā)過(guò)程中進(jìn)行全面管理的基礎(chǔ)。

        版本控制的目的一方面在于實(shí)現(xiàn)開(kāi)發(fā)團(tuán)隊(duì)并行開(kāi)發(fā)、提高開(kāi)發(fā)效率;另一方面在于對(duì)軟件開(kāi)發(fā)進(jìn)程中文件或目錄的發(fā)展過(guò)程提供有效的追蹤手段,保證在需要時(shí)可回到舊的版本,避免文件的丟失、修改的丟失和相互覆蓋,通過(guò)對(duì)版本庫(kù)的訪問(wèn)控制避免未經(jīng)授權(quán)的訪問(wèn)和修改,達(dá)到有效保護(hù)企業(yè)軟件資產(chǎn)和知識(shí)產(chǎn)權(quán)的目的。

        版本控制的功能在于跟蹤記錄整個(gè)軟件的開(kāi)發(fā)過(guò)程,包括軟件本身和相關(guān)文檔,以便對(duì)不同階段的軟件及相關(guān)文檔進(jìn)行表示并進(jìn)行差別分析,對(duì)軟件代碼進(jìn)行可撤消的修改,便于匯總不同開(kāi)發(fā)人員所做的修改,輔助協(xié)調(diào)和管理軟件開(kāi)發(fā)團(tuán)隊(duì)。

        有人形容沒(méi)有使用版本控制工具的開(kāi)發(fā)工作就如同生活在“黑暗時(shí)代”。版本控制工具是項(xiàng)目開(kāi)發(fā)中必不可少的,進(jìn)行版本控制可以確保在軟件項(xiàng)目開(kāi)發(fā)中,不同的開(kāi)發(fā)人員所涉及的同一文檔都得到更新。

        常用版本控制軟件有很多,比如:Microsoft提供的VSS(Visual Source Safe),Collab.Net提供的CVS(Concurrent Versions System)和SVN(CollabNet Subversion),IBMRationalSoftware提供的ClearCase,Borland公司的StarTeam,Serena公司提供的PVCS,BitMover公司提供的BitKeeper等等。

        其中,SVN是在CVS的基礎(chǔ)上,由CollabNet提供開(kāi)發(fā)的開(kāi)源工具,目前越來(lái)越受到大家的歡迎,估計(jì)將來(lái)可能會(huì)成為使用最廣泛的工具。它是一個(gè)跨平臺(tái)的軟件,支持大多數(shù)常見(jiàn)的操作系統(tǒng)。作為一個(gè)開(kāi)源的版本控制系統(tǒng),Subversion管理著隨時(shí)間改變的數(shù)據(jù)。這些數(shù)據(jù)放置在一個(gè)中央版本庫(kù)中。這個(gè)版本庫(kù)很像一個(gè)普通的文件服務(wù)器,不過(guò)它會(huì)記住每一次文件的變動(dòng)。這樣你就可以把文檔恢復(fù)到舊的版本,或是瀏覽文件的變動(dòng)歷史。Subversion是一個(gè)通用的系統(tǒng),可用來(lái)管理任何類型的文件,其中包括了程序源碼。

        SVN修正CVS的一些局限性,目前有一些基于SVN的第三方工具,如TortoiseSVN,是其客戶端程序,使用的也相當(dāng)廣泛。這里我們選擇了SVN作為我們的版本控制軟件。

        3 SVN的工作原理和功能特點(diǎn)

        3.1工作原理

        SVN是一種開(kāi)源的版本控制系統(tǒng),全稱是Subversion。它擁有自己的版本資料庫(kù),允許用戶在不同空間和時(shí)間上修改和管理同一組數(shù)據(jù),可以忠實(shí)的記錄下來(lái)文件的所有歷史修改版本,用戶在本地更新(update)后就能看到其他用戶提交到SVN上的最新代碼,見(jiàn)圖1所示。

        圖1 SVN工作原理圖

        SVN版本管理系統(tǒng)是C/S架構(gòu),即大家熟知的客戶機(jī)(Client)和服務(wù)器(Server)結(jié)構(gòu)。

        在一臺(tái)服務(wù)器上建立一個(gè)版本庫(kù),所有項(xiàng)目代碼(一個(gè)或多個(gè)項(xiàng)目)上傳到服務(wù)器版本庫(kù)統(tǒng)一管理。每個(gè)開(kāi)發(fā)人員可以從服務(wù)器端隨時(shí)拿到任意版本的代碼(能拿到哪些代碼受權(quán)限控制),但在使用源代碼之前,首先要把指定版本的源代碼下載(check out,update)到本地,然后開(kāi)發(fā)人員可以在本地客戶端修改,添加,刪除等后續(xù)開(kāi)發(fā)操作,然后再上傳(commit)到服務(wù)器端,形成新的最新版本。

        3.2功能特點(diǎn)

        (1)支持多級(jí)管理員。系統(tǒng)支持三種角色權(quán)限:超級(jí)管理員、目錄級(jí)管理員、普通用戶。超級(jí)管理員對(duì)所有配置庫(kù)具有完全權(quán)限;目錄管理員可對(duì)指定的目錄進(jìn)行權(quán)限管理,包括:對(duì)該目錄/庫(kù)的用戶進(jìn)行刪除、寫權(quán)限變更、讀權(quán)限變更及為子目錄設(shè)置管理員等;普通用戶可以查看用戶名、查看權(quán)限設(shè)置、修改自己密碼。

        (2)目錄版本控制。實(shí)現(xiàn)了一個(gè)“虛擬”文件系統(tǒng),可以追蹤整個(gè)目錄樹(shù)的修改,文件和目錄都是版本控制的,可以在客戶端對(duì)文件和目錄執(zhí)行移動(dòng)和復(fù)制命令。

        (3)全局版本號(hào)。SVN的版本號(hào)針對(duì)整個(gè)目錄樹(shù),而非單個(gè)文件。每一個(gè)版本號(hào)代表了一次提交后版本庫(kù)整個(gè)目錄樹(shù)的特定狀態(tài)。

        (4)原子提交。提交要么完全進(jìn)入版本庫(kù),要么一點(diǎn)都沒(méi)有,這允許開(kāi)發(fā)者以一個(gè)邏輯塊提交修改。

        (5)高效的分支和標(biāo)簽。分支與標(biāo)簽的大小與工程的大小不成比例,SVN建立分支與標(biāo)簽時(shí)使用了一種類似于硬鏈接的機(jī)制,因而這類操作通常只會(huì)花費(fèi)很少并且相對(duì)固定的時(shí)間,以及很小的版本庫(kù)空間。

        (6)版本緩存。在本地維護(hù)一個(gè)原始的版本緩存,可使本地直接查看區(qū)別和恢復(fù)修改而不必訪問(wèn)網(wǎng)絡(luò),并且可使提交只傳遞修改的部分而非整個(gè)文件。

        (7)一致的數(shù)據(jù)處理。使用二進(jìn)制文件差異算法展現(xiàn)文件的區(qū)別,對(duì)于文本(可讀)和二進(jìn)制(不可讀)文件具備一致的操作方式,兩種類型的文件都?jí)嚎s存放在版本庫(kù)中,差異在網(wǎng)絡(luò)上雙向傳遞。

        (8)重載圖標(biāo)。每個(gè)版本控制的文件和目錄的狀態(tài)使用小的重載圖標(biāo)表示,可以讓你立刻看出工作副本的狀態(tài)。

        (9)圖形用戶界面。當(dāng)你列出文件或文件夾的更改時(shí),你可以點(diǎn)擊任意版本查看提交注釋。也可以看到更改過(guò)的文件列表,只要雙擊文件就可以查看更改內(nèi)容。提交對(duì)話框列出了本次提交將要包括的條目,每一個(gè)條目有一個(gè)復(fù)選框,所以你可以選擇包括哪些條目。未版本控制的文件也會(huì)被列出,以防你忘記添加新文件。

        4 系統(tǒng)搭建與應(yīng)用

        4.1系統(tǒng)搭建

        首先到SVN官方網(wǎng)站免費(fèi)下載開(kāi)源軟件SVN的安裝程序,SVN分為服務(wù)器端軟件和客戶端軟件,服務(wù)器端軟件有 Subversion和 VisualSVN-Server;客戶端有TortoiseSVN、VisualSVN、SmartSVN。我們服務(wù)器端選用VisualSVN-Server,客戶端TortoiseSVN。

        其次選擇一臺(tái)電腦作為服務(wù)器并安裝SVN服務(wù)器端程序VisualSVN-Server,每個(gè)開(kāi)發(fā)人員的電腦作為客戶端分別安裝SVN客戶端程序TortoiseSVN,并使客戶端與服務(wù)器互聯(lián)。

        最后,選定一個(gè)系統(tǒng)管理員,負(fù)責(zé)建立版本庫(kù)、建立用戶、分配權(quán)限、為版本庫(kù)配置用戶、版本庫(kù)定期備份等。

        4.2應(yīng)用

        SVN版本控制系統(tǒng)是集中式的數(shù)據(jù)管理,集中式代碼管理的核心是服務(wù)器,所有開(kāi)發(fā)者以及管理者在開(kāi)始新一天的工作之前必須從服務(wù)器獲取代碼或日志信息,軟件按所有的版本信息都放在服務(wù)器上。如果脫離了服務(wù)器,開(kāi)發(fā)者基本上可以說(shuō)是無(wú)法工作的。

        對(duì)于設(shè)備軟件開(kāi)發(fā)人員開(kāi)始新一天的工作:

        (1)從SVN服務(wù)器版本庫(kù)上下載(check out)或者更新(update)本地工作目錄,確保代碼為版本庫(kù)的最新代碼。

        (2)進(jìn)入本地工作目錄,進(jìn)行工作,每隔一段時(shí)間向服務(wù)器提交一次代碼。(很多人都有這個(gè)習(xí)慣。因?yàn)橛袝r(shí)候自己對(duì)代碼改來(lái)改去,最后又想還原到前一個(gè)小時(shí)的版本,或者看看前一個(gè)小時(shí)自己修改了哪些代碼,就需要這樣做了。)

        (3)在快下班的時(shí)候,更新(update)本地代碼然后再提交。(更新時(shí),如果一段代碼同時(shí)被別人修改就會(huì)出現(xiàn)沖突,那么就需要與另一個(gè)改此代碼的開(kāi)發(fā)人員討論,將代碼合并,解決好沖突后,再進(jìn)行提交。)

        (4)將編譯且測(cè)試通過(guò)的代碼提交(commit)到服務(wù)器。一天的工作完成,并反映給服務(wù)器。對(duì)于設(shè)備調(diào)試人員:

        (1)調(diào)試設(shè)備之前,從服務(wù)器上下載(check out)該設(shè)備軟件最新代碼或者更新(update)本地代碼,使本地代碼始終為SVN中的最新版本。

        (2)在調(diào)試中發(fā)現(xiàn)問(wèn)題后,修改本地代碼,確保代碼編譯測(cè)試通過(guò)后,提交(commit)給SVN服務(wù)器。

        對(duì)于設(shè)備軟件管理人員:

        (1)如果想查看現(xiàn)在軟件開(kāi)發(fā)進(jìn)度,掌握最新軟件情況,可以從服務(wù)器上下載(check out)該設(shè)備軟件最新代碼或者更新(update)本地代碼,運(yùn)行并查看目前軟件開(kāi)發(fā)情況。

        (2)如果想查看軟件人員每天的工作內(nèi)容或者工作量,可查看SVN變更日志文件,該文件詳細(xì)記錄了每個(gè)更新過(guò)SVN服務(wù)器的人的名字、時(shí)間、修改刪除或添加過(guò)的源代碼,以及更新內(nèi)容描述。

        5 總 結(jié)

        在設(shè)備軟件開(kāi)發(fā)過(guò)程中,SVN版本管理系統(tǒng)的使用,可以有效解決軟件一致性、并發(fā)性、安全性等問(wèn)題,保證了在空間上集中統(tǒng)一管理。開(kāi)發(fā)人員在提交軟件代碼的時(shí)候一般采用服務(wù)器/客戶端方式,盡管開(kāi)發(fā)人員可以在自己的本地留有備份,但最終唯一有效的只有服務(wù)器端的程序代碼;在時(shí)間上全程跟蹤記錄工具將會(huì)自動(dòng)記錄開(kāi)發(fā)過(guò)程中的每個(gè)更改細(xì)節(jié),和不同時(shí)期的不同版本。這在一定程度上可以解決冗余、事務(wù)性處理并發(fā)性問(wèn)題。項(xiàng)目管理人員可以通過(guò)版本控制對(duì)團(tuán)隊(duì)中的不同人員,實(shí)施操作權(quán)限的控制。對(duì)于不同角色的開(kāi)發(fā)人員,對(duì)軟件的不同部分可以定義不同的訪問(wèn)權(quán)限。這在一定程度可以解決軟件安全性問(wèn)題。版本控制工具的使用,可以減輕開(kāi)發(fā)人員以及管理人員的負(fù)擔(dān),節(jié)省時(shí)間,同時(shí)降低人為錯(cuò)誤。

        [1]C.Micbael Pilato.使用Subversion進(jìn)行版本控制[M]. (第2版).北京:開(kāi)明出版社,2009.

        [2]孟顯英.淺談軟件配置管理[J].電腦知識(shí)與技術(shù),2010,06(18):5092.

        [3]隋新.基于SVN的軟件工程團(tuán)隊(duì)協(xié)作模式[J].中國(guó)現(xiàn)代教育裝備,2014,(3):59-61.

        [4]賀自軍.基于SVN的統(tǒng)一協(xié)作平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:北京郵電大學(xué),2009.

        The Application of SVN in the Management of Equipment Software Development

        ZHANG Jinhuan,ZHANG Weiqiang,TIAN Hongtao
        (The 45thResearch Institute of CETC,Beijing 100176,China)

        This paper introduces the basic concepts of software version control and application of SVN version control system in software development of equipment,research and solve the problems in the process of software development,so as to improve the efficiency and quality of software development. Keywords:Version control;Equipment software;Software management;Construction and application of SVN system

        TP311.11

        B

        1004-4507(2016)11-0038-05

        2016-11-04

        猜你喜歡
        設(shè)備
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        調(diào)試新設(shè)備
        基于VB6.0+Access2010開(kāi)發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        廣播發(fā)射設(shè)備中平衡輸入與不平衡輸入的轉(zhuǎn)換
        電子制作(2018年10期)2018-08-04 03:24:48
        食之無(wú)味,棄之可惜 那些槽點(diǎn)滿滿的可穿戴智能設(shè)備
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        HTC斥資千萬(wàn)美元入股虛擬現(xiàn)實(shí)設(shè)備商WEVR
        Automechanika Shanghai 2014 之“看” 汽保設(shè)備篇
        如何在設(shè)備采購(gòu)中節(jié)省成本
        国产精品亚洲精品日韩已方| 亚洲av成人无码网天堂| 久久久久久久久888| 精品亚洲午夜久久久久| 中文字幕日韩人妻在线| 一级黄片草逼免费视频| 国产成人精品一区二区不卡| av影院手机在线观看| 久久久久久自慰出白浆| 久久久无码精品亚洲日韩按摩| 久久97精品久久久久久久不卡| 久久久精品中文无码字幕| 久久夜色精品国产九色| 日韩精品人妻视频一区二区三区 | 国产黄片一区二区三区| 久久亚洲中文字幕乱码| 欧美成人猛交69| 亚洲高潮喷水无码av电影| 亚洲无码夜夜操| 亚洲传媒av一区二区三区| 日本护士口爆吞精视频| 国产亚洲综合一区二区三区| 日产精品久久久久久久性色| 国产精品刺激好大好爽视频| 亚洲区精选网址| 国产精品丝袜美腿诱惑| 在线一区二区三区国产精品 | 九九久久精品国产| 亚洲一区二区自拍偷拍| 久久精品中文字幕免费| 三级国产高清在线观看| 九九九免费观看视频| 国产精品久久毛片av大全日韩| 91热国内精品永久免费观看| 日本一级二级三级在线| 日本一区二区三区四区高清不卡| 偷偷色噜狠狠狠狠的777米奇| 中国大陆一级毛片| av黄片免费在线观看| 亚洲一区二区三区在线最新| 婷婷射精av这里只有精品|