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