宋敏
摘 要 軟件配置管理是提升組織軟件研制能力的基礎活動,通過標識軟件項目的配置項,控制配置項的修改,記錄并報告配置項的狀態,審計配置管理活動來實現軟件項目產品的完整性和可追蹤性。
【關鍵詞】配置項 基線配置 標識配置 控制
隨著軟件技術的發展,組織提升軟件研制能力顯得越來越重要并且迫切。而軍用軟件,尤其是嵌入式軟件的開發往往伴隨硬件設備的研制而開展,其研制周期長,需求變更頻繁,參與人員多,可能出現軟件版本丟失、多重維護、開發過程混亂等問題。GJB5000A-2008《軍用軟件研制能力成熟度模型》中明確配置管理的目的和專用實踐,通過配置管理可以較好的解決以上問題。
1 組織機構、角色和職責
組織應成立項目的配置控制委員會(以下簡稱CCB)。CCB一般由來自不同領域的項目利益相關方的代表組成,而且有能力在管理上作出承諾,對提出的配置項的變更進行評價、批準或不批準。其中,配置管員作為配置管理活動的直接責任人負責制定配置管理計劃、發布配置狀態報告、實施配置審核。
2 基于GJB5000A的配置管理活動
2.1 建立基線
2.1.1 標識配置項
配置項作為配置管理的對象,在項目策時進行識別,并對其賦予唯一標識號,形成配置項列表。包括:
(1)識別軟件配置項:軟件配置項主要包括為本項目開發的軟件配置項以及重用的軟件配置項、訂購方提供的軟件配置項、分承制方開發的軟件配置項、采購的軟件配置項等。其中,軟件配置項的劃分主要從下列因素進行權衡:軟件功能、規模、重用計劃、關鍵性、接口考慮等。
(2)識別配置文件:配置文件指定義軟件配置項的功能特性或物理特性的文件,或從這些內容發展而來的關于其驗證、使用、保障要求的技術文件。一般包括:需求文檔、設計文檔、測試文檔、用戶文檔等。
2.1.2 建立一個配置管理系統
要使配置項在軟件生命周期中受控,應建立有統一的存儲介質、規程和訪問方式的配置管理系統:
(1)建立配置庫。
開發庫:存放配置項文件的集合。是一個動態的庫,相當于開發人員的工作區,存放在該庫中的配置文件只需要開發者進行版本控制即可。
受控庫:存放已通過測試或評審且作為階段性產品的軟件配置項的集合。配置項的入庫、出庫、更改均需通過訪問及變更控制規程進行。
產品庫:存放已定型(鑒定)且供交付、生產、檢驗驗收的軟件配置項的集合。在項目通過定型或鑒定后,將受控庫中的產品基線通過發布流程轉入該庫。
(2)訪問控制規程:對非基線配置文件和基線配置文件可采用以下兩類控制方式:
開發控制:開發期間,進行版本管理,若需更改只作簡單跟蹤即可;
正式控制:若需要更改,必須通過正式更改控制規程才能進行更改,由顧客參與的高層CCB控制。
(3)配置庫的備份:制定正確的備份與恢復策略,并加以實施。
2.1.3 發布基線
在項目策劃時定義項目需要建立的基線,對其賦予唯一標識號,并文檔化每條基線應包含的配置文件,形成基線列表。
(1)在系統設計與分析階段結束時建立功能基線:包括經過評審的定義軟件配置項技術要求的文件,如:軟件研制任務書、接口控制文件、軟件技術協議等。
(2)在需求分析階段結束時建立分配基線:包括經過評審的分配到軟件功能模塊需求的文件,如:軟件需求規格說明。
(3)在產品定型或鑒定時建立產品基線:包括經過確認的作為軟件產品生產、交付、使用、保障活動基礎相關文件,如:安裝包、用戶手冊等。
2.2 跟蹤和控制更改
2.2.1 跟蹤更改申請
(1)提交變更申請:需要變更時,提交變更申請,并填寫建議的更改方案。
(2)變更影響域分析:項目組主要從以下幾方面進行分析。
該軟件更改是否滿足軟件本身功能、性能、軟件質量要求;
對項目工作量、進度、成本的影響;
是否引起其他軟件配置項、相關的設計文件/圖樣更改;
對在制品和已交付產品的影響以及處理措施;
對于在多個產品中使用的配置項,其更改可能解決本項目中的問題,而在其他應用中是否有影響;
更改等級分析:按照更改的內容及影響范圍,可將更改進行分級控制。
(3)CCB審批:項目組與利益相關方一起評審該變更申請。
(4)跟蹤更改申請的狀態:更改申請被提交后就應對其進行狀態跟蹤,直到更改實施完畢并經過批準。
2.2.2 控制配置項
變更申請經過批準后,對問題配置項進行更改控制:
(1)出庫:經過批準的變更申請可以作為出庫依據,對存在問題的配置項出庫。
(2)更改并驗證:項目組針對新需求或存在的問題進行更改。更改后,應對更改內容進行評審或測試,以確保更改不會引入新的問題等。
(3)入庫:通過驗證后,項目組應根據更改級別提交相應CCB審批后檢入受控庫生成新的版本。
2.3 建立完整性
2.3.1 建立配置管理記錄
(1)收集配置管理相關表單:配置管理員收集、整理配置管理過程中產生的相關表單。
(2)生成配置狀態報告:在項目配置項狀態發生變更后,配置管理員應生成配置狀態報告,并向項目組和利益相關方發布配置狀態信息。
2.3.2 執行配置審核
配置審核是指確認所產生的基線和文檔符合指定的標準或需求。配置審核類型包括:
(1)功能配置審核:目的是驗證配置項的所測功能特征是否已達到其功能基線文檔中所規定的需求,且操作和支持文檔是否完備和滿意。相當于文文相符審查。
(2)物理配置審核:目的是驗證構造的配置項是否符合定義它的技術文檔。相當于文實相符審查。
(3)配置管理審核:目的是確認配置管理記錄和配置項是否完備、一致和準確,配置管理工作開展與配置管理標準和規程是一致的。
3 結束語
軟件配置管理作為GJB5000A-2008軟件研制能力等級認證中必須開展的活動,也是其他軟件工程化活動的基礎。通過開展軟件配置管理,可使軟件在整個生命周期中狀態清晰可控、可追溯,是提升軟件產品質量的重要保證。
參考文獻
[1]GJB5000A-2008,軍用軟件研制能力成熟度模型[S].
[2]GJB 5716-2006,軍用軟件開發庫、受控庫和產品庫通用要求[S].
[3]GJB3206A-2010,技術狀態管理[S].
作者單位
四川九洲電器集團有限責任公司 四川省綿陽市 621000