進入系統分析領域會帶來一連串全新的概念、術語和圖表。在這些之中,資料流程圖(DFD)是用來視覺化資訊如何在系統中流動的基石。它能清楚呈現流程、資料儲存與外部互動,而不會陷入技術實作細節。然而,對於剛入門的分析師而言,理解其中的細節可能具有挑戰性。本指南針對初學 DFD 的分析師最常提出的十個問題進行解答。我們將探討定義、差異與最佳實務,以確保您的圖表能有效與利害關係人及開發人員溝通。

資料流程圖是一種以圖形方式呈現資料在資訊系統中流動的圖表。與描述操作順序或控制流程的流程圖不同,DFD 專注於資料的移動。它回答了這樣的問題:「資料從哪裡來?會去哪裡?在過程中如何變化?」這種抽象化讓利害關係人能夠理解系統的邏輯需求,而無需了解所使用的程式語言或資料庫結構。
主要特徵包括:
理解這項區別至關重要。當分析師建立 DFD 時,其實是在繪製商業邏輯的地圖。這張地圖成為商業需求與技術規格之間的橋樑,確保在撰寫任何程式碼之前,所有相關人員都對資料的流動路徑達成共識。
這是一個常見的混淆點。雖然兩者都使用形狀與箭頭,但其目的根本不同。流程圖用來呈現程式的控制流程或程序步驟。它顯示決策點(是/否)、迴圈與精確的步驟順序。這類細節通常過於繁複,不適合高階系統分析。
相反地,DFD 抽象掉了控制邏輯。它不會顯示迴圈或決策分支,而是呈現資料的轉換過程。如果你正在設計資料庫,流程圖可能顯示查詢邏輯,而 DFD 則會顯示資料從使用者表單流入資料庫表格的過程。
需要記住的主要差異:
標準的 DFD 依賴四個特定符號來代表系統元件。一致地使用這些符號,能確保任何閱讀圖表的人都能立即理解其符號意義。
| 符號 | 名稱 | 功能 | 視覺表示 |
|---|---|---|---|
| 箭頭 | 資料流 | 顯示組件之間資料的移動 | 標籤線 |
| 圓形或圓角矩形 | 處理 | 將輸入資料轉換為輸出資料 | 圓形/方框 |
| 開放矩形 | 資料儲存 | 儲存資料以供後續使用 | 兩條平行線/方框 |
| 矩形 | 外部實體 | 系統外部資料的來源或目的地 | 方框 |
每個符號都扮演著獨特的角色。處理會改變資料。資料儲存會持有資料。外部實體提供或消耗資料。資料流將它們連接起來。混淆這些符號可能會導致開發階段出現重大誤解。
複雜系統需要不同層次的細節才能保持易於理解。我們通常將 DFD 分為三個層次結構。這個過程稱為「分解」或「展開」圖表。
每一層都必須與其上一層保持一致。除非正確平衡,否則在較低層級中不能引入較高層級中不存在的新資料流。
平衡是一項關鍵規則,可確保圖表在各層之間的完整性。它指出,父處理過程的輸入與輸出必須與其下層子處理過程的輸入與輸出相匹配。如果第 1 層的處理過程有輸入「使用者 ID」,則分解該過程的第 2 層圖表也必須顯示「使用者 ID」進入子處理過程。
違反平衡會造成混淆。這暗示資料被神奇地創造或消滅,而在邏輯系統中這是不可能的。審查圖表時,務必檢查邊界。如果一條線進入第 1 層的方框,該線必須出現在對應的第 2 層圖表中。
為何這很重要:
名稱不只是標籤;它們本身就是文件。流程名稱應以動詞後接名詞的形式命名。例如,“計算稅款”比“稅款計算”更佳。動詞表示動作或轉換,而名詞則表示主題內容。
常見的命名錯誤包括:
命名的一致性有助於分析師快速瀏覽圖表,並在無需圖例的情況下理解每個組件的功能。
在資料流程圖(DFD)中,資料儲存代表資料被存放的位置。這是一個邏輯概念。在實際系統中,這可能是 SQL 資料表、平面檔案、試算表或雲端儲存桶。DFD 不關心實際的實作技術。
然而,常見的錯誤是將資料儲存視為暫時的緩衝區。資料儲存必須具有持久性。即使系統關閉,資料仍需保留。這使其與暫時性的資料流區分開來。
在後續設計實際系統時,分析師或架構師必須將每個資料儲存對應到實際的儲存解決方案。如果資料儲存標示為「客戶記錄」,資料庫團隊便知道需建立具有該結構的資料表。若 DFD 暗示某特定資料流無需儲存,則不應為其建立資料庫資料表。
外部實體是指與被建模系統互動,但位於其邊界之外的人、組織或其他系統。它們是資料的來源或目的地。
範例包括:
區分系統內的實體與系統外的實體至關重要。如果一個組件屬於系統的內部邏輯,它應該是處理程序或資料儲存。如果它在邊界之外,則是實體。混淆這兩者可能會導致範圍蔓延,使開發人員被要求建立屬於第三方系統的組件。
即使是經驗豐富的分析師也會犯錯。及早識別這些常見陷阱,可以大幅減少後續的重做工作。以下是初稿中最常見的問題。
根據此檢查清單審查您的圖表,可在向利益相關者展示前顯著提升其品質。
圖表並非靜態的產物,而是一份活文件。隨著業務需求的變更,系統必須演進。如果處理程序「計算折扣」變更為「應用分級折扣」,資料流程圖必須同步更新。若未及時更新圖表,將導致文件與實際軟體之間產生脫節。
維護的最佳實務包括:
將資料流程圖視為必須保持更新的參考文件,可確保未來的開發人員與分析師能理解系統,而不僅依賴記憶或過時的筆記。
為確保您的資料流程圖能有效發揮作用,請遵循這些核心原則。清晰度是首要目標。如果利益相關者在快速瀏覽後仍無法理解資料流動,則圖表已失去其目的。一致地使用標準符號。保持層級分明。清楚命名您的處理程序。平衡輸入與輸出。並始終記住,圖表是一種溝通工具,而不僅僅是技術需求。
透過掌握這些基礎概念,您將為複雜系統分析奠定堅實基礎。您為開發團隊提供明確的路徑圖,為業務領導者提供清晰的需求視角。這種共識正是成功系統實施的關鍵。
請記住,資料流程圖的價值在於其簡化複雜性的能力。它讓您能同時看見森林與樹木。運用它來引導您的分析、驗證您的需求,並傳達您的願景。經過練習,繪製這些圖表將自然地融入您的工作流程,幫助您自信地應對系統設計的細節。