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