資料流圖DFD
阿新 • • 發佈:2019-01-10
資料流圖,Data Flow Diagram,簡稱DFD,是SA方法中用於表示系統邏輯模型的一種工具。它以圖形的方式描述資料在系統中流動和處理的過程,由於它只反映系統必須完成的邏輯功能,從資料傳遞和加工的角度,以圖形的方式刻畫資料流從輸入到輸出的移動變換過程。所以它是一種功能模型。
1,定義
流圖是系統的邏輯模型,用來描繪資料流在系統中流動和處理的情況。它以圖形的方式刻畫資料流從輸入到輸出的移動變換過程,是邏輯系統的圖形表示。不涉及硬體,軟體,資料結構,和檔案組織,與物理描述無關。
2,特性
(1)抽象性(2)概括性(3)層次性
3,基本元素和組成
符號:
(1),→:資料流。
資料流是資料在系統內傳播的路徑,因此由一組成分固定的資料組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等資料項 組成。由於資料流是流動中的資料,所以必須有流向,除了與資料儲存之間的資料流不用命名外,資料流應該用名詞或名詞短語命名。
注意資料流符號:
a,資料流名應直觀地反映資料流的含義。
b,資料流應統一編號。編號要與資料字典一致。
c,資料流的流向,有以下五種情況
需要註明資料流名的:
P→P,S→P,P→D
不需要註明的:
P→F,F→P
d,資料流經過一個加工後其資料結構,資料含義,資料的順序一定會有所變化,否則這個加工就沒有意義了。
e,兩個實體間可以有多個數據流存在,但DFD並不表明他們之間的任何關係,諸如次序,主次等。
(2),□:外部實體(資料來源,終點,Date Flow)。
外部實體代表系統之外的實體, 由一個或一組確定的資料項組成。可以是人、物或其他軟體系統。
外部實體分兩種:
a,資料來源:最初始的資料的來源。
b,終點:資料的去向。
(3),○:資料處理。
對資料的加工(處理,處理過程,資料加工)。加工是對資料進行處理的單元,它接收一定的資料輸入,對其進行處理,併產生輸出。
(4),〓:資料儲存(檔案)。
表示資訊的靜態儲存,可以代表檔案、檔案的一部分、資料庫的元素等。
層次結構:
為了控制複雜性,採用“自頂向下逐層分解”的結構化分析方法。這種方法體現了分解和抽象的原則,把大問題分割成若干個小問題,方便研究。分層資料流圖的頂層稱為0層,它是第1層的父圖,而第1層既是0層圖的子圖,又是第2層圖的父圖,依此類推。
一套分層的資料流圖一般由頂層,底層,中間層組成。頂層資料流圖是系統的邊界。底層資料流圖由一些不再分解的加工組成,這些加工都已足夠簡單,稱為基本加工。在底層和頂層之間的是中間層,中間層資料流圖描述了某個加工的分解,而它的組成部分又要進一步分解。較大的系統中間層可達8、9層之多。在分層的資料流圖中,父圖中有幾個加工,它就可以有幾個子圖。
4,用途
(1)系統分析員用這種工具可以自頂向下分析系統資訊流程。(2)可以在圖上畫出需要計算機處理的部分。
(3)根據資料存貯,進一步作資料分析,向資料庫設計過渡。
(4)根據資料流向,定出存取方式。
(5)對應一個處理過程,用相應的語言,判定表等工具表達處理方法。
5,畫法
(1),先畫出頂層DFD(2),逐步分解,畫出中間各層DFD(層號,圖號,加工編號,)
(3),裝配平面資料流圖(PlaneDFD,PDFD)。
6,DFD的設計幾條原則
總原則:
(1)分解加工要自然。不能強行分割。明確系統系統介面。
(2)減少加工間聯絡(資料流),提高加工的獨立性。
(3)資料守恆。
判斷資料守恆的方法:
子圖所有外部輸入(輸出)資料流的合成是其父加工的所有輸入(輸出)資料流。
(4)均衡分解原則。儘量避免出現一些加工已經分解成為基本加工。而另一些加工還需要好多層的分解才能到達基本加工。
(5)合理佈局
(6)語法的正確性
(7)層次的合理劃分,和系統邊界的確定(8)可讀性。
具體原則:
1 在單張DFD中,必須滿足以下原則:(1) 一個加工的輸出資料流不應該與輸入資料流同名,即使它們的組成成分相同(流進和流出儲存檔案的資料流除外),資料流不能存在於 外部實體與外部實體之間,也不能存在於外部實體和資料儲存檔案之間;
(2) 保持資料守恆。一個加工所有輸出資料流中的資料必須能從該加工的輸入資料流中直接獲得,或者是通過該加工能產生的資料;
(3) 每個加工必須既有輸入資料流,又有輸出資料流;
(4) 所有的資料流都必須以一個加工開始,或以一個加工結束(資料流存在於加工與加工之間,加工與資料儲存檔案之間,加工與外部實 體之間)。
(5) 流向/流出資料儲存檔案的資料流名可以省略不寫。
2 在父圖與子圖之間,必須滿足以下原則:(1) 保持父圖與子圖的平衡。也就是說,父圖中某加工的輸入(輸出)資料流中的資料必須與它的子圖的輸入(輸出)資料流中的資料在數
量和名字上相同;
(2) 加工細節隱藏。根據抽象原則,在畫父圖時,只需畫出加工和加工之間的關係,而不必畫出各個加工內部的細節;
(3) 均勻分解。應該使一個數據流圖中的各個加工分解層次大致相同;
(1)簡化加工間關係。在資料流圖中,加工間的資料流越少,各加工就越相對獨立,所以應儘量減少加工間輸入輸出資料流的數目;
(2) 適當地為資料流、加工、檔案、源/宿命名,名字應反映該成分的實際意義,避免空洞的名字;
(3) 忽略枝節。應集中精力於主要的資料流,而暫不考慮一些例外情況、出錯處理等枝節性問題;
(4) 表現的是資料流而不是控制流;
(5) 在整套資料流圖中,每個檔案必須既有讀檔案的資料流又有寫檔案的資料流,但在某一張子圖中可能只有讀沒有寫或者只有寫沒有讀。
7,五個區別:(略)
資料流圖和資料流程圖的區別;
資料流圖與系統流程圖的區別;
資料流與程式流程圖的區別;
資料流與程式結構圖的區別;
資料流與控制流的區別。
8,值得注意的幾個問題
1,適當的命名。V+N。2,DFD表示的資料流,而不是控制流。
為了區別資料流和控制流,只需問一個問題:這條路線有什麼資料流過。
3,考慮穩定狀態。
4,忽略瑣碎的細節。
5,隨時準備重畫。
6,檢查資料流圖的正確性。
7,提高資料流的易讀性/
8,重新分解。1——n。
9,資料流必須加工。