數據流圖的畫法

數據流圖的畫法數據庫

數據流圖也稱爲數據流程圖date flow diagram , DFD,是一種便於用戶理解和分析系統數據流程的圖形工具,他擺脫了系統和具體內容,精確的在邏輯上描述系統的功能、輸入、輸出和數據存儲等,是系統邏輯模型的重要組成部分。工具

數據流圖的基本組成成分設計

數據流:是由一組固定成分的數據組成,表示數據的流向。值得注意的是,數據流圖中描述的是數據流,而不是控制流。除了流向數據存儲或從數據存儲流出的數據沒必要命名外,每一個數據流必需要有一個合適的名字,以反映該數據流的含義。接口

加工:加工描述了輸入數據流到輸出數據之間的變換,也就是輸入數據流通過什麼處理後變成了輸出數據。每一個加工都有一個名字和編號。編號能反映該加工位於分層的數據流圖的哪一個層次和哪張圖中,可以看出它是由哪一個加工分解出來的子加工。開發

數據存儲:數據存儲表示暫時存儲的數據。每一個數據存儲都有一個名字。博客

外部實體:外部實體是存在於軟件系統以外的人員或組織,他指出數據所須要的發源地或系統所產生的數據的歸屬地。it

                       

    

   外部實體               加工             數據流軟件

分層數據流圖的設計方法        date

第一步,畫子系統的輸入輸出方法

把整個系統視爲一個大的加工,而後根據數據系統從哪些外部實體接收數據流,以及系統發送數據流到那些外部實體,就能夠畫出輸入輸出圖。這張圖稱爲頂層圖。

第二步,畫子系統的內部

把頂層圖的加工分解成若干個加工,並用數據流將這些加工鏈接起來,使得頂層圖的輸入數據通過若干加工處理後,變成頂層圖的輸出數據流。這張圖稱爲0層圖。從一個加工畫出一張數據流圖的過程就是對加工的分解。

能夠用下述方法來肯定加工:

在數據流的組成或值發生變化的地方應該畫出一個加工,這個加工的功能就是實現這一變化,也能夠根據系統的功能決定加工。

肯定數據流的方法

用戶把若干數據看成一個單位來處理(這些數據一塊兒到達、一塊兒處理)時,能夠把這些數據當作一個數據流。

關於數據存儲

對於一些之後某個時間要使用的數據,能夠組織成爲一個數據存儲來表示。

第三步,畫加工的內部

把每一個加工看做一個小系統,把加工的輸入輸出數據流當作小系統的輸入輸出流。因而能夠象畫0層圖同樣畫出每一個小系統的加工的DFD圖。

第四步,畫子加工的分解圖

對第三步分解出來的DFD圖中的每一個加工,重複第三步的分解過程,直到圖中還沒有分解的加工都是足夠簡單的(即不可再分解)。至此,獲得了一套分層數據流圖。

第五步,對數據流圖和加工編號

對於一個軟件系統,其數據流圖可能有許多層,每一層又有許多張圖。爲了區分不一樣的加工和不一樣的DFD子圖,應該對每張圖進行編號,以便於管理。

●     頂層圖只有一張,圖中的加工也只有一個,因此沒必要爲其編號。

●     0層圖只有一張,圖中的加工號分別是0.一、0.二、…,或者1, 2 。

●     子圖就是父圖中被分解的加工號。

●     子圖中的加工號是由圖號、圓點和序號組成,如:1.12,1.3 等等。

應該注意的問題:

1.       應適當的爲數據流、加工、數據存儲以及外部實體命名,名字應該反映該成分的實際含義,避免使用空洞的名字。

2.       畫數據流圖,不是畫控制流。

3.       一個加工的輸出數據流,不該與輸入數據流同名,及時他們的組成徹底相同。

4.       容許一個加工有多條數據流流向另外一個加工,也容許一個加工有兩條相同的輸出數據流流向不一樣的加工。

5.       保持父圖與子圖的平衡。也就是說,父圖中的某加工的輸入輸出流必須與他的子圖的輸入輸出數據流在數量上和名字上相同。值得注意的是,若是父圖中的一個輸入 (輸出)數據流對應於子圖中的幾個輸入(輸出)數據流,而子圖中組成這些數據流的數據項的全體正好是父圖中的這一個數據流,那麼他們仍然算是平衡的。

6.       在自頂向下的分解過程當中,若一個數據存儲首次出現時,只與一個加工有關係,那麼這個數據存儲應做爲這個加工的內部文件而沒必要畫出。

7.       保持數據守恆,也就是,一個加工的全部輸出數據流中的數據必須能從該加工的輸出流中直接得到,或者經過該加工能產生的數據。

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

9.       在整套數據流圖中,每一個數據存儲必須既有讀的數據流,又有寫的數據流。可是在某張子圖中,可能只有讀沒有寫,或者只有寫沒有讀。

特別注意上面的幾點,都是考試的目標。近兩年考試的內容都集中到二、五、六、8的幾點上。

例如:

數據流圖(DFD)

      數據流圖,簡稱DFD,是SA方法中用於表示系統邏輯模型的一種工具,它以圖形的方式描繪數據在系統中流動和處理的過程,因爲它只反映系統必須完成的邏輯功能,因此它是一種功能模型。

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

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客

3.3.1 基本圖形符號

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

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客 :箭頭,表示數據流;

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

    = :雙槓,表示數據存儲;

    □:方框,表示數據的源點或終點。

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

      (2)加工(又稱爲數據處理)。對數據流進行某些操做或變換。每一個加工也要有名字,一般是動詞短語,簡明地描述完成什麼加工。在分層的數據流圖中,加工還應編號。

      (3)數據存儲(又稱爲文件),指暫時保存的數據,它能夠是數據庫文件或任何形式的數據組織。

      (4)數據源點或終點,是本軟件系統外部環境中的實體(包括人員、組織或其餘軟件系統),統稱外部實體。通常只出如今數據流圖的頂層圖。

3.3.2畫數據流圖的步驟

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

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客

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

      (3)注意事項。

      ①命名。不論數據流、數據存儲仍是加工,合適的命名令人們易於理解其含義。

      ②畫數據流而不是控制流。數據流反映系統「作什麼」,不反映「如何作」,所以箭頭上的數據流名稱只能是名詞或名詞短語,整個圖中不反映加工的執行順序。

      ③通常不畫物質流。數據流反映能用計算機處理的數據,並非實物,所以對目標系統的數據流圖通常不要畫物質流。

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

      ⑤編號。若是一張數據流圖中的某個加工分解成另外一張數據流圖時,則上層圖爲父圖,直接下層圖爲子圖。子圖及其全部的加工都應編號。

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客

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

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

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

  圖3-6給出了採用這套符號畫出的等價於圖3-2的DFD。

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客

3.3.3流程圖的實例

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客

數據流圖的畫法轉載 - 揚揚 - yang_ping111的博客

相關文章
相關標籤/搜索