【理論】軟件工程學(xué)中的數(shù)據(jù)流圖DFD

數(shù)據(jù)流圖和數(shù)據(jù)字典是結(jié)構(gòu)化分析方法中常用的兩種工具。本文中基礎(chǔ)資料收集于網(wǎng)絡(luò),頂層數(shù)據(jù)流圖部分加入里自己的理解。

數(shù)據(jù)流圖

數(shù)據(jù)流圖,簡稱DFD,是SA方法中用于表示系統(tǒng)邏輯模型的一種工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型。

數(shù)據(jù)流圖有四種基本圖形符號

箭頭,表示數(shù)據(jù)流;??

〇:圓或橢圓,表示加工;?

?= :雙杠,表示數(shù)據(jù)存儲(可以理解為文件);

?□:方框,表示數(shù)據(jù)的源點或終點。

數(shù)據(jù)流圖分類

事務(wù)型數(shù)據(jù)流圖

事務(wù)型結(jié)構(gòu)的數(shù)據(jù)流圖則呈束狀

變換型數(shù)據(jù)流圖

變換型結(jié)構(gòu)的數(shù)據(jù)流圖呈線性


頂層數(shù)據(jù)流圖

頂層流圖只包含一個加工,用以表示被開發(fā)的系統(tǒng),然后考慮該系統(tǒng)有哪些輸入數(shù)據(jù)、輸出數(shù)據(jù)流。

頂層數(shù)據(jù)流圖示例


頂層圖的作用在于表明被開發(fā)系統(tǒng)的范圍以及它和周圍環(huán)境的數(shù)據(jù)交換關(guān)系。

上面的話語比較抽象,有幾個重點

1)雖然頂層數(shù)據(jù)流圖只有一個加工,但是需要包含系統(tǒng)所有的既定功能的數(shù)據(jù)流轉(zhuǎn)。比如注冊時的注冊申請,注冊結(jié)果的通知單。這就是兩個單據(jù)了。

2)頂層數(shù)據(jù)流圖也需要有存儲文件,就是現(xiàn)實世界中的實體,軟件設(shè)計與開發(fā)中與數(shù)據(jù)表對應(yīng)。

3)數(shù)據(jù)的源點更多的對應(yīng)系統(tǒng)涉及到的角色,如客戶,學(xué)生,教師,旅客等實際系統(tǒng)用戶。在功能描述中涉及到的角色都應(yīng)該在頂層數(shù)據(jù)流圖中有所體現(xiàn)。


基本加工

不再分解的加工稱為基本加工。一般將層號從0開始編號,采用自頂向下,由外向內(nèi)的原則

以上如有不合理之后,歡迎留言討論。

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

數(shù)據(jù)字典是數(shù)據(jù)流分析的第二個組成部分,數(shù)據(jù)流圖本身不能充分描述系統(tǒng)的細(xì)節(jié),數(shù)據(jù)字典能提供有關(guān)系統(tǒng)的補充信息。

例:

系統(tǒng)邊界如何定義?以數(shù)據(jù)源和數(shù)據(jù)潭為參考依據(jù)? A

內(nèi)容補充

數(shù)據(jù)流從知識體系來說,屬于軟件結(jié)構(gòu)化分析。

軟件結(jié)構(gòu)化分析分為 數(shù)據(jù)源,數(shù)據(jù)潭,數(shù)據(jù)加工,數(shù)據(jù)存儲,數(shù)據(jù)流五個基本術(shù)語。

數(shù)據(jù)源代表數(shù)據(jù)的起點,系統(tǒng)功能的數(shù)據(jù)錄入點。

數(shù)據(jù)譚代表數(shù)據(jù)流動的終點,可以是人,系統(tǒng)等。實際上很多系統(tǒng)的頂層數(shù)據(jù)流圖的終點就是

系統(tǒng)名稱。

系統(tǒng)名稱數(shù)據(jù)源和數(shù)據(jù)潭對系統(tǒng)邊界做了定義,個人認(rèn)為理解這一點很重要。

數(shù)據(jù)流圖DFD和數(shù)據(jù)字典是對數(shù)據(jù)流的描述,數(shù)據(jù)字典是對數(shù)據(jù)加工的細(xì)化,而數(shù)據(jù)加工主要指實現(xiàn)什么樣的功能。

案例




關(guān)于數(shù)據(jù)字典

數(shù)據(jù)字典在網(wǎng)絡(luò)上很難找到準(zhǔn)備的定義描述,之前對數(shù)據(jù)字典的印象停留在數(shù)據(jù)庫數(shù)據(jù)表的字段,類型,非空項描述整理的table上。

數(shù)據(jù)字典的主要作用是定義數(shù)據(jù)流和數(shù)據(jù)結(jié)構(gòu),并給出相關(guān)項的基本數(shù)據(jù)類型。


end 2019年11月

參考資料

結(jié)構(gòu)化與面向?qū)ο蠡畱?yīng)用比較

某教學(xué)管理系統(tǒng)的數(shù)據(jù)流圖

【軟件工程】三、軟件開發(fā)方法學(xué)——結(jié)構(gòu)化分析方法



數(shù)據(jù)流圖



圖南備考-做最好的自己
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容