天天看點

資料流程圖

3.3 資料流圖(DFD)

    資料流圖,簡稱DFD,是SA方法中用于表示系統邏輯模型的一種工具,它以圖形的方式描繪資料在系統中流動和處理的過程,由于它隻反映系統必須完成的邏輯功能,是以它是一種功能模型。

下圖是一個飛機機票預訂系統的資料流圖,它反映的功能是: 旅行社把預訂機票的旅客資訊 (姓名、年齡、機關、身份證号碼、旅行時間、目的地等)輸入機票預訂系統。系統為旅客安排航班,列印出取票通知單(附有應交的賬款)。旅客在飛機起飛的前一天憑取票通知單交款取票,系統檢驗無誤,輸出機票給旅客。

資料流程圖

3.3.1 基本圖形符号

資料流圖有四種基本圖形符号:

資料流程圖

 :箭頭,表示資料流;

  〇:圓或橢圓,表示加工;

  = :雙杠,表示資料存儲;

  □:方框,表示資料的源點或終點。

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

    (2)加工(又稱為資料處理)。對資料流進行某些操作或變換。每個加工也要有名字,通常是動詞短語,簡明地描述完成什麼加工。在分層的資料流圖中,加工還應編号。

    (3)資料存儲(又稱為檔案),指暫時儲存的資料,它可以是資料庫檔案或任何形式的資料組織。

    (4)資料源點或終點,是本軟體系統外部環境中的實體(包括人員、組織或其他軟體系統),統稱外部實體。一般隻出現在資料流圖的頂層圖。

3.3.2畫資料流圖的步驟

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

資料流程圖

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

    (3)注意事項。

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

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

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

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

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

資料流程圖

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

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

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

  圖3-6給出了采用這套符号畫出的等價于圖3-2的DFD。

資料流程圖

3.3.3流程圖的執行個體

資料流程圖
資料流程圖
資料流程圖