◎北京航天自動控制研究所 曾思等
航天軟件配置管理自動化平臺的建設(shè)與應(yīng)用
◎北京航天自動控制研究所 曾思等*
通過軟件配置管理工具標識和確定各系統(tǒng)軟件配置管理項對過程進行管理,在軟件全生命周期內(nèi)控制軟件配置管理項的投放、變更,記錄并報告軟件配置狀態(tài)和變更要求,以驗證軟件配置的完整性和正確性。
目前,計算機系統(tǒng)在各行各業(yè)中得到了廣泛應(yīng)用,軟件開發(fā)項目也急劇增加,軟件項目規(guī)模日益龐大、系統(tǒng)功能日趨復(fù)雜,導致軟件配置項的管理問題日漸突顯。現(xiàn)有軟件配置項的管理方式和工具均不能滿足當前航天型號任務(wù)軟件的質(zhì)量和管理水平,直接影響到型號任務(wù)的順利完成,因此急需探索一套流程自動流轉(zhuǎn),以基線管理和技術(shù)狀態(tài)管控為抓手的高效的軟件全生命周期自動化工具,以進一步提高軟件產(chǎn)品質(zhì)量。
在航天型號產(chǎn)品研制生產(chǎn)過程中,型號軟件的配置管理是其中的關(guān)鍵一環(huán)。按照國軍標的有關(guān)要求,軟件開發(fā)管理應(yīng)建立軟件“三庫”(開發(fā)庫、受控庫和產(chǎn)品庫),并提供相應(yīng)的資源對軟件配置項入庫、訪問、出庫、維護、更改和發(fā)行等活動實施管理,以確保軟件產(chǎn)品的正確性、完整性、可控性和可追溯性。
1.軟件配置項
軟件開發(fā)的最終結(jié)果包括三類信息,分別為計算機程序、描述計算機程序的文檔、數(shù)據(jù)結(jié)構(gòu),組成這些信息的所有項目構(gòu)成了一個軟件配置,其中每個項稱為一個軟件配置項(SCI),其是配置管理的基本單位。
在軟件開發(fā)過程中,最早的軟件配置項是系統(tǒng)軟件規(guī)格說明書,隨著軟件開發(fā)過程的不斷深入,軟件配置項也迅速增加,包括在軟件全生命周期內(nèi)所產(chǎn)生的各種管理文檔和技術(shù)文檔、源代碼及其可執(zhí)行代碼、運行時所需的各種數(shù)據(jù)以及相應(yīng)的存儲介質(zhì)等,這些均可構(gòu)成軟件配置管理項,它們經(jīng)評審和檢查通過后進入軟件配置管理系統(tǒng)。
2.“三庫“管理
軟件開發(fā)庫。在軟件全生命周期的某一階段,存放與該階段軟件開發(fā)工作有關(guān)的計算機/人工可讀信息的數(shù)據(jù)庫,通常數(shù)據(jù)庫中所存放的各種信息在該階段經(jīng)常處于動態(tài)變化之中。軟件受控(配置)庫。在軟件全生命周期的某一階段結(jié)束時,存放作為該階段產(chǎn)品發(fā)行的與軟件開發(fā)工作有關(guān)的計算機/人工可讀信息的數(shù)據(jù)庫。數(shù)據(jù)庫中所存放的各種信息應(yīng)是經(jīng)過審查或評審,并履行完手續(xù)得到確認后處于“凍結(jié)”狀態(tài)的階段產(chǎn)品。
軟件產(chǎn)品庫。在軟件全生命周期的組裝與系統(tǒng)測試階段結(jié)束后,存放最終要交付給用戶運行或現(xiàn)場安裝的軟件產(chǎn)品的數(shù)據(jù)庫。數(shù)據(jù)庫中的產(chǎn)品都來自受控庫。因此,軟件配置管理就是對受控庫和產(chǎn)品庫中的各個軟件配置項進行管理。
3.基線管理
基線是軟件開發(fā)中的里程碑,其標志是有一個或多個軟件配置項的交付,而且這些軟件配置項已經(jīng)過正式技術(shù)復(fù)審獲得認可。軟件配置管理包含以下3種基線:
功能基線。最初通過的功能配置,包括需求說明書、軟件項目計劃、軟件質(zhì)量保證計劃、軟件配置管理計劃等,以及相關(guān)的評審報告。
分配基線。最初通過的分配配置,包括測試軟件需求規(guī)范、軟件系統(tǒng)測試計劃等,以及相關(guān)的評審報告。
產(chǎn)品基線。最初通過的或有條件通過的產(chǎn)品配置,包括用戶手冊、產(chǎn)品發(fā)布備注、安裝指導等,以及相關(guān)的評審報告。
航天型號軟件配置管理自動化平臺的建設(shè)目標主要包括:軟件配置項標識與建庫管理、軟件文檔簽署管理、軟件程序受控庫初始入庫管理、軟件程序受控庫出庫管理、軟件程序產(chǎn)品庫初始入庫管理、軟件配置管理問題報告等14項內(nèi)容。
1.總體結(jié)構(gòu)
航天型號軟件配置管理自動化平臺是一個分布式,支持多庫、多層次、權(quán)限控制力度細致的適合大規(guī)模使用的型號配置管理系統(tǒng),針對型號軟件配置管理流程進行頂層設(shè)計、優(yōu)化。 軟件配置管理系統(tǒng)由開發(fā)庫、受控庫和產(chǎn)品庫構(gòu)成(見圖1),其中開發(fā)庫設(shè)在各項目組,受控庫設(shè)在各研究室,產(chǎn)品庫設(shè)在資料室。
圖1 軟件配置管理系統(tǒng)構(gòu)成圖
其中,受控庫的主要功能包括以下幾個方面內(nèi)容:
配置管理策劃是在項目啟動初期明確配置管理的相關(guān)策劃信息,包括審批流程、階段劃分、工作產(chǎn)品策劃、基線內(nèi)容、標識策劃等。
基線管理包括基線的建立、發(fā)布、變更、工作產(chǎn)品獲取等,產(chǎn)品基線正式形成后需納入產(chǎn)品庫。
變更管理包括問題報告單、更改單、變更出庫單、更改完成單、變更入庫單全過程的監(jiān)控及跟蹤閉環(huán)。
出入庫管理是軟件項目相關(guān)工作產(chǎn)品(含文檔和代碼)的入庫和出庫(包括交付確認測試、分系統(tǒng)聯(lián)試、先行交付的整星測試和第三方評測等)。
配置審核及狀態(tài)紀實是對基線內(nèi)容和數(shù)據(jù)庫內(nèi)產(chǎn)品進行定期審計,并將情況進行發(fā)布。
度量分析包括軟件變更次數(shù)、規(guī)模、所耗工作量、缺陷等簡單的數(shù)據(jù)統(tǒng)計。
版本管理是對軟件類數(shù)據(jù)的全生命周期版本狀態(tài)進行管控。
電子簽名是對入庫文件格式進行五級電子簽署,并進行軟件類文檔的全生命周期管控。
2.項目整體工作流程
軟件配置項目管理的整體流程如圖2所示。
圖2 項目管理整體工作流程
首先,對于新型號項目,需要管理員根據(jù)軟件的配置管理規(guī)定策劃幾套不同的規(guī)則,每套規(guī)則中應(yīng)能夠針對組織、審批、版本、標識、階段、基線等進行具體的策劃。
其次,若系統(tǒng)中已經(jīng)有了可選擇的規(guī)則,則需要室級配置管理員建立項目基本信息,為項目選擇適用的規(guī)則,并為每個項目指定項目級配置管理員。
第三,主管設(shè)計人員為項目指定普通用戶的角色分配,包括項目經(jīng)理、測試人員、開發(fā)人員、質(zhì)量人員等。
第四,項目管理員檢查所使用的規(guī)則是否適用于本項目,若不適用,則在規(guī)則的基礎(chǔ)上更改策劃內(nèi)容。
最后,項目中的各個角色根據(jù)項目策劃開始實施項目配置管理的各項工作。
3.產(chǎn)品歸檔流程
項目成員在文檔入庫完成后,可提交產(chǎn)品歸檔申請單。產(chǎn)品歸檔總流程如圖3所示。
圖3 軟件產(chǎn)品歸檔流程圖
在項目創(chuàng)建之初,由室級配置管理員指定項目中具有在線編輯權(quán)限的角色,并指定具體負責人。在軟件配置管理完成入庫后,項目中的任何用戶均可發(fā)起制定產(chǎn)品歸檔單的申請,在系統(tǒng)顯示出來的已入庫的配置管理項中選擇對應(yīng)的版本,再制定檔案管理員,選擇審批流程,并發(fā)起歸檔流程。
此外,系統(tǒng)還實施了軟件文檔打印與外場交付光盤刻錄控制。為保證在驗證/交付出庫(受控庫)、產(chǎn)品出庫(產(chǎn)品庫)時出庫資料版本的唯一性,增強出庫版本和下載刻錄權(quán)限的管理,軟件配置管理自動化平臺與單位內(nèi)部自助刻錄系統(tǒng)進行了接口集成,設(shè)計了一套一鍵刻錄的組件,實現(xiàn)了打印光盤貼、自助式光盤刻錄技術(shù)。
軟件配置管理系統(tǒng)以軟件配置管理為核心,實現(xiàn)了軟件文檔和代碼等資產(chǎn)全周期狀態(tài)管理,通過軟件配置管理工具標識和確定各系統(tǒng)軟件配置管理項對其過程進行管理,在軟件整個生命周期內(nèi)控制軟件配置管理項的投放、變更,記錄并報告軟件配置狀態(tài)和變更要求,驗證了軟件配置的完整性和正確性。
通過探討軟件配置管理自動化平臺的建設(shè)解決方案,有效解決了航天型號軟件配置管理尚未采用正式系統(tǒng)進行統(tǒng)一管理、軟件代碼全生命周期管控有待加強、無法有效實現(xiàn)軟件程序的集中管控等諸多典型問題,規(guī)范了日常軟件配置管理的業(yè)務(wù)流程,實現(xiàn)了軟件技術(shù)狀態(tài)的及時受控以及歷史數(shù)據(jù)系統(tǒng)與現(xiàn)有數(shù)據(jù)系統(tǒng)的集成,提高了軟件的開發(fā)效率和開發(fā)質(zhì)量。
*其他作者:王曉玲、劉京濤、郭曉慧、聶振斌、劉勇