1. 程式人生 > >數據流圖

數據流圖

對數 旅行 arch 模型 序號 gif 名稱 活動 過程

1、數據流圖(date flow diagram , DFD),它以圖形的方式描繪數據在系統中流動和處理的過程,由於它只反映系統必須完成的邏輯功能,所以它是一種功能模型。

2、數據流圖與流程圖的區別

a、數據流圖是從數據的角度來描述一個系統的,而流程圖則是從對數據加工的角度來描述系統的;

b、數據流圖中的箭頭是數據流,而流程圖中的箭頭則是控制流,它表達的是程序執行的次序;

c、數據流圖適合於宏觀地分析一個組織業務概況,而程序流程圖只適合於描述系統中某個加工的執行細節。

3、符號

技術分享圖片

4、編號

● 頂層圖只有一張,也稱0層,圖中的加工也只有一個,所以不必為其編號。

● 1層圖只有一張,圖中的加工號分別是1, 2 。

● 子圖就是父圖中被分解的加工號,子圖中的加工號是由圖號、圓點和序號組成,如:1.1,1.2 等等。

技術分享圖片

5、畫數據流圖的步驟

(1)首先畫系統的輸入輸出,即先畫頂層數據流圖。頂層流圖只包含一個加工,用以表示被開發的系統,然後考慮該系統有哪些輸入數據、輸出數據流。頂層圖的作用在於表明被開發系統的範圍以及它和周圍環境的數據交換關系。下圖為飛機機票預訂系統的頂層圖。

技術分享圖片

技術分享圖片

(2)畫系統內部,即畫下層數據流圖。不再分解的加工稱為基本加工。一般將層號從0開始編號,采用自頂向下,由外向內的原則。畫0層數據流圖時,分解頂層流圖的系統為若幹子系統,決定每個子系統間的數據接口和活動關系。例如,在上面的機票預訂系統按功能可分成兩部分,一部分為旅行社預訂機票,另一部分為旅客取票,兩部分通過機票文件的數據存儲聯系起來,0層數據流圖。


(3)註意事項。
①命名。不論數據流、數據存儲還是加工,合適的命名使人們易於理解其含義。
②畫數據流而不是控制流。數據流反映系統“做什麽”,不反映“如何做”,因此箭頭上的數據流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。
③一般不畫物質流。數據流反映能用計算機處理的數據,並不是實物,因此對目標系統的數據流圖一般不要畫物質流。
④每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。
⑤編號。如果一張數據流圖中的某個加工分解成另一張數據流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應編號。

技術分享圖片
⑥父圖與子圖的平衡。子圖的輸入輸出數據流同父圖相應加工的輸入輸出數據流必須一致,此即父圖與子圖的平衡。
⑦局部數據存儲。當某層數據流圖中的數據存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數據接口,則稱這些數據存儲為局部數據存儲。
⑧提高數據流圖的易懂性。註意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出數據流的數目,增加數據流圖的可理解性。

再貼2個其他系統的圖

技術分享圖片

技術分享圖片

數據流圖