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