資料流程圖(DFD)是資訊在系統中流動方式的視覺化呈現。它關注的不是系統的外觀,而是資料如何被處理、儲存與傳輸。對於分析師與架構師而言,掌握此種符號表示法,是理解複雜工作流程的基礎,而無需陷入技術實作細節的困擾。
本指南將剖析資料流程圖的結構組成。我們將檢視構成這些圖表的五個核心元素,探討它們之間的互動方式,並提供實用範例。完成後,您將了解建立清晰、可執行系統地圖所需的結構完整性。

資料流程圖是一種以圖形方式呈現資料在資訊系統中流動的工具。與專注於控制邏輯與決策點的流程圖不同,資料流程圖專注於資料的移動。它抽象了實際的實作細節,以呈現資訊的邏輯流動。
資料流程圖具有層級結構。它從高階視圖開始,逐步深入到具體細節。這種分層方式讓利害關係人能一目了然地理解系統,同時讓開發人員能清楚看見特定的資料需求。
要構建一個有效的資料流程圖,必須包含五個特定元素。雖然前四個是圖形符號,但第五個是概念性要求,對於確保準確性至關重要。
處理程序代表將輸入資料轉換為輸出資料的功能,是系統的引擎。在資料流程圖中,處理程序通常以圓角矩形或圓形表示,視符號風格而定(Yourdon/DeMarco 與 Gane/Sarson 之差異)。
關鍵特徵:
範例: 考慮一個電子商務系統。一個處理程序可能是「驗證付款」。它接收信用卡資料(輸入),並回傳核准或拒絕代碼(輸出)。
資料儲存是資訊被保存以供後續使用的場所。它代表資料庫、檔案、紙本檔案櫃,或任何持久化機制。關鍵的是,資料儲存不會處理資料,僅僅是儲存資料。
關鍵特徵:
範例: 在圖書館系統中,「書籍庫存」 資料儲存區儲存可借閱書籍的詳細資訊。當書籍被借出或歸還時,該儲存區會被更新。
外部實體是模型系統邊界以外的資料來源或目的地。它們代表與主系統互動但不屬於其內部邏輯的人、組織或其他系統。
關鍵特徵:
範例: 在薪資系統中,「員工」 是一個提供工作時數並接收薪資的外部實體。
資料流動是連接處理過程、資料儲存區與外部實體的箭頭。它們代表資料的移動。資料流動必須具有描述所傳輸資料內容的名稱。
關鍵特徵:
範例: 連接「「登入」 流程與「「使用者資料庫」 資料儲存區的箭頭應標示為「驗證請求」.
雖然資料字典本身並未繪製在圖表上,但它是完整資料流程圖規格的第五個必要組成部分。它是一個中央儲存庫,用來定義圖表中使用到的每個資料元素的結構、類型和格式。若無此字典,圖表將變得模糊不清。
關鍵特徵:
範例: 字典可能將「「出生日期」 定義為YYYY-MM-DD 且不得為空值。這可防止流程中出現邏輯錯誤。
在設計階段,可使用此表格快速參考每個元件的特性。
| 元件 | 符號形狀 | 功能 | 範例標籤 | 語法規則 |
|---|---|---|---|---|
| 處理 | 圓角矩形 / 圓形 | 轉換資料 | 計算稅額 | 動詞 + 名詞 |
| 資料儲存 | 開放矩形 / 平行線 | 儲存資料 | 訂單歷史 | 名詞(複數) |
| 外部實體 | 方形 / 矩形 | 來源/匯流 | 銀行系統 | 名詞(單數) |
| 資料流 | 箭頭 | 移動資料 | 付款細節 | 名詞片語 |
| 資料字典 | 文件 / 清單 | 定義資料 | 資料定義 | 技術架構 |
資料流程圖很少單獨繪製。它們存在於一個層級結構中,允許不同層次的抽象。理解這些層級可確保在每個階段正確應用五個組成部分。
這是最高層級的視圖。它將整個系統顯示為單一處理過程。它識別外部實體以及進入或離開系統的主要資料流。
此圖將上下文圖中的單一處理過程分解為主要的子處理過程。它引入了第一層內部資料儲存與處理過程。
此層將第 0 層的處理過程分解為其組成功能。用於詳細設計與開發。
建立資料流程圖(DFD)是一個迭代過程。為確保圖表持續具有用處且準確,請遵守以下結構規則。
當您將處理過程分解至較低層級時,輸入與輸出必須保持一致。若父處理過程接收「訂單資料」,子處理過程必須共同處理相同的「訂單資料」。您無法憑空創造資料或摧毀資料。
一致性至關重要。所有組件應使用標準化的命名慣例。除非組織內普遍理解,否則避免使用縮寫。確保一個圖表中標示為「發票」的資料流,在另一個圖表中不可標示為「帳單」。
一個常見的錯誤是將控制邏輯(if/else)混入資料流程圖(DFD)中。DFD 展示的是資料流動,而非決策邏輯。應使用決策表或流程圖來表示控制邏輯。在 DFD 中,決策點由一個根據輸入輸出不同資料流的處理程序來表示。
資料儲存必須同時具有輸入與輸出,除非它是新創建的或為歸檔資料。僅接收資料的儲存是黑洞;僅提供資料的儲存則是奇蹟(從無到有創造資料)。兩者皆違反系統邏輯。
即使經驗豐富的建模者也會犯錯。檢視這些常見陷阱可節省分析階段的時間。
讓我們將五個元件應用於實際情境。想像一個簡化的線上訂購系統。
DFD 不會孤立存在。它們通常會補充其他建模技術。
為確保您的資料流程圖能提供價值,請牢記以下原則。
透過嚴格應用這五個組件並遵守結構規則,您將建立一個穩健的系統開發藍圖。這種清晰性可減少模糊性,最小化重做工作,並確保最終實現與預期的資料架構一致。
請記住,DFD 是一份活文件。隨著需求變更,圖表必須演進以反映系統的新現實。定期維護圖表及其附帶的資料字典,是成熟分析過程的標誌。