單元 20 · 完整 Worked Example:從 HARA 到 SWE.6

全流程走查、工具鏈、時間軸

20.1 把整站串起來

本單元把一個虛構但完整的專案從頭走到尾:HARA → 安全需求 → 系統/軟體開發 → 驗證 → 安全案例,每個階段標出 ISO 26262 與 ASPICE 的對應交付物。

虛構專案:「智慧車門防夾系統(Anti-Pinch Power Window)」——車窗自動升起時偵測夾到異物並反轉,ASIL B。規模適中,適合一次看完。

20.2 階段總覽

階段關鍵交付物對應
1. 概念Item 定義、HARA、SGISO Part 3|SYS.1
2. 需求FSR/TSR、系統需求ISO Part 4|SYS.2
3. 架構系統架構、SWR、軟體架構Part 4/6|SYS.3/SWE.1-2
4. 實作詳細設計、程式碼Part 6|SWE.3
5. 單元驗證單元測試+覆蓋率Part 6|SWE.4
6. 整合整合測試Part 6|SWE.5
7. 資格資格測試報告Part 6|SWE.6
8. 系統系統整合+資格Part 4|SYS.4-5
9. 安全FMEDA、FTA、安全案例Part 5/9/2|SUP/MAN

20.3 Worked Example:防夾車窗全流程走查

範例
【階段1 概念|ISO Part 3|SYS.1】
Item:電動車窗(含防夾)。邊界:開關、馬達、位置感測、致動。
HARA 摘要:
  H-01 防夾失效,車窗夾住孩童頸部
    S3 E3 C3 → ASIL B
SG-01(ASIL B):升起時偵測到阻力異常,必須在 200ms 內
  停止並反轉 100mm,且單一感測器故障不延遲反應。

【階段2 需求|Part 4|SYS.2】
FSR-01(ASIL B):窗上升時連續量測阻力。
TSR-01(ASIL B):以馬達電流估阻力;採樣 ≥ 1kHz。
  驗收:夾持力峰值 ≤ 100N(法規參考)。

【階段3 架構|SWE.1-2】
SWR-011(ASIL B):電流 → 阻力估測(低通濾波)。
SWR-012(ASIL B):阻力超過閾值 → 反轉指令。
SWR-013(ASIL B):感測器異常 → 200ms 內停止+反轉。
架構:馬達驅動層(隔離)+ 防夾邏輯層(ASIL B)。

【階段4 實作|SWE.3】
寫碼:filter.c / anti_pinch.c / motor_ctrl.c
套用 MISRA C 子集+輸入驗證(電流範圍檢查)。

【階段5 單元驗證|SWE.4】
UT:阻力估測邊界、反轉時序、感測器故障。
覆蓋率:語句/分支 100%(ASIL B 至少語句)。

【階段6 整合|SWE.5】
整合馬達驅動+防夾邏輯,驗證中斷優先權與資源。

【階段7 資格|SWE.6|目標環境】
QT:夾持力測試(實測 ≤ 100N)、感測器故障注入
    (200ms 內反轉)、500 次耐久迴歸。PASS。

【階段8 系統|SYS.4-5】
裝上車門總成:整合測試+整車資格(環境、電磁相容)。

【階段9 安全|Part 2/5/9】
FTA:頂端「未反轉」→ OR(邏輯缺陷/感測器失效/馬達卡死)。
FMEDA:感測器診斷率達標。安全案例:全部證據+簽署。

20.4 工具鏈(如何支撐)

用途工具例對應
需求管理Polarion / DOORS / JamaSWE.1、追溯
版本控制Git + GitLab/GitHubSUP.8
問題/變更Jira + 流程SUP.9/10
靜態分析Polyspace / CppcheckSWE.4
單元測試Unity/Ceedling + gcovSWE.4
測試執行Vector CANoe / HILSWE.6/SYS.5
CI/CDGitLab CI / Jenkins全部(自動化證據)

20.5 回顧:你現在能做的事

最後的叮嚀:規範不是束縛,而是把「想當然耳的安全」變成「有證據的安全」。祝你把流程走得穩。

20.6 深入原理:完整流程的交付物必須形成閉環

全流程走查的重點不是記住活動順序,而是確認每個決策都能被後續證據驗證。HARA 的危害要產生安全目標;安全目標要分解成可實作需求;需求要落到架構、程式與測試;測試失敗要進問題與變更流程;最終安全案例要能引用所有關鍵證據。任何一條鏈只向下沒有向上,或只向上沒有測試,都代表論證不完整。

閉環檢查起點終點失敗訊號
安全閉環危害安全狀態測試安全目標沒有測試
需求閉環SG/FSR/TSRQT 報告孤兒需求或孤兒測試
變更閉環問題/CR新基線與案例修碼但未重評估

