本文介紹下了解到的汽車控制器開發的工具鏈,本文側重于于系統和應用軟件開發兩個方面的工具。
1 需求管理
需求工具接觸到的有DOORS, Polarion, and PTC Integrity,都是面向大型工程項目的需求管理工具,雖然它們都有類似的功能,但是它們也有一些顯著的差異。
DOORS:DOORS是IBM開發的需求管理工具,特別強調需求的一致性和完整性。它支持多維數據結構,可以方便地組織和管理大量需求信息。
Polarion:Polarion是一款由Siemens開發的需求管理工具,特別強調需求的可視化和可操作性。它提供了一系列圖形和表格,方便用戶理解和訪問需求信息。
PTC Integrity:PTC Integrity是PTC公司開發的需求管理工具,特別強調需求的協作性。它支持多用戶協作,團隊成員可以共享信息,協作完成需求管理任務。
總的來說,選擇哪款需求管理工具取決于您的需求和項目的需求。目前個人偏向于用DOORS。DOORS (Dynamic Object-Oriented Requirements System)的特點包括:
需求跟蹤:DOORS可以跟蹤需求的生命周期,從需求收集到實現,并且可以確保需求的一致性和完整性。
多維數據結構:DOORS支持多維數據結構,可以方便地組織和管理大量需求信息。
可視化:DOORS提供了一系列圖形和表格,可以幫助用戶更好地理解和訪問需求信息。
協作:DOORS支持多用戶協作,團隊成員可以共享信息,協作完成需求管理任務。
審查和審批:DOORS支持需求審查和審批,可以確保需求的質量和合法性。
Source: Sudo Null - Latest IT News
2 架構設計
系統架構和軟件架構設計工具包括:
Enterprise Architect(EA):這是一個高級系統和軟件架構工具,可以幫助構建系統和軟件的架構模型,以及記錄和管理需求和元數據。
Microsoft Visio:這是一種圖形化工具,可以幫助構建系統架構圖和軟件架構圖。
以上工具都可以幫助設計人員在需求和限制的情況下,設計出可擴展、可維護的系統架構和軟件架構,兩者相較而言,EA更專業更強大,首選EA。
source:?Moving Visio Diagrams into Enterprise Architect
3 詳細設計
3.1 代碼編輯器
ECU(汽車電子控制單元)軟件開發中常用的代碼編輯工具包括:
Source Insight:?一款功能強大的代碼閱讀和編輯工具,主要用于源代碼的瀏覽、分析和編輯。
Text editors:如 Sublime Text、Notepad++等,這些工具是通用的文本編輯器,可以用于編寫和編輯代碼。
Eclipse:這是一個通用的IDE,支持多種編程語言,可以用于開發嵌入式系統。
Visual Studio:這是一個微軟公司提供的IDE,支持多種編程語言,并且有豐富的插件庫。
這些工具都可以幫助開發人員編寫高質量的代碼,并在編碼過程中提供自動完成、語法檢查等功能。在選擇代碼編輯工具時,需要考慮項目需求和團隊偏好,以選擇最合適的工具。
個人習慣用Source Insight,Source Insight主要用于源代碼的瀏覽、分析和編輯。它可以幫助開發人員更好地理解代碼,支持代碼標記、代碼注釋、代碼折疊等功能,方便開發人員閱讀代碼。Source Insight還支持語法高亮、代碼提示、代碼完成等功能,可以大大提高編碼效率。此外,Source Insight還具有調試、搜索和替換等功能,可以幫助開發人員快速找到問題并進行解決。總的來說,Source Insight是一款很好的代碼閱讀和編輯工具,特別適合用于大型項目的代碼開發。
3.2 模型開發
Simulink, TargetLink 和 ASCET 是三種常用的建模工具,它們各具特點,主要區別如下:
Simulink:Simulink 是一款基于圖形界面的模型開發工具,具有豐富的圖形建模和仿真功能,適用于各種系統仿真需求。
TargetLink:TargetLink 是一款專門為汽車控制器開發而設計的建模工具,可以幫助用戶快速生成高質量的 C 代碼,適用于嚴格的汽車控制器開發流程。
ASCET:ASCET 是一款專注于模型驅動開發的建模工具,可以幫助用戶進行系統建模和仿真,并生成高效的代碼。ASCET 也適用于汽車控制器的開發,但相比 TargetLink 更注重模型的仿真和代碼生成。
這三種工具中,ASCET好像主要博世使用,其他家一般都使用Simulink,TargetLink。TargetLink 通過在 Simulink 模型中生成代碼來支持高效的開發流程,這兩款工具結合使用可以提高開發效率并幫助提高代碼質量。
Source: TargetLink
4 測試
4.1 單元測試
單元測試包括靜態單元測試和動態單元測試。其中靜態單元測試,一般使用Polyspace,Tessy等工具。
Polyspace是一款強大的代碼靜態分析工具,用于檢測軟件代碼中的潛在錯誤和安全漏洞。它可以分析代碼并確定可能導致錯誤或漏洞的代碼段,并提供詳細的說明和建議以便開發人員可以解決問題。Polyspace支持許多編程語言,包括C,C++,Ada和MATLAB。它是一個高效的工具,可以在編寫代碼的同時對代碼進行實時分析,從而減少開發周期并提高代碼質量。
source: Polyspace
而動態單元測試則一般基于Simulink,TargetLink來實施。
4.2 集成和確認測試
對于集成和確認測試,這里主要介紹下Vector公司的三件套:CANalyzer、CANape 和 CANoe,均用于汽車通信網絡分析和測試的工具。
CANalyzer:用于分析和測試控制器區域網絡(CAN)通信系統的工具。它提供了數據監測、協議分析、錯誤注入和總線模擬等功能。
CANape:用于提供電子控制單元(ECU)高級測量和標定功能的工具。CANape 提供了一個環境,用于開發和測試控制算法,并實時標定 ECU 參數。
CANoe:用于在汽車行業中開發、測試和分析 ECU 和網絡的工具。它提供了一個全面的環境,用于測試通信協議,標定ECU參數和模擬復雜的網絡交互。
這三種工具可以一起使用,為汽車通信網絡和 ECU 的開發和測試提供一個集成的解決方案。
5 版本管理
常見的軟件項目管理和版本管理工具有:
Jira:一種廣泛使用的軟件開發團隊的項目和問題跟蹤工具。
GitHub:一個基于網頁的版本控制和協作平臺,被廣泛應用于軟件開發團隊。
Bitbucket:一個基于網頁的版本控制和協作平臺,專門為專業軟件開發團隊設計。
SVN:一個廣泛使用的軟件開發項目版本控制系統。
PTC Integrity:一款綜合性的軟件項目管理和版本管理工具,
Git:一款開源的版本控制系統,主要用于軟件項目的版本管理。
此處,以PTC Integrity進行說明,PTC Integrity可支持大型軟件項目的開發、測試和交付。它提供了一系列的項目管理功能,如需求管理、項目計劃、缺陷跟蹤等。PTC Integrity 同時也提供了強大的版本管理功能,可以管理代碼和文檔的變更,以及控制軟件的發布。PTC Integrity 可以讓團隊中的多個開發人員在同一個項目上并行工作,通過版本管理功能確保代碼的完整性和一致性。也具有強大的分支管理功能,可以讓開發人員在不同的分支上開發,并方便地合并到主分支。
當然具體選擇哪個工具取決于軟件開發項目和團隊的具體需求和要求,如團隊規模、開發流程和項目復雜度等。
編輯:黃飛
評論
查看更多