UML01-OOA概念優(yōu)秀公開課課件_第1頁
UML01-OOA概念優(yōu)秀公開課課件_第2頁
UML01-OOA概念優(yōu)秀公開課課件_第3頁
UML01-OOA概念優(yōu)秀公開課課件_第4頁
UML01-OOA概念優(yōu)秀公開課課件_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

對象、UML和Java統(tǒng)一建模語言(UnifiedModelingLanguage)課程要點課程目標(biāo):介紹面向?qū)ο螅∣O)軟件開發(fā)介紹如何應(yīng)用UML進行OOAD面向?qū)ο筌浖_發(fā)包括了分析問題、設(shè)計解決方案、編碼實現(xiàn)及維護將思維從僅僅讓程序運行轉(zhuǎn)變到面向?qū)ο蟮厮伎嘉覀冃枰环N用于OOAD的語言,這既是一種思考的工具,也是一種溝通的形式。因此,我們將在OOAD中應(yīng)用UML分析(analysis)-對問題和需求的調(diào)查研究設(shè)計(design)-滿足需求的概念上的解決方案面向?qū)ο蠓治觯╫bject-orientedanalysis)-在問題域內(nèi)發(fā)現(xiàn)和描述對象面向?qū)ο笤O(shè)計(object-orienteddesign)-如何定義軟件對象以及它們之間如何協(xié)作以實現(xiàn)需求1.1面向?qū)ο蠹夹g(shù)核心是對象什么是對象?哪些可以認(rèn)為是對象?為什么需要使用對象?1.3面向?qū)ο笤O(shè)計和UML在UML之前,有OMT、Booch等方法試圖將各種方法中使用的概念進行統(tǒng)一(無原作者參與失?。?4年Rational軟件公司合并兩種概念,設(shè)計了統(tǒng)一建模語言UML統(tǒng)一的內(nèi)涵:對于開發(fā)的要求具有無縫性(軟件開發(fā)生命期)適用于各種應(yīng)用領(lǐng)域的建模,包括大型、復(fù)雜、實時、分布式、集中式或計算的、嵌入式的系統(tǒng)可應(yīng)用于運行不同的編程實現(xiàn)語言和開發(fā)平臺不是對開發(fā)過程細(xì)節(jié)進行描述的工具在構(gòu)建UML模型的過程中,特別注意揭示和表達各種概念之間的內(nèi)在聯(lián)系并試圖用多種適用于已知和未知情況的辦法去把握建模中的概念1.3面向?qū)ο笤O(shè)計和UMLUML的目標(biāo):使其成為一個通用的建模語言,可供所有建模者使用使其能很好地支持設(shè)計工作,如封裝、分塊、記錄模型構(gòu)造思路使其能準(zhǔn)確表達當(dāng)前軟件開發(fā)中的熱點問題,比如大規(guī)模、分布、并發(fā)、方式和團體開發(fā)等最終目標(biāo)是盡可能簡單的同時能夠?qū)嶋H需要簡歷的系統(tǒng)的各個方面建模附錄4:建議閱讀參考書《UMLDistilled》UML精化《ApplyingUMLandPatterns》UML與模式應(yīng)用《TheUnifiedModelingLanguageUserGuide》UML用戶指南《TheUnifiedModelingLanguageReferenceManual》UML參考手冊《DesignPatterns:ElementsofReuseableObject-OrientedSoftware》設(shè)計模式–可復(fù)用面向?qū)ο筌浖幕A(chǔ)《AgileSoftwareDevelopment-Principles,Patterns,andPractices》敏捷軟件開發(fā)–原則、模式與實踐《AnalysisPatterns:ReusableObjectModels》分析模式–可復(fù)用對象模型2.1基本概念對象(Object)對象是封裝了狀態(tài)和行為的統(tǒng)一體狀態(tài)主要表現(xiàn)為屬性和關(guān)聯(lián)行為主要表現(xiàn)為操作,方法和狀態(tài)機實例MS12醫(yī)療器械專用溫度傳感器皮膚傳感器,生命監(jiān)護儀培養(yǎng)箱,透析設(shè)備呼吸器等醫(yī)療器械結(jié)論幾乎所有的東西都可以在軟件中通過建模成為對象從對象的職責(zé)角度來思考對象比從它的屬性角度思考更有用例子:對象具有狀態(tài):一個對象的狀態(tài)是這個對象可以存在的一個可能的環(huán)境一個對象的狀態(tài)通常會發(fā)生多次改變每個對象都有自己的標(biāo)識每個對象有唯一的標(biāo)識,即使它和另外一個對象具有完全一致的狀態(tài)2.1基本概念類(Class)類是一組對象的描述,這一組對象有共同的屬性和行為類的定義描述了所有對象的屬性,也描述了實現(xiàn)該類對象的行為的類的方法結(jié)論類的描述包括對類的單個對象的狀態(tài)進行訪問和改變的方式堅持以對象的觀點思考2.2面向?qū)ο笙到y(tǒng)面向?qū)ο筌浖到y(tǒng)具備6大特性:利用對象進行抽象抽象使得復(fù)雜的、真實世界的情況可以通過簡單的模型表示如:對顏色的一種抽象是RGB模型結(jié)論:什么是抽象?定義一個觀點的邊界區(qū)別于其它實體最本質(zhì)的特征2.2面向?qū)ο笙到y(tǒng)封裝的類將抽象出來的狀態(tài)和行為結(jié)合在一個封裝的整體里如:Java中通過類定義里面定義屬性和方法,強制封裝結(jié)論:什么是封裝?向調(diào)用者隱藏了實現(xiàn),調(diào)用者依賴接口2.2面向?qū)ο笙到y(tǒng)通過消息進行通信同一類的不同對象、不同類的對象之間需要通過發(fā)送消息給其它對象,傳遞消息或請求動作,互操作得到處理2.2面向?qū)ο笙到y(tǒng)對象生命周期對象在需要時被創(chuàng)建并初始化,繼而執(zhí)行功能,最后被銷毀2.2面向?qū)ο笙到y(tǒng)多態(tài)性特殊類實現(xiàn)與通用類有差別的行為,但是行為的名字相同結(jié)論:什么是多態(tài)?使用同一接口隱藏不同的實現(xiàn)例子:多態(tài)2.3UML類表示法類的UML表示法是由三個水平部分組成的矩形。頂端部分用來填寫類的名字,中間部分用來填寫屬性,底端部分用來填寫類的操作(方法)2.3UML類表示法繼承的表示方法是一個有三角形箭頭的連線,箭頭指向更為通用的類(超類)2.3UML類表示法聚合的表示方法是一個有空心菱形的連線,菱形指向整體類1計算機主機顯示器鍵盤鼠標(biāo)一個空心菱形連接到聚集體(整體)一側(cè)的關(guān)聯(lián)路徑端實例實例說明Book和Person是兩個通用的超類Book由Page組成,組合關(guān)系表明書可以從一頁到任意頁LibraryBook類從Book類派生,可能有一些特殊屬性Reader是Person類的特殊情況,是要使用Library的PersonBorrowing類用于實現(xiàn)讀者和圖書館的書之間的borrowing關(guān)聯(lián),虛線表示一個簡單的LibraryBook類和Reader類之間的雙向連結(jié),用類實現(xiàn)關(guān)聯(lián)表示兩者之間的連結(jié)通過Borrowing類來管理最后一個LibraryBook對象是一個Book對象,一個Reader對象是一個Person對象,能通過繼承的“是測試”2

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論