• 軟件測試技術
  • 軟件測試博客
  • 軟件測試視頻
  • 開源軟件測試技術
  • 軟件測試論壇
  • 軟件測試沙龍
  • 軟件測試資料下載
  • 軟件測試雜志
  • 軟件測試人才招聘
    暫時沒有公告

字號: | 推薦給好友 上一篇 | 下一篇

軟件配置管理工具選型調研報告

發布: 2009-3-08 11:52 | 作者: 陸國暾 | 來源: 測試時代采編 | 查看: 580次 | 進入軟件測試論壇討論

領測軟件測試網   1       關于本文檔

詳細的描述在推行軟件配置管理的可行性,以及各類軟件配置工具的比較,結合本中心的實際特點,分析適合本中心使用的軟件配置工具。

 

本文檔由陸國暾撰寫,要詳盡了解相關軟件配置工具的具體性能數據,請參閱該軟件出品公司技術文檔。

2       現狀簡述

現有的軟件配置管理工具(SCM Tools)大致有如下幾個品種:

(1)    IBM—ClearCase (CC);

(2)    Microsoft—Visual Source Safe (VSS);

(3)    Borland—StarTeam (ST)

(4)    Open Source--Concurrent Versions System (CVS);

(5)    Hansky—Firefly;

該份可行性報告即為以上5種配置管理工具的評估報告,其側重點針對本中心的實際情況,結合各個開發部門的操作系統,開發流程,項目規模,易用性,價格,與其他管理系統的良好的結合性等等方面來進行考慮。

進行軟件配置管理的目的:

一、權限控制(Access Control)
  權限控制對SCM工具來說至關重要。一方面,既然是團隊開發,就可能需要限制某些成員的權限;特別是大項目往往牽扯到子項目外包,到最后聯調階段會涉及到很多不同的單位,更需要權限管理。另一方面,權限控制也減小了誤操作的可能性,間接提高了SCM工具的可用性(Usability)。
  現有的SCM工具,在權限控制方面差異很大,也說明了大家都在探索更有效的權限控制的方法。透過不同權限控制方法的差異,我們不難看到其共性:其核心概念是行為(Action)、行為主體、行為客體。
  行為主體:即用戶(User)。用戶組(User Group)并不是行為主體,但它的引入大大方便了權限管理。
  行為客體:即項目和項目成員(Member)。不管從SCM工具的開發者還是使用者的角度,項目和項目成員都是不同的行為客體。
  行為:即由主體施加在客體之上的特定操作,簽入和簽出是再典型不過的例子。
  三個核心概念搞清之后,就可以討論權限的概念了。
  權限是這樣一個四元向量:(主體,客體,行為,布爾值)。即,“主體在客體上施加某種行為是否被獲準”。
  由此看來,權限控制的基本工作就是負責維護主體集合、客體集合、行為集合、權限向量集合。其中,行為集合是固定不變的(在SCM工具開發之時已確定),其它三種集合都是動態變化的。
二、版本控制(Version Control)
  SCM工具記錄項目和文件的修改軌跡,跟蹤修改信息,使軟件開發工作以基線(Baseline)漸進方式完成,從而避免了軟件開發不受控制的局面,使開發狀態變得有序。
  SCM工具可以對同一文件的不同版本進行差異比較,可以恢復個別文件或整個項目的早期版本,使用戶方便地得到升級和維護必需的程序和文檔。
  SCM工具內部對版本的標識,采用了版本號(Version Number)方式,但對用戶提供了多種途徑來標識版本,被廣泛應用的有版本號、標簽(Label)和時間戳(Time Stamp)。多樣靈活的標識手段,為用戶提供了方便。
三、增強的版本控制(Enhanced Version Control)
  快照(Snapshot)和分支(Branch)以基本的版本控制功能為基礎,使版本控制的功能又更進一步增強。
  快照是比版本高一級的概念,它是項目中多個文件各自的當前版本的集合?煺帐够謴晚椖康脑缙诎姹咀兊梅奖,它還支持批量簽入(Check in)、批量簽出(Check out)和批量加標簽(Label)等操作?傊,快照是版本控制的一種增強,使版本控制更加方便高效。
  分支允許用戶創建獨立的開發路徑,我們認為分支的典型用途有二。第一,分支和合并(Merge)一起,是支持并行開發(Concurrent Development)的有力支持。第二,分支支持多版本開發,這對發布后的維護尤其有用。比如客戶報告有打印bug,小組可能從某個還未引入打印bug的項目版本引出一個分支,最終分布ā一個bug修訂版。分支是版本控制的另一種增強。
  版本控制和增強的版本控制是SCM工具其它功能的基礎。
四、變更管理(Change Management)
  SCM工具提供有效的問題跟蹤(Defect Tracking)和系統變更請求(System Change Requests (SCRs))管理。通過對軟件生命周期各階段所有的問題和變更請求進行跟蹤記錄,來支持團隊成員報告(Report)、抓。–apture)和跟蹤(Track)與軟件變更相關的問題,以此了解誰改變了什么,為什么改變。
  變更管理有效地支持了不同開發人員之間,以及客戶和開發人員之間的交流,避免了無序和各自為政的狀態。
五、獨立的工作空間(Independent Workspaces)
  開發團隊成員需要在開發項目上協同、并發地工作,這樣可以大大提高軟件開發的效率。沙箱(Sandbox)為并行開發提供了獨立的工作空間,在有的SCM工具中也稱為工作目錄(Working Folder)。
  使用沙箱(Sandbox),開發人員能夠將所有必要的項目文件拷貝到私有的一個樹型目錄,修改在這些副本上進行。一旦對修改感到滿意,就可以將修改合并(Merge)到開發主線(Main Line)上去;當然,如果該文件只有該成員一人修改,只需將修改過的文件簽入(Check In)到主項目中即可。
  “并發和共享是同一事物的不同方面”,并發的私有工作空間共享同一套主項目(Mater Project)文件,因此有必要讓所有團隊成員擁有得知項目當前狀態的能力。SCM工具提供刷新(Refresh)操作,某位團隊成員可以使其他團隊成員在主項目文件上所做的變更,在自己沙箱的圖形用戶界面上反應出來。
六、報告(Report)
  為保證項目按時完成,項目經理必須監控開發進程并對發生的問題迅速做出反應。報告功能使項目經理能夠隨時了解項目進展情況;通過圖形化的報告,開發的瓶頸可以一目了然地被發現;標準的報告提供常用的項目信息,定制報告功能保證了擁有適合自己需求的信息。
七、過程自動化(Process Automation)
  SCM工具使用事件觸發機制(Event Trigger),即讓一個事件觸發另一個事件產生行為,來實現過程自動化。比如,讓“增加項目成員”操作自動觸發“產生功能描述表(Form)”操作,開發人員填制該文件的功能描述表,規范開發過程。
  過程自動化不僅可以縮短復雜任務的時間,提高了生產率,而且還規范了團隊開發的過程,減少了混亂。
八、管理項目的整個生命周期
  從開發、測試、發布到發布后的維護,SCM工具的使命“始于項目開發之初,終于產品淘汰之時”。SCM工具應預先提供典型的開發模式的模板,以減少用戶的勞動;另一方面,也應支持用戶自定義生命周期模式,以適應特殊開發需要。
九、與主流開發環境的集成
  將版本控制功能與主流集成開發環境(IDE)集成,極大地方便了軟件開發過程。從集成開發環境的角度看,版本控制是其一項新功能;從SCM工具的角度看,集成開發環境充當了沙箱的角色。

延伸閱讀

文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/

TAG: 調研 工具 管理 軟件 選型


關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97