資料流圖(DFD)自1970年代以來一直是系統分析與設計的基石,因其清晰與直觀而受到讚譽。本指南將探討DFD的類型、優勢、使用的符號、細節層級以及實際範例,以提升您對DFD的理解與應用。

資料流圖的類型
DFD主要分為兩種類型:邏輯與實體.

邏輯DFD
邏輯DFD代表系統內資訊的理論流動。它們著重於:
- 資料來源:資料來自何處。
- 轉換點:資料如何被處理。
- 最終目的地:資料最終到達的位置。
這些圖表對於理解系統的概念架構至關重要。
實體DFD
實體DFD展示資料流的實際面向。它們包含:
- 具體組件:軟體、硬體、檔案、員工與客戶。
- 互動:這些元素如何協同工作以促進資料流動。
無論是邏輯與實體DFD都可以獨立或結合使用,以提供系統或流程的整體視角。
資料流程圖與統一模型語言圖表
雖然資料流程圖(DFD)與統一模型語言(UML)圖表有一些相似之處,但它們各自具有不同的用途:
- 資料流程圖:提供資料流的高階概覽,使其成為尋求整體理解之利害關係人理想的工具。
- 統一模型語言圖表:提供對結構與行為方面的詳細洞察,對需要細節資訊以建構系統的開發人員極具幫助。
結合使用資料流程圖與統一模型語言圖表可提升系統設計:以資料流程圖提供整體概要,以統一模型語言圖表進行深入開發。
資料流程圖的優勢
資料流程圖提供多項優勢:
易用性
視覺化呈現簡化複雜概念,使其比文字描述更容易理解。這有助於記憶與理解。
清晰度
資料流程圖清楚呈現系統與流程,確保團隊一致。這種清晰度使討論流程優化與追蹤業務流程更加順暢。
生產力
由於理解更加深入,資料流程圖可減少錯誤,提升團隊效能與生產力。同時也有助於識別業務運作中的效率與低效區域。
資料流程圖符號
資料流程圖使用標準化符號來呈現不同的系統元件:
- 外部實體:以矩形或圓形表示,代表發送或接收資料的外部系統。
- 流程:以圓形或矩形表示,用於操作資料並管理其流動。
- 資料儲存:以開口矩形表示,用於儲存未來使用的資訊。
- 資料流:箭頭用以表示資料在實體、流程與資料儲存之間的移動方向。
資料流程圖的層級

