DFD 用於系統開發的各個階段,從最初的需汳收集到詳細設計,甚至在系統文件中也有所應用。它們幫助利益相關者,包括開發人員、分析師和終端使用者,清楚理解資料在系統內如何被處理與轉換。透過視覺化這些互動,DFD 促進了更好的溝通,識別潛在的瓶頸或效率問題,並確保系統符合其功能需求。
本教程旨在提供一份全面的指南,幫助您理解並創建資料流程圖。我們將深入探討支撐 DFD 的關鍵概念,分析其各個組件之間的關係,並提供實用的技巧與指導,協助您創建有效且具洞察力的圖表。無論您是初次接觸 DFD,還是希望提升技能,本教程都將為您提供在專案中有效運用 DFD 所需的知識與技巧。
DFD 元素符號
資料流程圖(DFD)使用各種符號來表示系統內的不同元素。您提供的圖片展示了四種不同的 DFD 元素符號:Yourdon DeMarco、Gane & Sarson、SSADM,以及 Yourdon 和 Coad。讓我們逐一探討每種符號及其對外部實體、流程、資料儲存和資料流的表示方式:
1. Yourdon DeMarco 符號
- 外部實體:以標有「實體」的矩形方框表示。代表系統控制範圍外的資料來源或目的地。
- 流程:以標有「流程」的圓形表示。代表系統內對資料執行的操作或轉換。
- 資料儲存:以標有「資料儲存」的開口矩形表示。代表資料儲存的位置,且可被流程存取。
- 資料流:以箭頭表示,顯示資料在實體、流程與資料儲存之間移動的方向。
2. Gane & Sarson 符號
- 外部實體:以標有「實體」的矩形方框表示,與 Yourdon DeMarco 的方式類似。
- 流程:以標有「流程」及數字(例如 1.0)的圓角矩形表示,數字代表流程層級或順序。
- 資料儲存:以左側帶有垂直線的開口矩形表示,標示為「資料儲存」。垂直線上可包含參考編號(例如 D1)。
- 資料流:以箭頭表示元素之間資料流的方向。
3. SSADM(結構化系統分析與設計方法)符號
- 外部實體:以標示為「實體」的橢圓表示,與其他符號有所區別。
- 處理:以標示為「處理」的圓角矩形表示,類似於 Gane & Sarson,但無額外編號。
- 資料儲存:以標示為「資料儲存」的矩形表示,與 Gane & Sarson 不同,無垂直線。
- 資料流:以箭頭表示資料移動的方向。
4. Yourdon 與 Coad 符號
- 外部實體:以標示為「實體」的矩形方框表示,類似於 Yourdon DeMarco 與 Gane & Sarson。
- 處理:以標示為「處理」的圓形表示,類似於 Yourdon DeMarco。
- 資料儲存:以標示為「資料儲存」的開口矩形表示,類似於 Yourdon DeMarco。
- 資料流以箭頭圖示表示元素之間資料流動的方向。
主要差異
- 形狀與標示每種符號使用不同的形狀與標示方式來表示外部實體、處理程序與資料儲存。
- 處理程序的表示法Gane & Sarson 與 SSADM 使用圓角矩形表示處理程序,而 Yourdon DeMarco 與 Yourdon 和 Coad 則使用圓形。
- 資料儲存的表示法Gane & Sarson 使用帶有參考編號的垂直線,而其他符號則使用簡單的矩形。
理解這些符號可讓分析師與設計師選擇最符合專案需求與偏好的一種,確保系統設計的溝通清晰且有效。

關鍵概念
1. 外部實體
外部實體是與系統互動但不受其控制的資料來源或目的地。它們可以是使用者、其他系統或外部資料庫。
- 範例在提供的圖示中,“客戶”與“經紀人”都是外部實體。
2. 處理程序
處理程序將輸入資料轉換為輸出資料。它代表對資料執行的一項或一組操作。
- 範例「輸入訂單」處理程序以「採購單」為輸入,產生「訂單資料」為輸出。
3. 資料儲存
資料儲存存放可由處理程序存取與修改的資料。它代表資料未來使用時所存放的儲存位置。
- 範例: 「訂單」資料儲存區儲存訂單細節,可由流程讀取或更新。
4. 資料流程
資料流程代表外部實體、流程與資料儲存區之間的資料移動。它們以箭頭表示,顯示資料移動的方向。
- 範例: 從「客戶」指向「輸入訂單」的箭頭,代表「採購訂單」從客戶流向該流程。
DFD元件之間的關係
外部實體至流程
- 互動: 外部實體向流程提供輸入資料,或從流程接收輸出資料。
- 範例: 「客戶」向「輸入訂單」流程提供「採購訂單」。
流程至資料儲存區
- 互動: 流程從資料儲存區讀取或寫入資料。
- 範例: 「輸入訂單」流程將「訂單資料」寫入「訂單」資料儲存區。
資料儲存區至流程
- 互動: 資料儲存區在需要時向流程提供資料。
- 範例: 「訂單」資料儲存庫為需要這些資料的流程提供訂單細節。
流程至外部實體
- 互動: 流程將輸出資料傳送至外部實體。
- 範例: 「輸入訂單」流程將訂單確認傳送給「客戶」。

