汽車ASPICE流程詳解(一):為什麼汽車軟件開發項目都長一樣
MAKE MORE ✨
— 前 言 —
從事汽車電子開發的你,是否有過這樣的心路曆程:
剛畢業時進入公司,懵懵懂懂地按照公司的培訓,了解自己工作内容,以及與其他崗位的交互,還要熟悉V模型開發流程。
工作幾年後,睜開眼睛看到了外部的世界。跟從事IT行業的同學們聊聊,跟轉行做醫療器械的同學們扯扯,你是不是也曾想過:為什麼汽車電子的開發會是這樣一種形态呢?都涉及到系統和軟件的開發,但是組織形式和開發形式卻又如此的不一樣?是什麼東西在指導并搭建了這樣一種特定的開發組織形式呢(即開發流程)?
讓我們把這幾個問題再深入具體化:
牛喀I商城軟件開發及測試流程落地培訓
小程序
上述一切的答案就在于 - and ( SPICE,軟件流程改進和能力測定的汽車行業定制化版本)。
SPICE于2005年由發布,是SPICE(ISO\國際标準)在汽車行業的衍生标準,其關注汽車行業的軟件過程改進和能力測定。興起于歐洲,廣泛用于主機廠以及供應商企業自身的的過程能力改進,以及對供應商的風險評估。從更務實的角度,主機廠基于供應商的等級評定其是否具有供應商資質。
— A-SPICE 3.0總覽 —
— 具體工程開發流程步驟(ENG) —
現在你知道汽車電子零部件供應商裡的系統工程師角色來源了嗎?
由上圖可知,SYS.1/SYS.2/SYS.3/SYS.4/SYS.5的流程定義,需要一個角色來負責對應着五個環節的任務。分别是:需求獲取、系統需求分析、系統架構設計、系統集成和集成測試、系統确認測試。
接下來,我們講按照開發步驟來講講工程開發的細節。
當然,除了流程,如果你想更深入了解關于軟件工程開發及測試流程的落地實踐,可以關注牛喀學城于6月15日~16日舉辦的培訓課程,詳情請點擊以下海報:
Step 1:需求獲取從客戶獲取客戶需求,并确認需求被正确理解
Step 2:系統需求分析将已定義的客戶需求轉換為一組系統需求,用以指導系統設計;
過程成果:
輸出物包括以下八種:
Step 3:系統架構設計建立系統架構,确定哪些需求分配給哪些系統元素,并根據定義的标準評估所設計的系統架構。具體内容如下:
可能産生的過程成果:
Step 4:軟件需求分析将系統需求的相關部分轉換為一組軟件需求
輸出物包括:
Step 4:軟件架構設計建立一個架構設計和确定哪些軟件需求分配給軟件的哪些元素,并根據定義的标準評估軟件架構設計。
過程成果
具體步驟
軟件架構設計:指定軟件要素和相關方面的功能和非功能軟件需求;軟件在适當的層級分解為元素,并在詳細設計中描述組件(所謂組件,指軟件架構設計的最底層的元素);
分配軟件需求:分配所有軟件需求到軟件架構設計元素;
定義軟件元素接口:識别、開發和文檔化軟件元素之間的接口;
描述動态行為:參照系統動态行為,評估和文檔化軟件元素間的時序和動态交互行為。(動态行為是由操作模式确定的,如啟動、關閉、正常模式、校準、診斷等等;進程和進程内部通信、任務、線程、時間片、中斷等。另外,在評估動态行為時,目标平台和潛在載荷應被考慮);
定義資源消耗目标:在軟件架構設計的适當層級,為相關元素定義并記錄所有軟件組件的資源消耗目标。(資源消耗通常被明确為資源,諸如内存ROM、RAM、外部/内部或Flash數據,CPU負載等);
評估可替代的軟件架構;
雙向可追溯性(需求與架構之間);
确保一緻性;
溝通已确定的軟件架構設計。
輸出物
1.軟件架構設計:
2.接口需求規格說明書:
3.跟蹤記錄;
4.審查需求:
5.溝通記錄。
Step 5:軟件詳細設計和單元實現步驟幾乎和以上步驟完全一緻...
Step 6:軟件單元驗證軟件單元測試過程的目的是驗證軟件單元,證明軟件單元符合軟件詳細設計和非功能性軟件需求。
過程成果
輸出物
Step 7:軟件集成和集成測試将軟件單元集成到更大的軟件項目中,直到形成與軟件架構設計一緻的完整集成軟件,并确保軟件項目是經過測試的,可以證明包括軟件單元之間和軟件項目之間的接口在内的集成軟件項目符合軟件架構設計。
具體步驟
開發軟件集成策略;
開發包括回歸測試策略在内的軟件集成測試策略;
制定軟件集成測試規範。軟件集成測試用例可能關注:軟件項目間的正确數據流、軟件項目間的數據流的及時性和時間依賴性、使用界面對所有軟件項目數據的正确解釋、軟件項目間的動态交互、符合接口的資源消耗目标;
集成軟件單元和軟件項;
選擇測試用例,要有足夠的覆蓋度;
執行軟件集成測試;
老三樣(雙向可追溯、确保一緻性、總結和交流經驗)。
輸出物
Step 8:軟件确認測試确保集成的軟件已經過了測試并滿足軟件需求。與上一步幾乎相同。
Step 9:系統集成和集成測試集成系統項以生成集成系統,符合系統架構設計并确保系統項被測試,用以證明集成的系統項與系統架構設計的一緻性,包括系統項之間的接口。
具體步驟
開發包含回歸測試策略的系統集成測試策略;
開發系統集成測試規格說明書,包含根據系統集成測試策略的每一個系統項集成階段的測試用例。
有四個需要注意的點:
a. 接口描述系統元素和系統集成測試用例的輸入關系;
b. 符合架構設計:指定的集成測試能夠适時證明,系統項間的接口滿足系統架構設計提供的規範;
c. 系統集成測試用例應關注:系統項間正确的信号流、系統項間信号流的及時性和時序、使用一個接口信号的所有系統項的正确解釋、系統之間的動态交互關系;
d. 系統集成測試可能支持使用仿真環境(硬件在環仿真、車輛網絡仿真、數字樣機)。
集成系統項:按系統集成策略,整合系統項,形成集成系統。系統集成可以逐步執行集成系統項(例如,作為原型硬件的硬件元素、外圍設備、傳感器、執行器、結構和已集成的軟件),生産出與系統架構設計保持一緻的集成的系統;
選擇測試用例:從系統集成測試規範說明書中選擇測試用例。有足夠覆蓋率;
執行系統集成測試;
老三樣(雙向可追溯、确保一緻性、總結和交流經驗)。
Step 10:系統确認測試确保集成的系統已經測試,為符合系統需求和系統準備交付提供依據。與上述步驟大同小異,略。
由于篇幅原因,本篇到此結束,下一篇我們将為大家講解具體支持流程步驟(SUP)。
我來說兩句