王小妮 梁琦 錢宏文



摘要:軟件項目運行中按照GJB5000A配置管理過程,依據(jù)項目協(xié)議任務識別項目周期模型,確定項目運行需要的配置管理階段和配置項,結合軟件項目平臺系統(tǒng)使用三庫和三基線標識并管理所需的配置項狀態(tài),最終通過軟件項目配置管理過程的優(yōu)化,標準規(guī)范的進行軟件項目管理。
關鍵詞:配置管理;配置庫;配置項;基線
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1007-9416(2020)08-0196-05
0 引言
隨著信息化的飛速發(fā)展軟件研制規(guī)模不斷增加,使得軟件產(chǎn)品的版本管理困難也增加,參照GJB5000A-2008《軍用軟件研制能力成熟度模型》,對軟件項目規(guī)模和軟件項目需進行的階段進行設計,以某小型項目文檔模板按照GJB438B-2009《軍用軟件開發(fā)文檔通用要求》為例介紹,該項目在某軟件項目平臺按五個階段開展:系統(tǒng)需求分析與設計階段、軟件需求分析與設計階段、軟件實現(xiàn)與測試、軟件合格性測試、軟件驗收與交付。按軟件項目階段工作計劃設定項目任務并分配軟件項目需要的專業(yè)成員,保證軟件項目研制階段快速化、規(guī)范化、標準化。
配置管理是軟件項目開發(fā)環(huán)境管理的核心,如果不做好配置管理工作,經(jīng)常會導致軟件程序開發(fā)過程的多代碼多版本等繁雜問題出現(xiàn),這樣很容易產(chǎn)生軟件程序的沖突和混亂,處理這些問題又需要花費更多時間和精力[1]。因此,做好軟件項目的配置管理工作十分重要。
1 配置管理介紹
配置管理的目的是利用配置標識、配置控制、配置狀態(tài)記實和配置審核建立和維護配置項的工作產(chǎn)品的完整性。配置管理主要管理軟件項目開發(fā)過程中產(chǎn)生的各配置項,維護配置項版本的完整性及可追蹤性,不僅是各配置項的管理,更是對軟件項目過程中各任務的管理,因此,配置管理活動管控的是整個軟件系統(tǒng)的形成過程。
在軟件工程化管理過程中,配置管理的主要任務包括:建立軟件配置管理計劃、管理并標識軟件各配置庫中的配置項和基線、控制對軟件配置項和基線的更改、建立和發(fā)布基線、記錄配置項的狀態(tài)和配置管理活動,生成并報告各階段配置管理的工作報告。在實際應用中軟件承制方應建立一個完備的配置管理系統(tǒng),以達到能夠有效實施軟件的配置管理過程,提高軟件質(zhì)量的目的[2]。
配置管理過程中一些相關內(nèi)容介紹如下:
配置是有關技術文檔中陳述的或產(chǎn)品中已實現(xiàn)的硬件或軟件的功能和物理特性。
軟件配置項是為配置管理指定的硬件、軟件或兩者的一個聚合體,在配置管理過程中視為一個單一實體。
基線是一組經(jīng)過正式評審同意后,作為進一步開發(fā)或交付基礎的規(guī)格說明或工作產(chǎn)品,且若需更改基線,則應按更改控制規(guī)程文件執(zhí)行?;€表示將一個標識符賦予一配置項或配置項集及其相關實體。隨著產(chǎn)品的演進,可以使用多個基線控制其開發(fā)和測試。
版本是某一配置項的已標識了的實例。版本控制是軟件配置管理的核心,其目的是按照一定的規(guī)則保存配置項的所有版本,避免發(fā)生版本丟失或混淆等現(xiàn)象,保證產(chǎn)品的可追溯性。
配置審核是確認所產(chǎn)生的基線和文檔符合指定的標準或需求。
配置控制委員會(SCCB)負責指導和控制配置管理的各項活動,批準配置項標識、授權基線的創(chuàng)建、標識,制定訪問控制策略,批準對基線的變更,并授權軟件工程組實施變更;負責跟蹤驗證來自審核的措施項。
結合軟件項目工作計劃,按照如圖1的配置管理流程,GJB5000A軟件項目組成員負責協(xié)助配置管理員完成各階段軟件項目工作。
2 配置管理過程
2.1 配置庫管理和權限設置
2.1.1 配置項三庫管理
配置庫按控制級別一般分為開發(fā)庫、受控庫、產(chǎn)品庫(簡稱“三庫”) 如圖2,三庫中配置項的內(nèi)容和項目成員的權限需配置管理員按照配置管理計劃和配置管理文件要求進行讀寫的權限設置。
開發(fā)庫中軟件項目各任務的開發(fā)人員將需評審的配置項內(nèi)容和版本入開發(fā)庫的公共區(qū),項目其他相關人員可在公共區(qū)下載或查看配置項內(nèi)容進行預評審,項目組周會正式評審配置項時項目成員可直接將預評審問題提出,提高項目周會評審質(zhì)量和效率,配置項最終內(nèi)容版本可受控由軟件開發(fā)負責人員提交入受控庫的申請流程,經(jīng)項目的SCCB審批,由配置管理員將開發(fā)庫中可入受控庫的配置項辦理配置管理審核和提交入庫申請后入受控庫。如圖2 GJB5000A使用的軟件平臺系統(tǒng),項目開發(fā)人員負責將確認好需入庫的配置項內(nèi)容按V0.00版本上傳至該平臺配置管理開發(fā)庫公共區(qū),配置項負責人在該平臺同時提交入庫申請,入庫申請流程發(fā)送至該平臺項目相關人員處,項目人員看到系統(tǒng)平臺通知,及時審核配置項內(nèi)容版本,項目組周會進行該配置項評審時各項目人員統(tǒng)一將問題反饋負責人,負責人完善問題并修改后提交該配置項V0.01版至開發(fā)庫公共區(qū),最終項目組確認該配置項可入受控庫需按照受控庫版本V1.00提交入庫申請,配置項審核人確認配置項內(nèi)容無誤后簽核流程,流程至配置管理員處,配置管理員需進行入受控庫配置項的審核,按檢查單審核配置項內(nèi)容符合、不符合、不適用等情況,配置管理員審核通過后配置項入受控庫,項目SCCB再次審核配置項入受控庫,待受控庫入庫流程至配置管理員處,在該軟件平臺將配置項V1.00版轉受控庫。需要強調(diào),軟件目標代碼和源代碼需在軟件實現(xiàn)與測試階段入受控庫,待軟件合格性測試時再出庫進行軟件代碼和軟件目標代碼軟件合格性測試,若軟件合格性測試有問題軟件目標代碼和源代碼需更新版本再入受控庫,若軟件合格性測試無問題在該平臺項目受控庫中軟件目標代碼和源代碼按受控庫中版本無需再進行入受控庫流程。
2.1.2 配置項三庫權限設置
按照配置管理計劃各配置項的項目人員職責權限如圖3,對三庫中的配置項和項目成員權限進行識別,配置庫應保持配置標識的唯一、可追溯、可管理,每一配置項的同一版本不能存儲多個,每一配置項的訪問權限唯一、讀寫操作權限唯一。配置管理員創(chuàng)建配置項的存儲目錄結構,為每個納入配置管理的配置項分配存儲空間、規(guī)定訪問權限,并定期進行配置庫的數(shù)據(jù)維護備份。
軟件項目各配置項開發(fā)庫中,配置項負責人有開發(fā)庫讀寫權限,其余項目人員僅有讀權限。配置管理員將配置項轉受控庫,受控庫所有配置項除配置管理員有讀寫權限外,其余人員對各配置項均僅有讀權限,保證受控庫配置項版本的準確性。待軟件項目所有配置項入受控庫后,軟件項目交付需將所有配置項入產(chǎn)品庫,產(chǎn)品庫僅有比受控庫配置管理員高級的配置管理人員有權限,保證產(chǎn)品庫配置項交付版本的準確性。
2.2 配置項標識重要性
配置標識的主要活動是選擇配置項、制定配置項、制定標識方案和保存配置項的標識方案。配置標識的目的是獲得在軟件系統(tǒng)中識別其各任務的能力,配置標識可以告知系統(tǒng)中的配置是什么,系統(tǒng)的各任務是什么,系統(tǒng)各任務對應的版本是什么[3]。軟件配置管理員和項目組人員依據(jù)軟件項目協(xié)議,按照檢查單內(nèi)容進行軟件項目研制任務書評審,識別軟件項目運行中必要的配置項,并對軟件項目配置項進行軟件項目代號標識,保證軟件項目管理的唯一性。對軟件項目配置項的準確識別和標識可以保證軟件項目管理的高效性、準確性。該項目按照軟件研制任務書、軟件開發(fā)計劃等識別配置項(見表1)并進行標識后完成軟件配置管理計劃,管控各配置項標識保證該項目的配置項唯一性和規(guī)范化,方便后續(xù)各配置項出入庫管理和狀態(tài)檢索。
配置項的版本標識目的是便于對同一個配置項在各庫中的版本加以區(qū)分、跟蹤和檢索,表明各版本的關系和存在原因。配置項版本標識的控制就是對各種操作的控制,包括各配置項的入庫、出庫及不同版本變更原因的追溯。
2.3 配置項基線管理
按照配置管理計劃規(guī)定的時間,當構成基線的配置項都已按要求納入配置庫,配置管理員填寫基線建立和發(fā)布單,由配置控制委員會授權批準建立基線,并發(fā)布到項目組相關人員。為每條基線建立基線狀態(tài)記錄單,記錄基線的狀態(tài)演化歷史等。項目建立的基線種類及每條基線構成的配置項、建立時機如表2所示,在配置管理計劃的基線計劃中已明確[4]。
軟件研制任務書入受控庫,建立并發(fā)布功能基線,提交功能基線創(chuàng)建申請單,申請單需項目SCCB和用戶代表審核通過后,配置管理員進行功能基線的物理配置審核,審核通過后將對應的基線發(fā)布負責人。
在功能基線基礎上,軟件需求規(guī)格說明等入受控庫,建立分配基線,配置管理員進行分配基線的物理配置審核,審核通過后將基線發(fā)布負責人。
軟件產(chǎn)品即軟件目標代碼和源代碼、軟件版本說明、軟件用戶手冊等入受控庫后,建立產(chǎn)品基線,配置管理員進行物理配置審核,審核通過后進行基線發(fā)布項目負責人。將功能基線、分配基線、產(chǎn)品基線簡稱“三基線”。
2.4 配置項變更
軟件項目運行過程中的配置項變更既不可避免也必不可少。由于變更的內(nèi)容、變更的幅度都會直接影響整個軟件項目的進度,所以時刻需考慮變更范圍的影響和管控。這時候軟件配置過程管理就顯得尤其重要,需要采取有效的措施,對軟件項目配置項的變更進行嚴格控制。通過配置項變更控制能協(xié)調(diào)軟件項目開發(fā)過程運行,確保變更帶來的配置項過程的混亂減到最小[5]。
2.5 配置管理報告
配置管理各階段配置項工作任務負責人需在該平臺填寫工作量和工作日志,配置管理階段報告體現(xiàn)各配置項負責人的工作情況,匯總各階段各任務后配置管理員完成配置管理階段報告。軟件項目完成所有配置項入受控庫后,配置管理員需結合各階段的配置管理報告,匯總完成軟件整個階段的配置管理總結報告。
3 結語
本文主要介紹了某小型項目周期模型軟件項目按GJB 5000A-2008配置管理過程,并結合軟件項目平臺配置管理系統(tǒng),可以改善因一些變動造成的軟件項目產(chǎn)品維護困難,能有效地防止軟件項目的資產(chǎn)流失,而且能從根本上杜絕軟件產(chǎn)品的版本無序變更造成的軟件產(chǎn)品質(zhì)量隱患。軟件配置管理過程合理運用不僅能極大地提高軟件項目人員的工作效率[6],還能降低軟件項目運行中的風險發(fā)生,同時使整個軟件項目管理水平得到有效地提高,有力的實現(xiàn)軟件項目運行的降本增效工程。本文介紹的軟件配置管理過程和方法已很好地融入到我們的軟件項目管理中,從而推動軟件項目研制過程的標準化規(guī)范化發(fā)展。
參考文獻
[1] 裴樹軍,陳德運,陳曉雪.軟件配置管理在軟件開發(fā)平臺中的應用[J].哈爾濱理工大學學報,2010,15(1):30-32.
[2] 童暉,石晨方,楊莉春.GJB5000A-2008在軟件工程化中的應用[J].信息數(shù)據(jù)與電子工程,2019(20):89.
[3] 童亞琴.基于CMM的軟件過程管理系統(tǒng)--軟件配置管理系統(tǒng)的研究與實現(xiàn)[D].杭州:浙江工業(yè)大學,2005.
[4] 鐘暉.基于CMMI的軟件配置管理實踐淺析[J].電子質(zhì)量,2018(8):58-62.
[5] 郝延剛.基于GJB5000A的軟件配置管理研究與系統(tǒng)實現(xiàn)[J].雷達與對抗,2019,39(4):65-68.
[6] 王珍英.配置管理在軟件項目管理中的應用[J].計算機系統(tǒng)應用,2008(6):101-104.