




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VSS使用手冊1 VSS概述 版本控制是工作組軟件開發(fā)中的重要方面,它能防止意外的文件丟失、允許反追蹤到早期版本、并能對版本進(jìn)行分支、合并和管理。在軟件開發(fā)和您需要比較兩種版本的文件或找回早期版本的文件時(shí),源代碼的控制是非常有用的。Visual SourceSafe 是一種源代碼控制系統(tǒng),它提供了完善的版本和配置管理功能,以及安全保護(hù)和跟蹤檢查功能。VSS通過將有關(guān)項(xiàng)目文檔(包括文本文件、圖象文件、二進(jìn)制文件、聲音文件、視屏文件)存入數(shù)據(jù)庫進(jìn)行項(xiàng)目研發(fā)管理工作。用戶可以根據(jù)需要隨時(shí)快速有效地共享文件。文件一旦被添加進(jìn)VSS,它的每次改動(dòng)都會(huì)被記錄下來,用戶可以恢復(fù)文件的早期版本,項(xiàng)目組的其他成
2、員也可以看到有關(guān)文檔的最新版本,并對它們進(jìn)行修改,VSS也同樣會(huì)將新的改動(dòng)記錄下來。你還會(huì)發(fā)現(xiàn),用VSS來組織管理項(xiàng)目,使得項(xiàng)目組間的溝通與合作更簡易而且直觀。VSS可以同 Visual Basic、Visual C+、Visual J+、Visual InterDev、Visual FoxPro 開發(fā)環(huán)境以及 Microsoft Office 應(yīng)用程序集成在一起,提供了方便易用、面向項(xiàng)目的版本控制功能。Visual SourceSafe 可以處理由各種開發(fā)語言、創(chuàng)作工具或應(yīng)用程序所創(chuàng)建的任何文件類型。在提倡文件再使用的今天,用戶可以同時(shí)在文件和項(xiàng)目級(jí)進(jìn)行工作。Visual SourceSaf
3、e 面向項(xiàng)目的特性能更有效地管理工作組應(yīng)用程序開發(fā)工作中的日常任務(wù)。11 VSS中的文件當(dāng)你要修改某個(gè)文檔時(shí),需要先從數(shù)據(jù)庫中將它簽出(check out),或者告訴VSS你要編輯該文檔。VSS會(huì)將該文檔的副本從數(shù)據(jù)庫中拿到你的工作文件夾(working folder)中,你就可以修改你的文檔了。如果其他用戶再想對同一文檔進(jìn)行修改,VSS會(huì)產(chǎn)生一個(gè)信息,告訴他,該文檔已被簽出(check out),從而避免多人同時(shí)修改文檔,以保證文檔的安全性。當(dāng)你完成修改之后,需要將文檔 簽入(check in)VSS。這個(gè)操作從你的工作文件夾(working folder)中復(fù)制被你修改的文檔,并將它放回V
4、SS數(shù)據(jù)庫,以便其他用戶能夠及時(shí)看到文檔的改動(dòng)。VSS能夠保存文檔的所有改動(dòng),并顯示最新版本,同時(shí)早期版本也會(huì)被跟蹤記錄下來。VSS對反增量技術(shù)的運(yùn)用,僅需要用很少的磁盤空間就能使得用戶獲取文檔的所有版本。如果你沒有修改文檔,你可以執(zhí)行撤消簽出(undo check out)命令,文檔將被保存為被簽出(check out)之前的狀態(tài)。如果你只需讀取某一文檔而并不需要編輯它,你可以執(zhí)行取出(get)命令,將文檔放入你的工作文件夾,再選擇查看文檔(view),來查看你的文檔的最新版本。12 VSS中的項(xiàng)目項(xiàng)目(project)是指用戶存儲(chǔ)在VSS數(shù)據(jù)庫中的所有文件(file)的集合。用戶可以在項(xiàng)目
5、之間或項(xiàng)目內(nèi)部實(shí)現(xiàn)文件的添加(add)、刪除(delete)、編輯(edit)、共享(share)。一個(gè)“項(xiàng)目(project)”在很大程度上類似于一個(gè)普通系統(tǒng)的的文件夾,不同的是它能更好地支持文件合并(merge)、跟蹤(archive)和版本控制(version control)功能。文件保存在VSS數(shù)據(jù)庫中的項(xiàng)目(project)里。你無須管理存儲(chǔ)在VSS 中的文件正本,除非你要檢查或與其它拷貝進(jìn)行比較。VSS為每一位用戶提供了一份備份文件放入工作文件夾(working folder),供用戶對文件進(jìn)行查看與編輯。盡管沒有工作文件夾也可以查看文件,但要想真正實(shí)現(xiàn)對文檔的處理,必須建立工作
6、文件夾。13 VSS的版本控制功能VSS能夠保存文件的多個(gè)版本,包括文件版本之間每一處微小的變動(dòng)。版本控制有以下幾方面的內(nèi)容:l 組內(nèi)合作在缺省的情況下,一般一個(gè)文件在某一時(shí)間只允許一個(gè)用戶對其進(jìn)行修改,這樣可以防止文件意外地被其他用戶改動(dòng)或者覆蓋。但管理員可以改動(dòng)這種缺省的設(shè)置,允許文件多層簽出。這種設(shè)置也能防止過多的、不必要的改動(dòng)。l 版本追蹤VSS能夠?qū)υ创a和其他文件進(jìn)行存儲(chǔ)和早期版本的追蹤,從而實(shí)現(xiàn)重建文件早期版本等有關(guān)功能。l 跨平臺(tái)開發(fā)在多平臺(tái)開發(fā)的情況下,版本追蹤用于維護(hù)核心代碼。l 代碼的再使用 追蹤程序基準(zhǔn)使得代碼可重用。14 文件的拆分和共享在VSS中可以實(shí)現(xiàn)一個(gè)文件被多
7、個(gè)項(xiàng)目共享(share)。在一個(gè)項(xiàng)目中對文件的改動(dòng)可以自動(dòng)反映到其他共享的項(xiàng)目中去。這正提倡了代碼重用。在file菜單中的properties中,點(diǎn)擊link,可以查看某一文件的共享情況。拆分(branch)是將文件從原來共享的項(xiàng)目中分離出來的過程。它使得VSS可以實(shí)現(xiàn)從不同的路徑追蹤文件。注:在其他版本控制系統(tǒng)中,分支是通過跟蹤版本號(hào)來實(shí)現(xiàn)的。例如:版本“2.3.9.2”是版本2.3的第二個(gè)修訂版本的第九個(gè)分支。而VSS通過明顯不同的項(xiàng)目名稱實(shí)現(xiàn)對文件分支的跟蹤。拆分文件就斷開了共享連接,使得本項(xiàng)目中的文件與其他原來共享的項(xiàng)目無關(guān)。對此文件的修改將不會(huì)再反映到其他項(xiàng)目上。拆分是這樣被建立的:
8、兩個(gè)文件以前有著共同的歷史記錄,從實(shí)現(xiàn)拆分開始,他們的歷史記錄將被VSS分別追蹤。拆分文件之后,link按紐將不再顯示已斷開的連接,但你可以用path(file菜單中的properties項(xiàng))按紐瀏覽拆分的歷史記錄。共享(share)文件就是在多個(gè)項(xiàng)目間建立文件的連接。拆分(branch)文件就是在項(xiàng)目之間建立了不同的文件路徑。15 工作文件夾(working folder)VSS是存儲(chǔ)和管理文件的工具,但是編輯和編譯文件必須在VSS指定文件夾中進(jìn)行。這個(gè)文件夾叫工作文件夾,它可以是現(xiàn)存的文件夾,也可以是VSS新建的文件夾。VSS瀏覽器在文件列表上方顯示了文件的工作文件夾的路徑。在VSS系統(tǒng)中
9、,工作文件夾才是你真正用于處理文檔的地方。當(dāng)你要編輯或修改某個(gè)文檔時(shí),必須對文檔實(shí)施check out 操作(詳見3.3.5修改和編輯文件),VSS將該文檔從項(xiàng)目中拷貝出來,放入你的工作文件夾。當(dāng)你修改完畢并check in 文件之后,VSS又將文件重新拷貝到數(shù)據(jù)庫中以記錄你的修改。一旦你將文件簽出,VSS就開始在你的本地機(jī)上創(chuàng)建并管理你的工作文件夾。每一個(gè)用戶、每一個(gè)項(xiàng)目或每一臺(tái)微機(jī)都可以有自己的工作文件夾。如果Joe在項(xiàng)目$/SpreadSheet和$/WordProcessor上工作,他就有相應(yīng)的2個(gè)不同的工作文件夾。如果Hanna在同樣的項(xiàng)目上工作,對于每一個(gè)項(xiàng)目她又有自己的工作文件夾
10、。當(dāng)你為某個(gè)項(xiàng)目設(shè)置了工作文件夾,你可以用它來放置你該項(xiàng)目中包括子項(xiàng)目再內(nèi)的所2 VSS的客戶端安裝21 安裝VSS的系統(tǒng)條件l 計(jì)算機(jī)/處理器: 處理器為486DX/66MHz或以上PC機(jī)推薦Pentium或更高級(jí)的處理器。l 內(nèi)存:Windows 95或以后的版本要求16 MB RAM (推薦32 MB);Windows NT 4.0要求24 MB (推薦32 MB)。l 硬盤:客戶機(jī):典型安裝:59MB; 72 MB;安裝過程:66 MB;l 服務(wù)器:典型安裝:128 MB;最大安裝:141 MB;l 附加硬盤要求:Internet Explorer:典型為43 MB,最大59 MB;M
11、SDN:典型57MB,最大59 MBl 驅(qū)動(dòng)器:CD ROMl 顯示:VGA或更高級(jí)顯示器,推薦Super VGA。l 操作系統(tǒng):Microsoft Windows 95或以后版本或者M(jìn)icrosoft Windows NT 4.0,NT要求Service Pack 3或更高版本(包括Service Pack 3l 外圍設(shè)備/其它: Microsoft Internet Explorer 4.01 Service Pack 1 (包含).22 從網(wǎng)絡(luò)安裝VSS客戶端1) 打開本地計(jì)算機(jī)的“網(wǎng)上鄰居”屬性對話框;2) 點(diǎn)擊“配置”按紐;3) 將“MICROSOFT網(wǎng)絡(luò)用戶”的屬性設(shè)置為:登錄到W
12、INDOWS NT 域,域名為PLANNING;4) 添加TCP/IP、NETBEUI、IPX/SPX協(xié)議;5) 重新啟動(dòng)計(jì)算機(jī),登錄“planning”域;注:管理員為每位NT用戶設(shè)置的登錄密碼為“111”,用戶在第一次登錄時(shí),計(jì)算機(jī)會(huì)提示用戶修改密碼。6) 從“網(wǎng)上鄰居”的“planning”域中查找服務(wù)器“VSSDATA”;7) 打開共享的“VSS”文件夾并雙擊“NETSETUP”;8) 按照安裝程序的提示開始安裝。3 VSS的基本使用操作31 登錄VSS點(diǎn)擊VSS圖標(biāo)或從程序菜單中運(yùn)行Visual SourceSafe 6.0,即可打開VSS瀏覽器。如果用戶登錄的VSS密碼和登錄PLA
13、NNING域的密碼是一致的,系統(tǒng)將不再提示輸入進(jìn)入VSS數(shù)據(jù)庫的密碼;如果用戶為VSS設(shè)置的密碼與登錄PLANNING域的密碼不同,系統(tǒng)將提示用戶輸入VSS的登錄密碼。關(guān)于如何修改VSS用戶密碼,詳見“3.2.14修改用戶密碼”。32 VSS瀏覽器當(dāng)你一打開VSS,如果你設(shè)定了密碼的話,它會(huì)提示你輸入密碼。如果你沒有設(shè)定密碼,你可以直接看到瀏覽器。在瀏覽器上,你可以瀏覽你的數(shù)據(jù)庫、查看項(xiàng)目列表、顯示文件統(tǒng)計(jì)信息、執(zhí)行命令對文件和項(xiàng)目進(jìn)行操作等。瀏覽器的最上方的標(biāo)題欄是你當(dāng)前連接的數(shù)據(jù)庫。VSS使用符號(hào)來提供有關(guān)文件和項(xiàng)目信息。菜單欄的下面是常用工具欄,這里有許多常用命令的按紐,它可以幫你快速地
14、執(zhí)行對文件的操作。在項(xiàng)目欄中,顯示有項(xiàng)目列表,包括特殊項(xiàng)目的有關(guān)信息。文件欄顯示了當(dāng)前項(xiàng)目的所有文件的列表。結(jié)果欄顯示當(dāng)前你所執(zhí)行的操作的結(jié)果。33 VSS基本操作331創(chuàng)建新的文件夾1) 選中要?jiǎng)?chuàng)建新文件夾的項(xiàng)目(上級(jí)文件夾);2) 在file菜單中選中creat project;3) 寫入要添加的文件夾的名稱,同時(shí)也可以在comment欄中為新建的文件夾添加備注;4) 點(diǎn)擊OK。332添加文件夾1) 選中你要添加文件夾的項(xiàng)目(上級(jí)文件夾);2) 在file菜單中選中add files;3)在文件夾列表中選中要添加的文件夾;4)點(diǎn)擊add,同時(shí)可以在comment欄為你添加的文件夾做一個(gè)簡單
15、備注;5)如果你要連同子文件夾一起添加,選擇Recursive;5) 點(diǎn)擊OK,成功添加了一個(gè)帶有備注的文件夾。或者點(diǎn)擊close,退出操作,返回addfiles對話框,點(diǎn)擊close。333添加文件3321使用add命令添加文件1)選中你要添加文件的文件夾;2) 在fil菜單中選中add files;3) 在文件列表中選中要添加的文件;如果要添加多個(gè)文件,可以使用CTRL鍵或SHIFT鍵,同時(shí)選中多個(gè)文件;4)點(diǎn)擊add,同時(shí)可以在comment欄為你添加的文件夾做一個(gè)簡單備注;5)點(diǎn)擊OK。3322用拖動(dòng)的方法添加文件/文件夾1)打開VSS瀏覽器,調(diào)整其大小,使得Windows資源管理器能
16、夠顯示出來;2)打開Windows資源管理器,調(diào)整大小,使得兩個(gè)瀏覽器可以同時(shí)顯示;3)從Windows資源管理器中選擇你要添加的文件或文件夾;4) 拖動(dòng)你所選的文件或文件夾,放入VSS瀏覽器,文件被添加進(jìn)項(xiàng)目,而添加的文件夾將作為項(xiàng)目的子項(xiàng)目。333查看文件1) 在文件列表中選中要查看的文件;2) 在EDIT菜單中選中view,打開對話框;3)選中view SourceSafes copy of this file;4)點(diǎn)擊OK。334創(chuàng)建工作文件夾在執(zhí)行簽入(check in)、簽出(check out)、撤消簽出(undo check out)、取出最新版本(get latest ver
17、sion)和文件合并(merge branches)等命令時(shí)都必須使用工作文件夾。工作文件夾可以隨時(shí)設(shè)定或修改,VSS系統(tǒng)中可以通過兩種方式設(shè)置工作文件夾。3341專門創(chuàng)建工作文件夾1) 在VSS瀏覽器的文件或項(xiàng)目列表中選中要設(shè)置工作文件夾的文件/文件夾;2) 在file菜單中選擇set working folder,打開對話框;3) 在資源管理列表中選擇或新建文件夾;4) 點(diǎn)擊OK。3342利用check out操作設(shè)置工作文件夾在對文件執(zhí)行check out操作時(shí),如果該文件還沒有設(shè)置工作文件夾,系統(tǒng)會(huì)提示用戶為文件創(chuàng)建或指定工作文件夾,用戶可以根據(jù)系統(tǒng)的提示對文件進(jìn)行工作文件夾的設(shè)置。3
18、35修改和編輯文件1) 在edit菜單中選中edit file,打開對話框;2) 選擇check out this file and edit it in your working folder;3) 點(diǎn)擊OK。注:如果用戶已經(jīng)為文件設(shè)置了工作文件夾,VSS會(huì)將該文件的一個(gè)COPY放入你的工作文件夾并打開文件,讓用戶進(jìn)行修改和編輯;如果用戶還沒有為文件設(shè)置工作文件夾,VSS系統(tǒng)會(huì)提醒用戶設(shè)置工作文件夾,用戶可根據(jù)系統(tǒng)提示,先設(shè)置工作文件夾,才可以對文件進(jìn)行編輯。336移動(dòng)文件/文件夾3361移動(dòng)文件你只有一種方法移動(dòng)文件:將文件共享(share)到項(xiàng)目中,再將其從原來的項(xiàng)目中delete或是d
19、estroy。移動(dòng)文件后,歷史信息仍然有效。但是你不能用move命令來移動(dòng)單個(gè)的文件。3362移動(dòng)文件夾(project)注:要使用移動(dòng)(move)命令,必須先請管理員為你設(shè)置對移動(dòng)目的項(xiàng)目的添加(add)權(quán)限和對源項(xiàng)目中文件的破壞(destroy)權(quán)限。使用移動(dòng)命令你可以重新定位子文件夾,將其從一個(gè)文件夾移動(dòng)到另一個(gè)文件夾中。這個(gè)命令重新定義了被移動(dòng)文件夾的路徑。這個(gè)命令不可以重命名文件;你只能通過執(zhí)行重命名命令來實(shí)現(xiàn)它。這個(gè)移動(dòng)命令不會(huì)改變文件夾的內(nèi)容或其中子文件夾的歷史信息,它只會(huì)影響到新的和舊的上級(jí)文件夾的歷史信息。警告:當(dāng)你移動(dòng)一個(gè)文件夾之后,就不能再如實(shí)地重建其上級(jí)文件夾的早期版本
20、。移動(dòng)文件夾的具體操作步驟如下:1) 選中要移動(dòng)的文件夾;2) 在file菜單中選中move,打開對話框;3) 在列表中選擇目標(biāo)文件夾;4) 點(diǎn)擊OK。337共享文件/文件夾(share)1) 在VSS瀏覽器中選擇你要共享的目標(biāo)項(xiàng)目。2) 在SourceSafe菜單中選擇share,打開共享對話框。3) 在file to share列表中選擇你要共享的文件,如果文件沒有顯示,可以旁邊的項(xiàng)目列表中查找。4) 點(diǎn)擊share。5) 點(diǎn)擊close。338拆分文件(branch)3381拆分被共享的文件1) 在瀏覽器中選中你想要拆分的文件;2) 在SourceSafe菜單中選擇branch,打開拆分
21、對話框;3) 在comment中填寫備注;4) 點(diǎn)擊OK。3382用一步操作完成文件的拆分與共享1) 在VSS瀏覽器中選擇你要branch/share的項(xiàng)目;2) 在SourceSafe菜單中打開share對話框;3) 在file to share列表中選擇要共享的文件,如果你要的文件沒有顯示,在項(xiàng)目列表中339刪除/恢復(fù)文件或文件夾如果想從VSS中移走某個(gè)文件,你必須首先確定是僅僅從項(xiàng)目中移走,還是從VSS數(shù)據(jù)庫中移走。你還必須確定是要?jiǎng)h除文件,但使其能夠恢復(fù),還是永久性地破壞它。VSS中有以下三種途徑可以實(shí)現(xiàn)從數(shù)據(jù)庫中移走文件。33391刪除(delete)將文件從項(xiàng)目中移走。該文件仍然存
22、在于你的VSS數(shù)據(jù)庫和其它共享該文件的項(xiàng)目中,你可以恢復(fù)它。此命令同樣適用于項(xiàng)目。1) 選擇文件或項(xiàng)目;2) 選擇file菜單中的delete命令;3) 點(diǎn)擊OK。33392破壞(destroy)刪除(delete)對話框中有永久性破壞(the Destroy Permanently)選項(xiàng),你一旦選中它,文件或項(xiàng)目將從VSS數(shù)據(jù)庫中被移走,你不能再恢復(fù)它。此外,當(dāng)Destroy 和Destroy Permanently命令用于共享文件時(shí),它只作用于當(dāng)前文件夾,其它共享的文件夾仍然保留該文件,該文件依然保存在VSS數(shù)據(jù)庫中。1) 選擇文件或項(xiàng)目;2) 選擇file菜單中的delete命令;3)
23、選中 Destroy Permanently 選項(xiàng);4) 點(diǎn)擊OK。33393清除(Purge)這個(gè)命令將永久性地移走你已經(jīng)刪除的文件或項(xiàng)目,但沒有破壞它。你可以使用這一命令清空你的文件或項(xiàng)目中的所有內(nèi)容,但不能恢復(fù)它們。1) 在VSS瀏覽器中選中項(xiàng)目;2) 打開file菜單的properties對話框,按delete按紐;3) 在列表中選擇要清除的文件名;4) 點(diǎn)擊purge;5) 如果要繼續(xù),在VSS給你的提示欄中點(diǎn)擊yes。3310查看文件/文件夾的歷史信息或早期版本在歷史信息中保存有每一個(gè)文件的詳細(xì)信息。在history對話框中,你不僅可以瀏覽到文件的版本信息、備注、以及文件的相關(guān)歷史
24、記錄,也能夠獲取文件的某個(gè)舊版本。注:只有文件(file)可以從歷史信息中check out,文件夾(project)不能從中check out。你還可以從歷史信息對話框中執(zhí)行g(shù)et、check out、diff、pin、unpin、roll back和reprot等操作。要查看歷史信息:1) 在tool菜單選中show history,打開history options對話框;2) 點(diǎn)擊OK。3311獲取文件的最新版本1) 選擇你要操作的文件,也可以是多個(gè)文件或某個(gè)項(xiàng)目;2) 在SourceSafe菜單中選擇get latest version;3) 如果你事先沒有設(shè)定工作文件夾,VSS會(huì)提
25、示你是否設(shè)定一個(gè)工作文件夾,點(diǎn)擊OK,設(shè)定一個(gè)工作文件夾;4) 如果你已經(jīng)確定了選項(xiàng),VSS就會(huì)顯示get latest version對話框,你就可以從當(dāng)前的項(xiàng)目中獲取文件的最新版本的備份,它放在你的工作文件夾中。3312獲取文件的早期版本1) 選中你要查看的文件;2) 在tool菜單中選中show history,打開history option對話框;3) 點(diǎn)擊OK,打開history對話框;4) 選中你要看的版本;5) 點(diǎn)擊get,打開get對話框;6) 如果你事先沒有設(shè)定工作文件夾,VSS會(huì)提示你是否設(shè)定一個(gè)工作文件夾,點(diǎn)擊OK,設(shè)定一個(gè)工作文件夾;7) 在取出對話框中點(diǎn)擊OK,文件
26、版本的備份就會(huì)從當(dāng)前項(xiàng)目調(diào)入你的工作文件夾。3313修改用戶密碼使用更改密碼命令來設(shè)置或更改你的密碼。要更改密碼,必須首先知道當(dāng)前的密碼,如果你忘記了自己的密碼,請與管理員聯(lián)系。登錄的時(shí)候,VSS會(huì)提示你輸入密碼以確認(rèn)你的身份。如果管理員為你設(shè)置的用戶名與你的網(wǎng)絡(luò)名是相同的,VSS將不會(huì)再提示你輸入密碼。注:你的VSS的密碼可以與你使用的操作系統(tǒng)的密碼相同,也可以不同,它并不會(huì)替換你操作系統(tǒng)的密碼。如何更改密碼:1) 從tool菜單打開change password對話框;2) 在舊密碼框里鍵入你當(dāng)前的密碼;3) 在新密碼框里鍵入你的新密碼;注:密碼可以設(shè)1到15個(gè)字符,它以*的形式顯示;4)
27、 在確認(rèn)框里再次鍵入新密碼;5) 點(diǎn)OK。3315打開/關(guān)閉數(shù)據(jù)庫如果你使用了VSS,你的文件和項(xiàng)目就會(huì)被存儲(chǔ)在一個(gè)數(shù)據(jù)庫中。它安全地保存你的信息并為你提供重要的歷史信息和版本跟蹤。要?jiǎng)?chuàng)建新的數(shù)據(jù)庫,要與VSS管理員聯(lián)系。33151打開現(xiàn)有的數(shù)據(jù)庫要運(yùn)行你的VSS,你必須與存儲(chǔ)你的文件的數(shù)據(jù)庫連接。這一步通常由VSS自動(dòng)完成,除非你要選擇其他的數(shù)據(jù)庫。如果數(shù)據(jù)庫還沒有安裝,請與管理員聯(lián)系。1) 從file菜單,選擇open SourceSafe database,打開對話框;2) 從數(shù)據(jù)庫列表中選擇一個(gè)數(shù)據(jù)庫;3) 點(diǎn)擊open,打開數(shù)據(jù)庫。33152關(guān)閉數(shù)據(jù)庫你只能在一個(gè)數(shù)據(jù)庫中進(jìn)行工作。因
28、此,如果要關(guān)閉一個(gè)數(shù)據(jù)庫,只需打開另一個(gè)數(shù)據(jù)庫即可。Visual SourceSafe如何支持并行開發(fā)前言如今隨著軟件項(xiàng)目規(guī)模的日益增大以及項(xiàng)目復(fù)雜性的不斷加劇,軟件配置管理(SCM)的重要性已越來越受到大家的認(rèn)可。許多優(yōu)秀的軟件配置管理工具也應(yīng)運(yùn)而生,使得我們能夠輕松有效地管理我們的軟件項(xiàng)目,作為這其中的一員,Microsoft Visual SourceSafe具有簡單易用、方便高效、與Windows操作系統(tǒng)及微軟開發(fā)工具高度集成等優(yōu)點(diǎn)。我相信有相當(dāng)一部分人曾經(jīng)使用或者正在使用VSS,對于它的一些基本用法在這里不再贅述,本文將主要探討Visual SourceSafe 6.0中的一些高級(jí)特
29、性,希望給大家在實(shí)際的工作過程中帶來一些幫助。我們知道隨著軟件規(guī)模的日益增大,軟件開發(fā)周期會(huì)變得越來越長,投入的人力也會(huì)越來越多。在整個(gè)過程中,將不可避免地會(huì)產(chǎn)生并行開發(fā)的情況,那么在VSS中是如何支持并行開發(fā)的呢?在并行開發(fā)的過程中要注意些什么呢?這就是本文希望與大家分享的。本文要求讀者對VSS有一定的熟練程度。一些有用的設(shè)置在講解并行開發(fā)之前,讓我們先來看看VSS中一些非常有用的系統(tǒng)設(shè)置,他們可以用來加強(qiáng)管理或者簡化你的工作。首先是一些與你的項(xiàng)目安全管理策略有關(guān)的設(shè)置,比如是否允許multiple checkouts、是否激活項(xiàng)目安全機(jī)制(project security)等。還有一些是方
30、便工作的,比設(shè)置影子目錄(shadow folders)、重用上次注釋、雙擊直接編輯文件、是否采用圖形化歸并等。這些你都可以在Tools-Options里進(jìn)行設(shè)置。什么情況下會(huì)出現(xiàn)并行開發(fā)不知道有沒有喜歡聽評(píng)書的朋友?我想一定和我一樣最討厭聽到:欲知詳情如何,且聽下回分解。不過我們今天要講的是另外一句話:花開兩朵,各表一枝。我記得當(dāng)時(shí)雖然這邊打得熱火朝天,大呼過癮,但是心里總是惦記著那邊怎么樣啦!真恨不得有兩個(gè)電臺(tái),一邊是魯智深大鬧野豬林,一邊是林教頭風(fēng)雪山神廟。那么在實(shí)際的項(xiàng)目開發(fā)過程中,什么時(shí)候會(huì)出現(xiàn)花開兩朵的情況呢?1、 你想修改項(xiàng)目早期版本中的某個(gè)bug。2、 其它的小組成員占有了你希
31、望處理的文件。你可以等他將該文件check in,或者你可以采取multiple checkouts,你還可以選擇在一個(gè)分支上工作。3、 你所做的工作涉及到許多文件,你選擇一個(gè)分支流就可以避免經(jīng)常打亂別人的工作。同時(shí)你可以將所有的工作測試完后再將它們集成到你的項(xiàng)目中。4、 項(xiàng)目規(guī)定你不能夠在主線上工作。相反地,項(xiàng)目被分成許多小的部件,每個(gè)部件是一個(gè)分支,只有該部件完成后,才會(huì)將它合并到主線中。那我們是不是需要兩個(gè)電臺(tái)呢(建立兩個(gè)項(xiàng)目)?可喜的是,VSS中提供了共享、分支等操作來解決并行開發(fā)的問題。文件共享(share files)的概念在VSS中你可以在不同的項(xiàng)目之間共享文件。我們知道,在VS
32、S的數(shù)據(jù)庫中有且僅有文件的唯一拷貝-主控拷貝(master copy),因此共享文件也就是在不同的項(xiàng)目里建立了指向該主控拷貝的鏈接。如果你在其中一個(gè)項(xiàng)目中改變此文件,那么其他項(xiàng)目中所有的共享也隨之改變。此外,如果選擇共享某個(gè)項(xiàng)目中的所有文件,我們也可以稱之為共享該項(xiàng)目。如何實(shí)現(xiàn)文件共享1、 在VSS Explorer中,選擇你希望在其中共享文件的項(xiàng)目。2、 選擇SourceSafe菜單,單擊Share,或者單擊右鍵菜單中的Share顯示Share對話框。3、 通過選擇Project和File to Share下拉框來選擇你準(zhǔn)備共享的文件。4、 點(diǎn)擊Share.5、 點(diǎn)擊Close.如果你選擇的
33、是某個(gè)項(xiàng)目,系統(tǒng)還會(huì)提示你輸入新的共享項(xiàng)目名稱。操作完成后,你會(huì)發(fā)現(xiàn)在當(dāng)前項(xiàng)目中增加了剛才選擇的文件。如附圖一所示,我在項(xiàng)目$/projectname/sourcecode/client中共享了項(xiàng)目bugfix,操作完成后在client下增加了目錄bugfix,而且我將$/bugfix項(xiàng)目中的network.txt文件check out出來后,項(xiàng)目$/projectname/sourcecode/client/bugfix中的network.txt文件也自動(dòng)被check out。(見附圖二)附圖一:文件共享附圖二:文件共享后文件共享機(jī)制確實(shí)為我們帶來了不少便利之處,它可以減少數(shù)據(jù)庫中文件的數(shù)量
34、,能夠?qū)崿F(xiàn)文件的重用。但是,文件共享機(jī)制的非各自獨(dú)立性也限制了它扮演更重要的角色,真所謂成也蕭何,敗也蕭何!分支操作(branching)要真正地支持并行開發(fā),就不得不用到分支操作。與共享操作不同的是,分支操作實(shí)際上是將文件放在不同的項(xiàng)目中來實(shí)現(xiàn)完全的獨(dú)立性,此時(shí)在一個(gè)項(xiàng)目中的文件修改不會(huì)影響到其他的項(xiàng)目中的文件。此外,共享操作后形成的位于不同項(xiàng)目里的兩個(gè)文件擁有一個(gè)共同的祖先,也就是他們的歷史(history)記錄是從同一點(diǎn)分離出來的。如何實(shí)現(xiàn)分支操作注意,在進(jìn)行分支操作前,你必須確認(rèn)已經(jīng)共享了該文件。當(dāng)然,你也可以將共享、分支操作放在一起完成。1、 在VSS Explorer中選擇目標(biāo)文件
35、。2、 選擇SourceSafe菜單,單擊Branch顯示Branch對話框。3、 如果需要,你可以在Comment框中加入注釋。4、 單擊OK。附圖三:分支操作操作完成后,你將會(huì)發(fā)現(xiàn)項(xiàng)目$/projectname/sourcecode/client/bugfix中的文件network.txt由check out狀態(tài)變成了uncheck out狀態(tài),而且改變項(xiàng)目$/bugfix中的network.txt文件對它也沒有任何影響。如何在具體的應(yīng)用中使用這些特性那些書上的大俠們學(xué)好本領(lǐng)后,都要到江湖上去闖蕩一番。那我們了解這些基本的操作后,也一定希望能夠在實(shí)際的項(xiàng)目中小試牛刀,我們就以早期版本中的b
36、ug修改為例。我們假定我們項(xiàng)目的2.0版本剛剛完成,項(xiàng)目開發(fā)小組繼續(xù)朝著3.0版本前進(jìn),同時(shí)試用項(xiàng)目維護(hù)人員需要一個(gè)臨時(shí)的2.1版本來修改試用過程中發(fā)現(xiàn)的bugs。具體的步驟如下:1、 將當(dāng)前項(xiàng)目$/projectname/sourcecode/client加上標(biāo)簽(Label)-Version 2.0。2、 繼續(xù)在該項(xiàng)目上進(jìn)行修改,形成新的版本。(如附圖四)3、 這個(gè)時(shí)候在版本2.0的試用過程中發(fā)現(xiàn)錯(cuò)誤,你需要一個(gè)臨時(shí)的版本來修改錯(cuò)誤同時(shí)又不影響版本3.0的開發(fā)。4、 選擇Tools菜單,單擊Show History顯示Project History Options對話框。5、 選中Incl
37、ude Labels復(fù)選框。6、 單擊OK顯示History of Project對話框。7、 選擇加有標(biāo)簽Version 2.0的版本。8、 單擊Share顯示Share From對話框。9、 選擇將要產(chǎn)生的項(xiàng)目的父項(xiàng)目,我們選擇$/。10、單擊OK顯示Share對話框。11、將此項(xiàng)目命名為bugfixAfterV2.0,單擊Close退出History of Project對話框。12、操作完成后會(huì)發(fā)現(xiàn)在VSS中增加了一個(gè)項(xiàng)目$/bugfixAfterV2.0(注意此時(shí)文件2.txt前面的圖標(biāo)形狀,如附圖五),試著check out文件2.txt,系統(tǒng)會(huì)提示你所有的文件已被釘住(pinne
38、d),操作不成功。是的,你還需要下一步操作。13、選定那些你確實(shí)需要修改的文件,然后進(jìn)行分支操作。這樣你就可以任意修改這些文件,而且你會(huì)發(fā)現(xiàn)圖標(biāo)也恢復(fù)到原來的樣子。附圖四:分支操作前的項(xiàng)目歷史記錄附圖五:分支操作完成后文件歸并(merge files)正所謂,分久必合,合久必分。分支操作以后,你肯定需要重新將這些文件合并到一起,比如上面那個(gè)例子,你肯定希望在版本2.0中被修改了的錯(cuò)誤不要在版本3.0中再出現(xiàn),這個(gè)時(shí)候你就需要用到歸并操作。所謂文件歸并就是將由一個(gè)文件產(chǎn)生的多個(gè)不同拷貝重新形成一個(gè)唯一的新的文件版本,一般都是將分支上的改變反映到主線上,所以稱之為歸并操作(當(dāng)然還存在其他兩種情況,
39、使用multiple checkouts,某些情況下get一個(gè)文件的時(shí)候)。在文件歸并過程中VSS并不能去決定文件差異的取舍,它只是將這些文件間的異同提交給你,由你自己來確定最后的文件內(nèi)容。當(dāng)然比較的基準(zhǔn)就是我們前面提到的它們共同的祖先。有兩種方法可以進(jìn)行歸并操作,一種是默認(rèn)的visual merge,另一種是manual merge。一般推薦使用前一種方法。文件歸并過程中涉及到兩個(gè)概念,一個(gè)是投送者(contributor),另一個(gè)是目標(biāo)(object)。投送者就是你在分支上的那些文件,目標(biāo)就是你在主線上的那些文件,歸并操作完成后,只有目標(biāo)的內(nèi)容改變,而投送者的內(nèi)容保持不變。如何實(shí)現(xiàn)歸并操作
40、1、 在VSS Explorer中選擇目標(biāo)文件或者項(xiàng)目。2、 選擇SourceSafe菜單,單擊Merge Branches顯示Merge To對話框。3、 在Projects框中選擇投送者所在的項(xiàng)目名稱,所以說該對話框的名稱應(yīng)該為Merge From,而不是Merge To。4、 單擊Merge顯示Comment對話框。5、 輸入注釋,點(diǎn)擊OK。6、 如果兩者之間的差異很明顯(比如一個(gè)文件比另外一個(gè)文件多出一行),系統(tǒng)會(huì)自動(dòng)幫你決定目標(biāo)文件的內(nèi)容。反之,系統(tǒng)顯示Visual Merge對話框,你可以自己決定目標(biāo)文件的內(nèi)容。(3)操作完成后,查看一下目標(biāo)文件是不是變成了你希望的內(nèi)容。好啦,至此
41、所有的工作已經(jīng)完成。你可以放松一下來杯濃茶,不敢喝咖啡,怕被Sun公司控告侵權(quán)。但是中國人有個(gè)習(xí)慣,不管什么東西都喜歡分出個(gè)高低,排個(gè)名次。我記得小的時(shí)候?qū)λ逄蒲萘x中的好漢排名津津樂道,什么第一名李元霸,第二名宇文成都等等。那好,我們也來啰嗦一下,評(píng)評(píng)VSS的功過是非。(4)評(píng)說VSS在支持并行開發(fā)方面,VSS提供了大量優(yōu)秀簡潔的特性,但是在以下幾個(gè)方面稍顯不足:1、 在進(jìn)行分支操作的時(shí)候,靈活性不是很大,只能是單一地選擇某個(gè)項(xiàng)目中的所有文件,不能進(jìn)行一些自定義的設(shè)定,比如我只希望選取所有的文本文件。2、 由于VSS中主線和分支是采用不同的項(xiàng)目來區(qū)分,所以很容易被混淆而且增加項(xiàng)目的數(shù)量,不如采
42、取版本號(hào)來區(qū)分直觀。3、 在進(jìn)行歸并操作時(shí),投送者與目標(biāo)的概念很模糊,而且沒有顯示地提出這兩個(gè)概念。4、 由于VSS中沒有版本樹的概念,所以分支操作后沒有一個(gè)直觀形象的版本演化的感官認(rèn)識(shí),就像Rational ClearCase中那樣,這樣使得不能把分支和主線很好地聯(lián)系在一起??偨Y(jié)本文主要講解一些VSS使用中的高級(jí)特性,使得你能夠用來應(yīng)付一些比較復(fù)雜的情況。但是,VSS畢竟只是一種工具,項(xiàng)目配置管理的成敗主要取決于項(xiàng)目的配置管理策略。說明1) 本文所有的例子都是基于Visual SourceSafe 6.0英文版,其他的版本可相應(yīng)對照。2) 這兩個(gè)概念是從Rational ClearCase借
43、用過來的。3) 關(guān)于Visual Merge對話框的詳細(xì)信息,可以參考VSS的幫助文檔。4) 當(dāng)然本文不準(zhǔn)備在整體上來評(píng)價(jià)VSS,主要是從支持并行開發(fā)這個(gè)方面來說說VSS的不足之處,只要與Rational ClearCase進(jìn)行對照。SourceSafe中的權(quán)限管理前言如今隨著軟件項(xiàng)目規(guī)模的日益增大以及項(xiàng)目復(fù)雜性的不斷加劇,軟件配置管理(SCM)的重要性已越來越受到大家的認(rèn)可。許多優(yōu)秀的軟件配置管理工具也應(yīng)運(yùn)而生,使得我們能夠輕松有效地管理我們的軟件項(xiàng)目,作為這其中的一員,Microsoft Visual SourceSafe具有簡單易用、方便高效、與Windows操作系統(tǒng)及微軟開發(fā)工具高度集
44、成等優(yōu)點(diǎn)。今天,我們就來講講VSS中的權(quán)限管理。首先我將講解VSS中權(quán)限機(jī)制實(shí)現(xiàn)的原理,這里面設(shè)計(jì)到VSS的默認(rèn)安全訪問機(jī)制、項(xiàng)目安全等內(nèi)容,接著我將告訴實(shí)現(xiàn)權(quán)限機(jī)制的具體方法,最后我將結(jié)合一個(gè)軟件移交項(xiàng)目的具體情況來談?wù)剻?quán)限管理如何應(yīng)用到實(shí)際的項(xiàng)目過程中。一、VSS默認(rèn)的安全訪問控制每次你安裝VSS以后,系統(tǒng)自動(dòng)激活默認(rèn)的安全訪問控制機(jī)制。這套機(jī)制非常簡單,它包括兩個(gè)等級(jí)的權(quán)限:1) 只讀權(quán)限:用戶可以查看VSS數(shù)據(jù)庫中的所有對象,但是不能夠修改2) 讀寫權(quán)限:用戶可以查看和修改VSS數(shù)據(jù)庫中的任何對象每次你增加新用戶的時(shí)候,你可以決定該用戶的權(quán)限等級(jí)。在“Add User”對話框中包含一個(gè)
45、“Read Only”復(fù)選框,你可以通過它來確定用戶具有的權(quán)限。我們前面說過這只是個(gè)極其簡單、粗線條的解決方案,但同時(shí)也是最簡單的。在實(shí)際過程中,你可能需要更細(xì)化的權(quán)限分配,甚至希望每個(gè)文件針對不同的用戶都能設(shè)置不同的權(quán)限。那我們就得親自動(dòng)手設(shè)置我們項(xiàng)目的安全機(jī)制。 注意:SourceSafe中的所有安全設(shè)置都是在Visual SourceSafe Administrator中進(jìn)行的,所以在深入以下細(xì)節(jié)之前,你必須確認(rèn)一件事情:你的Admin密碼足夠安全,除你之外沒有任何人可以隨心所欲地進(jìn)入Visual SourceSafe Administrator。否則,一切安全考慮都是徒勞。二、項(xiàng)目安全
46、與用戶訪問權(quán)限在講解項(xiàng)目安全之前我們先來回顧一下VSS的基本組成框架,VSS包含多個(gè)數(shù)據(jù)庫(database),每個(gè)數(shù)據(jù)庫又包含許多的項(xiàng)目,而且可能項(xiàng)目里嵌套著不同的子項(xiàng)目,最后才是你的源文件。你可以把這個(gè)類比成操作系統(tǒng)中的磁盤分區(qū),目錄,子目錄,文件,每臺(tái)機(jī)器包含許多的磁盤分區(qū),每個(gè)分區(qū)中包含無數(shù)個(gè)目錄、子目錄,在子目錄下才是你的文件。VSS中的用戶是基于VSS數(shù)據(jù)庫的,也就是說每個(gè)數(shù)據(jù)庫都包含有自己的用戶清單。用戶訪問權(quán)限意思是用戶可以訪問(包括查看、修改和執(zhí)行命令等)數(shù)據(jù)庫中的哪些項(xiàng)目,對項(xiàng)目來說就是它只能被那些已經(jīng)授權(quán)的用戶訪問,也就是所謂的項(xiàng)目安全。很遺憾VSS只提供了到項(xiàng)目(對應(yīng)于
47、目錄)的用戶權(quán)限控制,并不能針對每個(gè)文件來設(shè)置不同的用戶訪問權(quán)限(比如Rational ClearCase等就提供此功能)。雖然你可以用某種變通的方法來做到這一點(diǎn),比如增加子項(xiàng)目,不過那樣就破壞了整個(gè)項(xiàng)目結(jié)構(gòu)的規(guī)范性、可讀性和合理性,甚至產(chǎn)生些無任何意義的子項(xiàng)目。VSS定義了四級(jí)用戶訪問權(quán)限,級(jí)別由低到高,后者包括所有前者的權(quán)限,比如說擁有Check Out權(quán)限就自動(dòng)擁有了讀的權(quán)限。1) 只讀(R):允許查看文件,對應(yīng)于View、Get等命令2) Check Out(C):可以使用Check Out,Check In,Undo Check Out等命令修改文件內(nèi)容3) 文件增刪(A):可以在項(xiàng)
48、目中增加、刪除、重命名文件或者給文件加標(biāo)簽,對應(yīng)的命令有Add,Delete,Label,Rename等4) 破壞(D):這級(jí)權(quán)限對應(yīng)于那些具有巨大破壞性的操作(就是那些一不小心就可能被炒魷魚的操作),請牢記它們的名字:Destroy,Purge,Rollback。所以亦有人戲稱之為自殺權(quán)限。其實(shí)你可以發(fā)現(xiàn)默認(rèn)安全機(jī)制中的兩級(jí)權(quán)限是和這四者對應(yīng)起來的,只不過后者把前者的讀寫權(quán)限細(xì)分為三個(gè)不同的級(jí)別。好啦,了解每級(jí)權(quán)限各自的含義之后我們就可以開始設(shè)置不同用戶的權(quán)限啦。設(shè)置用戶權(quán)限之前,你必須激活項(xiàng)目安全機(jī)制。打開VSS Administrator的Tools菜單,點(diǎn)擊Options得到Sourc
49、eSafe Options對話框,選取Project Security并且勾上Enable project security復(fù)選框。(如下圖所示)圖一 激活項(xiàng)目安全機(jī)制VSS中有三種方法可以設(shè)置用戶的項(xiàng)目訪問權(quán)限:針對項(xiàng)目設(shè)置每個(gè)用戶的權(quán)限,針對用戶設(shè)置訪問每個(gè)項(xiàng)目的權(quán)限,拷貝用戶權(quán)限,它們分別對應(yīng)于Tools菜單下的Assign Rights by Project,Rights Assignments for User,Copy User Rights。我們以方法一為例做一簡單說明。如下圖所示,在左邊框中選定項(xiàng)目,在右上框中選定用戶,右下腳的User rights中就顯示該用戶現(xiàn)具有的權(quán)限,
50、選中不同的復(fù)選框來設(shè)置你自己的權(quán)限。注意:對每個(gè)項(xiàng)目的用戶權(quán)限設(shè)置自動(dòng)反映到該項(xiàng)目的所有子項(xiàng)目中。 圖二 用戶授權(quán)三、權(quán)限管理在實(shí)際項(xiàng)目中的應(yīng)用在本小節(jié)中,我主要結(jié)合在實(shí)際項(xiàng)目過程中作為配置管理員的經(jīng)驗(yàn)來談?wù)剻?quán)限管理的實(shí)際應(yīng)用,以及在應(yīng)用過程中需要考慮的因素。我們要接觸的這個(gè)項(xiàng)目為一軟件移交的項(xiàng)目,這個(gè)項(xiàng)目團(tuán)隊(duì)的成員組成和職責(zé)分配如下:項(xiàng)目經(jīng)理:1人,負(fù)責(zé)協(xié)調(diào)整個(gè)項(xiàng)目業(yè)務(wù)分析師,1人,負(fù)責(zé)整個(gè)系統(tǒng)業(yè)務(wù)的掌握系統(tǒng)架構(gòu)師:1人,負(fù)責(zé)整個(gè)系統(tǒng)的系統(tǒng)架構(gòu)Package Owner:3人,分別負(fù)責(zé)系統(tǒng)前端、中間層及后臺(tái)數(shù)據(jù)庫三個(gè)部分 模塊負(fù)責(zé)人:3-5人,分別負(fù)責(zé)各個(gè)模塊數(shù)據(jù)庫管理員(DBA):1人,負(fù)
51、責(zé)系統(tǒng)數(shù)據(jù)庫Test/QA:1人,負(fù)責(zé)整個(gè)軟件的測試和質(zhì)量保證Technical Writer:1人,負(fù)責(zé)相關(guān)技術(shù)文檔的寫作變更控制委員會(huì)(CCB):3人,負(fù)責(zé)項(xiàng)目需求的變更審核及執(zhí)行,包括軟件配置管理員,外方項(xiàng)目經(jīng)理實(shí)際過程中大多會(huì)發(fā)生人員交叉現(xiàn)象,比如我們項(xiàng)目的實(shí)際人數(shù)就只有9人,項(xiàng)目經(jīng)理又同時(shí)是CCB中的一員,Package Owner同時(shí)兼任模塊負(fù)責(zé)人。根據(jù)我們項(xiàng)目的實(shí)際組成情況,我在VSS中給出了如下所示的項(xiàng)目結(jié)構(gòu):圖三 VSS項(xiàng)目結(jié)構(gòu)圖示說明:1、exec項(xiàng)目中主要存放項(xiàng)目可執(zhí)行文件或者軟件安裝文件,由于該項(xiàng)目比較復(fù)雜,建立過程耗時(shí)長且比較復(fù)雜,所以直接在VSS中存放可執(zhí)行文件。一
52、般的項(xiàng)目不推薦這樣使用。2、圖中只是顯示整個(gè)項(xiàng)目結(jié)構(gòu)的主要部分,省略了細(xì)節(jié)部分,比如client項(xiàng)目中包含有許多的小項(xiàng)目。接下來,就需要為每個(gè)項(xiàng)目、子項(xiàng)目設(shè)置不同的用戶訪問權(quán)限。由于所有的軟件重大變更都需要交由CCB審核簽字后方可執(zhí)行,所以我們把整個(gè)項(xiàng)目的D(6)級(jí)權(quán)限賦給CCB成員。而項(xiàng)目經(jīng)理主要負(fù)責(zé)項(xiàng)目的整體進(jìn)度的把握以及與外方項(xiàng)目組、其他部門的協(xié)調(diào)工作,所以擁有整個(gè)項(xiàng)目的R權(quán)限并且擁有development document的A權(quán)限。配置管理員的權(quán)限有兩者可能,一種就是擁有整個(gè)項(xiàng)目的A權(quán)限,另外一種可能就是只擁有部分項(xiàng)目的A權(quán)限,這主要取決于賦予給配置管理員的實(shí)際權(quán)限有多大。以此類推,各
53、個(gè)模塊負(fù)責(zé)人擁有各自模塊的A權(quán)限。此外由于移交項(xiàng)目的特殊性,一般在項(xiàng)目開始過程中主要以培訓(xùn)為主,很少涉及到軟件的修改,所以建議在項(xiàng)目開始階段不賦予開發(fā)工程師用戶C權(quán)限以免引起不必要的錯(cuò)誤和爭論??偨Y(jié)本文通過討論VSS中權(quán)限管理實(shí)現(xiàn)的具體機(jī)制,并且結(jié)合例子講解了在實(shí)際過程中的應(yīng)用。雖然移交項(xiàng)目有著它本身的特殊性,但我相信對于任何項(xiàng)目來說其安全管理的基本思路是相通的,希望此文能夠給大家以一定的啟示和借鑒。參考1) 本文中會(huì)大量涉及到“項(xiàng)目”一詞,有的時(shí)候它是指實(shí)際的軟件項(xiàng)目,有時(shí)它又是指VSS數(shù)據(jù)庫中的項(xiàng)目、子項(xiàng)目,請注意區(qū)分。2) 有關(guān)軟件配置管理的更詳細(xì)信息,可以參考本網(wǎng)站相關(guān)內(nèi)容。軟件配置管
54、理主要包括版本管理、變更管理、權(quán)限管理等方面,本文主要涉及權(quán)限管理。3) 軟件版本采用Microsoft Visual SourceSafe 6.0英文版,其他的版本請進(jìn)行相應(yīng)的對照。4) 所有這些命令的詳細(xì)信息可以參考VSS幫助。5) 項(xiàng)目背景大致介紹:所移交的軟件為一國外公司的軟件,是基于Microsoft的DNA架構(gòu)的三層應(yīng)用,代碼量為150萬行左右。移交的目標(biāo):掌握現(xiàn)有系統(tǒng),充分了解相關(guān)的商業(yè)邏輯,為以后開發(fā)出自己的符合中國國情的軟件做好充分的準(zhǔn)備。這其中可能涉及到需求的再分析、系統(tǒng)的重新架構(gòu)以及向Java平臺(tái)的遷移。6) 我們分別用R、C、A、D來表示VSS中的四級(jí)權(quán)限Read,Ch
55、eck Out,Add,Destroy。實(shí)用指南一、版本管理的必要性如果說70年代的軟件危機(jī)導(dǎo)致了軟件工程思想的誕生和理論體系的發(fā)展,那么8090年代尤其是90年代軟件產(chǎn)業(yè)的迅猛發(fā)展導(dǎo)致了另一種新思想的產(chǎn)生和實(shí)現(xiàn),這就是軟件的版本管理。只要參加過軟件開發(fā)的人都清楚,現(xiàn)在的軟件項(xiàng)目完全由一個(gè)人來完成是難以想象而且也是不可能的,通常是有一個(gè)研發(fā)小組來共同分析、設(shè)計(jì)、編碼和維護(hù),并有專門的測試小組對已完成編碼調(diào)試的軟件進(jìn)行全面的測試。在軟件開發(fā)這個(gè)龐大而復(fù)雜的過程中,需要涉及到各個(gè)方面的人員,信息的交流反饋不僅僅是在研發(fā)小組的成員之間及各個(gè)研發(fā)小組之間,還存在于客戶和研發(fā)者之間。所有的這些交流反饋意
56、見信息都有可能導(dǎo)致對軟件的修改,小的可能只是對某個(gè)源文件中的某個(gè)變量的定義改動(dòng),大到重新設(shè)計(jì)程序模塊甚至可能是整個(gè)需求分析變動(dòng)。在這個(gè)工程中,由于軟件開發(fā)所固有的特征,可能會(huì)形成眾多的軟件版本,而且我們并不能保證不出現(xiàn)錯(cuò)誤的修改,而這樣的一個(gè)困難局面卻又非?,F(xiàn)實(shí)地?cái)[在項(xiàng)目開發(fā)管理者的面前,他/她該如何有效地解決這些問題,具體地說就是如下一些問題:1. 怎樣對研發(fā)項(xiàng)目進(jìn)行整體管理;2. 項(xiàng)目開發(fā)小組的成員之間如何以一種有效的機(jī)制進(jìn)行協(xié)調(diào);3. 如何進(jìn)行對小組成員各自承擔(dān)的子項(xiàng)目的統(tǒng)一管理;4. 如何對研發(fā)小組各成員所作的修改進(jìn)行統(tǒng)一匯總;5. 如何保留修改的軌跡,以便撤銷錯(cuò)誤的改動(dòng);6. 對在研
57、發(fā)過程中形成的軟件的各個(gè)版本如何進(jìn)行標(biāo)識(shí),管理及差異識(shí)辨等等。一個(gè)非常直接的反應(yīng),我們必須要引進(jìn)一種管理機(jī)制,一個(gè)版本管理機(jī)制,而且是廣義上的版本管理,它不僅需要對源代碼的版本進(jìn)行管理,而且還要對整個(gè)項(xiàng)目進(jìn)行管理。以往的那種被譽(yù)為具有良好編程風(fēng)格的做法,諸如在對他人的源程序進(jìn)行修改時(shí)注釋修改原因,修改人和日期,如果是多個(gè)成員同時(shí)進(jìn)行了修改,那么需要進(jìn)行及時(shí)的人工的差異比較和綜合以便形成一個(gè)統(tǒng)一的新版本。這種做法在當(dāng)前的大型軟件的開發(fā)中已經(jīng)越來越?jīng)]有空間了,可以說是一種以小作坊的形式來面對軟件的社會(huì)化大生產(chǎn),再也不可能行得通了。 其實(shí),版本管理的思想很早就存在于軟件開發(fā)者的頭腦之中,只是以往的認(rèn)
58、識(shí)沒有現(xiàn)在人們所意識(shí)到的那樣迫切。UNIX的程序開發(fā)系統(tǒng)較早就提供了能夠進(jìn)行開發(fā)小組中源代碼版本管理的工具,現(xiàn)在的Linux更是提供功能強(qiáng)大的能夠跨平臺(tái)的版本管理器,國外公司的基于Windows的版本管理器也已經(jīng)有了比較成熟的產(chǎn)品,國內(nèi)的研究單位如北京大學(xué)計(jì)算機(jī)系CASE實(shí)驗(yàn)室也在致力于這方面的工作。在眾多的成熟產(chǎn)品和試驗(yàn)產(chǎn)品中,這里只將對使用比較廣泛,有較大用戶前景且又能較易獲得的版本管理器產(chǎn)品Microsoft公司的Visual SourceSafe 6.0進(jìn)行詳細(xì)的介紹,針對普通的研發(fā)小組的解決方案,及具體的實(shí)現(xiàn)。二、Visual SourceSafe 6.0(VSS 6.0)簡介VSS
59、 6.0現(xiàn)在是作為Microsoft Visual Studio 6.0這個(gè)開發(fā)產(chǎn)品家族的一員,如Visual C+ 6.0和Visual J+ 6.0一樣。1. VSS的簡單工作原理Microsoft的VSS 6.0解決了軟件開發(fā)小組長期所面臨的版本管理問題,它可能有效地幫助項(xiàng)目開發(fā)組的負(fù)責(zé)人對項(xiàng)目程序進(jìn)行管理,將所有的項(xiàng)目源文件(包括各種文件類型)以特有的方式存入數(shù)據(jù)庫。開發(fā)組的成員不能對該數(shù)據(jù)庫中的文件進(jìn)行直接的修改,而是由該版本管理器將該項(xiàng)目的源程序或是子項(xiàng)目的源程序拷貝到各個(gè)成員自己的工作目錄下進(jìn)行調(diào)試和修改,然后將修改后的項(xiàng)目文件作Checkin提交給VSS,由它進(jìn)行綜合更新。VS
60、S也支持多個(gè)項(xiàng)目之間文件的快速高效的共享。當(dāng)某個(gè)成員向VSS中添加文件時(shí),該文件將會(huì)被備份到數(shù)據(jù)庫中,以便所有的成員都能共享該文件。而且每個(gè)成員對所有的項(xiàng)目文件所作的修改都將被記錄到數(shù)據(jù)庫中,從而使得修改的恢復(fù)和撤銷在任何時(shí)刻,任何位置都成為可能。小組的成員可能得到該項(xiàng)目的最新版本,對它進(jìn)行修改,并保存一個(gè)新的版本。 VSS的項(xiàng)目組織管理使得開發(fā)小組的協(xié)調(diào)變得簡單容易且很直觀,當(dāng)一個(gè)和一組文件發(fā)放給另一個(gè)成員,小組,Web站點(diǎn)或是任何其他的地址,VSS確保他們之間的真正共享及所選的一組文件的不同版本的安全性。現(xiàn)在,越來越多的開發(fā)者可以通過他們的開發(fā)環(huán)境來訪問VSS的功能。而且VSS可以很容易地
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)版軟件開發(fā)合同范本
- 醫(yī)院物業(yè)包干合同范本
- 保潔派遣服務(wù)合同范本
- 公立幼兒園就業(yè)合同范本
- 叉車修理合同范本
- 醫(yī)用設(shè)備安裝維修合同范本
- 刨花板采購合同范本
- 南寧物業(yè)服務(wù)合同范本
- 《大學(xué)英語》課程思政教研報(bào)告
- 短視頻類移動(dòng)應(yīng)用的用戶行為特點(diǎn)研究
- 急性化膿性中耳炎課件
- 食堂食品安全隱患排查報(bào)告
- 汽車維修廠車輛進(jìn)出廠登記制度
- (2023版)高中化學(xué)新課標(biāo)知識(shí)考試題庫大全(含答案)
- 七年級(jí)語文下冊《孫權(quán)勸學(xué)》課后習(xí)題參考答案
- 2023年河北省安全生產(chǎn)舉報(bào)和獎(jiǎng)勵(lì)答試題及答案
- 馬鞍山晟捷新能源科技有限公司40萬噸-年N-甲基吡咯烷酮項(xiàng)目環(huán)境影響報(bào)告表
- 工傷保險(xiǎn)待遇申請表
- 食品分析復(fù)習(xí)資料
- ROCHE甲功及腫瘤項(xiàng)目介紹專家講座
- 血液透析病人情況表
評(píng)論
0/150
提交評(píng)論