自上而下的分解
此圖表代表一個更詳細的訂單處理系統資料流程圖(DFD),特別著重於客戶、經紀人與訂單下達流程之間的互動。以下是各元件及其互動的說明:

-
外部實體:
- 客戶: 此實體透過下訂單來啟動流程。
- 經紀人: 此實體在訂單流程中扮演中介角色,從客戶接收交易細節,並將訂單細節傳遞給系統。
-
流程:
- 下訂單(線上): 此流程處理客戶線上下的訂單。它直接從客戶接收訂單細節。
- 交易細節:此流程管理交易細節,接收來自客戶的輸入並轉發給經紀人。
- 透過電話下單:此流程處理透過電話下單的情況。它接收來自經紀人的訂單細節。
-
資料儲存:
- 訂單細節:此資料儲存區存放透過線上流程下單的訂單細節。
- 交易細節:此資料儲存區存放已處理並轉發給經紀人的交易細節。
-
資料流程:
- 訂單細節(客戶至線上下單):此資料流程代表客戶在線上下單時提供的訂單資訊。
- 交易細節(客戶至交易細節):此資料流程代表客戶提供的交易資訊。
- 交易細節(交易細節至經紀人):此資料流程代表正轉發給經紀人的交易資訊。
- 訂單細節(經紀人至電話下單):此資料流程代表經紀人在透過電話下單時提供的訂單資訊。
-
流程編號:
- 0, 1, 2: 這些數字可能表示系統內流程的順序或識別碼。流程 0 似乎是一個中心流程,與線上和電話訂單流程都有互動。
解釋
- 此圖示說明了一個訂單可透過線上或電話方式下單的系統。
- 線上訂單由「下訂單(線上)」流程直接處理,並儲存訂單細節。
- 對於電話訂單,流程包含一位中介人,他從客戶處接收交易細節,並將訂單細節轉交至「下訂單(電話)」流程。
- 中介人扮演中介角色,協助處理電話訂單的交易與下單流程。
- 重點在於捕捉與管理訂單和交易細節,確保無論訂單方式為線上或電話,都能正確處理與儲存。
此資料流程圖提供了訂單處理系統的更詳細視圖,突顯了不同實體與流程在處理訂單與交易中的角色。
小技巧與提示
- 從簡單開始: 從上下文層級的資料流程圖開始,以掌握系統的整體概況,並逐步過渡到更詳細的層級。
- 一致性: 對流程、資料儲存與資料流使用一致的命名規則,以避免混淆。
- 清晰度: 確保資料流有明確標示,且箭頭方向正確,以顯示資料流動方向。
- 模組化: 將複雜流程拆解為較小且易於管理的子流程,以提升清晰度與理解度。
- 驗證:定期與利益相關者驗證資料流程圖,以確保其準確反映系統的資料流動。
指南
- 識別邊界:明確定義系統邊界,以區分內部流程與外部實體。
- 專注於資料:強調資料流動,而非控制流或操作順序。
- 細節層級:從高階資料流程圖(第0級)開始,逐步細化為更詳細的層級(第1級、第2級等)。
- 使用標準符號:遵循用於流程、資料儲存、外部實體及資料流的標準符號,以確保清晰與一致性。
- 記錄假設:記錄與資料流程圖相關的任何假設或限制,以提供背景並避免誤解。
結論
資料流程圖不僅是視覺輔助工具;更是任何參與系統分析與設計人員不可或缺的工具。透過提供一種清晰且結構化的資料流表示方式,資料流程圖有助於彌合抽象系統需求與具體實作細節之間的差距。它使利益相關者能夠直觀了解資料在系統內如何被處理,識別改進空間,並確保系統設計符合其預期功能。
在本教程中,我們探討了資料流程圖的基本概念,包括外部實體、流程、資料儲存與資料流。我們分析了這些元件之間的互動關係,並提供了實用的技巧與指南,以協助建立有效的資料流程圖。透過掌握這些概念與技巧,您不僅能精確呈現系統的資料流,還能使其成為開發週期中極具價值的溝通工具。
當您持續使用資料流程圖時,請記住清晰性、一致性與細節關注是關鍵。定期與利益相關者驗證您的圖表,並在對系統的理解不斷深化時,毫不猶豫地進行迭代與優化。透過實踐與扎實掌握資料流程圖的原則,您將能應對最複雜的系統分析挑戰。擁抱資料流程圖的力量,並在系統設計工作中開啟全新的洞察與效率層次。










