軍事和航空電子軟件系統的開發人員可以做些什么來利用軟件重用,同時確保軟件盡可能無錯誤和安全?
在所有行業中,軟件正變得越來越普遍。以波音噴氣式飛機為例。波音 787 飛機飛行控制系統的代碼數為 650 萬行,是 777 的三倍。鑒于這種增長趨勢,為每個新項目從頭開始重寫整個系統既不現實也不切實際。
代碼的重用已成為一種通用的軟件開發最佳實踐。它通過提高開發效率來加快上市時間,同時最大限度地降低與全新開發相關的成本。代碼重用的實踐還使開發組織能夠利用從現有代碼庫中吸取的經驗教訓。
但是,通過代碼重用,必須在風險和回報之間取得平衡。當舊軟件移植到新的操作系統或與新代碼結合使用時,以前潛在的錯誤可能會成為活動的關鍵缺陷或高風險的安全漏洞。在關鍵任務的軍事和航空電子系統中,軟件缺陷可能導致傷害、代價高昂的故障,甚至生命損失。
事實上,不當的遺留代碼重用是1996年阿麗亞娜5號(無人駕駛)航天器自毀的根本原因。該代碼在飛機以前的版本中安全運行,但執行上下文發生了變化,將阿麗亞娜4中的潛在錯誤轉變為導致其繼任者在發射后37秒爆炸的關鍵錯誤。
建筑分析的強大功能
在具有大型且極其復雜的代碼庫的行業中,例如軍事和航空電子設備,成功重用遺留代碼的一個關鍵要素是可視化和分析軟件系統架構的能力。領先的源代碼分析 (SCA) 工具為軟件系統架構師、開發經理和個人軟件開發人員提供了直接從現有源代碼進行軟件設計的圖形視圖。此圖形視圖提供了對應用程序結構和設計的全面了解,使團隊能夠評估接口、關系和邏輯流,以確定在何處以及如何重用現有代碼。清楚地了解系統的組件及其相互關系和依賴關系對于提高軟件的質量和安全性至關重要。此外,還需要能夠記錄系統架構,以便在航空電子空間內實現符合DO-178B標準。
重用舊代碼時,系統架構的全面視圖可以通過以下方式幫助開發團隊。
隔離可重復使用的組件
將舊版軟件應用程序中的組件重用于新應用程序時,有必要最大程度地減少這些組件對軟件系統其他部分的依賴。為此,設計人員必須確保組件僅包含與組件功能相關的實體。系統架構在各個級別的完整視圖使開發人員能夠隔離可重用的組件并重新組織它們,以實現最有效的代碼重用。
評估和提高軟件系統設計的質量
軟件系統的物理設計可能與其高級邏輯設計幾乎沒有相似之處。通過系統架構的詳細視圖,可以:
導航系統層次結構并探索其結構
查看組件對其他組件的依賴關系
查看系統中不同組件之間的關系
通過這種觀點,可以發現當前實現和設計意圖之間的不一致,包括不適當的關系和依賴關系,以及在軟件層次結構的不同級別中重復的錯誤。這種理解水平使開發團隊能夠評估物理軟件系統的質量,并在系統上實現所需的邏輯設計。
可移植到新平臺
回收代碼經常用于為最初開發本機代碼的平臺以外的平臺設計的系統中。確保內部或第三方代碼在新平臺上按設計執行具有挑戰性。但是,全面的系統體系結構視圖可以通過揭示應用程序對外部環境的依賴關系來提供幫助。通過準確理解代碼及其設計,開發團隊可以快速確定移植工作的范圍和所需的操作。
重用的架構
對于軍事和航空電子軟件開發團隊來說,全面了解和分析其軟件系統架構對于確保在重用舊軟件時獲得高質量、安全的結果至關重要。使用源代碼分析工具的體系結構功能,大大降低了與代碼重用相關的風險,通過更全面的設計規劃提高了生產率,并簡化了實現 DO-178B 合規性所需的工作。
審核編輯:郭婷
-
控制系統
+關注
關注
41文章
6633瀏覽量
110680 -
無人駕駛
+關注
關注
98文章
4074瀏覽量
120616
發布評論請先 登錄
相關推薦
評論