數據流圖(DFD)是一種結構化的分析和設計方法。它是系統內信息流的傳統視覺表示。數據流圖(DFD)廣泛用於軟件分析和設計。簡潔明了的 DFD 可以以圖形方式描述大量的系統要求。
數據流圖 (DFD) 描述了邏輯模型並表達了系統中的數據轉換。它包括一種對數據流進行建模的機制,並支持分解以說明數據流和功能的詳細信息。數據流圖無法呈現有關操作順序的信息。因此,它不是一種過程或過程建模方法。
DFD包括以下特點:
- 支持系統設計的分析和需求階段;
- 帶有註釋的圖表技術;
- 描述目標系統的活動/過程網絡;
- 允許並行和異步的行為;
- 通過流程的層次分解逐步細化。
DFD 提供了一個符號系統來描述數據流和一個分解機制來描述不同細節級別的系統。
過程
現在我們想向您簡要介紹一些圖表符號,您將在下面的教程中看到它們。
外部實體
外部實體可以代表人、系統或子系統。它是某些數據來自或去往的地方。就業務流程而言,它在我們研究的系統之外。出於這個原因,人們習慣於在圖表的邊緣繪製外部實體。
過程
流程是進行數據操作和轉換的業務活動或功能。可以將流程分解為更精細的細節,以表示在流程中如何處理數據。
數據存儲
數據存儲表示過程所需和/或產生的持久數據的存儲。以下是數據存儲的一些示例:會員表格、數據庫表等。
數據流
數據流表示信息流,其方向由顯示在流連接器末端的箭頭表示。
不同的 DFD 符號
有幾種不同的符號:
- Yourdon和/或De Marco,
- 加恩和薩森,
- SSADM(結構化系統分析和設計方法),以及
- 統一建模語言有顯示數據流的方法。
如何繪製具有多個上下文級別的 DFD?
功能分解是將一個複雜的過程分解成更小、更簡單的部分的過程。每一個都可以進一步細分。一旦您達到了子系統分解的最低級別,開發人員可以考慮如何開始編寫這些功能。當您正在開發最簡單的功能時,開發人員可能會使用正在開發的目標系統。因此,開發和測試這些功能變得更加容易。
創建者:Visual Paradigm Enterprise , Professional , Standard , Modeler
創建上下文級 DFD
上下文級DFD,也稱為0級DFD,將整個系統視為單個進程,強調系統與外部實體之間的交互。讓我們繪製一個上下文 DFD。
- 要創建 DFD,請從工具欄中選擇圖表 > 新建。
- 在 New Diagram 窗口中,選擇 Data Flow Diagram 並單擊 Next。
- 輸入 Context Diagram 作為圖表名稱,然後單擊 OK 確認。
- 將圖命名為 Context Diagram。
- 我們需要創建主進程。將 流程 從圖表工具欄拖到圖表。將其命名為 Online Bookstore。我們將以在線書店為例,向您展示如何創建多層次 DFD。
- 可以想像,客戶將通過該系統訂購書籍。因此,將外部實體添加到圖表並將其命名為 Customer。與創建流程一樣,您可以通過將外部實體從圖表工具欄拖動到圖表來創建外部實體。
- 數據流用於表示系統不同部分之間的數據移動。在這種情況下,“訂單”是客戶創建並提交到系統的數據。因此,創建從 Customer 到 Online Bookstore的數據流。為此,請將鼠標指針移到 Customer 上。拖出資源目錄按鈕。
- 在Online Bookstore上釋放鼠標按鈕, 然後從 Resource Catalog 中選擇 Data Flow。這將創建一個數據流連接器。
- 將其命名為 order。
- 書店最終會將書籍交付給客戶。利用資源目錄創建從 Online Bookstore 到 Customer的數據流。命名流程 有序書籍。
- 這就是上下文圖的全部內容。由於我們將整個系統視為單個流程,因此在此 DFD 級別中只創建了一個流程形狀。在下一部分中,您將分解 在線書店 流程並繪製其細節。
創建 1 級 DFD
在本節中,您將繪製 1 級 DFD 以展示在線書店的主要功能。
- 右鍵單擊 在線書店 ,然後從彈出菜單中選擇分解。
2. 連接到所選流程的數據存儲和/或外部實體將在級別 1 DFD 中引用。因此,當系統提示您將它們添加到新圖表時,請單擊“是”進行確認。請注意,新的 DFD 最初看起來應該與上下文圖非常相似。每個元素都應該保持不變,除了主要過程(這個新的 DFD 分解的過程)現在已經消失並被一個空白區域替換(待詳細說明)。
3. 右鍵單擊圖表背景,然後從彈出菜單中選擇重命名…。將圖表命名為 Level 1 DFD。
4. 有一個接收客戶訂單並將其存儲到數據庫中的流程。讓我們創建一個流程 Receive Order 和一個數據存儲 Orders。在兩者之間添加數據流。
5.當訂單無效時,應該有另一個過程涉及聯繫客戶並澄清他/她的需求。創建一個流程 處理無效訂單。在形狀之間添加合適的數據流。在這裡,您可以使用雙向數據流來表示對話流。
6. 還有另一個處理裝運的過程。創建 發貨訂單 流程。同樣,在形狀之間添加適當的數據流。
這就是本教程的全部內容。根據感興趣的區域,您可以創建更多級別以更詳細地顯示系統。可以想像, Ship Order 流程可以細化為更小的功能單元(流程),如包裝、準備發票、安排交付等。
使用Visual Paradigm Online親自嘗試
- 在線數據流圖軟件中可編輯的免費數據流圖示例和模板:Visual Paradigm Online。
- 使用模板作為起點來創建您自己的數據流圖。