1. 程式人生 > >資料流圖的設計

資料流圖的設計

        資料流圖(Data FlowDiagram,簡稱DFD)是一種圖形化技術,它描繪資訊流和資料從輸入移動到輸出的過程中所經歷的變換,其既提供了功能建模機制也提供了資訊建模機制。

  一、DFD中的基本符號:

  資料流圖有四種基本圖形符號:
  →:箭頭,表示資料流
  〇:圓或橢圓,表示加工,即變換資料的處理
  =:雙槓(或開口矩形),表示資料儲存
  □:方框,表示資料的源點或終點

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

  三、畫資料流圖的步驟:


  (1)首先畫系統的輸入輸出,即先畫頂層資料流圖。頂層流圖只包含一個加工,用以表示被開發的系統,然後考慮該系統有哪些輸入資料、輸出資料流。頂層圖的作用在於表明被開發系統的範圍以及它和周圍環境的資料交換關係。
  (2)畫系統內部,即畫下層資料流圖。不再分解的加工稱為基本加工。一般將層號從0開始編號,採用自頂向下,由外向內的原則。畫0層資料流圖時,分解頂層流圖的系統為若干子系統,決定每個子系統間的資料介面和活動關係。
  (3)注意事項:
  ①命名:不論資料流、資料儲存還是加工,合適的命名使人們易於理解其含義。
  ②畫資料流而不是控制流:資料流反映系統“做什麼”,不反映“如何做”,因此箭頭上的資料流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。
  ③一般不畫物質流:資料流反映能用計算機處理的資料,並不是實物,因此對目標系統的資料流圖一般不要畫物質流。
  ④每個加工至少有一個輸入資料流和一個輸出資料流:反映出此加工資料的來源與加工的結果。
  ⑤編號:如果一張資料流圖中的某個加工分解成另一張資料流圖時,則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應編號。
  ⑥父圖與子圖的平衡:子圖的輸入輸出資料流同父圖相應加工的輸入輸出資料流必須一致,此即父圖與子圖的平衡。
  ⑦區域性資料儲存:當某層資料流圖中的資料儲存不是父圖中相應加工的外部介面,而只是本圖中某些加工之間的資料介面,則稱這些資料儲存為區域性資料儲存。
  ⑧提高資料流圖的易懂性:注意合理分解,要把一個加工分解成幾個功能相對獨立的子加工,這樣可以減少加工之間輸入、輸出資料流的數目,增加資料流圖的可理解性。

  四、資料流程圖的主要作用:

  1、便於使用者表達功能需求和資料需求及其聯絡
  2、便於兩類人員共同理解現行系統和規劃系統的框架
  3、清晰表達資料流的情況
  4、有利於系統建模

  五、常見錯誤檢測:
  1、資料流圖中所有圖形符號只能是4種基本符號
  2、資料流圖的主圖(非頂層圖)必須包含4中基本元素,缺一不可
  3、主圖的資料流必須封閉在外部實體之間,外部實體可以不只1個
  4、每個加工至少有1個輸入資料流和1個輸出資料流
  5、資料流圖中必須按層給加工框編號,編號需體現各個層次的關係
  6、任何資料流子圖均與上層的一個加工對應,且父圖與子圖平衡
  7、圖上每個元素都必須有名字
  8、資料流圖中不可夾帶控制流
  注:部分檔案不需要在上層圖中畫出。例如某檔案僅與某個單一的加工相關,則此檔案為部分檔案,只需要在表示該加工的子圖中畫出即可。