《軟件工程實用教程》第6章面向對象的軟件設計_百_第1頁
《軟件工程實用教程》第6章面向對象的軟件設計_百_第2頁
免費預覽已結束,剩余22頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、丄二二二二二二二二二二第6章面向對象的軟件設計本章學習內容:1.理解面向對象軟件設計的基本原理2 掌握系統設計的過程與方法3.掌握詳細設計的內容與過程4 了解面向對象的實現技術5.了解面向對象測試的概念與方法第6章面向對象的軟件設計6. 1面向對象軟件設計概述6.1.1面向對象設計準則1.模塊化2.抽象3.信息隱蔽4.低耦合5.高內聚6.可重用第6章面向對象的軟件設計第6章面向對象的軟件設計2.子系統劃分設計準則:“ 子系統應具有良好的接口,通過接口和系統 的其他部分通信;/ 除了少數的“通信類”夕卜,子系統中的類應 只和該子系統中的其他類協作;“子系統的數量不宜太多;/ 可以在子系統內部再次

2、劃分,以降低復雜度。避免循環依賴第6章面向對象的軟件設計6.2.2物理體系結構建模用構件圖和部署圖來描述系統的物理體系結構1.構件圖構件圖就是描述構件類及其它們之間的關系。(1)構件間的依賴關系:主要是依賴關系,用 來表示一個構件需要另一些構件才能有完整 的定義。(2)接口:是一個構件提供給其他構件的一組 操作AWTEvenlIteniListenerCheckbox第6章面向對象的軟件設計例:顧客恵務 程序廠定單查詢 二匸程序3_支伺外理-U程序,7 令_I- 1數據庫官理程序第6章面向對象的軟件設計2.部署圖部署圖描述了處理器.設備和軟件構件運行時 的體系結構。-(1)結點:是某種計算資源

3、的物理對象,包括計算機、設備(如打印機.通信設備)等連接:連接用一條直線表不,它指出結點之間 存在著某種通信路徑,并指出通過哪條通信路 徑可使這些結點間交換對象或發送消息第6章面向對象的軟件設計舉例:GuT T rfn應用巌藥罔構件之間的耦合度亦會增加。按耦合程度由高到低 的排列順序是:內容耦合、控制耦合、印記耦合、 數據耦合、例程調用耦合、類型使用耦合、包含或 導入耦合、外部耦合。第6章面向對象的軟件設計3.實施構件級設計的步驟1)標識出所有與問題域相對應的設計類。2)確定所有與基礎設施域相對應的設計類。在 分析模型中并沒有描述這些類, 但此時應對 它們進行描述,例如,GUI構件.操作系統

4、構件、對象和數據管理構件等。3)細化所有不能作為復用構件的設計類。詳細 描述實現類所需要的所有接口、屬性和操作。第6章面向對象的軟件設計(2)構件級設計指導方針1)保持高內聚性。內聚性指構件或類只封裝那些相互關系密切,以及與構件或類自身有密切關系的屬性和 操作。按內聚程度由高到低的排列順序是:功能內 聚、分層內聚、通信內聚、順序內聚、過程內聚、 暫時內聚和實用內聚。2)保持低耦合性。耦合是構件或類之間彼此聯系程度的一種定性度量。著構件或類相互依賴越來越多,第6章面向對象的軟件設計第6章面向對象的軟件設計(7)純虛構模式:有時我們可以虛構一個人造類 把一組高度內聚的職責分配給它,該人造類只 是虛

5、構出來的,不代表現實世界中的任何實體 這就是純虛構模式。J8)中介者模式:把一些職責分配給一個虛構的 中介類,讓該中介類來協調多個類的協作關系(9)不要和陌生人說話:這個模式要求一個類盡 量只和它的直接對象交互,避免和間接對象進 行交互,這樣,它就可以和最少的類產生耦合 使整個系統的耦合度保持最低。6.4面向對象軟件實現面向對象實現階段的主要任務:/選擇合適的面向對象的編程語言與開發環境 “ 基于選定的語言和開發環境編碼實現詳細設 計中所得到的對象、算法、公式和規則等;“將編寫好的各個類代碼模塊根據類的相互關 系集成;/對軟件進行測試和調試,完成各個部分和整 個系統。第6章面向對象的軟件設計向

6、對象語言的技術特點 支持類與對象概念的機制 實現整體/部分結構的機制 實現一般/特殊結構的機制 對于實現屬性和服務的機制 類型檢査 類庫第6章面向對象的軟件設計(7)效率(8)持久保存對象(9)參數化類(10)開發環境2.面向對象語言的選擇(1)可復用性(2)類庫和開發環境6. 4. 1程序設計語言(2)(3)(4)(5)(6)(3)其他因素6. 4. 2程序設計風格1.提高可重用性(1)(2)(3)(4)(5)(6)(7)第6章面向對象的軟件設計(4)3提高健壯性(1)(2)(3)2提高可擴充性(1)封裝實現策略不要用一個方法遍歷多條關聯鏈 避免使用多分支語句精心確定公有方法 預防用戶的操作

7、錯誤 檢查參數的合法性 不要預先確定限制條件提高方法的內聚 減小方法的規模 保持方法的一致性 把策略與實現分開 全面覆蓋 盡量不使用全局信息 利用繼承機制第6章面向對象的軟件設計第6章面向對象的軟件設計6.4.3面向對象軟件測試1.面向對象的單元測試(1)類層測試(2)對象集群層測試2.面向對象的集成測試(1)基于線程的測試(2)基于使用的測試3.面向對象軟件的高級測試第6章面向對象的軟件設計4.面向對象軟件測試用例(1)基于故障的測試用例設計是通過對面向對 象分析與設計模型的分析,找出可能存在的 故障,以此假設故障來設計測試用例,并通 過這些測試用例確定這些可能的故障是否存 在。基于故障的測試用例不能發現有錯誤的 功能描述,或者子系統間交互引起的問題。(2)基于用例的測試用例設計關注用戶“做什 么”而不是軟件“做什么”O通過測試用例 獲得用戶必須完成的任務,并以此為依據設 計所涉及的各個類的測試用例。第6章面向對象的軟件設計測試表層結構和深層結構表層結構指面向對象程序外部可觀察的結構, 即對終端用戶立即可見的結構。不是處理函 數,而是很多面向對象系統的用戶可能被給 定一些以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論