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