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