汽車電子軟體開發論文

才智咖 人氣:1.8W

汽車電子軟體的開發不同於一般的軟體開發,除了需要符合軟體開發標準流程外,還需要滿足功能安全相關標準。目前軟體開發行業普遍採用CMMI過程能力成熟度模型,而功能安全ISO26262標準則已成為汽車業界非常重要的開發標準。本文從選題的背景和意義出發,介紹瞭如何在汽車電子軟體開發的V模型中高效地部署CMMI和ISO26262雙重規範和標準,從而開發出高質量的汽車電子軟體。

汽車電子軟體開發論文

隨著汽車工業智慧化程度、綠色環保、網際網路概念的深入,汽車對整車電子系統的開發需求與依賴程度日益提升,電子控制單元(electronics control unit,ECU)軟體的開發也越來越複雜。為確保產品的開發質量,開發過程必須遵循嚴格的流程,且軟體產品也必須滿足越來越嚴格的標準。作為軟體開發過程改進的運用模型,CMMI已經在國內推廣近十年的時間,積累了來自1000多個軟體公司的幾萬條最佳實踐,成為目前汽車電子軟體開發的首選流程改進模型。在產品的安全標準方面,從工業功能安全標準IEC61508轉化而來的ISO26262功能安全標準,已經成為目前非常前沿的汽車安全相關標準,它基於汽車電子行業公認的V模型,強調通過各開發階段的測試及驗證來保證安全相關的電子產品的功能性失效不會造成危險的發生。本文以CMMI與ISO26262在某整車廠的汽車電子軟體開發中的有效部署和應用為例,展開相關性探討。

1 CMMI3在汽車電子軟體開發中的應用

CMMI是1997年由卡耐基梅隆大學軟體工程研究所(SEI)正式釋出的針對企業整合產品開發過程成熟度等級評定的模型,是世界範圍內用於衡量軟體過程能力的標準。CMMI將能力成熟度分為5個等級,由於CMMI2級對軟體工程活動的指導不足,多數軟體公司將最初的改進目標設定為有實際應用價值的CMMI3級。因為它已經完全覆蓋了高質量軟體開發必備的指導要素:

(1)定義了需求開發(RD,Requirements Development)過程指導需求開發活動。

(2)定義了技術解決方案(TS,Technical Solution)過程指導設計、編碼活動。

(3)定義了驗證(VER,Verification)過程指導評審及測試活動。

(4)定義了確認(VAL,Validation)過程指導軟體產品在使用環境下的驗證活動。

(5)定義了整合(PI,Product Integration)過程指導軟硬體產品的整合活動。

(6)定義了決策分析與解決方案(DAR,Decision Analysis and Resolution)過程,指導組織如何在設計方案、採購方案等方面做出有效決策。

(7)定義了專門的改進組織(EPG,Engineer Process Group),更有針對性地開展過程改進工作。

CMMI3從專案管理、工程過程、支援過程及過程管理四個改進維度,分別定義了相應的流程規範。其中,工程過程映射了汽車電子軟體開發V字模型的全部過程,其他三個改進領域則支援工程過程的執行。圖1展示了基於V模型的CMMI3級規範在汽車電子軟體開發中的部署。

2 ISO26262介紹

隨著汽車電子系統複雜性的提高,從車身電子的雨刮、電源、外燈系統,到主動安全系統的車道保持預警、自動泊車、自適應巡航,普遍包含了大量的電子器件及控制軟體的開發,來自系統失效和隨機硬體失效的風險與日俱增,因此汽車功能安全開發標準研究成為業界非常關注的課題。2011年11月正式釋出的道路車輛功能安全標準ISO 26262,無疑成為當前汽車業最重要的一份標準,其主要應用於不超過3.5噸的量產乘用車的電子電器系統的功能安全開發。該標準的構成如圖 2所示,圖中的一個大V和兩個小V所含的em level、ware level、ware level標準定義以及下方的orting processes為本文討論的部署範圍。

3 在CMMI3基礎上部署ISO26262標準

ISO26262標準中未對專案管理及過程管理作相應的要求,因此在部署時,這兩個維度的活動可沿用原有組織內CMMI3級的規範,而支援過程的'活動二者是高度重合的,因此工程過程才是部署的重點。

3.1 工程過程的部署

在一個已實施CMMI3級的汽車電子軟體開發組織內部署ISO26262相關標準,首先需對CMMI3級過程與ISO26262標準在工程技術方面的要求做詳細的差異分析,再根據差異分析結果實施求同存異的部署。

3.1.1 兩者的差異分析

ISO 26262工程技術活動詳細拆解為系統級、硬體級以及軟體級活動。與CMMI3定義的工程過程維度的活動進行對比分析,梳理出的具體差異如表1所示。灰色部分表示ISO26262與CMMI3級流程要求一致;對於在CMMI3級流程體系中無法實現的工程技術要求,則作為ISO26262特有的過程定義補充在CMMI標準中,並通過制定相應過程的裁剪指南來滿足功能安全開發的特殊要求。

3.1.2 具體部署

在CMMI的工程過程部署的基礎上,將需要部署的ISO26262相關部分整合,整合後如圖3所示。

3.1.3 部署舉例

以軟體級產品開發生命週期中的軟體架構設計、軟體單元設計及實現的驗證活動為例,討論如何將ISO26262標準的驗證要求與CMMI3級要求的驗證過程要求統一部署。

在CMMI的驗證過程定義中,評審方式的定義比較簡單,如自查、走查、正式評審等。基於該評審策略,將功能安全開發要求的驗證方式整合到評審方式章節,原有非功能安全開發的評審方式不變,在此基礎上,增加了對功能安全開發的相關驗證活動裁剪指南,如表2所示。

通過上述驗證規範的部署舉例,將ISO26262工程過程部署在現有CMMI3級組織內的主要步驟總結如下:

(1)EPG必須詳細理解ISO26262標準所提出的工程開發的技術要求,分析與現有流程的差異性;

(2)EPG將ISO26262標準的各項要求追加或合併到已定義的CMMI流程中,並制定詳細的裁剪指南,以滿足功能安全開發及非功能安全開發的不同要求。

(3)工程師根據裁剪指南及開發要求,選擇合適的開發流程及標準。

4 結束語

隨著現代汽車工業的迅猛發展,汽車電子已經成為汽車的核心競爭力。這不僅要求汽車電子產品質量高,而且必須符合嚴格的功能安全標準。本文以某整車廠的汽車電子軟體開發為例,介紹了在基於V模型的汽車電子軟體開發中如何高效地部署CMMI3級規範,並在此基礎上,重點介紹瞭如何將ISO26262標準的工程技術要求與CMMI3的工程過程域相結合並統一部署,從而指導開發高質量、高安全等級的汽車電子產品。