軟件工程第四章軟件設(shè)計_第1頁
軟件工程第四章軟件設(shè)計_第2頁
軟件工程第四章軟件設(shè)計_第3頁
軟件工程第四章軟件設(shè)計_第4頁
軟件工程第四章軟件設(shè)計_第5頁
已閱讀5頁,還剩58頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

軟件工程第四章軟件設(shè)計第1頁,課件共64頁,創(chuàng)作于2023年2月4.5.1面向數(shù)據(jù)流的設(shè)計方法

(結(jié)構(gòu)化設(shè)計方法SD,StructuredDesign)

1.面向數(shù)據(jù)流設(shè)計方法的基本概念

SD以數(shù)據(jù)流圖為基礎(chǔ),它定義了把DFD(DataFlowDiagram)變換成軟件結(jié)構(gòu)的映射方法映射DFD(問題結(jié)構(gòu))軟件系統(tǒng)的結(jié)構(gòu)(程序結(jié)構(gòu))第2頁,課件共64頁,創(chuàng)作于2023年2月數(shù)據(jù)流圖可分為兩種類型:

變換型數(shù)據(jù)流事務(wù)型數(shù)據(jù)流第3頁,課件共64頁,創(chuàng)作于2023年2月變換型數(shù)據(jù)流時間輸入流輸出流變換流信息信息沿輸入通路進入系統(tǒng);進入系統(tǒng)的信息通過變換中心;經(jīng)加工處理以后再沿輸出通路離開軟件系統(tǒng);當(dāng)數(shù)據(jù)流圖具有這些特征時,這種信息流就叫作變換流。第4頁,課件共64頁,創(chuàng)作于2023年2月事務(wù)型數(shù)據(jù)流當(dāng)數(shù)據(jù)流經(jīng)過一個具有“事務(wù)中心”特征的數(shù)據(jù)處理時,它可以根據(jù)事務(wù)類型從多條路徑的數(shù)據(jù)流中選擇一條活動通路。這種具有根據(jù)條件選擇處理不同事務(wù)的數(shù)據(jù)流,就是事務(wù)型數(shù)據(jù)流,簡稱事務(wù)流?!顒油贰聞?wù)中心⊕⊕⊕第5頁,課件共64頁,創(chuàng)作于2023年2月面向數(shù)據(jù)流方法的設(shè)計過程精化數(shù)據(jù)流圖區(qū)分事務(wù)中心和數(shù)據(jù)接收路徑映射成變換結(jié)構(gòu)流類型區(qū)分輸入和輸出分支映射成事務(wù)結(jié)構(gòu)用啟發(fā)式設(shè)計規(guī)則精化軟件結(jié)構(gòu)導(dǎo)出接口描述和全程數(shù)據(jù)結(jié)構(gòu)復(fù)查詳細設(shè)計“事務(wù)”“變換”事務(wù)分析變換分析第6頁,課件共64頁,創(chuàng)作于2023年2月初始的SC主模塊輸入模塊主加工模塊傳出模塊事務(wù)控制模塊接受模塊動作發(fā)送模塊動作1模塊動作2模塊動作3模塊由變換分析產(chǎn)生由事務(wù)分析產(chǎn)生第7頁,課件共64頁,創(chuàng)作于2023年2月軟件結(jié)構(gòu)圖的六種模塊類型⑴傳入模塊從下屬模塊傳入數(shù)據(jù)X,經(jīng)處理后返回給上級模塊數(shù)據(jù)流Y。它傳送的數(shù)據(jù)流叫做邏輯輸入數(shù)據(jù)流。箭頭尾部是空心圓表示傳遞的是數(shù)據(jù),否則表示傳遞的是控制信息。為了繪圖簡便本講義后面暫且全部用普通箭頭數(shù)據(jù)流控制流X模塊名Y第8頁,課件共64頁,創(chuàng)作于2023年2月軟件結(jié)構(gòu)圖的四種模塊類型(續(xù))⑵

傳出模塊

從上級模塊獲得數(shù)據(jù),經(jīng)處理后再將其傳送給下屬模塊。YX⑶變換模塊

也叫做加工模塊。它從上級模塊獲得數(shù)據(jù),經(jīng)處理,轉(zhuǎn)換成其他形式,再傳送回上級模塊。YX第9頁,課件共64頁,創(chuàng)作于2023年2月軟件結(jié)構(gòu)圖的四種模塊類型(續(xù))⑷源模塊

⑸終模塊

以上兩種模塊只被調(diào)用,不調(diào)用別的模塊。傳入的始端X傳出的末端X第10頁,課件共64頁,創(chuàng)作于2023年2月軟件結(jié)構(gòu)圖的六種模塊類型(續(xù))⑹控制模塊

對所有下屬模塊進行協(xié)調(diào)和管理的模塊。在一個好的系統(tǒng)結(jié)構(gòu)圖中,協(xié)調(diào)模塊應(yīng)在較高層出現(xiàn)?!璝XYXYX或第11頁,課件共64頁,創(chuàng)作于2023年2月模塊調(diào)用的表示⑴簡單調(diào)用

XX,YZACB箭頭指向被調(diào)用模塊模塊A調(diào)用B和C,A向B傳送數(shù)據(jù)流X和Y,B返回A數(shù)據(jù)流Z第12頁,課件共64頁,創(chuàng)作于2023年2月模塊調(diào)用的表示(續(xù))⑵選擇調(diào)用

ACDB模塊A中某個判定為真時調(diào)用模塊C,為假時調(diào)用模塊D。模塊A中某個判定為真時調(diào)用模塊B,為假時不調(diào)用。表示判定條件。BCD第13頁,課件共64頁,創(chuàng)作于2023年2月模塊調(diào)用的表示(續(xù))⑶循環(huán)調(diào)用

模塊A根據(jù)內(nèi)部循環(huán)條件,重復(fù)調(diào)用B、C模塊,直至內(nèi)部出現(xiàn)滿足循環(huán)終止條件為止。ABCABCD第14頁,課件共64頁,創(chuàng)作于2023年2月2.面向數(shù)據(jù)流設(shè)計方法的設(shè)計步驟(1)優(yōu)化DFD(2)確定DFD類型(3)把DFD映射到系統(tǒng)模塊結(jié)構(gòu),設(shè)計出模塊結(jié)構(gòu)的上層(4)基于DFD逐步分解高層模塊,設(shè)計出下層模塊(5)根據(jù)模塊獨立性原理,優(yōu)化模塊結(jié)構(gòu)(6)模塊接口描述第15頁,課件共64頁,創(chuàng)作于2023年2月步驟:(1)區(qū)分傳入、變換中心、傳出部分,在DFD

上標(biāo)明分界線(1)變換分析設(shè)計方法第16頁,課件共64頁,創(chuàng)作于2023年2月BCADEQPRWUVabcedrpuwv變換中心傳入部分傳出部分第17頁,課件共64頁,創(chuàng)作于2023年2月從數(shù)據(jù)流程圖的物理輸入端開始,向系統(tǒng)的中間移動,一直到某個數(shù)據(jù)流不再被看作是系統(tǒng)的輸入為止,這個數(shù)據(jù)流的前一個數(shù)據(jù)流就是系統(tǒng)的邏輯輸入。同理從物理輸出端開始,向系統(tǒng)的中間移動,就可以找到軟件的邏輯輸出。在輸入部分和輸出部分之間的就是中心變換部分。

第18頁,課件共64頁,創(chuàng)作于2023年2月變換分析設(shè)計方法步驟(2)第一級分解(建立初始SC框架)

設(shè)計頂層和第一層模塊第19頁,課件共64頁,創(chuàng)作于2023年2月第一級分解的方法MCMTMAME第20頁,課件共64頁,創(chuàng)作于2023年2月第一級分解后的SCMCMTMAME第一層頂層c,ec,eu,wu,w傳入模塊傳出模塊中心變換模塊第21頁,課件共64頁,創(chuàng)作于2023年2月第一級分解后的SC(另一種畫法)MCMA1ceuc,pQPReprrw,uw傳入分支模塊中心加工分支模塊傳出分支模塊MA2ME1ME2第22頁,課件共64頁,創(chuàng)作于2023年2月變換分析設(shè)計方法步驟(3)第二級分解(分解SC各分支)

