翻譯|實施案例|編輯:楊鵬連|2020-12-01 14:32:54.607|閱讀 422 次
概述:數據流圖(DFD)提供了系統內信息(即數據)流的直觀表示。通過繪制數據流程圖,您可以了解參與系統流程的人員所提供和傳遞的信息,完成流程所需的信息以及需要存儲和訪問的信息。本文以證券交易平臺為例,介紹和解釋數據流圖(DFD)。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Visual Paradigm是包含設計共享、線框圖和數據庫設計新特性的企業項目設計工具。現在你只需要這樣單獨的一款模型軟件 Visual Paradigm就可以完成用UML設計軟件,用BPMN去執行業務流程分析,用ERD企業設計數據庫的任務。Visual Paradigm年終鉅惠來襲,Visual Paradigm Modeler 訂閱1年只需666元,現在搶購立享優惠!
數據流圖(DFD)提供了系統內信息(即數據)流的直觀表示。通過繪制數據流程圖,您可以了解參與系統流程的人員所提供和傳遞的信息,完成流程所需的信息以及需要存儲和訪問的信息。本文以證券交易平臺為例,介紹和解釋數據流圖(DFD)。
證券交易平臺示例
上下文DFD
下圖顯示了為證券交易平臺繪制的上下文數據流程圖。它包含一個過程(形狀),代表要建模的系統,在本例中為“證券交易平臺”。它還顯示了將與系統交互的參與者,稱為外部實體。在此示例中,CS Assistant,客戶和經紀人是將與系統進行交互的實體。在流程與外部實體之間,存在數據流(連接器),這些數據流指示實體與系統之間存在信息交換。
上下文DFD是數據流模型的入口。它僅包含一個進程,并且不顯示任何數據存儲。
1級DFD下圖顯示了1級DFD,它是上下文DFD中所示的證券交易平臺流程的分解(即分解)。通讀該圖,然后我們將基于此圖介紹一些關鍵概念。
根據該圖,我們知道客戶服務助理會向“開設帳戶”流程提供客戶詳細信息。結果是將客戶明細存儲在客戶數據存儲中,將帳戶明細存儲在帳戶數據存儲中。盡管我們說過嘗試存儲客戶和帳戶詳細信息是在客戶服務助理提供詳細信息之后進行的,但數據流程圖并不意味著這種情況。我們的常識使我們以自然理解圖表的方式來解釋它。嚴格來說,該圖僅告訴我們“開設帳戶”流程收到的信息客戶詳細信息,并生成客戶和帳戶詳細信息,但未指定訂單。請注意,數據流圖不會以什么方式和以什么順序來回答整個系統中使用的信息。如果此信息很重要且值得一提,請考慮使用BPMN業務流程圖或UML活動圖之類的圖對其進行建模。
流程Check Transaction從交易數據存儲中接收交易明細,并將其傳遞給客戶。
一個客戶能存入現金通過提供存款金額,結果是更新的帳戶余額存儲在客戶數據存儲。
同樣,客戶可以提取現金。結果是他將收到提款金額,并且更新的帳戶余額將存儲在帳戶數據存儲區中。
最后,客戶和經紀人都可以啟動下訂單過程,這導致交易明細存儲在交易數據存儲中。下訂單流程還將交易詳細信息傳遞到證券交易所中心,該中心是系統范圍之外的實體。在下一節中,我們將介紹一種表示這種實體的方法。
2級DFD
就像上下文DFD中的流程一樣,級別1 DFD中的流程也可以分解為更深層次的流程,甚至可以分解成更多層次的流程詳細信息。下圖顯示了下訂單流程的2級DFD 。
根據此圖表,我們知道,客戶可以進行下訂單(在線)通過提供訂購詳細而經紀人可以進行下訂單(電話)通過提供也令細節; 在兩種情況下,都將交易細節存儲在交易數據存儲中并傳遞到證券交易中心。
使用構造型為“特殊類型”實體建模
刻板印象和標記值是對象管理組(OMG)引入的一種可擴展性機制。它允許設計人員擴展UML的詞匯表,以便創建新的模型元素。作為一種軟件設計工具,Visual Paradigm將對原型的支持擴展到非UML標準,例如DFD和ERD。以證券交易平臺為例,我們可以為外部實體定義原型“第三方”。具有指定原型的外部實體被稱為“一種第三方實體”。
注意細節級別
在此數據流圖示例中,標記數據時,多次使用單詞“ details”。我們有“客戶詳細信息”,“交易詳細信息”等。如果我們將其明確寫為“客戶名稱,電子郵件地址,工作,地址”以及“庫存數量,金額,投標價格”怎么辦?它是否正確?好吧,這個問題沒有確定的答案,但是在做出決定時嘗試問自己一個問題。為什么要繪制DFD?
在大多數情況下,數據流程圖是在系統開發的早期階段繪制的,其中許多細節尚待確認。諸如“詳細信息”,“信息”,“憑證”之類的通用術語的使用無疑為討論留下了空間。但是,使用通用術語可能會缺乏細節,從而使設計失去其用處。因此,這實際上取決于您的設計目的。
不要透支
在數據流程圖中,我們專注于系統與外部各方之間的交互,而不是接口之間的內部通信。因此,接口與所使用的數據存儲之間的數據流被認為是超出范圍的,因此不應在圖中顯示。
不要混淆數據流和流程流
有些設計人員看到連接器從數據存儲連接到流程時可能會感到不舒服,而看不到該圖上以某種方式顯示了數據請求的步驟。其中一些會嘗試通過在流程和數據存儲之間添加連接器來表示請求,將其標記為“請求”或“對某物的請求”,這是錯誤的。
請記住,數據流程圖是為表示信息交換而設計的。數據流程圖中的連接器用于表示數據,而不用于表示過程流,步驟或其他任何內容。當我們將以數據存儲結尾的數據流標記為“請求”時,從字面上看,這意味著我們正在將請求作為數據傳遞到數據存儲中。盡管在實現級別可能是這種情況,因為某些DBMS確實支持使用函數,這些函數會吸收一些值作為參數并返回結果,但在數據流程圖中,我們傾向于將數據存儲視為唯一的數據持有人,而不是具有任何處理能力。如果要對系統流或流程進行建模,請改用UML活動圖或BPMN業務流程圖。如果要對數據存儲的內部結構建模,請使用實體關系圖。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: