作者 | 蔡喁上海控安可信軟件創新研究院副院長
版塊 |鑒源論壇 · 觀擎
社群 |添加微信號“TICPShanghai”加入“上海控安51fusa安全社區”
01
配置管理的意義
配置管理(Configuration Management)在航空領域經常又稱為構型管理,是現代復雜產品研制的核心技術。與很多傳統觀念中配置管理是對文檔和版本的簡單管理不同,現代復雜產品由于其內部組成部分較多、研制分工普遍以及設計中的版本狀態以及配合關系頻繁變換的原因,往往對配置/構型管控要求極高。
設計過程中的配置/構型管理往往需要解決三個方面的主要問題:
· 設計對象之間的關系
軟件設計過程中的對象往往由多個程序文件、需求文檔、架構文檔、可執行目標碼文件乃至測試用例和測試程序等組成。這些組成部分那些分離那些作為整體進行版本和更改控制,特別是在產品研制過程中、投入使用以后還需要能保證上述對象之間的關系正確管理首先需要對產品的內部設計對象的架構進行有效的設計。這種設計就是配置和構型管理的早期核心工作。
配置/構型管理架構設計的好壞,會影響到產品研制過程中的分工和過程控制。特別是航空類產品經常硬件成本高昂,配置/構型框架設計也會對產品后續持續升級和改進帶來明顯的影響。隨著設計成熟度的提高,越來越多的機載系統和設備企業采用產品線方法對運用到不同型號中類似的產品進行配置/構型管理,在不同的設計對象中區分不同產品需要的功能和組成部分,從而組合成不同的產品而整個研制團隊框架不用進行大的調整,這將是對配置/構型管理的終極挑戰。
值得注意的是,配置/構型管理除了對產品設計數據進行管控以外,還需要對用于研制、測試乃至加載相關產品所需的外圍工具和環境的構型進行管控。民用飛機領域強調生命周期數據管理與產品同壽,也是其中的原因之一。這就要求在所生產的飛機或機載系統全部退出使用以前,必須始終保持研制環境的可用,從而能夠隨時對產品中發現的問題進行分析和落實更改。
· 基線和更改控制
復雜產品設計中,由于涉及到大規模的團隊協作,一般來說即使是按照雙V模型或者瀑布模型也無法確保所有的需求和設計一次到位。因此根據不同研制階段和不同成熟度的產品開展基線控制也就顯得尤為重要。在成熟的基線管理工作中,所有并行開展的研發活動都以基線為出發點和中間落腳點,避免了不同設計對象的更改頻繁造成其他設計對象的更改聯動,也為團隊整體控制研制節奏帶來了便利。
復雜產品配置/構型管理中,更改的評估、落實以及回歸等工作是配置/構型管理的核心之一。通常,更改控制流程中包含問題報告、更改評估、更改執行以及更改驗證等多個不同的作業環節(ECR/ECN等)。考慮到產品設計的復雜性以及專業分工和協作,在民用飛機更改控制中,更改的評估和執行等環節,往往還會涉及到不同父更改和子更改的劃分,通過不同專業的更改任務最終落實對某一問題的整體修正。
在軟件等復雜產品設計中,更改往往是引入錯誤的原因之一。頻繁無序的更改必將造成軟件產品中錯誤百出。在面向商業化市場的產品研制中,更改往往由某一問題引發,并且需要對更改的方案結合更改的潛在影響開展深入的分析。這種分析一般必須依賴研制體系中需求-設計-代碼-測試完整的追溯鏈開展,確保不會遺留所需評估的對象,保證更改不會造成非預期的影響。同時,通常配置/構型控制委員會(CCB)會對更改請求進行評估。考慮到時間、成本以及潛在的安全風險,并不是每一個更改請求都將會得到批準或者被要求立即實施。
· 配置/構型紀實
最后,產品研制以及使用和后續改進的任何階段,研制團隊需要能隨時掌握和分析設計對象的狀態和關系,這就帶來的配置/構型紀實的要求。要求能夠對任何階段、任何組成范圍的產品設計數據進行提取和分析,還要能對數據的更改歷史進行嚴密的追蹤。
圖 1 配置/構型管理的三個維度
02
民機機載軟件過程標準中
配置管理的要求
機載軟件研制過程標準RTCA DO-178C第7章,詳細描述了機載軟件研制過程中配置/構型管理的活動、目標和相應生命周期數據。
該過程由軟件構型管理計劃定義,與其它軟件生命周期過程協同執行,其主要功能包括:
·用于在軟件生命周期中提供確定的、可控的軟件構型;
·提供可執行目標代碼的復制能力,當需要檢查和修改時可快速復制;
·在軟件生命周期中提供過程輸入/輸出控制能力,保證過程活動的一致性和可重復性;
·通過控制構型項、建立構型基礎,提供用于走查、狀態判斷、修改控制的節點;
·提供控制,保證所有問題都被處理,所有修改都被記錄、提交和實現;
·通過控制軟件生命過程的輸出提供軟件的證明;
·輔助判斷軟件產品與需求是否兼容;
·保證構型項維護了加密、恢復和控制數據等;
其中,針對機載軟件的構型管理活動,標準中明確定義軟件構型管理活動包括:
·構型標識(7.2.1);
·基線和追蹤(7.2.2);
·問題報告跟蹤和糾正(7.2.3)
·更改控制(7.2.4)
·更改評審(7.2.5)
·更改狀態紀實(7.2.6)
·歸檔、檢索和發布(7.2.7)
同時,秉承民機機載軟件標準中,根據影響和風險來確定管控級別的思路,對更改控制分為了CC1和CC2兩個級別。其中不同CC級別對構型管理活動的要求不同。CC1類管控要求實施上述所有構型管控活動,相比之下CC2類管控主要對數據的版本和基本更改進行管控。根據軟件級別和具體的生命周期數據,DO-178C標準對其逐個進行了構型管控級別的要求定義。
圖 2 DO-178C構型管控級別定義
圖 3 DO-178C目標矩陣中對不同級別軟件中不同生命周期數據的構型管控級別要求
03
支持其他研制環節的配置管理
軟件配置/構型管理本身涉及到不同類型的數據特殊的管理方式。比如配置數據(在DO-178C中也稱為參數化數據項PDI),其研制過程以及與系統其他部分軟件的集成方式與應用軟件差別交大,因此往往需要專門涉及配置/構型管理活動和要求。
實際上,軟件的配置/構型管理只是飛機產品以及機載系統產品配置/構型中的一個組成部分。民機機載軟件在飛機以及系統驗證活動,生產制造活動中需要與不同的產品配置/構型管理進行銜接,因此會產生不同環節中配置管理的不同問題。
筆者始終認為,除去機載軟件開發技術以外,考慮到項目的復雜性以及研制周期和成本的嚴苛要求。過程管控與配置/構型管控,是在民用飛機機載軟件中的核心難點,也是今后一段時間國內機載系統和軟件研制單位需要掌握和攻關的關鍵技術。
審核編輯 黃宇
-
軟件
+關注
關注
69文章
4774瀏覽量
87162 -
飛機
+關注
關注
7文章
1166瀏覽量
39572 -
配置管理
+關注
關注
0文章
6瀏覽量
6254
發布評論請先 登錄
相關推薦
評論