軟件工程課件面向數(shù)據(jù)流的設(shè)計(jì)方法_第1頁(yè)
軟件工程課件面向數(shù)據(jù)流的設(shè)計(jì)方法_第2頁(yè)
軟件工程課件面向數(shù)據(jù)流的設(shè)計(jì)方法_第3頁(yè)
軟件工程課件面向數(shù)據(jù)流的設(shè)計(jì)方法_第4頁(yè)
軟件工程課件面向數(shù)據(jù)流的設(shè)計(jì)方法_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第七章面向數(shù)據(jù)流的設(shè)計(jì)方法7.1 基本概念和設(shè)計(jì)過程7.2 變換分析7.3 事務(wù)分析7面向數(shù)據(jù)流的設(shè)計(jì)方法面向數(shù)據(jù)流的設(shè)計(jì)方法 啟發(fā)式設(shè)計(jì)策略 設(shè)計(jì)優(yōu)化準(zhǔn)則理解數(shù)據(jù)流圖中變換流與事務(wù)流這兩類數(shù)據(jù)信息流的聯(lián)系與區(qū)別;掌握利用變換分析方法構(gòu)造程序結(jié)構(gòu)圖的實(shí)現(xiàn)過程;掌握利用事務(wù)分析方法構(gòu)造程序結(jié)構(gòu)圖的實(shí)現(xiàn)過程;理解掌握啟發(fā)式軟件設(shè)計(jì)的主要策略。教學(xué)目標(biāo)概述 面向數(shù)據(jù)流的設(shè)計(jì)方法即結(jié)構(gòu)設(shè)計(jì)方法(SD方法),它往往根據(jù)需求分析階段對(duì)數(shù)據(jù)流的分析來進(jìn)行軟件結(jié)構(gòu)的設(shè)計(jì),它可為軟件結(jié)構(gòu)設(shè)計(jì)提供一個(gè)系統(tǒng)化的實(shí)現(xiàn)方法,主要用于軟件系統(tǒng)的概要設(shè)計(jì)階段。7.1 基本概念和設(shè)計(jì)過程7.1 基本概念和設(shè)計(jì)過程一、SD方法

2、實(shí)現(xiàn)數(shù)據(jù)流向軟件結(jié)構(gòu)轉(zhuǎn)換的步驟1. 確定信息流的類型2. 劃定流界3. 將數(shù)據(jù)流圖映射為程序結(jié)構(gòu)4. 提取層次控制結(jié)構(gòu)5. 通過設(shè)計(jì)評(píng)審和使用啟發(fā)式策略進(jìn)一步精化所得的結(jié)構(gòu)7.1 基本概念和設(shè)計(jì)過程二、信息流1. 變換流輸入信息流沿傳入路徑進(jìn)入系統(tǒng),由外部形式變換為內(nèi)部形式,經(jīng)系統(tǒng)變換中心加工、處理,最后作為輸出信息流沿傳出路徑離開系統(tǒng),并還原為外部形式。變換中心7.1 基本概念和設(shè)計(jì)過程2. 事務(wù)流事務(wù)沿傳入路徑進(jìn)入系統(tǒng),由外部形式變換為內(nèi)部形式后到達(dá)事務(wù)中心,事務(wù)中心再根據(jù)數(shù)據(jù)項(xiàng)計(jì)值結(jié)果從若干動(dòng)作路徑中選定一條繼續(xù)執(zhí)行。7.1 基本概念和設(shè)計(jì)過程三、面向數(shù)據(jù)流的軟件設(shè)計(jì)過程面向概要設(shè)計(jì)12