第 0 層:上下文圖
此高階概觀突出顯示主要流程和資料來源,而不深入細節。
第 1 層:流程分解
第 1 層的資料流程圖將系統分解為子流程,提供更詳細的資訊,同時保持較廣的視野。
第 2 層:深入探討
這些圖表提供每個子流程更細緻的視角,詳細說明特定的互動與資料流。
第 3 層及更高層:複雜度增加
高階的資料流程圖(第 3 層及以上)由於其複雜性,較少見,這可能會影響清晰度。
資料流程圖範例 – 自上而下的分解過程
- 資料流程圖(DFD)是系統內資料流動的圖形化表示。它們用於視覺化資訊如何在各個流程中流動,突出顯示輸入、輸出、資料儲存以及相關的外部實體。DFD 通常分為多個層級,每一層提供系統更詳細的視圖。在此,我們將探討從第 0 層到第 2 層的 DFD 範例。
第 0 層 DFD(上下文圖)
第 0 層 DFD,也稱為上下文圖,提供整個系統的高階概觀。它將系統呈現為單一流程,並顯示其與外部實體的互動。此圖旨在讓廣泛的觀眾(包括利益相關者、業務分析師和開發人員)輕鬆理解。
範例:咖啡店系統
- 流程:咖啡店(P1)
- 外部實體:顧客、供應商、付款網關
- 資料流:
- 顧客提供訂單與付款。
- 供應商提供庫存。
- 付款網關處理交易。
在此圖中,咖啡店是核心流程,箭頭表示與外部實體之間的資料流。
第 1 層 DFD
第 1 層 DFD 將上下文圖中的單一流程分解為更具體的子流程。它提供了系統主要功能區域的更詳細視圖。
範例:咖啡店系統
- 子流程:
- P1.1:訂單管理
- P1.2:供應管理
- 資料流:
- 訂單管理處理客戶訂單、付款及訂單狀態。
- 供應管理處理庫存水平、供應商訂單及庫存更新。
在此圖中,咖啡店流程被分解為訂單管理和供應管理,這些子流程與外部實體之間具有詳細的資料流。
第二層資料流程圖
第二層資料流程圖透過將第一層資料流程圖中識別出的子流程進一步分解為更細的子流程,提供更詳細的視圖。此層次提供了系統運作的細節視角。
範例:咖啡店系統
- 訂單管理子流程:
- P1.1.1:接收訂單
- P1.1.2:處理付款
- P1.1.3:準備訂單
- P1.1.4:交付訂單
- 供應管理子流程:
- P1.2.1:檢查庫存
- P1.2.2:下訂供應商訂單
- P1.2.3:接收供應品
- P1.2.4:更新庫存
在此圖中,第一層資料流程圖中的每個子流程都被進一步分解。例如,訂單管理被分解為接收訂單、處理付款、準備訂單和交付訂單,這些子流程與相關外部實體之間具有詳細的資料流。
資料流程圖是用於視覺化和理解系統內資料流動的重要工具。透過將資料流程圖分為不同層級,可以逐步詳述系統的運作,從高階概覽到特定流程的細節視圖。這種結構化方法有助於有效分析、設計和改善系統。
建立資料流程圖
遵循以下步驟以建立有效的資料流程圖:
- 理解基本概念:確保每個流程至少有一個輸入和輸出;資料儲存必須有資料流入和流出。
- 選擇一個系統或流程:選擇一個特定領域進行分析。
- 分類業務活動:識別外部實體、資料流、流程和資料儲存。
- 繪製上下文DFD:從Level 0 DFD開始,概述基本的連接與流程。
- 驗證準確性:檢查您的圖表是否完整且正確。
- 建立子圖:為Level 0 DFD中識別出的子流程開發圖表。
- 擴展為Level 1 DFD:繪製流程之間的詳細連接。
- 必要時進行迭代:根據需要建立額外的DFD或進一步分解流程。
資料流程圖提示
- 選擇合適的工具:使用Visual Paradigm等軟體,以輕鬆建立和編輯DFD。
- 從基礎開始:理解您所定義流程的每個方面。
- 定義現有流程:透過分析現有工作流程,識別改進區域。
- 突出改進機會:使用您的DFD來視覺化需要改善的區域。
- 測試與更新:實施您的流程,進行測試並進行必要的調整。
- 識別相關流程:尋找可能需要優化的額外流程。
結論
資料流程圖(DFDs)是系統分析與設計中極其重要的工具,提供一種清晰且結構化的方式來視覺化系統內資料的流動。透過將DFD分為不同層級—從第0級到第2級—我們可以逐步詳述系統的運作,提供對高階理解與細節分析都至關重要的洞察。
第0級資料流程圖提供情境概覽,使其對廣泛的受眾都易於理解,非常適合用於初步了解系統。第1級資料流程圖將主要流程分解為功能區域,提供更詳細但仍具廣泛性的系統視圖。第2級資料流程圖進一步深入,將子流程分解為更細微的組成部分,這對於詳細的系統設計與優化至關重要。
結構化的方法,如資料流程圖不僅有助於初始設計階段,也支援系統的持續改進與維護。透過明確定義資料流、流程與外部互動,資料流程圖有助於識別效率低下之處,優化工作流程,並確保所有利害關係人對系統運作有共同的理解。
總而言之,資料流程圖是強大的工具,能提升系統的清晰度,改善利害關係人之間的溝通,並促進有效的系統設計與優化。無論是用於高階概覽或詳細流程分析,資料流程圖都提供了一個全面的框架,以理解並改善複雜系統。











