「数据架构」什么是数据流程图(DFD)?如何绘制DFD?
什么是數據流程圖(DFD)?
一圖勝千言。數據流圖(DFD)是可視化系統中信息流的傳統方法。一個整潔而清晰的DFD可以圖形化地描述大量的系統需求。它可以是手動的,自動的,或者兩者的結合。
它顯示了信息是如何進入和離開系統的,是什么改變了信息,以及信息存儲在哪里。DFD的目的是顯示整個系統的范圍和邊界。它可以作為系統分析人員與系統中充當重新設計系統起點的任何人員之間的通信工具。
它通常以一個上下文圖作為DFD圖的第0級開始,DFD圖是整個系統的簡單表示。為了進一步詳細說明,我們深入到第1層圖,其中包含從系統的主要功能分解而來的較低層功能。當需要進一步分析時,這可能會繼續發展成一個2級圖。升級到3級、4級等等是可能的,但超出3級的情況并不常見。請記住,分解特定函數的細節級別取決于該函數的復雜性。
圖中的符號
現在,我們想簡要地向您介紹一些您將在下面的教程中看到的圖表符號。
外部實體
外部實體可以表示人、系統或子系統。它是某些數據的來源或流向。就業務流程而言,它是我們所研究的系統的外部。由于這個原因,人們習慣于在圖的邊緣繪制外部實體。
過程
流程是進行數據操作和轉換的業務活動或功能。可以將流程分解為更細的細節級別,以表示如何在流程中處理數據。
數據存儲
數據存儲表示進程所需和/或產生的持久數據的存儲。下面是一些數據存儲的例子:成員表單、數據庫表等。
數據流
數據流表示信息流,其方向由箭頭表示,箭頭顯示在流連接器的末端。
在本教程中我們將做什么?
在本教程中,我們將向您展示如何繪制上下文關系圖以及級別1的關系圖。
如何繪制上下文級DFD?
要創建新的DFD,從工具欄中選擇Diagram > new。
在New Diagram窗口中,選擇Data Flow Diagram并單擊Next。
輸入上下文作為關系圖名稱,然后單擊OK進行確認。
我們現在畫出第一個過程。從關系圖工具欄中,將流程拖動到關系圖上。命名新的過程系統。
接下來,讓我們創建一個外部實體。將鼠標指針放在系統上。按下并拖出右上角的資源目錄按鈕。
釋放鼠標按鈕并從資源目錄中選擇雙向數據流->外部實體。
將新的外部實體命名為Customer。
現在,我們將對系統訪問的數據庫進行建模。使用資源目錄創建來自系統的數據存儲,其中包含雙向數據流。
命名新的數據存儲庫存。
創建另外兩個數據存儲,Customer和Transaction,如下所示。我們剛剛完成了上下文關系圖。
如何繪制一級DFD?
我們將分解系統過程以形成一個新的DFD,而不是從頭創建另一個圖。右鍵單擊System并從彈出菜單中選擇分解。
連接到所選流程(系統)的數據存儲和/或外部實體將在第1級DFD中引用。因此,當提示您將它們添加到新圖表中時,單擊Yes以確認。
注意:新的DFD最初看起來應該與上下文關系圖非常相似。每個元素都應該保持不變,除了系統過程(從這個新的DFD分解而來)現在已經沒有了,取而代之的是一個空格(待闡述)。
重新命名新的DFD。右鍵點擊它的背景并選擇Rename…在關系圖的名稱框中,輸入Level 1 DFD并按回車鍵。
在中心創建三個流程(流程訂單、發貨、收貨),如下圖所示。那是系統過程的老地方,我們把它們放在那里來闡述系統。
連接數據流的連接線
本節中的其余步驟是關于連接圖中的模型元素的。例如,客戶在下訂單進行處理時提供訂單信息。
將鼠標指針放在客戶上方。拖出資源目錄圖標并按進程順序釋放鼠標按鈕。
從資源目錄中選擇數據流。
新訂單信息有流程說明。
同時,流程訂單流程也從數據庫中接收客戶信息來處理訂單。
使用資源目錄創建從客戶到處理訂單的數據流。
可選:如果您愿意,可以將數據流標記為“客戶信息”。但是,由于這個數據流在視覺上是相當不言自明的,我們將在這里省略它。
通過組合來自客戶(外部實體)的訂單信息和來自客戶(數據存儲)的客戶信息,Process order (Process)然后在數據庫中創建一個事務記錄。創建從流程順序到事務的數據流。
繪畫技巧:
若要重新排列連接線,請將鼠標指針置于要添加軸心點的位置。然后你會看到一個氣泡在你的鼠標指針。按下并拖動到需要的位置。
到目前為止,您的圖表應該是這樣的。
一旦存儲了事務,接下來就是傳遞過程。因此,創建一個來自Process Order (Process)的數據流來交付好(Process)。
發貨時需要閱讀交易信息(即訂單號,以便包裝正確的產品發貨)。從事務(數據存儲)創建一個數據流來交付好(流程)。
注意:如果缺少空間,請隨意移動形狀以騰出空間。
Ship Good還需要讀取客戶的送貨地址信息。從客戶(數據存儲)創建一個數據流來交付好(流程)。
Ship Good然后更新庫存數據庫以反映所運貨物。創建一個從發貨(流程)到庫存(數據存儲)的數據流。更新的產品記錄。
一旦訂單到達客戶手中,發放收據的過程就開始了。其中,收據是根據存儲在數據庫中的事務記錄準備的。因此,讓我們從事務(數據存儲)創建一個數據流來發出收據(流程)。
然后向客戶發出收據。讓我們創建一個從問題收據(流程)到客戶(外部實體)的數據流。命名數據流接收。
您剛剛完成了第一級圖的繪制,它應該是這樣的。
如何提高DFD的可讀性?
上面完成的圖表看起來有點死板和忙碌。在本節中,我們將對連接器進行一些更改以提高可讀性。
右鍵單擊圖表(級別1 DFD)并選擇連接器>曲線。圖中的連接器現在用曲線表示。
移動圖形,使圖表看起來不那么擁擠。
更多過程示例
下面的列表向您介紹了涉及不同業務和問題領域的各種數據流圖示例。其中一些包括使用多個上下文級別。
客戶服務系統
食品訂單系統
證券交易
超市的應用
車輛保養得寶
視頻租賃存儲
資源
Order-Processing.vpp
Order-Processing_result.vpp
本教程的讀者也可以閱讀
如何編寫有效的用例?
數據流程圖:實例-訂餐系統
如何使用ERD對關系數據庫設計建模?
如何開發現有的和將來的業務流程?
數據流程圖與實例-客戶服務系統
| 本文 | http://jiagoushi.pro/node/857 | |
| 討論:請加入知識星球【首席架構師圈】或者加微信小號【jiagoushi_pro】或者加QQ群【11107777】 | ||
| 公眾號 | 【jiagoushipro】 【超級架構師】 精彩圖文詳解架構方法論,架構實踐,技術原理,技術趨勢。 我們在等你,趕快掃描關注吧。 | |
| 微信小號 | 【cea_csa_cto】 50000人社區,討論:企業架構,云計算,大數據,數據科學,物聯網,人工智能,安全,全棧開發,DevOps,數字化. | |
| QQ群 | 【11107767】深度交流企業架構,業務架構,應用架構,數據架構,技術架構,集成架構,安全架構。以及大數據,云計算,物聯網,人工智能等各種新興技術。 加QQ群,有珍貴的報告和干貨資料分享。 | |
| 視頻號 | 【超級架構師】 1分鐘快速了解架構相關的基本概念,模型,方法,經驗。 每天1分鐘,架構心中熟。 | |
| 知識星球 | 向大咖提問,近距離接觸,或者獲得私密資料分享。 | 知識星球【首席架構師圈】 |
| 微信圈子 | 志趣相投的同好交流。 | 微信圈子【首席架構師圈】 |
| 喜馬拉雅 | 路上或者車上了解最新黑科技資訊,架構心得。 | 【智能時刻,架構君和你聊黑科技】 |
| 知識星球 | 認識更多朋友,職場和技術閑聊。 | 知識星球【職場和技術】 |
| 微博 | 【智能時刻】 | 智能時刻 |
| 嗶哩嗶哩 | 【超級架構師】 | |
| 抖音 | 【cea_csa_cto】超級架構師 | |
| 快手 | 【cea_csa_cto】超級架構師 | |
| 小紅書 | 【cea_csa_cto】超級架構師 | 首席架構師智庫 |
謝謝大家關注,轉發,點贊和點在看。
總結
以上是生活随笔為你收集整理的「数据架构」什么是数据流程图(DFD)?如何绘制DFD?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 异或校验算法 c语言程序,C# 异或校验
- 下一篇: 中国量子点(QD)显示行业市场供需与战略