1、什么是軟件配置管理
軟件配置管理是指通過執(zhí)行版本控制、變更控制的規(guī)程,以及使用合適的配置管理軟件,來保證所有配置項(xiàng)的完整性和可跟蹤性。配置管理是對工作成果的一種有效保護(hù)。
2、為什么需要配置管理
如果沒有軟件配置管理,最大的麻煩是工作成果無法回溯。隨著工作的進(jìn)展新的程序覆蓋了老的程序,當(dāng)突然發(fā)現(xiàn)新程序有問題而老程序正確時怎么辦?那只能重寫老的程序來覆蓋新的程序。過一段時間又發(fā)現(xiàn)原來的老程序有問題,而解決方法在原來的新程序中……您是不是快要發(fā)瘋了。
為了避免成果被覆蓋,包括我自己在內(nèi)的很多人早期采用手工管理版本的方式,例如當(dāng)一個新版本產(chǎn)生時用當(dāng)時的日期來命名文件夾,然后再復(fù)制一下以后的修改在復(fù)制的文件夾內(nèi)進(jìn)行,這樣上一個版本就被保存下來了,周而復(fù)始不同的版本不會被覆蓋。雖然這種方式可以從某種程度上解決版本的回溯問題,但他存在的缺點(diǎn)是顯而易見的:第一點(diǎn)如果保留結(jié)果過于頻繁,將會導(dǎo)致產(chǎn)生大量的有著重復(fù)內(nèi)容的文件夾,龐大的物理空間,管理起來很麻煩;如果保留舊版本的時間間隔太長,可能產(chǎn)生某些有用的老程序無法回溯。拿我最近開發(fā)的一個程序來說程序只有幾十兆,經(jīng)過一年的開發(fā)各版本累計(jì)到1G。第二容易產(chǎn)生版本的混亂,如果是團(tuán)隊(duì)開發(fā)軟件,這種簡單的方法更難解決問題的本質(zhì)了。
3、人的問題
配置管理的方法是成熟的,而且相應(yīng)的軟件工具也是成熟的,基本上不存在看不懂、不會用的問題。配置管理的執(zhí)行效果如何,完全是事在人為。妨礙配置管理的主要問題是人們嫌麻煩和僥幸心理作怪。
在沒出亂子的情況下,執(zhí)行版本控制看起來有些麻煩。每次修改工作的時候總是要Get Latest Version,接著Check Out,修改完后又要Check In,多做了三步。其實(shí)這三步加起來也就十幾秒鐘,而且不費(fèi)腦子,根本沒有添加多少麻煩,僅僅是個人感覺不爽而以。然而不執(zhí)行版本控制的話,萬一發(fā)生工作成果被覆蓋或丟失等問題,麻煩就大了。
4、軟件配置管理規(guī)范
軟件研發(fā)和管理過程中會產(chǎn)生許許多多的工作成果,例如文檔、程序和數(shù)據(jù)等,他們都應(yīng)當(dāng)妥善地保管起來,以便查閱和修改。如果把所有文件一股腦的塞進(jìn)計(jì)算機(jī)里,那么使用起來很麻煩。
凡是納入配置管理范疇的工作成果統(tǒng)稱為配置項(xiàng)配置項(xiàng)主要有兩大類:一類是屬于產(chǎn)品的組成部分,例如需求文檔、設(shè)計(jì)文檔、源代碼、測試用例等等;另一類是在管理過程中產(chǎn)生的文檔,例如各種計(jì)劃、報告等。
每個配置項(xiàng)的主要屬性有名稱、標(biāo)識符、文件狀態(tài)、版本、作者、日期等。配置項(xiàng)及歷史紀(jì)錄反映了軟件的演化過程。
基線由一組配置項(xiàng)組成,這些配置項(xiàng)構(gòu)成了一個相對穩(wěn)定的邏輯實(shí)體;中的配置項(xiàng)被凍結(jié)后,不能在被任何人隨意更改。基線通常對應(yīng)于開發(fā)過程中的里程碑。通常將交付該客戶的基線稱為一個Release,為內(nèi)部開發(fā)用的基線稱為一個Build。
版本控制的目的是按照一定的規(guī)則保存配置項(xiàng)的所有版本,避免發(fā)生版本丟失或混亂等現(xiàn)象。配置項(xiàng)的狀態(tài)有三種:“草稿”、“正式發(fā)布”和“正在修改”
配置項(xiàng)的版本號與配置項(xiàng)的狀態(tài)緊密相關(guān):
(1) 處于“草稿”狀態(tài)的配置項(xiàng)的版本號格式為: 0.YZ
(2) 處于“正式發(fā)布”狀態(tài)的配置項(xiàng)的版本號格式為: X.Y。
一般只是Y值遞增,當(dāng)Y值到達(dá)一定的范圍時X值才發(fā)生變化。
(3) 處于“正在修改”狀態(tài)的配置項(xiàng)的版本號格式為: X.YZ。
一般只增大 Z值,當(dāng)配置項(xiàng)修改完畢,狀態(tài)重新變成“正式發(fā)布”時,將Z值變?yōu)?,增加X.Y值。
5、常用的配置管理軟件
A)、自從20世紀(jì)80年代后期研制并完善了“增量存儲算法”后配置管理工具的春天便開始了,目前國內(nèi)常用的配置管理工具大概有SourceSafe、CVS和ClearCase。
SourceSafe是Micrsoft公司推出的一款支持團(tuán)隊(duì)協(xié)同開發(fā)的配置管理工具,是Visual Studio的套件之一。因?yàn)槠涠绦【罚掷^承了微軟集成銷售的一貫作風(fēng)用戶可以相對于免費(fèi)的價格得到,用戶量絕對是第一位。
SourceSafe簡單易用人們在使用配置管理工具時候,80%的時間只是用Add,Check in,Check out等區(qū)區(qū)幾個功能。
SourceSafe 的主要局限性:只支持WINDOWS不支持異構(gòu)環(huán)境下的配置管理;對INTERNET支持不夠完善。
B)、在詳細(xì)介紹SourceSafe首先簡單概述一下它的基本機(jī)制。SourceSafe是使用服務(wù)器、本地機(jī)的概念來進(jìn)行操作的,它認(rèn)為所有需要操作的文件都存在服務(wù)器版本文件和本地機(jī)版本文件,無論您的SourceSafe的架構(gòu)是服務(wù)器客戶機(jī)形式還是個人單機(jī)版形式,它的機(jī)制都是這樣。用戶所用的修改都是在本地機(jī)上完成的,修改完成后再上傳服務(wù)器。單機(jī)版也是這樣操作。我們一定要明確兩個版本后再來分析。
服務(wù)器版本文件是一個絕對受配置管理軟件限制的文件,用戶只能通過 SourceSafe的規(guī)定的權(quán)限和操作方法修改它,因?yàn)樗⒉皇悄粋人的,它是大家的。本地文件是一個基本不受限制的文件,您可以象操作本地文件一樣操作它。
SourceSafe由Visual SourceSafe 6.0 Admin、Microsoft Visual SourceSafe 6.0、Analyze VSS DB、Analyze & Fix VSS DB四部分組成。
C)、Analyze VSS DB、Analyze & Fix VSS DB兩個工具不是很常用,前者用于檢查SourceSafe數(shù)據(jù)庫文件的完整性,后者主要是修正SourceSafe數(shù)據(jù)庫文件存在的錯誤。
D)、Visual SourceSafe 6.0 Admin的功能類似于win2k的用戶管理器,軟件配置管理人員用它來分配用戶和設(shè)定相應(yīng)的權(quán)限。
管理員的管理操作一般都集中在 Visual SourceSafe 6.0 Admin中,系統(tǒng)中只有一個系統(tǒng)管理員Admin可以登陸到此程序中進(jìn)行管理工作,一般剛剛安裝的系統(tǒng)中此用戶的密碼缺省為空。而且系統(tǒng)為Admin這個用戶保留的一切權(quán)力,不可更改。
數(shù)據(jù)庫的創(chuàng)建這個操作必須在服務(wù)器上執(zhí)行,因?yàn)橥ㄟ^客戶端創(chuàng)建數(shù)據(jù)庫的操作,只是在客戶端的機(jī)器上創(chuàng)建的數(shù)據(jù)庫,這個數(shù)據(jù)庫往往只能單機(jī)使用。同時要必須注意,由于 VSS是通過WINDOWS的網(wǎng)絡(luò)共享來完成服務(wù)器端受控版本文件的共享,因此VSS服務(wù)端的數(shù)據(jù)庫必須建立在服務(wù)器的一個完全共享的目錄之中。否則,客戶端將無法獲得數(shù)據(jù)庫中的文件。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |