精化設(shè)計(jì)模型_第1頁(yè)
精化設(shè)計(jì)模型_第2頁(yè)
精化設(shè)計(jì)模型_第3頁(yè)
精化設(shè)計(jì)模型_第4頁(yè)
精化設(shè)計(jì)模型_第5頁(yè)
已閱讀5頁(yè),還剩22頁(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ì)模型第1頁(yè),共27頁(yè),2023年,2月20日,星期四10.4精化設(shè)計(jì)模型?

任務(wù)①以頂層架構(gòu)圖為基礎(chǔ),精化目標(biāo)軟件系統(tǒng)的體系結(jié)構(gòu)

②精化類(lèi)之間的關(guān)系

③精化類(lèi)的屬性和操作

④針對(duì)具有明顯狀態(tài)轉(zhuǎn)換特征的類(lèi),設(shè)計(jì)狀態(tài)圖

⑤針對(duì)比較復(fù)雜的類(lèi)方法,設(shè)計(jì)活動(dòng)圖第2頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.1精化體系結(jié)構(gòu)?目的

尋找理想的包劃分方案,使得包中直接包含的類(lèi)的數(shù)量適中,包間的耦合度較低

耦合度:對(duì)軟件結(jié)構(gòu)中模塊間的關(guān)聯(lián)程度的一種度量

模塊之間耦合程度:①繼承關(guān)系高②構(gòu)成關(guān)系③聚合關(guān)系④關(guān)聯(lián)關(guān)系⑤依賴關(guān)系低第3頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)

弱化包間耦合的方法:

①對(duì)包進(jìn)行拆分

10.4.1精化體系結(jié)構(gòu)第4頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)

②調(diào)整類(lèi)的擺放位置,從一個(gè)包移植到另一個(gè)更合適的包?注意事項(xiàng)

①避免包間的循環(huán)依賴關(guān)系

②在層次結(jié)構(gòu)中,位于較低層次的包不應(yīng)依賴于較高層次的包

10.4.1精化體系結(jié)構(gòu)第5頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)

?注意事項(xiàng)

③在層次結(jié)構(gòu)中,較高層次的包可以依賴于較低層次的包,盡量相鄰

④如果針對(duì)某些子系統(tǒng)專(zhuān)門(mén)劃分了接口包和實(shí)現(xiàn)包,那么其他與該子系統(tǒng)相關(guān)的包只能依賴于接口包,不能依賴于實(shí)現(xiàn)包

完全避免包間的依賴關(guān)系,既無(wú)必要,也不合理10.4.1精化體系結(jié)構(gòu)第6頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)

?任務(wù):

研究類(lèi)之間的連接關(guān)系

①根據(jù)這些連接的而語(yǔ)義強(qiáng)度,將它們精確地判定為UML的依賴、關(guān)聯(lián)、聚合或繼承關(guān)系之一10.4.2精化類(lèi)之間的關(guān)系第7頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)

?任務(wù):

②確定連接的方向及參與連接的類(lèi)的對(duì)象之間的數(shù)量對(duì)應(yīng)關(guān)系③根據(jù)軟件重用的要求及軟件結(jié)構(gòu)簡(jiǎn)潔化、清晰化的要求,優(yōu)化類(lèi)之間的關(guān)系10.4.2精化類(lèi)之間的關(guān)系第8頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.2精化類(lèi)之間的關(guān)系(1)允許修改重用類(lèi)第9頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.2精化類(lèi)之間的關(guān)系(2)

