軟件工程第4章總體設(shè)計(jì)_第1頁(yè)
軟件工程第4章總體設(shè)計(jì)_第2頁(yè)
軟件工程第4章總體設(shè)計(jì)_第3頁(yè)
軟件工程第4章總體設(shè)計(jì)_第4頁(yè)
軟件工程第4章總體設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

設(shè)計(jì)過(guò)設(shè)計(jì)原啟發(fā)規(guī)

第4章(System描繪軟件結(jié)構(gòu)的圖形工面向數(shù)據(jù)流的設(shè)計(jì)方小1第4章(System開始考慮“How”,但仍 設(shè)計(jì)(確定黑盒關(guān)系§11、確定最佳方 ⑴系統(tǒng)流程⑵組成系統(tǒng)的物⑶成本/效益分⑷進(jìn)度2§1.過(guò)2、結(jié)構(gòu)設(shè)計(jì)主要工SystemDesignHierarchy及HIPO圖等3、數(shù)據(jù)庫(kù)設(shè)計(jì)(略5、文3

§1.過(guò) 4§2.模塊化原理1、原理定義:(例如數(shù)據(jù)說(shuō)明,模塊包括:過(guò)程、函數(shù)、子程序和宏面向?qū)ο蠓椒▽W(xué)中的對(duì)象是模塊,對(duì)象內(nèi)的方法(或稱為服務(wù)也是模模塊化5經(jīng)驗(yàn)C(x):?jiǎn)栴}x的復(fù)雜程E(x):解決x作量(時(shí)間對(duì)于兩個(gè)問(wèn)題P1和

§2.模塊化經(jīng)驗(yàn)

故 §2.模塊化經(jīng)驗(yàn)軟件軟件總成最小成本接口成本本模塊數(shù)7§2.2、抽象 忽略細(xì)節(jié),分層理解問(wèn)題,自頂向下層層加細(xì)8§2.模塊化Wirth對(duì)逐步求精策略做的概 3、信息隱蔽(Information

§2.模塊化Thesofamoduleknowaboutitsservicesonlythroughitsinterface;theimplementationishiddenfromthem(hencemaychangewithoutaffectingthes).§2.模塊化但模塊之間真正做到模塊獨(dú)立性是很重要性有效的模塊化的軟件比較容易開發(fā)出獨(dú)立的模塊比較容易測(cè)試 好設(shè)計(jì)的每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的子功與其它模塊間的接口簡(jiǎn)§2.模塊化獨(dú)立性的度量:耦合(Coupling)&內(nèi)聚(Yourdon& 合Greatdealof Highly

Loosely

UncoupledGoal: aslooseaspossible=asindependentaspossible§2.模塊化獨(dú)立性內(nèi)容耦合(ContentCoupling):Onemodulemodifies 而轉(zhuǎn)入C

ADB DBgotoC1

例2:部分代

§2.模塊化AB Theleast

entryentry公共耦

§2.模塊化(Commoncoupling):DataareaccessibleacommondataGlobalGlobal:Global:§2.模塊化問(wèn)題公共部分的改動(dòng)將影響所有調(diào)用它的模公共部分的數(shù)據(jù)存取無(wú)法控模塊 的數(shù)據(jù),缺乏安全性復(fù)雜程度隨耦合模塊的個(gè)數(shù)增加而增§2.模塊化控制耦合(Controlcoupling):OnemoduleparameterstocontroltheactivityofanotherBBA§2.模塊化數(shù)據(jù)耦合(Datacoupling):OnlydataarepassedItistotracedataandmakeThemost例子1qq

§2.模塊化r5tr5tp2s6u12-3p2s6u12-3-4-56§2.模塊化qrstup-q--r--s-t§2.模塊化(Cohesion):Theelementsofamodulearedirectedperformthesame ascohesiveas低內(nèi)聚 (Coalcohesion)Unrelatedfunctions,processes,ordataarefoundinthesamemodule(forconvenience).例printnextreversethestringofcharacterscomprisingthesecondadd7tothefifthcovert argumenttofloating§2.模塊化邏輯內(nèi)聚(Logicalcohesion):Logicallyrelatedfunctionsordataare cedinthesamemodule.例如

ReadReadfromfrom §2.模塊化時(shí)間內(nèi)聚(Temporalcohesion):Thefunctionsareonlybythetiming例如:系統(tǒng)的初openoldmasterfile,newmasterfile,transactionfile,andprintfile,initializesalesregionreadfirsttransactionrecord,andfirstoldmaster--updatesalesregiontable,printsalesregion問(wèn)題中內(nèi)聚

§2.模塊化過(guò)程內(nèi)聚 aretogetherinamoduletoensureacertainorderofenterenter問(wèn)題:難于復(fù)解決方案:分割§2.模塊化通信內(nèi)聚(Communicationalcohesion):Allthefunctionsinamoduleoperateonorproducethesamedataset.例如:從同一磁帶上 不相干的數(shù)據(jù)——可能破壞獨(dú)高內(nèi)聚順序內(nèi)聚(Sequentialcohesion):Theoutputfromonepartofamoduleistheinputtothenextpart.功能內(nèi)聚(Functionalcohesion):Everyprocessingisessentialtotheperformanceofasingle§2.模塊化耦合和內(nèi)聚的概念是Const ,Yourdon,Myers和Stevens等人提9731耦合耦合耦耦耦耦耦耦模塊模塊獨(dú)立模塊獨(dú)模塊獨(dú)內(nèi)聚內(nèi)內(nèi)內(nèi)內(nèi)內(nèi)內(nèi)內(nèi)功溫度記關(guān)閉文創(chuàng)溫度記關(guān)閉文創(chuàng)建新的溫記功地點(diǎn)、間和溫邏 功§3.啟發(fā)式規(guī)爭(zhēng)取低耦合、高內(nèi)聚(增加內(nèi)聚>減少耦合適當(dāng)控制 層的層數(shù)。過(guò)大表示分 一層上模塊數(shù)的最大值。過(guò)大表示系§3.啟發(fā)式A扇出個(gè)模塊直接調(diào)A3fan-out

A的扇AAA

直接調(diào)用該模塊在不破壞獨(dú)立性的前提下fan-in大的比較盡可能減少高扇出結(jié)PPP避免或減少使 聯(lián)直 聯(lián)公共數(shù)據(jù) 聯(lián)通信模 聯(lián)§3.啟發(fā)式4、作用域在控制域MCBAM{M,A,B,MCBAMM

§3.啟發(fā)式BA BACif……thenif……thengotoif……thengotoM1:goto作用域在控制域

作用域超出了改進(jìn)方法之一,可以把AifM §3.啟發(fā)式合或低內(nèi)聚的征兆,表例如:求一元二次方程的根 quad_root(TBL,

數(shù)組,傳送程系數(shù)組,回送數(shù)組,回送程的§3.啟發(fā)式從底部退出來(lái)時(shí),軟件比較容易理解和。7、模塊功能可預(yù)測(cè)——相同輸入必產(chǎn)生相同輸出。功能不可預(yù)測(cè)的?!?.啟發(fā)式8、模塊一個(gè)完整的模塊應(yīng)當(dāng)有以下幾出錯(cuò)處理的部分。當(dāng)模塊不能完成規(guī)定送出錯(cuò)標(biāo)志,出現(xiàn)例外情況的時(shí),應(yīng)當(dāng)給它的調(diào)用者返回一個(gè)狀態(tài)碼。完全相似一致。此時(shí)可以采取完全合并局部相似:找出其相同部分,分離出去,重新定義成YXYXYXX§4.圖形工1、Hierarchy和例 例:帶編號(hào)的層

§4.Entera

Finda

Deletea

Establisha By

BySquare

By of

Adda

Finda

Deletea

By §4.圖形工注意這里的hierarchy表現(xiàn)軟件的結(jié)構(gòu),而非數(shù)據(jù)結(jié) 2、結(jié)構(gòu)圖(Structured由Yourdon符號(hào) 數(shù)據(jù)傳遞 控制信息或 循環(huán)

§4.圖形工 §4.ABCDM例ABCDM須檢查每個(gè)傳遞的數(shù)據(jù)是否必須完成模塊功能所必須的數(shù)據(jù)是否都傳遞了傳輸?shù)臄?shù)據(jù)是否只與單一的功能有關(guān)?是否的明確 §5.面向數(shù)據(jù)流的設(shè)計(jì)方(又稱為SD:StructuralDFDSystem 數(shù)據(jù)流圖。從軟件由數(shù)據(jù)流圖推導(dǎo)出系統(tǒng)的初始結(jié)構(gòu)圖§5.面向數(shù)據(jù)流的設(shè)1、DataFlow的分換流(Transform

務(wù)流(Transaction

§5.面向數(shù)據(jù)流的設(shè) T

…Action……

transaction當(dāng)信息流具有明顯…§5.面向數(shù)據(jù)流的設(shè)2、分析例:汽車數(shù)字儀表板的設(shè)功能:①通過(guò)模-數(shù)轉(zhuǎn)換實(shí)現(xiàn)傳感器和微處理機(jī)接口③指示每小時(shí)英里數(shù)(mph),行駛的里程,每加侖油行 ⑤55mph,則發(fā)§5.面向數(shù)據(jù)流的設(shè)計(jì)方第一步:DFD的分界,先分出I、P、O三流傳感器信讀和

號(hào)

/

產(chǎn)加顯

核燃燒計(jì)

轉(zhuǎn)換計(jì)算料消

計(jì)算程超速

程顯顯鈴

mpg

mph驅(qū)動(dòng)儀表數(shù)據(jù)轉(zhuǎn)控接收傳感信驅(qū)動(dòng)儀表數(shù)據(jù)轉(zhuǎn)控接收傳感信數(shù)字儀表控級(jí)分解方法MPMPOI§5.面向數(shù)據(jù)流的設(shè)第二步:映ADCBABIMICDADCBABIMICDPPO:由邊界向外推,方OI 類I第二步:映

§5.面向數(shù)據(jù)流的設(shè)§5.面向數(shù)據(jù)流的設(shè)例信信數(shù)據(jù)轉(zhuǎn)控驅(qū)動(dòng)儀計(jì)算讀計(jì)算讀流收集

顯顯顯

顯示發(fā)出里程鈴聲讀旋轉(zhuǎn)信加顯計(jì)里讀旋轉(zhuǎn)信加顯計(jì)里計(jì)計(jì)§5.面向數(shù)據(jù)流的設(shè)第三步:修改著高內(nèi)聚、低耦合的原則。注:每個(gè)模塊應(yīng)附一簡(jiǎn)要說(shuō)明描③過(guò)程陳述,包括主要判定點(diǎn)及任務(wù)等§5.面向數(shù)據(jù)流的設(shè)修改模塊“確定加速 ”可以放在模塊“計(jì)mph”下面,以減少耦 §5.面向數(shù)據(jù)流的設(shè)計(jì)方SM…§5.面向數(shù)據(jù)流的設(shè)SM…ISAISABCICBA…………CBA……………事物分§5.面向數(shù)據(jù)流的設(shè)事物分“流類““流類“變換分區(qū)分事物中心據(jù)接收區(qū)分輸輸出分詳細(xì)設(shè)用啟發(fā)式設(shè)計(jì)精化軟件結(jié)精化數(shù)據(jù)流映射成事務(wù)結(jié)映射成變換結(jié)傳入模塊經(jīng)過(guò)某些處傳出模塊進(jìn)行某些處變換模塊進(jìn)行特定的處

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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)論