• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      軟件配置管理中的基線問題研究

      2016-02-27 03:52:36劉立康
      計算機技術與發(fā)展 2016年6期
      關鍵詞:配置管理基線工程師

      姜 文,劉立康

      (西安電子科技大學 通信工程學院,陜西 西安 710071)

      軟件配置管理中的基線問題研究

      姜 文,劉立康

      (西安電子科技大學 通信工程學院,陜西 西安 710071)

      基線是軟件配置管理中的一個重要概念?;€有多種不同的定義,是一個比較模糊的工程概念。每種基線定義只反映了基線內(nèi)涵的某個側(cè)面,需要分析研究各種基線定義之間的區(qū)別和內(nèi)在聯(lián)系。文中結(jié)合配置管理的基本概念,分別歸納并給出了五種不同的基線定義;敘述了基線的層級、軟件項目的階段基線、實現(xiàn)階段基線的水平等級和粒度;之后介紹了基線管理的過程和基線管理在軟件開發(fā)中的優(yōu)點。通過敘述各種基線的相關概念,理清了各種基線概念之間的關系和內(nèi)在聯(lián)系。集中介紹了基線相關的技術問題,有助于更好地應用和管理基線。工作實踐表明,深入理解基線概念的內(nèi)涵有助于掌握各種軟件配置管理工具的區(qū)別和共同之處,從而在各種環(huán)境下做好軟件開發(fā)的配置管理工作。

      配置管理;配置項;版本;版本庫;基線

      0 引 言

      軟件配置管理是對軟件配置項的管理。為了使軟件配置項能夠隨項目的進展有序、準確的變化,為項目提供有效的參考,引入了“基線(Baseline)”的概念。在一個開發(fā)階段結(jié)束或一組功能開發(fā)完成后,要對相應的配置項進行基線化,形成各類基線。

      基線是軟件配置管理[1-9]中的一個重要的基本概念?;€有多種不同的定義,也是一個比較模糊的工程概念。文中介紹了配置管理的基本概念,分別歸納并給出了五種不同的基線定義;敘述了基線的層級、軟件項目的階段基線、實現(xiàn)階段基線的水平等級和粒度;介紹了基線管理的過程和基線管理的優(yōu)點。各種基線定義都反映基線內(nèi)涵的某個側(cè)面,文中厘清了各種基線定義的區(qū)別和內(nèi)在聯(lián)系。

      1 配置管理的基本概念

      1.1 配置項(Configuration Item)

      配置項是配置管理的基本單位,可以分為三個主要類別:計算機程序(源代碼和可執(zhí)行程序)、文檔和數(shù)據(jù)。配置項包含了軟件開發(fā)過程中產(chǎn)生的各種信息。

      配置項的識別是配置管理活動的基礎,也是制定配置管理計劃的重要內(nèi)容。

      1.2 元素(Element)

      在配置管理工具ClearCase中,元素是版本控制下的文件和目錄。文件元素可以是文件系統(tǒng)中的任何文件。目錄元素可以包含文件元素及其他目錄元素。

      配置項和元素之間的關系:元素是軟件配置項的載體,配置項以元素的形式保存在計算機中。配置項是元素存儲的內(nèi)容。

      1.3 版本(Version)

      版本亦稱配置標識,是實例化了的配置項。在軟件開發(fā)過程中,配置項的版本隨項目進展而不斷變化,會被賦予不同的版本號。

      版本的演變一般有兩種方式:串行演變和并行演變。版本的這兩種演變形式通常結(jié)合在一起,形成更為普通的帶分支的版本樹。版本樹反映了項目開發(fā)演變的歷史。每個元素記錄了它所代表的文件或目錄的版本。

      1.4 分支(Branches)

      分支描述了元素的樹狀版本結(jié)構(gòu);每個元素都有一個主分支,代表開發(fā)的主線,可以有多個獨立開發(fā)線的子分支,子分支還可以再有子分支。

      1.5 版本庫(VOB)

      版本對象庫(Version Object Base,VOB)簡稱版本庫(VOB),也稱為配置管理庫。版本庫是軟件配置管理系統(tǒng)的核心,用來存儲文件、目錄和元數(shù)據(jù)的數(shù)據(jù)存儲庫。版本庫以目錄樹結(jié)構(gòu)形式的文件系統(tǒng)來保存信息。它存儲了版本控制下所有的文件、目錄和元數(shù)據(jù)等。

      通常邏輯上版本庫可以分為開發(fā)庫—DL(動態(tài)庫、程序員庫、工作庫)、受控庫—CL(靜態(tài)庫、主庫)、產(chǎn)品庫—PL。版本庫的實際物理存儲結(jié)構(gòu)可根據(jù)軟件項目具體情況來確定。受控庫和產(chǎn)品庫是由配置管理員管理,所有的配置項經(jīng)評審通過后才能入庫。

      版本庫的結(jié)構(gòu)見表1。

      1.6 構(gòu)件(Component)

      構(gòu)件通過一個根目錄來定義。將開發(fā)團隊進行開發(fā)的文件和目錄組合在一起形成了構(gòu)件。開發(fā)團隊以構(gòu)件為單位進行開發(fā)、集成和發(fā)布。一個VOB可以包含一個或多個構(gòu)件。

      1.7 軟件項目

      簡單地說,項目就是實現(xiàn)某個目標的工作任務。一個軟件項目要素包括軟件開發(fā)過程、軟件開發(fā)結(jié)果、軟件開發(fā)資源和軟件項目的客戶。一個軟件項目可以有多個版本庫。

      表1 版本庫的結(jié)構(gòu)

      1.8 流(Stream)

      流是一種ClearCase對象,UCM定義了兩種流:開發(fā)流(Development Stream)和集成流(Integration Stream)。開發(fā)流主要是單個開發(fā)工程師的工作流;集成流則是對項目中所有開發(fā)工程師的活動進行合并的流。

      基線和流的相互關系:基線由流產(chǎn)生,流使用基線作為其配置。

      2 基線(Baseline)的定義

      基線[10-12]是軟件配置管理中的一個重要的基本概念,有多種定義,大致分為如下幾類。

      2.1 基于產(chǎn)品

      這種定義方式比較寬泛,不僅僅適用于軟件配置管理。

      IEEE的基線定義:己經(jīng)通過正式評審和批準的某規(guī)約或產(chǎn)品,它可以作為進一步開發(fā)的基礎,并且只能通過正式的變更控制過程進行變更。

      基線定義1:基線是某個規(guī)約或者產(chǎn)品,具有三個特點:

      (1)通過正式評審并得到認可;

      (2)下一步工作的基礎;

      (3)基線變更需要通過嚴格的變更管理過程。

      2.2 基于配置項

      基線定義2:在軟件配置管理過程中,一個配置項或一組配置項在不同時間點,通過正式評審而進入受控的一種狀態(tài),就是基線。

      一些配置項成為相對穩(wěn)定的邏輯實體,這個過程稱為“基線化”?;€建立之后,該基線的內(nèi)容被“凍結(jié)”,不能隨意修改?;€是下一步開發(fā)的出發(fā)點和參考點。對基線進行修改將嚴格按照變更管理的過程進行。作為配置管理的基礎,基線保證了后續(xù)開發(fā)活動所需信息的穩(wěn)定性和一致性。

      2.3 基于版本

      基線定義3:基線是項目文檔或者源代碼等文件的一個穩(wěn)定的版本。基線有名稱、版本、標識符、日期等屬性。它是進一步開發(fā)的基礎,其變更必須通過正式的變更程序。

      如果某一產(chǎn)品版本被定為基線,那么它就被凍結(jié),要想變更基線必須建立一個新的版本。

      2.4 基于里程碑(Milestone)

      里程碑就是開發(fā)過程中的“階段”?!半A段”強調(diào)的是過程,而“里程碑”則強調(diào)過程的終點和終點的標識。

      基線定義4:基線是軟件開發(fā)過程中的一個里程碑,其標志是一些軟件配置項的交付,并且這些配置項通過技術審核獲得認可。這些配置項納入基線管理,作為后續(xù)工作的標準,標志著項目可以進入下一個過程。

      2.5 UMC構(gòu)件的基線和復合基線

      在ClearCase UCM[11-17]中,一個構(gòu)件表示一組元素,基線表示構(gòu)件中的一組版本。基線確定了一個構(gòu)件中的每個元素的一個版本,如圖1所示。

      圖1 基線

      基線定義5:基線是一個構(gòu)件在某一特定時刻一組元素的集合,包含了該時刻所選取元素版本的集合,記錄了軟件開發(fā)過程中完成的工作。

      UCM工程項目只有一個構(gòu)件,該構(gòu)件的基線就是該工程項目的基線。一般來說,工程項目可能有多個構(gòu)件,工程項目基線包含每個構(gòu)件的特定基線。

      復合基線:如果工程項目中構(gòu)件較多,采用復合基線進行管理。復合基線選取每個構(gòu)件中的特定基線來表示整個工程項目的基線。

      基線的定義是一個實用的工程定義,以上五種定義有著內(nèi)在的聯(lián)系,反映了基線內(nèi)涵的某個側(cè)面。在一些書中通常將幾種定義糅合在一起作為基線的定義。

      3 基線的層級

      基線分為三個層級(項目基線、構(gòu)件基線、單項基線),如表2所示。

      表2 基線的層級

      (1)項目基線是項目組使用的基線,保存在版本庫的受控庫(CL)中。一個軟件項目可以有多個版本庫。每個版本庫可能由多個構(gòu)件組成,但至少包含一個構(gòu)件。

      (2)構(gòu)件基線是供開發(fā)該構(gòu)件的團隊使用。

      (3)單項基線是指對單個配置項建立的基線,供開發(fā)該配置項的開發(fā)人員使用。

      4 項目階段基線

      軟件開發(fā)過程中的主要階段基線如表3所示。

      表3 軟件的主要階段基線及相應的軟件配置項列表

      計劃基線、需求基線、概要設計基線和詳細設計基線是設計階段基線,以文檔的形式存在。編碼基線、測試基線和產(chǎn)品基線是實現(xiàn)階段基線,包括文檔、代碼和可執(zhí)行程序。常見的產(chǎn)品版本和補丁發(fā)布,對應產(chǎn)品基線。

      對于需求、設計、編碼、測試來說,需求是設計的上游,設計是編碼的上游,編碼是測試的上游。如果上、下游之間采用基線的方式,也就是明確需求基線、設計基線、代碼基線、測試基線,不僅能夠為下游環(huán)節(jié)提供穩(wěn)定的工作基礎,而且分別記錄需求、設計、編碼工作產(chǎn)生的缺陷情況,能夠明確各自的職責。

      5 實現(xiàn)階段基線的水平等級和粒度

      5.1 實現(xiàn)階段基線的水平等級

      每個基線有一個相應的級別,通過級別劃分,可以大致了解基線的狀況。ClearCase中實現(xiàn)階段基線的等級分為5級(Rejected、Initial、Builted、Tested、Released)。

      (1)Rejected:沒有通過測試,或者已經(jīng)被新基線取代的基線。

      (2)Initial:軟件開發(fā)初始階段確定的基線。

      (3)Builted:集成構(gòu)建生成的基線,通常采用增量構(gòu)建。

      (4)Tested:進行全量構(gòu)建生成內(nèi)部轉(zhuǎn)測試版本,提交測試組進行全面的測試工作,通過后產(chǎn)生測試(Tested)基線。

      (5)Released:代碼開發(fā)工作完成后,測試(Tested)基線通過全面測試驗證、評審后升級為發(fā)布基線。

      注:

      (1)構(gòu)建:一次構(gòu)建通??赡馨幾g、測試、審查和部署,以及其他一些事情。

      (2)增量構(gòu)建:僅對新提交的代碼進行編譯,利用原有項目資源快速構(gòu)建一個新的版本。構(gòu)建成功后生成新的基線(增量基線)。

      (3)全量構(gòu)建:對全部代碼進行編譯、鏈接,構(gòu)建生成新的基線(全量基線)。

      5.2 基線的粒度

      現(xiàn)在軟件開發(fā)通常采用持續(xù)集成(Continuous Integration)技術。持續(xù)集成服務器可以自動檢查動態(tài)庫的變化,設定時間區(qū)間,定時自動完成集成構(gòu)建工作。幾個小時就可以建立一條新的基線。構(gòu)建的頻率越高產(chǎn)生的基線粒度越小。

      頻繁集成構(gòu)建有利于及時發(fā)現(xiàn)和解決各種問題,加快了代碼流動,減少了任務間的等待時間;但是加大了提交代碼和測試的工作量,需要采取一種折中的選擇。

      通常采用每日構(gòu)建生成Builted基線,每周構(gòu)建生成測試(Tested)基線。

      6 基線管理

      軟件開發(fā)過程中與軟件基線管理相關的工作人員如下:項目經(jīng)理(PM)、軟件系統(tǒng)工程師(SE)、配置管理員(CMO)、持續(xù)集成工程師(CIE)、軟件開發(fā)工程師(DEV)、軟件測試工程師、質(zhì)量保障工程師(QA)、資料開發(fā)工程師。

      其中,項目經(jīng)理、質(zhì)量保障工程師、配置管理員、開發(fā)組長、測試組長、系統(tǒng)工程師組成了產(chǎn)品配置控制委員會(Change Control Board,CCB)。

      與基線相關的配置管理活動如下所述。

      6.1 基線的建立

      設計階段,軟件系統(tǒng)工程師完成軟件配置項的設計工作,經(jīng)過評審后成為設計基線。

      在實現(xiàn)階段,持續(xù)集成工程師從動態(tài)庫檢出代碼,生成新的代碼基線。

      配置管理員負責將新的基線加入受控庫中,進行管理和維護。

      6.2 基線標識和發(fā)布

      基線由配置項組成,標識基線首先應該標識配置項。

      配置項(CI)應分配唯一標識。標識規(guī)則可參考以下示例:

      CI標識=項目標識/CI類型/CMI名稱/CI版本

      例如:Prj1/DOC/用戶手冊/1.00

      基線標識包括項目名稱、項目標識、基線名稱、版本、發(fā)布時間和所包含的配置項清單。

      基線經(jīng)過CCB審批后就可以發(fā)布(基線發(fā)布表可參考圖2)。

      圖2 基線發(fā)布表單示例

      配置管理員負責基線的標識和發(fā)布工作?;€只有經(jīng)過審核,確認其是正確、有效、一致時,才能正式發(fā)布?;€發(fā)布后開始正式使用。

      6.3 基線變更

      基線變更是對基線的配置項的更改,必須通過嚴格的變更步驟,在配置管理系統(tǒng)的變更控制下進行。

      主要由以下4個步驟組成:

      (1)提交變更申請:基線變更的范圍、變更的優(yōu)先級、變更的影響、變更方案。

      (2)變更評估:CCB對基線變更請求進行評估、分析和評審。

      (3)變更審批:若接受變更請求,則確定變更方案。在項目經(jīng)理的指導下,由配置管理員負責授權。

      (4)變更實現(xiàn):執(zhí)行基線變更并驗證;驗證通過后,合入受控庫中的基線庫;關閉變更請求并發(fā)布。

      配置管理員對基線變更進行審核,將審核結(jié)果和當前配置情況提交項目經(jīng)理批準。批準后,配置管理員執(zhí)行基線化的操作,并發(fā)布基線建立的報告。

      7 基線管理的優(yōu)點

      軟件開發(fā)過程中實施基線管理主要有如下優(yōu)點:

      (1)提供統(tǒng)一規(guī)范和同步開發(fā)工作:基線為后繼的開發(fā)工作統(tǒng)一標準規(guī)范,確保團隊開發(fā)工程師工作保持同步。

      (2)及時處理各種問題:采用持續(xù)集成技術,選擇合適的基線粒度,有助于項目經(jīng)理及時了解工作進度和存在的問題,及時處理。

      (3)配置項關聯(lián)性:通過項目基線確保配置項之間正確的關聯(lián)狀態(tài)。保證設計滿足需求方案、產(chǎn)品的實現(xiàn)符合設計要求。

      (4)版本差異分離:新項目可以從基線的版本序列中選擇合適的版本開始工作,與原項目(主要分支上)進行的變更實現(xiàn)隔離。

      (5)變更可回退性:如果變更有問題,可采用取消變更的方式,回退至穩(wěn)定版本。

      (6)問題可追蹤性:通過基線版本序列可以追蹤產(chǎn)品的各種問題,可以重新建立基于某個版本的配置,可以重現(xiàn)軟件開發(fā)過程中的軟件缺陷和各種問題。

      8 結(jié)束語

      各種軟件配置管理工具有不同的設計理念,但都采用基線作為配置管理的基礎?;€管理能夠明確各個開發(fā)階段的職責,使上游階段為下游階段提供穩(wěn)定的工作基礎;為軟件產(chǎn)品的維護和新版本開發(fā)提供了良好的基礎。各種基線定義都反映基線內(nèi)涵的某個側(cè)面,需要研究各種基線定義的不同和內(nèi)在聯(lián)系。文中厘清了各種基線相關概念之間的關系,有助于更好地應用和管理基線。工作實踐表明,深入理解基線概念的內(nèi)涵有助于掌握各種軟件配置管理工具的區(qū)別和共同之處,從而在各種環(huán)境下做好軟件開發(fā)的配置管理工作。

      [1] 劉文紅.CMMI項目管理實踐[M].北京:清華大學出版社,2013.

      [2] 王安生.軟件工程化[M].北京:清華大學出版社,2014.

      [3] 韓萬江,姜立新.軟件項目管理案例教程[M].第2版.北京:機械工業(yè)出版社,2009.

      [4] 董 越.未雨綢繆—理解軟件配置管理[M].第2版.北京:電子工業(yè)出版社,2012.

      [5] 董 越.軟件集成策略—如何有效率地提升質(zhì)量[M].北京:電子工業(yè)出版社,2013.

      [6] 劉江華,王 立,馬 玲,等.軟件開發(fā)過程與配置管理:基于Rational的敏捷方案設計與應用[M].北京:電子工業(yè)出版社,2011.

      [7] 相玉娟.基于變更管理的持續(xù)集成研究與應用[D].合肥:合肥工業(yè)大學,2009.

      [8] 劉 海,張衛(wèi)民,任開軍. 一種網(wǎng)格環(huán)境下的軟件配置管理系統(tǒng)[J].計算機工程與科學 2007, 29(8) 105-107.

      [9] 陳 帆,尹黎明,肖衛(wèi)軍,等.軟件配置管理中的分支管理與協(xié)作機制研究[J].計算機工程與科學,2005, 27(1) 70-73.

      [10] 周 念.基于SVN的軟件配置管理的應用研究[D].武漢:武漢理工大學,2013.

      [11] Aiello B,Sachs L.配置管理最佳實踐[M].北京:人民郵電出版社,2013.

      [12] Bellagio D E,Milligan T.Software configuration management strategies and IBM rational clearcase:a practical introduction[M].2nd ed.USA:IBM Press,2005.

      [13] 彭德良.基于RUP的軟件配置管理[D].西安:西北工業(yè)大學,2007.

      [14] Tykal J.Best practices for using composite baselines in UCM[R].[s.l.]:Prentice Hall,2004.

      [15] Collins-Sussman B,F(xiàn)itzpatrick B W,Pilato C M.Version control with subversion for subversion 1.5[M].[s.l.]:[s.n.],2005.

      [16] Koskela J.Software configuration management in agile methods[R].[s.l.]:[s.n.],2003.

      [17] Lee K A.IBM rational clearcase,ant and cruisecontrol[M].USA:IBM Press,2006.

      Research on Baseline in Software Configuration Management

      JIANG Wen,LIU Li-kang

      (School of Telecommunication Engineering,Xidian University,Xi’an 710071,China)

      Baseline is an important concept in software configuration management.There are many different definitions of baseline,which is a vague concept of engineering.Each baseline definition reflects the connotation of the baseline from a profile,only needing to analyze the difference and inner link for various definitions between the baseline.In this paper,combined with the basic concept of configuration management,five different baseline definitions are summarized respectively.It describes the baseline level,baseline phase of software project,and baseline levels and granularity in implementation phase.Then it introduces the baseline management process and the advantages for baseline management in software development.Through a variety of related concepts of the baseline,the relationship between the concept of baseline and inner link is clarified.It focuses on the baseline related technical problems,which contributes to application and management of the baseline.Practice shows that to understand the connotation of the concept of baseline in depth helps to grasp the difference and common of software configuration management tools,doing a good job of software configuration management in a variety of circumstances.

      configuration management;configuration items;version;repository;baseline

      2015-09-05

      2015-12-09

      時間:2016-05-25

      國家部委基礎科研計劃:國防預研基金項目(A1120110007)

      姜 文(1986-),女,工程師,碩士研究生,CCF會員,研究方向為圖像處理與分析、文字信息分析處理、數(shù)據(jù)庫應用和軟件工程;劉立康,副教授,研究方向為數(shù)字通信、圖像傳輸與處理、圖像分析與圖像識別等。

      http://www.cnki.net/kcms/detail/61.1450.TP.20160525.1706.024.html

      TP391.41

      A

      1673-629X(2016)06-0006-05

      10.3969/j.issn.1673-629X.2016.06.002

      猜你喜歡
      配置管理基線工程師
      《機械工程師》征訂啟事
      汽車委托外加工零件自動化配置管理
      Kenoteq的工程師研發(fā)環(huán)保磚塊
      英語文摘(2021年10期)2021-11-22 08:02:40
      適用于MAUV的變基線定位系統(tǒng)
      高技術通訊(2021年3期)2021-06-09 06:57:46
      航天技術與甚長基線陣的結(jié)合探索
      科學(2020年5期)2020-11-26 08:19:14
      青年工程師
      安徽建筑(2020年4期)2020-05-23 01:37:12
      一種改進的干涉儀測向基線設計方法
      工程師變成“資本家”
      建設CMDB任重道遠
      配置管理在軟件測試中的應用
      科技視界(2015年4期)2015-01-02 05:16:00
      博爱县| 龙江县| 阳朔县| 东乌| 昌宁县| 寻乌县| 彭阳县| 乐陵市| 大悟县| 奉节县| 体育| 长寿区| 商洛市| 溧阳市| 平舆县| 小金县| 合水县| 大埔区| 沧州市| 句容市| 郓城县| 扬州市| 泉州市| 黄龙县| 通道| 南投县| 库车县| 峨边| 科尔| 根河市| 朝阳区| 娱乐| 黑山县| 高平市| 五寨县| 瓦房店市| 含山县| 左云县| 仪陇县| 泰来县| 屏东县|