自頂向下分解,設(shè)計出每個分支的中、下層模塊第23頁,課件共64頁,創(chuàng)作于2023年2月完成第二級分解的方法是,從變換中心的邊界開始沿著輸入通路向左移動,把輸入通路中每個處理邏輯映射成軟件結(jié)構(gòu)中MA控制下的一個低層模塊;然后沿輸出通路向右移動,把輸出通路中每個處理邏輯映射成直接或間接受模塊ME控制的一個低層模塊;最后把變換中心內(nèi)的每個處理映射成受MT控制的一個模塊。第24頁,課件共64頁,創(chuàng)作于2023年2月傳入分支的分解

MACBAbacEDdec,e第25頁,課件共64頁,創(chuàng)作于2023年2月傳出分支的分解

WvMEUwuw,uV第26頁,課件共64頁,創(chuàng)作于2023年2月中心加工分支的分解MTPQRec,pru,wpr第27頁,課件共64頁,創(chuàng)作于2023年2月第一次分解文件單詞數(shù)目統(tǒng)計讀取和驗證文件名統(tǒng)計單詞數(shù)目格式化和顯示單詞數(shù)下面設(shè)計一個“統(tǒng)計輸入文件中單詞數(shù)目”程序。輸入流邊界輸出流邊界有效的文件名單詞總數(shù)格式化單詞數(shù)驗證文件名統(tǒng)計單詞數(shù)格式化單詞數(shù)讀文件名文件名單詞總數(shù)顯示單詞數(shù)文件名文件單詞數(shù)目統(tǒng)計讀取和驗證文件名統(tǒng)計單詞數(shù)目格式化和顯示單詞數(shù)格式化單詞數(shù)顯示單詞數(shù)讀文件名驗證文件名第二次分解第28頁,課件共64頁,創(chuàng)作于2023年2月

任何情況下都可使用變換分析方法設(shè)計軟件結(jié)構(gòu),但如數(shù)據(jù)流具有明顯的事務(wù)特點時(有一個明顯的事務(wù)中心),以采用事務(wù)分析方法為宜。(2)事務(wù)分析設(shè)計方法第29頁,課件共64頁,創(chuàng)作于2023年2月事務(wù)分析設(shè)計方法步驟:(1)在DFD上確定事務(wù)中心、接收部分和發(fā)送部分。(2)畫出SC框架,把DFD上的三部分分別映射為事務(wù)控制模塊、接收模塊和動作發(fā)送模塊。(3)分解細化接收分支和發(fā)送分支,完成初始SC。第30頁,課件共64頁,創(chuàng)作于2023年2月事務(wù)分析的映射方法總控調(diào)度C路徑B路徑A路徑A路徑B路徑C路徑接收路徑第31頁,課件共64頁,創(chuàng)作于2023年2月事務(wù)流設(shè)計事務(wù)選擇確定事務(wù)類型審計記錄事務(wù)1事務(wù)2事務(wù)3事務(wù)4審計信息事務(wù)5更新事務(wù)v有效事務(wù)查詢更新事務(wù)w有效事務(wù)存款更新事務(wù)x有效事務(wù)取款更新事務(wù)y有效事務(wù)轉(zhuǎn)賬更新事務(wù)z有效事務(wù)修改密碼ATM機處理事務(wù)主控調(diào)度器更新事務(wù)查詢審計記錄分析器事務(wù)選擇存款轉(zhuǎn)賬取款修改密碼ATM機系統(tǒng)結(jié)構(gòu)映射成第32頁,課件共64頁,創(chuàng)作于2023年2月ABT1變換中心傳入傳出T2T3abb1b2b3c1c2c3degfjLm事務(wù)流子系統(tǒng)BCCDDEEHHKFJKLLMh(3)混合流設(shè)計舉例k第33頁,課件共64頁,創(chuàng)作于2023年2月混合流設(shè)計舉例輸入DXX系統(tǒng)變換控制輸出K輸入Cdc輸出LCDDEFJEHHKKLcddkkkLL輸出MLMmmL事務(wù)子系統(tǒng)defghgjk第34頁,課件共64頁,創(chuàng)作于2023年2月混合流設(shè)計讀入數(shù)據(jù)判別

