軟件配置管理工具_第1頁
軟件配置管理工具_第2頁
軟件配置管理工具_第3頁
軟件配置管理工具_第4頁
軟件配置管理工具_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第11講軟件配置管理工具一、軟件配置管理

軟件配置管理(SoftwareConfigurationManagement),又稱軟件形態(tài)管理、或軟件建構管理,簡稱軟件形管(SCM)。界定軟件的組成項目,對每個項目的變更進行管控(版本控制),并維護不同項目之間的版本關聯(lián),以使軟件在開發(fā)過程中任一時間的內容都可以被追溯,包括某幾個具有重要意義的數(shù)個組合。軟件配置管理,貫穿于整個軟件生命周期,它為軟件研發(fā)提供了一套管理辦法和活動原則。軟件配置管理無論是對于軟件企業(yè)管理人員還是研發(fā)人員都著重要的意義。軟件配置管理可以提煉為三個方面的內容:11.VersionControl-版本控制

版本控制是全面實行軟件配置管理的基礎,可以保證軟件技術狀態(tài)的一致性。我們在平時的日常工作中都在或多或少地進行版本管理的工作。比如有時我們?yōu)榱朔乐刮募G失,而拷貝一個后綴為bak或日期的備份文件。當文件丟失或被修改后可以通過該備份文件恢復。版本控制是對系統(tǒng)不同版本進行標識和跟蹤的過程。版本標識的目的是便于對版本加以區(qū)分、檢索和跟蹤,以表明各個版本之間的關系。一個版本是軟件系統(tǒng)的一個實例,在功能上和性能上與其他版本有所不同,或是修正、補充了前一版本的某些不足。實際上,對版本的控制就是對版本的各種操作控制,包括檢入檢出控制、版本的分支和合并、版本的歷史記錄和版本的發(fā)行。22.ChangeControl-變更控制進行變更控制是至關重要的。但是要實行變更控制也是一件令人頭疼的事情。我們擔憂變更的發(fā)生是因為對代碼的一點小小的干擾都有可能導致一個巨大的錯誤,但是它也許能夠修補一個巨大的漏洞或者增加一些很有用的功能。我們擔憂變更也因為有些流氓程序員可能會破壞整個項目,雖然智慧思想有不少來自于這些流氓程序員的頭腦。過于嚴格的控制也有可能挫傷他們進行創(chuàng)造性工作的積極性。但是,如果你不控制他,他就控制你。

33.ProcessSupport-過程支持一般來說,人們已漸漸意識到了軟件工程過程概念的重要性,而且人們也逐漸了解了這些概念和軟件工程支持技術的結合,尤其是軟件過程概念與CM有著密切的聯(lián)系,因為CM理所當然地可以作為一個管理變更的規(guī)則(或過程)。如IEEE軟件配置管理計劃的標準就列舉了建立一個有效的CM規(guī)則所必需的許多關鍵過程概念。但是,傳統(tǒng)意義上的軟件配置管理主要著重于軟件的版本管理,缺乏軟件過程支持的概念。在大多數(shù)有關軟件配置管理的定義中,也并沒有明確提出配置管理需要對過程進行支持的概念。因此,不管軟件的版本管理得多好,組織之間沒有連接關系,組織所擁有的是相互獨立的信息資源,從而形成了信息的"孤島"。在CM提供了過程支持后,CM與CASE環(huán)境進行了集成,組織之間通過過程驅動建立一種單向或雙向的連接。對于開發(fā)員或測試員則不必去熟悉整個過程,也不必知道整個團隊的開發(fā)模式。他只需集中精力關心自己所需要進行的工作。在這種情況下,可以延續(xù)其一貫的工作程序和處理辦法。4二、軟件配置管理工具的功能

軟件配置管理(SoftwareConfigurationManagement(SCM)),它為軟件開發(fā)提供了一套管理辦法和活動原則,成為貫穿軟件開發(fā)始終的重要質量保證活動。SCM工具的功能:軟件配置管理(SoftwareConfigurationManagement(SCM)),它為軟件開發(fā)提供了一套管理辦法和活動原則,成為貫穿軟件開發(fā)始終的重要質量保證活動。本文討論SCM工具的功能。需要說明的是,從學術上講,軟件配置管理(SCM)只是變更管理(ChangeManagement(CM))的一個方面;但從SCM工具的發(fā)展來看,越來越多的SCM工具開始集成變更管理(CM)的功能,甚至問題跟蹤(DefectTracking)的功能。51、權限控制(AccessControl)權限控制對SCM工具來說至關重要。一方面,既然是團隊開發(fā),就可能需要限制某些成員的權限;特別是大項目往往牽扯到子項目外包,到最后聯(lián)調階段會涉及到很多不同的單位,更需要權限管理。另一方面,權限控制也減小了誤操作的可能性,間接提高了SCM工具的可用性(Usability)。現(xiàn)有的SCM工具,在權限控制方面差異很大,也說明了大家都在探索更有效的權限控制的方法。透過不同權限控制方法的差異,我們不難看到其共性:其核心概念是行為(Action)、行為主體、行為客體。

