




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、面向?qū)ο笤O(shè)計(jì)設(shè)計(jì)是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方案的過程。面向?qū)ο笤O(shè)計(jì)可再細(xì)分為系統(tǒng)設(shè)計(jì)和對(duì)象設(shè)計(jì)。系統(tǒng)設(shè)計(jì)確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu)。對(duì)象設(shè)計(jì)確定解空間中的類、關(guān)聯(lián)、接口形式及實(shí)現(xiàn)服務(wù)的算法。面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則模塊化:對(duì)象就是模塊模塊化:對(duì)象就是模塊對(duì)象就是模塊,它是把數(shù)據(jù)結(jié)構(gòu)和操作這些數(shù)據(jù)的方法緊密地結(jié)合在一起所構(gòu)成的模塊。抽象:抽象:面向?qū)ο蠓椒ú粌H支持過程抽象,而且支持?jǐn)?shù)據(jù)抽象。類實(shí)際上是一種抽象數(shù)據(jù)類型。它對(duì)外開放的公共接口構(gòu)成了類的規(guī)格說(shuō)明。這種接口規(guī)定了外界可以使用的合法操作,使用者通過這些操作使用類中定義的數(shù)據(jù)。某些面向?qū)ο蟮某绦蛟O(shè)
2、計(jì)語(yǔ)言還支持參數(shù)化抽象,即當(dāng)描述類的規(guī)格說(shuō)明時(shí)并不具體指定所要操作的數(shù)據(jù)類型,而是把數(shù)據(jù)類型作為參數(shù)。信息隱藏:信息隱藏:屬性的表示方法和操作的實(shí)現(xiàn)算法在面向?qū)ο蠓椒ㄖ?,信息隱藏通過對(duì)象的封裝性實(shí)現(xiàn):類結(jié)構(gòu)分離了接口與實(shí)現(xiàn),從而支持了信息隱藏。弱耦合:弱耦合:松散交互耦合、緊密繼承耦合交互耦合:指對(duì)象之間的耦合通過消息連接來(lái)實(shí)現(xiàn)。交互耦合應(yīng)盡可能松散:盡量降低消息連接的復(fù)雜程度。減少對(duì)象發(fā)送(接受)的消息數(shù)。繼承耦合:繼承是一般化類與特殊類之間耦合的一種形式,應(yīng)該提高繼承耦合程度。設(shè)計(jì)時(shí)應(yīng)使特殊類盡量多繼承并使用其一般化類的屬性和服務(wù)。強(qiáng)內(nèi)聚強(qiáng)內(nèi)聚:面向?qū)ο笤O(shè)計(jì)中存在3種內(nèi)聚:服務(wù)內(nèi)聚:一個(gè)服
3、務(wù)應(yīng)該完成且僅完成一個(gè)功能。類內(nèi)聚:一個(gè)類應(yīng)只有一個(gè)用途,類的屬性和服務(wù)應(yīng)全都是完成該類對(duì)象的任務(wù)所必須的,其中不包含無(wú)用的屬性或服務(wù)。一般特殊內(nèi)聚:設(shè)計(jì)出的一般特殊結(jié)構(gòu),應(yīng)該符合多數(shù)人的概念,即應(yīng)是對(duì)相應(yīng)的領(lǐng)域知識(shí)的正確抽取。可重用:可重用:軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。盡量使用已有的類。如果確實(shí)需要?jiǎng)?chuàng)建新類,則在設(shè)計(jì)這些新類時(shí),應(yīng)該考慮將來(lái)可重用性。啟發(fā)規(guī)則(一)設(shè)計(jì)結(jié)果應(yīng)該清晰易懂設(shè)計(jì)結(jié)果應(yīng)該清晰易懂n用詞一致n使用已有的協(xié)議n減少消息模式的數(shù)目n避免模糊的定義一般特殊結(jié)構(gòu)的深度應(yīng)適當(dāng):一般特殊結(jié)構(gòu)的深度應(yīng)適當(dāng): 不能僅從方便編碼的角度出發(fā)隨意創(chuàng)建派生類,一個(gè)中等
4、規(guī)模(大約包含100個(gè)類)的系統(tǒng)中,類等級(jí)層次數(shù)應(yīng)保持為72。啟發(fā)規(guī)則(二)設(shè)計(jì)簡(jiǎn)單的類:設(shè)計(jì)簡(jiǎn)單的類:便于開發(fā)和管理便于開發(fā)和管理n避免包含過多的屬性n有明確的定義n盡量簡(jiǎn)化對(duì)象之間的合作關(guān)系n不要提供太多服務(wù)使用簡(jiǎn)單的協(xié)議:使用簡(jiǎn)單的協(xié)議:減少消息中的參數(shù)減少消息中的參數(shù)使用簡(jiǎn)單的服務(wù)使用簡(jiǎn)單的服務(wù)把設(shè)計(jì)變動(dòng)減至最小把設(shè)計(jì)變動(dòng)減至最小*11.3 軟件重用(一)概念n重用:也叫再用或復(fù)用,是指同一事物不作修改或稍加改動(dòng)就多次重復(fù)使用。包括知識(shí)重用、方法和標(biāo)準(zhǔn)的重用、軟件成分的重用3個(gè)層次。代碼重用代碼重用:調(diào)用庫(kù)中的模塊,n源代碼剪貼:存在配置管理問題,無(wú)法跟蹤原始代碼塊的修改n源代碼包含:
5、提供包含(include)庫(kù)中源代碼,修改庫(kù)中源代碼之后,所有包含它的程序都必須重新編譯n繼承:重用類庫(kù)中的類,不存在配置管理問題1.軟件成分的重用級(jí)別軟件成分的重用級(jí)別n設(shè)計(jì)結(jié)果重用設(shè)計(jì)結(jié)果重用:重用某個(gè)軟件系統(tǒng)的設(shè)計(jì)模型(即求解域模型)。有助于把一個(gè)應(yīng)用系統(tǒng)移植到完全不同的軟硬件平臺(tái)上。n分析結(jié)果重用分析結(jié)果重用:重用某個(gè)系統(tǒng)的分析模型。這種重用特別適用于用戶需求未改變,但系統(tǒng)體系結(jié)構(gòu)發(fā)生了根本變化的場(chǎng)合。1.軟件成分的重用級(jí)別軟件成分的重用級(jí)別2. 類構(gòu)件類構(gòu)件n類構(gòu)件的重用方式類構(gòu)件的重用方式n實(shí)例重用:使用適當(dāng)?shù)臉?gòu)造函數(shù),按照需要?jiǎng)?chuàng)建類的實(shí)例。然后向所創(chuàng)建的實(shí)例發(fā)送適當(dāng)?shù)南ⅲ瑔?dòng)相
6、應(yīng)的服務(wù),完成需要完成的工作。n繼承重用:當(dāng)已有的類構(gòu)件不能通過實(shí)例重用完全滿足當(dāng)前系統(tǒng)需求時(shí),繼承重用提供了一種對(duì)已有的類構(gòu)件進(jìn)行裁剪的機(jī)制。 多態(tài)重用利用多態(tài)性不僅可以使對(duì)象的對(duì)外接口更加一般化(基類與派生類的許多對(duì)外接口是相同的),從而降低了消息連接的復(fù)雜程度,而且還提供了一種簡(jiǎn)便可靠的軟構(gòu)件組合機(jī)制。系統(tǒng)運(yùn)行時(shí),根據(jù)接收消息的對(duì)象類型,由多態(tài)性機(jī)制啟動(dòng)正確的方法,去響應(yīng)一個(gè)一般化的消息,從而簡(jiǎn)化了消息界面和軟構(gòu)件連接過程。11.4 系統(tǒng)分解采用面向?qū)ο蠓椒ㄔO(shè)計(jì)軟件系統(tǒng)時(shí),面向采用面向?qū)ο蠓椒ㄔO(shè)計(jì)軟件系統(tǒng)時(shí),面向?qū)ο笤O(shè)計(jì)模型對(duì)象設(shè)計(jì)模型(即求解域的對(duì)象模型即求解域的對(duì)象模型),與,與面向
7、對(duì)象分析模型面向?qū)ο蠓治瞿P?即問題域的對(duì)象模型即問題域的對(duì)象模型)一樣,也由主題、類與對(duì)象、結(jié)構(gòu)、屬性、一樣,也由主題、類與對(duì)象、結(jié)構(gòu)、屬性、服務(wù)等服務(wù)等5個(gè)層次組成。個(gè)層次組成。大多數(shù)系統(tǒng)的面向?qū)ο笤O(shè)計(jì)模型,在大多數(shù)系統(tǒng)的面向?qū)ο笤O(shè)計(jì)模型,在邏輯邏輯上上都由四大部分組成,這四大部分對(duì)應(yīng)于都由四大部分組成,這四大部分對(duì)應(yīng)于組成目標(biāo)系統(tǒng)的四個(gè)子系統(tǒng),它們分別是組成目標(biāo)系統(tǒng)的四個(gè)子系統(tǒng),它們分別是問題域子系統(tǒng)、人機(jī)交互子系統(tǒng)、任務(wù)問題域子系統(tǒng)、人機(jī)交互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。圖11.2 典型的面向?qū)ο笤O(shè)計(jì)模型在面向?qū)ο蠓治鲋?,只涉及到問題論域部分,其余
8、3部分是在面向?qū)ο笤O(shè)計(jì)中加進(jìn)來(lái)的。設(shè)計(jì)問題域子系統(tǒng)(一)面向?qū)ο笤O(shè)計(jì)通常僅需從實(shí)現(xiàn)角度對(duì)問題域模型作一些補(bǔ)充或修改,主要是增添、合并或分解類&對(duì)象、屬性及服務(wù),調(diào)整繼承關(guān)系等。n調(diào)整需求:修改分析結(jié)果,再把修改反映到問題域子系統(tǒng)中n重用已有的類:n把問題域類組合在一起:引入一個(gè)根類把應(yīng)用的類關(guān)聯(lián)到一起,建立類的層次n增添一般化類以建立協(xié)議:在一般類中定義所有特殊類都可使用的操作,這種操作可能是虛函數(shù),其細(xì)節(jié)在特殊類中定義。n調(diào)整繼承層次:若設(shè)計(jì)語(yǔ)言不提供多重繼承機(jī)制,需修改分析結(jié)果。設(shè)計(jì)人機(jī)交互子系統(tǒng)(一)確定人機(jī)交互的細(xì)節(jié),其中包括指定窗口和報(bào)表的形式、設(shè)計(jì)命令層次等項(xiàng)內(nèi)容。設(shè)計(jì)人機(jī)
9、交互子系統(tǒng)的策略n分類用戶n描述用戶n設(shè)計(jì)命令層次:用過程抽象機(jī)制組織起來(lái)的、可供選用的服務(wù)的表現(xiàn)形式。n設(shè)計(jì)人機(jī)交互類設(shè)計(jì)任務(wù)管理子系統(tǒng)分析并發(fā)性:若兩個(gè)對(duì)象彼此間不存在交互,或者同時(shí)接受事件,則它們?cè)诒举|(zhì)上是并發(fā)的;當(dāng)系統(tǒng)有許多并發(fā)行為時(shí),需要依照各個(gè)行為的協(xié)調(diào)和通信關(guān)系,劃分各種任務(wù),以簡(jiǎn)化并發(fā)行為的設(shè)計(jì)和編碼: 通過檢查各個(gè)對(duì)象的狀態(tài)圖及他們之間交換的事件,把若干非并發(fā)的對(duì)象歸并到一條用任務(wù)實(shí)現(xiàn)的控制線中。進(jìn)程的別名,是執(zhí)行一系列活動(dòng)的一段程序。設(shè)計(jì)任務(wù)管理子系統(tǒng)設(shè)計(jì)任務(wù)管理子系統(tǒng):確定各類任務(wù)并把任務(wù)分配給適當(dāng)?shù)挠布蜍浖?zhí)行。n確定事件驅(qū)動(dòng)型任務(wù):由事件驅(qū)動(dòng)完成通信工作的任務(wù)。n
10、確定時(shí)鐘驅(qū)動(dòng)型任務(wù):每隔一定時(shí)間間隔就被觸發(fā)以執(zhí)行某些處理的任務(wù)。n確定優(yōu)先任務(wù)和關(guān)鍵任務(wù):有關(guān)系統(tǒng)成功或失敗的關(guān)鍵處理,有嚴(yán)格的可靠性要求。n確定協(xié)調(diào)任務(wù):有助于把不同任務(wù)之間的協(xié)調(diào)控制封裝起來(lái)。n盡量減少任務(wù)數(shù)n確定資源需求:決定哪些子系統(tǒng)用硬件實(shí)現(xiàn),哪些用軟件實(shí)現(xiàn)。表明某些數(shù)據(jù)到達(dá)的信號(hào)設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)選擇數(shù)據(jù)存儲(chǔ)管理模式n文件管理系統(tǒng)n關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)n面向?qū)ο髷?shù)據(jù)庫(kù)管理系統(tǒng):1)擴(kuò)展的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng):增加了抽象數(shù)據(jù)類型和繼承機(jī)制,增加了創(chuàng)建及管理類和對(duì)象的通用服務(wù)2)擴(kuò)展的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言:增加了在數(shù)據(jù)庫(kù)中存貯和管理對(duì)象的機(jī)制設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)n設(shè)計(jì)數(shù)據(jù)格式n設(shè)計(jì)相應(yīng)的服務(wù)設(shè)計(jì)類中的服務(wù)確定類中應(yīng)有的服務(wù)設(shè)計(jì)實(shí)現(xiàn)服務(wù)的方法n設(shè)計(jì)實(shí)現(xiàn)服務(wù)的算法n算法復(fù)雜度n容易理解與容易實(shí)現(xiàn)n易修改n選擇數(shù)據(jù)結(jié)構(gòu)n定義內(nèi)部類和內(nèi)部操作設(shè)計(jì)關(guān)聯(lián)關(guān)聯(lián)的遍歷實(shí)現(xiàn)單向關(guān)聯(lián)實(shí)現(xiàn)雙向關(guān)聯(lián)鏈屬性的實(shí)現(xiàn)設(shè)計(jì)優(yōu)化確定優(yōu)先級(jí)提高效率的幾項(xiàng)技術(shù)n增加冗余關(guān)聯(lián)以提高訪問效率n調(diào)整查詢次序n保留派生屬性調(diào)整繼承關(guān)系n抽象與具體n為提高繼承程度而修改類定義n利用委托實(shí)現(xiàn)行為共享對(duì)象模型一本書有一個(gè)封面、一個(gè)目錄、一個(gè)前言、若干章,每章有若干節(jié),每節(jié)有若干段,每段有若干句子,每節(jié)有0個(gè)或多個(gè)插圖,還有0個(gè)或多個(gè)表格,最后還有一個(gè)封底。建立該書的
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級(jí)上冊(cè)數(shù)學(xué)教案-3.2兒童樂園 |北師大版
- 2025年合同付款明細(xì)表模板
- 三年級(jí)下冊(cè)數(shù)學(xué)教案 - 5.6 求簡(jiǎn)單的經(jīng)過時(shí)間 丨蘇教版
- 五年級(jí)上冊(cè)數(shù)學(xué)教案-5 小數(shù)除以整數(shù)|蘇教版
- 學(xué)習(xí)2025年雷鋒精神62周年主題活動(dòng)實(shí)施方案 匯編3份
- 人教PEP版三年級(jí)上冊(cè)期中檢測(cè)英語(yǔ)試卷(含聽力)(含解析)-
- 《南鄉(xiāng)子 登京口北固亭有懷》歷年中考古詩(shī)欣賞試題匯編(截至2023年)
- 2025年甘肅建筑職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)學(xué)生專用
- 2025年湖北體育職業(yè)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)學(xué)生專用
- 2025年廣東工貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)完整版
- 中小學(xué)領(lǐng)導(dǎo)班子包級(jí)包組包班制度
- 汽車掛靠經(jīng)營(yíng)合同協(xié)議書模板
- 基坑土方開挖專項(xiàng)施工方案(完整版)
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 2025年江蘇農(nóng)牧科技職業(yè)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 數(shù)據(jù)中心運(yùn)維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 瑞幸對(duì)賭協(xié)議
- 部編人教版四年級(jí)下冊(cè)道德與法治全冊(cè)教案
- 2024年湖南鐵道職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析word版
- 健康保險(xiǎn)學(xué)PPT完整全套教學(xué)課件
- 大學(xué)生心理健康教育高職PPT完整全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論