




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章
面向?qū)ο笤O(shè)計(jì)XX大學(xué)XX系XXX軟件工程教程電子科技大學(xué)出版社學(xué)習(xí)目標(biāo)l
掌握面向?qū)ο笤O(shè)計(jì)的過(guò)程和準(zhǔn)則;l
掌握面向?qū)ο笤O(shè)計(jì)方法和步驟;l
掌握系統(tǒng)設(shè)計(jì)概念和步驟;l
掌握對(duì)象設(shè)計(jì)概念和步驟。目錄01020304面向?qū)ο笤O(shè)計(jì)概述面向?qū)ο笤O(shè)計(jì)過(guò)程與準(zhǔn)則面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則系統(tǒng)設(shè)計(jì)0506對(duì)象設(shè)計(jì)本章小結(jié)面向?qū)ο笤O(shè)計(jì)概述01面向?qū)ο笤O(shè)計(jì)概述◆
面向?qū)ο笤O(shè)計(jì)(Object-Oriented
Design,OOD)強(qiáng)調(diào)定義軟件對(duì)象,并且使這些軟件對(duì)象互相協(xié)作來(lái)滿足用戶需求。◆
面向?qū)ο笤O(shè)計(jì)是一種軟件設(shè)計(jì)方法,是一種工程化規(guī)范。面向?qū)ο笤O(shè)計(jì)模式解決的是類(lèi)與相互通信的對(duì)象之間的組織關(guān)系,包括它們的角色、職責(zé)、協(xié)作方式幾個(gè)方面?!?/p>
面向?qū)ο笤O(shè)計(jì)模式的最終實(shí)現(xiàn)仍然要使用面向?qū)ο缶幊陶Z(yǔ)言來(lái)表達(dá),如JAVA、C++/C#等。面向?qū)ο笤O(shè)計(jì)過(guò)程與準(zhǔn)則02面向?qū)ο笤O(shè)計(jì)的特點(diǎn)(1)模塊化在面向?qū)ο蟮脑O(shè)計(jì)中,一個(gè)模塊通常為一個(gè)類(lèi)或?qū)ο?,它們封裝了事物的屬性或操作”(2)抽象類(lèi)是對(duì)一組具有相似特征的對(duì)象的抽(3)信息隱藏。在面向?qū)ο蠓椒ㄖ?,信息隱藏是通過(guò)對(duì)象的封裝性來(lái)實(shí)現(xiàn)的。面向?qū)ο笤O(shè)計(jì)的特點(diǎn)(4)低耦合(弱耦合)在面向?qū)ο蟮脑O(shè)計(jì)中,耦合主要指不同模塊之間相互關(guān)聯(lián)的程度。低耦合有利于降低由于一個(gè)模塊的改變而對(duì)其他模塊造成的影響。(5)高內(nèi)聚(強(qiáng)內(nèi)聚)”內(nèi)聚是衡量一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度。在設(shè)計(jì)時(shí)應(yīng)該力求做到高內(nèi)聚,提高模塊的內(nèi)聚性有利于提高系統(tǒng)的獨(dú)立性。(6)重用性盡量使用已有的類(lèi),如果確實(shí)需要?jiǎng)?chuàng)建新類(lèi)時(shí),應(yīng)考慮將來(lái)被重復(fù)使用的可能。面向?qū)ο笤O(shè)計(jì)的步驟(1)系統(tǒng)設(shè)計(jì)①將子系統(tǒng)分配到處理器。②
選擇實(shí)現(xiàn)數(shù)據(jù)管理、界面支持和任務(wù)管理”的設(shè)計(jì)策略。③為系統(tǒng)設(shè)計(jì)合適的控制機(jī)制。④復(fù)審并考慮權(quán)衡(折衷)。面向?qū)ο笤O(shè)計(jì)的步驟(2)對(duì)象設(shè)計(jì)①
在過(guò)程級(jí)別(procedural
lavel)設(shè)計(jì)每個(gè)操作,即設(shè)計(jì)每個(gè)操作的實(shí)現(xiàn)細(xì)節(jié)。②定義內(nèi)部類(lèi)。③為類(lèi)屬性設(shè)計(jì)內(nèi)部數(shù)據(jù)結(jié)構(gòu)。④消息設(shè)計(jì)?!雹?/p>
使用對(duì)象間的協(xié)作和對(duì)象—關(guān)系模型,設(shè)計(jì)消息模型。(3)復(fù)審復(fù)審設(shè)計(jì)模型并在需要時(shí)迭代。面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則03面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則(1)設(shè)計(jì)結(jié)果應(yīng)該清晰易懂1)用詞一致。2)使用已有的協(xié)議。3)減少消息模式的數(shù)目。4)避免模糊的定義。面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則(2)類(lèi)等級(jí)的深度應(yīng)適當(dāng)雖然類(lèi)的繼承與派生有許多優(yōu)點(diǎn),但是不能隨意創(chuàng)建派生類(lèi),應(yīng)該使類(lèi)等級(jí)中包含的層次數(shù)適當(dāng)。一個(gè)中等規(guī)模的系統(tǒng),類(lèi)等級(jí)層次數(shù)應(yīng)該保持為7±2。面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則(3)設(shè)計(jì)簡(jiǎn)單的類(lèi)簡(jiǎn)單的類(lèi)便于開(kāi)發(fā)和管理。因此,在類(lèi)的設(shè)計(jì)過(guò)程中應(yīng)注意:類(lèi)要有明確的定義;類(lèi)中避免包含過(guò)多的屬性;一個(gè)類(lèi)不要提供太多服務(wù);盡量簡(jiǎn)化對(duì)象之間的合作關(guān)系。面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則(4)使用簡(jiǎn)單的協(xié)議減少消息的參數(shù)個(gè)數(shù)是減少類(lèi)間耦合程度的有效手段。一般來(lái)說(shuō),消息的參數(shù)不要超過(guò)3個(gè)。(5)使用簡(jiǎn)單的服務(wù)減少控制服務(wù)中源程序語(yǔ)句的行數(shù)及語(yǔ)句的嵌套層數(shù),可以簡(jiǎn)化服務(wù)。面向?qū)ο笤O(shè)計(jì)啟發(fā)規(guī)則(6)把設(shè)計(jì)變動(dòng)減至最小雖然設(shè)計(jì)的變動(dòng)是正常情況,但設(shè)計(jì)的變動(dòng)會(huì)造成資源或時(shí)間上的消耗,所以開(kāi)發(fā)人員應(yīng)該盡量把設(shè)計(jì)的變動(dòng)概率降至最低,一般來(lái)說(shuō),設(shè)計(jì)的質(zhì)量越高,設(shè)計(jì)結(jié)果保持不變的時(shí)間也越長(zhǎng)。系統(tǒng)設(shè)計(jì)04系統(tǒng)設(shè)計(jì)◆
面向?qū)ο蟮脑O(shè)計(jì)可以劃分為系統(tǒng)設(shè)計(jì)和對(duì)象設(shè)計(jì)兩個(gè)階段。◆
系統(tǒng)設(shè)計(jì)關(guān)注于確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)?!?/p>
一般來(lái)說(shuō),常用的系統(tǒng)設(shè)計(jì)的步驟為:將系統(tǒng)分解為子系統(tǒng)—>設(shè)計(jì)問(wèn)題域子系統(tǒng)—>設(shè)計(jì)人機(jī)交互子系統(tǒng)—>設(shè)計(jì)任務(wù)管理子系統(tǒng)—>設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)。系統(tǒng)設(shè)計(jì)的步驟(1)將分析模型劃分成子系統(tǒng)在OO系統(tǒng)設(shè)計(jì)中,我們把分析模型中緊密相關(guān)的類(lèi)、關(guān)系等設(shè)計(jì)元素包裝成子系統(tǒng)。系統(tǒng)設(shè)計(jì)的步驟子系統(tǒng)的設(shè)計(jì)通常具有如下四個(gè)準(zhǔn)則。①
子系統(tǒng)應(yīng)具有定義良好的接口,通過(guò)接口和系統(tǒng)的其它部分通信;②
除了少數(shù)的“通信類(lèi)”
外,子系統(tǒng)中的類(lèi)應(yīng)只和該子系統(tǒng)中的其它類(lèi)協(xié)作;③子系統(tǒng)的數(shù)量不宜太多;④可以在子系統(tǒng)內(nèi)部再次劃分,以降低復(fù)雜性。系統(tǒng)設(shè)計(jì)的步驟(2)標(biāo)識(shí)問(wèn)題本身的并發(fā)性,并為子系統(tǒng)分配處理器通過(guò)對(duì)對(duì)象行為模型的分析,可發(fā)現(xiàn)系統(tǒng)的并發(fā)性。(3)任務(wù)管理設(shè)計(jì)①確定任務(wù)的類(lèi)型;②必要時(shí),定義協(xié)調(diào)者任務(wù)和關(guān)聯(lián)的對(duì)象;③將協(xié)調(diào)者任務(wù)和其它任務(wù)集成。系統(tǒng)設(shè)計(jì)的步驟(4)數(shù)據(jù)管理設(shè)計(jì)數(shù)據(jù)管理的設(shè)計(jì)包括設(shè)計(jì)系統(tǒng)中各種數(shù)據(jù)對(duì)象的存儲(chǔ)方式(如內(nèi)部數(shù)據(jù)結(jié)構(gòu)、文件、數(shù)據(jù)庫(kù)),以及設(shè)計(jì)相應(yīng)的服務(wù),即為要儲(chǔ)存的對(duì)象增加所需的屬性和操作。系統(tǒng)設(shè)計(jì)的步驟(5)資源管理設(shè)計(jì)OO系統(tǒng)可利用一系列不同的資源(如磁盤(pán)驅(qū)動(dòng)器、處理器、通信線路等外部實(shí)體或數(shù)據(jù)庫(kù)、對(duì)象等抽象資源),很多情況下,子系統(tǒng)同時(shí)競(jìng)爭(zhēng)這些資源,因此要設(shè)計(jì)一套控制機(jī)制和安全機(jī)制,以控制對(duì)資源的訪問(wèn),避免對(duì)資源使用的沖突。系統(tǒng)設(shè)計(jì)的步驟(6)人機(jī)界面設(shè)計(jì)人機(jī)界面主要強(qiáng)調(diào)人如何命令系統(tǒng),以及系統(tǒng)如何向人提交信息。它包括窗口、菜單、報(bào)告的設(shè)計(jì)。系統(tǒng)設(shè)計(jì)的步驟(7)子系統(tǒng)間的通信子系統(tǒng)之間可以通過(guò)建立客戶/服務(wù)器連接進(jìn)行通信,也可以通過(guò)端對(duì)端(peer
to
peer)連接進(jìn)行通信。我們必須確定子系統(tǒng)間通信的合約(contract),合約提供了一個(gè)子系統(tǒng)和另一個(gè)子系統(tǒng)交互的方式。例10.1:結(jié)合9.4節(jié)案例,完成系統(tǒng)設(shè)計(jì)?;颊弑O(jiān)護(hù)系統(tǒng)是一個(gè)全面監(jiān)控病人和對(duì)病人病歷查詢的系統(tǒng),所以根據(jù)其功能需要窗口錄入病人的基本信息,還要方便查詢的多窗口設(shè)計(jì),并且要能繪制出病人的日常生理日志的變化曲線圖。由于本系統(tǒng)要自動(dòng)發(fā)出警告,在錄入病人生理正常信息需要設(shè)計(jì)數(shù)據(jù)窗口,還要隨時(shí)能從數(shù)據(jù)庫(kù)中調(diào)用,以便和監(jiān)控設(shè)備傳回的數(shù)據(jù)進(jìn)行比較,要設(shè)定最大變化和最小變化,發(fā)出警告的信息中要有房間號(hào)碼和床位號(hào)碼,以便知道哪個(gè)病人出現(xiàn)了異常,對(duì)監(jiān)控設(shè)備傳回的信息備份,設(shè)置定時(shí)起(每隔多長(zhǎng)時(shí)間對(duì)傳回的數(shù)據(jù)進(jìn)行備份),還要分開(kāi)設(shè)置重病和較輕的病人,以便監(jiān)控,能對(duì)傳回的數(shù)據(jù)畫(huà)出曲線圖,并對(duì)每個(gè)病人的生理指數(shù)能夠清楚的查詢,同時(shí)允許醫(yī)生修改病人的正常生理數(shù)。(1)基本設(shè)計(jì)概念和處理流程如圖圖10.1處理流程(2)系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如圖圖10.2系統(tǒng)結(jié)構(gòu)(3)系統(tǒng)功能模塊設(shè)計(jì)圖10.3系統(tǒng)功能(4)數(shù)據(jù)庫(kù)設(shè)計(jì)表10.1“生理信號(hào)”表(4)數(shù)據(jù)庫(kù)設(shè)計(jì)表10.2“患者”表(4)數(shù)據(jù)庫(kù)設(shè)計(jì)表10.3“患者生理信號(hào)安全范圍”表對(duì)象設(shè)計(jì)05對(duì)象設(shè)計(jì)◆
對(duì)象設(shè)計(jì)對(duì)象設(shè)計(jì)是指對(duì)面向?qū)ο蟮男枨蠓治鲭A段得到的對(duì)象模型進(jìn)行擴(kuò)充、細(xì)化和完善。對(duì)象設(shè)計(jì)的內(nèi)容包括:1)對(duì)象中對(duì)屬性和操作的詳細(xì)描述;2)對(duì)象之間發(fā)送消息的協(xié)議;3)類(lèi)之間的各種關(guān)系的定義;4)對(duì)象之間的動(dòng)態(tài)交互行為等;◆
例10.2:結(jié)合9.4節(jié)案例,完成對(duì)象設(shè)計(jì)。本章小結(jié)06本章小結(jié)◆
面向?qū)ο笤O(shè)計(jì)有如下三句經(jīng)典名言。(1)對(duì)接口進(jìn)行設(shè)計(jì);(2)發(fā)現(xiàn)變化而且封裝它;(3)先考慮組合然后考慮繼承?!?/p>
面向?qū)ο笤O(shè)計(jì)中的主要內(nèi)聚有:服務(wù)內(nèi)聚和類(lèi)內(nèi)聚。耦合有兩類(lèi):交互耦合和繼承耦合?!?/p>
面向?qū)ο蟮脑O(shè)計(jì)活動(dòng)主要有:系統(tǒng)構(gòu)架設(shè)計(jì)、用例設(shè)計(jì)、類(lèi)設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷史教學(xué)學(xué)生史料實(shí)證素養(yǎng)的培養(yǎng)
- led屏使用合同范本
- vi設(shè)計(jì)意向合同范例
- 寫(xiě)傭金合同范例
- 個(gè)人集資炒股合同范例
- 介紹學(xué)員提成居間合同范例
- 怎樣有效的進(jìn)行教學(xué)設(shè)計(jì)
- 二手車(chē)轉(zhuǎn)讓合同范例
- 借款經(jīng)銷(xiāo)合同范例
- 臨電工合同范例
- 中學(xué)生預(yù)防性侵主題班會(huì)
- 不良資產(chǎn)項(xiàng)目律師法律盡調(diào)報(bào)告(模板)
- 2023年人力資源和社會(huì)保障部公開(kāi)招聘工作人員筆試參考題庫(kù)(共500題)答案詳解版
- 高級(jí)技校電氣自動(dòng)化設(shè)備安裝與維修教學(xué)計(jì)劃
- 《長(zhǎng)征之戰(zhàn)役》課件
- 心電監(jiān)護(hù)操作評(píng)分標(biāo)準(zhǔn)
- 保健品概念及分類(lèi)
- 水土保持監(jiān)理實(shí)施細(xì)則
- 自體血液回收機(jī)使用(精京3000P型)課件
- 非法捕撈水產(chǎn)品罪
- 中鋁中州礦業(yè)有限公司禹州市方山鋁土礦礦山地質(zhì)環(huán)境保護(hù)和土地復(fù)墾方案
評(píng)論
0/150
提交評(píng)論