3、3457.27.3 變換分析7.2 變換分析注:本節(jié)以“家庭保安系統(tǒng)”的“傳感器監(jiān)測(cè)子系統(tǒng)”為例對(duì)變換分析過程加以詳盡說明。第一步:復(fù)審基本系統(tǒng)模型基本系統(tǒng)模型:頂級(jí)DFD和所有由外部提供的信息。對(duì)系統(tǒng)規(guī)格說明書和軟件需求規(guī)格說明書進(jìn)行評(píng)估。 變換分析“家庭保安系統(tǒng)”的頂級(jí)DFDP209 變換分析“家庭保安系統(tǒng)”的第一級(jí)DFDP210 變換分析第二步:復(fù)審和精化軟件數(shù)據(jù)流圖對(duì)軟件需求規(guī)格說明書中的各分析模型進(jìn)行精化,直至獲得足夠詳細(xì)的DFD?!皞鞲衅鞅O(jiān)測(cè)子系統(tǒng)”的第一級(jí)DFDP210傳感器監(jiān)測(cè)子系統(tǒng) 變換分析“傳感器監(jiān)測(cè)子系統(tǒng)”的第二級(jí)DFD數(shù)據(jù)變換中心P210 變換分析“傳感器監(jiān)測(cè)子系統(tǒng)”的

4、第三級(jí)DFDP211 變換分析第三步:確定DFD的特性,判定它為變換流還是事務(wù)流判定DFD中占主導(dǎo)地位的信息流,并確定其特性,然后孤立變換流和事務(wù)流,用于精化由主導(dǎo)數(shù)據(jù)流推出的程序結(jié)構(gòu)。P211 變換分析第四步:判定輸入流和輸出流的邊界,孤立變換中心輸入、輸出流邊界的劃分因人而異,不同的設(shè)計(jì)人員可能把邊界沿著數(shù)據(jù)通道向前推進(jìn)或后退一個(gè)處理框,但對(duì)最后的軟件結(jié)構(gòu)影響不大。P211 變換分析第五步:執(zhí)行“一級(jí)分解”一級(jí)分解的目標(biāo)導(dǎo)出具有3個(gè)層次的程序結(jié)構(gòu)。頂層為主控模塊;底層為執(zhí)行輸入、計(jì)算、輸出功能的模塊;中層為控制、協(xié)調(diào)底層模塊工作的模塊。一級(jí)分解的原則在完成基本控制功能并保持低耦合度、高內(nèi)聚

5、度的前提下盡可能減少模塊數(shù)。 變換分析一個(gè)一級(jí)分解的模塊結(jié)構(gòu)圖輸入流控制模塊:接收所有輸入數(shù)據(jù)變換流控制模塊:對(duì)內(nèi)部形式數(shù)據(jù)進(jìn)行加工、處理輸出流控制模塊:產(chǎn)生輸出數(shù)據(jù)P212 變換分析“傳感器監(jiān)測(cè)子系統(tǒng)”的一級(jí)分解圖P213P211圖9.7 變換分析第六步:執(zhí)行“二級(jí)分解”二級(jí)分解的目標(biāo)將數(shù)據(jù)流圖中每個(gè)處理框映射為程序結(jié)構(gòu)中的一個(gè)適當(dāng)?shù)哪K。二級(jí)分解的原則從變換中心的邊界開始沿輸入、輸出通道向外移動(dòng),將遇到的每個(gè)處理框映射為程序結(jié)構(gòu)中的一個(gè)模塊。P213圖9.10 變換分析“傳感器監(jiān)測(cè)子系統(tǒng)”輸出流部分導(dǎo)出的程序結(jié)構(gòu)P211圖9.7P214 變換分析“傳感器監(jiān)測(cè)子系統(tǒng)”的二級(jí)分解程序結(jié)構(gòu)圖P2

