




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、UMLUML面向對象建模與設計面向對象建模與設計 主講:王仁春主講:王仁春UMLUML面向對象建模與設計面向對象建模與設計 本課程內容安排:1、面向對象概念與UML介紹:2、類建模與類圖介紹:3、用例與用例圖介紹:4、順序圖介紹:5、狀態圖介紹:6、活動圖:7、協作圖與構建圖與部署圖介紹:8、UML在軟件開發實例中的具體應用。第第01講講面向對象概念與UML介紹本講目標: 1、面向對象的分析和設計、面向對象的分析和設計 (OOAD) 2、面向對象的基本概念。、面向對象的基本概念。 3、模型與建模、模型與建模 4、UML的基本概念。的基本概念。 5、UML的組成。的組成。 6、一個、一個UML案
2、例。案例。1、面向對象的分析和設計 (OOAD)1.1、面向對象程序設計的引入: 隨著信息技術的發展,軟件復雜性的增長隨著信息技術的發展,軟件復雜性的增長 使軟件開發越來越困難使軟件開發越來越困難應用軟件網絡操作系統軟件可能是人類制造出來的最復雜的實體軟件可能是人類制造出來的最復雜的實體1.2、面向對象的分析和設計 (OOAD) 面向對象的方法按照人類的自然思維的方式,面對客觀面向對象的方法按照人類的自然思維的方式,面對客觀世界建立軟件模型。世界建立軟件模型。 充分體現了對復雜系統進行分解、抽象、模塊化等思想充分體現了對復雜系統進行分解、抽象、模塊化等思想 OOAOOA依照用戶所理解的真實世界
3、中的對象概念,發現和分依照用戶所理解的真實世界中的對象概念,發現和分析對象的內部構成和外部關系,建立準確而簡潔的軟件析對象的內部構成和外部關系,建立準確而簡潔的軟件系統的對象模型。系統的對象模型。 OOD OOD 是根據已建立的系統對象模型,運用面向對象技術,是根據已建立的系統對象模型,運用面向對象技術,進行軟件設計。進行軟件設計。 2、面向對象的基本概念。面向對象的基本概念 類與對象類與對象 抽象抽象 封裝封裝 繼承繼承 多態多態2.1 類和對象的概念多邊形對象多邊形對象多邊形類多邊形類屬性屬性頂點邊的顏色填充顏色方法方法繪制擦除移動抽象為屬性 1方法 1屬性 3方法 22.2類和對象的關系
4、:抽象 考察特定應用程序相關問題的某些方面的過程考察特定應用程序相關問題的某些方面的過程2.3類的特性:封裝 信息隱藏的過程信息隱藏的過程 有選擇的數據隱藏有選擇的數據隱藏 防止意外的數據破壞防止意外的數據破壞 更易于隔離和修復錯誤更易于隔離和修復錯誤類的特性:封裝 封裝是允許有選擇地隱藏類中的屬性和方法的過程封裝是允許有選擇地隱藏類中的屬性和方法的過程在類的外部不能訪問在類的外部可以訪問私有公有類2.4類的特性:繼承 超類是有其他類繼承其特征和行為的類超類是有其他類繼承其特征和行為的類 繼承其他類的類稱為子類繼承其他類的類稱為子類動物動物2.5類的特性:多態性 同樣的函數在不同的類上有不同的
5、行為同樣的函數在不同的類上有不同的行為類:類:形狀方法:方法:繪制移動 初始化子類子類對各個子類實現的方法 將產生不同的結果2.6 類的其他知識 接口:接口是一個收集方法和常數表單的契約。當類執行一個接口,它就許諾聲明在那個接口中執行所有的方法。 在不同類中實現取用相同參數的同名成員函數 契約,設計的靈魂 重載在同一類中實現取用不同參數的同名成員函數 消息對象之間的交互包含三個方面的內容:消息的接收者;接收對象應采用的方法;方法所需要的參數3、模型與建模3.1什么是模型 模型是現實的簡化模型是現實的簡化模型提供了系統的設計圖。模型可以包含詳細的規劃,也可以包含概括性的規劃,這種規劃高度概括了正
6、在考慮的系統。好的模型包括那些具有高度抽象性的元素。 模型有助于按原樣或根據需要使系統可視化 通過模型可以詳細說明系統的結構或行為 模型可以提供一個指導我們構建系統的模板 模型可以記錄已經做出的決策3.2、為什么要建模 建模是為了讓我們更好地理解將要開發的系統。建模是為了讓我們更好地理解將要開發的系統。User Interface(Visual Basic,Java)Business Logic(C+, Java)Database Server(C+ & SQL)3.3、建模要實現的目的 模型有助于按原樣或根據需要使系統可視化。模型有助于按原樣或根據需要使系統可視化。 通過模型可以詳細
7、說明系統的結構或行為。通過模型可以詳細說明系統的結構或行為。 模型可以提供一個指導我們構建系統的模板。模型可以提供一個指導我們構建系統的模板。 模型可以記錄已經做出的決策。模型可以記錄已經做出的決策。3.4、建模的原則 選擇創建什么模型對于如何處理問題以及如何形成解決方選擇創建什么模型對于如何處理問題以及如何形成解決方案有很深遠的影響。案有很深遠的影響。 每一種模型可以在不同的精度級別上表示。每一種模型可以在不同的精度級別上表示。 最佳模型與現實情況是緊密相連的。最佳模型與現實情況是緊密相連的。 一個模型不足以全面地反映實際情況。每個具有一定規模一個模型不足以全面地反映實際情況。每個具有一定規
8、模的系統都是通過一組幾乎獨立的模型來表示的。的系統都是通過一組幾乎獨立的模型來表示的。 4、UML的基本概念。4.1UML 簡介 統一建模語言UML(Unified Modeling Language)是一種繪制軟件藍圖的標準語言。 可以用UML對軟件密集型系統進行可視化、詳述、構造和文檔化。 從企業信息系統到基于Web的分布式應用,甚至嚴格的實時嵌入式系統都適合于用UML來建模。 它是一種富有表達力的語言,可以描述開發所需要的各種視圖,然后以此為基礎開發系統基礎開發系統。 4.2UML的語義與語法: 1.UML語義描述基于描述基于UML的精確元模型定義。元模型為的精確元模型定義。元模型為UM
9、L的所有元素在語法和語義上提供了簡單、一致、通用的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發者能在語義上取得一致,消除了因的定義性說明,使開發者能在語義上取得一致,消除了因人而異的最佳表達方法所造成的影響。此外人而異的最佳表達方法所造成的影響。此外UML還支持對還支持對元模型的擴展定義。元模型的擴展定義。 2 UML表示法定義定義UML符號的表示法,為開發者或開符號的表示法,為開發者或開發工具使用這些圖形符號和文本語法為系統建模提供了標發工具使用這些圖形符號和文本語法為系統建模提供了標準。這些圖形符號和文字所表達的是應用級的模型,在語準。這些圖形符號和文字所表達的是應用級
10、的模型,在語義上它是義上它是UML元模型的實例元模型的實例 4.3在不同系統中的應用信息系統信息系統: : 與數據庫有關的系統與數據庫有關的系統技術系統:處理和控制技術設備技術系統:處理和控制技術設備嵌入式系統:控制像移動電話這樣的設備以嵌入式系統:控制像移動電話這樣的設備以及家用設備及家用設備分布式系統:使用分布式系統:使用 CORBA CORBA 和類似的面向對和類似的面向對象機制分布在不同系統上的象機制分布在不同系統上的數據庫系統數據庫系統系統軟件:操作系統和編寫系統實用程序系統軟件:操作系統和編寫系統實用程序業務系統:與工作流有關的系統業務系統:與工作流有關的系統5、UML的組成。5.
11、UML的組成 標準建模語言UML的重要內容可以由下列五類圖(共9種圖形)來定義:類圖:類圖類圖描述系統中類的靜態結構。描述系統中類的靜態結構。不僅定義系統中的類,表示不僅定義系統中的類,表示類之間的聯系如關聯、依賴、聚合等,也包括類的內部類之間的聯系如關聯、依賴、聚合等,也包括類的內部結構結構(類的屬性和操作類的屬性和操作)。類圖描述的是一種靜態關系,在。類圖描述的是一種靜態關系,在系統的整個生命周期都是有效的。系統的整個生命周期都是有效的。 以洗衣機為例:類圖如右下:以洗衣機為例:類圖如右下:對象圖:對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。他們的不是類圖的實例,幾乎使用與類圖完全相
12、同的標識。他們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系圖是類圖的一個實例。由于對象存在生命周期,因此對象圖只能在系統某一時間段存在。統某一時間段存在。 如下面:左圖指明對象和它對應的類名;右圖盡管指明了對象所屬類,如下面:左圖指明對象和它對應的類名;右圖盡管指明了對象所屬類,但并未提供一個具體的對象名,這是匿名對象。但并未提供一個具體的對象名,這是匿名對象。用例圖 用例圖:是從用戶角度描述系統功能,并指出各功能的操用例圖:是從用戶角度描述系統功能,并指
13、出各功能的操作者作者 。 以洗衣機系統如下:以洗衣機系統如下:狀態圖 狀態圖狀態圖是對類圖的補充。在實用上并不需要為所有的類畫是對類圖的補充。在實用上并不需要為所有的類畫狀態圖,僅為那些有多個狀態其行為受外界環境的影響并狀態圖,僅為那些有多個狀態其行為受外界環境的影響并且發生改變的類畫狀態圖。如下為一洗衣過程的狀態圖。且發生改變的類畫狀態圖。如下為一洗衣過程的狀態圖。順序圖 順序圖顯示對象之間的動態合作關系,它強調對象之間消順序圖顯示對象之間的動態合作關系,它強調對象之間消息發送的順序,同時顯示對象之間的交互。息發送的順序,同時顯示對象之間的交互?;顒訄D 活動圖活動圖描述滿足用例要求所要進行的
14、活動以及活動間的約描述滿足用例要求所要進行的活動以及活動間的約束關系,有利于識別并行活動束關系,有利于識別并行活動協作圖 協作圖描述對象間的協作關系,協作圖跟順序圖相似,顯協作圖描述對象間的協作關系,協作圖跟順序圖相似,顯示對象間的動態合作關系。除顯示信息交換外,協作圖還示對象間的動態合作關系。除顯示信息交換外,協作圖還顯示對象以及它們之間的關系。顯示對象以及它們之間的關系。構件圖 構件圖描述代碼部件的物理結構及各部件之間的依賴關系。構件圖描述代碼部件的物理結構及各部件之間的依賴關系。一個部件可能是一個資源代碼部件、一個二進制部件或一一個部件可能是一個資源代碼部件、一個二進制部件或一個可執行部
15、件。它包含邏輯類或實現類的有關信息。部件個可執行部件。它包含邏輯類或實現類的有關信息。部件圖有助于分析和理解部件之間的相互影響程度。圖有助于分析和理解部件之間的相互影響程度。部署圖 配置圖定義系統中軟硬件的物理體系結構。它可以顯示實配置圖定義系統中軟硬件的物理體系結構。它可以顯示實際的計算機和設備際的計算機和設備(用節點表示用節點表示)以及它們之間的連接關系,以及它們之間的連接關系,也可顯示連接的類型及部件之間的依賴性。在節點內部,也可顯示連接的類型及部件之間的依賴性。在節點內部,放置可執行部件和對象以顯示節點跟可執行軟件單元的對放置可執行部件和對象以顯示節點跟可執行軟件單元的對應關系。下面為
16、不同品牌計算機的通信部署圖:應關系。下面為不同品牌計算機的通信部署圖:UML中幾個圖的關系用例圖需求類圖(復雜)狀態圖順序圖類圖(簡單)活動圖協作圖UML應用領域 最常用的是為軟件系統建模,但不限于軟件系統建模。UML還可用來描述其他非軟件系統,如一個機構的組成或機構中的工作流程等。UML應用-需求分析階段 UML 的用例視圖可以表示客戶的需求,通過用例建??梢詫ν獠康慕巧约八鼈兯枰南到y功能建模。UML應用-分析階段 分析階段主要考慮所要解決的問題??捎肬ML 的邏輯視圖和動態視圖來描述,類圖描述系統的靜態結構;協作圖、狀態圖、順序圖和活動圖描述系統的動態特征。 在分析階段,只為問題領域
17、的類建模,不定義軟件系統的解決方案的細節(如用戶接口的類數據庫等)。UML應用-設計階段 在設計階段把分析階段的結果擴展成技術解決方案,加入新的類來提供技術基礎結構-用戶接口,數據庫操作等。 分析階段的領域問題類被嵌入在這個技術基礎結構中,設計階段的結果是構造階段的詳細的規格說明。UML應用-構造階段 在構造(或程序設計)階段把設計階段的類轉換成某種面向對象程序設計語言的代碼。UML應用-測試階段 對系統的測試通常分為單元測試、集成測試、系統測試和接受測試幾個不同級別。 不同的測試小組使用不同的UML 圖作為他們工作的基礎。單元測試使用類圖和類的規格說明;集成測試典型地使用組件圖和協作圖;而系
18、統測試實現用例圖來確認系統的行為是否符合這些圖中的定義。UML應用-構造階段 在構造(或程序設計)階段把設計階段的類轉換成某種面向對象程序設計語言的代碼。6、一個UML案例 順序圖案例 劉備孔明關羽求戰請擬策略張飛請防守荊州請防守荊州前線孫權曹操請聯絡孫權請孫權領兵相助借東風火攻火攻曹軍劉備的責任? 劉備求戰請擬策略請防守荊州請聯絡孫權我必須 迎戰曹操!使用UML表示 孔明請擬策略請聯絡孫權請孫權領兵相助借東風火攻火攻曹軍孔明擬定策略聯合孫權借東風火攻使用UML表示 關羽張飛請防守荊州請防守荊州前線關羽防守荊州張飛防守荊州前線 關羽防守荊州張飛防守荊州前線劉備迎戰曹操孔明擬定策略聯合孫權借東風火攻UML的類圖 使用C# 劉備迎戰曹操寫C#程序class 劉備public 迎戰曹操() 孔明擬定策略聯合孫權借東風火攻寫C#程序class 孔明public 擬定策略() public 聯合孫權(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 8498-2025土方機械基本類型識別與術語
- 口腔醫學技術專業教學標準(高等職業教育??疲?025修訂
- 2025年中國菠蘿深加工行業市場運行現狀及投資戰略研究報告
- 2.6 營銷問題及平均變化率問題與一元二次方程 教學設計 -2024-2025學年北師大版數學九年級上冊
- 中國MicroLED 行業市場深度調查及發展前景研究預測報告
- 2025年 中式烹調師中級考試練習試題附答案
- 2025-2030年中國恒溫循環器項目投資可行性研究分析報告
- 郟縣君正商貿有限公司新建加油站安全設施施工情況報告-圖文
- 2025年 赤峰市巴林左旗招聘社區工作者考試試題附答案
- 2025年 巴彥淖爾市公安局招聘警務輔助人員筆試試題附答案
- 2024年河南省蘭考縣教育局公開招聘試題含答案分析
- 2025年北京市高考英語試卷真題(含答案解析)
- 招商運營筆試題目及答案
- 湟水河河湟新區段北岸防洪生態綜合治理項目 社會穩定風險評估報告
- JG/T 272-2010預制高強混凝土薄壁鋼管樁
- JG/T 266-2011泡沫混凝土
- 雜屋轉讓合同協議書
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- 模具工廠MES項目技術方案
- 貨梯使用安全培訓
- 船舶建造項目管理-全面剖析
評論
0/150
提交評論