Skip to main content

Sequence Diagram 範本

用途:元件互動、訊息流、API 流程、Protocol 交握

適用場景

  • 「A 跟 B 在怎麼溝通」
  • 「這個 API call 的完整流程」
  • 「HSMS / Modbus protocol 交握步驟」

範本 1:基本 API Request-Response

關鍵語法

  • ->> 實線箭頭(同步請求)
  • -->> 虛線箭頭(回應)
  • <br/> 換行
  • participant X as 顯示名稱 定義參與者

範本 2:Protocol 交握(SECS/GEM 範例)

關鍵語法

  • rect rgba(R, G, B, A) 顏色區塊(分組訊息)
  • Note over X,Y: 文字 跨兩個 participant 的註解
  • W 是你自訂字樣(SECS-II 的 wait bit)

範本 3:含條件分支(alt / opt)

關鍵語法

  • alt/else/end — if-else 分支
  • opt/end — 可選步驟(if 無 else)
  • loop/end — 迴圈

範本 4:Pipeline 多 Agent 協作

關鍵語法

  • actor 用人形 icon(通常給使用者/客戶)
  • participant 用方框(通常給系統/服務)

範本 5:含時間延遲 / 非同步

使用時機:背景任務、事件驅動、長時間操作。


客製化指南

要注意的事

項目建議
Participant 數量最多 5-7 個,超過難讀
訊息順序必須是時間序,不能跳
訊息內容具體(POST /api/orders)而非模糊(Call
註解Note over 解釋非明顯邏輯
顏色區塊用 rect 分 layer / phase

何時不要用 sequenceDiagram

  • 純資料流(無時間順序)→ 改用 flowchart
  • 狀態轉換(State)→ 改用 stateDiagram-v2
  • 系統架構圖 → 改用 flowchart

Real-world 範例

  • internal/workflow/pipeline-workflow.md — Pipeline 5 階段 sequence
  • internal/workflow/pipeline-messages.md — 訊息重投 sequence

快速參考

元素語法意義
同步呼叫A->>B: msg實線箭頭
回應B-->>A: reply虛線箭頭
非同步(火而不管)A-)B: msg空心箭頭
自我呼叫A->>A: internal自指
跨參與者註解Note over A,B: text矩形框
分組區塊rect rgba(R,G,B,A) ... end彩色背景
條件分支alt / else / endif-else
可選opt / endif
迴圈loop / endfor
並行par / and / endparallel