訂貨處理

訂貨輸入

提貨發(fā)票進貨輸入

庫存修改

進貨票據(jù)

訂單記錄

分析統(tǒng)計生成統(tǒng)計表映射成第35頁,課件共64頁,創(chuàng)作于2023年2月4.5.3體系結(jié)構(gòu)設(shè)計優(yōu)化

將初始SC根據(jù)模塊獨立性原則進行精化,對模塊進行合并、分解修改、調(diào)整,得到高內(nèi)聚、低耦合模塊,得到易于實現(xiàn)、易于測試和易于維護的軟件結(jié)構(gòu),產(chǎn)生設(shè)計文檔的最終SC。第36頁,課件共64頁,創(chuàng)作于2023年2月(1)模塊功能的完善化完整的模塊應(yīng)包括三部分:(1)執(zhí)行規(guī)定功能部分(2)出錯處理部分(3)需返回給調(diào)用者數(shù)據(jù)時,返回是否正確結(jié)束標(biāo)志。改進軟件結(jié)構(gòu)設(shè)計的指導(dǎo)原則

(軟件結(jié)構(gòu)設(shè)計的啟發(fā)式規(guī)則)第37頁,課件共64頁,創(chuàng)作于2023年2月(2)消除重復(fù)功能Q1CQ2CQ1Q2C改進前Q1、Q2功能相似XYQ’XYXY重復(fù)部分改進方法1:將Q1、Q2合并為Q’不可取改進方法2:將Q1、Q2的公共部分分離出來第38頁,課件共64頁,創(chuàng)作于2023年2月原則:某模塊的判定語句的作用范圍應(yīng)在該模塊的控制范圍之內(nèi),最好在直接控制范圍之內(nèi)。(下圖中綠色的模塊是判定語句的作用范圍)TXYBB1B2ATXYABB1B2TXYABB1B2TXYABB1B2違背原則符合但太高適中理想3、調(diào)整軟件結(jié)構(gòu)以保證結(jié)構(gòu)中的模塊滿足作用范圍/控制范圍原則第39頁,課件共64頁,創(chuàng)作于2023年2月如果在設(shè)計過程中,發(fā)現(xiàn)作用范圍不在控制范圍內(nèi),可采用如下辦法把作用范圍移到控制范圍之內(nèi):1)提高控制模塊的層次。將判定所在模塊合并到父模塊中,使判定處于較高層次。2)將受判定影響的模塊下移到控制范圍內(nèi);3)將判定上移到層次中較高的位置。但是要注意,判定所在的模塊最好不要太高,模塊之間的控制參數(shù)傳遞路徑太長,增加了模塊之間的耦合。第40頁,課件共64頁,創(chuàng)作于2023年2月(4)減少高扇出爭取高扇入高扇出的模塊結(jié)構(gòu)舉例:編外人員工資取得工資數(shù)據(jù)計時制工資額薪金制工資額編外人員稅款編外人員扣款常規(guī)扣款稅收扣款計算實發(fā)工資避免平鋪結(jié)構(gòu)第41頁,課件共64頁,創(chuàng)作于2023年2月增加中間層降低扇出編外人員工資取得工資數(shù)據(jù)計時制工資額薪金制工資額編外人員稅款編外人員扣款常規(guī)扣款稅收扣款計算實發(fā)工資計時工人實發(fā)工資計薪工人實發(fā)工資編外人員實發(fā)工資第42頁,課件共64頁,創(chuàng)作于2023年2月

設(shè)計良好的軟件結(jié)構(gòu)應(yīng)該是頂層扇出比較高,中間扇出較少,底層扇入到高扇入的公共模塊,有點類似于橄欖狀的結(jié)構(gòu)第43頁,課件共64頁,創(chuàng)作于2023年2月(5)模塊大小適中模塊過大:可理解程度下降模塊過?。洪_銷大于有效操作系統(tǒng)接口復(fù)雜(6)降低模塊接口的復(fù)雜性

