UML 類圖與對象圖_第1頁
UML 類圖與對象圖_第2頁
UML 類圖與對象圖_第3頁
UML 類圖與對象圖_第4頁
UML 類圖與對象圖_第5頁
已閱讀5頁,還剩55頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、UML建模語言第6章 類圖與對象圖 本章將分別介紹類圖和對象圖的概念以及如何創(chuàng)建。希望大家能夠通過本章的學(xué)習(xí)熟練分析和創(chuàng)建各種類圖和對象圖。UML建模語言6.1 類圖與對象圖的基本概念 類圖和對象圖是用于描述系統(tǒng)靜態(tài)結(jié)構(gòu)的兩種重要手段。類圖從抽象的角度描述系統(tǒng)的靜態(tài)結(jié)構(gòu),而對象是類的實(shí)例化表示。UML建模語言6.1.1 類圖與對象圖的定義類圖(Class Diagram)顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu),而系統(tǒng)的靜態(tài)結(jié)構(gòu)構(gòu)成了系統(tǒng)的概念基礎(chǔ)。在類圖中一共包含了以下幾種模型元素,分別是:類(Class)、接口(Interface)、依賴(Dependency)關(guān)系、泛化(Generalization)關(guān)系、

2、關(guān)聯(lián)(Association)關(guān)系以及實(shí)現(xiàn)(Realization)關(guān)系。UML建模語言UML建模語言對象圖中包含對象(Object)和鏈(Link),其中對象是類的特定實(shí)例,鏈?zhǔn)穷愔g關(guān)系的實(shí)例,表示對象之間的特定關(guān)系。UML建模語言6.1.2 類圖與對象圖的作用由于靜態(tài)視圖主要被用于支持系統(tǒng)的功能性需求,即系統(tǒng)提供給最終用戶的服務(wù),而類圖的作用是對系統(tǒng)的靜態(tài)視圖進(jìn)行建模。當(dāng)對系統(tǒng)的靜態(tài)視圖進(jìn)行建模時,通常是利用以下三種方式來使用類圖。1. 為系統(tǒng)的詞匯建模2. 模型化簡單的協(xié)作3. 模型化邏輯數(shù)據(jù)庫模式UML建模語言6.2 類圖的組成類圖(Class Diagram)是由類、接口等模型元素

3、以及它們之間的關(guān)系構(gòu)成的。類圖的目的在于描述系統(tǒng)的構(gòu)成方式,而不是系統(tǒng)如何協(xié)作運(yùn)行的。 UML建模語言6.2.1 類類是面向?qū)ο笾邢到y(tǒng)組織結(jié)構(gòu)的核心。類是對一組具有相同屬性、操作、關(guān)系和語義的事物的抽象。UML建模語言類也擁有不同的構(gòu)造型,在Rational Rose 2003中默認(rèn)支持Actor、Boundary(邊界)、Business Actor、Business Document、Business Entity、Business Event、Business Goal、Business Worker、Control、Domain、Entity、Interface、Location、Ph

4、ysical Worker、Resource、Service、Table、View等構(gòu)造型。 UML建模語言可以為類指定相關(guān)的類型,在Rational Rose 2003中默認(rèn)支持Class、ParameterizedClass、InstantiatedClass(實(shí)例化類)、ClassUtility(類實(shí)用程序)、ParameterizedClassUtility、InstantiatedClassUtility和MetaClass等類型。UML建模語言1. 類的名稱(Name)類的名稱是每個類的圖形中所必須擁有的元素,用于同其他類進(jìn)行區(qū)分。UML建模語言2. 類的屬性(Attribute)

5、屬性是類的一個特性,也是類的一個組成部分,描述了在軟件系統(tǒng)中所代表的對象具備的靜態(tài)部分的公共特征抽象,這些特性是這些對象所共有的。UML建模語言(1)可見性屬性的可見性描述了該屬性是否對于其他類能夠可見,從而是否可以被其他類進(jìn)行引用。(2)屬性名稱屬性是類的一部分,每個屬性都必須有一個名字以區(qū)別于類中的其他屬性。通常情況下,屬性名由描述其所屬類的特性的名詞或名詞短語構(gòu)成。按照UML的約定,屬性的名稱的第一個字母小寫,如果屬性名包含了多個單詞,這些單詞要合并,并且除了第一個英文單詞外,其余單詞的首字母要大寫。UML建模語言(3)屬性類型屬性也具有類型,用來指出該屬性的數(shù)據(jù)類型。(4)初始值在程序

