單元 1 · 概論:為什麼汽車需要 ISO 26262 與 ASPICE

V-model、風險×流程雙主軸、兩套規範的關係

1.1 為什麼汽車軟體特別要求「照規範做」

手機 App 出 bug 會閃退,車上的 bug 可能造成人身傷害。汽車電子(引擎控制、煞車、轉向、ADAS)一旦失效,後果不是「重新開機」而是「事故」。這讓車用軟體有了兩層要求:

層次回答的問題對應規範
功能安全系統失效時是否安全?風險多高、要做到多安全?ISO 26262
過程能力團隊是否「有能力」把軟體做好?每個階段有沒有做對?ASPICE
核心觀念:ISO 26262 管「做出來的東西安不安全」,ASPICE 管「團隊有沒有能力把它做好」。前者是產品面,後者是過程面。

1.2 V-model:兩套規範的共同骨架

需求系統設計架構單元實作單元測試整合測試系統驗證

V-model 的左邊是逐步向下分解(需求 → 設計 → 實作),右邊是逐層向上驗證(單元測試 → 整合 → 系統驗證)。每一層都有對應的規格與驗證活動:

V 的位置ISO 26262ASPICE
概念/需求Part 3(概念)、Part 4(系統需求)SYS.1–SYS.2、SWE.1
設計Part 4/5/6(系統/硬體/軟體設計)SYS.3、SWE.2–SWE.3
實作Part 6(軟體實作)SWE.3
驗證Part 4/6(整合與驗證)SWE.4–SWE.6、SYS.4–SYS.5
管理Part 2/8(安全與支持流程)SUP、MAN

1.3 兩套規範的分工與互補

職業守則:「我們寫的程式很安全」不算數——要有 HARA、有安全需求、有測試證據。車廠稽核看的是交付物,不是口頭保證。

1.4 Worked Example:一個煞車控制專案的雙軌開始

範例
專案:煞車輔助系統(Brake Assist)
├── 安全軌(ISO 26262)
│   └── 目標:ASIL C,需完成 HARA → 安全目標 → TSR
├── 流程軌(ASPICE)
│   └── 目標:CL2,需完成 SYS.1→SWE.6 全過程交付物
└── 兩者共用
    └── V-model 時間軸、同一份需求庫、同一套測試結果

動手:找一個你手邊的車用/安全相關專案,把它拆成「安全軌」與「流程軌」兩欄,各寫出要交付的第一個文件。

1.5 常見迷思

1.6 深入原理:安全與流程為什麼必須互相咬合

安全工程不是在專案末端加一層審查,而是把「風險」轉成可管理的工程約束。HARA 決定風險嚴重度與 ASIL;ASIL 再決定需求、架構、驗證與獨立性需要多強。ASPICE 則把這些活動放進可重複的流程,要求有輸入、活動、輸出與追溯。兩者交會處就是同一份證據:例如一條 ASIL D TSR 既是 ISO 的安全需求,也是 SYS.2 的工作產品,最後由 SWE/SYS 測試報告閉環。

若缺少表面現象真正風險
HARA需求看似完整未定義的危害沒有安全目標
追溯文件很多無法證明測試真的覆蓋安全需求
獨立檢查團隊自評通過同一個錯誤可能一路被複製

1.7 Worked Example:一條需求如何穿過雙軌流程

範例
危害:AEB 未在行人前煞車(HARA-01,ASIL D)
SG-01 → FSR-01 → TSR-01 → SWR-01
  → SYS.2/SWE.1 需求評審
  → SWE.4 單元測試 + SWE.6 目標環境測試
  → SUP.8 基線與測試證據
閉環檢查:每一層都能向上找到來源、向下找到實現與驗證。

1.8 練習

  1. 選一個車用功能,分別寫出一項安全風險與一項流程風險。
  2. 畫出 SG、需求、測試、問題單四個節點的追溯鏈。
  3. 指出若只保留測試報告、沒有需求來源,稽核時缺少哪種論證。
看完這單元你應該能說出:
  • 說出為什麼車用軟體需要同時看「安全」與「流程」。
  • 畫出 V-model 並指出 ISO 26262 與 ASPICE 各自對應的位置。
  • 舉例說明 ISO 26262 與 ASPICE 的分工與互補關係。

延伸閱讀

1.A 進階真實情境 Worked Example

進階範例:電動助力轉向(EPS)專案的安全×流程雙軌啟動
專案背景:OEM 要求開發 EPS,目標 ASIL D + ASPICE CL3。
┌─ 安全軌 ──────────────────────────────────────────────────┐
│ Item 定義:EPS 馬達驅動、扭矩感測、車速信號、ECU 控制。  │
│ HARA(Part 3):                                          │
│   H-01 輸出異常扭矩(非駕駛意圖轉向)                     │
│   情境:高速公路 120 km/h,駕駛無法及時糾正                │
│   S3 × E4 × C3 → ASIL D                                  │
│ 安全目標 SG-01:EPS 不得輸出超過 ±5Nm 的非預期扭矩。      │
│ 安全機制 SM-01:扭矩輸出與感測交叉驗證,差異 > 2Nm        │
│   持續 3 個週期 → 關閉輔助並進入安全模式。                 │
├─ 流程軌 ──────────────────────────────────────────────────┤
│ ASPICE CL3 要求:                                         │
│   MAN.3 專案計畫需納入安全里程碑(HARA 完成、安全概念凍結)│
│   SWE.1 需求追溯矩陣:功能需求 → 安全需求 → 測試案例      │
│   SYS.2 系統需求規格須含安全需求分配表                     │
│ 雙軌交匯點:                                              │
│   安全需求 = 系統需求的子集,追溯矩陣同時滿足 ASPICE 與   │
│   ISO 26262 Part 4 §7 的雙重要求。                        │
└────────────────────────────────────────────────────────────┘

1.B 深入原理擴充

ISO 26262 與 ASPICE 的核心交集在於「需求管理」「追溯性」。 ISO 26262 Part 2 §6 要求建立安全計畫(Safety Plan),ASPICE MAN.3 要求專案計畫, 兩者合併後形成「整合專案計畫」(Integrated Project Plan),其中安全里程碑嵌入開發流程。

關鍵概念:ASIL decomposition(Part 9)允許將高 ASIL 需求拆分為 多個較低 ASIL 的冗餘需求,分別分配到不同硬體/軟體元件,降低單一元件的開發成本。 但 decomposition 必須滿足 Independence(獨立性)要求——故障偵測、容錯時間間隔(FTTI) 與安全機制覆蓋率需同時驗證。

1.C 診斷式疑難排解表

症狀可能原因解決方案
安全需求無法追溯到功能需求HARA 遺漏情境或需求編號衝突重建追溯矩陣,使用雙向編號規則(SA-001 → FR-001)
ASPICE 評鑑時追溯性不足需求變更未同步更新追溯表導入需求管理工具(如 Jama、DOORS),設定變更觸發同步機制

1.D 進階挑戰題

  1. 若 EPS 改為線控轉向(Steer-by-Wire),ASIL 等級如何變化?重新進行 HARA 並說明理由。
  2. 設計一個 ASIL decomposition 方案:將 SG-01(ASIL D)拆分為兩個 ASIL B(D) 的冗餘通道。
  3. 撰寫 MAN.3 的專案計畫草案,納入至少 3 個安全里程碑與對應的 ASPICE 工作產品。