接口傳遞信息應(yīng)簡單且和模塊功能一致。第44頁,課件共64頁,創(chuàng)作于2023年2月(7)模塊功能可預(yù)測模塊看成黑盒子,相同輸入產(chǎn)生相同輸出,其功能為可預(yù)測的。模塊帶有內(nèi)部狀態(tài)其功能可能是不可預(yù)測的。難理解、難測試、難維護。第45頁,課件共64頁,創(chuàng)作于2023年2月(8)避免模塊的病態(tài)連接

防止指向模塊中間的分支或引用(針對內(nèi)容耦合)

(9)根據(jù)設(shè)計約束和可移植性需求對軟件打包打包指用來為特定環(huán)境組裝軟件的技術(shù)第46頁,課件共64頁,創(chuàng)作于2023年2月4.5.4層次圖和HIPO圖IBM公司發(fā)明的HIPO圖:層次圖

+

輸入/處理/輸出圖

(H圖)(IPO圖)(HierachyInputProcessOutput)第47頁,課件共64頁,創(chuàng)作于2023年2月1.層次圖(H圖)

表示軟件的層次結(jié)構(gòu)正文加工系統(tǒng)輸入輸出編輯加標(biāo)題存儲檢索編目錄添加刪除插入修改合并列表第48頁,課件共64頁,創(chuàng)作于2023年2月帶編號的層次圖(H圖)

正文加工系統(tǒng)輸入1.0輸出2.0編輯3.0加標(biāo)題

4.0存儲5.0檢索6.0編目錄

7.0添加3.1刪除3.2插入3.3修改3.4合并3.5列表3.6第49頁,課件共64頁,創(chuàng)作于2023年2月2.

HIPO圖H圖中每一方框(模塊)均有一張IPO圖對應(yīng)

航線調(diào)度系統(tǒng)HIPO圖舉例

H圖:命令監(jiān)控器1.0取得輸入1.1輸入確認(rèn)

1.2請求確認(rèn)1.3更新處理

1.4第50頁,課件共64頁,創(chuàng)作于2023年2月傳統(tǒng)的IPO圖舉例輸入處理輸出讀口令請求口令文件1取得輸入2口令確認(rèn)3請求確認(rèn)請求記錄權(quán)限文件4更新處理權(quán)限記錄狀態(tài)報告響應(yīng)命令監(jiān)控器(1.0)的IPO圖第51頁,課件共64頁,創(chuàng)作于2023年2月改進的IPO圖格式IPO圖系統(tǒng):模塊:編號:作者:日期:被調(diào)用:調(diào)用:輸出:輸入:輸入:局部數(shù)據(jù)元素:注釋:第52頁,課件共64頁,創(chuàng)作于2023年2月§4.6詳細設(shè)計(過程設(shè)計、模塊設(shè)計)主要任務(wù):編寫詳細設(shè)計說明書為此,設(shè)計人員應(yīng):(1)確定每個模塊的算法,用工具表達算法的過程,寫出模塊的詳細過程性描述。(2)確定每一模塊的數(shù)據(jù)結(jié)構(gòu)。(3)確定模塊接口細節(jié)。詳細設(shè)計是編碼的先導(dǎo)。第53頁,課件共64頁,創(chuàng)作于2023年2月4.6.1

結(jié)構(gòu)化程序設(shè)計(SP)方法傳統(tǒng)的設(shè)計技術(shù)和舊觀念:設(shè)計的隨意性,具有濃厚的個人色彩.追求程序效率和個人設(shè)計技巧新的設(shè)計思想和風(fēng)格:清晰第一使用標(biāo)準(zhǔn)的、規(guī)范的控制結(jié)構(gòu)逐步細化第54頁,課件共64頁,創(chuàng)作于2023年2月4.6.2詳細設(shè)計的描述方法詳細設(shè)計工具:(1)圖形工具(2)表格工具(3)語言工具第55頁,課件共64頁,創(chuàng)作于2023年2月1.程序流程圖2.盒圖(N-S圖)3.問題分析圖(PAD)4.過程設(shè)計語言(PDL)(偽碼)5.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論