IDEF0 是基於 SADT(結構化分析與設計技術)的功能建模方法。透過活動(Activity)和 ICOM 箭頭的層次分解,清晰描述系統中「做什麼」、「用什麼」、「由誰做」、「怎麼控制」。
| 概念 | 說明 |
|---|---|
| Activity | 功能單元,以動詞片語命名(如「分析感測資料」)。ID 格式為 A0, A1, A11 等。 |
| Input (I) | 左側箭頭 — 被活動轉換或消耗的資料/物料 |
| Control (C) | 上方箭頭 — 控制活動執行的條件、政策、約束 |
| Output (O) | 右側箭頭 — 活動產生的結果 |
| Mechanism (M) | 下方箭頭 — 執行活動的硬體、軟體、人員 |
A0A1..A9(A0 的子活動)A11..A19(A1 的子活動)、A21..A29(A2 的子活動)A312 = A31 的第 2 個子活動 = A3 的孫活動EXTERNAL 端點{
"diagram_title": "採購流程",
"node_reference": "A0",
"activities": [
{ "id": "A1", "title": "審核需求" },
{ "id": "A2", "title": "詢價與議價" },
{ "id": "A3", "title": "下單採購" }
],
"arrows": [
{ "id": "i1", "label": "採購申請單", "source": "EXTERNAL", "target": "A1:input" },
{ "id": "c1", "label": "採購政策", "source": "EXTERNAL", "target": "A1:control" },
{ "id": "s1", "label": "核准申請", "source": "A1:output", "target": "A2:input" },
{ "id": "s2", "label": "最佳報價", "source": "A2:output", "target": "A3:input" },
{ "id": "o1", "label": "採購訂單", "source": "A3:output", "target": "EXTERNAL" },
{ "id": "m1", "label": "採購系統", "source": "EXTERNAL", "target": "A1:mechanism" }
]
}
| 格式 | 意義 |
|---|---|
EXTERNAL | 邊界箭頭(進出圖表) |
A1:input | 活動左側(被轉換的物件) |
A1:output | 活動右側(產出結果) |
A1:control | 活動上方(規則/約束) |
A1:mechanism | 活動下方(執行者/工具) |
活動可透過 decomposition 欄位包含巢狀 IDEF0 子圖。渲染器會為每個分解層級生成獨立的 SVG。
{
"diagram_title": "智慧製造系統",
"node_reference": "A0",
"activities": [
{
"id": "A1", "title": "接收訂單",
"decomposition": {
"diagram_title": "接收訂單 — 子流程",
"node_reference": "A1",
"activities": [
{ "id": "A11", "title": "驗證訂單格式" },
{ "id": "A12", "title": "檢查庫存" }
],
"arrows": [
{ "id": "i1", "label": "原始訂單", "source": "EXTERNAL", "target": "A11:input" },
{ "id": "s1", "label": "有效訂單", "source": "A11:output", "target": "A12:input" },
{ "id": "o1", "label": "確認結果", "source": "A12:output", "target": "EXTERNAL" }
]
}
},
{ "id": "A2", "title": "排程生產" }
],
"arrows": [
{ "id": "i1", "label": "客戶訂單", "source": "EXTERNAL", "target": "A1:input" },
{ "id": "s1", "label": "確認訂單", "source": "A1:output", "target": "A2:input" },
{ "id": "o1", "label": "生產排程", "source": "A2:output", "target": "EXTERNAL" }
]
}