20.7 Worked Example:出貨前的閉環審查

範例
抽查安全目標 SG-01:
✓ 找到 HARA-01 與 ASIL 理由
✓ 找到 FSR/TSR/SWR 與架構分配
✓ 找到 SWE.4-6、SYS.5 的正常與故障測試
✓ 找到 FMEDA/FTA/DFA 與確認措施
✗ QT-042 使用的 ECU 軟體版本不在候選基線
結論:先阻擋放行,修正配置追溯並確認報告可重現,
不能因其他項目 PASS 就忽略這個證據斷點。

20.8 練習

  1. 選一個安全目標,畫出完整 SG→需求→架構→程式→測試鏈。
  2. 模擬一個出貨前發現的追溯缺口,寫出問題與修正步驟。
  3. 列出安全案例放行前你會要求看到的五種證據。
看完這單元你應該能說出:
  • 從 HARA 走到 SWE.6 走完一次完整流程。
  • 列出每個階段的關鍵交付物與負責角色。
  • 說明工具鏈如何支撐雙規範整合。

延伸閱讀

20.A 進階真實情境 Worked Example

進階範例:ASPICE 與 ISO 26262 的「持續改進」循環
組織:已完成 ASPICE CL3 + ISO 26262 符合性確認,進入持續改進階段。

┌─ 持續改進框架(PDCA)─────────────────────────────────────┐
│ Plan(計畫):                                             │
│   • 建立年度過程改進目標                                  │
│   • 識別改進機會(來自評鑑、客戶回饋、內部審計)          │
│   • 制定改進計畫                                          │
│                                                           │
│ Do(執行):                                               │
│   • 在試點專案中執行改進措施                              │
│   • 收集執行數據                                          │
│   • 調整改進措施                                          │
│                                                           │
│ Check(檢查):                                            │
│   • 評估改進效果                                          │
│   • 比較改進前後的過程績效                                │
│   • 識別新的改進機會                                      │
│                                                           │
│ Act(行動):                                              │
│   • 將有效的改進措施標準化                                │
│   • 更新過程資產庫                                        │
│   • 在組織內推廣                                          │
├─ 持續改進的數據驅動 ────────────────────────────────────┤
│ 過程績效指標(Process Performance Indicators):          │
│   • 缺陷密度(Defect Density):目標 ≤ 0.5 缺陷/千行程式碼│
│   • 需求變更率(Requirement Change Rate):目標 ≤ 10%    │
│   • 測試覆蓋率(Test Coverage):目標 ≥ 95%              │
│   • 評鑑不符合項數(Non-conformances):目標 ≤ 5         │
│                                                           │
│ 數據收集:                                                 │
│   • 每月收集過程績效數據                                  │
│   • 每季分析趨勢                                          │
│   • 每年更新改進目標                                      │
├─ 安全改進循環 ──────────────────────────────────────────┤
│ ISO 26262 Part 8 §10 要求:                               │
│   • 收集量產後的安全相關故障資料                          │
│   • 分析安全相關事件的根因                                │
│   • 評估是否需要修改設計                                  │
│   • 執行安全改進措施                                      │
│   • 驗證改進效果                                          │
│   • 更新安全相關文件                                      │
└────────────────────────────────────────────────────────────┘

20.B 深入原理擴充

ISO 33020 與 ISO 26262 Part 8 都要求「持續改進」—— 但改進的重點不同:ISO 33020 關注過程成熟度提升,ISO 26262 關注安全完整度提升。

關鍵概念:「數據驅動的改進」(Data-Driven Improvement)。 持續改進不能靠直覺——必須建立量化的過程績效指標(PPI),並基於數據做出改進決策。 例如:若缺陷密度持續上升,可能是需求品質下降或測試不足;若需求變更率過高, 可能是需求收集階段的客戶參與不足。

20.C 診斷式疑難排解表

症狀可能原因解決方案
持續改進流於形式缺乏量化的過程績效指標建立 PPI 儀表板,每月追蹤,每季分析趨勢
改進措施無法推廣到其他專案缺乏過程資產庫和推廣機制建立過程資產庫,並指定「過程擁有者」負責推廣
安全改進措施與過程改進措施衝突兩套改進體系未整合建立統一的改進管理機制,協調安全改進與過程改進

20.D 進階挑戰題

  1. 為組織建立完整的過程績效指標(PPI)體系,至少包含 5 個指標及其計算公式。
  2. 若量產後收到安全相關故障回饋,安全經理應如何啟動安全改進循環?列出完整流程。
  3. 比較「過程改進」(Process Improvement)與「安全改進」(Safety Improvement)的核心差異。