大型軟件工程開發(fā)中結構化的設計方法

2013-08-30 14:20 來源:電子信息網 作者:鈴鐺

軟件工程的基本思想是面對復雜的問題,讓軟件的開發(fā)按照工程的概念、原理、技術和方法模式來實施,有計劃地按照要求分階段實現(xiàn)。針對大型項目開發(fā),為了保證軟件產品質量,提高軟件開發(fā)效率,在進行詳細設計、程序設計之前,必須先確定軟件總體結構。軟件總體結構設計的方法主要有結構化設計、面向數(shù)據結構的設計和面向對象的設計,其中結構化設計方法是應用最廣泛的一種,它是建立良好程序結構的方法,提出了衡量模塊質量的標準是“高內聚、低耦合”。另外,結構化設計(StructuredDesign,SD)方法是一種面向過程的設計方法或面向數(shù)據流的設計方法,它可以與結構化分析(StructuredAnalysis,SA)方法、結構化程序設計(StructuredProgramming)方法前后呼應,形成了統(tǒng)一、完整的系列化方法。結構化設計方法以需求分析階段獲得的數(shù)據流圖為基礎,通過一系列映射,把數(shù)據流圖變換為軟件結構圖。

1數(shù)據流的類型

在需求分析階段,用SA方法產生了數(shù)據流圖。結構化的設計能方便地將數(shù)據流圖(DataFlowDiagram,DFD)轉換成軟件結構圖。DFD中從系統(tǒng)的輸入數(shù)據流到系統(tǒng)的輸出數(shù)據流的一連串連續(xù)變換形成了一條信息流。根據數(shù)據流類型不同,可分為變換型和事務型2類,事務型和變換型數(shù)據流的設計步驟基本是大同小異,它們之間主要差別就是從數(shù)據流圖到軟件結構的映射方法不同。因此,在進行軟件結構設計時,首先對數(shù)據流圖進行分析,然后判斷屬于那一種類型,根據不同的數(shù)據流類型,通過一系列映射,把數(shù)據流程圖轉換為軟件結構圖。基本流程見圖1.

1.1變換型數(shù)據流

信息在沿著輸入通路進入系統(tǒng),同時由外部形式變換成內部形式進入系統(tǒng)的信息,通過變換中心經加工處理,以后再沿著輸出通路變換成外部形式離開系統(tǒng)。當數(shù)據流具有了信息流的這種特征時這種信息流就叫作變換型數(shù)據流。變換型數(shù)據流的DFD可明顯地分為三大部分:邏輯輸入、變換中心(主加工)、邏輯輸出。變換型數(shù)據流結構見圖2.邏輯輸入:可以從數(shù)據流圖上的物理輸入開始,一步一步向系統(tǒng)中間移動,一直到數(shù)據流不再被看作是系統(tǒng)的輸入為止,則其前一個數(shù)據流就是系統(tǒng)的邏輯輸入??梢哉J為邏輯輸入就是離物理輸入端最遠的,且仍被看作是系統(tǒng)輸入的數(shù)據流。變換中心:多股數(shù)據流匯集的地方往往是系統(tǒng)的中心變換部分。

邏輯輸出:從物理輸出端開始,一步一步地向系統(tǒng)中間移動,就可以找到離物理輸出端最遠,且仍被看作是系統(tǒng)輸出的數(shù)據流。

01


圖1數(shù)據流程圖轉換為軟件結構圖基本流程

02


圖2變換型數(shù)據流結構

1.2事務型數(shù)據流

信息在沿著輸入通路進入系統(tǒng),由外部形成內部形式后到達事務中心。通常事務中心位于幾條處理路徑的起點,從數(shù)據流程圖上很容易標識出來,因為事務處理中心一般會有“發(fā)射中心”的特征。因為事務流有明顯的事務中心,所以各式各樣活動流都以事務中心為起點呈輻射狀流出。事務型數(shù)據流結構見圖3.

03


圖3事務型數(shù)據流結構

