版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
SoftwareArchitecture
PerspectiveonanEmergingDisciplineChapterFour
軟件體系結(jié)構(gòu)的設(shè)計原理 Contents體系結(jié)構(gòu)設(shè)計中遵循的原理軟件的非功能特性軟件體系結(jié)構(gòu)的設(shè)計原理 體系結(jié)構(gòu)的設(shè)計原理抽象封裝數(shù)據(jù)隱藏模塊化注意點分離耦合和內(nèi)聚充分性、完備性和原始性策略和實現(xiàn)的分離接口與實現(xiàn)的分離分而治之層次化§4.1體系結(jié)構(gòu)的設(shè)計原理抽象抽象是人們用來處理復(fù)雜性問題的基本原理之一數(shù)據(jù)抽象、過程抽象、對象抽象、行為抽象、虛擬機(jī)抽象封裝將抽象的屬性和行為結(jié)合在一起區(qū)分不同的抽象有利于非功能特性的實現(xiàn)§4.1體系結(jié)構(gòu)的設(shè)計原理信息隱藏對用戶隱藏部件的實現(xiàn)細(xì)節(jié)接口與實現(xiàn)相分離用來更好地處理系統(tǒng)的復(fù)雜性和減少各部件之間的耦合模塊化良好定義的分界將構(gòu)成應(yīng)用的邏輯結(jié)構(gòu)物理地分割成代碼實體是一個應(yīng)用的功能和責(zé)任的物理容器§4.1體系結(jié)構(gòu)的設(shè)計原理注意點分離(SeparationofConcerns)不同和無關(guān)聯(lián)的責(zé)任應(yīng)該在軟件系統(tǒng)中分離開來,讓他們出現(xiàn)在不同的部件中相互協(xié)作完成某一個特定任務(wù)的部件應(yīng)該和在其他任務(wù)中執(zhí)行計算的部件分離開來避免過多暴露所造成的對應(yīng)用設(shè)計的負(fù)擔(dān)和混亂,保證了組件運行的可靠和安全耦合和內(nèi)聚§4.1體系結(jié)構(gòu)的設(shè)計原理充分性、完備性和原始性充分性是指部件應(yīng)該把握住與其進(jìn)行有意義和高效交互抽象的所有特性完整性是指一個部件應(yīng)該把握住所有與其抽象相關(guān)的特性原始性是指部件應(yīng)該完成的操作都可以容易地得到實現(xiàn)策略和實現(xiàn)的分離策略部件負(fù)責(zé)處理上下文相關(guān)的決策、信息的語義和解釋的知識、把不相交計算組合形成結(jié)果、對參數(shù)值進(jìn)行選擇等問題實現(xiàn)部件負(fù)責(zé)全面規(guī)范算法的執(zhí)行,執(zhí)行中不需要上下文相關(guān)信息進(jìn)行決策實現(xiàn)部件因為獨立于上下文環(huán)境,因而更容易重用和維護(hù)策略部件因為與特定的應(yīng)用相關(guān),通常隨時間的變化而改變§4.1體系結(jié)構(gòu)的設(shè)計原理接口和實現(xiàn)的分離接口定義了部件所提供的功能并規(guī)范了功能的使用方法實現(xiàn)部分包括了部件所提供功能的實際代碼強調(diào)一個客戶只應(yīng)該知道他需要知道的東西接口和實現(xiàn)的分離可以很好的支持可變性§4.1體系結(jié)構(gòu)的設(shè)計原理分而治之層次化§4.2軟件的非功能特性功能特性主要是直接針對客戶的功能需求,多數(shù)是容易感知和判斷的非功能特性主要包括系統(tǒng)的可變性、互操作性、效率、可靠性、可測試性、可重用性§4.2軟件的非功能特性可變性/可維護(hù)性軟件老化的幾個原因缺少變化盲目和無知的更改軟件建立初期就設(shè)計得不靈活,無法或難以維護(hù)和升級文檔不充分可維護(hù)性的四個方面可維護(hù)性可擴(kuò)充性可重構(gòu)性(設(shè)計人員;用戶)可移植性為應(yīng)對改變而設(shè)計的系統(tǒng)比沒有進(jìn)行這樣的考慮而設(shè)計的系統(tǒng)更容易適應(yīng)用戶,因而該系統(tǒng)的適應(yīng)性要好得多,生命周期要長得多§4.2軟件的非功能特性互操作性Interoperability互操作性,互用性。互操作性是指不同的計算機(jī)系統(tǒng)、網(wǎng)絡(luò)、操作系統(tǒng)和應(yīng)用程序一起工作并共享信息的能力將系統(tǒng)設(shè)計成具有互操作性的部件集合本身就自然地對系統(tǒng)的功能構(gòu)成進(jìn)行了分割使各種不同的系統(tǒng)能夠更好地通訊和交換數(shù)據(jù),提高軟件的互操作性需要由不同的廠商共同努力來完成。直到目前為止它仍然是軟件領(lǐng)域中最大的挑戰(zhàn)之一,微軟公司會在軟件互操作方面繼續(xù)努力的?!?.2軟件的非功能特性效率軟件運行過程中對資源的使用情況、以及對系統(tǒng)的響應(yīng)時間、存儲消耗和I/O吞吐量的影響效率問題不僅僅是設(shè)計精良算法的問題,而且是部件操作責(zé)任合理的分配、部件之間的耦合關(guān)系等體系結(jié)構(gòu)的問題良好結(jié)構(gòu)、豐富功能和高效率等方面需要權(quán)衡利弊§4.2軟件的非功能特性可靠性是軟件系統(tǒng)在各種情況下維持其功能的能力,區(qū)分為2個方面的內(nèi)容容錯性:當(dāng)錯誤事件發(fā)生時確保正確的系統(tǒng)響應(yīng),必要時采取內(nèi)部補救措施健壯性:健壯性不要求軟件在發(fā)生錯誤之后還能繼續(xù)執(zhí)行,他只需要保證軟件能以明確和可接收的方式終止可測試性測試變得越來越難、越來越昂貴支持可測試性的軟件體系結(jié)構(gòu)可以為錯誤探測和改正、以及代碼調(diào)試和部件的臨時集成給予支持§4.2軟件的非功能特性可重用性“通過已經(jīng)存在的來獲得想要的”的軟件設(shè)計和實現(xiàn)方法(有利于Cost、Time、Quality)用重用進(jìn)行軟件開發(fā)為重用進(jìn)行
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版:石料市場交易合同集3篇
- 科學(xué)解讀自然
- 2024版設(shè)備客戶服務(wù)保障合同版
- 健身房設(shè)備臨時租賃協(xié)議
- 石材回收利用合同
- 農(nóng)業(yè)用地土地開發(fā)協(xié)議書
- 電商物流產(chǎn)業(yè)園購房合同范本
- 人工智能服務(wù)保函協(xié)議書
- 娛樂行業(yè)墻面施工合同
- 深圳二手房合同范本解析
- 醫(yī)療美容服務(wù)風(fēng)險免責(zé)協(xié)議書
- 2024年鋁錠購銷的合同雙方信息登記表
- 貴州省遵義市播州區(qū)2023-2024學(xué)年二年級上學(xué)期數(shù)學(xué)期末質(zhì)量監(jiān)測試卷
- 2024版智能硬件產(chǎn)品研發(fā)合作協(xié)議3篇
- 《乘用車越野性能主觀評價方法》
- 國家電網(wǎng)招聘之財務(wù)會計類題庫含完整答案(必刷)
- 2024年手術(shù)室?guī)Ы坦ぷ饔媱潣颖荆?篇)
- 一年級數(shù)學(xué)(上)計算題專項練習(xí)匯編
- 保安服務(wù)招投標(biāo)書范本(兩篇)2024
- 遼寧省沈陽市五校協(xié)作體2024-2025學(xué)年高二上學(xué)期11月期中考試語文試題(含答案)
- 算法分析與設(shè)計學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論