6、語言設(shè)計(jì)中,設(shè)定初始值通常有以下兩個用處。用來保護(hù)系統(tǒng)的完整性。為用戶提供易用性。(5)屬性字符串屬性字符串是用來指定關(guān)于屬性的一些附加信息,如某個屬性應(yīng)該在某個區(qū)域內(nèi)是有限制的。UML建模語言3. 類的操作(Operation)操作是指類所能執(zhí)行的動作,也是類的一個重要組成部分,描述了在軟件系統(tǒng)中所代表的對象具備的動態(tài)部分的公共特征抽象。UML建模語言(1)可見性操作的可見性描述了該操作是否對于其他類能夠可見,從而是否可以被其他類進(jìn)行調(diào)用。(2)操作名稱操作作為類的一部分,每個操作都必須有一個名稱以區(qū)別于類中的其他操作。(3)參數(shù)表參數(shù)表就是由類型、標(biāo)識符對組成的序列,實(shí)際上是操作或方法被調(diào)

7、用時接收傳遞過來的參數(shù)值的變量。(4)返回類型返回類型指定了由操作返回的數(shù)據(jù)類型。(5)屬性字符串屬性字符串用來附加一些關(guān)于操作的除了預(yù)定義元素之外的信息,從而方便對操作的一些內(nèi)容進(jìn)行說明。UML建模語言4. 類的職責(zé)(Responsibility)在標(biāo)準(zhǔn)的UML定義中,有時還應(yīng)當(dāng)指明類的另一種信息,那就是類的職責(zé)。5. 類的約束(Constraint)類的約束指定了該類所要滿足的一個或多個規(guī)則。UML建模語言6. 類的注釋(Note)使用注釋可以為類添加更多的描述信息,也是為類提供更多描述方式中的一種。UML建模語言6.2.2 接口接口是在沒有給出對象的實(shí)現(xiàn)和狀態(tài)的情況下對對象行為的描述。接

8、口是一種特殊的類,所有接口都是有構(gòu)造型的類。在UML中,接口使用一個帶有名稱的小圓圈來進(jìn)行表示,并且可以通過一條Realize(實(shí)現(xiàn)關(guān)系)線與實(shí)現(xiàn)它的類相連接。UML建模語言當(dāng)接口被其他類依賴的時候,即一個接口是在某個特定類中實(shí)現(xiàn)后,一個類通過一個依賴關(guān)系與該接口相連接。UML建模語言接口也可以同類那樣進(jìn)行一般化和特殊化處理。UML建模語言6.2.3 類之間的關(guān)系類與類之間的關(guān)系通常有4種,即依賴關(guān)系(Dependency)、泛化關(guān)系(Generalization)、關(guān)聯(lián)關(guān)系(Association) 、實(shí)現(xiàn)關(guān)系(Realization)。UML建模語言1. 依賴關(guān)系(Dependency)依

9、賴表示的是兩個或多個模型元素之間語義上的連接關(guān)系。這些依賴關(guān)系可以再細(xì)分為5種類型,分別是:綁定(Binding)依賴、實(shí)現(xiàn)(Realization)依賴、使用(Usage)依賴、抽象(Abstraction)依賴和授權(quán)(Permission)依賴。UML建模語言2. 泛化關(guān)系(Generalization)泛化關(guān)系用來描述類的一般和具體之間的關(guān)系。多態(tài)示例多繼承示例UML建模語言3. 關(guān)聯(lián)關(guān)系(Association)關(guān)聯(lián)關(guān)系是一種結(jié)構(gòu)關(guān)系,指出了一個事物的對象與另一個事物的對象之間的語義上的連接。UML建模語言如果一個關(guān)聯(lián)既是類又是關(guān)聯(lián),那么它是一個關(guān)聯(lián)類,NewClass3便是一個關(guān)聯(lián)類

10、。UML建模語言如果一個關(guān)聯(lián)的屬性在一組相關(guān)對象中是惟一的,那么它是一個限定符。UML建模語言關(guān)聯(lián)關(guān)系還有兩種非常重要的形式,分別是聚集(Aggregation)關(guān)系和組成(Composition)關(guān)系。聚集關(guān)系示例組成關(guān)系示例UML建模語言4. 實(shí)現(xiàn)關(guān)系(Realization)實(shí)現(xiàn)關(guān)系將一種模型元素(如類)與另一種模型元素(如接口)連接起來,從而說明和其實(shí)現(xiàn)之間的關(guān)系。在UML中,實(shí)現(xiàn)關(guān)系的表示形式和泛化關(guān)系的表示符號很相似,使用一條帶封閉空箭頭的虛線來表示。UML建模語言在UML中接口是使用一個圓圈來進(jìn)行表示,并通過一條實(shí)線附在表示類的矩形上來表示實(shí)現(xiàn)關(guān)系。UML建模語言6.3 類圖的創(chuàng)

11、建概述6.3.1 創(chuàng)建類 1. 創(chuàng)建和刪除類圖01 右鍵單擊瀏覽器中的Use Case View(用例視圖)、Logical View(邏輯視圖)或者位于這兩種視圖下的包。02 在彈出的快捷菜單中選擇New | Class Diagram命令。03 輸入新的類圖名稱。04 雙擊打開瀏覽器中的類圖。UML建模語言2. 添加和刪除類01 在圖形編輯工具欄中單擊按鈕,此時光標(biāo)變?yōu)椤?”號。02 在類圖中單擊任意一個位置,系統(tǒng)將在該位置創(chuàng)建一個新類,系統(tǒng)產(chǎn)生的默認(rèn)名稱為NewClass。UML建模語言03在類的名稱欄中顯示了當(dāng)前所有類的名稱,可以選擇清單中的現(xiàn)有類,這樣便把在模型中存在的該類添加到類圖

12、中。如果創(chuàng)建新類,將NewClass重新命名為新的名稱即可,創(chuàng)建的新類會自動添加到瀏覽器的視圖中。UML建模語言3. 設(shè)置類的構(gòu)造型使用類的構(gòu)造型可以方便地對類進(jìn)行分類。在Rational Rose 2003中包含一些內(nèi)置構(gòu)造型,如Actor、Boundary、Business Actor、Business Document、Business Entity、Business Event、Business Goal、Business Worker、Control、Domain、Entity、Interface、Location、Physical Worker、Resource、Service、T

13、able、View等,其中Boundary(邊界類)、Control(控制類)和Entity(實(shí)體類)是比較常用的構(gòu)造型。UML建模語言4. 設(shè)置類的類型設(shè)置類的類型可以通過以下步驟進(jìn)行:01 選中需要設(shè)置構(gòu)造型的類,單擊右鍵,在彈出的快捷菜單中選擇Open Specification命令,彈出類的規(guī)范對話框。02 在類的規(guī)范對話框中打開General選項(xiàng)卡,在Type下拉列表中選擇類的相關(guān)類型。03 單擊OK按鈕即可。UML建模語言6.3.2 創(chuàng)建類與類之間的關(guān)系類與類之間的關(guān)系通常有4種:依賴關(guān)系、泛化關(guān)系、關(guān)聯(lián)關(guān)系和實(shí)現(xiàn)關(guān)系,以下將介紹如何創(chuàng)建這些關(guān)系以及它們生成的代碼示例。UML建模語

14、言1. 創(chuàng)建和刪除依賴關(guān)系依賴表示的是兩個或多個模型元素之間語義上的連接關(guān)系。要創(chuàng)建新的依賴關(guān)系,可以通過以下步驟進(jìn)行:01 單擊工具欄中的圖標(biāo),或者選擇Tools | Create | Dependency or Instantiates命令,此時的光標(biāo)變?yōu)椤啊狈枴?2 單擊具有依賴關(guān)系的一個類。03 將依賴關(guān)系線拖動到另一個類中。04 雙擊依賴關(guān)系線,彈出設(shè)置依賴關(guān)系規(guī)范的對話框,如圖6-41所示。05在彈出的對話框中設(shè)置依賴關(guān)系的名稱、構(gòu)造型、可訪問性、多重性以及文檔等。 UML建模語言圖6-41 設(shè)置依賴關(guān)系規(guī)范UML建模語言2. 創(chuàng)建和刪除泛化關(guān)系泛化關(guān)系是用來描述類的一般和具體之

15、間的關(guān)系。要創(chuàng)建新的泛化關(guān)系,可以通過以下步驟進(jìn)行:01 單擊類圖工具欄中的圖標(biāo),或者選擇Tools | Create | Generalization命令,此時的光標(biāo)變?yōu)椤啊狈枴?2 單擊子類。03 將泛化關(guān)系線拖動到父類中。04 雙擊泛化關(guān)系線,彈出設(shè)置泛化關(guān)系規(guī)范的對話框。05 在彈出的對話框中可以設(shè)置泛化關(guān)系的名稱、構(gòu)造型、可訪問性、文檔等。UML建模語言UML建模語言3. 創(chuàng)建和刪除關(guān)聯(lián)關(guān)系要創(chuàng)建新的關(guān)聯(lián)關(guān)系,可以通過以下步驟進(jìn)行:01 單擊類圖工具欄中的圖標(biāo),或者選擇Tools | Create | Unidirectional Association命令,此時的光標(biāo)變?yōu)椤啊狈?/p>

16、。02 單擊要關(guān)聯(lián)的類。03 將關(guān)聯(lián)關(guān)系線拖動到要與之關(guān)聯(lián)的類中。04 雙擊關(guān)聯(lián)關(guān)系線,彈出設(shè)置關(guān)聯(lián)關(guān)系規(guī)范的對話框。05 在彈出的對話框中可以設(shè)置關(guān)聯(lián)關(guān)系的名稱、構(gòu)造型、角色、可訪問性、多重性、導(dǎo)航性和文檔等。UML建模語言UML建模語言4. 創(chuàng)建和刪除實(shí)現(xiàn)關(guān)系創(chuàng)建和刪除實(shí)現(xiàn)關(guān)系與創(chuàng)建和刪除依賴關(guān)系類似,實(shí)現(xiàn)關(guān)系的圖標(biāo)是,使用該圖標(biāo)將實(shí)現(xiàn)關(guān)系的兩端連接起來,雙擊實(shí)現(xiàn)關(guān)系的線段可彈出設(shè)置實(shí)現(xiàn)關(guān)系的規(guī)范的對話框。在對話框中可以設(shè)置實(shí)現(xiàn)關(guān)系的名稱、構(gòu)造型、文檔等。UML建模語言6.4 類圖的創(chuàng)建示例使用以下步驟創(chuàng)建類圖:01 根據(jù)問題域確定系統(tǒng)需求、類和關(guān)聯(lián)。02 明確類的含義和職責(zé),并確定屬性和

17、操作。UML建模語言這個步驟只是創(chuàng)建類圖的一個常用步驟,可以根據(jù)使用識別類的方法的不同而有所不同。以下將以一個選課管理系統(tǒng)的簡單用例為例,介紹如何去創(chuàng)建系統(tǒng)的類圖。UML建模語言6.4.1 確定類和關(guān)聯(lián)進(jìn)行系統(tǒng)建模的很重要的一個挑戰(zhàn)就是決定需要哪些類來構(gòu)建系統(tǒng)。類的識別是一個需要大量技巧的工作。UML建模語言6.4.2 確定屬性和操作創(chuàng)建好相關(guān)的類和初步的關(guān)聯(lián)后,可以開始添加屬性和操作,以便提供數(shù)據(jù)存儲和需要的功能。UML建模語言6.5 對 象 圖6.5.1 對象圖的組成對象圖(Object Diagram)是由對象(Object)和鏈(Link)組成的。對象圖的目的在于描述系統(tǒng)中參與交互的各

18、個對象在某一時刻是如何運(yùn)行的。UML建模語言1. 對象(Object)對象是類的實(shí)例,創(chuàng)建一個對象通??梢詮囊韵聝煞N情況來考慮:第一種情況是將對象作為一個實(shí)體,它在某個時刻具有明確的值;另一種情況是作為一個身份持有者,不同時刻有不同的值。UML建模語言對象也有其他一些特殊的形式,如多對象和主動對象等。UML建模語言2. 鏈(Link)鏈?zhǔn)莾蓚€或多個對象之間的獨(dú)立連接,它是對象引用元組(有序表),是關(guān)聯(lián)的實(shí)例。UML建模語言6.5.2 對象圖的創(chuàng)建對象圖無須提供單獨(dú)的形式。類圖中就包含了對象,所以只有對象而無類的類圖就是一個“對象圖”。在Rational Rose 2003中不直接支持對象圖的創(chuàng)

19、建,但是可以利用協(xié)作圖來創(chuàng)建。 UML建模語言協(xié)作圖中添加對象的步驟如下:01 在協(xié)作圖的圖形編輯工具欄中單擊按鈕,此時光標(biāo)變?yōu)椤?”號。02 在類圖中單擊任意一個位置,系統(tǒng)在該位置創(chuàng)建一個新的對象。03 雙擊該對象的圖標(biāo),彈出如下對話框。04 在該對話框中,可以設(shè)置對象的名稱、類的名稱、持久性和是否多對象等。05 單擊OK按鈕即可。UML建模語言在協(xié)作圖中添加對象與對象之間的鏈的步驟如下:01 單擊工具欄中的圖標(biāo),或者選擇Tools | Create | Object Link命令,此時的光標(biāo)變?yōu)椤啊狈枴?2 單擊需要鏈接的對象。03 將鏈的線段拖動到要鏈接的對象中。04 雙擊鏈的線段,彈出如下對話框。UML建模語言05在General選項(xiàng)卡中設(shè)置鏈的名稱、關(guān)聯(lián)、角色以及可見性等。06如果需要在對象的兩端添加消息,可以在Messages選項(xiàng)卡中進(jìn)行設(shè)置,可以根據(jù)鏈兩端對象的名稱插入消息,對象的消息指的是該對象所執(zhí)行的操作,并設(shè)置相應(yīng)的編號和接受者。UML建模語言一個

溫馨提示

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

評論

0/150

提交評論