資料流圖的畫法

來源:互聯網
上載者:User

標籤:style   blog   http   使用   檔案   資料   

資料流圖的畫法

資料流圖也稱為資料流程圖date flow diagram , DFD,是一種便於使用者理解和分析系統資料流程的圖形工具,他擺脫了系統和詳細內容,精確的在邏輯上描寫敘述系統的功能、輸入、輸出和資料存放區等,是系統邏輯模型的重要組成部分。

資料流圖的基本組成成分

資料流:是由一組固定成分的資料群組成,表示資料的流向。值得注意的是,資料流圖中描寫敘述的是資料流,而不是控制流程。除了流向資料存放區或從資料存放區流出的資料不必命名外,每一個資料流必需要有一個合適的名字,以反映該資料流的含義。

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

資料存放區:資料存放區表示臨時儲存的資料。每一個資料存放區都有一個名字。

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

                       

    

   外部實體               加工             資料流

分層資料流圖的設計方法        

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

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

第二步,畫子系統的內部

把頂層圖的加工分解成若干個加工,並用資料流將這些加工串連起來,使得頂層圖的輸入資料經過若干加工處理後,變成頂層圖的輸出資料流。這張圖稱為0層圖。從一個加工畫出一張資料流圖的過程就是對加工的分解。

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

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

確定資料流的方法

使用者把若干資料當作一個單位來處理(這些資料一起到達、一起處理)時,能夠把這些資料看成一個資料流。

關於資料存放區

對於一些以後某個時間要使用的資料,能夠組織成為一個資料存放區來表示。

第三步,畫加工的內部

把每一個加工看作一個小系統,把加工的輸入輸出資料流看成小系統的輸入輸出資料流。於是能夠象畫0層圖一樣畫出每一個小系統的加工的DFD圖。

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

對第三步分解出來的DFD圖中的每一個加工,反覆第三步的分解過程,直到圖中尚未分解的加工都是足夠簡單的(即不可再分解)。至此,得到了一套分層資料流圖。

第五步,對資料流圖和加工編號

對於一個軟體系統,其資料流圖可能有很多層,每一層又有很多張圖。為了區分不同的加工和不同的DFD子圖,應該對每張圖進行編號,以便於管理。

●     頂層圖僅僅有一張,圖中的加工也僅僅有一個,所以不必為其編號。

●     0層圖僅僅有一張,圖中的加工號各自是0.1、0.2、…,或者1, 2 。

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

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

應該注意的問題:

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

2.       畫資料流圖,不是畫控制流程。

3.       一個加工的輸出資料流,不應與輸入資料流同名,及時他們的組成全然同樣。

4.       同意一個加工有多條資料流流向還有一個加工,也同意一個加工有兩條同樣的輸出資料流流向不同的加工。

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

6.       在自頂向下的分解過程中,若一個資料存放區首次出現時,僅僅與一個加工有關係,那麼這個資料存放區應作為這個加工的內部檔案而不必畫出。

7.       保持資料守恒,也就是,一個加工的全部輸出資料流中的資料必須能從該加工的輸出資料流中直接獲得,或者通過該加工能產生的資料。

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

9.       在整套資料流圖中,每一個資料存放區必須既有讀的資料流,又有寫的資料流。可是在某張子圖中,可能僅僅有讀沒有寫,或者僅僅有寫沒有讀。

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

比如:

資料流圖(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流程圖的執行個體


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.