不允許修改,需要“委托”第10頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.2精化類(lèi)之間的關(guān)系利用繼承關(guān)系精化設(shè)計(jì)模型第11頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.2精化類(lèi)之間的關(guān)系根據(jù)“強(qiáng)內(nèi)聚、松耦合”原則優(yōu)化類(lèi)之間的結(jié)構(gòu)關(guān)系①合并相互通信頻繁的類(lèi)第12頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.2精化類(lèi)之間的關(guān)系根據(jù)“強(qiáng)內(nèi)聚、松耦合”原則優(yōu)化類(lèi)之間的結(jié)構(gòu)關(guān)系②分拆規(guī)模過(guò)大的類(lèi)第13頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.2精化類(lèi)之間的關(guān)系根據(jù)“強(qiáng)內(nèi)聚、松耦合”原則優(yōu)化類(lèi)之間的結(jié)構(gòu)關(guān)系③定義嵌入類(lèi)第14頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.3精化類(lèi)的屬性和操作類(lèi):主要包括屬性和操作兩部分定義屬性:名稱、類(lèi)型、初始值、取值范圍及屬性說(shuō)明(后三項(xiàng)可選)定義操作:名稱、參數(shù)表(參數(shù)名稱和類(lèi)型)、返回類(lèi)型和功能描述屬性和操作的作用范圍有以下三種:①public②protected③private對(duì)軟件系統(tǒng)中的所有類(lèi)均可見(jiàn)僅對(duì)本類(lèi)及其子類(lèi)可見(jiàn)對(duì)本類(lèi)可見(jiàn)第15頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.3精化類(lèi)的屬性和操作類(lèi)的屬性和操作可區(qū)分為類(lèi)級(jí)和實(shí)例級(jí):類(lèi)級(jí):第16頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.3精化類(lèi)的屬性和操作類(lèi)的屬性和操作可區(qū)分為類(lèi)級(jí)和實(shí)例級(jí):實(shí)例級(jí):第17頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)第18頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.4設(shè)計(jì)狀態(tài)圖?概念

用來(lái)描述一個(gè)特定類(lèi)的對(duì)象的所有可能狀態(tài)以及因事件而引起的狀態(tài)轉(zhuǎn)移,包含狀態(tài)名和活動(dòng)(activity)兩部分

?活動(dòng)①entry活動(dòng)②exit活動(dòng)③do活動(dòng)④on—event活動(dòng)一旦對(duì)象進(jìn)入該狀態(tài),相應(yīng)活動(dòng)即被觸發(fā)執(zhí)行一旦對(duì)象離開(kāi)該狀態(tài),相應(yīng)活動(dòng)即被觸發(fā)執(zhí)行當(dāng)對(duì)象位于該狀態(tài),執(zhí)行相應(yīng)的活動(dòng),對(duì)象狀態(tài)不變當(dāng)對(duì)象位于該狀態(tài)并且接收某一事件后,執(zhí)行相應(yīng)的事件響應(yīng)活動(dòng)第19頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.4設(shè)計(jì)狀態(tài)圖?轉(zhuǎn)移邊附加信息

事件名(事件參數(shù)表)[條件表達(dá)式]/動(dòng)作^事件目標(biāo).事件名(事件參數(shù)表)引發(fā)對(duì)象狀態(tài)遷移的觸發(fā)事件表示此轉(zhuǎn)移邊所代表的狀態(tài)遷移的發(fā)生條件表示對(duì)象在進(jìn)行狀態(tài)遷移的同時(shí)還將執(zhí)行的處理功能表示對(duì)象在進(jìn)行狀態(tài)遷移的同時(shí)還可以向其他對(duì)象發(fā)送的事件一張狀態(tài)圖可以包含一個(gè)初態(tài)和一個(gè)到多個(gè)終態(tài)初態(tài):終態(tài):第20頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.4設(shè)計(jì)狀態(tài)圖Initializationdo/initializecourseaddstudent/setstudentCount=0Openentry/registerstudent&increasestudentCountcancelcancel[studentcount=50orcurrentdate>=deadline][studentcount<50]/addstudentcanceldcloseddo/notifyregistersstudentsdo/finalizecourseoffering終態(tài)終態(tài)初態(tài)選課管理系統(tǒng)UML狀態(tài)圖第21頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.4設(shè)計(jì)狀態(tài)圖狀態(tài)圖適于表示跨越多個(gè)用例的單個(gè)對(duì)象的行為監(jiān)測(cè)器的狀態(tài)圖:第22頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.5設(shè)計(jì)活動(dòng)圖

活動(dòng)圖適于表示用例中的事件流和過(guò)程,也可以用來(lái)表示復(fù)雜的算法以及并發(fā)處理進(jìn)程

在面向?qū)ο蟮脑O(shè)計(jì)過(guò)程中,是否需要對(duì)所有類(lèi)的對(duì)象都繪制狀態(tài)圖和活動(dòng)圖?“否”第23頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.5設(shè)計(jì)活動(dòng)圖用戶命令處理類(lèi)中的procCmd方法的活動(dòng)圖:第24頁(yè),共27頁(yè),2023年,2月20日,星期四10.4.2精化體系結(jié)構(gòu)10.4.5設(shè)計(jì)活動(dòng)圖監(jiān)測(cè)器類(lèi)中的analyseSensorData方法的活動(dòng)圖

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論