




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
面向對象概述姓名:李麗萍博士,副教授,美國內布拉加斯州大學奧馬哈分校訪問學者研究方向:軟件工程,軟件測試Tel:50214252E-mail:liliping@教師簡介第2頁,共40頁,2024年2月25日,星期天教師講課與學生練習相輔相成授課方式考核方式理論考試+平時成績+課程練習第3頁,共40頁,2024年2月25日,星期天ApplyingUMLandPatterns-AnIntroductiontoObject-OrientedAnalysisandDesignUML和模式應用-面向對象分析與設計導論THEBESTObjectOrientatedAnalysisandDesigntutorialbook(A)在OOA/D、迭代式開發和UML方面是全球最暢銷的書籍之一,已被翻譯成多種語言并在業界和院校中被廣泛使用參考文獻第4頁,共40頁,2024年2月25日,星期天參考文獻第5頁,共40頁,2024年2月25日,星期天ReferencesCraigLarman“PeopleoftenaskmewhichisthebestbooktointroducethemtotheworldofOOdesign.EversinceIcameacrossit,ApplyingUMLandPatternshasbeenmyunreservedchoice.”--MartinFlower,author,UMLDistilledandRefactoring第6頁,共40頁,2024年2月25日,星期天軟件方法-業務建模和需求潘加宇著TheUnifiedModelingLanguageUserGuide(UML用戶指南)TheUnifiedModelingLanguageReferenceManual(UML參考手冊)GradyBoochJamesRumbaughIvarJacobson參考文獻第7頁,共40頁,2024年2月25日,星期天WebResources/software/rational//uml/////網絡資源第8頁,共40頁,2024年2月25日,星期天目標:能夠較熟練地使用UML表達設計思想運用面向對象設計的一般原則進行應用系統的分析和設計掌握RationalRose環境與使用、UML圖的畫法課程內容第9頁,共40頁,2024年2月25日,星期天
是軟件工程方向的重要內容之一;是軟件工程方向學生必須掌握的基本技能之一。課程地位第10頁,共40頁,2024年2月25日,星期天
第1章面向對象概述第11頁,共40頁,2024年2月25日,星期天1.什么叫面向對象面向對象技術是一種以對象為基礎,以事件或消息來驅動對象執行處理的程序設計技術。從程序設計方法上來講,它是一種自下而上的程序設計方法,它不像面向過程程序設計那樣一開始就需要使用一個主函數來概括出整個程序,面向對象程序設計往往從問題的一部分著手,一點一點地構建出整個程序。
1.1面向對象基本概念第12頁,共40頁,2024年2月25日,星期天2.對象對象(object)是面向對象(Object-Oriented,OO)系統的基本構造塊,是一些相關的變量和方法的軟件集。對象是現實世界中某個具體的物理實體或概念在計算機邏輯中的映射和體現。物理對象:某種可被人感知的事物。如:學生、書籍等;概念性對象。如:國家、民族對象具有屬性(靜態特征)和操作(動態特征) 例如:汽車都有一些共同的屬性:品牌、型號和載重等。它們都有一些共同的行為:加速、減速、載客和運貨。面向對象基本概念第13頁,共40頁,2024年2月25日,星期天3.類類(Class)是具有相同屬性和操作的一組對象的組合,也就是說,抽象模型中的“類”描述了一組相似對象的共同特征,為屬于該類的全部對象提供了統一的抽象描述。例如名為“學生”的類被用于描述為“學生管理系統”中的學生對象。類的定義要包含以下的要素第一,定義該類對象的數據結構(屬性的名稱和類型)第二,定義對象所要執行的操作。面向對象基本概念第14頁,共40頁,2024年2月25日,星期天4.消息與事件所謂消息(Message)是指描述事件發生的信息,是對象間相互聯系和相互作用的方式。一個消息主要由5部分組成:消息的發送對象、消息的接收對象、消息傳遞方式、消息內容(參數)、消息的返回。所謂事件通常是指一種由系統預先定義而由用戶或系統發出的動作。事件作用于對象,對象識別事件并作出相應反應。對象通過對外提供的方法在系統中發揮自己的作用,當系統中的其它對象請求這個對象執行某個方法時,就向該對象發送一個消息,對象響應這個請求,完成指定的操作。程序的執行取決于事件發生的順序,由順序產生的消息來驅動程序的執行。面向對象基本概念第15頁,共40頁,2024年2月25日,星期天1.抽象(P6)將需要的事物進行簡化;將事物特征進行概括;將抽象模型組織為層次結構;使軟件重用得以保證。1.2面向對象的基本特征第16頁,共40頁,2024年2月25日,星期天2.封裝封裝(Encapsulation)是把對象的狀態和行為綁到一起的機制,把對象形成一個獨立的整體,并且盡可能的隱藏對象的內部細節。封裝有兩個含義:一是把對象的全部狀態和行為結合一起,形成一個不可分割的整體。對象的私有屬性只能夠由對象的行為來修改和讀取。二是盡可能隱蔽對象的內部細節,與外界的聯系只能夠通過外部接口來實現。封裝的信息屏蔽作用反映了事物的相對獨立性,我們可以只關心它對外所提供的接口,即能夠提供什么樣的服務,而不用去關注其內部的細節問題。比如說使用手機,我們關注的通常是這個手機能實現什么功能,而不太會去關心這個手機的是怎么一步步制造出來的。1.2面向對象的基本特征第17頁,共40頁,2024年2月25日,星期天3.繼承繼承(Inheritance)是一種連接類與類的之間的層次模型。繼承是指特殊類的對象擁有其一般類的屬性和行為。繼承意味著“自動地擁有”,即在特殊類中不必重新對已經在一般類中所定義過的屬性和行為進行定義,而是特殊類自動地、隱含地擁有其一般類的屬性和行為。繼承對類的重用性,提供了一種明確表述共性的方法。即一個特殊類既有自己定義的屬性和行為,又有繼承下來的屬性和行為。面向對象的的基本特征第18頁,共40頁,2024年2月25日,星期天4.多態多態性(Polymorphism)是指在兩個或多個屬于不同類中同一函數名對應多個具有相似功能的不同函數,可以使用相同的調用方式來調用這些具有不同功能的同名函數。面向對象的的基本特征第19頁,共40頁,2024年2月25日,星期天多態性分為兩種:編譯時的多態性:通過方法重載來實現。運行時的多態性:通過方法覆蓋來實現。多態性的實現方式:通過接口實現多態性通過繼承實現多態性通過抽象類實現的多態性多態第20頁,共40頁,2024年2月25日,星期天多態第21頁,共40頁,2024年2月25日,星期天1.3面向對象的開發方法的一般過程
OO方法中執行主要活動的描述。主要步驟是分析、設計、實現及測試。面向對象分析面向對象設計實現測試圖1.3OO方法的步驟第22頁,共40頁,2024年2月25日,星期天
OO方法中執行主要活動的描述。主要步驟是分析、設計、實現及測試。獲取需求,建立需求模型。分析的典型活動:
1、獲取領域(問題域)知識;
2、定義系統功能(用例圖);
3、確定合適的類;
4、建立類的靜態模型(類圖);
5、描述對象的動態行為(狀態圖、協作圖、時序圖、活動圖);
6、驗證(專家對模型作靜態驗證);
7、給出基本的用戶界面原型(整體結構的原型:主窗口的內容、窗口之間的導航等)。面向對象分析面向對象設計實現測試1.3面向對象的開發方法的一般過程第23頁,共40頁,2024年2月25日,星期天
OO方法中執行主要活動的描述。主要步驟是分析、設計、實現及測試。
設計是分析結果在技術上的擴充和修改,重點是如何實現該系統。設計中的典型活動:1、將分析所得的類劃分為功能包,并從技術層面(用戶界面、數據庫處理、通信等)增加新包,建立包之間的通信聯系。2、標識并發需求并建模。3、指出系統輸出的詳細格式:如用戶界面,報告,向其它系統發送的事務等。4、數據管理(建立類與表單的對應關系,對數據庫的訪問機制)。5、異常處理6、分配類和構件(構件圖、配置圖)。還應用偽代碼或者文字給出類的規約。面向對象分析面向對象設計實現測試1.3面向對象的開發方法的一般過程第24頁,共40頁,2024年2月25日,星期天面向對象設計準則面向對象設計的準則包括模塊化、抽象、信息隱藏、低耦合和高內聚等特征,見書P13。系統設計一般是先從高層入手,然后細化。系統設計要決定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。
1.3面向對象的開發方法的一般過程第25頁,共40頁,2024年2月25日,星期天1.3面向對象的開發方法的一般過程
OO方法中執行主要活動的描述。主要步驟是分析、設計、實現及測試。實現活動實際上就是編寫程序代碼,包括反復的編譯、連結、排錯等。并應遵循傳統的編程準則。
面向對象分析面向對象設計實現測試第26頁,共40頁,2024年2月25日,星期天
OO方法中執行主要活動的描述。主要步驟是分析、設計、實現及測試。測試的目的是發現代碼中的錯誤,測試的關鍵是確定高效的測試用例。測試的主要步驟有:1、面向對象的單元測試測試單元為封裝的類和對象,但不能孤立地測試單個操作,應把操作作為類的一部分來測試。2、面向對象的集成測試
3、面向對象的確認測試類似傳統的確認測試和系統測試,根據動態模型和描述系統行為的腳本來設計測試用例,可用黑盒法。1.3面向對象的開發方法的一般過程面向對象分析面向對象設計實現測試第27頁,共40頁,2024年2月25日,星期天什么是模型模型應具有的特征為何要建立模型建模的意義1.4面向對象建模第28頁,共40頁,2024年2月25日,星期天什么是模型如果把現實世界中的某些事物看作是一種現實原型,那么模型就算對這種現實原型的一種抽象和模擬,以反映事物的本質特征。模型既反映原型,又不等于原型。模型是實際系統或過程的代表或描述,它是實際系統的一部分屬性的抽象和模仿,而不是全部屬性的復制。模型的實質是在一組簡化的假設條件下,描述一個實體活動的最本質的屬性。第29頁,共40頁,2024年2月25日,星期天抽象性:突出重點方面,忽略無關緊要的細節??衫斫庑裕阂子谑褂谜呃斫饽P退磉_的系統(建模的目標對象)。精確性:應該準確地表達系統。確定性:能正確地推導出與系統有關的各種結論。廉價性:對于構造和研究而言,比直接使用系統本身更加便宜。模型應具有的特征第30頁,共40頁,2024年2月25日,星期天模型是對系統的一種抽象。抽象是人們處理復雜事務的一種基本手段之一。抽象有助于了解系統的本質。在構造一個復雜的系統時,必須從不同的角度來抽象系統,使用準確的符號,用模型來表示這種抽象。然后檢查這些模型是否符合系統的需求,并逐步添加細節,從而將這些模型轉化為實現方案。為何要建立模型第31頁,共40頁,2024年2月25日,星期天模型是對現實的簡化,建模是為了更好地理解系統。建模的使用是軟件成功的一個基本因素.常見的模型展示相關:建筑物模型、沙盤、公司總部的3D復制品…數據分析相關:條形圖、餅狀圖…業務分析相關:組織結構圖、跨職能流程圖……設計相關:建筑平面圖、管線圖、電路板設計圖建模的意義第32頁,共40頁,2024年2月25日,星期天模型的實質
模型是對現實的簡化第33頁,共40頁,2024年2月25日,星期天模型的實質
模型是對現實的簡化第34頁,共40頁,2024年2月25日,星期天通過建模,要實現以下4個目標:(1)便于開發人員展現系統。
——可視化visualization(2)允許開發人員指定系統的結構或行為。
——詳述specification(3)提供指導開發人員構造系統的模板。
——構造construction(4)記錄開發人員的決策。
——文檔化documentation建模的目標第35頁,共40頁,2024年2月25日,星期天具體到軟件所涉及的人員,包括用戶、軟件開發團隊、軟件的維護和技術支持者,系統建模有不同的作用。見書P16.軟件建模的作用第36頁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 什么的淚水中考語文作文
- 電氣機械維修手冊與指南考核試卷
- 水電工程施工現場安全事故案例分析考核試卷
- 6-5 PLA和PAL電子課件教學版
- 玻璃纖維的制備工藝考核試卷
- 旅行初二語文作文
- 新材料在D打印領域的應用考核試卷
- 球類生產過程中的實時監控技術考核試卷
- 景區旅游市場開發與拓展策略考核試卷
- 生態保護工程生態保護與生態工程長期效益評估考核試卷
- 如何建立與客戶的信任關系
- 《建筑工程概算》課件
- 年產16萬噸赤蘚糖醇項目建議書
- ST語言編程手冊
- 基層綜合治理法律培訓課件
- 中醫婦科醫生行業現狀分析
- 三軸攪拌樁驗收要求
- 必殺04 第七單元 我們鄰近的地區和國家(綜合題20題)(解析版)
- 高大支架坍塌事故原因分析及預防措施
- 跨境數據傳輸與安全保護
- 企業安全檢查表(全套)
評論
0/150
提交評論