版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程外包安全合同范例
- 工程退出協(xié)議合同模板
- 地產(chǎn)開(kāi)發(fā)合作合同范例
- 出售福建民房合同范例
- 個(gè)體診所醫(yī)師聘用合同范例
- 學(xué)校買(mǎi)儀器合同范例
- 別墅鋁合金合同范例
- 關(guān)于市政施工合同范例
- 工程用采購(gòu)合同模板
- 展陳設(shè)計(jì)合同范例
- 健康教育學(xué)【完整版】
- 近代笛簫制作師承
- 空調(diào)系統(tǒng)設(shè)計(jì)規(guī)范及標(biāo)準(zhǔn)(全)
- 《社會(huì)醫(yī)學(xué)》課件11健康危險(xiǎn)因素評(píng)價(jià)
- DB34T 3826-2021 保溫板外墻外保溫工程技術(shù)標(biāo)準(zhǔn) (1)
- 實(shí)驗(yàn)二、軸系結(jié)構(gòu)設(shè)計(jì)實(shí)驗(yàn)
- 病原微生物實(shí)驗(yàn)室生物安全備案專(zhuān)家意見(jiàn)表
- 蟲(chóng)害控制培訓(xùn)完整版
- 高中音樂(lè)“歌唱”模塊教學(xué)研修(一)
- 無(wú)閥濾池工作原理
- 鋼結(jié)構(gòu)廠房施工方案(屋面板及墻板)
評(píng)論
0/150
提交評(píng)論