數(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)涉及到的角色炮赦,如客戶,學生样勃,教師吠勘,旅客等實際系統(tǒng)用戶。在功能描述中涉及到的角色都應(yīng)該在頂層數(shù)據(jù)流圖中有所體現(xiàn)峡眶。
基本加工
不再分解的加工稱為基本加工剧防。一般將層號從0開始編號,采用自頂向下辫樱,由外向內(nèi)的原則
以上如有不合理之后峭拘,歡迎留言討論。
數(shù)據(jù)字典
數(shù)據(jù)字典是數(shù)據(jù)流分析的第二個組成部分狮暑,數(shù)據(jù)流圖本身不能充分描述系統(tǒng)的細節(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)邊界做了定義烂翰,個人認為理解這一點很重要夯缺。
數(shù)據(jù)流圖DFD和數(shù)據(jù)字典是對數(shù)據(jù)流的描述,數(shù)據(jù)字典是對數(shù)據(jù)加工的細化甘耿,而數(shù)據(jù)加工主要指實現(xiàn)什么樣的功能踊兜。
案例
關(guān)于數(shù)據(jù)字典
數(shù)據(jù)字典在網(wǎng)絡(luò)上很難找到準備的定義描述,之前對數(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)用比較
【軟件工程】三贰剥、軟件開發(fā)方法學——結(jié)構(gòu)化分析方法