新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 創(chuàng)建最高質量的嵌入式軟件

創(chuàng)建最高質量的嵌入式軟件

作者: 時間:2021-01-28 來源: 收藏

軟件工程:A-SPICE 和軟件質量挑戰(zhàn)

本文引用地址:http://butianyuan.cn/article/202101/422494.htm

行業(yè)正朝著互聯(lián)、日益自動化、高度定制化、電動和聯(lián)網的市場趨勢發(fā)展,新一代車輛給大眾的印象是 “有輪子的平板電腦”,而非傳統(tǒng)。在使用壽命期間,這些車輛需要能夠通過購買和安裝應用來進行擴展,并為乘客提供基于網絡的增值服務。 此外,汽車制造商的上市時間壓力不斷加大,產品復雜性經常導致缺陷直到后期才被發(fā)現,從而造成修復成本增加和公司利潤降低。

過去,汽車軟件一直負責運行從屬性的低級嵌入式控制和娛樂功能。如今,軟件能夠感知環(huán)境并進行分類,在先進駕駛輔助功能中協(xié)調駕駛過程,向其制造商提供遙測數據,接收無線更新,并獲得對路線規(guī)劃、發(fā)動機、傳動裝置、制動器和轉向系統(tǒng)的高級權限。換言之,軟件在駕駛過程中承擔的責任越來越多。信息娛樂軟件和車輛運行軟件之間在傳統(tǒng)上涇渭分明的界限變得模糊。

因此,一系列全新功能使得車載軟件的數量增加了幾個數量級。在很大程度上,此類軟件對于安全至關重要。車輛連接到互聯(lián)網會使其面臨安全威脅,損害車輛的完整性以及乘客的隱私和安全。受重量、功耗、熱傳遞、車廂空間等方面的限制,已經無法繼續(xù)通過添加更多電子控制單元 (ECU) 來增加功能。因此,行業(yè)趨勢是在大型多核心 ECU 上整合軟件功能;動態(tài)更新和擴展要求擺脫由汽車開放系統(tǒng)架構 () 合作伙伴關系指定的靜態(tài) ECU 映像,轉而打造由 自適應平臺指定的更類似于通用 IT 系統(tǒng)的動態(tài)架構1。

其結果是,軟件質量比以往任何時候都更加重要,但由于代碼復雜性的爆炸性增長,保證軟件質量也更具挑戰(zhàn)性。什么是軟件質量?國際標準 ISO/IEC 25010 對軟件質量進行了清晰地界定,該標準將其分為可維護性、可靠性、安全性、可用性、性能效率、可移植性、功能適用性和兼容性。

功能異常的軟件會對最終客戶的體驗產生重大影響。鑒于這種影響,在產品開發(fā)過程中應當優(yōu)先考慮軟件的質量和安全性。

1.png

圖:Siemens 的 Capital Software Designer 和 Software Improvement Group 的 Sigrid平臺相結合涵蓋了 ISO 25010 所規(guī)定的整個軟件質量范圍。

從代碼審查到漫長的質量控制周期,再到定性質量觀念,這種確保軟件質量的傳統(tǒng)方法不能適應現代的敏捷開發(fā)方法,無法提供所需的質量。在軟件需求分析和設計階段必須及早定義各種軟件所需的質量級別,以連續(xù)地測量和監(jiān)控實際實現的軟件質量,并將出現的問題立即反饋給設計環(huán)節(jié)。這種方法受益于以下方面:

? 與豐富的嵌入式軟件架構規(guī)范和分析緊密集成

? 及早定義和規(guī)范軟件組件所需的質量級別

? 持續(xù)的定量軟件質量評估和指標監(jiān)控

? 反饋軟件質量問題以幫助架構重構

Siemens 的 Capit al Software Designer 與 Soft ware Improvement Group 的 Sigrid? for Capital Software Designer 相結合可涵蓋整個軟件質量范圍。Capital Software Designer 的主要功能在于通過捕獲和分析軟件組件、其接口、可運行的功能、預期時序屬性、軟件組件內部行為和可變性,建立一步到位的軟件架構和軟件組件規(guī)范。Capital Software Designer 還能通過測試用例設計和執(zhí)行軟件單元測試、基于虛擬仿真的集成測試以及已實現軟件的形式驗證,在實現前階段以及實現后階段解決功能正確性問題。

