软件工程——数据流图(DFD)
在《軟件工程——系統流程圖符號及案例》中我們知道了系統流程圖描述的是物理系統,那么數據流圖則是用來描述系統的邏輯模型,在數據流圖中沒有任何具體的物理元素,只是描繪信息在系統中的流動和處理情況。并且因為數據流圖是邏輯系統的圖形表示,即使是非計算機專業的人員也能理解。
一. 基本圖形符號
數據流圖有4中基本符號元素:數據流、數據處理、數據存儲、外部實體。
“→”箭頭,表示數據流;
〇:圓或橢圓,表示加工;
=:雙杠(帶一邊開口,一邊閉合),表示數據存儲;
□:方框,表示數據的源點或終點。
1.數據流
數據流用箭頭來表示,箭頭方向即數據流動方向,數據流名標在數據流線上面,數據流命名時應盡量準確。
PS:除了與數據存儲之間的數據流不用命名外,數據流應該用名詞或名詞短語命名。
2.加工
加工也稱為數據處理,是對數據進行處理的單元。數據處理名稱寫在煩那方框內。在分層的數據流圖中,加工還應編號。
3.數據存儲
數據存儲為數據處理提供數據處理所需要的輸入流或為數據處理的輸出數據流提供存儲倉庫。具體指暫時保存的數據,它可以是數據庫文件或任何形式的數據組織。
流向數據存儲的數據流可以理解為寫入或查詢文件,流出的數據流可理解為從文件讀數據或查詢結果。
4.數據源點和終點
數據源點和終點是軟件系統外部環境中的實體(包括人、組織或其他軟件系統),統稱外部實體。一般只出現在數據流圖的頂層圖中,表示了系統中數據的來源和去處。
二. 畫數據流圖
最初,把系統視為一個整體,看這個整體與外界的聯系。分析有哪些內容是要通過外界獲取的,就是系統的輸入;有哪些是要向外界提供服務的,就是系統的輸出。畫系統的輸入/輸出即先畫頂層數據流圖.
數據流圖主要是用于描述系統內部的處理過程。有些內部處理過程比較簡單,有些則相當復雜。描述系統內部即畫下層數據流圖。一般方法是將層號從0開始編號,采用自頂向下,由外向內的原則。
注意事項:
1.命名:在畫數據流圖中,不論數據流、數據存儲還是加工的命名要合適,要易于理解其含義。命名時不能使用抽象含義的名字,比如“數據”、“信息”等等。加工名的命名也要反映其處理的功能,不能使用“處理”、“操作”這些籠統的詞。
2.在畫數據流圖時要注意不是畫控制流。數據流圖反映的是系統“做什么”,不反映“如何做”,因此箭頭上的數據流名稱只能是名詞類,整個圖中不反映加工的執行順序。
3.每個加工至少有一個輸入數據流和一個輸出數據流,反映出此加工數據的來源與加工的結果。
4.加工點的編號:子圖的編號是父圖中相應加工的編號的擴充,子圖上加工的編號的方法是由父圖號、小數點及子圖的局部號組成。
5.系統分析中要區別物流和數據流。數據流反映能用計算機處理的數據,并不是實物。
6.在數據流圖表示系統的數據流向時,一般都要用到父圖與子圖來描述不同的層次。這時要注意父圖與子圖的平衡。子圖的輸入、輸出數據流同父圖相應加工的輸入、輸出數據流必須一致,即父圖與子圖的平衡。
上圖中子圖雖然有三個輸入,但是因為定貨單由客戶、帳號和數量組成,所以不違背平衡的原則。
7.分層處理的過程中,當某層數據流圖中的數據存儲不是父圖中相應加工的外部接口,而只是本圖中某些加工之間的數據接口,則稱這些數據存儲為局部數據存儲。如果是局部數據存儲的話,不要在父圖的輸入中加入該數據存儲,而是在子圖相應的加工上才把它畫出來,這樣有助于實現信息隱蔽。
8.要注意分層的合理性,減少加工之間輸入、輸出數據流的數目,增加數據流圖的可理解性。
例題
請根據一下業務流程描述,畫出某物資管理系統的數據流圖:
(1)生產車間向物資部提出物資需用計劃,物資部計劃人員根據庫存臺賬,編制物資采購計劃;
(2)采購人員根據物資采購計劃,以及供貨商報價單,編制合同臺賬;
(3)采購的物資到貨后,庫存管理人員根據技術科提供的驗收報告,以及合同臺賬,進行物資入庫管理,并更新庫存臺賬
總結
以上是生活随笔為你收集整理的软件工程——数据流图(DFD)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 椭圆焦点 求是否在圆内_椭圆焦
- 下一篇: loj121-动态图连通性