版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數據字典數據流圖E-R圖狀態(tài)變遷圖加工規(guī)約控制規(guī)約數據對描述象數據設計體系結構設計接口設計過程設計總體設計
從分析模型導出設計模型分析模型設計模型§5.3啟發(fā)規(guī)則
概要設計的啟發(fā)式準則:1.改進軟件結構,提高模塊獨立性力求提高內聚,降低耦合,簡化模塊接口,少用全局性數據和控制信息。(1)消除重復功能Q1CQ2CQ1Q2C改進前Q1、Q2功能相似XYQ’XYXY重復部分改進方法1:將Q1、Q2合并為Q’不可取改進方法2:將Q1、Q2的公共部分分離出來
(2)分解模塊可以減少控制信息傳遞例如:例如:數據控制功能模塊A功能
(根據k決定執(zhí)行C).....A子功能K==1或k==0
B功能控制功能模塊
A功能
B功能
C功能(A子功能)合并合并模塊可以減少全局數據的引用
A功能
B功能全局數據修改修改分解A功能
.....B功能K功能§5.3啟發(fā)規(guī)則
概要設計的啟發(fā)式準則:2.模塊規(guī)模應該適中(最好能寫在一頁紙上)
大模塊:分解不充分,閱讀困難;小模塊:使用開銷大,接口復雜。軟件結構的度量和術語:深度:表示軟件結構中控制的層數。寬度:表示控制(同一層次)總跨度(即軟件結構內同一層次上的模塊總數的最大值)扇出數:指由一模塊直接控制(調用)的其他模塊的數目。扇入數:指有多少個上級模塊直接控制一個給定的模塊。上級模塊下級模塊軟件結構度量術語深度寬度扇出扇入(模塊的層數)(同一層最大模塊數)(一個模塊直接調用的模塊數)(調用一個給定模塊的模塊個數)§5.3啟發(fā)規(guī)則
概要設計的啟發(fā)式準則:3.深度、寬度、扇出和扇入都應適當扇入:表明有多少個上級模塊直接調用它。扇入越大則共享該模塊的上級模塊數目越多。這有利于增加模塊的利用率,但是不能違背模塊獨立性原理單純追求高扇入。§5.3啟發(fā)規(guī)則
概要設計的啟發(fā)式準則:3.深度、寬度、扇出和扇入都應適當扇出:是一個模塊直接控制(調用)的模塊數目。扇出低表示下級模塊少,可以減少模塊調用和控制的復雜度;但扇出過小(例如總是1)也不好。扇出太小時可以把下級模塊進一步分解成若干個子功能模塊,或者合并到它的上級模塊中去。扇出過大意味著模塊過分復雜,需要控制和協(xié)調過多的下級模塊——例幻燈片12(煎餅形結構)扇出太大般是因為缺乏中間層次,應該適當增加中間層次的控制模塊——例幻燈片13(塔形結構);經驗表明,一個設計得好的典型系統(tǒng)的平均扇出通常是3或4,最好不超過5-7。
§5.3啟發(fā)規(guī)則
概要設計的啟發(fā)式準則:3.深度、寬度、扇出和扇入都應適當設計良好的軟件通常具有甕形結構,兩頭小,中間大:頂層扇出比較高;中層扇出較少;底層扇入到公共的實用模塊中去——(甕形結構)
減少高扇出爭取高扇入高扇出的模塊結構舉例:編外人員工資取得工資數據計時制工資額薪金制工資額編外人員稅款編外人員扣款常規(guī)扣款稅收扣款計算實發(fā)工資避免平鋪結構增加中間層降低扇出編外人員工資取得工資數據計時制工資額薪金制工資額編外人員稅款編外人員扣款常規(guī)扣款稅收扣款計算實發(fā)工資計時工人實發(fā)工資計薪工人實發(fā)工資編外人員實發(fā)工資概要設計的啟發(fā)式準則:4.模塊的作用范圍保持在該模塊的控制范圍內
模塊的作用范圍是指該模塊中一個判斷所影響的所有其它模塊;模塊的控制范圍指該模塊本身以及所有直接或間接從屬于它的模塊?!?.3啟發(fā)規(guī)則
CHDEGXF將模塊的影響限制在模塊的控制范圍內AILJKB模塊C的控制范圍:C、D、E、F、G、H如果模塊C作出的決策影響了模塊L,L超出了C
的控制范圍?模塊的作用域應該在控制域之內設計好的系統(tǒng),受判斷影響的模塊應該從屬于做出判斷的模塊,最好局限在做出判斷的那個模塊本身或在它的直屬下級模塊。例如:M
ABCG
DEFM
ABCG
DEF如果A做出的判斷,要影響G,就需要加標記到M。這樣就出現控制耦合。解決的方法:A的判斷上移,或G下移到A的控制域內(兩種方法)TOPXYABB1B2按作用域/控制域規(guī)則對下圖進行修改:模塊B2內有一判定,其作用域有一部分作用到模塊A上,超出其控制域。按作用域/控制域規(guī)則對下圖進行修改:太高XYABB1B2Top按作用域/控制域規(guī)則對下圖進行修改:適中TOPXABB1B2Y按作用域/控制域規(guī)則對下圖進行修改:最佳TOPXYAB1B2B概要設計的啟發(fā)式準則:5.力爭降低模塊接口的復雜程度
模塊接口的復雜性是引起軟件錯誤的一個主要原因。接口設計應該使得信息傳遞簡單并且與模塊的功能一致?!?.3啟發(fā)規(guī)則
概要設計的啟發(fā)式準則:6.設計單入口單出口的模塊避免內容耦合,易于理解和維護。7.模塊的功能應該可以預測相同的輸入應該有相同的輸出,否則難以理解、測試和維護。§5.3啟發(fā)規(guī)則
模塊功能應該可以預測模塊功能不可預測:帶有內部狀態(tài)的模塊,則功能不可預測,因為它的輸出可能由于狀態(tài)的不同,而導致相同的輸入有不同的輸出。產生的原因:不可預測的模塊往往是非單一功能成分的組合,或者是內部多分支情況處理。不可預測功能的模塊,不易于理解和維護!解決方法:注意高內聚的模塊設計,拆分多種情況的功能。但也不要使功能過分局限。§5.4描繪軟件結構的圖形工具5.4.1層次圖5.4.2HIPO圖5.4.3結構圖1.層次圖(H圖)
表示軟件的層次結構正文加工系統(tǒng)輸入輸出編輯加標題存儲檢索編目錄添加刪除插入修改合并列表帶編號的層次圖(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酒店管理信息系統(tǒng)功能結構圖HMIS收銀管理子系統(tǒng)收銀管理子系統(tǒng)收銀管理子系統(tǒng)客人登記預定登記客房處理歷史記錄客房查詢預定查詢餐桌安排菜單作業(yè)營業(yè)結帳匯總打印各類查詢初始設置客帳處理退房處理夜審處理客帳查詢報表打印IBM公司發(fā)明的HIPO圖:層次圖
+
輸入/處理/輸出圖(H圖)(IPO圖)(HierachyInputProcessOutput)§5.4描繪軟件結構的圖形工具2.HIPO圖
H圖中每一方框(模塊)均有一張IPO圖對應
航線調度系統(tǒng)HIPO圖舉例H圖:命令監(jiān)控器1.0取得輸入1.1輸入確認1.2請求確認1.3更新處理1.4傳統(tǒng)的IPO圖舉例輸入處理輸出讀口令請求口令文件1取得輸入2口令確認3請求確認請求記錄權限文件4更新處理權限記錄狀態(tài)報告響應命令監(jiān)控器(1.0)的IPO圖改進的IPO圖格式IPO圖系統(tǒng):模塊:編號:作者:日期:被調用:調用:輸出:輸入:輸入:局部數據元素:注釋:3.結構圖—SC圖(StructureChart)
(1)SC中的組成符號SD方法在概要設計中的主要表達工具約定:用矩形框表示模塊,用帶箭頭的連線表示模塊間的調用關系。在調用線的兩旁,應標出傳入和傳出模塊的數據流。SD方法在概要設計中的主要表達工具約定:不加區(qū)分的數據數據信息控制信息編輯學生記錄學生數據無此學生學號讀學生記錄SC中的四種模塊在系統(tǒng)結構圖中的模塊傳入模塊─從下屬模塊取得數據,經過某些處理,再將其傳送給上級模塊。它傳送的數據流叫做邏輯輸入數據流。傳出模塊─從上級模塊獲得數據,進行某些處理,再將其傳送給下屬模塊。它傳送的數據流叫做邏輯輸出數據流。變換模塊─它從上級模塊取得數據,進行特定的處理,轉換成其它形式,再傳送回上級模塊。它加工的數據流叫做變換數據流。協(xié)調模塊─對所有下屬模塊進行協(xié)調和管理的模塊。在系統(tǒng)結構圖中的模塊
(2)SC圖中的模塊調用
①簡單調用
ACBX,YZZ入出___ABC12X,YZZ12
②選擇調用ACBDA根據內部判斷決定是否調用BA按另一判定結果選擇調用C或D③SC中的循環(huán)調用ABCA根據內在的循環(huán)重復調用B、C等模塊
◆5.5.1面向數據流設計方法的基本概念
結構化設計方法(簡稱SD法):以數據流圖為基礎,它定義了把DFD變換成軟件結構的不同映射方法映射DFD
(問題結構)軟件系統(tǒng)的結構
(軟件結構)§5.5面向數據流的設計方法
系統(tǒng)結構特征可歸納為兩種典型形式:■變換型結構■事務型結構數據流圖可分為兩種類型:
變換型數據流事務型數據流(1)數據流圖的類型變換中心輸入輸出變換型結構事務中心接受路徑動作路徑基本模型
特征事務型結構由輸入、變換中心和輸出三部分組成具有在多種事務中選擇執(zhí)行某類事務的能力變換流示意圖信息時間輸入流輸出流交換流變換型數據流結構傳入變換傳出變換中心傳入部分傳出部分事務分析事務中心動作1動作2動作3接受接受部分事務型數據流結構變換型數據流舉例輸入信息物理輸入格式檢查處理顯示正確信息結果物理輸出數據變換中心邏輯輸入邏輯輸出傳入部分傳出部分特點:具有明確的傳入、變換(或稱主加工)和傳出界面的DFD變換型系統(tǒng)結構圖變換型數據處理問題的工作過程大致分為三步,即取得數據,變換數據和給出數據。相應于取得數據、變換數據、給出數據,變換型系統(tǒng)結構圖由輸入、中心變換和輸出等三部分組成。事務型系統(tǒng)結構圖它接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然后給出結果。在事務型系統(tǒng)結構圖中,事務中心模塊按所接受的事務的類型,選擇某一事務處理模塊執(zhí)行。各事務處理模塊并列。每個事務處理模塊可能要調用若干個操作模塊,而操作模塊又可能調用若干個細節(jié)模塊。事務型數據流圖舉例ABEHOMIDCNLFG大型系統(tǒng)DFD中,變換型和事務型結構往往共存:T事務中心傳入變換傳出2.面向數據流設計方法的設計步驟精化DFD確定DFD類型把DFD映射到系統(tǒng)模塊結構設計出模塊結構的上層基于DFD逐步分解高層模塊設計出下層模塊根據模塊獨立性原理,精化模塊結構面向數據流方法的設計過程精化數據流圖區(qū)分事務中心和數據接收路徑映射成變換結構區(qū)分輸入和輸出分支映射成事務結構用啟發(fā)式設計規(guī)則精化軟件結構導出接口描述和全程數據結構詳細設計事務分析變換分析復查事務變換流類型SD方法的兩種映射過渡方法變換型DFD事務型DFD初始SC初始SC變換分析事務分析初始的SC主模塊輸入模塊主加工模塊輸入模塊事務控制模塊接受模塊動作發(fā)送模塊動作1模塊動作2模塊動作3模塊由變換分析產生由事務分析產生變換分析方法由以下四步組成:重畫數據流圖;區(qū)分有效(邏輯)輸入、有效(邏輯)輸出和中心變換部分;進行一級分解,設計上層模塊;進行二級分解,設計輸入、輸出和中心變換部分的中、下層模塊。5.5.2變換分析設計方法步驟:(1)區(qū)分傳入、變換中心、傳出部分,在DFD上標明分界線變換分析設計方法步驟確定DFD中是否含有變換流輸出輸入變換變換流:具有明顯的輸入、變換(或加工)、輸出分界的數據流圖變換映射方法BCADEQPRWUVabcedrpuwv變換中心傳入部分傳出部分變換分析設計方法步驟(2)第一級分解(建立初始SC框架)設計頂層和第一層模塊變換映射方法控制模塊輸入處理模塊輸出處理模塊主要處理模塊輸出輸入變換第一級分解的方法MCMTMAME第一級分解后的SCMCMTMAME第一層頂層c,ec,eu,wu,w傳入模塊傳出模塊中心變換模塊變換分析設計方法步驟(3)第二級分解(分解SC各分支)自頂向下分解,設計出每個分支的中、下層模塊傳入分支的分解
MACBAbacEDdec,e傳出分支的分解
MEWWriteVuuw,uvvvPutUUtoVMEUWriteWwwuw,uV(1)(2)中心加工分支的分解MTPQRec,pru,wpr事務分析方法由以下四步組成:重畫數據流圖;區(qū)分傳入部分、事務中心進行一級分解,設計上層模塊;進行二級分解,設計傳入、事務中心部分的中、下層模塊。5.5.3事務分析設計方法例如:某事務系統(tǒng)具有下列功能讀入用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新巴中考試題目及答案
- 安徽押中高考題目及答案
- 數顯卡尺考試題目及答案
- 養(yǎng)老院老人投訴處理制度
- 養(yǎng)老院老人康復設施管理制度
- 道法八下角度題目及答案
- 奧數毒藥測試題目及答案
- 鍋爐房崗位職責制度
- 銀行會計核算制度
- 表觀密度計算題目及答案
- 《透水混凝土路面應用技術規(guī)程》DB33∕T 1153-2018
- DL∕T 1802-2018 水電廠自動發(fā)電控制及自動電壓控制技術規(guī)范
- 2024年個人信用報告(個人簡版)樣本(帶水印-可編輯)
- FZ∕T 73037-2019 針織運動襪行業(yè)標準
- 電外科設備安全使用
- (完整版)四年級上冊數學豎式計算題100題直接打印版
- 新生兒疫苗接種的注意事項與應對措施
- 青島生建z28-75滾絲機說明書
- DEFORM在汽車零件冷鍛工藝中的應用
- 廣州市自來水公司招聘試題
- GB/T 7324-2010通用鋰基潤滑脂
評論
0/150
提交評論