1. 軟件配置和配置管理
計算機(jī)配置是說明計算機(jī)組成的一種專門術(shù)語。這種“組成”由用戶的需求決定。通常,計算機(jī)系統(tǒng)由CPU、存儲器、輸入/輸出設(shè)備、傳輸設(shè)備等組成;其中就存儲器而言,除內(nèi)存外,外存又分軟盤、硬盤、光盤等,它們又有容量和速度之別。現(xiàn)在,可以將計算機(jī)配置定義為是用戶根據(jù)不同用途,選擇不同功能-性能的設(shè)備和部件組成的最優(yōu)計算機(jī)系統(tǒng)的一種構(gòu)建方案。推廣到系統(tǒng),則系統(tǒng)配置就是根據(jù)用戶需求優(yōu)選各種設(shè)備,組成最佳系統(tǒng)的一種建構(gòu)方案(或者是按最佳性能價格比,組成系統(tǒng)的各種設(shè)備的一種優(yōu)化組合)。
同樣,軟件配置也是說明軟件組成的一種術(shù)語。與計算機(jī)配置中選擇的部件都是現(xiàn)成的產(chǎn)品不同的是組成軟件的部件通常都是要開發(fā)的。軟件配置( software configuration)是指開發(fā)過程中,構(gòu)成軟件產(chǎn)品的各種 文檔、程序及其數(shù)據(jù)的優(yōu)化組合。該組合中的每一個元素稱為配置中的一 個配置項(configuration item)。也可以把軟件配置項定義是軟件中可以獨(dú)立進(jìn)行開發(fā)的一個實體,該實體包括:程序、數(shù)據(jù)及其相應(yīng)的文檔和說明。
配置管理要對軟件生存期內(nèi)各階段的文檔、實體和最終產(chǎn)品的演化和變更進(jìn)行管理;同時要解決變更的標(biāo)識、控制和發(fā)布等問題。目的是使對設(shè)計變更的管理制度化,從而提高開發(fā)效率、減少錯誤,保證產(chǎn)品的質(zhì)量。
軟件配置管理主要任務(wù)有以下幾方面的內(nèi)容:
1.確定軟件配置項;
2.定義配置項和版本的標(biāo)識規(guī)則;
3.制定控制變更的權(quán)限和實施步驟;
4.記錄、追蹤配置項的變更狀態(tài);
5.驗證配置項的正確和完整性;
6.進(jìn)行版本管理和發(fā)行管理。
2. 配置管理源頭:設(shè)計變更
軟件設(shè)計不可能一步到位,變更是不可避免的;特別是用戶需求多變 (如:組織體制、業(yè)務(wù)流程的變化)必然會引起設(shè)計的變更。如何記錄這些變更,需要做二件事。一是要標(biāo)識這些設(shè)計文件(即:根據(jù)文件名,確定一個唯一的標(biāo)識符);二是要動態(tài)地記錄這些變更文件(即:用版本的方法記錄這些變更).
3. 軟件配置標(biāo)識規(guī)則
軟件配置標(biāo)識就是對每個軟件配置項的標(biāo)識。對一個軟件項目而言,它的配置項有以下內(nèi)容:需求分析文檔、概要設(shè)計文檔、詳細(xì)設(shè)計文檔、軟件實體、測試文檔、客戶文檔等。當(dāng)然,這些軟件實體及其相應(yīng)的文檔都可以按其功能進(jìn)行逐級細(xì)化,被分解為:分系統(tǒng)、子系統(tǒng)和功能模塊。功能分解后能單獨(dú)實現(xiàn)的這些軟件和文檔都是軟件配置項,都應(yīng)該加以標(biāo)識。與系統(tǒng)的逐級細(xì)化相似,軟件配置項的標(biāo)識也可以按層次進(jìn)行,現(xiàn)以3層為例,敘述如下:〈第一層標(biāo)識〉〈第二層標(biāo)識〉〈第三層標(biāo)識〉;如果第二層標(biāo)識是本配置項標(biāo)識的話,那么第一層標(biāo)識就稱為前綴(即:前一層的標(biāo)識),第三層標(biāo)識稱為后綴(即:后一層的標(biāo)識)依次類推。這樣標(biāo)識規(guī)則的好處是可以看出配置項的前后關(guān)系,比較直觀又便于理解。有關(guān)配置項標(biāo)識的實例后面還會給出。
4 版本管理
標(biāo)識一個配置項變更(如:設(shè)計修改)的最好方法就是版本。版本不僅記錄了配置項的當(dāng)前狀態(tài),為后續(xù)開發(fā)提供依據(jù);而且還可以根據(jù)版本追溯以前的狀態(tài)。
版本標(biāo)識規(guī)則 :
<配置標(biāo)識>V<主版本號>·<版本號>·<次版本號>
主版本號、版本號和次版本號都可以由 1至2位的整數(shù)組成。通常,<次版本號>可省,因為二個層次的版本號就足以表示一個配置項的變化了;對于大型軟件項目,其版本標(biāo)識可以擴(kuò)大到三層或更多的層次。
當(dāng)配置項出現(xiàn)大的變化時(如:因需求變化,導(dǎo)致《功能規(guī)格書》需要增加新功能時)主版本號升級(如:從 1.**升級為2.**);當(dāng)配置項出現(xiàn)小的變化(如:局部的完善和修改等,一般在階段結(jié)束時,經(jīng)過評審確認(rèn)后)主版本號不動,次版本號升級 (如:從**.0升級為**.1)。
版本管理是指對軟件生存期內(nèi)各種軟件實體、文檔等的修改和變化的管理。它的主要的功能就是記錄和追蹤文件的變更,如:記錄文件更改的內(nèi)容、時間和更改 -審批人員等。此外,版本管理的另一個功能是并行開發(fā),它能有效地解決版本的同步以及不同開發(fā)者之間的溝通問題,從而減少錯誤、保證質(zhì)量、提高了效率。
根據(jù)經(jīng)驗,在軟件開發(fā)過程中,經(jīng)常需要保存多個版本。因為有時可能會發(fā)生這樣的情況,即:在修改一個軟件后,卻發(fā)現(xiàn)是改錯了,需要恢復(fù)到修改前的一個老版本。如果不保留多個版本,沒有版本管理,會給工作帶來很大的麻煩,也會浪費(fèi)很多時間。
對于大型軟件公司,為順利解決用戶在使用某個版本時發(fā)現(xiàn)的問題,須要借助版本管理工具的支持,否則要解決這類問題是很國難的。因為不是舊版軟件找不到,就是原開發(fā)人員已離開了公司。但是,如果按版本管理要求,將文件的不同版本形成一條鏈,并將它們存儲起來。那么就能解決前面提到的找不到舊版軟件的問提。
5. 基本概念
在配置管理中有幾個常用的基本概念是需要弄清楚它們之間的聯(lián)系和區(qū)別的。這些概念是配置項、里程碑、基線、受控庫、基線庫、產(chǎn)品庫等。
· 軟件配置項是軟件生存期內(nèi),能相對獨(dú)立開發(fā)的一個程序?qū)嶓w或文檔。
· 里程碑即通常所說的軟件開發(fā)過程中的“階段”,如果說它們之間有 區(qū)別的話,那么“階段”強(qiáng)調(diào)的是過程,而“里程碑”則強(qiáng)調(diào)過程的終點(diǎn)和終點(diǎn)的標(biāo)識。這些階段可以是需求分析階段、概要設(shè)計階段、詳細(xì)設(shè)計階段等等。
· 基線 是軟件開發(fā)過程中最重要的里程碑,不過基線更強(qiáng)調(diào)的是一個開發(fā)階段到達(dá)里程碑時的結(jié)果及其內(nèi)容,如:功能基線是 經(jīng)過評審和批準(zhǔn)的需求規(guī)格說明書;產(chǎn)品基線是經(jīng)集成和確認(rèn)測試后,經(jīng)正式審批可交付客戶的軟件產(chǎn)品的全部配置項(包括:軟件實體和所有的文檔)。
正如清華大學(xué)鄭仁杰教授所說: 在一個開發(fā)階段結(jié)束后,要對相應(yīng)的配 置項進(jìn)行基線化并形成各類基線。基線就是一個配置項(或一組配置項)在其生命期的不同階段完成時,通過評審而進(jìn)入受控狀態(tài)的一組文檔和程序?qū)嶓w,這個過程被稱為 “基線化”。每個基線都是其下一步開發(fā)的基點(diǎn)和參考 點(diǎn);它們都將接受配置管理的嚴(yán)格控制。因此,基線必須通過評審過程建立;基線存在于基線庫中,接受更高權(quán)限的控制;基線是進(jìn)一步開發(fā)和修改的基準(zhǔn)和出發(fā)點(diǎn)。
· 受控庫 是軟件開發(fā)過程中,其修改權(quán)限受到控制的文檔庫和程序庫,其中基線庫和產(chǎn)品庫,特別是產(chǎn)品庫的修改權(quán)限將受到嚴(yán)格的控制,即使是授權(quán)修改的人,在修改前還必須得到批準(zhǔn)。
· 基線庫 是受控庫中一些特別重要的庫,如:需求(基線)庫和產(chǎn)品(基線)庫。
· 產(chǎn)品庫 是存放軟件最終產(chǎn)品(即:產(chǎn)品基線)的庫,基于它的重要性,對它的修改將受到特別的控制。 產(chǎn)品基線是最初批準(zhǔn)的產(chǎn)品配置標(biāo)識。
6. 配置標(biāo)識 方法與實例
6.1文檔標(biāo)識
通常,可把一個軟件項目的文檔分成 3類,即:項目的管理文檔、設(shè)計文檔和客戶文檔。管理文檔是項目管理過程中形成的文檔,如:項目的立項書、開發(fā)計劃、質(zhì)量計劃、成本計劃、配置管理計劃、測試計劃、設(shè)計評審報告、測試驗證報告、驗收確認(rèn)報告、項目總結(jié)報告和維護(hù)服務(wù)報告等。設(shè)計文檔是設(shè)計過程中產(chǎn)生的文檔,如:需求規(guī)格說明書、概要設(shè)計說明書、詳細(xì)設(shè)計說明書、源程序、可執(zhí)行程序等。客戶文檔是供客戶使用的文檔,如:用戶操作手冊、系統(tǒng)安裝手冊、系統(tǒng)維護(hù)手冊等。
6.1.1 項目管理文檔標(biāo)識規(guī)則:(PM代表項目管理)
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |