UML面向?qū)ο蠼;A(chǔ)_第1頁
UML面向?qū)ο蠼;A(chǔ)_第2頁
UML面向?qū)ο蠼;A(chǔ)_第3頁
UML面向?qū)ο蠼;A(chǔ)_第4頁
UML面向?qū)ο蠼;A(chǔ)_第5頁
已閱讀5頁,還剩50頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、UML面向?qū)ο蠼;A(chǔ),UML面向?qū)ο蠼?本課程內(nèi)容安排: 1、面向?qū)ο蟾拍钆cUML介紹: 2、類建模與類圖介紹: 3、用例與用例圖介紹: 4、順序圖介紹: 5、狀態(tài)圖介紹: 6、活動圖: 7、協(xié)作圖與構(gòu)建圖與部署圖介紹: 8、UML在軟件開發(fā)實例中的具體應(yīng)用,1、面向?qū)ο蟮姆治龊驮O(shè)計 (OOAD,1.1、面向?qū)ο蟪绦蛟O(shè)計的引入,隨著信息技術(shù)的發(fā)展,軟件復(fù)雜性的增長 使軟件開發(fā)越來越困難 應(yīng)用軟件 網(wǎng)絡(luò) 操作系統(tǒng),軟件可能是人類制造出來的最復(fù)雜的實體,1.2、面向?qū)ο蟮姆治龊驮O(shè)計 (OOAD,面向?qū)ο蟮姆椒ò凑杖祟惖淖匀凰季S的方式,面對客觀世界建立軟件模型。 充分體現(xiàn)了對復(fù)雜系統(tǒng)進行分解、抽

2、象、模塊化等思想,OOA依照用戶所理解的真實世界中的對象概念,發(fā)現(xiàn)和分析對象的內(nèi)部構(gòu)成和外部關(guān)系,建立準確而簡潔的軟件系統(tǒng)的對象模型,OOD 是根據(jù)已建立的系統(tǒng)對象模型,運用面向?qū)ο蠹夹g(shù),進行軟件設(shè)計,2、面向?qū)ο蟮幕靖拍?面向?qū)ο蟮幕靖拍?類與對象 抽象 封裝 繼承 多態(tài),2.1 類和對象的概念,多邊形對象,多邊形類,屬性頂點邊的顏色填充顏色,方法繪制擦除移動,抽象為,2.2類和對象的關(guān)系:抽象,考察特定應(yīng)用程序相關(guān)問題的某些方面的過程,Class,2.3類的特性:封裝,信息隱藏的過程 有選擇的數(shù)據(jù)隱藏 防止意外的數(shù)據(jù)破壞 更易于隔離和修復(fù)錯誤,類的特性:封裝,封裝是允許有選擇地隱藏類中

3、的屬性和方法的過程,2.4類的特性:繼承,超類是有其他類繼承其特征和行為的類 繼承其他類的類稱為子類,2.5類的特性:多態(tài)性,同樣的函數(shù)在不同的類上有不同的行為,類:形狀 方法: 繪制 移動 初始化,子類,對各個子類實現(xiàn)的方法 將產(chǎn)生不同的結(jié)果,2.6 類的其他知識,接口: 接口是一個收集方法和常數(shù)表單的契約。當(dāng)類執(zhí)行一個接口,它就許諾聲明在那個接口中執(zhí)行所有的方法。 在不同類中實現(xiàn)取用相同參數(shù)的同名成員函數(shù) 契約,設(shè)計的靈魂 重載 在同一類中實現(xiàn)取用不同參數(shù)的同名成員函數(shù) 消息 對象之間的交互 包含三個方面的內(nèi)容:消息的接收者;接收對象應(yīng)采用的方法;方法所需要的參數(shù),3、模型與建模,3.1什

4、么是模型,模型是現(xiàn)實的簡化 模型提供了系統(tǒng)的設(shè)計圖。模型可以包含詳細的規(guī)劃,也可以包含概括性的規(guī)劃,這種規(guī)劃高度概括了正在考慮的系統(tǒng)。好的模型包括那些具有高度抽象性的元素。 模型有助于按原樣或根據(jù)需要使系統(tǒng)可視化 通過模型可以詳細說明系統(tǒng)的結(jié)構(gòu)或行為 模型可以提供一個指導(dǎo)我們構(gòu)建系統(tǒng)的模板 模型可以記錄已經(jīng)做出的決策,3.2、為什么要建模,建模是為了讓我們更好地理解將要開發(fā)的系統(tǒng),3.3、建模要實現(xiàn)的目的,模型有助于按原樣或根據(jù)需要使系統(tǒng)可視化。 通過模型可以詳細說明系統(tǒng)的結(jié)構(gòu)或行為。 模型可以提供一個指導(dǎo)我們構(gòu)建系統(tǒng)的模板。 模型可以記錄已經(jīng)做出的決策,3.4、建模的原則,選擇創(chuàng)建什么模型對

5、于如何處理問題以及如何形成解決方案有很深遠的影響。 每一種模型可以在不同的精度級別上表示。 最佳模型與現(xiàn)實情況是緊密相連的。 一個模型不足以全面地反映實際情況。每個具有一定規(guī)模的系統(tǒng)都是通過一組幾乎獨立的模型來表示的,4、UML的基本概念,4.1UML 簡介,統(tǒng)一建模語言UML(Unified Modeling Language)是一種繪制軟件藍圖的標準語言。 可以用UML對軟件密集型系統(tǒng)進行可視化、詳述、構(gòu)造和文檔化。 從企業(yè)信息系統(tǒng)到基于Web的分布式應(yīng)用,甚至嚴格的實時嵌入式系統(tǒng)都適合于用UML來建模。 它是一種富有表達力的語言,可以描述開發(fā)所需要的各種視圖,然后以此為基礎(chǔ)開發(fā)系統(tǒng),4.

6、2UML的語義與語法,1.UML語義描述基于UML的精確元模型定義。元模型為UML的所有元素在語法和語義上提供了簡單、一致、通用的定義性說明,使開發(fā)者能在語義上取得一致,消除了因人而異的最佳表達方法所造成的影響。此外UML還支持對元模型的擴展定義。 2 UML表示法定義UML符號的表示法,為開發(fā)者或開發(fā)工具使用這些圖形符號和文本語法為系統(tǒng)建模提供了標準。這些圖形符號和文字所表達的是應(yīng)用級的模型,在語義上它是UML元模型的實例,4.3在不同系統(tǒng)中的應(yīng)用,信息系統(tǒng):與數(shù)據(jù)庫有關(guān)的系統(tǒng) 技術(shù)系統(tǒng):處理和控制技術(shù)設(shè)備 嵌入式系統(tǒng):控制像移動電話這樣的設(shè)備以及家用設(shè)備 分布式系統(tǒng):使用 CORBA 和類

7、似的面向?qū)ο髾C制分布在不同系統(tǒng)上的數(shù)據(jù)庫系統(tǒng) 系統(tǒng)軟件:操作系統(tǒng)和編寫系統(tǒng)實用程序 業(yè)務(wù)系統(tǒng):與工作流有關(guān)的系統(tǒng),5、UML的組成,5.UML的組成,標準建模語言UML的重要內(nèi)容可以由下列五類圖(共9種圖形)來定義,類圖,類圖描述系統(tǒng)中類的靜態(tài)結(jié)構(gòu)。不僅定義系統(tǒng)中的類,表示類之間的聯(lián)系如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。 以洗衣機為例:類圖如右下,對象圖,對象圖是類圖的實例,幾乎使用與類圖完全相同的標識。他們的不同點在于對象圖顯示類的多個對象實例,而不是實際的類。一個對象圖是類圖的一個實例。由于對象存在生命周期,

8、因此對象圖只能在系統(tǒng)某一時間段存在。 如下面:左圖指明對象和它對應(yīng)的類名;右圖盡管指明了對象所屬類,但并未提供一個具體的對象名,這是匿名對象,用例圖,用例圖:是從用戶角度描述系統(tǒng)功能,并指出各功能的操作者 。 以洗衣機系統(tǒng)如下,狀態(tài)圖,狀態(tài)圖是對類圖的補充。在實用上并不需要為所有的類畫狀態(tài)圖,僅為那些有多個狀態(tài)其行為受外界環(huán)境的影響并且發(fā)生改變的類畫狀態(tài)圖。如下為一洗衣過程的狀態(tài)圖,順序圖,順序圖顯示對象之間的動態(tài)合作關(guān)系,它強調(diào)對象之間消息發(fā)送的順序,同時顯示對象之間的交互,活動圖,活動圖描述滿足用例要求所要進行的活動以及活動間的約束關(guān)系,有利于識別并行活動,協(xié)作圖,協(xié)作圖描述對象間的協(xié)作關(guān)

9、系,協(xié)作圖跟順序圖相似,顯示對象間的動態(tài)合作關(guān)系。除顯示信息交換外,協(xié)作圖還顯示對象以及它們之間的關(guān)系,構(gòu)件圖,構(gòu)件圖描述代碼部件的物理結(jié)構(gòu)及各部件之間的依賴關(guān)系。一個部件可能是一個資源代碼部件、一個二進制部件或一個可執(zhí)行部件。它包含邏輯類或?qū)崿F(xiàn)類的有關(guān)信息。部件圖有助于分析和理解部件之間的相互影響程度,部署圖,配置圖定義系統(tǒng)中軟硬件的物理體系結(jié)構(gòu)。它可以顯示實際的計算機和設(shè)備(用節(jié)點表示)以及它們之間的連接關(guān)系,也可顯示連接的類型及部件之間的依賴性。在節(jié)點內(nèi)部,放置可執(zhí)行部件和對象以顯示節(jié)點跟可執(zhí)行軟件單元的對應(yīng)關(guān)系。下面為不同品牌計算機的通信部署圖,UML中幾個圖的關(guān)系,用例圖,需求,類圖

10、(復(fù)雜,狀態(tài)圖,順序圖,類圖(簡單,活動圖,協(xié)作圖,UML應(yīng)用領(lǐng)域,最常用的是為軟件系統(tǒng)建模,但不限于軟件系統(tǒng)建模。UML還可用來描述其他非軟件系統(tǒng),如一個機構(gòu)的組成或機構(gòu)中的工作流程等,UML應(yīng)用-需求分析階段,UML 的用例視圖可以表示客戶的需求,通過用例建??梢詫ν獠康慕巧约八鼈兯枰南到y(tǒng)功能建模,UML應(yīng)用-分析階段,分析階段主要考慮所要解決的問題??捎肬ML 的邏輯視圖和動態(tài)視圖來描述,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu);協(xié)作圖、狀態(tài)圖、順序圖和活動圖描述系統(tǒng)的動態(tài)特征。 在分析階段,只為問題領(lǐng)域的類建模,不定義軟件系統(tǒng)的解決方案的細節(jié)(如用戶接口的類數(shù)據(jù)庫等,UML應(yīng)用-設(shè)計階段,在設(shè)計階

11、段把分析階段的結(jié)果擴展成技術(shù)解決方案,加入新的類來提供技術(shù)基礎(chǔ)結(jié)構(gòu)-用戶接口,數(shù)據(jù)庫操作等。 分析階段的領(lǐng)域問題類被嵌入在這個技術(shù)基礎(chǔ)結(jié)構(gòu)中,設(shè)計階段的結(jié)果是構(gòu)造階段的詳細的規(guī)格說明,UML應(yīng)用-構(gòu)造階段,在構(gòu)造(或程序設(shè)計)階段把設(shè)計階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計語言的代碼,UML應(yīng)用-測試階段,對系統(tǒng)的測試通常分為單元測試、集成測試、系統(tǒng)測試和接受測試幾個不同級別。 不同的測試小組使用不同的UML 圖作為他們工作的基礎(chǔ)。單元測試使用類圖和類的規(guī)格說明;集成測試典型地使用組件圖和協(xié)作圖;而系統(tǒng)測試實現(xiàn)用例圖來確認系統(tǒng)的行為是否符合這些圖中的定義,6、一個UML案例,順序圖案例,劉備,孔明

12、,關(guān)羽,求戰(zhàn),請擬策略,張飛,請防守荊州,請防守 荊州前線,孫權(quán),曹操,請聯(lián)絡(luò)孫權(quán),請孫權(quán)領(lǐng)兵相助,借東風(fēng)火攻,火攻曹軍,劉備的責(zé)任,劉備,求戰(zhàn),請擬策略,請防守荊州,請聯(lián)絡(luò)孫權(quán),我必須 迎戰(zhàn)曹操,使用UML表示,孔明,請擬策略,請聯(lián)絡(luò)孫權(quán),請孫權(quán)領(lǐng)兵相助,借東風(fēng)火攻,火攻曹軍,使用UML表示,關(guān)羽,張飛,請防守 荊州,請防守 荊州前線,關(guān)羽,防守荊州,張飛,防守荊州前線,關(guān)羽,防守荊州,張飛,防守荊州前線,劉備,迎戰(zhàn)曹操,孔明,擬定策略,聯(lián)合孫權(quán),借東風(fēng)火攻,UML的類圖,怎么根據(jù)模型來寫代碼呢,使用C,劉備,迎戰(zhàn)曹操,寫C# 程序,class 劉備 public 迎戰(zhàn)曹操(),孔明,擬定策

13、略,聯(lián)合孫權(quán),借東風(fēng)火攻,寫C# 程序,class 孔明 public 擬定策略() public 聯(lián)合孫權(quán)() private 借東風(fēng)火攻(),class 劉備 public 迎戰(zhàn)曹操(),使用C,class 孔明 public 擬定策略() public 聯(lián)合孫權(quán)() private 借東風(fēng)火攻(),class 關(guān)羽 public 防守荊州(),class 張飛 public 防守前線(),準備填寫public方法內(nèi)容,依樣畫葫蘆,寫C#程序內(nèi)容,劉備,求戰(zhàn),請擬定策略,請防守荊州,請聯(lián)絡(luò)孫權(quán),寫C# 程序,class 劉備 孔明 k new 孔明 關(guān)羽 g new 關(guān)羽public 迎戰(zhàn)曹操() k.擬定策略 g.防守荊州 k.聯(lián)合孫權(quán),寫C#程序內(nèi)容,孔明,請擬定策略,請聯(lián)絡(luò)孫權(quán),請孫權(quán)領(lǐng)兵相助,借東風(fēng)火攻,借東風(fēng)火攻,寫C# 程序,class 孔明 孫權(quán) s new 孫權(quán) public 擬定策略() public 聯(lián)合孫權(quán)() s.請領(lǐng)兵相助 借東風(fēng)火攻() private 借東風(fēng)火攻()

溫馨提示

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

評論

0/150

提交評論