版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
面向對象概述姓名:李麗萍博士,副教授,美國內(nèi)布拉加斯州大學奧馬哈分校訪問學者研究方向:軟件工程,軟件測試Tel:50214252E-mail:liliping@教師簡介第2頁,共40頁,2024年2月25日,星期天教師講課與學生練習相輔相成授課方式考核方式理論考試+平時成績+課程練習第3頁,共40頁,2024年2月25日,星期天ApplyingUMLandPatterns-AnIntroductiontoObject-OrientedAnalysisandDesignUML和模式應用-面向對象分析與設計導論THEBESTObjectOrientatedAnalysisandDesigntutorialbook(A)在OOA/D、迭代式開發(fā)和UML方面是全球最暢銷的書籍之一,已被翻譯成多種語言并在業(yè)界和院校中被廣泛使用參考文獻第4頁,共40頁,2024年2月25日,星期天參考文獻第5頁,共40頁,2024年2月25日,星期天ReferencesCraigLarman“PeopleoftenaskmewhichisthebestbooktointroducethemtotheworldofOOdesign.EversinceIcameacrossit,ApplyingUMLandPatternshasbeenmyunreservedchoice.”--MartinFlower,author,UMLDistilledandRefactoring第6頁,共40頁,2024年2月25日,星期天軟件方法-業(yè)務建模和需求潘加宇著TheUnifiedModelingLanguageUserGuide(UML用戶指南)TheUnifiedModelingLanguageReferenceManual(UML參考手冊)GradyBoochJamesRumbaughIvarJacobson參考文獻第7頁,共40頁,2024年2月25日,星期天WebResources/software/rational//uml/////網(wǎng)絡資源第8頁,共40頁,2024年2月25日,星期天目標:能夠較熟練地使用UML表達設計思想運用面向對象設計的一般原則進行應用系統(tǒng)的分析和設計掌握RationalRose環(huán)境與使用、UML圖的畫法課程內(nèi)容第9頁,共40頁,2024年2月25日,星期天
是軟件工程方向的重要內(nèi)容之一;是軟件工程方向學生必須掌握的基本技能之一。課程地位第10頁,共40頁,2024年2月25日,星期天
第1章面向對象概述第11頁,共40頁,2024年2月25日,星期天1.什么叫面向對象面向對象技術是一種以對象為基礎,以事件或消息來驅動對象執(zhí)行處理的程序設計技術。從程序設計方法上來講,它是一種自下而上的程序設計方法,它不像面向過程程序設計那樣一開始就需要使用一個主函數(shù)來概括出整個程序,面向對象程序設計往往從問題的一部分著手,一點一點地構建出整個程序。
1.1面向對象基本概念第12頁,共40頁,2024年2月25日,星期天2.對象對象(object)是面向對象(Object-Oriented,OO)系統(tǒng)的基本構造塊,是一些相關的變量和方法的軟件集。對象是現(xiàn)實世界中某個具體的物理實體或概念在計算機邏輯中的映射和體現(xiàn)。物理對象:某種可被人感知的事物。如:學生、書籍等;概念性對象。如:國家、民族對象具有屬性(靜態(tài)特征)和操作(動態(tài)特征) 例如:汽車都有一些共同的屬性:品牌、型號和載重等。它們都有一些共同的行為:加速、減速、載客和運貨。面向對象基本概念第13頁,共40頁,2024年2月25日,星期天3.類類(Class)是具有相同屬性和操作的一組對象的組合,也就是說,抽象模型中的“類”描述了一組相似對象的共同特征,為屬于該類的全部對象提供了統(tǒng)一的抽象描述。例如名為“學生”的類被用于描述為“學生管理系統(tǒng)”中的學生對象。類的定義要包含以下的要素第一,定義該類對象的數(shù)據(jù)結構(屬性的名稱和類型)第二,定義對象所要執(zhí)行的操作。面向對象基本概念第14頁,共40頁,2024年2月25日,星期天4.消息與事件所謂消息(Message)是指描述事件發(fā)生的信息,是對象間相互聯(lián)系和相互作用的方式。一個消息主要由5部分組成:消息的發(fā)送對象、消息的接收對象、消息傳遞方式、消息內(nèi)容(參數(shù))、消息的返回。所謂事件通常是指一種由系統(tǒng)預先定義而由用戶或系統(tǒng)發(fā)出的動作。事件作用于對象,對象識別事件并作出相應反應。對象通過對外提供的方法在系統(tǒng)中發(fā)揮自己的作用,當系統(tǒng)中的其它對象請求這個對象執(zhí)行某個方法時,就向該對象發(fā)送一個消息,對象響應這個請求,完成指定的操作。程序的執(zhí)行取決于事件發(fā)生的順序,由順序產(chǎn)生的消息來驅動程序的執(zhí)行。面向對象基本概念第15頁,共40頁,2024年2月25日,星期天1.抽象(P6)將需要的事物進行簡化;將事物特征進行概括;將抽象模型組織為層次結構;使軟件重用得以保證。1.2面向對象的基本特征第16頁,共40頁,2024年2月25日,星期天2.封裝封裝(Encapsulation)是把對象的狀態(tài)和行為綁到一起的機制,把對象形成一個獨立的整體,并且盡可能的隱藏對象的內(nèi)部細節(jié)。封裝有兩個含義:一是把對象的全部狀態(tài)和行為結合一起,形成一個不可分割的整體。對象的私有屬性只能夠由對象的行為來修改和讀取。二是盡可能隱蔽對象的內(nèi)部細節(jié),與外界的聯(lián)系只能夠通過外部接口來實現(xiàn)。封裝的信息屏蔽作用反映了事物的相對獨立性,我們可以只關心它對外所提供的接口,即能夠提供什么樣的服務,而不用去關注其內(nèi)部的細節(jié)問題。比如說使用手機,我們關注的通常是這個手機能實現(xiàn)什么功能,而不太會去關心這個手機的是怎么一步步制造出來的。1.2面向對象的基本特征第17頁,共40頁,2024年2月25日,星期天3.繼承繼承(Inheritance)是一種連接類與類的之間的層次模型。繼承是指特殊類的對象擁有其一般類的屬性和行為。繼承意味著“自動地擁有”,即在特殊類中不必重新對已經(jīng)在一般類中所定義過的屬性和行為進行定義,而是特殊類自動地、隱含地擁有其一般類的屬性和行為。繼承對類的重用性,提供了一種明確表述共性的方法。即一個特殊類既有自己定義的屬性和行為,又有繼承下來的屬性和行為。面向對象的的基本特征第18頁,共40頁,2024年2月25日,星期天4.多態(tài)多態(tài)性(Polymorphism)是指在兩個或多個屬于不同類中同一函數(shù)名對應多個具有相似功能的不同函數(shù),可以使用相同的調(diào)用方式來調(diào)用這些具有不同功能的同名函數(shù)。面向對象的的基本特征第19頁,共40頁,2024年2月25日,星期天多態(tài)性分為兩種:編譯時的多態(tài)性:通過方法重載來實現(xiàn)。運行時的多態(tài)性:通過方法覆蓋來實現(xiàn)。多態(tài)性的實現(xiàn)方式:通過接口實現(xiàn)多態(tài)性通過繼承實現(xiàn)多態(tài)性通過抽象類實現(xiàn)的多態(tài)性多態(tài)第20頁,共40頁,2024年2月25日,星期天多態(tài)第21頁,共40頁,2024年2月25日,星期天1.3面向對象的開發(fā)方法的一般過程
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設計、實現(xiàn)及測試。面向對象分析面向對象設計實現(xiàn)測試圖1.3OO方法的步驟第22頁,共40頁,2024年2月25日,星期天
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設計、實現(xiàn)及測試。獲取需求,建立需求模型。分析的典型活動:
1、獲取領域(問題域)知識;
2、定義系統(tǒng)功能(用例圖);
3、確定合適的類;
4、建立類的靜態(tài)模型(類圖);
5、描述對象的動態(tài)行為(狀態(tài)圖、協(xié)作圖、時序圖、活動圖);
6、驗證(專家對模型作靜態(tài)驗證);
7、給出基本的用戶界面原型(整體結構的原型:主窗口的內(nèi)容、窗口之間的導航等)。面向對象分析面向對象設計實現(xiàn)測試1.3面向對象的開發(fā)方法的一般過程第23頁,共40頁,2024年2月25日,星期天
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設計、實現(xiàn)及測試。
設計是分析結果在技術上的擴充和修改,重點是如何實現(xiàn)該系統(tǒng)。設計中的典型活動:1、將分析所得的類劃分為功能包,并從技術層面(用戶界面、數(shù)據(jù)庫處理、通信等)增加新包,建立包之間的通信聯(lián)系。2、標識并發(fā)需求并建模。3、指出系統(tǒng)輸出的詳細格式:如用戶界面,報告,向其它系統(tǒng)發(fā)送的事務等。4、數(shù)據(jù)管理(建立類與表單的對應關系,對數(shù)據(jù)庫的訪問機制)。5、異常處理6、分配類和構件(構件圖、配置圖)。還應用偽代碼或者文字給出類的規(guī)約。面向對象分析面向對象設計實現(xiàn)測試1.3面向對象的開發(fā)方法的一般過程第24頁,共40頁,2024年2月25日,星期天面向對象設計準則面向對象設計的準則包括模塊化、抽象、信息隱藏、低耦合和高內(nèi)聚等特征,見書P13。系統(tǒng)設計一般是先從高層入手,然后細化。系統(tǒng)設計要決定整個結構及風格,這種結構為后面設計階段的更詳細策略的設計提供了基礎。
1.3面向對象的開發(fā)方法的一般過程第25頁,共40頁,2024年2月25日,星期天1.3面向對象的開發(fā)方法的一般過程
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設計、實現(xiàn)及測試。實現(xiàn)活動實際上就是編寫程序代碼,包括反復的編譯、連結、排錯等。并應遵循傳統(tǒng)的編程準則。
面向對象分析面向對象設計實現(xiàn)測試第26頁,共40頁,2024年2月25日,星期天
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設計、實現(xiàn)及測試。測試的目的是發(fā)現(xiàn)代碼中的錯誤,測試的關鍵是確定高效的測試用例。測試的主要步驟有:1、面向對象的單元測試測試單元為封裝的類和對象,但不能孤立地測試單個操作,應把操作作為類的一部分來測試。2、面向對象的集成測試
3、面向對象的確認測試類似傳統(tǒng)的確認測試和系統(tǒng)測試,根據(jù)動態(tài)模型和描述系統(tǒng)行為的腳本來設計測試用例,可用黑盒法。1.3面向對象的開發(fā)方法的一般過程面向對象分析面向對象設計實現(xiàn)測試第27頁,共40頁,2024年2月25日,星期天什么是模型模型應具有的特征為何要建立模型建模的意義1.4面向對象建模第28頁,共40頁,2024年2月25日,星期天什么是模型如果把現(xiàn)實世界中的某些事物看作是一種現(xiàn)實原型,那么模型就算對這種現(xiàn)實原型的一種抽象和模擬,以反映事物的本質(zhì)特征。模型既反映原型,又不等于原型。模型是實際系統(tǒng)或過程的代表或描述,它是實際系統(tǒng)的一部分屬性的抽象和模仿,而不是全部屬性的復制。模型的實質(zhì)是在一組簡化的假設條件下,描述一個實體活動的最本質(zhì)的屬性。第29頁,共40頁,2024年2月25日,星期天抽象性:突出重點方面,忽略無關緊要的細節(jié)。可理解性:易于使用者理解模型所表達的系統(tǒng)(建模的目標對象)。精確性:應該準確地表達系統(tǒng)。確定性:能正確地推導出與系統(tǒng)有關的各種結論。廉價性:對于構造和研究而言,比直接使用系統(tǒng)本身更加便宜。模型應具有的特征第30頁,共40頁,2024年2月25日,星期天模型是對系統(tǒng)的一種抽象。抽象是人們處理復雜事務的一種基本手段之一。抽象有助于了解系統(tǒng)的本質(zhì)。在構造一個復雜的系統(tǒng)時,必須從不同的角度來抽象系統(tǒng),使用準確的符號,用模型來表示這種抽象。然后檢查這些模型是否符合系統(tǒng)的需求,并逐步添加細節(jié),從而將這些模型轉化為實現(xiàn)方案。為何要建立模型第31頁,共40頁,2024年2月25日,星期天模型是對現(xiàn)實的簡化,建模是為了更好地理解系統(tǒng)。建模的使用是軟件成功的一個基本因素.常見的模型展示相關:建筑物模型、沙盤、公司總部的3D復制品…數(shù)據(jù)分析相關:條形圖、餅狀圖…業(yè)務分析相關:組織結構圖、跨職能流程圖……設計相關:建筑平面圖、管線圖、電路板設計圖建模的意義第32頁,共40頁,2024年2月25日,星期天模型的實質(zhì)
模型是對現(xiàn)實的簡化第33頁,共40頁,2024年2月25日,星期天模型的實質(zhì)
模型是對現(xiàn)實的簡化第34頁,共40頁,2024年2月25日,星期天通過建模,要實現(xiàn)以下4個目標:(1)便于開發(fā)人員展現(xiàn)系統(tǒng)。
——可視化visualization(2)允許開發(fā)人員指定系統(tǒng)的結構或行為。
——詳述specification(3)提供指導開發(fā)人員構造系統(tǒng)的模板。
——構造construction(4)記錄開發(fā)人員的決策。
——文檔化documentation建模的目標第35頁,共40頁,2024年2月25日,星期天具體到軟件所涉及的人員,包括用戶、軟件開發(fā)團隊、軟件的維護和技術支持者,系統(tǒng)建模有不同的作用。見書P16.軟件建模的作用第36頁
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版農(nóng)田水利滴灌系統(tǒng)承包合同
- 2024茶葉原料出口貿(mào)易合同
- 2025年度知識產(chǎn)權專利池運營管理合同3篇
- 2024特色文化創(chuàng)意產(chǎn)品設計與生產(chǎn)合同
- 2024綠化水車租賃與生態(tài)旅游項目配套合同3篇
- 2025年度彩鋼棚抗腐蝕涂料噴涂服務合同3篇
- 2025年度生產(chǎn)線承包與智能化生產(chǎn)數(shù)據(jù)分析合同3篇
- 2024年度氨水集中采購(安徽)3篇
- 2025年度海洋資源開發(fā)與利用技術合作協(xié)議3篇
- 2024版汽車融資租賃協(xié)議版
- 學生(幼兒)上學放學交通方式情況登記表
- 提高感染性休克集束化治療達標率
- 2023年湖北省武漢市高考數(shù)學一模試卷及答案解析
- 電動自行車換電柜規(guī)劃方案
- 工程變更、工程量簽證、結算以及零星項目預算程序實施細則(試行)
- 中央廣播電視大學畢業(yè)生登記表-8
- 2023年人民日報社校園招聘72人筆試參考題庫(共500題)答案詳解版
- 《焊接常用工具》課件
- 山東師范大學《古代文學專題(一)》期末復習題
- 員工內(nèi)部崗位調(diào)換申請表
- 選礦廠建設工程施工組織設計
評論
0/150
提交評論