日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DFD图

發(fā)布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DFD图 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近備戰(zhàn)軟考,復(fù)習(xí)到數(shù)據(jù)流圖,學(xué)習(xí)成果與大家分享。

?

數(shù)據(jù)流圖(Data Flow Diagram):簡稱DFD,它從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。(百科)

?

談?wù)勎业囊稽c理解

有時候我們要開發(fā)或者理解一個系統(tǒng),總體的系統(tǒng)結(jié)構(gòu)我們弄清楚了,但是細節(jié)上需要再深入,而數(shù)據(jù)流圖“自頂向下,由外到內(nèi),逐步細化”的思想就凸顯出很重要的作用,它可以作為我們系統(tǒng)分析的指導(dǎo)方法。

?

數(shù)據(jù)流圖分析關(guān)注的重點是數(shù)據(jù),將面向控制的信息作為數(shù)據(jù)進行處理,包括了系統(tǒng)的所有數(shù)據(jù),能準確的抽象系統(tǒng)數(shù)據(jù)的流向和處理過程.概括的描述當數(shù)據(jù)在系統(tǒng)流程中流動和處理的移動變換過程;數(shù)據(jù)流圖分層進行分析,對頂層圖的分析可以發(fā)現(xiàn)是否有輸入信息或需要輸出的信息被遺漏,容易及早發(fā)現(xiàn)系統(tǒng)各部分的邏輯錯誤,也容易修正.每一層都明確強調(diào)“需要什么”,“干了什么”“給出什么”;

這樣逐層分解下去,系統(tǒng)被嚴密的展開,系統(tǒng)的框架就展現(xiàn)出來了.采用數(shù)據(jù)流圖進行分析,可以提高分析的可見性和可控性,更容易理解軟件要完成什么功能,數(shù)據(jù)來源于哪里,結(jié)果要輸出到哪里等等,清晰明了。

?

下面我們來看看數(shù)據(jù)流圖的組成,設(shè)計原則和應(yīng)用


基本圖形符號


加工(數(shù)據(jù)處理):輸入數(shù)據(jù)在此進行變換產(chǎn)生輸出數(shù)據(jù)。加工對象為:數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)內(nèi)容。

數(shù)據(jù)流:箭頭表示數(shù)據(jù)流向,作為加工之間傳輸數(shù)據(jù)的命名通道(數(shù)據(jù)流有名字),或數(shù)據(jù)存儲文件與加工之間的非命名通道(數(shù)據(jù)流沒名字,但其連接的加工和文件的名字,和流向可以確定其含義)。

?

同一個數(shù)據(jù)流圖上不能有同名的數(shù)據(jù)流,如果兩個以上的數(shù)據(jù)流指向一個加工,或是從一個加工中輸出兩個以上的數(shù)據(jù)流,這些數(shù)據(jù)流往往存在一定關(guān)系,如圖:


?

數(shù)據(jù)存儲文件:流向數(shù)據(jù)存儲的數(shù)據(jù)流可以理解為寫入文件或查詢文件,從數(shù)據(jù)存儲流出的數(shù)據(jù)流可以理解為從文件讀數(shù)據(jù)或得到查詢結(jié)果。

?

數(shù)據(jù)源點或終點:是系統(tǒng)外部環(huán)境中的實體,也稱外部實體。它們作為系統(tǒng)與系統(tǒng)外部環(huán)境的接口界面,在實際問題中可能是人員、組織、其他硬件系統(tǒng)等。一般出現(xiàn)在頂層數(shù)據(jù)流圖中。

?

數(shù)據(jù)流圖的設(shè)計原則



下面我們通過一些示例來說明這些設(shè)計原則

?

示例1


上圖違反了父圖與子圖的平衡原則

因為父圖中有提貨單輸出流,但子圖中沒有與這條輸出流相關(guān)的輸出流。

我們看兩者的輸入流,父圖的輸入流是訂貨單,而子圖的輸入流是數(shù)量,賬號,客戶,這是平衡的,因為子圖的三條輸入流是對父圖輸入流的分解,同樣子圖中的加工4.14.24.3也可以看成是對父圖加工4的分解,這符合自頂向下,逐層細化原則

?

示例2

下面是一張有錯的數(shù)據(jù)流圖。


1)根據(jù)數(shù)據(jù)守恒原則,外部實體和外部實體,外部實體和數(shù)據(jù)存儲之間不能存在數(shù)據(jù)流,,存儲與存儲之間也不應(yīng)該有數(shù)據(jù)流,數(shù)據(jù)流必須跟加工有關(guān),沒有加工數(shù)據(jù)流不可能流來流去的。


2)對于加工,輸入是A,輸出還是A,也違反了數(shù)據(jù)守恒原則,輸入與輸出一樣,加工沒有作用。