6、15 變換分析二級(jí)分解程序結(jié)構(gòu)圖中各模塊的簡(jiǎn)要處理說明1)進(jìn)出模塊的信息2)模塊的局部信息3)處理過程描述(判斷點(diǎn)和任務(wù))4)對(duì)有關(guān)限制條件和專門特性的簡(jiǎn)要說明第七步:采用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形以“模塊獨(dú)立”為指導(dǎo)思想,對(duì)模塊或合或拆,目的在于追求高內(nèi)聚、低耦合、易實(shí)現(xiàn)、易測(cè)試、易維護(hù)的軟件結(jié)構(gòu)。 變換分析 “傳感器監(jiān)測(cè)子系統(tǒng)”精化后的程序結(jié)構(gòu) 事務(wù)分析7.3 事務(wù)分析注:本節(jié)以“家庭保安系統(tǒng)”的“用戶交互子系統(tǒng)” 為例對(duì)事務(wù)分析過程加以詳盡說明。 “用戶交互子系統(tǒng)”的第一級(jí)DFDP210 事務(wù)分析 “用戶交互子系統(tǒng)”的第二級(jí)DFDP216 事務(wù)分析第一步:復(fù)審基本系統(tǒng)模型第二步

7、:復(fù)審并精化軟件數(shù)據(jù)流圖第三步:確定數(shù)據(jù)流圖的特性第四步:指出事務(wù)中心,確定由事務(wù)中心發(fā)出的每一 動(dòng)作路徑的數(shù)據(jù)流特性P217圖9.15 事務(wù)分析第五步:將DFD映射為事務(wù)處理型的程序結(jié)構(gòu) 事務(wù)處理型程序結(jié)構(gòu)“輸入”部分“輸出”部分P218 事務(wù)分析 “用戶交互子系統(tǒng)”的一級(jí)分解程序結(jié)構(gòu)P218 事務(wù)分析第六步:分解并精化事務(wù)結(jié)構(gòu)以及每條動(dòng)作路徑所對(duì)應(yīng)的結(jié)構(gòu)P219 事務(wù)分析第七步:使用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形,改良軟件質(zhì)量 啟發(fā)式設(shè)計(jì)策略7.4 啟發(fā)式設(shè)計(jì)策略一、改進(jìn)程序結(jié)構(gòu),降低耦合度,提高內(nèi)聚度得到程序結(jié)構(gòu)雛形后,應(yīng)從增強(qiáng)模塊獨(dú)立性的角度對(duì)模塊進(jìn)行分解或合并,力求降低耦合度,

8、提高內(nèi)聚度。二、改進(jìn)程序結(jié)構(gòu),減少扇出,在增加程序深度的前提 下追求高扇入1. 應(yīng)避免的程序結(jié)構(gòu) 啟發(fā)式設(shè)計(jì)策略2. 應(yīng)追求的程序結(jié)構(gòu)頂層扇出較高,中層扇出較低,底層高扇入到公共模塊。 啟發(fā)式設(shè)計(jì)策略三、改進(jìn)程序結(jié)構(gòu),使任一模塊的作用域在其控制域 之內(nèi)模塊作用域:受該模塊內(nèi)部判定影響的所有模塊模塊控制域:該模塊的所有下屬模塊 程序結(jié)構(gòu)改造前后的作用域與控制域情況 啟發(fā)式設(shè)計(jì)策略四、改進(jìn)程序結(jié)構(gòu),降低界面復(fù)雜性和冗余度,提高 協(xié)調(diào)性五、模塊功能應(yīng)當(dāng)可預(yù)言,避免對(duì)模塊施加過多限制黑匣子恒定輸入恒定輸出六、改造程序結(jié)構(gòu),追求單入口單出口的模塊七、為滿足設(shè)計(jì)或可移植性、可重用性的要求,把某些軟件用包的形式封裝起來 設(shè)計(jì)優(yōu)化準(zhǔn)則7.5 設(shè)計(jì)優(yōu)化準(zhǔn)則 設(shè)計(jì)優(yōu)化原則“先讓它干起來,再讓它快起來”在優(yōu)化設(shè)計(jì)時(shí),只要不違反模塊化原則,應(yīng)該使用盡可能少的模塊;只要不破壞信息要求,應(yīng)該使用盡可能簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)。 設(shè)計(jì)優(yōu)化準(zhǔn)則 “百分之二十規(guī)則”問題優(yōu)化策略1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論