freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

軟件工程軟件總體設(shè)計(編輯修改稿)

2024-12-20 08:41 本頁面
 

【文章內(nèi)容簡介】 18 7.模塊功能應(yīng)可預(yù)測 模塊的功能應(yīng)能預(yù)測,如果一個模塊可以當做一個黑盒子,只要輸入的數(shù)據(jù)相同就產(chǎn)生同樣的輸出,這個模塊的功能就是可以預(yù)測的。帶有內(nèi)部存儲器的模塊的功能可能是不可預(yù)測的,因為它的輸出可能取決于內(nèi)部存儲器(例如某個標記) 的狀態(tài)。由于內(nèi)部存儲器對于上級模塊而言是不可見的,所以這樣的模塊不易理解、難于測試和維護。 如果一個模塊只完成一個單獨的子功能,則表現(xiàn)高內(nèi)聚;但是,如果一個模塊任意限制局部數(shù)據(jù)結(jié)構(gòu)的大小,過分限制在控制流中可以做出的選擇或者外部接口的模式,那么這種模塊的功能就過分局限,使用范圍也就過于狹窄。在使用過程中將不可避免地需要修改功能過分局限的模塊,以提高模塊的靈活性,擴大它的使用范圍;但是,在使用現(xiàn)場修改軟件的代價是很高的。 面向數(shù)據(jù)流的設(shè)計方法 在這一節(jié),將介紹一種應(yīng)用最廣、技術(shù)上也較完善的系統(tǒng)設(shè) 計方法,面向數(shù)據(jù)流的設(shè)計方法。面向數(shù)據(jù)流的設(shè)計方法的目標是給出設(shè)計軟件結(jié)構(gòu)的一個系統(tǒng)化途徑。 結(jié)構(gòu)化設(shè)計方法屬于面向數(shù)據(jù)流的設(shè)計方法。在需求分析階段,首先要考慮的一個關(guān)鍵問題就是信息流。信息流是軟件開發(fā)人員考慮問題的出發(fā)點和基礎(chǔ)。信息流從系統(tǒng)的輸入端向輸出端流動,要經(jīng)歷一系列的變換或處理。用來表現(xiàn)這個過程的數(shù)據(jù)流圖( DFD)就是軟件系統(tǒng)的邏輯模型。面向數(shù)據(jù)流的設(shè)計要解決的任務(wù),就是在上述需求分析的基礎(chǔ)上,將 DFD 圖映射為軟件系統(tǒng)的結(jié)構(gòu)。換句話說,這類設(shè)計方法允許把用 DFD 圖表示的系統(tǒng)邏輯模型方便地轉(zhuǎn)換成 對于軟件結(jié)構(gòu)的初始設(shè)計描述。在結(jié)構(gòu)化設(shè)計方法中,軟件的結(jié)構(gòu)將用系統(tǒng)結(jié)構(gòu)圖來描述。 為了有效地實現(xiàn)從 DFD 圖到系統(tǒng)結(jié)構(gòu)圖的映射,結(jié)構(gòu)化設(shè)計( SD)方法的步驟如下: S1:復(fù)審 DFD 圖,必要時可再次進行修改或細化; S2:鑒別 DFD 圖所表示的軟件系統(tǒng)的結(jié)構(gòu)特征,確定它所代表的軟件結(jié)構(gòu)是屬于變換型還是事務(wù)型; S3:按照 SD 方法規(guī)定的一組規(guī)則,把 DFD 圖映射為初始的系統(tǒng)結(jié)構(gòu)圖; S4:按照設(shè)計改進原則細化和改進初始的系統(tǒng)結(jié)構(gòu)圖,獲得最終系統(tǒng)結(jié)構(gòu)圖。 基本概念 以面向數(shù)據(jù)流的設(shè)計方法把信 息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法,信息流有下述兩種類型。 ( 1)變換流 19 根據(jù)基本系統(tǒng)模型,信息通常以外部世界的形式進入軟件系統(tǒng),經(jīng)過處理以后再以外部世界的形式離開系統(tǒng)。 如圖 416 所示,信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。當信息流具有這些特征時,稱為變換流。 圖 416 變換流 ( 2)事務(wù)流 原則上所有信息流都可以歸結(jié)為變換流類。但是,當信息流具有和圖 417類似的形狀時,稱信息流是以事務(wù)為中心,也就是說,數(shù)據(jù)沿輸入通路到達一個處理 T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列中選出一個來執(zhí)行。這類系統(tǒng)的特征能具有在多種事務(wù)中選擇執(zhí)行某類事務(wù)的能力。事務(wù)型結(jié)構(gòu)至少有一條接受路徑 ,一個事務(wù)中心 ,與若干條動作路徑組成。這類信息流應(yīng)該劃為一類特殊的信息流,稱為事務(wù)流。 圖 417 中的處理 T 稱為事務(wù)中心,它完成下述任務(wù): 1)接收輸入事務(wù)(事務(wù)又稱為輸入數(shù)據(jù)); 2)分析每個事務(wù)以確定它的類型; 3)根據(jù)事務(wù)類型選取一條活動通路。 圖 417 事務(wù)流 20 基于面向數(shù)據(jù)流方法的設(shè)計過程如圖 418 所示。 圖 418 面向數(shù)據(jù)流方法設(shè)計過程 系統(tǒng)結(jié)構(gòu)圖的組成 系統(tǒng)結(jié)構(gòu)圖是 SD 方法在總體設(shè)計中使用的主要表達工具,用來顯示軟件的組成模塊及其調(diào)用關(guān)系。 SD 方法約定,用矩形框來表示模塊,用帶箭頭的連線表示模塊間的調(diào)用關(guān)系。在調(diào)用線的兩旁,應(yīng)標出傳入和傳出模塊的數(shù)據(jù)流。 ( l)系統(tǒng)結(jié)構(gòu)模塊的表示符號 圖 419 系統(tǒng)結(jié)構(gòu)圖的六種模塊 21 不能再分解的底層模塊稱為原子模塊。如果一個系統(tǒng)的全部實際加工由原子模塊來完成,而其它非原子模塊只是執(zhí)行控制和協(xié)調(diào)工作,那么這種系統(tǒng)就稱為完全因子分解的系統(tǒng)。圖 419 顯示了系統(tǒng)結(jié)構(gòu)圖允許使用的 6 種模塊。 其中傳入、傳出和變換模塊用來組成變換結(jié)構(gòu)中的各個相應(yīng)郎 分。源模塊是不調(diào)用其它模塊的傳入模塊,只用于傳入部分的始端。漏模塊是不調(diào)用其它模塊的傳出模塊,僅用于傳出部分的末端??刂颇K是只調(diào)用其它模塊、而不被其它模塊調(diào)用的模塊,例如變換型結(jié)構(gòu)的頂層模塊,事務(wù)型結(jié)構(gòu)的事務(wù)中心等,均屬于控制模塊這一類。 ( 2)簡單調(diào)用 圖 420 模塊的簡單調(diào)用 在系統(tǒng)結(jié)構(gòu)圖中,調(diào)用線的箭頭指向被調(diào)用模塊。見圖 420,在圖 420( a)中,允許模塊 A 調(diào)用模塊 B 和模塊 C,而不是相反。調(diào)用 B 時, A 向它傳送數(shù)據(jù)流 X 與 Y, B 向 A 返回數(shù)據(jù)流動調(diào)用 C 時, A 僅向 C 傳送數(shù)據(jù)流動。顯而易見, B 屬于變換模塊, C 屬于漏模塊。圖 420( b)是圖( a)的一種替代畫法。用附表列出在模塊間傳送的數(shù)據(jù)流,以代替直接在調(diào)用線的兩側(cè)作標注。當系統(tǒng)結(jié)構(gòu)圖包含的數(shù)據(jù)流太多時,將造成畫面擁擠,采用這種畫法可使畫面簡潔并能減少錯誤。 ( 3)選擇調(diào)用 圖 421 模塊的選擇調(diào)用 選擇調(diào)用的畫法如圖 421 所示。圖中用菱形符號來表示選擇。左方菱形的含義是:模塊 A 根據(jù)它內(nèi)部的判斷,來決定要不要調(diào)用模塊 B。右方的菱形則表示 A 按照另一判定的結(jié)果,選擇調(diào)用模塊 C 或者模塊 D。 22 圖 422 模塊的循環(huán)調(diào)用 ( 4)循環(huán)調(diào)用 用疊加在調(diào)用線始端的環(huán)形箭頭表示循環(huán)。圖 422 的含義是:模塊 A 將根據(jù)其內(nèi)在的循環(huán)重復(fù)調(diào)用 B、 C 等模塊,直至在 A 模塊內(nèi)部出現(xiàn)滿足循環(huán)終止的條件為止。 以上簡述了系統(tǒng)結(jié)構(gòu)圖的符號和畫法。利用這些畫法,可以將目標系統(tǒng)的 DFD 圖轉(zhuǎn)換為目標系統(tǒng)的初始系統(tǒng)結(jié)構(gòu)圖。 SD 方法提出了兩種分析與過渡方法:即變換分析與事務(wù)分析方法。利用它們能方便地把 DFD 圖轉(zhuǎn)換為 初始系統(tǒng)結(jié)構(gòu)圖。前者適用于 DFD 圖中的變換型結(jié)構(gòu),后者適用于 DFD 圖中的事務(wù)型結(jié)構(gòu)。圖 423 簡明的說明了變換分析與事務(wù)分析各自的功能。 圖 423 變換分析與事務(wù)分析的功能 變換分析 經(jīng)過變換分析步驟把具有變換流特點的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)圖。 1.對 DFD 圖的分析和劃分 首先區(qū)分傳入、傳出和變換中心三個部分,在 DFD 圖上標明它們的分界線。 前已說明,變換結(jié)構(gòu)由傳入、傳出和變換中心三部分組成。變換中心的任務(wù),就是通過計算或者處理,把系統(tǒng)的邏輯輸人變換(或加工)為系統(tǒng)的邏輯輸出。所謂邏輯輸入,是指離物 理輸入端(輸入始端)最遠,但仍可以被看作系統(tǒng)輸入的那些數(shù)據(jù)流。而邏輯輸出則是指離物理輸出端(輸出末端)最遠,但仍可視為系統(tǒng)輸出的所有數(shù)據(jù)流。需要指出,當數(shù)據(jù)在系統(tǒng)中流動時,不僅在通過變換中心時要被變換,在傳入和傳出的路徑上,其內(nèi)容和形式也可能發(fā)生變化。所以有時把變換中心稱為中心加工,以區(qū)別干數(shù)據(jù)在傳入傳出過程中常見的其它加工。 23 圖 424 變換型分析 圖 424 是在 DFD 上區(qū)分三個組成部分的一個例子。圖中 c、 e 是邏輯輸入數(shù)據(jù)流, u、 w 是邏輯輸出數(shù)據(jù)流,介于它們之間的 P, Q, R 屬于中心加工。用虛線表示的兩條分界線,標出了這三個部分的邊界。 對 DFD 圖的分析和劃分是變換分析的第一步。對于較復(fù)雜的 DFD 圖,可以有多種的不同劃分結(jié)果。以下列出幾種可能遇到的情況及其處理方法。 有些系統(tǒng)沒有加工中心,系統(tǒng)的邏輯輸入和邏輯輸出是相同的數(shù)據(jù)流。此時應(yīng)如實地把 DFD 圖劃分為傳入和傳出兩個部分, 不要強求分成三個部分。 除傳入部分外,在變換中心甚至傳出部分也可能從系統(tǒng)外接受某些輸入數(shù)據(jù)流,稱為二次輸入數(shù)據(jù)。分析時,應(yīng)把二次輸人數(shù)據(jù)看成變換中心或輸出部分的一個成份,不應(yīng)當作輸入部分的一部分。 有些 DFD 圖可能太粗,缺少應(yīng)有的細節(jié)。遇到這種情況,設(shè)計人員可對作為分析的 DFD 圖進行補充,必要時甚至重畫。過多的細節(jié)有益后面的設(shè)計。 2.完成第一級分解 這一步要畫出初始的系統(tǒng)結(jié)構(gòu)圖,主要是畫出它最上面的兩層模塊,即頂層模塊和第一層模塊。任何系統(tǒng)的頂層都只有一個用于控制的主模塊。它的下一層(第一層 )一般包括輸入、輸出和中心變換三個模塊,分別代表系統(tǒng)的三個相應(yīng)分支。但也可能只有輸入和輸出兩個模塊,可據(jù) DFD 圖的實際劃分情況而定。 圖 425 顯示了圖 424 的 DFD 圖在第一級分解后導(dǎo)出的系統(tǒng)結(jié)構(gòu)圖,沿調(diào)用線標注了在模塊間輸送的數(shù)據(jù)流的名稱。 24 圖 425 第一層 DFD 圖 另一種 畫法,在第一層不是每一分支只畫一個模塊,而是按照實際情況確定模塊的數(shù)量。仍以圖 424 為例,輸入和輸出分支各有兩個數(shù)據(jù)流,而中心加工會有三個加工,故可畫出 (2+ 2+3)共 7 個模塊,如圖 426 所示。由于初始系統(tǒng)結(jié)構(gòu)圖還要細化和優(yōu)化,這兩種畫法的差異,對最終的系統(tǒng)結(jié)構(gòu)圖無關(guān)緊要。 圖 426 模塊間的調(diào)用 3. 完成第二級分解 對上步的結(jié)果繼續(xù)進行由頂向下的分解,直至畫出每個分支所需要的全部模塊,稱為第二級分解。這一步得到的結(jié)果便是系統(tǒng)的初始系統(tǒng)結(jié)構(gòu)圖。 同第一級分解一樣,這一步的分解實質(zhì)上仍然是映射,即把 DFD 圖中的加工按照一定規(guī)則轉(zhuǎn)換為系統(tǒng)結(jié)構(gòu)圖中的模塊。這就使整個工作變得有章可循,這也是 SD 方法的一大優(yōu)點。 仍以圖 424 為例,首先考察輸入分支的模塊分解。在圖 427 中輸入模塊 M A 可直接調(diào)用模塊 C 與 E 以取得它所需的數(shù)據(jù)流 c 與 e 繼續(xù)下推,模塊 C、 E將分別調(diào)用各自的 下屬模塊 B、 D,以取得 b 與 d。模塊 B 又通過調(diào)用下屬模塊 A 取得數(shù)據(jù) a??梢妶D 427 中的 5 個下屬模塊就是 DFD 圖中從 A 至 E 這 5個加工的映射,但模塊的調(diào)用順序正好與加工順序相反。 25 圖 427 第二級分解 數(shù)據(jù)流在輸入的過程中,也可能經(jīng)歷數(shù)據(jù)的變換。以圖 427 中的兩個輸入流為例,其中一 路將從 a 變換為 b,再變換為 c;另一路則從 d 變換為 e。為了表示出這種變換,可以在圖中增添 3 個變換模塊(即 “ 變 A 為 B” 。 “ 變 B為 C” 、 “ 變 D 為 E” ),并在模塊 A 至 E 的名稱中加上 Read、 Get 等字樣,如圖 428 所示。這一改變除了處于輸入端的源模塊以外,讓每一輸入模塊都調(diào)用兩個下屬模塊,包括一個下屬的輸入模塊和一個變換模塊。圖 428 所顯示的結(jié)構(gòu)較圖 427 更加清楚明了。 按圖 428 尋蹤,考察一下輸入分支的操作過程。為了取得數(shù)據(jù) c、 e, M。將分別調(diào)用模塊 C 和 E。為了得到 c(或 e),首先要得到 b(或 d 為了得到 b又要先讀入 a。圖 429 顯示了有關(guān)模塊的調(diào)用與執(zhí)行過程。雖然模塊的調(diào)用順序( CBA ,ED)恰與加工的出現(xiàn)順序相反,但取得數(shù)據(jù)的順序 (abc,de) ,與 DFD 的要求是一致的。 仿照與輸入分支相似的分解方法,可得到本例中輸出分支的兩種模塊分解圖,如圖 430 所示。 與輸入、輸出分支相比,中心加工分支的情況繁簡各異,其分解也較復(fù)雜。但建立初始的系統(tǒng)結(jié)構(gòu)圖時,仍可以采取“一對一映射”的簡單轉(zhuǎn)換方法。圖 431 顯示了本例中心加工分支第二級分解的結(jié)果。 將圖 428 和 圖 430 (右邊) 與 圖 431 合并在一起,就可以得到本例的初始系統(tǒng)結(jié)構(gòu)圖,如圖 432 所示。 圖 428 輸入分支的第二種分解 26 圖 429 模塊的調(diào)用和執(zhí)行過程 圖 430 輸出分支的兩種分解 圖 431 中心加工分支第二級分解 圖 432 初始系統(tǒng)結(jié)構(gòu)圖 4. 變換分析的主要步驟 27 S1 復(fù)查基本系統(tǒng)模型。在軟件需求分析階段應(yīng)對上述每條要求以及系統(tǒng)的其他特點進行全面的分析評價,建立起必要的文檔資料,特別是數(shù)據(jù)流圖。 S2 復(fù) 查并精化數(shù)據(jù)流圖。復(fù)查的目的是確保系統(tǒng)的輸入數(shù)據(jù)和輸出數(shù)據(jù)符合實際。應(yīng)該對需求分析階段得出的數(shù)據(jù)流圖復(fù)查,并且進行精化。不僅要確保數(shù)據(jù)流圖給出了目標系統(tǒng)的邏輯模型,而且應(yīng)該使數(shù)據(jù)流圖中每個處理都代表一個規(guī)模適中相對獨立的子功能
點擊復(fù)制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1