航天型號軟體配置管理工作淺析論文

才智咖 人氣:3.08W

1背景

航天型號軟體配置管理工作淺析論文

近年來,我國航天領域面臨著多型號並舉、高密度發射的形勢,型號軟體產品作為系統的重要組成部分,發揮的作用和地位愈加突出。對型號軟體產品的研發進度及質量要求也不斷提高。目前軟體工程化要求是航天型號中採用的通用管理手段。通過多年執行實踐表明,其對型號軟體的規範開發及質量控制的確起到了一定的效果,同時軟體工程化的理念在廣大設計師和管理人員中也得到普及。

然而,隨著型號任務的快速增加,型號軟體開發進度的壓力持續加大。在“加快進度,質量不降”的要求下,實際情況是優先在保障軟體開發進度,犧牲軟體研製質量。軟體工程化這一原本為保證產品質量而要求的管理理念和方法,已在某種程度上變為形式上管理方法,成為應付各種監督檢查的表面文章。具體表現在三個方面:一是片面強調軟體文件的齊套性,忽視軟體開發的整體策劃和過程控制;二是隻強調軟體配置管理過程的手續齊套,對軟體的實際技術狀態把控不足;三是軟體測試工作流於形式和走過場,對軟體質量的升級作用不明顯。限於篇幅,本文在這裡只重點針對航天型號軟體的配置管理工作進行分析探討。

2.現狀分析

軟體配置管理是航天型號軟體工程化實施的一項重要內容,以至於在很多人的意識裡,軟體工程化的主要工作內容就是配置管理過程中的出入庫控制。航天企業單位的質量管理體系中《型號軟體工程化管理程式》、《型號軟體配置管理辦法》等是對各種頂層軟體工程化要求的本地化實現,這些檔案中對如何具體實施型號軟體配置管理工作進行了詳細描述。包括建立軟體三庫,進行軟體配置標識,執行軟體配置控制及審計等等。應該說,航天型號軟體正是依據這些制度流程切實地開展實施了工程化所要求的基本配置管理過程,也真正建立了開發庫(研究室)、受控庫(質量處)和產品庫(檔案處),使得大量的型號軟體技術狀態得以較好的控制。但隨著型號任務的不斷增加,尤其是進度壓力的持續加大,原有的配置管理過程已愈發暴露出諸多問題,亟待予以解決。主要表現為:

2.1軟體出入庫管理過程複雜,程式環節多,導致工作效率低下

航天型號軟體目前均納入“三庫”管理,在對受控庫或產品庫軟體進行出入庫操作時必須填寫軟體移動單,進行軟體更改時還要分別填寫軟體問題報告單和更改單。這些表單均為紙質表格,並需要設計師系統和型號排程系統簽署。設計師往往要花費不少時間精力來閉環這些管理上的流程。這樣一來往往造成兩種後果,一種是為了管理環節的閉環導致軟體出入庫工作在時間上的浪費;另一種是緊急情況下繞開程式直接操作,事後再後補相關手續。而在實際情況中往往是後者佔了相當大的比例。這種情況的長期出現,使得型號軟體出入庫過程逐漸流於形式,包括配置管理員在內的各種角色均未起到應有的把關作用,簽署的各種單據表格唯一作用是應付各種質量或軟體工程化監督檢查。

2.2配置管理計劃編寫流於形式,配置紀實與審計工作實際並未有效開展

根據軟體工程化要求以及軟體文件編制的相關規定,型號軟體在策劃階段應與開發計劃同步編制軟體配置管理計劃。其目的是根據軟體開發計劃的整體策劃安排,在軟體開發全過程中策劃實施各種必要的配置管理活動,對開發過程中軟體的技術狀態進行把控。而目前的實際情況是配置管理計劃僅僅作為一份必須要完成的軟體文件而存在,其內容往往雷同,並在實際的科研計劃中從未體現。軟體的配置管理活動除了出入庫以外,並無其他管理活動,在軟體驗收或出廠時對配置管理工作的總結也僅僅停留在對入出庫的基本統計。

2.3對軟體基線的認識不到位,沒有制定對基線變更的過程控制

軟體配置管理中一個重要的概念就是基線的建立。基線作為軟體技術狀態管理的一種重要手段起著十分有效的作用。但在目前型號軟體配置管理中對軟體基線的認識還只停留在“三個基線就是任務書、需求和軟體產品,基線就是要進行評審”的層次上。在配置管理活動中並未針對軟體基線進行過程管理和流程設計,對基線變更、基線釋出等重要的技術狀態控制活動沒有制定具體的執行步驟。特別是對於基線釋出,很容易造成軟體版本升級後相關方卻不能及時知曉,甚至會導致型號出現質量問題。

3.配置管理工作的優化思路

