版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第10章 面向?qū)ο笤O(shè)計軟件工程導(dǎo)入分析是提取和整理用戶需求,并建立問題域精確模型的過程。設(shè)計則是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實現(xiàn)方案的過程。從面向?qū)ο蠓治?OOA)到面向?qū)ο笤O(shè)計(OOD),是一個逐漸擴充模型的過程?;蛘哒f,面向?qū)ο笤O(shè)計就是用面向?qū)ο笥^點建立求解域模型的過程。面向?qū)ο蠓椒▽W(xué)在概念和表示方法上的一致性,保證了在各項開發(fā)活動之間的平滑(無縫)過渡。提綱設(shè)計的準(zhǔn)則啟發(fā)規(guī)則軟件重用系統(tǒng)分解設(shè)計問題域子系統(tǒng)設(shè)計人機交互子系統(tǒng)設(shè)計任務(wù)管理子系統(tǒng)設(shè)計數(shù)據(jù)管理子系統(tǒng)設(shè)計類中的服務(wù)設(shè)計優(yōu)化10.1 面向?qū)ο笤O(shè)計的準(zhǔn)則權(quán)衡了各種因素,從而使得系統(tǒng)在其整個生命周期中的總
2、開銷最小的設(shè)計模塊化1優(yōu)秀設(shè)計抽象2信息隱藏3弱耦合4強內(nèi)聚5可重用6(1)模塊化模塊化是把程序劃分為獨立命名且可以獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。對象就是模塊。對象是把數(shù)據(jù)結(jié)構(gòu)和操作這些數(shù)據(jù)的方法緊密地結(jié)合在一起所構(gòu)成的模塊。(2)抽象類實際上是一種抽象數(shù)據(jù)類型。它對外開放的公共接口構(gòu)成了類的規(guī)格說明(即協(xié)議),這種接口規(guī)定了外界可以使用的合法操作符,利用這些操作符可以對類實例中包含的數(shù)據(jù)進行操作。使用者無須知道這些操作符的實現(xiàn)算法和類中數(shù)據(jù)元素的具體表示方法,就可以通過這些操作符使用類中定義的數(shù)據(jù)。(3)信息隱藏信息
3、隱藏通過對象的封裝性實現(xiàn)。類結(jié)構(gòu)分離了接口與實現(xiàn),從而支持了信息隱藏。對于類的用戶來說,屬性的表示方法和操作的實現(xiàn)算法都應(yīng)該是隱藏的。(4)弱耦合耦合主要指不同對象之間相互關(guān)聯(lián)的緊密程度。弱耦合是優(yōu)秀設(shè)計的一個重要標(biāo)準(zhǔn),因為這有助于使得系統(tǒng)中某一部分的變化對其他部分的影響降到最低程度。在理想情況下,對某一部分的理解、測試或修改,無須涉及系統(tǒng)的其他部分。對象不可能是完全孤立的,當(dāng)兩個對象必須相互聯(lián)系相互依賴時,應(yīng)該通過類的協(xié)議(即公共接口)實現(xiàn)耦合,而不應(yīng)該依賴于類的具體實現(xiàn)細節(jié)。(4)弱耦合交互耦合對象之間的耦合通過消息連接來實現(xiàn)交互耦合盡可能松散:盡量降低消息連接的復(fù)雜程度。減少對象發(fā)送(或
4、接收)的消息數(shù)。繼承耦合一般化類與特殊類之間耦合的一種形式繼承耦合盡可能緊密:在設(shè)計時應(yīng)該使特殊類盡量多繼承并使用其一般化類的屬性和服務(wù)。(5)強內(nèi)聚內(nèi)聚衡量一個模塊內(nèi)各個元素彼此結(jié)合的緊密程度:(1) 服務(wù)內(nèi)聚:一個服務(wù)應(yīng)該完成一個且僅完成一個功能。(2) 類內(nèi)聚:類的屬性和服務(wù)應(yīng)該全都是完成該類對象的任務(wù)所必需的,其中不包含無用的屬性或服務(wù)。如果某個類有多個用途,通常應(yīng)該把它分解成多個專用的類。(3) 一般-特殊內(nèi)聚:設(shè)計出的一般-特殊結(jié)構(gòu),應(yīng)該符合多數(shù)人的概念,更準(zhǔn)確地說,這種結(jié)構(gòu)應(yīng)該是對相應(yīng)的領(lǐng)域知識的正確抽取。(6)可重用軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。重用基本
5、上從設(shè)計階段開始。重用有兩方面的含義: 一是盡量使用已有的類(包括開發(fā)環(huán)境提供的類庫,及以往開發(fā)類似系統(tǒng)時創(chuàng)建的類);二是如果確實需要創(chuàng)建新類,則在設(shè)計這些新類的協(xié)議時,應(yīng)該考慮將來的可重復(fù)使用性。提綱設(shè)計的準(zhǔn)則啟發(fā)規(guī)則軟件重用系統(tǒng)分解設(shè)計問題域子系統(tǒng)設(shè)計人機交互子系統(tǒng)設(shè)計任務(wù)管理子系統(tǒng)設(shè)計數(shù)據(jù)管理子系統(tǒng)設(shè)計類中的服務(wù)設(shè)計優(yōu)化10.2 啟發(fā)規(guī)則設(shè)計結(jié)果清晰易懂一般-特殊結(jié)構(gòu)深度適當(dāng)設(shè)計簡單的類使用簡單的協(xié)議使用簡單的服務(wù)設(shè)計變動減至最少(1)設(shè)計結(jié)果應(yīng)該清晰易懂人們不會重用那些他們不理解的設(shè)計:用詞一致。應(yīng)該使名字與它所代表的事物一致,不同類中相似服務(wù)的名字應(yīng)該相同。使用已有的協(xié)議。如果開發(fā)同
6、一軟件的其他設(shè)計人員已經(jīng)建立了類的協(xié)議,或者在所使用的類庫中已有相應(yīng)的協(xié)議,則應(yīng)該使用這些已有的協(xié)議。減少消息模式的數(shù)目。如果已有標(biāo)準(zhǔn)的消息協(xié)議,設(shè)計人員應(yīng)該遵守這些協(xié)議。如果確需自己建立消息協(xié)議,則應(yīng)該盡量減少消息模式的數(shù)目。避免模糊的定義,應(yīng)該從類名可以較容易地推想出它的用途。(2)一般-特殊結(jié)構(gòu)的深度應(yīng)適當(dāng)應(yīng)該使類等級中包含的層次數(shù)適當(dāng)。一般說來,在一個中等規(guī)模(大約包含100個類)的系統(tǒng)中,類等級層次數(shù)應(yīng)保持為72。不應(yīng)該僅僅從方便編碼的角度出發(fā)隨意創(chuàng)建派生類,應(yīng)該使一般-特殊結(jié)構(gòu)與領(lǐng)域知識或常識保持一致。(3)設(shè)計簡單的類如果一個類的定義不超過一頁紙(或兩屏),則使用這個類是比較容易
7、的。避免包含過多的屬性。有明確的定義。為了使類的定義明確,分配給每個類的任務(wù)應(yīng)該簡單,最好能用一兩個簡單語句描述它的任務(wù)。盡量簡化對象之間的合作關(guān)系。不要提供太多服務(wù)。(4)使用簡單的協(xié)議一般說來,消息中的參數(shù)不要超過3個。經(jīng)驗表明,通過復(fù)雜消息相互關(guān)聯(lián)的對象是緊耦合的,對一個對象的修改往往導(dǎo)致其他對象的修改。(5)使用簡單的服務(wù)面向?qū)ο笤O(shè)計出來的類中的服務(wù)通常都很小,一般只有35行源程序語句,可以用僅含一個動詞和一個賓語的簡單句子描述它的功能。如果一個服務(wù)中包含了過多的源程序語句,或者語句嵌套層次太多,或者使用了復(fù)雜的CASE語句,則應(yīng)該仔細檢查這個服務(wù),設(shè)法分解或簡化它。一般說來,應(yīng)該盡量避免使用復(fù)雜的服務(wù)。如果需要在服務(wù)中使用CASE語句,通常應(yīng)該考慮用一般-特殊結(jié)構(gòu)代替這個類的可能性。(6)把設(shè)計變動降到最小通常,設(shè)計的質(zhì)量越高,設(shè)計結(jié)果保持不變的時間也越長。即使出現(xiàn)必須修改設(shè)計的情況,也應(yīng)該使修改的范圍盡可能小。理想的設(shè)計變動曲線:提綱設(shè)計的準(zhǔn)則啟發(fā)規(guī)則軟件重用系統(tǒng)分解設(shè)計問題域子系統(tǒng)設(shè)計人機交互子系統(tǒng)設(shè)計任務(wù)管理子系統(tǒng)設(shè)計數(shù)據(jù)管理子系統(tǒng)設(shè)計類中的服務(wù)設(shè)計優(yōu)化10.3.1 概述重用也叫再用或復(fù)用,是指同一事物不作修改或稍加改動就多次重復(fù)使用。知識重用方法與標(biāo)準(zhǔn)重用軟件成分重用10.3.1 概述有助于把一個應(yīng)用系統(tǒng)移植到完全不同的軟硬件平
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 散客旅游合同范本在線查看
- 企業(yè)車輛交易協(xié)議書模板
- 2024體育賽事場地租賃合同
- 2024版土石方運輸合同
- 農(nóng)村個人購房合同范例
- 合伙協(xié)議書范例
- 如何簽訂借款合同避免風(fēng)險
- 個人汽車買賣合同樣本模板
- 2023年高考地理專題復(fù)習(xí)新題典題精練-洋流(原卷版)
- 致大海選擇性必修中冊 第四單元課件
- 服務(wù)質(zhì)量、保證措施
- (必練)廣東省軍隊文職(經(jīng)濟學(xué))近年考試真題試題庫(含答案)
- 含羞草天氣課件
- 2024年安全生產(chǎn)知識競賽考試題庫及答案(共五套)
- 22《鳥的天堂》課件
- 農(nóng)業(yè)灌溉裝置市場環(huán)境與對策分析
- 新疆烏魯木齊市第十一中學(xué)2024-2025學(xué)年八年級上學(xué)期期中道德與法治試卷
- 2024年江西省高考地理真題(原卷版)
- 部編版小學(xué)五年級上冊道法課程綱要(知識清單)
- 經(jīng)濟法學(xué)-計分作業(yè)一(第1-4章權(quán)重25%)-國開-參考資料
- 山東省臨沂市(2024年-2025年小學(xué)四年級語文)人教版期中考試(上學(xué)期)試卷及答案
評論
0/150
提交評論