免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Sawin軟件研發(fā)之窗:軟件配置管理實施體會
軟件配置管理實施體會

陳越,fashi@etang.com



隨著軟件產業(yè)的崛起,軟件工程技術正吸引著越來越多關注的目光。作為軟件工程的一個重要的領域,軟件配置管理(Software Configuration Management)也日益受到人們的重視。在這里,筆者并不打算對軟件配置管理的細節(jié)進行討論,幾乎任何一本關于軟件工程的教材中都有專門的章節(jié)對此進行介紹,而是想從一個實踐者的角度來闡述關于軟件配置管理的一些想法。



一. 軟件配置管理的目的

對于任何一個軟件組織(企業(yè))來說,開發(fā)出滿足用戶需求的、高質量的軟件產品是其追求的目標。而要實現(xiàn)這一目標的關鍵是建立起一個穩(wěn)定、可控、可重用的軟件流程(Software Process)。因為某一軟件產品的成敗可能維系于關鍵技術的突破和創(chuàng)新;但對于軟件組織而言,要想永葆競爭優(yōu)勢并不斷取得成功,那就必須不斷地改進它的軟件流程。要進行軟件流程改進(Software Process Improvement)就需要有明確的、量化的對現(xiàn)狀的分析和對未來的預期,這些數(shù)據(jù)來源于對軟件過程的度量,而進行度量的前提和基礎就是軟件配置管理。

與一般制造業(yè)相類似,軟件流程就像是一條流水線,在它的各個環(huán)節(jié)上都會有“零部件”產生,它們就是我們所熟悉的程序、相關文檔以及數(shù)據(jù)。這些正是軟件配置管理的對象——(軟件)配置項。它們不僅是大量人力物力投入的結晶,更是開發(fā)經(jīng)驗的積累,是軟件組織最寶貴的財富。軟件配置管理貫穿于軟件開發(fā)活動的始終,覆蓋了開發(fā)活動的各個環(huán)節(jié),它的重要作用之一就是要全面的管理保存各個配置項,監(jiān)控各配置項的狀態(tài),并向項目經(jīng)理及相關的人員報告,從而實現(xiàn)對軟件過程的控制。

那么我們對這些配置項進行管理只是為了保存這些信息嗎?眾所周知,人員的高流動性和知識和技術的快速更新是軟件業(yè)的重要特點。應對這樣的特點我們只有努力地把開發(fā)人員個人的成功經(jīng)驗轉化為團隊的以及整個組織的經(jīng)驗。在這樣的一個轉化過程中,軟件配置管理也起著極其重要的作用。因為對于一個大型的軟件企業(yè)來說,它的配置庫有如一個巨大的圖書館,隨著產品版本的不斷演進,越來越多的配置項會充斥其間,以至于沒有任何一個人能了解其中的全部內容。當我們需要在開發(fā)組織內部迅速的共享以往的成果時,配置管理就能發(fā)揮作用了。它就像常見的圖書編目法那樣,幫助圖書管理員(配置管理員)迅速的找出所需的資料(配置項),而不必徹底了解其中的確切內容。這樣工作效率大為提高,很多常見的容易引起混亂的問題都能盡量得以避免。

所以,我們在從事軟件配置管理工作時應以整個軟件流程的改進為目標,為軟件項目管理和軟件工程的其它領域打好基礎,以便于穩(wěn)步推進整個軟件組織的能力成熟度。



二. 工具的選擇

古語有云:“工欲善其事,必先利其器。”軟件配置管理是一項十分繁瑣的工作,同時又和整個軟件的開發(fā)活動緊密地聯(lián)系在一起,所以在實際工作中更需要有得力的工具輔助。目前常用的配置管理工具主要有MS SourceSafe、Rational ClearCase等,這些工具各有所長,因而只有根據(jù)項目的預算和開發(fā)組織的些實際情況出發(fā)來選擇,正所謂“好用就好”。在這里,筆者提出一些個人的看法供大家參考。

首先,配置管理工具應該提供完善的版本管理的功能。在該工具的所管理的配置庫中,所有的配置項都應清晰、完整的得到保存,相應的操作紀錄完備,使得開發(fā)組織中的任何人員都能迅速的了解任一配置項的演進過程,并快捷的找到所需的資源。

其次,配置管理工具應具備一定的工作空間的管理功能。正如前文指出的那樣,一個軟件企業(yè)往往有多個項目同時進行著開發(fā),為了最大程度的利用組織的經(jīng)驗、共享成果,我們有必要在一個共同的配置庫里提供多視角的觀察手段,在邏輯上按照不同的角色分工來組織信息的選取規(guī)則和顯示方式,從而能根據(jù)需要,在開發(fā)人員間靈活的進行分工合作。

由于我們把配置管理工作立足于軟件過程的改進,那么我們所選用的工具最好能具有一定的過程控制的能力,能利用它按照企業(yè)本身的開發(fā)流程來靈活的建立相應的電子流,并在此過程中記錄用于過程度量的相關數(shù)據(jù),整合軟件過程管理的各個環(huán)節(jié),以便于客觀的發(fā)現(xiàn)問題,高效的解決問題。

另外,我們選取得工具一定要操作簡便,不能給開發(fā)人員增加過多的負擔,因為過多的形式化的約束往往帶來人們的反感,使得大家不約而同的選擇規(guī)避的措施,其結果只能是事倍功半,甚至和我們的目標南轅北轍。



三. 實現(xiàn)的策略

筆者所在的軟件組織從事的通信軟件的研發(fā),我們把配置管理作為推進軟件過程改進的一個很重要的工作領域。我們明確定義了配置管理相關的角色、工作職責和工作流程,通過一段時間的努力,已經(jīng)取得了明顯的效果。

