航天型號軟件配置管理工作淺析論文
1背景
近年來,我國航天領域面臨著多型號并舉、高密度發射的形勢,型號軟件產品作為系統的重要組成部分,發揮的作用和地位愈加突出。對型號軟件產品的研發進度及質量要求也不斷提高。目前軟件工程化要求是航天型號中采用的通用管理手段。通過多年運行實踐表明,其對型號軟件的規范開發及質量控制的確起到了一定的效果,同時軟件工程化的理念在廣大設計師和管理人員中也得到普及。
然而,隨著型號任務的快速增加,型號軟件開發進度的壓力持續加大。在“加快進度,質量不降”的要求下,實際情況是優先在保障軟件開發進度,犧牲軟件研制質量。軟件工程化這一原本為保證產品質量而要求的管理理念和方法,已在某種程度上變為形式上管理方法,成為應付各種監督檢查的表面文章。具體表現在三個方面:一是片面強調軟件文檔的齊套性,忽視軟件開發的整體策劃和過程控制;二是只強調軟件配置管理過程的手續齊套,對軟件的實際技術狀態把控不足;三是軟件測試工作流于形式和走過場,對軟件質量的升級作用不明顯。限于篇幅,本文在這里只重點針對航天型號軟件的配置管理工作進行分析探討。
2.現狀分析
軟件配置管理是航天型號軟件工程化實施的一項重要內容,以至于在很多人的意識里,軟件工程化的主要工作內容就是配置管理過程中的出入庫控制。航天企業單位的質量管理體系中《型號軟件工程化管理程序》、《型號軟件配置管理辦法》等是對各種頂層軟件工程化要求的本地化實現,這些文件中對如何具體實施型號軟件配置管理工作進行了詳細描述。包括建立軟件三庫,進行軟件配置標識,執行軟件配置控制及審計等等。應該說,航天型號軟件正是依據這些制度流程切實地開展實施了工程化所要求的基本配置管理過程,也真正建立了開發庫(研究室)、受控庫(質量處)和產品庫(檔案處),使得大量的型號軟件技術狀態得以較好的控制。但隨著型號任務的不斷增加,尤其是進度壓力的持續加大,原有的配置管理過程已愈發暴露出諸多問題,亟待予以解決。主要表現為:
2.1軟件出入庫管理過程復雜,程序環節多,導致工作效率低下
航天型號軟件目前均納入“三庫”管理,在對受控庫或產品庫軟件進行出入庫操作時必須填寫軟件移動單,進行軟件更改時還要分別填寫軟件問題報告單和更改單。這些表單均為紙質表格,并需要設計師系統和型號調度系統簽署。設計師往往要花費不少時間精力來閉環這些管理上的流程。這樣一來往往造成兩種后果,一種是為了管理環節的閉環導致軟件出入庫工作在時間上的浪費;另一種是緊急情況下繞開程序直接操作,事后再后補相關手續。而在實際情況中往往是后者占了相當大的比例。這種情況的長期出現,使得型號軟件出入庫過程逐漸流于形式,包括配置管理員在內的各種角色均未起到應有的把關作用,簽署的各種單據表格唯一作用是應付各種質量或軟件工程化監督檢查。
2.2配置管理計劃編寫流于形式,配置紀實與審計工作實際并未有效開展
根據軟件工程化要求以及軟件文檔編制的相關規定,型號軟件在策劃階段應與開發計劃同步編制軟件配置管理計劃。其目的是根據軟件開發計劃的整體策劃安排,在軟件開發全過程中策劃實施各種必要的配置管理活動,對開發過程中軟件的技術狀態進行把控。而目前的實際情況是配置管理計劃僅僅作為一份必須要完成的軟件文檔而存在,其內容往往雷同,并在實際的科研計劃中從未體現。軟件的配置管理活動除了出入庫以外,并無其他管理活動,在軟件驗收或出廠時對配置管理工作的總結也僅僅停留在對入出庫的基本統計。
2.3對軟件基線的認識不到位,沒有制定對基線變更的過程控制
軟件配置管理中一個重要的概念就是基線的建立。基線作為軟件技術狀態管理的一種重要手段起著十分有效的作用。但在目前型號軟件配置管理中對軟件基線的認識還只停留在“三個基線就是任務書、需求和軟件產品,基線就是要進行評審”的層次上。在配置管理活動中并未針對軟件基線進行過程管理和流程設計,對基線變更、基線發布等重要的技術狀態控制活動沒有制定具體的執行步驟。特別是對于基線發布,很容易造成軟件版本升級后相關方卻不能及時知曉,甚至會導致型號出現質量問題。
3.配置管理工作的優化思路
當前航天型號軟件配置管理工作,乃至軟件工程化所面臨的諸多問題,究其根本原因,還是未完全將型號軟件作為一個獨立的產品對待所致。軟件作為一種特殊的產品,通過幾十年的發展,已經形成了一套相對完善研發管理模式,各種軟件生命周期模型是指導型號軟件研制開發過程的`基本模式,除了標準的軟件工程化要求,目前在航天型號研制過程中正在推行的CMM標準體系,更是將軟件開發的過程加以細化和量化,具體到開發過程中的每一步驟。充分利用這些較為先進的軟件開發技術管理手段,以提升管理活動效率,提高軟件質量水平為目的,真正使軟件工程化管理活動發揮實效。
通過深入分析,在借鑒國內外軟件配置管理的一些先進經驗,結合型號軟件開發的特點,可以從幾方面對現有的軟件配置管理工作加以優化完善。
3.1軟件的文檔與代碼共同納入配置管理工作
軟件文檔作為軟件產品的重要組成部分,也是軟件技術狀態的一種表征形式。軟件文檔與代碼必須保持有效的一致性和可追溯性。自從航天型號開展軟件工程化以來,一直將軟件文檔按照普通設計文件進行管理,而航天型號產品的設計文件和圖紙是以硬件產品為主要對象,文件和圖紙的技術狀態變更是采用更改單或偏離單的形式完成。而軟件產品的技術狀態變更是通過版本升級,因此軟件文檔為了保持一致性和可追溯性,也應該采用版本升級的方式進行變更管理。目前型號產品軟件的各種文檔均采用硬件設計文件審簽系統管理,其變更必須通過更改單的方式,會導致更改前的軟件文檔狀態無法記錄保存。而目前軟件代碼的變更卻嚴格執行版本升級方式,在客觀上無法保證軟件文檔與代碼真正的一致性。
若要從根本解決這一問題,只有將軟件文檔與代碼統一進行配置管理。軟件文檔的變更改用版本升級的方式完成,并與軟件代碼的變更同步進行。軟件文檔在縱向上的歷史狀態可追溯(通過文檔版本升級),在橫向上與對應的軟件代碼版本可追溯。在實際型號工作中,往往軟件版本升級十分頻繁,真正實現文檔與代碼的統一管理必須依靠信息化手段,即軟件配置管理工具平臺。
3.2結合CMM體系建設,優化型號軟件配置管理過程
CMM體系(能力成熟度模型)是近年來國際上規范軟件設計開發過程,提高軟件產品質量的一種有效手段。它的核心思想是強調軟件開發前期要依托客觀數據進行詳細的策劃,在開發過程中要實時監督,對出現的問題要及時閉環處理,保證實際工作與策劃的基本一致性,并通過對開發過程的控制確保最終軟件產品質量。其中對于軟件配置管理,CMM體系是作為一個獨立的過程域制訂了詳細的規范,包括了大量的共用實踐和專用實踐。實事求是地講,目前航天型號軟件的開發受制于型號項目大環境的制約,軟件開發的進度無法獨立,因此目前還無法按照CMM體系的要求完全覆蓋。但對于軟件配置管理過程域的很多要求可以結合航天軟件特點實施改進。
在軟件配置管理過程中,CMM體系十分強調對于基線的控制,特別是基線的建立和變更,背后反映的深層次原因就是對軟件重要技術狀態的把控。對軟件的更改慎之又慎,這方面正是目前航天軟件所欠缺的。基線的變更,包括了文檔的變更和代碼的變更,任何的變更都需要經過相關方的討論并評審,同時還需要及時向各方發布。另一方面,配置管理過程中產生的各種數據和信息都需要及時收集匯總,便于后期統計處理。
3.3充分利用信息化平臺,建立型號軟件配置管理系統
隨著型號軟件數量的不斷增加,配置管理工作的不斷細化深入,必須采用合適的信息化平臺才能真正使軟件配置管理工作有效運行。目前有兩種思路開展信息化平臺建設。一是使用商用成熟配置管理工具。目前各類商用配置管理工具種類繁多,如C/CQ等,這些商用配置管理工具的功能一般都非常強大,但往往與各單位的航天型號軟件管理實際情況有較大差異,必須進行二次開發或定制,不便于根據實際情況靈活調整,且二次開發費用不低。另一種是充分利用自身資源,以本單位本部門的實際需求為導向,自行開發配置管理工具。這樣做的好處是工具的各項功能是根據實際需要定制,使用較為方便,功能雖然少但足夠使用,且可以逐步完善。其最大的優勢在于可以根據配置管理活動的實際需求及時變更完善。目前航天各企業單位正在充分利用自身信息中心的開發能力,結合航天軟件項目管理系統的開發,將軟件文檔與代碼在信息化平臺上統一進行配置管理。目前正在試運行階段,初步感覺效果良好。
4.結束語
配置管理是軟件工程化的重要內容之一,也是保證型號軟件技術狀態受控管理的有效途徑。管理的目的在于提高效率,保證產品質量,因此必須結合航天企業單位的實際情況因地制宜地進行。抓住真正影響產品進度和質量的關鍵環節把控,才能使管理起到真正的作用。信息化手段作為提高工作效率的有效方法目前已被普遍采用,但其畢竟只是具體實現的工具,真正的核心內容還應該全面地梳理管理流程的每一個細節,這樣才能真正通過配置管理工作提高軟件開發的效率和質量。
【航天型號軟件配置管理工作淺析論文】相關文章:
1.軟件項目管理淺析
2.淺析軟件項目管理
7.軟件工程應用淺析