數(shù)據(jù)流程圖
1.數(shù)據(jù)流程圖概述
數(shù)據(jù)流程圖(DFD)是一種能全面地描述信息系統(tǒng)邏輯模型的主要工具,它可以用少數(shù)幾種符號(hào)綜合地反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況。數(shù)據(jù)流程圖是表示操作或數(shù)據(jù)的方向。
數(shù)據(jù)流圖有四種基本圖形符號(hào):
- 箭頭:表示數(shù)據(jù)流;
- 圓或橢圓:表示加工;
- 雙杠:表示數(shù)據(jù)存儲(chǔ);
- 方框:表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)。
2.數(shù)據(jù)流程圖的基本成分
系統(tǒng)部件包括系統(tǒng)的外部實(shí)體、處理過程數(shù)據(jù)存儲(chǔ)和系統(tǒng)中的數(shù)據(jù)流四個(gè)組成部分如下圖所示:
1,外部實(shí)體
外部實(shí)體指系統(tǒng)以外又和系統(tǒng)有聯(lián)系的人或事物,它說明了數(shù)據(jù)的外部來源和去處,屬于系統(tǒng)的外部和系統(tǒng)的界面。外部實(shí)體支持系統(tǒng)數(shù)據(jù)輸入的實(shí)體稱為源點(diǎn),支持系統(tǒng)數(shù)據(jù)輸出的實(shí)體稱為終點(diǎn)。 通常外部實(shí)體在數(shù)據(jù)流程圖中用正方形框表示,框中寫上外部實(shí)體名稱,為了區(qū)分不同的外部實(shí)體,可以在正方形的左上角用一個(gè)字符表示,同一外部實(shí)體可在一張數(shù)據(jù)流程圖中出現(xiàn)多次,這時(shí)在該外部實(shí)體符號(hào)的右下角畫上小斜線表示重復(fù).
2,處理過程
處理指對(duì)數(shù)據(jù)邏輯處理,也就是數(shù)據(jù)變換,它用來改變數(shù)據(jù)值。而每一種處理又包括數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出等部分。在數(shù)據(jù)流程圖中處理過程用帶圓角的長方形表示處理,長方形分三個(gè)部分,標(biāo)識(shí)部分用來標(biāo)識(shí)一個(gè)功能,功能描述部門是必不可少的,功能執(zhí)行部門表示功能由誰來完成。
3,數(shù)據(jù)流
數(shù)據(jù)流是指處理功能的輸入或輸出。它用來表示一中間數(shù)據(jù)流值,但不能用來改變數(shù)據(jù)值。數(shù)據(jù)流是模擬系統(tǒng)數(shù)據(jù)在系統(tǒng)中傳遞過程的工具。 在數(shù)據(jù)流程圖中用一個(gè)水平箭頭或垂直箭頭表示,箭頭指出數(shù)據(jù)的流動(dòng)方向,箭線旁注明數(shù)據(jù)流名。
4,數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ)表示數(shù)據(jù)保存的地方,它用來存儲(chǔ)數(shù)據(jù)。系統(tǒng)處理從數(shù)據(jù)存儲(chǔ)中提取數(shù)據(jù),也將處理的數(shù)據(jù)返回?cái)?shù)據(jù)存儲(chǔ)。與數(shù)據(jù)流不同的是數(shù)據(jù)存儲(chǔ)本身不產(chǎn)生任何操作,它僅僅響應(yīng)存儲(chǔ)和訪問數(shù)據(jù)的要求。
在數(shù)據(jù)流程圖中數(shù)據(jù)存儲(chǔ)用右邊開口的長方條表示。在長方條內(nèi)寫上數(shù)據(jù)存儲(chǔ)名字。為了區(qū)別和引用方便,左端加一小格,再標(biāo)上一個(gè)標(biāo)識(shí),用字母D和數(shù)字組成.
3.數(shù)據(jù)流程圖的畫法
1,畫數(shù)據(jù)流程圖的基本原則:
①數(shù)據(jù)流程圖上所有圖形符號(hào)必須是前面所述的四種基本元素。
②數(shù)據(jù)流程圖的主圖必須含有前面所述的四種基本元素,缺一不可。
③數(shù)據(jù)流程圖上的數(shù)據(jù)流必須封閉在外部實(shí)體之間,外部實(shí)體可以是一個(gè),也可以是多個(gè)。
④處理過程至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流。
⑤任何一個(gè)數(shù)據(jù)流子圖必須與它的父圖上的一個(gè)處理過程對(duì)應(yīng),兩者的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流必須一致,即所謂“平衡”。
⑥數(shù)據(jù)流程圖上的每個(gè)元素都必須有名字。
2,畫數(shù)據(jù)流程圖的基本步驟:
①把一個(gè)系統(tǒng)看成一個(gè)整體功能,明確信息的輸入和輸出。
②找到系統(tǒng)的外部實(shí)體。一旦找到外部實(shí)體,則系統(tǒng)與外部世界的界面就可以確定下來,系統(tǒng)的數(shù)據(jù)流的源點(diǎn)和終點(diǎn)也就找到了。
③找出外部實(shí)體的輸入數(shù)據(jù)流和輸出數(shù)據(jù)流。
④在圖的邊上畫出系統(tǒng)的外部實(shí)體。
⑤從外部實(shí)體的輸入流(源)出發(fā),按照系統(tǒng)的邏輯需要,逐步畫出一系列邏輯處理過程,直至找到外部實(shí)體處理所需的輸出流,形成數(shù)據(jù)流的封閉。
⑥將系統(tǒng)內(nèi)部數(shù)據(jù)處理又分別看做整體功能,其內(nèi)部又有信息的處理、傳遞、存儲(chǔ)過程。
⑦如此一級(jí)一級(jí)地剖析,直到所有處理步驟都很具體為止。
3,畫數(shù)據(jù)流程圖的注意事項(xiàng):
①關(guān)于層次的劃分
逐層擴(kuò)展數(shù)據(jù)流程圖,是對(duì)上一層圖中某些處理框加以分解。隨著處理的分解,功能越來越具體,數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)流越來越多。究竟怎樣劃分層次,劃分到什么程度,沒有絕對(duì)標(biāo)準(zhǔn),一般認(rèn)為展開的層次與管理層次一致,也可以劃分得更細(xì),處理塊的分解要自然,注意功能完整性,一個(gè)處理框經(jīng)過展開,一般以分解為4個(gè)至10個(gè)處理框?yàn)橐恕?
②檢查數(shù)據(jù)流程圖
對(duì)一個(gè)系統(tǒng)的理解,不可能一開始就完美無缺,開始分析一個(gè)系統(tǒng)時(shí),盡管我們對(duì)問題的理解有不正確、不確切的地方,但還是應(yīng)該根據(jù)我們的理解,用數(shù)據(jù)流程圖表達(dá)出來,進(jìn)行核對(duì),逐步修改,獲得較為完美的圖紙。
③提高數(shù)據(jù)流程圖的易理解性
數(shù)據(jù)流程圖是系統(tǒng)分析員調(diào)查業(yè)務(wù)過程,與用戶交換思想的工具。因此,數(shù)據(jù)流程圖應(yīng)簡(jiǎn)明易懂。這也有利于后面的設(shè)計(jì),有利于對(duì)系統(tǒng)說明書進(jìn)行維護(hù)。