1
- 數據流圖裏包含的內容
-
數據流圖描述的是系統的邏輯模型,圖中沒有任何具體的物理元素,只是描繪信息在系統中流動和處理的情況。因爲數據流圖是邏輯系統的圖形表示,即使不是專業的計算機技術人員也能容易理解。
不要將數據流圖(DFD)與系統流程圖、程序流程圖相混淆。
2
- 數據流圖裏的符號
數據流圖裏的符號也極爲簡單,只有四個:1)外部實體;2)處理;3)連線;4)數據存儲。這四個符號也有兩種。一種是Yourdon & Coad法,另一種是Gane & Sarson法。只是略有不同而已。如果你使用Microsoft Visio,那麼你只能使用Gane & Sarson法了。
需要注意的是:
1)處理並不一定是程序。它可以是一系統程序、單個程序或程序的一個模塊,甚至可以是人工處理過程;
2)數據存儲並不等同於一個文件。它可以是一個文件、文件的一部分、數據庫元素或記錄的一部分;它代表的是靜態的數據。
3)數據流也是數據,是動態的數據。
3
- 分離數據流圖中的元素
-
假設一家工廠的採購部門每天需要一張定貨報表。報表按零件編號排序,表中列出所有需要再次定貨的零件。對於每個需要再次定貨的零件應該列出下述數據:零件編號、零件名稱、定貨數量、目前價格、主要供應商、次要供應商。零件入庫或出席稱爲事務,通過放在倉庫中的CRT終端把事務報告給定貨系統。當某種零件的庫存數量少於庫存臨界值時就應該再次定貨。
源點/終點
(外部實體)
- 採購員
- 倉庫管理員
數據處理
- 產生報表
- 處理事務
數據流 - 定貨報表
零件編號
零件名稱
定貨數量
目前價格
主要供應商
次要供應商 - 事務
零件編號
事務類型
數量
數據存儲 - 定貨信息(見定貨報表)
- 庫存清單
零件編號
庫存量
庫存量臨界值
4
- 逐步分解地畫出數據流圖
-
第一步,畫出最概括的系統模型。因爲任何系統實質上都是由若干個數據源點/終點以及一個處理組成。這個處理就代表了系統對數據加工變換的基本功能。
對上圖進行細化
再細化一點
勾畫出邊界
最後細化一下
5
- 命名的方法
-
1)爲數據流(或數據存儲)命名
A.名字應該代表整個數據流(或數據存儲)的內容;
B.不要使用空洞的、缺乏具體含義的名字(如“數據”、“輸入”);
C.如果爲某個數據流(或數據存儲)起名字時遇到困難,則很可能是因爲對數據流圖的分解不恰當造成的,應該試試重新分解數據流圖;2)爲處理命名
A.通常先爲數據流命名,然後再爲與之相關聯的處理命名;
B.名字應該反映整個處理的功能;
C.應該儘量避免空洞籠統的動詞做名字,如“處理”、“加工”;
D.通常用一個動詞命名,如果必須用兩個動詞才能描述整個處理的功能,則可能要把這個處理分解成兩個處理更恰當;
E.如果在爲某個處理命名時遇到困難,則很可能是發現了分解不當的情況,應考慮重新分解。3)爲數據源點/終點命名
通常,爲“數據源點/終點”命名時,採用它們在問題域中習慣使用的名字(如“倉庫管理員”、“採購員”)。