可以認為,壹個基於計算機的信息處理系統由數據流和壹系列的轉換構成,這些轉換將輸入數據流變換為輸出數據流。數據流圖就是用來刻畫數據流和轉換的信息系統建模技術的。它用簡單的圖形記號分別表示數據流、轉換、數據源以及外部實體。
數據對象由其屬性刻畫 實體-關系圖是表示數據對象及其關系的圖形語言機制? 數據對象彼此之間相互連接的方式稱為關系,也稱為聯系。可以是壹對壹聯系(1∶1)、壹對多聯系(1∶N)、多對多聯系(M∶N)?聯系也可能有屬性。
數據流圖的功能主要為(1)描繪數據在系統中各邏輯功能模塊之間的流動和處理過程,是壹種功能型模型 (2)主要刻畫“功能的輸入和輸出數據”、“數據的源頭和目的地” (3)在數據流圖中沒有任何具體的物理部件,它只是描繪數據在軟件中流動和被處理的邏輯過程。它與數據字典壹起用來構成系統的邏輯模型。
?數據流圖中個個對象的表示壹般來說源點與終點:通常指外部對象,用長方形或長方體表示。處理(加工):可以代表壹系列程序、單個程序或者程序的壹個模塊,還可代表人工過程等,用圓形或圓角矩形表示。數據存儲:表示需要保存的數據流向,指處於靜止狀態的數據,用平行線或開口矩形表示。數據流:指處理運行中的數據,用箭頭表示。
數據流圖的設計原則:
(1):父圖-子圖平衡原則:
子圖可以理解為父圖中部分環節的細化。例如我們給出父圖:
我們想對其中的成績處理環節進行細化,畫成如下數據流圖:
其中壹定要保證父圖輸入輸出數據流 = 子圖輸入輸出數據流
(2)數據守恒原則:
所有的輸出數據流必須是通過加工的,且通過加工能直接產生。壹般情況下要註意壹下3個錯誤:
*1* 外部實體與外部實體間無數據流。
*2* 外部實體與數據存儲文件無數據流。
*3* 數據存儲文件間無數據流。
(3)守恒加工原則:
對於同壹個加工,其輸入與輸出的名字必須不同。通常來說要註意壹下2點:
*1* 對於每壹個加工,都應該有輸入、輸出。
*2* 數據流與加工有關,且必須經過加工。
在數據流方法中,對數據的精化是伴隨著對轉換的精化而同步進行的。DFD是自頂向下分解的。頂層DFD圖通過系統和尾部世界之間的聯機來描述系統的範圍,沒有數據流圖的雛形,只是壹種思想的表達,所以也成為關聯圖。將頂層DFD的系統分解為若幹個子系統,決定每個子系統間的數據接口和活動關系,得到0層DFD圖,然後繼續向下細化,得到1、2、3…DFD圖。最後得到的那個叫做底層DFD圖,底層的DFD圖最為詳細,操作也是基本操作。參照底層的DFD圖來實施。
例如:簡單的考務處理系統
有如下的壹個簡單考務處理系統,要求完成壹下工作:
1. 對考生送來的報名單進行檢查;
2. 對合格的報名單編好準考證號後將準考證送給考生,並將匯總後的考生名單送給閱卷站;
3. 對閱卷站送來的成績單進行檢查,並根據考試中心制定的合格標準審定合格者;
4. 制作考生通知單(含成績及合格/不合格標誌)送給考生;
5. 按地區進行成績分類統計和試題難度分析,產生統計分析表。
我們對需求進行關鍵字提取,並用綠色標出實體,紅色標出關鍵的數據流。
答:(1)頂層數據流圖:
(2)壹層數據流圖:
(3)二層數據流圖:
例:圖書預訂系統
書店向顧客發放訂單,顧客將所填訂單交由系統處理,系統首先依據圖書目錄對訂單進行檢查並對合格訂單進行處理,處理過程中根據顧客情況和訂單數目將訂單分為優先訂單與正常訂單兩種,隨時處理優先訂單,定期處理正常訂單。最後系統將所處理的訂單匯總,並按出版社要求發給出版社。
答:(1)構建頂層數據流圖
(2)構建0層數據流圖(細化頂層數據流圖)
(3)逐層細化數據流圖