當(dāng)今計算機(jī)信息技術(shù)產(chǎn)業(yè)的迅猛發(fā)展,促進(jìn)了國內(nèi)的軟件開發(fā)在先進(jìn)技術(shù)和產(chǎn)品方面的廣泛應(yīng)用。但是,在先進(jìn)的操作系統(tǒng),開發(fā)工具為企業(yè)帶來高效益的同時,另一方面也使得我們的開發(fā)環(huán)境日趨復(fù)雜化而難以管理。如:團(tuán)隊溝通困難,軟件重用率低下,代碼冗余度高,文檔不健全等,結(jié)果造成數(shù)據(jù)丟失,開發(fā)周期漫長,產(chǎn)品可靠性差,質(zhì)量低劣,軟件維護(hù)困難,用戶抱怨使用不便,項目風(fēng)險增加等。
事實已經(jīng)表明,隨著整個軟件業(yè)的迅速發(fā)展,沒有得到有效管理的軟件開發(fā)過程中所出現(xiàn)的風(fēng)險和挑戰(zhàn)將越來越突出。加強(qiáng)軟件開發(fā)管理,通過管理和追蹤軟件開發(fā)環(huán)境中產(chǎn)生的變更,建立規(guī)范化的軟件開發(fā)環(huán)境,已成為軟件產(chǎn)業(yè)化的必要條件。
軟件配置管理作為軟件開發(fā)過程中一個重要過程已經(jīng)逐漸受到各軟件企業(yè)的重視。
軟件配置管理(Software Configuration Management),是一個控制軟件系統(tǒng)演變的學(xué)科。
在IEEE標(biāo)準(zhǔn)729-1983中,軟件配置管理的定義包括:
配置標(biāo)識——產(chǎn)品的結(jié)構(gòu)、產(chǎn)品的構(gòu)件及其類型,為其分配唯一的標(biāo)識符,并以某種形式提供對它們的存取。
版本控制——通過建立產(chǎn)品基線,控制軟件產(chǎn)品的發(fā)布和在整個軟件生命周期中對軟件產(chǎn)品的修改。例如,它將解決哪些修改會在該產(chǎn)品的最新版本中實現(xiàn)的問題。
狀態(tài)統(tǒng)計——記錄并報告構(gòu)件和修改請求的狀態(tài),并收集關(guān)于產(chǎn)品構(gòu)件的重要統(tǒng)計信息。例如,它將解決修改這個錯誤會影響多少個文件的問題。
審計和審查——確認(rèn)產(chǎn)品的完整性并維護(hù)構(gòu)件間的一致性,即確保產(chǎn)品是一個嚴(yán)格定義的構(gòu)件集合。例如,它將解決目前發(fā)布的產(chǎn)品所用的文件的版本是否正確的問題。
生產(chǎn)——對產(chǎn)品的生產(chǎn)進(jìn)行優(yōu)化管理。它將解決最新發(fā)布的產(chǎn)品應(yīng)由哪些版本的文件和工具來生成的問題。
過程管理——確保軟件組織的規(guī)程、方針和軟件周期得以正確貫徹執(zhí)行。它將解決要交付給用戶的產(chǎn)品是否經(jīng)過測試和質(zhì)量檢查的問題。
小組協(xié)作——控制開發(fā)統(tǒng)一產(chǎn)品的多個開發(fā)人員之間的協(xié)作。例如,它將解決是否所有本地程序員所做的修改都已被加入到新版本的產(chǎn)品中的問題。
軟件配置管理的解決方案涉及面很廣,將影響軟件開發(fā)環(huán)境、軟件過程模型、配置管理系統(tǒng)的使用者、軟件產(chǎn)品的質(zhì)量和用戶的組織機(jī)構(gòu)。
軟件組織應(yīng)該提出不同層次的配置管理視角,這些層次包括:公司級、項目級、程序員級和應(yīng)用級。公司級視角提供組織的全貌圖和配置管理過程的描述;項目級視角是與項目相關(guān)的各項目組可以使用不同的配置管理方案;程序員級視角是專門為程序員提供的且具有某些特定的配置管理功能;應(yīng)用級視角關(guān)心的是配置管理如何應(yīng)用到具體的問題中去。
現(xiàn)在常用的軟件配置管理工具主要分為三個級別:
Rational bbbbbCase,CA CCC/Havest
Merant PVCS
Microsoft VSS,CVS
通過在軟件開發(fā)過程中引用軟件配置管理過程,并加強(qiáng)配置管理工具的應(yīng)用,將會解決軟件企業(yè)在資源、過程及相關(guān)問題方面的難題。