3)對于加工,只有輸入沒有輸出,違反了數(shù)據(jù)守恒原則。比如,人不可能只吃飯,不大小便。嘿嘿



4)對于加工,只有輸出沒有輸入,違反了數(shù)據(jù)守恒原則。比如,人不可能一直大小便,但不吃飯。嘿嘿

?

?

示例3


加工細節(jié)隱蔽原則說的是:在畫父圖時,只需畫出加工和加工之間的關(guān)系,而不必畫出各個加工內(nèi)部的細節(jié),例如上面的父圖中,并沒有畫出加工1的內(nèi)部細節(jié)

再進行對加工1進行細化的時候,我們就應(yīng)該畫出它的內(nèi)部細節(jié),如第二個圖。

?

簡化加工之間的關(guān)系:加工間的數(shù)據(jù)流越少,各個加工就越相對獨立,耦合越低,所以應(yīng)盡量減少加工間輸入/輸出數(shù)據(jù)流的數(shù)目。

?

均勻分解:不要出現(xiàn),一些加工分解了10層,而另一些加工分解了3層這樣的情況

?

忽略枝節(jié):暫時不要考慮一些例外情況,出錯處理等枝節(jié)性問題。

?

表現(xiàn)的是輸入流而不是控制流:不要和程序流程圖混淆,數(shù)據(jù)流圖,強調(diào)從數(shù)據(jù)加工的角度來描述系統(tǒng),自然是數(shù)據(jù)流。


這些原則中,最重要的當屬:保持父圖與子圖平衡,保持數(shù)據(jù)平衡,加工細節(jié)隱蔽

?一般從這三個原則來考查一張數(shù)據(jù)流圖是否正確。

??

數(shù)據(jù)字典

?

數(shù)據(jù)字典的就是對數(shù)據(jù)流圖中出現(xiàn)的所有被命名的圖形元素在數(shù)據(jù)字典中作為一個詞條加以定義,使每個圖形元素的名稱都有一個確切的解釋。

?

在對數(shù)據(jù)流和數(shù)據(jù)文件詞條進行描述時可能包含一定的數(shù)據(jù)結(jié)構(gòu),對于數(shù)據(jù)結(jié)構(gòu)的描述常用的是定義是。如下表

?

在數(shù)據(jù)字典中有4種類型的條目:

1、數(shù)據(jù)項條目:通常為數(shù)據(jù)項的值類型,允許的取值范圍等

2、數(shù)據(jù)流條目:給出某個數(shù)據(jù)流的定義,列出該數(shù)據(jù)流的各組成數(shù)據(jù)項。

3、文件條目:對文件的定義,列出期組成的數(shù)據(jù)項

4、加工條目:對每個不能再分解的加工做說明,包括加工的激發(fā)條件,加工的邏輯,優(yōu)先級等等。

?

示例:

圖書管理系統(tǒng)中

查詢請求信息=[查詢讀者請求信息|查詢圖書請求信息]

讀者情況=讀者號+姓名+所在單位+{借書情況}

?

根據(jù)上面的定義表,我們很容易看出這些條目的意思。

?

?

下面我們來看一個數(shù)據(jù)流圖的綜合應(yīng)用問題,這樣有助于我們理解數(shù)據(jù)流圖。

?

需求:






根據(jù)以上信息提出的幾個問題!希望對這幾個問題的解析,能加深大家對數(shù)據(jù)流圖的理解。




對于問題1:

我們前面提到過,

可以通過數(shù)據(jù)流圖那三個重要設(shè)計原則(保持父圖與子圖平衡,保持數(shù)據(jù)平衡,加工細節(jié)隱蔽)來考查一張數(shù)據(jù)流圖是否正確。

1查看是否平衡,即子圖中的輸入流合輸出流和父圖是否對應(yīng);

2、查看數(shù)據(jù)守恒,處理查詢請求沒有輸入,登記讀者信息沒有輸出.

正確應(yīng)該如紅色箭頭畫法。



對于問題2

1、首先我們看到對于加工2父圖和子圖是平衡的,所以,本題只能是2.12.2或者他們和文件之間缺少數(shù)據(jù)流。

只得根據(jù)需求描述去分析到底缺失哪些數(shù)據(jù)流。

?

根據(jù)在原需求中的


我們可以很輕松的判斷出缺少哪些數(shù)據(jù)流,如下圖紅色箭頭



對于問題3:這是一個數(shù)據(jù)字典的應(yīng)用問題。



根據(jù)以上我們截取需求中的信息,,注意紅色部分,再結(jié)合我們開始介紹的數(shù)據(jù)字典定義符號的使用,即可很輕松解決這個問題。

管理工作請求單=[購入新書|讀者借書|讀者還書|圖書注銷]

入庫單=分類目錄號+書名+作者+價格+數(shù)量+購書日期。

?

總結(jié)

以上是生活随笔為你收集整理的DFD图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。