變換分析設(shè)計是一個順序結(jié)構(gòu),由輸入、變換和輸出三部分組成,其工作過程有3步:取得數(shù)據(jù)、變換數(shù)據(jù)和給出數(shù)據(jù)。
事務(wù)分析設(shè)計是將它的輸入流分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并根據(jù)輸入的值選擇其中一個路徑來執(zhí)行。二者區(qū)別:變換分析設(shè)計適用于具有明顯變換特征的數(shù)據(jù)流圖,事務(wù)分析設(shè)計適用于具有明顯事務(wù)特征的數(shù)據(jù)流圖。 變換分析設(shè)計步驟:
① 確定DFD中的變換中心、邏輯輸入和邏輯輸出:· 從物理輸入端開始,沿著數(shù)據(jù)流方向向系統(tǒng)中心尋找,直到有這樣的數(shù)據(jù)流,它不能再被看做是系統(tǒng)的輸入,則它的前一個數(shù)據(jù)流是系統(tǒng)的邏輯輸入?!?從物理輸出端開始,逆數(shù)據(jù)流方向向中間移動,可以確定系統(tǒng)的邏輯輸出?!?介于邏輯輸入和邏輯輸出之間的加工就是變換中心,即主加工。
② 設(shè)計軟件結(jié)構(gòu)的頂層和第一層——變換結(jié)構(gòu):· 頂層即主模塊,主要完成所有模塊的控制。· 第一層至少有3個功能模塊:輸入、輸出和變換模塊,即為邏輯輸入設(shè)計一個輸入模塊,其功能是為頂層模塊提供相應(yīng)數(shù)據(jù),為邏輯輸出設(shè)計一個輸出模塊,其功能是輸出頂層模塊的信息,為變換中心設(shè)計一個變換模塊,其功能是將邏輯輸入進行變換加工,然后邏輯輸出。
③ 設(shè)計中、下層模塊。對第一層的輸入、變換、輸出模塊自頂向下逐層分解。· 輸入模塊下屬模塊的設(shè)計:可設(shè)計兩個下屬模塊,一個接收,一個轉(zhuǎn)換?!?輸出模塊下屬模塊的設(shè)計:可設(shè)計兩個下屬模塊,一個轉(zhuǎn)換,一個發(fā)送?!?變換模塊下屬模塊的設(shè)計:按照模塊獨立性原則來組織其結(jié)構(gòu),一般對每個基本加工建立一個功能模塊。
④ 設(shè)計的優(yōu)化:· 輸入部分求精:為每個物理輸入設(shè)置專門模塊,其他輸入模塊與轉(zhuǎn)換數(shù)據(jù)模塊可適當(dāng)合并。· 輸出部分求精:為每個物理輸出設(shè)置專門模塊,其他輸出模塊與轉(zhuǎn)換數(shù)據(jù)模塊可適當(dāng)合并。· 變換部分求精:根據(jù)設(shè)計準則,對模塊進行合并或調(diào)整。事務(wù)分析設(shè)計步驟:
① 確定DFD的事務(wù)中心和加工路徑:當(dāng)數(shù)據(jù)流圖中每個加工將一個輸入數(shù)據(jù)分解成多個發(fā)散的輸出數(shù)據(jù)流時,該加工就是事務(wù)中心,從事務(wù)中心輻射出去的數(shù)據(jù)流為各個加工路徑。
② 設(shè)計軟件結(jié)構(gòu)的頂層和第一層——事務(wù)結(jié)構(gòu)。頂層是一個全控模塊,有兩個部分:接收分支(與變換型DFD的輸入部分設(shè)計方法相同)和發(fā)送分支(即調(diào)度模塊,它控制管理所有下層的事務(wù)處理模塊)。
③ 設(shè)計中、下層模塊、優(yōu)化等工作,與變換分析設(shè)計相同。