Sigrid for Capital Software Designer 集成持續(xù)檢查已實現軟件組件代碼中是否存在相關的可維護性問題,并提出改進軟件質量的措施。

憑借 Capital Software Designer 和 Sigrid 之間的集成,用戶可輕松獲得集成的質量視圖,并將 Sigrid 的見解轉化為對架構的增強。

從流程的角度來看,汽車軟件過程改進和能力測定 (A-SPICE)過程模型包括一個軟件工程流程組,由該組指定軟件開發(fā)的 V 周期。必須將軟件質量管理劃分到所有過程步驟中,以確保管理有效而且高效。通過與 Polarion ALM? 軟件集成,Capital Software Designer 可以在從軟件需求捕獲到功能軟件驗證的所有流程步驟中保證軟件質量。Software Improvement Group 通過在實現后測量軟件質量并為嵌入式軟件架構設計提供反饋來對流程進行補充。

2.png

通過豐富的規(guī)范和分析確保架構正確

使用 Capital Software Designer 進行架構規(guī)范和分析

Capital Software Designer 從 或系統(tǒng)建模語言(SysML) 格式的上游工程輸入開始為嵌入式軟件設計流程提供支持,并讓您能夠捕獲遺留代碼和架構資產。

數據流程圖是嵌入式應用程序軟件架構的核心。它們捕獲精確的接口規(guī)范,并將物理單元系統(tǒng)添加到數據類型系統(tǒng)。數據字典有助于確保整個項目中數據范圍和參數的一致性。軟件產品線反映了嵌入式軟件級別的產品可變性。時序要求捕獲有關執(zhí)行的時序規(guī)范,而測試用例則捕獲屬于嵌入式軟件規(guī)范范疇的驗收條件。以前置條件和后置條件形式表示的行為契約定義了軟件組件行為的可接受邊界。

所有這些模型方面都成為嵌入式軟件規(guī)范的一部分,需要在編寫第一行代碼之前進行分析,以確保一致性。

該規(guī)范由 Capital Software Designer 生成的代碼外殼模板完成,該模板也稱為代碼框架。然后封裝軟件組件規(guī)格并準備好將其發(fā)送給供應商,無論他們是內部的開發(fā)部門還是外部的承包商公司。

實現后代碼資產檢查

Capital Software Designer 支持三種在實現后驗證嵌入式軟件的范式,其關注重點是正確集成和功能正確性:

接口集成確保不同的軟件組件確實彼此匹配,并重點驗證軟件接口。

2.png

單元測試使用表格方便地對單個控制單元內的軟件組件以及軟件組件組進行測試。每個單元測試用例均包含激勵和預期結果,占表格的一行。軟件單元測試的批次可以通過測試套件進行分組并分批執(zhí)行。

仿真將嵌入式軟件置于其物理環(huán)境的虛擬版本中,在該環(huán)境中,Capital Software Designer 與 Simcenter?Amesim? 軟件和 MathWorks 的 Simulink? 集成作為仿真引擎。Capital Software Designer 擁有來自模型在環(huán)(MiL) 和軟件在環(huán) (SiL) 范式的測試裝置,可設置仿真、執(zhí)行仿真以及收集和顯示測試結果。XiL 裝置由激勵模型、被測系統(tǒng)、工廠模型和代表通過/失敗標準的監(jiān)視器組成。

形式驗證可幫助您規(guī)避有限測試范圍的局限性。您可以將一流的 C 語言模型檢查方法應用于源代碼,以便檢測契約違規(guī)之類的功能錯誤以及數組索引錯誤之類的常規(guī)軟件缺陷。此外,形式化方法使您能夠生成巧妙的測試用例,以保證分支、位置、條件和修正條件/判定條件覆蓋率 (MC/DC)。

如引言中所述,軟件質量包含許多方面:可維護性及相關方面、可靠性、安全性、可用性、性能效率和可移植性。

集成軟件質量規(guī)范和分析

正確定義軟件質量和遵守此質量標準是成功開發(fā)軟件項目的關鍵。Software Improvement Group 的軟件保證平臺 Sigrid 旨在根據國際 ISO/IEC 25010 軟件質量標準提供一流的軟件質量分析。Sigrid 可根據標準分析源代碼,并將其與 Software Improvement Group 的軟件質量基準進行比較。因此能夠立即了解軟件的相對質量。Sigrid隨后會提供有關改進源代碼以達到預期質量的指南。