當前航天型號軟體配置管理工作,乃至軟體工程化所面臨的諸多問題,究其根本原因,還是未完全將型號軟體作為一個獨立的產品對待所致。軟體作為一種特殊的產品,通過幾十年的發展,已經形成了一套相對完善研發管理模式,各種軟體生命週期模型是指導型號軟體研製開發過程的`基本模式,除了標準的軟體工程化要求,目前在航天型號研製過程中正在推行的CMM標準體系,更是將軟體開發的過程加以細化和量化,具體到開發過程中的每一步驟。充分利用這些較為先進的軟體開發技術管理手段,以提升管理活動效率,提高軟體質量水平為目的,真正使軟體工程化管理活動發揮實效。

通過深入分析,在借鑑國內外軟體配置管理的一些先進經驗,結合型號軟體開發的特點,可以從幾方面對現有的軟體配置管理工作加以優化完善。

3.1軟體的文件與程式碼共同納入配置管理工作

軟體文件作為軟體產品的重要組成部分,也是軟體技術狀態的一種表徵形式。軟體文件與程式碼必須保持有效的一致性和可追溯性。自從航天型號開展軟體工程化以來,一直將軟體文件按照普通設計檔案進行管理,而航天型號產品的設計檔案和圖紙是以硬體產品為主要物件,檔案和圖紙的技術狀態變更是採用更改單或偏離單的形式完成。而軟體產品的技術狀態變更是通過版本升級,因此軟體文件為了保持一致性和可追溯性,也應該採用版本升級的方式進行變更管理。目前型號產品軟體的各種文件均採用硬體設計檔案審籤系統管理,其變更必須通過更改單的方式,會導致更改前的軟體文件狀態無法記錄儲存。而目前軟體程式碼的變更卻嚴格執行版本升級方式,在客觀上無法保證軟體文件與程式碼真正的一致性。

若要從根本解決這一問題,只有將軟體文件與程式碼統一進行配置管理。軟體文件的變更改用版本升級的方式完成,並與軟體程式碼的變更同步進行。軟體文件在縱向上的歷史狀態可追溯(通過文件版本升級),在橫向上與對應的軟體程式碼版本可追溯。在實際型號工作中,往往軟體版本升級十分頻繁,真正實現文件與程式碼的統一管理必須依靠資訊化手段,即軟體配置管理工具平臺。

3.2結合CMM體系建設,優化型號軟體配置管理過程

CMM體系(能力成熟度模型)是近年來國際上規範軟體設計開發過程,提高軟體產品質量的一種有效手段。它的核心思想是強調軟體開發前期要依託客觀資料進行詳細的策劃,在開發過程中要實時監督,對出現的問題要及時閉環處理,保證實際工作與策劃的基本一致性,並通過對開發過程的控制確保最終軟體產品質量。其中對於軟體配置管理,CMM體系是作為一個獨立的過程域制訂了詳細的規範,包括了大量的共用實踐和專用實踐。實事求是地講,目前航天型號軟體的開發受制於型號專案大環境的制約,軟體開發的進度無法獨立,因此目前還無法按照CMM體系的要求完全覆蓋。但對於軟體配置管理過程域的很多要求可以結合航天軟體特點實施改進。

在軟體配置管理過程中,CMM體系十分強調對於基線的控制,特別是基線的建立和變更,背後反映的深層次原因就是對軟體重要技術狀態的把控。對軟體的更改慎之又慎,這方面正是目前航天軟體所欠缺的。基線的變更,包括了文件的變更和程式碼的變更,任何的變更都需要經過相關方的討論並評審,同時還需要及時向各方釋出。另一方面,配置管理過程中產生的各種資料和資訊都需要及時收集彙總,便於後期統計處理。

3.3充分利用資訊化平臺,建立型號軟體配置管理系統

隨著型號軟體數量的不斷增加,配置管理工作的不斷細化深入,必須採用合適的資訊化平臺才能真正使軟體配置管理工作有效執行。目前有兩種思路開展資訊化平臺建設。一是使用商用成熟配置管理工具。目前各類商用配置管理工具種類繁多,如C/CQ等,這些商用配置管理工具的功能一般都非常強大,但往往與各單位的航天型號軟體管理實際情況有較大差異,必須進行二次開發或定製,不便於根據實際情況靈活調整,且二次開發費用不低。另一種是充分利用自身資源,以本單位本部門的實際需求為導向,自行開發配置管理工具。這樣做的好處是工具的各項功能是根據實際需要定製,使用較為方便,功能雖然少但足夠使用,且可以逐步完善。其最大的優勢在於可以根據配置管理活動的實際需求及時變更完善。目前航天各企業單位正在充分利用自身資訊中心的開發能力,結合航天軟體專案管理系統的開發,將軟體文件與程式碼在資訊化平臺上統一進行配置管理。目前正在試執行階段,初步感覺效果良好。

4.結束語

配置管理是軟體工程化的重要內容之一,也是保證型號軟體技術狀態受控管理的有效途徑。管理的目的在於提高效率,保證產品質量,因此必須結合航天企業單位的實際情況因地制宜地進行。抓住真正影響產品進度和質量的關鍵環節把控,才能使管理起到真正的作用。資訊化手段作為提高工作效率的有效方法目前已被普遍採用,但其畢竟只是具體實現的工具,真正的核心內容還應該全面地梳理管理流程的每一個細節,這樣才能真正通過配置管理工作提高軟體開發的效率和質量。