Decode360's Blog

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          公告

          常用鏈接

          隨筆分類(299)

          隨筆檔案(299)

          文章分類(26)

          新聞分類(24)

          收藏夾(5)

          Blog列表

          IT網站

          My Link

          最新隨筆

          最新評論

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

          ???? ??? DFD02.gif
          ?
          四、數據流程圖的主要作用:
          ?
          ??? 1、便于用戶表達功能需求和數據需求及其聯系
          ??? 2、便于兩類人員共同理解現行系統和規劃系統的框架
          ??? 3、清晰表達數據流的情況
          ??? 4、有利于系統建模

          ?
          五、常見錯誤檢測:
          ?
          ??? 1、數據流圖中所有圖形符號只能是4種基本符號
          ??? 2、數據流圖的主圖(非頂層圖)必須包含4中基本元素,缺一不可
          ??? 3、主圖的數據流必須封閉在外部實體之間,外部實體可以不只1個
          ??? 4、每個加工至少有1個輸入數據流和1個輸出數據流
          ??? 5、數據流圖中必須按層給加工框編號,編號需體現各個層次的關系
          ??? 6、任何數據流子圖均與上層的一個加工對應,且父圖與子圖平衡
          ??? 7、圖上每個元素都必須有名字
          ??? 8、數據流圖中不可夾帶控制流
          ?
          ??? 注:部分文件不需要在上層圖中畫出。例如某文件僅與某個單一的加工相關,則此文件為部分文件,只需要在表示該加工的子圖中畫出即可。
          ?
          ?




          -The End-

          posted on 2009-04-23 22:56 decode360-3 閱讀(507) 評論(0)  編輯  收藏 所屬分類: Exam
          主站蜘蛛池模板: 南召县| 绥化市| 定安县| 五寨县| 南雄市| 夏邑县| 四平市| 大宁县| 九龙城区| 广宁县| 聊城市| 八宿县| 大丰市| 海安县| 中山市| 绥芬河市| 聊城市| 临颍县| 祁阳县| 江孜县| 台中县| 甘泉县| 理塘县| 丰都县| 溆浦县| 黄浦区| 滕州市| 阿巴嘎旗| 巴楚县| 日土县| 明光市| 论坛| 秭归县| 综艺| 肥东县| 德钦县| 柏乡县| 东平县| 景洪市| 印江| 盖州市|