




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、版本管理器Visual SourceSafe 6.0實用指南胡杰一、版本管理的必要性如果說70年代的軟件危機導致了軟件工程思想的誕生和理論體系的發(fā)展,那么8090年代尤其是90年代軟件產(chǎn)業(yè)的迅猛發(fā)展導致了另一種新思想的產(chǎn)生和實現(xiàn),這就是軟件的版本管理。只要參加過軟件開發(fā)的人都清楚,現(xiàn)在的軟件項目完全由一個人來完成是難以想象而且也是不可能的,通常是有一個研發(fā)小組來共同分析、設計、編碼和維護,并有專門的測試小組對已完成編碼調(diào)試的軟件進行全面的測試。在軟件開發(fā)這個龐大而復雜的過程中,需要涉及到各個方面的人員,信息的交流反饋不僅僅是在研發(fā)小組的成員之間及各個研發(fā)小組之間,還存在于客戶和研發(fā)者之間。所有
2、的這些交流反饋意見信息都有可能導致對軟件的修改,小的可能只是對某個源文件中的某個變量的定義改動,大到重新設計程序模塊甚至可能是整個需求分析變動。在這個工程中,由于軟件開發(fā)所固有的特征,可能會形成眾多的軟件版本,而且我們并不能保證不出現(xiàn)錯誤的修改,而這樣的一個困難局面卻又非?,F(xiàn)實地擺在項目開發(fā)管理者的面前,他/她該如何有效地解決這些問題,具體地說就是如下一些問題:1. 怎樣對研發(fā)項目進行整體管理;2. 項目開發(fā)小組的成員之間如何以一種有效的機制進行協(xié)調(diào);3. 如何進行對小組成員各自承擔的子項目的統(tǒng)一管理;4. 如何對研發(fā)小組各成員所作的修改進行統(tǒng)一匯總;5. 如何保留修改的軌跡,以便撤銷錯誤的改
3、動;6. 對在研發(fā)過程中形成的軟件的各個版本如何進行標識,管理及差異識辨等等。一個非常直接的反應,我們必須要引進一種管理機制,一個版本管理機制,而且是廣義上的版本管理,它不僅需要對源代碼的版本進行管理,而且還要對整個項目進行管理。以往的那種被譽為具有良好編程風格的做法,諸如在對他人的源程序進行修改時注釋修改原因,修改人和日期,如果是多個成員同時進行了修改,那么需要進行及時的人工的差異比較和綜合以便形成一個統(tǒng)一的新版本。這種做法在當前的大型軟件的開發(fā)中已經(jīng)越來越?jīng)]有空間了,可以說是一種以小作坊的形式來面對軟件的社會化大生產(chǎn),再也不可能行得通了。 其實,版本管理的思想很早就存在于軟件開發(fā)者的頭腦之
4、中,只是以往的認識沒有現(xiàn)在人們所意識到的那樣迫切。UNIX的程序開發(fā)系統(tǒng)較早就提供了能夠進行開發(fā)小組中源代碼版本管理的工具,現(xiàn)在的Linux更是提供功能強大的能夠跨平臺的版本管理器,國外公司的基于Windows的版本管理器也已經(jīng)有了比較成熟的產(chǎn)品,國內(nèi)的研究單位如北京大學計算機系CASE實驗室也在致力于這方面的工作。在眾多的成熟產(chǎn)品和試驗產(chǎn)品中,這里只將對使用比較廣泛,有較大用戶前景且又能較易獲得的版本管理器產(chǎn)品Microsoft公司的Visual SourceSafe 6.0進行詳細的介紹,針對普通的研發(fā)小組的解決方案,及具體的實現(xiàn)。二、Visual SourceSafe 6.0(VSS 6
5、.0)簡介VSS 6.0現(xiàn)在是作為Microsoft Visual Studio 6.0這個開發(fā)產(chǎn)品家族的一員,如Visual C+ 6.0和Visual J+ 6.0一樣。1. VSS的簡單工作原理Microsoft的VSS 6.0解決了軟件開發(fā)小組長期所面臨的版本管理問題,它可能有效地幫助項目開發(fā)組的負責人對項目程序進行管理,將所有的項目源文件(包括各種文件類型)以特有的方式存入數(shù)據(jù)庫。開發(fā)組的成員不能對該數(shù)據(jù)庫中的文件進行直接的修改,而是由該版本管理器將該項目的源程序或是子項目的源程序拷貝到各個成員自己的工作目錄下進行調(diào)試和修改,然后將修改后的項目文件作Checkin提交給VSS,由它進
6、行綜合更新。VSS也支持多個項目之間文件的快速高效的共享。當某個成員向VSS中添加文件時,該文件將會被備份到數(shù)據(jù)庫中,以便所有的成員都能共享該文件。而且每個成員對所有的項目文件所作的修改都將被記錄到數(shù)據(jù)庫中,從而使得修改的恢復和撤銷在任何時刻,任何位置都成為可能。小組的成員可能得到該項目的最新版本,對它進行修改,并保存一個新的版本。 VSS的項目組織管理使得開發(fā)小組的協(xié)調(diào)變得簡單容易且很直觀,當一個和一組文件發(fā)放給另一個成員,小組,Web站點或是任何其他的地址,VSS確保他們之間的真正共享及所選的一組文件的不同版本的安全性?,F(xiàn)在,越來越多的開發(fā)者可以通過他們的開發(fā)環(huán)境來訪問VSS的功能。而且V
7、SS可以很容易地于Microsoft Access、 Visual Basic、 Visual C+、Visual FoxPro和其他的開發(fā)工具集成在一起,一旦VSS集成到開發(fā)環(huán)境中,就可以象控件一樣使用,能夠很好地體現(xiàn)出VSS的易用性和強大功能。2.VSS中的幾個重要概念為了更好的了解VSS,有必要對如下一些概念給予說明。首先是項目的概念,所謂的項目是一組存在VSS中的文件(任何類型),可以在項目中或是項目之間進行文件的添加、刪除、編輯和共享。一個項目與操作系統(tǒng)的文件夾有很多的相似之處,但它更好地支持文件合并、歷史和版本控制。所有的文件存在VSS數(shù)據(jù)庫的項目中,開發(fā)組成員不能在VSS中的主備
8、份文件上工作(除了檢查和版本比對等特殊情況外)而是VSS為每個成員在各自的工作目錄下提供一個拷貝以供工作。盡管在沒有工作目錄的情況下也可以查看某個文件,但如要真正在VSS管理下工作,就必須要創(chuàng)建一個工作目錄。VSS能夠維護一個文件的多個版本,包括一個從不同版本之間進行修改的記錄。版本控制包括如下方面:組內(nèi)協(xié)調(diào)在一般情況下,確保在任何時刻都只有一個成員對某個特定的文件進行修改,這樣可以防止文件被其他成員的修改意外更新。當然,VSS管理員可以改變此缺省設置以允許對單個文件同時有多個Checkout,并且仍禁止對他人的修改進行覆蓋。版本跟蹤對老版本的源代碼和其他文件進行歸檔和跟蹤,而且這些版本能夠被
9、重新得到以便進行bug跟蹤或其他目的。 跨平臺開發(fā)支持同一代碼在跨多個開發(fā)平臺時的版本控制。重用或面向?qū)ο蟠a跟蹤哪些程序使用了哪些代碼可被重用的模塊。版本控制的涵義在以后的章節(jié)中將會得到更進一步的論述。我們已經(jīng)知道,VSS 提供版本控制和歷史服務,以保證一個文件的每個版本都是可恢復的。VSS用日期/時間戳來記錄文件是何時被Checkout或是何時被修改的,它主要有三種方法來跟蹤文件和項目的版本:版本號:這是由VSS維護的內(nèi)部數(shù)碼,用戶對它沒有控制權。每個文件和項目的每個版本都有一個版本號,這些版本號總是一個整數(shù)且是遞增的。標簽:這些是用戶賦給某個項目或文件的某個版本的一個字符串,可以是任何格
10、式的長度不超過31字符的字符串。日期/時間戳:它給出了一個文件何時最后被修改的信息,或者是一個文件何時被Checkin。VSS同時支持12小時和24小時的時間格式。工作目錄是用戶真正對項目文件進行調(diào)試修改的地方,當用戶Checkout 或提取一個文件時,VSS將該項拷貝到用戶的工作目錄下,當用戶修改了該文件并將其Checkin或提交時,VSS再將它從用戶的工作目錄拷回到VSS的數(shù)據(jù)庫中。在用戶作Checkout時,VSS將會自動管理他的工作目錄,諸如創(chuàng)建必要的子目錄。而且工作目錄可以隨時創(chuàng)建或修改。3. VSS 6.0的一些新增的特征和功能歸檔和恢復在VSS 6.0中這兩個操作是在一個用戶界面
11、友好的VSS管理員wizard中進行的,而在以前的版本中,它們只能通過命令行來實現(xiàn)。移動文件當用戶移動文件時,VSS 6.0自動將該文件共享到一個新的項目中,并在原項目中將其刪除。在新項目中,該文件的屬性是共享的。多個項目之間的差異比較該功能允許用戶在不同的項目之間進行差異比較。單個文件的展開在以前的版本中,VSS只能展開一個目錄(文件夾),在VSS 6.0中,同時可以展開一個文件??焖偬崛∮捎赩SS 6.0在性能上的提高,現(xiàn)在的文件提取速度比以往VSS版本的快兩倍左右。歷史信息過濾VSS 6.0 支持查看那些沒有標簽的文件和項目的歷史。清除臨時文件夾選項該新功能可使用戶很方便地清除臨時文件夾
12、。檢查外部的超連接在VSS 的較早的版本中,只有內(nèi)部的超連接和項目內(nèi)的跳轉(zhuǎn)才得到檢查,VSS 6.0允許用戶檢查項目之外的超連接和跳轉(zhuǎn)。創(chuàng)建打開VSS數(shù)據(jù)庫的快捷鍵用戶可以使用VSS Explorer中該新功能創(chuàng)建一個打開某個特定VSS數(shù)據(jù)庫的桌面快捷鍵。HTML格式的幫助VSS的以往版本使用的是WinHelp格式。三、VSS 6.0的解決方案在對VSS 6.0的工作原理,功能和新增特征有了一個較全面的了解后,我們開始進入到本節(jié),即如何運用VSS 6.0來實際解決軟件開發(fā)工程中的版本管理和控制問題,怎樣有效地構架一個系統(tǒng)的解決方案。首先看一下我們的開發(fā)小組所處于的實際情況,最一般的情況是整個項
13、目使用的就是微機環(huán)境,每個開發(fā)者在各自的Windows微機下利用Microsoft的VC、VB、VJ等等來開發(fā)項目中各個子項目或子模塊,通常這個小組是局域網(wǎng)的一部分或者是一個較為獨立的子網(wǎng),可能配有專門的服務器。這樣的一個開發(fā)環(huán)境對于實現(xiàn)用VSS 6.0來進行版本控制和管理是非常有利而且是比較直觀的,因為VSS 6.0也需要這個網(wǎng)絡環(huán)境。其次是對于項目本身來說的,一個項目經(jīng)過分析設計后一般都會分成若干個子項目由若干個開發(fā)小組各自負責編碼調(diào)試,但軟件開發(fā)的實際情況決定了各個小組之間并不是完全獨立的,他們在很多情況下都需要協(xié)調(diào)交互和信息反饋,開發(fā)過程中的每一步都有可能會導致對前一階段工作的修正,因
14、為軟件開發(fā)很大程度上是一個螺旋式的過程,更不用說小組之內(nèi)的相互交流了。在這個不斷交互改動的過程中,將可能形成的項目的階段版本、部分版本和完整版本的數(shù)量是可想而知的,而以往的通常的版本人工管理方法已是不能勝任了。而且還有一個非常重要的方面不可忽略,這對系統(tǒng)軟件的開發(fā)尤為明顯,即軟件的層次結構。一般的做法是在通用的系統(tǒng)軟件之上為多個應用開發(fā)相應的應用程序,與此相對照的項目開發(fā)組也一般分為系統(tǒng)開發(fā)組和各個應用開發(fā)組,應用軟件的開發(fā)和使用過程中將會反饋回無數(shù)的應用本身和系統(tǒng)軟件的問題,如果只是針對每個應用來單獨修改更新系統(tǒng)軟件版本,這樣就不可避免地導致多個系統(tǒng)版本的不一致,這樣對于真正解決系統(tǒng)所存在的
15、問題就顯得力不從心了。而VSS 6.0正適合于這種軟件的開發(fā)體系結構,可以為各個小組創(chuàng)建自己的項目,而這些項目又從屬于一個總的項目,所有的修改都將被匯總處理以形成一個統(tǒng)一的最新版本。針對這樣最為普通的一個軟件開發(fā)環(huán)境和組織結構,運用VSS 6.0進行版本控制管理的非常有效而且代價較小的解決方案是:在一臺Windows NT服務器或者是一臺較為獨立的Windows 98/95 PC上安裝VSS 6.0的服務器端軟件,創(chuàng)建一個為該整個項目存放用的數(shù)據(jù)庫,然后在該數(shù)據(jù)庫中創(chuàng)建各個項目和子項目,并由VSS管理員為小組的每個成員創(chuàng)建一個帳號及他們各自的權限;在開發(fā)小組其他成員的PC上安裝VSS的客戶端軟
16、件,并創(chuàng)建自己的工作目錄,這樣在軟件的開發(fā)過程中,他們只要通過該客戶端軟件登錄到VSS服務器上,Checkout當前要進行工作的項目或文件,如有修改的在工作結束時將其Checkin提交給VSS服務器進行統(tǒng)一更新。解決方案如下圖所示。四、VSS6.0服務器的安裝在我們給出整個解決方案后,現(xiàn)在來看一下如何安裝VSS服務器。VSS 6.0是Microsoft Visual Studio 6.0 套件的成員,我們就以這個版本為例進行說明。第一步,將Visual Studio 6.0 的CD1放入CD-ROM,自動進入安裝程序,選擇第二項“Server Applications and Tools(Ad
17、d Only)”,如圖1所示;第二步,然后在Server Setups的Server Components中選擇Visual Source Safe Server,按Install按鈕后,根據(jù)提示放入CD2,如圖2所示;第三步,根據(jù)Installation Wizard的提示,繼續(xù)安裝過程,選擇安裝路徑,按圖3左上角的按鈕,系統(tǒng)繼續(xù)進行安裝,直至提示你重啟以使新安裝的程序生效,重啟計算機。VSS 6.0服務器的安裝比較簡單,它既可以安裝在Windows NT下,也可以安裝在Windows 9x下。五、VSS 6.0客戶端的安裝在VSS 6.0服務器安裝完畢后,就可以在VSS管理員的指導下安裝客
18、戶端的軟件。由于我們是在一個Windows環(huán)境的子網(wǎng)內(nèi),每臺PC客戶機均可通過網(wǎng)上鄰居來訪問VSS服務器。在VSS管理員為用戶指明VSS客戶端軟件的安裝程序“Netsetup.exe”的位置后,用戶可以直接通過資源管理器“Explorer”在網(wǎng)上鄰居中找到該程序,并雙擊以運行它,如圖1所示。Netsetup.exe被啟動后進入VSS客戶端的安裝,在如下提示框中輸入用戶名和工作組名,如圖2所示。選擇VSS的安裝路徑后,在圖3中點擊安裝圖標,進入實際安裝步驟,以后的工作將由系統(tǒng)自動完成。當系統(tǒng)提示你,VSS已成功安裝,到此所有的安裝工作已經(jīng)完成。六、VSS6.0服務器的配置和管理在VSS 6.0服
19、務器安裝完畢后,就可以針對開發(fā)項目進行VSS服務器的配置和管理,這些工作均需由VSS管理員來完成。 首先,為整個項目創(chuàng)建一個VSS數(shù)據(jù)庫(在VSS服務器安裝時,系統(tǒng)已經(jīng)創(chuàng)建了一個缺省數(shù)據(jù)庫Common),啟動Visual SourceSafe 6.0 Admin(Start /Programs/Microsoft Visual Studio 6.0/Microsoft Visual SourceSafe/Visual SourceSafe 6.0 Admin),跳出如圖1的窗口,點擊下拉菜單Tools中的Create Database.菜單項,將出現(xiàn)如圖2的窗口,選擇新數(shù)據(jù)庫的路徑,例如創(chuàng)建M
20、yApp數(shù)據(jù)庫,然后點擊OK按鈕,系統(tǒng)將完成創(chuàng)建工作。 第二步,為新創(chuàng)建的數(shù)據(jù)庫(例如MyApp)建立用戶,首先需要打開該數(shù)據(jù)庫,點擊下拉菜單Users/Open SourceSafe Database.,然后選擇數(shù)據(jù)庫MyApp,打開它,如圖3所示。再選擇菜單項Add User.,輸入用戶名和口令,如圖4所示。然后依次創(chuàng)建其他的用戶。 第三步,在該新建的數(shù)據(jù)庫中創(chuàng)建項目Project。啟動Microsoft Visual SourceSafe 6.0 (Start/Programs/Microsoft Visual Studio 6.0/Microsoft Visual SourceSafe
21、/Microsoft Visual SourceSafe 6.0),出現(xiàn)如圖5的窗口,點擊下拉菜單File中Open SourceSafe Database.,跳出如圖6的對話框,選擇一個數(shù)據(jù)庫(例如MyApp),雙擊它或按Open按鈕一打開該數(shù)據(jù)庫;一個項目Project是一組相關的文檔或者是一個文件的集合,VSS允許你以任何的層次結構來存貯和組織你的項目。在VSS數(shù)據(jù)庫中,你可以創(chuàng)建一個或者多個項目。點擊菜單File中的命令Create Project.,創(chuàng)建一個項目,例如MyProject,如圖7所示;創(chuàng)建完項目MyProject后,需要向MyProject中添加文件,點擊File中Add Files命令,將跳出對話框,選擇相應文件或目錄,點擊Add按鈕,將它們添加到MyProject中去,如圖8所示。 VSS服務器的配置到此基本上已經(jīng)完成了,創(chuàng)建了數(shù)據(jù)庫和項目,并為它們建立了相應的用戶,這樣用戶在客戶端的VC等集成開發(fā)環(huán)境中就可以直接登錄到VSS服務
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小熊與大樹的對話童話作文(13篇)
- 個人成長潛能呈現(xiàn)承諾書6篇范文
- 公司出口商品質(zhì)量保障承諾書(7篇)
- 2025南平市延平區(qū)疾病預防控制中心招聘駕駛員模擬試卷及參考答案詳解一套
- 尊貴藝術珍品保真購藏承諾函(9篇)
- 2025年煙臺市公費醫(yī)學生考試選聘(139人)考前自測高頻考點模擬試題帶答案詳解
- 企業(yè)資產(chǎn)采購標準合同范本
- 商業(yè)計劃書制作流程工具
- 2025內(nèi)蒙古鄂爾多斯市康巴什區(qū)青年就業(yè)見習計劃招募考前自測高頻考點模擬試題及答案詳解(全優(yōu))
- 遼寧省葫蘆島市2024-2025學年高一下學期期末考試地理地理試卷(解析版)
- 公司車輛使用登記表
- 膽總管結石術后護理
- 中國糖尿病防治指南課件
- 校園欺凌防范與處置操作指引
- 建筑結構試題及答案
- GB/T 4854.7-2008聲學校準測聽設備的基準零級第7部分:自由場與擴散場測聽的基準聽閾
- GB/T 21709.16-2013針灸技術操作規(guī)范第16部分:腹針
- OTN技術與應用(阿法迪)
- 高標準基本農(nóng)田建設項目電力施工組織設計
- 財富沙盤流程課件
- 旋挖鉆樁基施工方案
評論
0/150
提交評論