版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第第2章章 面向對象技術與面向對象技術與UML 2.1 面向對象技術概述面向對象技術概述 2.2 面向對象的分析面向對象的分析2.3 面向對象的設計面向對象的設計2.4 基于基于UML的面向對象分析、設計過程的面向對象分析、設計過程 2.1.1 面向對象的基本概念面向對象技術的基本觀點: 客觀世界由對象組成,任何客觀實體都是對象,復雜對象可以由簡單對象組成。 具有相同數據和操作的對象可歸納成類,對象是類的一個實例。 類可以派生出子類,子類除了繼承父類的全部特性外還可以有自己的特性。 對象之間的聯系通過消息傳遞來維系。1. 對象 客觀世界里的任何實體都可以被稱為對象。 對象可以是具體的、有形的物
2、,也可以是無形的事物或概念。 對象是問題域或實現域中某些事物的一個抽象。 對象是一個封裝數據屬性和操作行為的實體。 系統(tǒng)中的對象在軟件生命周期的各個階段可能有不同的表示形式。 一個對象的實例圖解 2. 封裝 封裝是面向對象方法的一個重要原則。 封裝有兩個含義: 結合性 信息隱蔽性3. 消息 消息是向對象發(fā)出的服務請求。 一個消息包含消息名、接受對象的標志、服務標志、輸入信息、回答信息等。 消息傳遞機制:當一個消息發(fā)送給某個對象時,包含要求接收對象去執(zhí)行某些活動的信息,接受到消息的對象經過解釋,然后予以響應。 4. 類 類是一組具有相同數據結構和相同操作的對象的集合。 類是對象的抽象。 客觀世界
3、實際存在的都是對象,而不是類 。 類和對象的關系。 5. 繼承 繼承性是面向對象程序設計語言不同于其他語言的最主要特點。 繼承是指子類可以自動擁有父類的全部屬性與操作的機制。 父類(超類、基類) 子類(派生類) 繼承性又分為單重繼承和多重繼承兩類。繼承的描述 單重繼承和多重繼承的描述 6. 多態(tài)性定義:同一操作作用于不同的對象,可以有不同的解釋,產生不同的執(zhí)行結果。多態(tài)性分為兩種: 編譯時的多態(tài)性。 運行時的多態(tài)性。多態(tài)性的實現方式: 通過接口實現多態(tài)性 通過繼承實現多態(tài)性 通過抽象類實現的多態(tài)性7. 結構與連接 一般/特殊結構 整體/部分結構 實例連接 消息連接1. 面向對象的建模語言 Bo
4、och 1993(Grady Booch) OOSE( Ivar Jacobson) OMT-2(Jim Rumbaugh) UMLGrady BoochIvar JacobsonJim RumbaughRational公司公司“三巨頭三巨頭”UML的發(fā)展過程 2. 面向對象的程序設計語言四個基本的分支: 基于Smalltalk的語言 基于C的語言 基于LISP的語言 基于PASCAL的語言2.2 面向對象分析(OOA) 2.2.1 面向對象分析的層次 2.2.2 面向對象分析的基本過程 2.2.3 面向對象分析的基本原則 2.2.4 類圖 2.2.5 發(fā)現對象和定義類 2.2.6 對象之間的
5、通信 對象模型的五個層次 2.2.2 面向對象分析的基本過程 發(fā)現對象,從對象中抽象出類的定義。 識別對象的內部特征。 識別對象的外部關系。 劃分主題,建立主題圖。 定義用例,建立交互圖。 建立詳細說明。 原型開發(fā)。面向對象分析過程模型 2.2.3 面向對象分析的基本原則 抽象原則 分類原則 聚合原則 關聯原則 消息通信原則2.2.4 類圖類圖的主要構成成分: 類 屬性 方法 一般/特殊結構 整體/部分結構 實例連接 消息連接 類圖的三個層次 1. 發(fā)現對象 發(fā)現對象的根本出發(fā)點:問題域和系統(tǒng)責任 正確運用抽象原則。 2. 抽象出對象類幾種常見問題: 類的屬性或服務不適合該類的全部對象。 出現
6、屬性和服務相似的類。 出現對同一事物的重復描述。2.2.6 對象之間的通信 1. 一般/特殊結構 2. 整體/部分結構 3. 實例連接 4. 消息連接 1. 一般/特殊結構 一般/特殊結構均形成層次或網絡 2. 整體/部分結構 3. 實例連接 實例連接用于表達對象之間的靜態(tài)聯系 4. 消息連接 定義:兩個對象之間存在的由于通信需要而形成的關系。 表示方法:使用箭頭從發(fā)送消息的對象指向接收消息的對象。 2.3 面向對象設計(OOD) 2.3.1 面向對象設計的模型 2.3.2 面向對象的高層設計 2.3.3 面向對象的類設計2.3.1 面向對象設計的模型2.3.2 面向對象的高層設計 1. 高層
7、設計的結構模型 2. 高層設計的準則 3. 問題域子系統(tǒng)的設計 4. 人機交互子系統(tǒng)的設計 5. 任務管理子系統(tǒng)的設計 6. 數據管理子系統(tǒng)的設計1. 高層設計的結構模型2. 高層設計的準則 弱耦合。 強內聚。 減少通信開銷。 良好的可擴充性。3. 問題域子系統(tǒng)的設計 復用已有的設計。 把與問題論域相關的類關聯,建立類的層次結構。 創(chuàng)建一般化類。 改進系統(tǒng)性能。 加入較低層的構件。4. 人機交互子系統(tǒng)的設計 用戶分類。 描述人及其任務的腳本。 設計命令層。 設計與用戶的詳細交互。 繼續(xù)進行原型設計。 設計人機交互類。5. 任務管理子系統(tǒng)的設計 為任務命名,并簡要說明這個任務。 定義各個任務如何
8、協(xié)調工作,指出它是事件驅動還是時鐘驅動。 定義各個任務之間如何通信,任務將從哪里取值,任務執(zhí)行得到的結果將送往何方。 6. 數據管理子系統(tǒng)的設計 常用的數據管理方法有三種: 文件管理 關系數據庫管理系統(tǒng) 面向對象數據庫管理系統(tǒng)擴充的RDBMS擴充的面向對象程序設計語言2.3.3 面向對象的類設計 1. 類設計的目標 2. 類的設計準則1. 類設計的目標 把類設計成可復用的“插接相容性”部件。 把類設計成健壯的部件。 把類設計成可集成的部件。2. 類的設計準則 類公共接口的單獨成員應該是類的操作符。 類A的實例不應該直接發(fā)送消息給類B的成員。 操作符是公共的,當且僅當類實例的用戶可用。 屬于類的每個操作符要么訪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省菏澤市鄆城縣2024-2025學年八年級上學期期中學業(yè)水平測試數學試卷(無答案)
- 農夫山泉授權合同范例
- 市政管道清淤服務合同范例
- 安裝單位合同范例
- 個人房屋購房合同范例
- 家庭防水質保合同模板
- 律師委托調查合同范例
- 加盟授權合同模板
- 御府購房合同范例
- 工程消防施工合同范例
- 新疆紀要維吾爾族的起源和形成
- 動物遺傳育種繁殖學
- 2023年全國高考體育單招考試數學模擬試卷試題(含答案詳解)
- 《經濟法學》第14章 反不正當競爭法律制度
- 屋面及防水工程、保溫工程
- 飲料和健康調查活動報告書
- GB/T 18043-2013首飾貴金屬含量的測定X射線熒光光譜法
- GB/T 15576-2020低壓成套無功功率補償裝置
- 先秦諸子百家課件
- 鋰離子電池粘結劑總結ATLCATL課件
- 初中期中成績分析班會-課件4
評論
0/150
提交評論