一、概念
它是將提供給用戶的業(yè)務(wù)流程圖(“物理模型”)進(jìn)行功能建模,轉(zhuǎn)化成開發(fā)人員能夠理解的一系列“邏輯模型”圖,即以圖形化的方法描繪數(shù)據(jù)在系統(tǒng)中的流動(dòng)和處理的過程,這些圖都應(yīng)該用規(guī)范的DFD描述。
二、原理
DFD設(shè)計(jì)過程就是將數(shù)據(jù)和處理進(jìn)行逐層分解就形成了若干層次的DFD。DFD分為頂層圖(只有一張)、0層圖(也只有一張)、子圖、子子圖等等。
三、包含主要元素
即在DFD中包括哪些主要元素,數(shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)、外部實(shí)體。
(1) 數(shù)據(jù)流:用單箭頭表示,如――>。是由一組固定成分的數(shù)據(jù)組成,表示數(shù)據(jù)的流向。數(shù)據(jù)流圖中描述的是數(shù)據(jù)流,而不是控制流。除了流向數(shù)據(jù)存儲(chǔ)或從數(shù)據(jù)存儲(chǔ)流出的數(shù)據(jù)不必命名外,每個(gè)數(shù)據(jù)流必須要有一個(gè)合適的名字,以反映該數(shù)據(jù)流的含義。
(2) 加工:用圓或橢圓表示,如〇。描述了輸入數(shù)據(jù)流到輸出數(shù)據(jù)之間的變換,也就是輸入數(shù)據(jù)流經(jīng)過什么處理后變成了輸出數(shù)據(jù)。每個(gè)加工都有一個(gè)名字和編號(hào)。編號(hào)能反映該加工位于分層的數(shù)據(jù)流圖的哪個(gè)層次和哪張圖中,能夠看出它是由哪個(gè)加工分解出來的子加工。
(3) 數(shù)據(jù)存儲(chǔ):用雙杠(帶一邊開口,一邊閉合)表示。數(shù)據(jù)存儲(chǔ)表示暫時(shí)存儲(chǔ)的數(shù)據(jù)。每個(gè)數(shù)據(jù)存儲(chǔ)都有一個(gè)名字。
(4) 外部實(shí)體:用實(shí)心長方形表示,如███。外部實(shí)體是存在于軟件系統(tǒng)之外的人員或組織,他指出數(shù)據(jù)所需要的發(fā)源地或系統(tǒng)所產(chǎn)生的數(shù)據(jù)的歸屬地。
四、設(shè)計(jì)方法
1.畫頂層數(shù)據(jù)流圖
即畫整個(gè)系統(tǒng)的輸入輸出(畫系統(tǒng)也可以將各子系統(tǒng)分開畫)。
把整個(gè)系統(tǒng)視為一個(gè)大的加工(也只能含一個(gè)加工),然后根據(jù)數(shù)據(jù)系統(tǒng)從哪些外部實(shí)體接收數(shù)據(jù)流,以及系統(tǒng)發(fā)送數(shù)據(jù)流到那些外部實(shí)體,就可以畫出輸入輸出圖。這張圖稱為頂層圖。
頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關(guān)系。
2.畫0層數(shù)據(jù)流圖
即畫系統(tǒng)的內(nèi)部。
把頂層圖的加工分解成若干個(gè)加工,并用數(shù)據(jù)流將這些加工連接起來,使得頂層圖的輸入數(shù)據(jù)經(jīng)過若干加工處理后,變成頂層圖的輸出數(shù)據(jù)流。這張圖稱為0層圖。從一個(gè)加工畫出一張數(shù)據(jù)流圖的過程就是對(duì)加工的分解。
確定加工的方法:在數(shù)據(jù)流的組成或值發(fā)生變化的地方應(yīng)該畫出一個(gè)加工,這個(gè)加工的功能就是實(shí)現(xiàn)這一變化,也可以根據(jù)系統(tǒng)的功能決定加工。
確定數(shù)據(jù)流的方法:用戶把若干數(shù)據(jù)當(dāng)作一個(gè)單位來處理(這些數(shù)據(jù)一起到達(dá)、一起處理)時(shí),可以把這些數(shù)據(jù)看成一個(gè)數(shù)據(jù)流。
關(guān)于數(shù)據(jù)存儲(chǔ):對(duì)于一些以后某個(gè)時(shí)間要使用的數(shù)據(jù),可以組織成為一個(gè)數(shù)據(jù)存儲(chǔ)來表示。
3.畫加工的內(nèi)部
把每個(gè)加工看作一個(gè)小系統(tǒng),把加工的輸入輸出數(shù)據(jù)流看成小系統(tǒng)的輸入輸出流。于是可以象畫0層圖一樣畫出每個(gè)小系統(tǒng)的加工的DFD圖。
4.畫子加工的分解圖
對(duì)第三步分解出來的DFD圖中的每個(gè)加工,重復(fù)第三步的分解過程,直到圖中尚未分解的加工都是足夠簡單的(即不可再分解)。至此,得到了一套分層數(shù)據(jù)流圖。
5.對(duì)數(shù)據(jù)流圖和加工編號(hào)
對(duì)于一個(gè)軟件系統(tǒng),其數(shù)據(jù)流圖可能有許多層,每一層又有許多張圖。為了區(qū)分不同的加工和不同的DFD子圖,應(yīng)該對(duì)每張圖進(jìn)行編號(hào),以便于管理。
● 頂層圖只有一張,圖中的加工也只有一個(gè),所以不必為其編號(hào)。
● 0層圖只有一張,圖中的加工號(hào)分別是0.1、0.2、…,或者1, 2 。
● 子圖就是父圖中被分解的加工號(hào)。
● 子圖中的加工號(hào)是由圖號(hào)、圓點(diǎn)和序號(hào)組成,如:1.12,1.3 等等。
五、其它事宜
1.命名。應(yīng)適當(dāng)?shù)臑閿?shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)以及外部實(shí)體命名,名字應(yīng)該反映該成分的實(shí)
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來測(cè)測(cè)你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html