『壹』 軟體設計化結構包括哪些設計方法
1數據流的類型
在需求分析階段,用SA方法產生了數據流圖。結構化的設計能方便地將數據流圖(DataFlowDiagram,DFD)轉換成軟體結構圖。DFD中從系統的輸入數據流到系統的輸出數據流的一連串連續變換形成了一條信息流。根據數據流類型不同,可分為變換型和事務型2類,事務型和變換型數據流的設計步驟基本是大同小異,它們之間主要差別就是從數據流圖到軟體結構的映射方法不同。因此,在進行軟體結構設計時,首先對數據流圖進行分析,然後判斷屬於那一種類型,根據不同的數據流類型,通過一系列映射,把數據流程圖轉換為軟體結構圖。基本流程見圖1.
1.1變換型數據流
信息在沿著輸入通路進入系統,同時由外部形式變換成內部形式進入系統的信息,通過變換中心經加工處理,以後再沿著輸出通路變換成外部形式離開系統。當數據流具有了信息流的這種特徵時這種信息流就叫作變換型數據流。變換型數據流的DFD可明顯地分為三大部分:邏輯輸入、變換中心(主加工)、邏輯輸出。變換型數據流結構見圖2.邏輯輸入:可以從數據流圖上的物理輸入開始,一步一步向系統中間移動,一直到數據流不再被看作是系統的輸入為止,則其前一個數據流就是系統的邏輯輸入。可以認為邏輯輸入就是離物理輸入端最遠的,且仍被看作是系統輸入的數據流。變換中心:多股數據流匯集的地方往往是系統的中心變換部分。
邏輯輸出:從物理輸出端開始,一步一步地向系統中間移動,就可以找到離物理輸出端最遠,且仍被看作是系統輸出的數據流。
圖片 [轉到圖文版]
圖1數據流程圖轉換為軟體結構圖基本流程
圖片 [轉到圖文版]
圖2變換型數據流結構
1.2事務型數據流
信息在沿著輸入通路進入系統,由外部形成內部形式後到達事務中心。通常事務中心位於幾條處理路徑的起點,從數據流程圖上很容易標識出來,因為事務處理中心一般會有「發射中心」的特徵。因為事務流有明顯的事務中心,所以各式各樣活動流都以事務中心為起點呈輻射狀流出。事務型數據流結構見圖3.
圖片 [轉到圖文版]
圖3事務型數據流結構
事務中心主要完成下述任務:接收輸入數據(輸入數據又稱為事務);分析每個事務以確定它的類型;根據事務類型選取一條活動通路。通常,事務中心前面的部分叫作接收路徑,發射中心後面各條發散路徑叫作事務處理路徑。對於每條處理路徑來講,還應該確定它們自己的流特徵。
2映射過程
任何一個設計過程都不是統一、固定不變的,設計的要求越高,往往需要設計者在方法上不但具有超強的判斷能力還要有規則性的創造精神。根據不同類型,分析其映射過程。
2.1變換型數據流到軟體結構圖映射
(1)設計軟體結構的頂層和第1層。設計一個主模塊,並用系統的名字為它命名,作為系統的頂層。第1層為每個邏輯輸入設計一個輸入模塊,它的功能是為主模塊提供數據;為每一個邏輯輸出設計一個輸出模塊,它的功能是將主模塊提供的數據輸出;為中心變換設計一個變換模塊,它的功能是將邏輯輸入轉換成邏輯輸出。主模塊控制和協調第1層的輸入模塊、變換模塊和輸出模塊的工作。
(2)設計軟體結構的下層結構。每個邏輯輸入模塊有2個下屬模塊:一個接收數據;另一個把數據變換成上級模塊所需要的數據格式。而接收數據模塊又是輸入模塊,又要重復上述工作。如此循環下去,直到輸入模塊已經涉及到物理輸入端為止。同樣,每個邏輯輸出模塊有2個下屬模塊:一個是將上級模塊提供的數據變換成輸出的形式;另一個是將它們輸出。對於每一個邏輯輸出,在數據流程圖上向物理輸出端方向移動,遇到物理輸出為止。設計中心變換模塊的下層模塊沒有通用的方法,一般應參照數據流程圖的中心變換部分和功能分解的原則來考慮如何對中心變換模塊進行分解。
變換型數據流轉換後的初始軟體結構圖見圖4.
圖片 [轉到圖文版]
圖4變換型數據流轉換後的初始軟體結構圖
2.2事務型數據流到軟體結構圖映射
事務型數據處理問題的工作機理是接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然後給出結果。
(1)設計軟體結構的頂層和第1層。軟體結構圖的頂層是系統的事務控制模塊。第1層是由事務流輸入分支和事務分類處理分支映射得到的程序結構。也就是說,第1層通常是由兩部分組成:取得事務和處理事務。
(2)設計軟體結構的下層結構。設計事務流輸入分支的方法與變換分析中輸入流的設計方法類似,從事務中心變換開始,沿輸入路徑向物理輸入端移動。每個接收數據模塊的功能是向調用它的上級模塊提供數據,它需要有兩個下屬模塊:一個接收數據;另一個把這些數據變換成它的上級模塊所需要的數據格式。接收數據模塊又是輸入模塊,也要重復上述工作。如此循環下去,直到輸入模塊已經涉及到物理輸入端為止。
事務處理分支結構映射成一個分類控制模塊,它控制下層的處理模塊。對每個事務建立一個事務處理模塊。如果發現在系統中有類似的事務,就可以把這些