




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 軟件設計方法計算機信息工程學院2019年9月現(xiàn)代軟件工程第1頁,共92頁。授課教師:李德生答疑時間:周三下午答疑地點:計算機應用教研室E_mail: Lids_cs126第2頁,共92頁。4.4概要設計(總體設計)概要設計確定:軟件系統(tǒng)的結(jié)構(gòu)各模塊功能及模塊間聯(lián)系(接口)表示軟件結(jié)構(gòu)的圖形工具結(jié)構(gòu)圖層次圖和HIPO圖(HC+IPO圖)第3頁,共92頁。概要設計的任務與步驟概要設計的過程 :(1)設想可能的方案(2)選取合理的方案(3)推薦最佳方案(4)功能分解(5)設計軟件結(jié)構(gòu)(6)數(shù)據(jù)庫設計(7)制定測試計劃(8)編寫文檔(9)審查與復審第4頁,共92頁。4.4.1結(jié)構(gòu)圖(SC St
2、ructure Chart)SD方法在概要設計中的主要表達工具約定:編輯學生記錄讀學生記錄學生數(shù)據(jù)無此學生學號不加區(qū)分的數(shù)據(jù)數(shù)據(jù)信息控制信息第5頁,共92頁。SC中的四種模塊傳入模塊(a)(b)AA傳出模塊BB變換模塊(c)CD協(xié)調(diào)模塊E(d)EFF第6頁,共92頁。SC中的選擇調(diào)用ACBDA根據(jù)內(nèi)部判斷決定是否調(diào)用BA按另一判定結(jié)果選擇調(diào)用C或D第7頁,共92頁。SC中的循環(huán)調(diào)用ABCA根據(jù)內(nèi)在的循環(huán)重復調(diào)用B、C等模塊第8頁,共92頁。結(jié)構(gòu)圖(SC)舉例 醫(yī)院管理系統(tǒng)門診管理藥房管理藥庫管理病房管理財務管理處方掛號處理掛號費總計掛號單掛號費總計出庫處理進藥管理病歷管理處方管理常規(guī)處理第9頁
3、,共92頁。酒店管理信息系統(tǒng)功能結(jié)構(gòu)圖H M I S收銀管理子系統(tǒng)收銀管理子系統(tǒng)收銀管理子系統(tǒng)客人登記預定登記客房處理歷史記錄客房查詢預定查詢餐桌安排菜單作業(yè)營業(yè)結(jié)帳匯總打印各類查詢初始設置客帳處理退房處理夜審處理客帳查詢報表打印第10頁,共92頁。大型零售商場管理信息系統(tǒng)功能結(jié)構(gòu)圖TM M I S系統(tǒng)維護POS系統(tǒng)零售實時系統(tǒng)商品進貨管理商品批發(fā)管理商品庫存管理商品及商品帳管理顧客管理連鎖店管理財務管理人事工資管理計劃統(tǒng)計管理經(jīng)理查詢第11頁,共92頁。4.4.2 面向數(shù)據(jù)流的設計方法 (結(jié)構(gòu)化設計方法SD) 1. 面向數(shù)據(jù)流設計方法的基本概念 SD以數(shù)據(jù)流圖為基礎,它定義了把DFD變換成軟
4、件結(jié)構(gòu)的不同映射方法映射DFD(問題結(jié)構(gòu))軟件系統(tǒng)的結(jié)構(gòu)(程序結(jié)構(gòu))第12頁,共92頁。系統(tǒng)結(jié)構(gòu)特征可歸納為兩種典型形式:變換型結(jié)構(gòu)事務型結(jié)構(gòu)數(shù)據(jù)流圖可分為兩種類型: 變換型數(shù)據(jù)流事務型數(shù)據(jù)流第13頁,共92頁。變換中心輸入輸出變換型結(jié)構(gòu)事務中心接受路徑動作路徑基本模型 特征事務型 結(jié)構(gòu)由輸入、變換中心和輸出三部分組成具有在多種事務中選擇執(zhí)行某類事物的能力第14頁,共92頁。變換型數(shù)據(jù)流 結(jié)構(gòu)事務型數(shù)據(jù)流 結(jié)構(gòu)傳入變換傳出變換中心傳入部分傳出部分事務分析事務中心動作 1動作 2動作 3接受接受部分第15頁,共92頁。變換型數(shù)據(jù)流舉例輸入信息物理輸入格式檢查處理顯示正確信息結(jié)果物理輸出數(shù)據(jù)變換中
5、心邏輯輸入邏輯輸出傳入部分傳出部分特點:具有明確的傳入、變換(或稱主加 工) 和傳出界面的DFD第16頁,共92頁。變換流示意圖信息時間信息流輸入流輸出流交換流外部表示內(nèi)部表示第17頁,共92頁。事務型數(shù)據(jù)流圖舉例IMLNOABCDFEGH第18頁,共92頁。大型系統(tǒng)DFD中,變換型和事務型結(jié)構(gòu)往往共存:T事務中心傳入變換傳出第19頁,共92頁。2. 面向數(shù)據(jù)流設計方法的設計步驟(1)精化DFD(2)確定DFD類型及邊界(3)把DFD映射到系統(tǒng)模塊結(jié)構(gòu)設計 出模塊結(jié)構(gòu)的上層(4)基于DFD逐步分解高層模塊設計 出下層模塊(5)根據(jù)模塊獨立性原理,精化模 塊結(jié)構(gòu)(6)模塊接口描述第20頁,共92
6、頁。面向數(shù)據(jù)流方法的設計過程精化數(shù)據(jù)流圖區(qū)分事務中心和數(shù)據(jù)接收路徑映射成變換結(jié)構(gòu)流類型區(qū)分輸入和輸出分支映射成事務結(jié)構(gòu)用啟發(fā)式設計規(guī)則精化軟件結(jié)構(gòu)導出接口描述和全程數(shù)據(jù)結(jié)構(gòu)復查詳細設計“事務”“變換”事務分析變換分析第21頁,共92頁。SD方法的兩種映射過渡方法變換型DFD事務型DFD初始SC初始SC變換分析事務分析第22頁,共92頁。初始的SC主模塊輸入模塊主加工模塊輸入模塊事務控制模塊接受模塊動作發(fā)送模塊動作1模塊動作2模塊動作3模塊由變換分析產(chǎn)生由事務分析產(chǎn)生第23頁,共92頁。(1) 變換分析設計方法步驟:(1)區(qū)分傳入、變換中心、 傳出部分,在 DFD 上 標明分界線第24頁,共92
7、頁。變換中心的任務就是通過計算或者處理,把系統(tǒng)的邏輯輸入變換(或加工)為系統(tǒng)的邏輯輸出。所謂邏輯輸入,是指離物理輸入端(輸入始端)最遠,但仍可以被看作系統(tǒng)輸入的那些數(shù)據(jù)流。所謂邏輯輸出,是指離物理輸出端(輸出末端)最遠,但仍可以被看作系統(tǒng)輸出的那些數(shù)據(jù)流?!耙粚σ弧钡姆绞絼澐諨FD邊界:邏輯輸入:從左向右,單向傳遞不再成立。邏輯輸出:從右向左,單向傳遞不再成立。第25頁,共92頁。BCADEQPRWUVabcedrpuwv變換中心傳入部分傳出部分第26頁,共92頁。變換分析設計方法步驟(2)第一級分解(建立初始SC框架) 設計頂層和第一層模塊第27頁,共92頁。第一級分解的方法MCMTMAME
8、第28頁,共92頁。第一級分解后的SCMCMTMAME第一層頂層c,ec,eu,wu,w傳入模塊傳出模塊中心變換模塊第29頁,共92頁。第一級分解后的SC(另一種畫法)MCMA1ceu,wc,pQPReprrw,uw傳入分支模塊中心加工分支模塊傳出分支模塊MA2ME1ME2第30頁,共92頁。變換分析設計方法步驟(3)第二級分解(分解SC各分支) 自頂向下分解,設計出每個分支的中、下層模塊第31頁,共92頁。傳入分支的分解(1)MACBAbacEDdec,e第32頁,共92頁。傳入分支的分解(2)MAGet CbacRead Ddec,eB to CbcdeabGet EGet BD to E
9、A to BRead D第33頁,共92頁。傳出分支的分解MEWWrite Vuuw,uvvvPut UU to VMEUWrite Wwwuw,uV(1)(2)第34頁,共92頁。中心加工分支的分解MTPQRec,pru,wpr第35頁,共92頁。 任何情況下都可使用變換分析方法設計軟件結(jié)構(gòu),但如數(shù)據(jù)流具有明顯的事務特點時 (有一個明顯的事務中心),以采用事務分析方法為宜。(2) 事務分析設計方法第36頁,共92頁。事務分析設計方法步驟:(1)在DFD上確定事務中心、接收部 分和發(fā)送部分。(2)畫出SC框架,把DFD上的三部分 分別映射為事務控制模塊、接收 模塊和動作發(fā)送模塊。(3)分解細化
10、接收分支和發(fā)送分支, 完成初始SC。第37頁,共92頁。用戶命令交互子系統(tǒng)讀用戶命令密碼命令密碼顯示信息系統(tǒng)參數(shù)數(shù)據(jù)用戶命令讀系統(tǒng)數(shù)據(jù)配置信息顯示信息和狀態(tài)命令分析處理讀密碼命令類型開/關(guān)命令建立配置文件原配置數(shù)據(jù)激活/非活動系統(tǒng)與文件中密碼比較格式化配置數(shù)據(jù)配置命令檢驗信息過程重試信息四位數(shù)字檢驗信息檢驗信息A/D信息格式化配置數(shù)據(jù)格式化配置數(shù)據(jù)第38頁,共92頁。初始的SC主模塊輸入模塊主加工模塊輸出模塊事務控制模塊接受模塊動作發(fā)送模塊動作1模塊動作2模塊動作3模塊由變換分析產(chǎn)生由事務分析產(chǎn)生第39頁,共92頁。事務分析的映射方法總控調(diào)度C路徑B路徑A路徑A路徑B路徑C路徑接收路徑第40頁
11、,共92頁。用戶命令交互子系統(tǒng)初始的SC用戶執(zhí)行模塊讀用戶命令命令處理密碼處理控制器現(xiàn)用/非現(xiàn)用系統(tǒng)系統(tǒng)設置控制器第41頁,共92頁。用戶命令交互子系統(tǒng)讀用戶命令密碼顯示信息系統(tǒng)參數(shù)數(shù)據(jù)用戶命令讀系統(tǒng)數(shù)據(jù)配置信息顯示信息和狀態(tài)命令分析處理讀密碼命令類型建立配置文件原配置數(shù)據(jù)激活/非活動系統(tǒng)與文件中密碼比較格式化配置數(shù)據(jù)檢驗信息過程重試信息四位數(shù)字檢驗信息檢驗信息A/D信息格式化配置數(shù)據(jù)格式化配置數(shù)據(jù)密碼命令開/關(guān)命令配置命令第42頁,共92頁。用戶命令交互子系統(tǒng)的SC用戶執(zhí)行模塊讀用戶命令命令處理密碼處理控制器現(xiàn)用/非現(xiàn)用系統(tǒng)系統(tǒng)設置控制器讀系統(tǒng)數(shù)據(jù)建立配置文件顯示信息與狀態(tài)第43頁,共92頁
12、。用戶命令交互子系統(tǒng)讀用戶命令密碼顯示信息系統(tǒng)參數(shù)數(shù)據(jù)用戶命令讀系統(tǒng)數(shù)據(jù)配置信息顯示信息和狀態(tài)命令分析處理讀密碼命令類型建立配置文件原配置數(shù)據(jù)激活/非活動系統(tǒng)與文件中密碼比較格式化配置數(shù)據(jù)檢驗信息過程重試信息四位數(shù)字檢驗信息檢驗信息A/D信息配置數(shù)據(jù)格式化配置數(shù)據(jù)密碼命令開/關(guān)命令配置命令第44頁,共92頁。用戶命令交互子系統(tǒng)的SC用戶執(zhí)行模塊讀用戶命令命令處理密碼處理控制器現(xiàn)用/非現(xiàn)用系統(tǒng)系統(tǒng)設置控制器讀系統(tǒng)數(shù)據(jù)建立配置文件顯示信息與狀態(tài)讀密碼用文件比較密碼密碼輸出控制器產(chǎn)生無效信息第45頁,共92頁。事務流設計舉例IMLNABCDFEG事務中心第46頁,共92頁。事務流設計舉例 取 A 總
13、控ALMNGDBCFE(主模塊)事務加工模塊第47頁,共92頁。動作分支的典型結(jié)構(gòu)PT 2T 1T iA 2D 2A 1D 1A 3A jD k事務層操作層細節(jié)層處理層主模塊事務加工模塊操作模塊細節(jié)模塊第48頁,共92頁。事務流設計舉例 取 A 總控ALMNGDBCFE動作1動作n.細節(jié)模塊1細節(jié)模塊2.(操作模塊)(細節(jié)模塊)第49頁,共92頁。事務型數(shù)據(jù)流圖舉例IMLNOABCDFEGH第50頁,共92頁。事務流設計舉例 (另一種畫法) 輸入 AXX系統(tǒng)變換控制ALMAGDBCFE 輸出 E、F、GE、F、GE、F、G輸出HOE、F、GHHN第51頁,共92頁。要求類型處理有效圖書管理要求
14、當前日期2.1新書入庫2.2借入庫單罰款單一層數(shù)據(jù)流圖 (a)借書2.3注銷圖書2.5借書2.4目錄文件借書單書單注銷單第52頁,共92頁。3412675810911變換中心傳入傳出事務型(3) 混合流設計舉例第53頁,共92頁。混合流設計舉例T事務中心傳入變換傳出接收部分發(fā)送部分第54頁,共92頁。ABT1變換中心傳入傳出T2T3abb1b2b3c1c2c3degfjm事務流子系統(tǒng)BCCDDEEHHKFJKLLMh混合流設計舉例k第55頁,共92頁?;旌狭髟O計舉例輸入DXX系統(tǒng)變換控制輸出K輸入Cdc輸出LCDDEFJEHHKKLcddkkkLL輸出MLMmmL事務子系統(tǒng)第56頁,共92頁。
15、SafeHomede的第0層 SafeHomede軟件系統(tǒng)用戶命令和數(shù)據(jù)顯示信息控制面板傳感器傳感器狀態(tài)警鈴電話線警告類型電話號碼撥音控制面板顯示第57頁,共92頁。SafeHomede的第1層控制面板與用戶交互控制面板顯示密碼電話號碼撥音傳感器狀態(tài)顯示信息配置請求用戶命令和數(shù)據(jù)配置系統(tǒng)警鈴電話線傳感器配置信息顯示信息和狀態(tài)監(jiān)控傳感器激活不激活系統(tǒng)傳感器信息密碼處理警告類型檢驗id信息開始停止狀態(tài)信息第58頁,共92頁。監(jiān)控傳感器的第2層電話號碼撥音傳感器狀態(tài)配置數(shù)據(jù)顯示格式配置信息產(chǎn)生警告信息撥號評估設置傳感器信息讀傳感器警告類型傳感器id類型傳感器id類型定位第59頁,共92頁。4.4.3
16、 體系結(jié)構(gòu)設計優(yōu)化 將初始SC根據(jù)模塊獨立性原則進行精化,對模塊進行合并、分解修改、調(diào)整,得到高內(nèi)聚、低耦合模塊,得到易于實現(xiàn)、易于測試和易于維護的軟件結(jié)構(gòu),產(chǎn)生設計文檔的最終SC。第60頁,共92頁。改進軟件結(jié)構(gòu)設計的指導原則 (軟件結(jié)構(gòu)設計的啟發(fā)式規(guī)則)(1)模塊功能的完善化(2)消除重復功能(3)將模塊的影響限制在模塊的控制范圍內(nèi)(4)深度、寬度、扇出和扇入適中(5)模塊大小適中(6)降低模塊接口的復雜性(7)模塊功能可預測(8)避免模塊的病態(tài)連接(9)根據(jù)設計約束和可移植性要對軟件打包第61頁,共92頁。(1) 模塊功能的完善化完整的模塊應包括三部分:(1)執(zhí)行規(guī)定功能部分(2)出錯處
17、理部分(3)需返回給調(diào)用者數(shù)據(jù)時, 返回是否正確結(jié)束標志。第62頁,共92頁。(2)消除重復功能Q1CQ2CQ1Q2C改進前Q1、Q2功能相似XYQXYXY重復部分改進方法1:將Q1、Q2合并為Q不可取改進方法2:將Q1、Q2的公共部分分離出來第63頁,共92頁。CHDEGXF(3)將模塊的影響限制 在模塊的控制范圍內(nèi)AILJKB模塊C的控制范圍: C、D、E、F、G、H如果模塊C 作出的決策影響了模塊L,L超出了C 的控制范圍第64頁,共92頁。(4) 減少高扇出爭取高扇入高扇出的模塊結(jié)構(gòu)舉例:編外人員工資取得工資數(shù)據(jù) 計時制工資額薪金制工資額編外人員稅款編外人員扣款常規(guī)扣款稅收扣款計算實發(fā)
18、工資避免平鋪結(jié)構(gòu)第65頁,共92頁。增加中間層降低扇出編外人員工資取得工資數(shù)據(jù) 計時制工資額薪金制工資額編外人員稅款編外人員扣款常規(guī)扣款稅收扣款計算實發(fā)工資計時工人實發(fā)工資計薪工人實發(fā)工資編外人員實發(fā)工資第66頁,共92頁。(5) 模塊大小適中模塊過大:可理解程度下降模塊過?。洪_銷大于有效操作 系統(tǒng)接口復雜(6)降低模塊接口的復雜性 接口傳遞信息應簡單且和模塊功能一致。第67頁,共92頁。(7) 模塊功能可預測模塊看成黑盒子,相同輸入產(chǎn)生相同輸出,其功能為可預測的。模塊帶有內(nèi)部狀態(tài)其功能可能是不可預測的。難理解、難測試、難維護。第68頁,共92頁。防止模塊功能過分局限 功能單一的模塊具有高內(nèi)聚
19、。 但如任意限制局部數(shù)據(jù)結(jié)構(gòu)的大小,過分限制控制流中可做的選擇或外部接口的模式,模塊功能就過分局限,使用范圍過分狹窄,缺乏靈活性和可擴充性。 第69頁,共92頁。(8)避免模塊的病態(tài)連接 防止指向模塊中間的分支或引用(針對內(nèi)容耦合) (9)根據(jù)設計約束和可移植性 需求對軟件打包 打包指用來為特定環(huán)境組裝軟件的技術(shù)第70頁,共92頁。4.4.4 層次圖和HIPO圖IBM公司發(fā)明的HIPO圖:層次圖 + 輸入 / 處理 /輸出圖 (H圖) (IPO圖)(Hierachy Input Process Output)第71頁,共92頁。1. 層次圖(H圖) 表示軟件的層次結(jié)構(gòu)正文加工系統(tǒng)輸入輸出編輯加
20、標題存儲檢索編目錄添加刪除插入修改合并列表第72頁,共92頁。帶編號的層次圖(H圖) 正文加工系統(tǒng)輸入1.0輸出2.0編輯3.0加標題 4.0存儲5.0檢索6.0編目錄 7.0添加3.1刪除3.2插入3.3修改3.4合并3.5列表3.6第73頁,共92頁。2. HIPO圖 H圖中每一方框(模塊)均有一張IPO圖對應 航線調(diào)度系統(tǒng)HIPO圖舉例 H圖:命令監(jiān)控器1.0取得輸入1.1輸入確認 1.2請求確認1.3更新處理 1.4第74頁,共92頁。傳統(tǒng)的IPO圖舉例輸入處理輸出讀口令請求口令文件1取得輸入2口令確認3請求確認請求記錄權(quán)限文件4更新處理權(quán)限記錄狀態(tài)報告響應命令監(jiān)控器(1.0)的IPO
21、圖第75頁,共92頁。改進的IPO圖格式IPO圖系統(tǒng):模塊:編號:作者:日期:被調(diào)用:調(diào)用:輸出:輸入:輸入:局部數(shù)據(jù)元素:注釋:第76頁,共92頁。4.5詳細設計(過程設計、模塊設計)主要任務:編寫詳細設計說明書為此,設計人員應:(1)確定每個模塊的算法,用工具 表達算法的過程,寫出模塊的 詳細過程性描述。(2)確定每一模塊的數(shù)據(jù)結(jié)構(gòu)。(3)確定模塊接口細節(jié)。詳細設計是編碼的先導。第77頁,共92頁。4.5.1 結(jié)構(gòu)化程序設計(SP)方法傳統(tǒng)的設計技術(shù)和舊觀念:強調(diào)設計的隨意性,具有濃厚的個人色彩.追求程序效率和個人設計技巧新的設計思想和風格:清晰第一使用標準的、規(guī)范的控制結(jié)構(gòu)逐步細化第78頁,共92頁。4.5.2 詳細設計的描述方法詳細設計工具:(1) 圖形工具(2) 表格工具(3) 語言工具第79頁,共92頁。1. 程序流程圖2. 盒圖(N-S圖)3. 問題分析圖(PAD)4. 過程設計語言(PDL)(偽碼)5. 判定表第80頁,共92頁。2. 盒圖(N-S圖)用方框圖代替?zhèn)鹘y(tǒng)的流程圖描述五種基本控制結(jié)構(gòu)的圖形構(gòu)件(1) 順序型ABC第81頁,共92頁。(2) 選擇型(If then else)If then else If thenABF條件T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中級經(jīng)濟師考試題庫a4版可打印
- 2024年中級經(jīng)濟師考試題庫(奪冠)
- 2024年云南省《輔警招聘考試必刷500題》考試題庫附完整答案
- 2024年咨詢工程師考試題庫附答案(基礎題) (一)
- 2024年咨詢工程師(經(jīng)濟政策)題庫附參考答案(考試直接用)
- 2025年行政執(zhí)法證資格考試必刷經(jīng)典題庫及答案(共250題)
- 預防接種服務政策解讀
- 送教上門工作總結(jié)
- 青年員工違法案件警示
- 闌尾炎病理生理圖
- 美育教育(下)學習通章節(jié)答案期末考試題庫2023年
- 認識壓力容器制造的工藝 課件
- 高等數(shù)學35函數(shù)最大值和最小值課件
- 新人教版七年級數(shù)學下第一二單元檢測試題
- 化工熱力學答案-馮新-宣愛國-課后總習題答案詳解
- 拉斐爾課件完整版
- EIM Book 1 Unit 8 We're going on holiday單元知識要點
- 核舟記測模擬試題及答案
- MySQL中文參考手冊MySQL學習教程
- 集群企業(yè)住所托管服務協(xié)議書
- YS/T 1028.3-2015磷酸鐵鋰化學分析方法第3部分:磷量的測定磷鉬酸喹啉稱量法
評論
0/150
提交評論