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