通過集成 Sigrid for Capital Software Developer,Software Improvement Group 可以利用 Sigrid 的固有功能將軟件質量分析引入嵌入式軟件的開發(fā)中。利用該集成,架構師和測試人員可以深入了解開發(fā)的質量并跟蹤質量改進,直到達到期望的水平。

此模型中的分數是基于與廣泛 SIG 軟件分析數據庫中其他系統(tǒng)的比較得出的,該數據庫包含 20 年來收集的軟件質量測量結果。SIG 的質量測量結果不僅可以對系統(tǒng)的軟件質量進行評分,還可以告訴您該軟件與市場上其他系統(tǒng)相比的表現情況,這是一種競爭優(yōu)勢。IT 行業(yè)在不斷地發(fā)展和提升,這正是 SIG 每年都要對模型進行重新校準的原因。質量閾值會根據實際行業(yè)平均值來定義,因此具有更高的相關性,也更客觀。

3.png

專注于產品功能和產品質量

客戶和供應商經常從純粹的功能角度評估嵌入式軟件。這意味著他們關注的是該軟件能否按照預期工作。但是,這種方法僅涵蓋成功項目的諸多方面之一。軟件的設計和構建方式同樣重要。相比之下,硬件組件在投入使用之前會經過檢查和認證。嵌入式軟件為何要被差別對待?通過衡量嵌入式軟件的技術質量,您可以及早識別風險并設法緩解。這些風險包括但不限于安全漏洞、項目延期以及長期維護問題。

測量軟件質量始于 ISO/IEC 25010 標準及其實現。此軟件質量國際標準也適用于嵌入式軟件。該標準定義了軟件質量中影響軟件長期可維護性的核心方面。使用國際標準的優(yōu)點是可根據明確定義的標準化框架評估任何編程語言。該標準還能確保以客觀且可重復的方式分析技術代碼質量。因此,ISO/IEC 25010 標準遠遠超出了其他標準,后者要么關注文檔和流程而非技術質量,要么不會評估架構性的質量指標。

在通過 Sigrid for Capital Software Designer 使用 ISO/IEC25010 標準來衡量軟件代碼質量之后,需要提高所分析系統(tǒng)的質量。系統(tǒng)提供了快速的迭代過程,讓您能夠從一開始就構建高質量的軟件。它僅就真正需要關注的領域提供有關在哪里改進代碼的非常具體的建議。這意味著無需查看一長串的非優(yōu)先違規(guī)事件。

Sigrid for Capital Software Designer 的集成將通過以下

方式幫助開發(fā)人員和架構師實現高質量的代碼:

降低代碼復雜性

如果能減少代碼的復雜性,您的代碼將更易于分析、修改和測試。您可以通過保持基本單元(函數)盡量簡短,并限制每個函數包含的邏輯量來降低其復雜性。

避免代碼重復

復制粘貼代碼的效率低下且容易出錯,并且經常導致需要進行后期調整。此外,復制還會增加源代碼的總量,這對系統(tǒng)的可維護性產生了進一步的負面影響。通過編寫可重復使用的通用代碼可以避免重復。

指導

Siemens 和 Software Improvement Group 提供業(yè)內最佳的軟件和指南,幫助控制和改善 Capital Software Designer 所開發(fā)軟件的架構質量、可維護性和安全性。

在 SIG 的《構建可維護的軟件》一書中,Software Improvement Group 的顧問討論了開發(fā)人員可直接應用的有關提高軟件質量的 10 條規(guī)則。在《組建軟件團隊》中,SIG 顧問為高效團隊的創(chuàng)建提供了指導:

“有關正確制定開發(fā)流程的十條最佳實踐,以便開發(fā)出始終如一的高質量軟件。我們的最佳實踐不只是為開發(fā)團隊指明正確的方向。這些最佳實踐還附帶一系列指標,可幫助團隊一致地執(zhí)行和監(jiān)視?!?/p>

…………未完待續(xù)…………

更多詳細信息請點擊>>



關鍵詞: 汽車 AUTOSAR

評論


相關推薦

技術專區(qū)

關閉