面向數據流的設計方法的目標是給出設計軟件結構的一個系統化的途徑。
在軟件工程的需求分析階段,信息流是一個關鍵考慮。通常用數據流圖描繪信息在系統中加工和流動的
情況。面向數據流的設計方法定義了一些不同的“映射”,利用這些映射可以把數據流圖變成軟件結構。
因為任何軟件系統都可以用數據流圖表示,所以面向數據流的設計方法理論上可以設計任何軟件的結構。
通常所說的結構化程序設計就是基于數據流的設計方法。
1.變換流
信息沿輸入通路進入系統,由外部形式變換成內部形式,進入系統的信息通過變換中心,經加工處理以
后再沿輸出通路變換成外部形式離開軟件系統。當數據流圖具有這些特征時,這種信息流就叫作變換流。
2.事務流
數據沿輸入通路到達一個處理T,這個處理根據輸入數據的類型在若干個動作序列中選出一個來執行。這
類數據流應該劃為一類特殊的數據流,稱為事務流。圖中的處理T稱為事務中心,它完成下述任務。
(1)接收輸入數據(輸入數據又稱為事務)。
(2) 分析每個事務以確定它的類型。
(3) 根據事務類型選取一條活動通路.
3.變換分析
第1步復查基本系統模型
第2步復查并精化數據流圖。
第3步確定數據流圖具有變換特性還是事務特性。
第4步確定輸入流和輸出流的邊界,從而孤立出變換中心。
第5步完成“第一級分解
軟件結構代表對控制的自頂向下的分配,所謂分解就是分配控制的過程。對于變換流的情況,數據流圖被映射成一個特殊的軟件結構,這個結構控制輸入、變換和輸出等信息處理過程。位于軟件結構最頂層的控制模塊Cm協調下述從屬的控制功能。輸入信息處理控制模塊Ca,協調對所有輸入數據的接收。變換中心控制模塊Ct,管理對內部形式的數據的所有操作。輸出信息處理控制模塊Ce,協調輸出信息的產生過程。
第6步完成“第二級分解”
第二級分解就是把數據流圖中的每個處理映射成軟件結構中一個適當的模塊。
第7步使用設計度量和啟發式規則對第一次分割得到的軟件結構進一步精化。
4.事物分析
數據流具有明顯的事務特點時采用事務分析方法。事務分析的設計步驟和變換分析的設計步驟大部分相同或類似,主要差別僅在于由數據流圖到軟件結構的映射方法不同。由事務流映射成的軟件結構包括一個接收分支和一個發送分支。