(1)行為主體:即用戶(User)。用戶組(UserGroup)并不是行為主體,但它的引入大大方便了權限管理。

(2)行為客體:即項目和項目成員(Member)。不管從SCM工具的開發(fā)者還是使用者的角度,項目和項目成員都是不同的行為客體。

(3)行為:即由主體施加在客體之上的特定操作,簽入和簽出是再典型不過的例子。三個核心概念搞清之后,就可以討論權限的概念了。權限是這樣一個四元向量:(主體,客體,行為,布爾值)。即,"主體在客體上施加某種行為是否被獲準"。62、版本控制(VersionControl)

SCM工具記錄項目和文件的修改軌跡,跟蹤修改信息,使軟件開發(fā)工作以基線(Baseline)漸進方式完成,從而避免了軟件開發(fā)不受控制的局面,使開發(fā)狀態(tài)變得有序。

SCM工具可以對同一文件的不同版本進行差異比較,可以恢復個別文件或整個項目的早期版本,使用戶方便地得到升級和維護必需的程序和文檔。

SCM工具內部對版本的標識,采用了版本號(VersionNumber)方式,但對用戶提供了多種途徑來標識版本,被廣泛應用的有版本號、標簽(Label)和時間戳(TimeStamp)。多樣靈活的標識手段,為用戶提供了方便。73、增強的版本控制(EnhancedVersionControl)快照(Snapshot)和分支(Branch)以基本的版本控制功能為基礎,使版本控制的功能又更進一步增強。

快照是比版本高一級的概念,它是項目中多個文件各自的當前版本的集合??煺帐够謴晚椖康脑缙诎姹咀兊梅奖?,它還支持批量簽入(Checkin)、批量簽出(Checkout)和批量加標簽(Label)等操作??傊煺帐前姹究刂频囊环N增強,使版本控制更加方便高效。

分支允許用戶創(chuàng)建獨立的開發(fā)路徑,我們認為分支的典型用途有二。第一,分支和合并(Merge)一起,是支持并行開發(fā)(ConcurrentDevelopment)的有力支持。第二,分支支持多版本開發(fā),這對發(fā)布后的維護尤其有用。比如客戶報告有打印bug,小組可能從某個還未引入打印bug的項目版本引出一個分支,最終分布一個bug修訂版。分支是版本控制的另一種增強。版本控制和增強的版本控制是SCM工具其它功能的基礎。84、變更管理(ChangeManagement)

SCM工具提供有效的問題跟蹤(DefectTracking)和系統(tǒng)變更請求(SystemChangeRequests(SCRs))管理。通過對軟件生命周期各階段所有的問題和變更請求進行跟蹤記錄,來支持團隊成員報告(Report)、抓?。–apture)和跟蹤(Track)與軟件變更相關的問題,以此了解誰改變了什么,為什么改變。變更管理有效地支持了不同開發(fā)人員之間,以及客戶和開發(fā)人員之間的交流,避免了無序和各自為政的狀態(tài)。95、獨立的工作空間(IndependentWorkspaces)開發(fā)團隊成員需要在開發(fā)項目上協(xié)同、并發(fā)地工作,這樣可以大大提高軟件開發(fā)的效率。沙箱(Sandbox)為并行開發(fā)提供了獨立的工作空間,在有的SCM工具中也稱為工作目錄(WorkingFolder)。使用沙箱(Sandbox),開發(fā)人員能夠將所有必要的項目文件拷貝到私有的一個樹型目錄,修改在這些副本上進行。一旦對修改感到滿意,就可以將修改合并(Merge)到開發(fā)主線(MainLine)上去;當然,如果該文件只有該成員一人修改,只需將修改過的文件簽入(CheckIn)到主項目中即可。

"并發(fā)和共享是同一事物的不同方面",并發(fā)的私有工作空間共享同一套主項目(MaterProject)文件,因此有必要讓所有團隊成員擁有得知項目當前狀態(tài)的能力。SCM工具提供刷新(Refresh)操作,某位團隊成員可以使其他團隊成員在主項目文件上所做的變更,在自己沙箱的圖形用戶界面上反應出來。106、報告(Report)

為保證項目按時完成,項目經理必須監(jiān)控開發(fā)進程并對發(fā)生的問題迅速做出反應。報告功能使項目經理能夠隨時了解項目進展情況;通過圖形化的報告,開發(fā)的瓶頸可以一目了然地被發(fā)現(xiàn);標準的報告提供常用的項目信息,定制報告功能保證了擁有適合自己需求的信息。7、過程自動化(ProcessAutomation)

