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