事務中心主要完成下述任務:接收輸入數(shù)據(輸入數(shù)據又稱為事務);分析每個事務以確定它的類型;根據事務類型選取一條活動通路。通常,事務中心前面的部分叫作接收路徑,發(fā)射中心后面各條發(fā)散路徑叫作事務處理路徑。對于每條處理路徑來講,還應該確定它們自己的流特征。

2映射過程

任何一個設計過程都不是統(tǒng)一、固定不變的,設計的要求越高,往往需要設計者在方法上不但具有超強的判斷能力還要有規(guī)則性的創(chuàng)造精神。根據不同類型,分析其映射過程。

2.1變換型數(shù)據流到軟件結構圖映射

(1)設計軟件結構的頂層和第1層。設計一個主模塊,并用系統(tǒng)的名字為它命名,作為系統(tǒng)的頂層。第1層為每個邏輯輸入設計一個輸入模塊,它的功能是為主模塊提供數(shù)據;為每一個邏輯輸出設計一個輸出模塊,它的功能是將主模塊提供的數(shù)據輸出;為中心變換設計一個變換模塊,它的功能是將邏輯輸入轉換成邏輯輸出。主模塊控制和協(xié)調第1層的輸入模塊、變換模塊和輸出模塊的工作。

(2)設計軟件結構的下層結構。每個邏輯輸入模塊有2個下屬模塊:一個接收數(shù)據;另一個把數(shù)據變換成上級模塊所需要的數(shù)據格式。而接收數(shù)據模塊又是輸入模塊,又要重復上述工作。如此循環(huán)下去,直到輸入模塊已經涉及到物理輸入端為止。同樣,每個邏輯輸出模塊有2個下屬模塊:一個是將上級模塊提供的數(shù)據變換成輸出的形式;另一個是將它們輸出。對于每一個邏輯輸出,在數(shù)據流程圖上向物理輸出端方向移動,遇到物理輸出為止。設計中心變換模塊的下層模塊沒有通用的方法,一般應參照數(shù)據流程圖的中心變換部分和功能分解的原則來考慮如何對中心變換模塊進行分解。

變換型數(shù)據流轉換后的初始軟件結構圖見圖4.

04


圖4變換型數(shù)據流轉換后的初始軟件結構圖

2.2事務型數(shù)據流到軟件結構圖映射

事務型數(shù)據處理問題的工作機理是接受一項事務,根據事務處理的特點和性質,選擇分派一個適當?shù)奶幚韱卧缓蠼o出結果。

(1)設計軟件結構的頂層和第1層。軟件結構圖的頂層是系統(tǒng)的事務控制模塊。第1層是由事務流輸入分支和事務分類處理分支映射得到的程序結構。也就是說,第1層通常是由兩部分組成:取得事務和處理事務。

(2)設計軟件結構的下層結構。設計事務流輸入分支的方法與變換分析中輸入流的設計方法類似,從事務中心變換開始,沿輸入路徑向物理輸入端移動。每個接收數(shù)據模塊的功能是向調用它的上級模塊提供數(shù)據,它需要有兩個下屬模塊:一個接收數(shù)據;另一個把這些數(shù)據變換成它的上級模塊所需要的數(shù)據格式。接收數(shù)據模塊又是輸入模塊,也要重復上述工作。如此循環(huán)下去,直到輸入模塊已經涉及到物理輸入端為止。

事務處理分支結構映射成一個分類控制模塊,它控制下層的處理模塊。對每個事務建立一個事務處理模塊。如果發(fā)現(xiàn)在系統(tǒng)中有類似的事務,就可以把這些類似的事務組織成一個公共事務處理模塊。但是,如果組合后的模塊是低內聚的,則應該重新考慮組合問題。

事務中心模塊按所接受的事務的類型,選擇某一個事務處理模塊執(zhí)行。每個事務處理模塊可能要調用若干個操作模塊,而操作模塊又可能調用若干個細節(jié)模塊。不同的事務處理模塊可以共享一些操作模塊。不同的操作模塊又可以共享一些細節(jié)模塊。事務型數(shù)據流轉換后的初始軟件結構圖見圖5.

05


圖5事務型數(shù)據流轉換后的初始軟件結構圖

1 2 > 
軟件工程 結構化

相關閱讀

暫無數(shù)據

一周熱門