SCM工具使用事件觸發(fā)機制(EventTrigger),即讓一個事件觸發(fā)另一個事件產生行為,來實現(xiàn)過程自動化。比如,讓"增加項目成員"操作自動觸發(fā)"產生功能描述表(Form)"操作,開發(fā)人員填制該文件的功能描述表,規(guī)范開發(fā)過程。過程自動化不僅可以縮短復雜任務的時間,提高了生產率,而且還規(guī)范了團隊開發(fā)的過程,減少了混亂。118、管理項目的整個生命周期從開發(fā)、測試、發(fā)布到發(fā)布后的維護,SCM工具的使命"始于項目開發(fā)之初,終于產品淘汰之時"。SCM工具應預先提供典型的開發(fā)模式的模板,以減少用戶的勞動;另一方面,也應支持用戶自定義生命周期模式,以適應特殊開發(fā)需要。9、與主流開發(fā)環(huán)境的集成將版本控制功能與主流集成開發(fā)環(huán)境(IDE)集成,極大地方便了軟件開發(fā)過程。從集成開發(fā)環(huán)境的角度看,版本控制是其一項新功能;從SCM工具的角度看,集成開發(fā)環(huán)境充當了沙箱的角色。12三、成熟軟件配置管理工具的特征

1.軟件配置管理工具的發(fā)展相對于其他CASE工具,配置管理工具應該是最必不可少的,它可以幫助你管理軟件開發(fā)時繁瑣的工作。從早期的基于文件的版本控制工具,如RCS,到今天現(xiàn)代的軟件配置管理工具,如Harvest、CleaseCase、StarTeam和Firefly等,軟件配置管理工具已經有了長足的發(fā)展,并且依然在快速的發(fā)展著。軟件配置管理工具發(fā)展過程中的關鍵特征如下表所示:

第1代:基于文件,以版本控制、支持Checkout/Checkin模型和簡單分支為主要特征

第2代:基于項目庫,支持并行開發(fā)團隊協(xié)作以及過程管理

第3代:全面結合CM管理等各個軟件開發(fā)環(huán)節(jié)的軟件配置管理整體解決方案132.成熟軟件配置管理工具的特征企業(yè)要實施軟件配置管理常常面臨的第一步就是要選擇合適的工具,在此將列出一個成熟的軟件配置管理工具應該具備的特征:

——配置項(對象)管理:版本控制、配置管理、并行開發(fā)支持、基線支持

——構建與發(fā)布管理:能利用流行的構建工具、支持多平臺構建、支持并行構建、能自動處理構建依賴關系、能收集和維護重新產生之前構建所需要的信息、

——工作空間管理:能自動跟蹤工作空間中所有類型的變更、能應用不同配置填充工作空間、工作空間既允許隔離又允許更新

——流程管理:不同類型的對象都應具備流程定制能力、流程的范圍可定制、支持測試與發(fā)布流程

——分布式開發(fā)的支持:負載均衡

——與其他工具的集成能力:變更請求工具、開發(fā)工具、其他CASE工具、命令行,SDK

——易用性、易管理性14四、軟件配置管理工具1.SourceSafeSourceSafe是Microsoft公司推出的配置管理工具,是VisualStudio的套件之一。SourceSafe是國內最流行的配置管理工具,用戶量第一位。

SourceSafe的優(yōu)點可以用8個字來概括“簡單易用,一學就會。

SourceSafe的主要局限性:

-----只能在Windows下運行,不能在Unix,Linux下運行。SourceSafe不支持異構環(huán)境下的配置管理,對用戶而言是個麻煩事。這不是技術問題,是微軟公司產品戰(zhàn)略決定的。

-----適合于局域網內的用戶群,不適合于通過Internet連接的用戶群,因為SourceSafe是通過“共享目錄”方式存儲文件的。有一個軟件事業(yè)部(約百名開發(fā)人員)的十余個項目全部采用SourceSafe來管理,只用一臺PC機作配置管理服務器,運行一年都沒有發(fā)生異?,F(xiàn)象。152.CVSCVS是ConcurrentVersionSystem(并行版本系統(tǒng))的縮寫,它是開放源代碼的配置管理工具。

與SourceSafe相比,CVS的主要優(yōu)點是:

----SourceSafe有的功能CVS全都有,CVS支持并發(fā)的版本管理,SourceSafe沒有并發(fā)功能。CVS服務器的功能和性能都比SourceSafe高出一籌。

----CVS服務器是用Java編寫的,可以在任何操作系統(tǒng)和網絡環(huán)境下運行。CVS深受Unix和Linux的用戶喜愛。Borland公司的JBuilder提供了CVS的插件,Java程序員可以在JBuilder集成環(huán)境中使用CVS進行版本控制。

----CVS服務器有自己專用的數(shù)據(jù)庫,文件存儲并不采用SourceSafe的“共享目錄”方式,所以不受限于局域網,信息安全性很好。

CVS的主要缺點在于客戶端軟件,真可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論