結(jié)構(gòu)化分析中,常用到數(shù)據(jù)模型為實體關(guān)系圖,功能模型是數(shù)據(jù)流圖 DFD
可以認為,一個基于計算機的信息處理系統(tǒng)由數(shù)據(jù)流和一系列的轉(zhuǎn)換構(gòu)成诅岩,這些轉(zhuǎn)換將輸入數(shù)據(jù)流變換為輸出數(shù)據(jù)流。數(shù)據(jù)流圖就是用來刻畫數(shù)據(jù)流和轉(zhuǎn)換的信息系統(tǒng)建模技術(shù)的姓蜂。它用簡單的圖形記號分別表示數(shù)據(jù)流按厘、轉(zhuǎn)換、數(shù)據(jù)源以及外部實體钱慢。
數(shù)據(jù)對象由其屬性刻畫 實體-關(guān)系圖是表示數(shù)據(jù)對象及其關(guān)系的圖形語言機制? 數(shù)據(jù)對象彼此之間相互連接的方式稱為關(guān)系导狡,也稱為聯(lián)系伍派∷俏眨可以是一對一聯(lián)系(1∶1)宾添、一對多聯(lián)系(1∶N)贞滨、多對多聯(lián)系(M∶N)聯(lián)系也可能有屬性糖赔。
數(shù)據(jù)流圖的功能主要為(1)描繪數(shù)據(jù)在系統(tǒng)中各邏輯功能模塊之間的流動和處理過程窿祥,是一種功能型模型 (2)主要刻畫“功能的輸入和輸出數(shù)據(jù)”顶燕、“數(shù)據(jù)的源頭和目的地” (3)在數(shù)據(jù)流圖中沒有任何具體的物理部件穗慕,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程饿敲。它與數(shù)據(jù)字典一起用來構(gòu)成系統(tǒng)的邏輯模型。
?數(shù)據(jù)流圖中個個對象的表示一般來說源點與終點:通常指外部對象逛绵,用長方形或長方體表示怀各。處理(加工):可以代表一系列程序、單個程序或者程序的一個模塊术浪,還可代表人工過程等瓢对,用圓形或圓角矩形表示。數(shù)據(jù)存儲:表示需要保存的數(shù)據(jù)流向胰苏,指處于靜止狀態(tài)的數(shù)據(jù)硕蛹,用平行線或開口矩形表示。數(shù)據(jù)流:指處理運行中的數(shù)據(jù)硕并,用箭頭表示法焰。
數(shù)據(jù)流圖的設(shè)計原則:
(1):父圖-子圖平衡原則:
子圖可以理解為父圖中部分環(huán)節(jié)的細化。例如我們給出父圖:
我們想對其中的成績處理環(huán)節(jié)進行細化倔毙,畫成如下數(shù)據(jù)流圖:
其中一定要保證父圖輸入輸出數(shù)據(jù)流 = 子圖輸入輸出數(shù)據(jù)流
(2)數(shù)據(jù)守恒原則:
所有的輸出數(shù)據(jù)流必須是通過加工的埃仪,且通過加工能直接產(chǎn)生。一般情況下要注意一下3個錯誤:
? ? *1* 外部實體與外部實體間無數(shù)據(jù)流普监。
? ? *2* 外部實體與數(shù)據(jù)存儲文件無數(shù)據(jù)流贵试。
? ? *3* 數(shù)據(jù)存儲文件間無數(shù)據(jù)流琉兜。
(3)守恒加工原則:
對于同一個加工,其輸入與輸出的名字必須不同毙玻。通常來說要注意一下2點:
*1* 對于每一個加工豌蟋,都應(yīng)該有輸入、輸出桑滩。
*2* 數(shù)據(jù)流與加工有關(guān)梧疲,且必須經(jīng)過加工。
在數(shù)據(jù)流方法中运准,對數(shù)據(jù)的精化是伴隨著對轉(zhuǎn)換的精化而同步進行的幌氮。DFD是自頂向下分解的。頂層DFD圖通過系統(tǒng)和尾部世界之間的聯(lián)機來描述系統(tǒng)的范圍胁澳,沒有數(shù)據(jù)流圖的雛形该互,只是一種思想的表達,所以也成為關(guān)聯(lián)圖韭畸。將頂層DFD的系統(tǒng)分解為若干個子系統(tǒng)宇智,決定每個子系統(tǒng)間的數(shù)據(jù)接口和活動關(guān)系,得到0層DFD圖胰丁,然后繼續(xù)向下細化随橘,得到1、2锦庸、3…DFD圖机蔗。最后得到的那個叫做底層DFD圖,底層的DFD圖最為詳細甘萧,操作也是基本操作萝嘁。參照底層的DFD圖來實施。
例如:簡單的考務(wù)處理系統(tǒng)
有如下的一個簡單考務(wù)處理系統(tǒng)幔嗦,要求完成一下工作:
1. 對考生送來的報名單進行檢查;
2. 對合格的報名單編好準考證號后將準考證送給考生酿愧,并將匯總后的考生名單送給閱卷站;
3. 對閱卷站送來的成績單進行檢查,并根據(jù)考試中心制定的合格標準審定合格者;
4. 制作考生通知單(含成績及合格/不合格標志)送給考生;
5. 按地區(qū)進行成績分類統(tǒng)計和試題難度分析邀泉,產(chǎn)生統(tǒng)計分析表嬉挡。
我們對需求進行關(guān)鍵字提取,并用綠色標出實體汇恤,紅色標出關(guān)鍵的數(shù)據(jù)流庞钢。
答:(1)頂層數(shù)據(jù)流圖:
(2)一層數(shù)據(jù)流圖:
(3)二層數(shù)據(jù)流圖:
例:圖書預(yù)訂系統(tǒng)
書店向顧客發(fā)放訂單,顧客將所填訂單交由系統(tǒng)處理因谎,系統(tǒng)首先依據(jù)圖書目錄對訂單進行檢查并對合格訂單進行處理基括,處理過程中根據(jù)顧客情況和訂單數(shù)目將訂單分為優(yōu)先訂單與正常訂單兩種,隨時處理優(yōu)先訂單财岔,定期處理正常訂單风皿。最后系統(tǒng)將所處理的訂單匯總河爹,并按出版社要求發(fā)給出版社。
答:(1)構(gòu)建頂層數(shù)據(jù)流圖
(2)構(gòu)建0層數(shù)據(jù)流圖(細化頂層數(shù)據(jù)流圖)
(3)逐層細化數(shù)據(jù)流圖