數據流圖

數據流圖

邏輯流向和邏輯變換過程
數據流圖(DFD)是結構化分析方法中使用的工具,它以圖形的方式描繪數據在系統中流動和處理的過程[1]。數據流圖有兩種典型結構,一是變換型結構,它所描述的工作可表示為輸入、主處理和輸出,呈線性狀态。數據流圖英文縮寫DFD(Data Flow Diagram)它是描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。頂層數據流圖隻含有一個加工表示整個系統;輸出數據流和輸入數據流為系統的輸入數據和輸出數據,表明系統的範圍,以及與外部環境的數據交換關系。
    中文名:數據流圖 外文名:Data Flow Diagram 類型:結構化系統分析方法表達工具 使用:軟件模型 結構類型:變換型結構事務型結構

簡介

數據流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數據在系統中流動和處理的過程,由于它隻反映系統必須完成的邏輯功能,所以它是一種功能模型。在結構化開發方法中,數據流圖是需求分析階段産生的結果。

數據流圖英文縮寫DFD(Data Flow Diagram)它是描繪信息流和數據從輸入移動到輸出的過程中所經受的變換。

數據流圖從數據傳遞和加工的角度,以圖形的方式刻畫數據流從輸入到輸出的移動變換過程。

數據流程圖包括:

a.指明數據存在的數據符号,這些數據符号也可指明該數據所使用的媒體;

b.指明對數據執行的處理的處理符号,這些符号也可指明該處理所用到的機器功能;

c.指明幾個處理和(或)數據媒體之間的數據流的流線符号;

d.便于讀、寫數據流程圖的特殊符号。

在處理符号的前後都應是數據符号。數據流程圖以數據符号開始和結束(除9.4規定的特殊符号外)

數據流圖有兩種典型結構,一是變換型結構,它所描述的工作可表示為輸入、主處理和輸出,呈線性狀态。另一種是事務型結構,這種數據流圖呈束狀,即一束數據流平行流入或流出,可能同時有幾個事務要求處理。

數據流

數據流是一組數據。在數據流圖中數據流用帶箭頭的線表示,在其線旁标注數據流名。在數據流圖中應該描繪所有可能的數據流向,而不應該描繪出現某個數據流的條件。

加工(處理)

在數據流圖中加工用圓圈表示,在圓圈内寫上加工名。一個處理框可以代表一系列程序、單個程序或者程序的一個模塊。

組成元素

數據流程圖中有以下幾種主要元素:

→:數據流。數據流是數據在系統内傳播的路徑,因此由一組成分固定的數據組成。如訂票單由旅客姓名、年齡、單位、身份證号、日期、目的地等數據項組成。由于數據流是流動中的數據,所以必須有流向,除了與數據存儲之間的數據流不用命名外,數據流應該用名詞或名詞短語命名。

□:數據源(終點)。代表系統之外的實體,可以是人、物或其他軟件系統。

○:對數據的加工(處理)。加工是對數據進行處理的單元,它接收一定的數據輸入,對其進行處理,并産生輸出。

〓:數據存儲。表示信息的靜态存儲,可以代表文件、文件的一部分、數據庫的元素等。

分層DFD

根據層級數據流圖分為頂層數據流圖、中層數據流圖和底層數據流圖。除頂層數據流圖外,其他數據流圖從零開始編号。

頂層數據流圖隻含有一個加工表示整個系統;輸出數據流和輸入數據流為系統的輸入數據和輸出數據,表明系統的範圍,以及與外部環境的數據交換關系。

中層數據流圖是對父層數據流圖中某個加工進行細化,而它的某個加工也可以再次細化,形成子圖;中間層次的多少,一般視系統的複雜程度而定。

底層數據流圖是指其加工不能再分解的數據流圖,其加工成為“原子加工”。

原則

在單張數據流圖時,必須注意以下原則:

1.一個加工的輸出數據流不應與輸入數據流同名,即使它們的組成成分相同。

2.保持數據守恒。也就是說,一個加工所有輸出數據流中的數據必須能從該加工的輸入數據流中直接獲得,或者說是通過該加工能産生的數據。

3.每個加工必須既有輸入數據流,又有輸出數據流。

4.所有的數據流必須以一個外部實體開始,并以一個外部實體結束。

5.外部實體之間不應該存在數據流。

DFD畫法

(一)确定系統的輸入輸出

由于系統究竟包括哪些功能可能一時難于弄清楚,可使範圍盡量大一些,把可能有的内容全部都包括進去。此時,應該向用戶了解“系統從外界接受什麼數據”、“系統向外界送出什麼數據”等信息,然後,根據用戶的答複畫出數據流圖的外圍。

(二)由外向裡畫系統的頂層數據流圖

首先,将系統的輸入數據和輸出數據用一連串的加工連接起來。在數據流的值發生變化的地方就是一個加工。接着,給各個加工命名。然後,給加工之間的數據命名。最後,給文件命名。

(三)自頂向下逐層分解,繪出分層數據流圖

對于大型的系統,為了控制複雜性,便于理解,需要采用自頂向下逐層分解的方法進行,即用分層的方法将一個數據流圖分解成幾個數據流圖來分别表示。

舉例說明

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

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

(3)注意事項。

①命名。不論數據流、數據存儲還是加工,合适的命名使人們易于理解其含義。

②畫數據流而不是控制流。數據流反映系統“做什麼”,不反映“如何做”,因此箭頭上的數據流名稱隻能是名詞或名詞短語,整個圖中不反映加工的執行順序。

③一般不畫物質流。數據流反映能用計算機處理的數據,并不是實物,因此對目标系統的數據流圖一般不要畫物質流。

④每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。

⑤編号。如果一張數據流圖中的某個加工分解成另一張數據流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應編号。

⑥父圖與子圖的平衡。子圖的輸入輸出數據流同父圖相應加工的輸入輸出數據流必須一緻,此即父圖與子圖的平衡。

⑦局部數據存儲。當某層數據流圖中的數據存儲不是父圖中相應加工的外部接口,而隻是此圖中某些加工之間的數據接口,則稱這些數據存儲為局部數據存儲。

⑧提高數據流圖的易懂性。注意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出數據流的數目,增加數據流圖的可理解性。

銷售管理系統

某企業銷售管理系統的功能為:

(1)接受顧客的訂單,檢驗訂單,若庫存有貨,進行供貨處理,即修改庫存,給倉庫開備貨單,并且将訂單留底;若庫存量不足,将缺貨訂單登入缺貨記錄

(2)根據缺貨記錄進行缺貨統計,将缺貨通知單發給采購部門,以便采購。

(3)根據采購部門發來的進貨通知單處理進貨,即修改庫存,并從缺貨記錄中取出缺貨訂單進行供貨處理。

(4)根據留底的訂單進行銷售統計,打印統計表給經理。

相關詞條

相關搜索

其它詞條