【軟件工程】數(shù)據(jù)流圖/DFD概念符號(hào)/流程圖分層/數(shù)據(jù)字典
目錄
【軟件工程】數(shù)據(jù)流圖/DFD概念符號(hào)/流程圖分層/數(shù)據(jù)字典
一、數(shù)據(jù)流圖 ( DFD ) 簡介
二、數(shù)據(jù)流圖 ( DFD ) 概念符號(hào)
1、數(shù)據(jù)流
?2、加工 ( 核心 )
3、數(shù)據(jù)存儲(chǔ)
4、外部實(shí)體
三、數(shù)據(jù)流圖 ( DFD ) 分層?
1、分層說明?
2、頂層數(shù)據(jù)流圖
3、中層數(shù)據(jù)流圖
4、底層數(shù)據(jù)流圖
四、數(shù)據(jù)字典
五、據(jù)流圖平衡原則 :
1、父圖 ( 上層數(shù)據(jù)流圖 ) 與 子圖 ( 下層數(shù)據(jù)流圖 ) 平衡
2、子圖內(nèi)平衡
六、數(shù)據(jù)流圖繪制原則
一、數(shù)據(jù)流圖 ( DFD ) 簡介
數(shù)據(jù)流圖 ( Data Flow Diagram ) :
在 需求分析 階段 , 使用的工具 , 在 “結(jié)構(gòu)化分析” 中 , 數(shù)據(jù)流圖 ( DFD ) 使用頻率很高 ;
數(shù)據(jù)流圖涉及內(nèi)容 : 基本概念符號(hào) , 數(shù)據(jù)字典 , 數(shù)據(jù)平衡原則 ;
二、數(shù)據(jù)流圖 ( DFD ) 概念符號(hào)
1、數(shù)據(jù)流
數(shù)據(jù)流 : 數(shù)據(jù)流由 一組固定成分的數(shù)據(jù) 組成 , 表示 數(shù)據(jù)的流向 ;
數(shù)據(jù)流命名 : 每個(gè)數(shù)據(jù)流都有一個(gè) 命名 , 該命名表達(dá)了 該數(shù)據(jù)流傳輸 的 數(shù)據(jù)的含義 ; 如在箭頭上標(biāo)注 “賬號(hào)信息” , 表示該數(shù)據(jù)流是傳輸賬號(hào)信息 的 , 表示 數(shù)據(jù)的內(nèi)容 ;
數(shù)據(jù)字典 : 數(shù)據(jù)流箭頭上只標(biāo)明了 “賬號(hào)信息” , 沒有具體的格式內(nèi)容 , 是只有賬號(hào) , 還是有賬號(hào)/密碼/驗(yàn)證碼等信息 , 這些數(shù)據(jù)詳細(xì)格式 , 都在 數(shù)據(jù)字典中定義 ;
符號(hào)表示 : 數(shù)據(jù)流 使用 箭頭 表示 , 箭頭所指的方向 , 代表了數(shù)據(jù)流向 ;
?2、加工 ( 核心 )
加工 : 描述 “輸入數(shù)據(jù)流” 到 “輸出數(shù)據(jù)流” 之間的變換 , 即 對數(shù)據(jù)進(jìn)行了什么樣的處理 , 使得 “輸入數(shù)據(jù)流” 變?yōu)?“輸出數(shù)據(jù)流” ;
主要操作 : 在程序中的體現(xiàn)是 處理 數(shù)據(jù)的過程 , 向 “加工” 中輸入數(shù)據(jù)流后 , 將數(shù)據(jù)進(jìn)行加工 , 處理 , 變換后 , 產(chǎn)生新的 “輸出數(shù)據(jù)流” ;
符號(hào)表示 : 使用 圓形 / 圓角矩形 表示加工 ;
3、數(shù)據(jù)存儲(chǔ)
數(shù)據(jù)存儲(chǔ) ( 文件 ) : 表示 暫時(shí)存儲(chǔ)的數(shù)據(jù) , 數(shù)據(jù)存儲(chǔ)的粒度是以 表 為單位 ;
文件名稱 : 每個(gè) 數(shù)據(jù)存儲(chǔ) ( 文件 ) 都有 名字 ;
方向 : 流向文件的數(shù)據(jù)流 表示 向文件內(nèi)寫入內(nèi)容 , 從文件流出的數(shù)據(jù)流 表示 從文件讀取內(nèi)容 ;
符號(hào)表示 : 使用 雙橫線 / 半框形矩形 表示
4、外部實(shí)體
外部實(shí)體 : 軟件系統(tǒng)之外的 人員 / 組織 ;
符號(hào)表示 : 矩形 ;
三、數(shù)據(jù)流圖 ( DFD ) 分層?
?
1、分層說明?
數(shù)據(jù)流圖分層 , 最上層是?頂層數(shù)據(jù)流圖 , 第二層是? 0 層數(shù)據(jù)流圖 , ?? ? , 最底層是 底層數(shù)據(jù)流圖
“頂層數(shù)據(jù)流圖” 與 “底層數(shù)據(jù)流圖” 之間是若干 中層數(shù)據(jù)流圖 ,
中層數(shù)據(jù)流圖 需要進(jìn)行編號(hào) , 從 0 0 0 開始編號(hào) ;
2、頂層數(shù)據(jù)流圖
頂層數(shù)據(jù)流圖 : 中間的橢圓 是需要開發(fā)的 系統(tǒng) , 周邊的矩形 表示的是 外部實(shí)體人或組織 , 外部實(shí)體 與 系統(tǒng) 之間 , 有數(shù)據(jù)傳輸關(guān)系 ;
一個(gè)形象的說明是 多個(gè)人吃火鍋 , 外層周邊是人 , 中心位置火鍋是系統(tǒng) ;
頂層數(shù)據(jù)流圖 能夠表達(dá)的信息是非常有限的 , 其 將整個(gè)系統(tǒng) , 使用一個(gè)節(jié)點(diǎn)表示 ,
其可以體現(xiàn)出 系統(tǒng)與外界實(shí)體之間的交互 ,
但是 系統(tǒng)內(nèi)部的情況 , 系統(tǒng)內(nèi)部模塊之間的數(shù)據(jù)交換 是沒有體現(xiàn)的 ;
3、中層數(shù)據(jù)流圖
將 “頂層數(shù)據(jù)流圖” 進(jìn)行細(xì)化 , 細(xì)化后的 0 0 0 層數(shù)據(jù)流圖 ,
與 頂層數(shù)據(jù)流圖 比較沒有變化的部分 : 外部實(shí)體 , 外部實(shí)體與系統(tǒng)之間的數(shù)據(jù)流 , 是沒有變化的 ;
變化部分 : 有變化的部分是系統(tǒng)內(nèi)部 , 系統(tǒng)內(nèi)部進(jìn)行了細(xì)化 , 原來系統(tǒng)是一個(gè)節(jié)點(diǎn) , 在 中層數(shù)據(jù)流圖 中 , 會(huì)將一個(gè)節(jié)點(diǎn) 拆分成 多個(gè)節(jié)點(diǎn) , 這些節(jié)點(diǎn)就是系統(tǒng)中的數(shù)據(jù)處理部件 , 即 加工 ;
這些數(shù)據(jù)處理部件 ( 加工 ) 之間會(huì)有數(shù)據(jù)流的交互 ,
4、底層數(shù)據(jù)流圖
針對每個(gè)加工 節(jié)點(diǎn) , 將其拆分 , 繪制其中的更詳細(xì)的數(shù)據(jù)流轉(zhuǎn)情況 ;
數(shù)據(jù)流圖 ( DFD ) 分層 , 是從 頂層 -> 中層 -> 底層 , 逐層進(jìn)行分解 , 這種分解思路 , 與結(jié)構(gòu)化的開發(fā)方法 , 是完全匹配的 ;
因此 , 數(shù)據(jù)流圖 是 結(jié)構(gòu)化 開發(fā)方法中 , 最常用的工具 ;
繪制數(shù)據(jù)流圖時(shí) , 要保證 上一層數(shù)據(jù)流圖 與 下一層數(shù)據(jù)流圖 保持平衡 , 這就是 數(shù)據(jù)流圖平衡原則 ;
四、數(shù)據(jù)字典
數(shù)據(jù)字典 可以 配合 數(shù)據(jù)流圖 使用 , 對數(shù)據(jù)進(jìn)行詮釋 , 可以讓開發(fā)者更加清楚 數(shù)據(jù)的組成 , 格式 ;
數(shù)據(jù)字典中包含的符號(hào) :
① “=” : 含義是 “被定義為” ; 如 : x = a + b? , 表示 x? 數(shù)據(jù) 被定義為 由? a 與? b 組成 ;
② “+” : 含義是 “與” ; 如 : x = a + b? , 表示? x 數(shù)據(jù) 被定義為 由? a 與 b 組成 ;
③ “[… | …]” , “[… , …]” : 含義是 “或” ; 如 : x = [ a , b ] , x = [ a ∣ b ] , 表示 x 由? a 或? b 組成 , 二者選其一 ;
④ “{…}” : 含義是 “重復(fù)” ; 如 : x = { a }? , 表示 x 由多個(gè)? 0 , 或多個(gè)? a 組成 ;
⑤ “(…)” : 含義是 “可選” ; 如 x = ( a ) , 表示? a 可以出現(xiàn)在? x 數(shù)據(jù)中 , 也可以不出現(xiàn) ;
?
數(shù)據(jù)字典示例 : 學(xué)生數(shù)據(jù)的數(shù)據(jù)字典 ;
學(xué)生 = 姓名 + 學(xué)號(hào) + 年齡 + 年級(jí) + 學(xué)校 + 地址
學(xué)號(hào) = “1”…“100”
班級(jí) = [一年級(jí) | 二年級(jí) | 三年級(jí) ]
五、據(jù)流圖平衡原則 :
- 父圖 ( 上層數(shù)據(jù)流圖 ) 與 子圖 ( 下層數(shù)據(jù)流圖 ) 之間的平衡
- 子圖 內(nèi)部的平衡
1、父圖 ( 上層數(shù)據(jù)流圖 ) 與 子圖 ( 下層數(shù)據(jù)流圖 ) 平衡
父圖 ( 上層數(shù)據(jù)流圖 ) 與 子圖 ( 下層數(shù)據(jù)流圖 ) 平衡 :
利用 數(shù)據(jù)流圖平衡原則 , 可以找出 在 細(xì)化上層數(shù)據(jù)流圖 時(shí) , 忽略的 數(shù)據(jù)流 ;
根據(jù) 頂層數(shù)據(jù)流 可以 確定缺失的 底層數(shù)據(jù)流 ; 根據(jù)底層數(shù)據(jù)流 , 可以補(bǔ)充缺失的頂層數(shù)據(jù)流 ;
找? 0 層數(shù)據(jù)流圖 缺失的數(shù)據(jù)流時(shí) , 先查看 頂層數(shù)據(jù)流圖 , 在 外部實(shí)體 與 系統(tǒng)之間 , 存在哪些 數(shù)據(jù)流 , 這些數(shù)據(jù)流 是否 在 0 層數(shù)據(jù)流圖 中出現(xiàn)過 ;
找 頂層數(shù)據(jù)流圖 中缺失的數(shù)據(jù)流時(shí) , 查看 0 層數(shù)據(jù)流圖中 , 有沒有出現(xiàn)缺失的數(shù)據(jù)流 ;
在 頂層數(shù)據(jù)流圖 與 0 層數(shù)據(jù)流圖 之間 , 只能確定 外部實(shí)體 與 系統(tǒng) 之間的數(shù)據(jù)流 ,
系統(tǒng)內(nèi)部的數(shù)據(jù)流 , 在 頂層數(shù)據(jù)流圖中 , 是沒有體現(xiàn)的 ;
父圖 ( 上層數(shù)據(jù)流圖 ) 與 子圖 ( 下層數(shù)據(jù)流圖 ) 之間的平衡匹配方法 :
① 個(gè)數(shù)一致 : 兩層數(shù)據(jù)流圖中的 數(shù)據(jù)流個(gè)數(shù)一致 ;
② 方向一致 : 兩層數(shù)據(jù)流圖中的 數(shù)據(jù)流方向一致 ;
2、子圖內(nèi)平衡
子圖內(nèi)平衡 : 對于數(shù)據(jù)流圖的任意一個(gè)加工 , 既有輸入 , 又有輸出 ;
加工 : 描述 “輸入數(shù)據(jù)流” 到 “輸出數(shù)據(jù)流” 之間的變換 , 即 對數(shù)據(jù)進(jìn)行了什么樣的處理 , 使得 “輸入數(shù)據(jù)流” 變?yōu)?“輸出數(shù)據(jù)流” ;
主要操作 : 在程序中的體現(xiàn)是 處理 數(shù)據(jù)的過程 , 向 “加工” 中輸入數(shù)據(jù)流后 , 將數(shù)據(jù)進(jìn)行加工 , 處理 , 變換后 , 產(chǎn)生新的 “輸出數(shù)據(jù)流” ;
黑洞 : 某個(gè)加工 , 只有輸入 , 沒有輸出 , 稱為黑洞 ;
奇跡 : 某個(gè)加工 , 只有輸出 , 沒有輸入 , 稱為奇跡 ;
六、數(shù)據(jù)流圖繪制原則
數(shù)據(jù)流圖 由 數(shù)據(jù)流 , 加工 , 數(shù)據(jù)存儲(chǔ) , 外部實(shí)體 組成 , 先找出 三個(gè)具體存在的事物 外部實(shí)體 , 加工 , 數(shù)據(jù)存儲(chǔ) , 然后在為這些事物添加 數(shù)據(jù)流 箭頭 ;
拿到一個(gè)需求之后 , 繪制數(shù)據(jù)流圖流程 :
① 外部實(shí)體 : 找出外部實(shí)體 , 使用系統(tǒng)的 人 或 組織 ;
② 加工 : 找出系統(tǒng)中的 中間件 加工 , 處理數(shù)據(jù)用的 ;
③ 數(shù)據(jù)存儲(chǔ) : 找到 暫時(shí)存儲(chǔ)數(shù)據(jù)的載體 , 數(shù)據(jù)存儲(chǔ) ;文章來源:http://www.zghlxwxcb.cn/news/detail-643918.html
④ 數(shù)據(jù)流 : 在上述 外部實(shí)體 , 加工 , 數(shù)據(jù)存儲(chǔ) 基礎(chǔ)上 , 繪制 數(shù)據(jù)流 箭頭 ;文章來源地址http://www.zghlxwxcb.cn/news/detail-643918.html
到了這里,關(guān)于【軟件工程】數(shù)據(jù)流圖/DFD概念符號(hào)/流程圖分層/數(shù)據(jù)字典的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!