數據流圖

       數據流圖(Data Flow Diagram,簡稱DFD)是一種圖形化技術,它描繪信息流和數據從輸入移動到輸出的過程中所經歷的變換,其既提供了功能建模機制也提供了信息建模機制。是結構化系統分析方法的主要表達工具及用於表示軟件模型的一種圖示方法。

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

 一、DFD中的基本符號:

    數據流圖有四種基本圖形符號:

    →:箭頭,表示數據流
    〇:圓或橢圓,表示加工,即變換數據的處理
    =:雙槓(或開口矩形),表示數據存儲
    □:方框,表示數據的源點或匯點

 

二、DFD中的4中元素:

    (1)數據流:數據流是數據在系統內傳播的路徑,因此由一組成分固定的數據組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等數據項組成。 數據流是流   動中的數據,所以必須有流向,除了與數據存儲之間的數據流不用命名外,數據流應該用名詞或名詞短語命名。
    (2)加工(數據處理):對數據流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什麼加工。在分層的數據流圖中,加工還應編號。
    (3)數據存儲(文件):指暫時保存的數據,它可以是數據庫文件或任何形式的數據組織。
    (4)數據源點或終點(外部實體):是本軟件系統外部環境中的實體(包括人員、組織或其他軟件系統),統稱外部實體。一般只出現在數據流圖的頂層圖。

 

三、畫數據流圖的步驟:

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

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


                                                          

    (3)注意事項:

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

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

       

四、數據流程圖的主要作用:

    1、便於用戶表達功能需求和數據需求及其聯繫

    2、便於兩類人員共同理解現行系統和規劃系統的框架

    3、清晰表達數據流的情況 

    4、有利於系統建模

 

五、常見錯誤檢測:

    1、數據流圖中所有圖形符號只能是4種基本符號

    2、數據流圖的主圖(非頂層圖)必須包含4中基本元素,缺一不可

    3、主圖的數據流必須封閉在外部實體之間,外部實體可以不只1個

    4、每個加工至少有1個輸入數據流和1個輸出數據流

    5、數據流圖中必須按層給加工框編號,編號需體現各個層次的關係

    6、任何數據流子圖均與上層的一個加工對應,且父圖與子圖平衡

    7、圖上每個元素都必須有名字

    8、數據流圖中不可夾帶控制流

    9、實體和實體之間不能有數據流

   10、存儲文件和存儲文件之間不能有數據流


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章