Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評(píng)論 :: 0 Trackbacks
          數(shù)據(jù)流圖的設(shè)計(jì)
          ?
          ??? 數(shù)據(jù)流圖(Data Flow Diagram,簡(jiǎn)稱DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)歷的變換,其既提供了功能建模機(jī)制也提供了信息建模機(jī)制。
          ?
          一、DFD中的基本符號(hào):
          ?
          ??? 數(shù)據(jù)流圖有四種基本圖形符號(hào):
          ?
          ??? →:箭頭,表示數(shù)據(jù)流
          ??? 〇:圓或橢圓,表示加工,即變換數(shù)據(jù)的處理
          ??? =:雙杠(或開口矩形),表示數(shù)據(jù)存儲(chǔ)
          ??? □:方框,表示數(shù)據(jù)的源點(diǎn)或終點(diǎn)
          ?
          二、DFD中的4中元素:
          ?
          ??? (1)數(shù)據(jù)流:數(shù)據(jù)流是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組成分固定的數(shù)據(jù)組成。如訂票單由旅客姓名、年齡、單位、身份證號(hào)、日期、目的地等數(shù)據(jù)項(xiàng)組成。
          ?????????????? 數(shù)據(jù)流是流動(dòng)中的數(shù)據(jù),所以必須有流向,除了與數(shù)據(jù)存儲(chǔ)之間的數(shù)據(jù)流不用命名外,數(shù)據(jù)流應(yīng)該用名詞或名詞短語命名。
          ??? (2)加工(數(shù)據(jù)處理):對(duì)數(shù)據(jù)流進(jìn)行某些操作或變換。每個(gè)加工也要有名字,通常是動(dòng)詞短語,簡(jiǎn)明地描述完成什么加工。在分層的數(shù)據(jù)流圖中,加工還應(yīng)編號(hào)。
          ??? (3)數(shù)據(jù)存儲(chǔ)(文件):指暫時(shí)保存的數(shù)據(jù),它可以是數(shù)據(jù)庫(kù)文件或任何形式的數(shù)據(jù)組織。
          ??? (4)數(shù)據(jù)源點(diǎn)或終點(diǎn)(外部實(shí)體):是本軟件系統(tǒng)外部環(huán)境中的實(shí)體(包括人員、組織或其他軟件系統(tǒng)),統(tǒng)稱外部實(shí)體。一般只出現(xiàn)在數(shù)據(jù)流圖的頂層圖。
          ?
          三、畫數(shù)據(jù)流圖的步驟:
          ?
          ??? (1)首先畫系統(tǒng)的輸入輸出,即先畫頂層數(shù)據(jù)流圖。頂層流圖只包含一個(gè)加工,用以表示被開發(fā)的系統(tǒng),然后考慮該系統(tǒng)有哪些輸入數(shù)據(jù)、輸出數(shù)據(jù)流。頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關(guān)系。下圖為飛機(jī)機(jī)票預(yù)訂系統(tǒng)的頂層圖。
          ?
          ??? DFD01
          ?
          ??? (2)畫系統(tǒng)內(nèi)部,即畫下層數(shù)據(jù)流圖。不再分解的加工稱為基本加工。一般將層號(hào)從0開始編號(hào),采用自頂向下,由外向內(nèi)的原則。畫0層數(shù)據(jù)流圖時(shí),分解頂層流圖的系統(tǒng)為若干子系統(tǒng),決定每個(gè)子系統(tǒng)間的數(shù)據(jù)接口和活動(dòng)關(guān)系。例如,在上面的機(jī)票預(yù)訂系統(tǒng)按功能可分成兩部分,一部分為旅行社預(yù)訂機(jī)票,另一部分為旅客取票,兩部分通過機(jī)票文件的數(shù)據(jù)存儲(chǔ)聯(lián)系起來,0層數(shù)據(jù)流圖如上圖。
          ?
          ??? (3)注意事項(xiàng):
          ??? 命名:不論數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)還是加工,合適的命名使人們易于理解其含義。
          ??? 畫數(shù)據(jù)流而不是控制流:數(shù)據(jù)流反映系統(tǒng)“做什么”,不反映“如何做”,因此箭頭上的數(shù)據(jù)流名稱只能是名詞或名詞短語,整個(gè)圖中不反映加工的執(zhí)行順序。
          ??? 一般不畫物質(zhì)流:數(shù)據(jù)流反映能用計(jì)算機(jī)處理的數(shù)據(jù),并不是實(shí)物,因此對(duì)目標(biāo)系統(tǒng)的數(shù)據(jù)流圖一般不要畫物質(zhì)流。
          ??? 每個(gè)加工至少有一個(gè)輸入數(shù)據(jù)流和一個(gè)輸出數(shù)據(jù)流:反映出此加工數(shù)據(jù)的來源與加工的結(jié)果。
          ??? 編號(hào):如果一張數(shù)據(jù)流圖中的某個(gè)加工分解成另一張數(shù)據(jù)流圖時(shí),則上層圖為父圖,直接下層圖為子圖。子圖及其所有的加工都應(yīng)編號(hào)。
          ??? 父圖與子圖的平衡:子圖的輸入輸出數(shù)據(jù)流同父圖相應(yīng)加工的輸入輸出數(shù)據(jù)流必須一致,此即父圖與子圖的平衡。
          ??? 局部數(shù)據(jù)存儲(chǔ):當(dāng)某層數(shù)據(jù)流圖中的數(shù)據(jù)存儲(chǔ)不是父圖中相應(yīng)加工的外部接口,而只是本圖中某些加工之間的數(shù)據(jù)接口,則稱這些數(shù)據(jù)存儲(chǔ)為局部數(shù)據(jù)存儲(chǔ)。
          ??? 提高數(shù)據(jù)流圖的易懂性:注意合理分解,要把一個(gè)加工分解成幾個(gè)功能相對(duì)獨(dú)立的子加工,這樣可以減少加工之間輸入、輸出數(shù)據(jù)流的數(shù)目,增加數(shù)據(jù)流圖的可理解性。
          ??? ??? DFD02
          ?
          四、數(shù)據(jù)流程圖的主要作用:
          ?
          ??? 1、便于用戶表達(dá)功能需求和數(shù)據(jù)需求及其聯(lián)系
          ??? 2、便于兩類人員共同理解現(xiàn)行系統(tǒng)和規(guī)劃系統(tǒng)的框架
          ??? 3、清晰表達(dá)數(shù)據(jù)流的情況
          ??? 4、有利于系統(tǒng)建模

          ?
          五、常見錯(cuò)誤檢測(cè):
          ?
          ??? 1、數(shù)據(jù)流圖中所有圖形符號(hào)只能是4種基本符號(hào)
          ??? 2、數(shù)據(jù)流圖的主圖(非頂層圖)必須包含4中基本元素,缺一不可
          ??? 3、主圖的數(shù)據(jù)流必須封閉在外部實(shí)體之間,外部實(shí)體可以不只1個(gè)
          ??? 4、每個(gè)加工至少有1個(gè)輸入數(shù)據(jù)流和1個(gè)輸出數(shù)據(jù)流
          ??? 5、數(shù)據(jù)流圖中必須按層給加工框編號(hào),編號(hào)需體現(xiàn)各個(gè)層次的關(guān)系
          ??? 6、任何數(shù)據(jù)流子圖均與上層的一個(gè)加工對(duì)應(yīng),且父圖與子圖平衡
          ??? 7、圖上每個(gè)元素都必須有名字
          ??? 8、數(shù)據(jù)流圖中不可夾帶控制流
          ?
          ??? 注:部分文件不需要在上層圖中畫出。例如某文件僅與某個(gè)單一的加工相關(guān),則此文件為部分文件,只需要在表示該加工的子圖中畫出即可。
          ?
          ?
          ?
          posted on 2009-04-23 22:56 decode360 閱讀(2393) 評(píng)論(0)  編輯  收藏 所屬分類: 12.Certified
          主站蜘蛛池模板: 桐梓县| 阿合奇县| 三门峡市| 策勒县| 交城县| 万山特区| 景泰县| 黄龙县| 杨浦区| 四会市| 达尔| 浦江县| 绥宁县| 凤翔县| 沾益县| 策勒县| 寻甸| 开鲁县| 井陉县| 五原县| 英吉沙县| 阿拉善右旗| 江西省| 徐汇区| 阳原县| 莎车县| 沾益县| 渑池县| 望都县| 黄石市| 郎溪县| 琼结县| 南阳市| 轮台县| 敦化市| 淮阳县| 兴仁县| 湾仔区| 东山县| 翁源县| 凭祥市|