1. 配置庫的設置

決定配置庫的結構是配置管理活動的重要基礎。一般常用的是兩種組織形式:按配置項類型分類建庫和按任務建庫。

按配置項的類型分類建庫的方式經(jīng)常為一些咨詢服務公司所推薦,它適用于通用的應用軟件開發(fā)組織。這樣的組織一般產品的繼承性較強,工具比較統(tǒng)一,對并行開發(fā)有一定的需求。使用這樣的庫結構有利于對配置項的統(tǒng)一管理和控制,同時也能提高編譯和發(fā)布的效率。但由于這樣的庫結構并不是面向和各個開發(fā)團隊的開發(fā)任務的,所以可能會造成開發(fā)人員的工作目錄結構過于復雜,帶來一些不必要的麻煩。

而按任務建立相應的配置庫則適用于專業(yè)軟件的研發(fā)組織。在這樣的組織內,使用的開發(fā)工具種類繁多,開發(fā)模式以線性發(fā)展為主,所以就沒有必要把配置項嚴格的分類存儲,人為增加目錄的復雜性。因此,筆者認為特別是對于研發(fā)性的軟件組織來說,還是采用這種設置策略比較靈活。

2. 分支的劃分

在實際的開發(fā)活動中系統(tǒng)中,為了讓每個開發(fā)人員和各個開發(fā)團隊能更好的分工合作,同時又互不干擾,我們基本上為每個配置項從建立開始就劃分成3個不同的分支,讓它們分別對應3類工作空間。

l 私有分支

私有分支對應的是開發(fā)人員的私有開發(fā)空間。開發(fā)人員根據(jù)任務分工獲得對相應配置項的操作許可之后,他即在自己的私有開發(fā)分支上工作,他的所有工作成果體現(xiàn)為在該配置項的私有分支上的版本的推進,除該開發(fā)人員外,其他人員均無權操作該私有空間中的元素。

l 集成分支

集成分支對應的是開發(fā)團隊的公共空間。凡是要為同組人員共享的配置項都從該分支獲得。即各開發(fā)人員必須將私有工作空間中的開發(fā)成果歸并(Merge)到該分支后才能進入下一個開發(fā)活動。所有涉及多人協(xié)調的開發(fā)工作(如集成測試等)都必須工作在這一空間中。該開發(fā)團隊擁有對該集成分支的讀寫權限,而其他成員只有只讀權限。該分支的管理工作由系統(tǒng)集成員及相關指定人員負責。

l 公共(主干)分支

公共分支對應的是整個軟件開發(fā)組織的公共空間。各個開發(fā)小組在現(xiàn)階段的任務完成后,將可以發(fā)布的版本歸并到該分支上,將來需要查閱相關資料時,以該分支上的版本為準。該分支對組織內的全體軟件人員開放只讀權限。該分支的管理工作由系統(tǒng)集成員負責。

上面定義的3類工作空間(分支)由配置管理員統(tǒng)一管理,根據(jù)各開發(fā)階段的實際情況定制相應的版本選取規(guī)則,來保證開發(fā)活動的正常運作。在變更發(fā)生時,應及時做好基線的推進。

3. 變更控制

對于大型的軟件開發(fā)項目,無控制的變更將迅速導致混亂,變更控制就是通過結合人的規(guī)程和自動化工具,以提供一個變化控制的的機制。本文所涉及的變更控制的對象主要指配置庫中的各基線配置項。變更管理的一般流程是:

A) 由開發(fā)人員或系統(tǒng)集成員提出變更需求;

B) 由SCCB(軟件變更控制委員會)審核并決定是否批準;

C) 配置管理員根據(jù)SCCB的決定臨時開放相應的權限,并備案;

D) 系統(tǒng)集成員執(zhí)行相應的變更。

在這里,將要涉及的變更控制分為兩類:一類是基線的變更控制,另一類是軟件版本的變更控制。

l 基線的變更控制

基線的變更是指在一個軟件版本的開發(fā)周期內對基線配置項的變更,主要包括基線的應用和更新等活動。

基線變更所涉及的操作主要包括基線標簽的定義和標簽的使用。基線標簽屬于嚴格受控的配置項,它的命名必須嚴格按照相關的命名規(guī)范來進行?;€在建立時,按照角色職責的分工,須經(jīng)SCCB同意并以正式的將該基線的標識和作用范圍通知系統(tǒng)集成員,由后者負責執(zhí)行;基線一旦劃定,由該基線控制的各配置項的歷史版本均處于鎖定或嚴格受控狀態(tài),任何對基線位置的變更請求都必須按變更控制流程,提交SCCB批準,然后由系統(tǒng)集成員執(zhí)行。

l 軟件版本的變更

軟件版本的命名規(guī)范應事先制定,并按照開發(fā)計劃予以發(fā)布使用。在軟件版本的演進過程中既需要從以前的版本中繼承,又需要相對的獨立性。所以在對于一個子版本(例如某特定用戶的定制版本)就需要對一系列配置項從統(tǒng)一的開發(fā)起始基線所確定的版本上建立新的分支,然后在此分支上開發(fā)新的版本。因此在這樣的變更控制流程中,受控的對象還應包括特定的分支類型,以及工作視圖的選取規(guī)則,同時配置管理員將在這一過程中擔負更多的操作職責。



上述幾點是筆者在從事軟件配置管理過程中的一些心得體會,在此拋磚引玉,供大家參考。



本文來自《PMT評論》總第23期

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
軟件配置管理
配置管理
信息系統(tǒng)項目文檔及其管理
T1.配置管理及其實現(xiàn)-V4.0
軟件復用離不開配置管理的支持
軟件配置管理計劃
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服