UML類圖對象圖兩者之間的異同ppt課件_第1頁
UML類圖對象圖兩者之間的異同ppt課件_第2頁
UML類圖對象圖兩者之間的異同ppt課件_第3頁
UML類圖對象圖兩者之間的異同ppt課件_第4頁
UML類圖對象圖兩者之間的異同ppt課件_第5頁
已閱讀5頁,還剩32頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、UML圖類圖、對象圖 v類圖描述系統中類的靜態結構,它不僅定義系統中的類,描述類之間的聯系,還包括類的內部結構類的屬性和操作)。類圖描述的是一種靜態關系,在系統的整個生命周期中都是有效的。v對象圖是類圖的實例,幾乎具有與類圖完全相同的標識。它們的不同之處在于對象圖顯示類圖的多個對象實例,而不是實際的類。由于對象存在生命周期,所以對象圖只能在系統的某一時間存在。類 圖v類圖Class Diagram是描述類、接口以及它們之間關系的圖,用來顯示系統中各個類的靜態結構。v雖然一個類圖僅僅顯示的是系統中的類,但是存在一個變量,確定了顯示各個類的真實對象實例的位置,就是對象圖。v類圖包含三個元素:類、接

2、口、類與類之間的關系。一、類v類是面向對象系統組織結構的核心。是對一組具有相同屬性、操作、關系和語義的對象的描述。v類定義了一組有著狀態和行為的對象。其中,屬性和關聯用來描述狀態。屬性通常用沒有身份的數據值表示,如數字和字符串。關聯則用有身份的對象之間的關系表示。行為由操作來描述,方法是操作的實現。 v在UML中,類用矩形來表示,并且該矩形被劃分為3個部分:名稱部分Name)、屬性部分Attribute和操作部分Operation)。其中,頂端的部分存放類的名稱,中間的部分存放類的屬性、屬性的類型及其值,底部的部分存放類的操作、操作的參數表和返回類型。v在UML中,還可以根據建模的實際情況來選

3、擇隱藏屬性部分或操作部分,或者兩者都隱藏。v隱藏屬性部分或操作部分,并不代表沒有屬性或操作,只是因為沒有顯示出來。 Titles 1、稱號Name)類的名稱是每個類中所必須有的元素,用于同其他類相區分。類的名稱應該盡可能的明確,以免造成歧義。類的名稱是一個字符串,可分為簡單名稱和路徑名稱。單獨的名稱即不包含冒號的字符串叫做簡單名;用類所在的包的名稱作為前綴的類名叫做路徑名。 2、屬性Attribute)類的屬性是類的一個組成部分,也是一個特性,描述了類在軟件系統中代表的事物即對象所具備的特性,這些特性是所有的對象所共有的。類可以有任意數目的屬性,也可以沒有屬性。在UML中,類屬性的語法為: 可

4、見性 屬性名 :類型 =初始值 屬性字符串 (1可見性。可見性描述了該屬性對于其他類是否可見,以及是否可以被其他類引用,而不僅僅是被該屬性所在類可見。類中屬性的可見性主要包括公有Public)、私有Private和受保護Protected)。可見性的表示:Public:“+”,具有公共的可見性,其它類都能使用它Protected:“#”,具有受保護的可見性,該類的任何子孫都能使用它Private: “” ,表示具有私有的可見性,只有這個類自身能使用它 如果沒有用可見性符號修飾一個屬性或者操作,那么就認為它的可見性是公有的 (2屬性名根據定義,類的屬性首先是類的一部分,而且每個屬性都必須有一個名

5、字以區別于類中的其他屬性。通常情況下屬性名由描述所屬類的特性的名詞或名詞短語組成。按照UML的約定,單字屬性名要小寫。如果屬性名包含了多個單詞,這些單詞要合并,且除了第一個單詞外其余單詞的首字母要大寫。 (3類型典型的數據類型有:整型、布爾型、實型和枚舉類型,這些稱為簡單類型。簡單類型在不同的編程語言中有不同的定義,但是在UML中,類的屬性可以用任意類型,包括系統中的其他類。當一個類的屬性被完整的定義后,它的任何一個對象的狀態都由這些屬性的特定值所決定。 (4初始值設定初始值有兩個用處:保護系統的完整性,防止漏掉取值或被非法的值破壞系統的完整性;為用戶提供易用性。(5屬性字符串用來指定關于屬性

6、的其他信息,任何希望添加在屬性定義字符串值但又沒有合適地方可以加入的規則,都可以放在屬性字符串里。 3、操作Operation)類的操作是對類的對象所能做的事物的抽象,相當于一個服務的實現,且該服務可以由類的任何對象請求以影響其行為。屬性是描述類的對象特性的值;操作用于操縱屬性或者執行其他動作。操作通常稱為函數,它們位于類的內部,并且只能應用于該類的對象。在UML中,類操作的語法為: 可見性 操作名 (參數表) :返回類型 屬性字符串 (1可見性:同屬性的可見性。(2操作名:同屬性名。(3參數表。參數表是一些按順序排列的屬性定義了操作的輸入。參數表是可選的,即操作不一定必須有參數。參數可以具有

7、默認值,這意味著如果操作的調用者沒有提供某個具有默認值的參數的值,那么該參數將使用指定的默認值。 (4返回類型。返回類型是可選的。絕大部分編程語言只支持一個返回值,即返回類型之多一個。雖然沒有返回類型是合法的,但是具體的編程語言一般要加一個關鍵字Void來表示無返回值。(5屬性字符串:同屬性的屬性字符串。二、接口Interface)v接口是在沒有給出對象的實現和狀態的情況下對對象行為的描述。接口包含操作但不包含屬性,且它沒有對外界可見的關聯。一個類可以實現一個或多個接口,且所有的都可以實現接口中的操作。 v接口用來描述類的對外可見的操作集。它既不描述任何結構因此不包含任何屬性),也不描述任何實

8、現因此不包含任何實現操作的方法)v接口之間可以存在泛化關系,因此接口實質上和不具有屬性和方法、僅具有抽象操作的抽象類很相似v與類一樣,接口也可以參與泛化、關聯、依賴和實現關系v實現關系將一種元素如類與另一種模型元素如接口連接起來,其中接口只是行為的說明而不是結構或實現。v可用兩種方法來表示接口v簡化形式。把接口和實現關系畫成一個從類伸出的、且一端帶有小圓圈的直線v使用擴展形式。把接口表示成具有衍型的類 String. isEqual(String) : Booleanhash() : Integer.HashTableComparable isEqual(String) : Boolean h

9、ash() : IntegerHashable* contentsComparable實現關系(簡化形式)實現關系(擴展形式)三、類之間的關系v依賴關系Dependency)v 表示類之間的使用關系v泛化關系Generalization)v 表示類之間一般和特殊的關系v關聯關系Association)v 表示對象之間的結構關系v實現Realization)v 表示類中規格說明和實現之間的關系 1、依賴關系依賴是兩個模型元素之間的一種語義關系,用來描述兩個類之間存在的與依賴有關的語義上的連接。其中一個類是獨立的,另一個類不是獨立的,它依賴于獨立的類,需要由獨立的類提供服務。如果獨立的類變了,將影

10、響依賴于它的類。例如“課程計劃與“課程之間存在依賴關系,其中“課程是獨立的類,而“課程計劃依賴于“課程”。 vUML定義了4種基本依賴類型:v運用Usage依賴v籠統Abstraction依賴v授權Permission依賴v綁定Binding依賴。 v使用依賴use是類中最常用的依賴。聲明使用一個模型元素需要用到已存在的另一個模型元素,這樣才能正確的實現使用者的功能。v在UML中,依賴用一個從客戶指向提供者的虛箭頭表示,用一個構造型的關鍵字來區分它的種類。 v使用依賴v使用依賴是非常直接的,通常表示客戶使用提供者提供的服務以實現它的行為。v使用依賴分五種:v運用use)v調用call)v參數P

11、arameter)v發送send)v實例化instantiate) 2、泛化關系泛化關系是一種存在于一般元素和特殊元素之間的分類關系,其中特殊元素與一般元素兼容,且還包含附加的信息。泛化可以用于類、用案以及其他模型元素。泛化關系描述了“is a kind of的關系。在類中,一般元素被稱作超類或父類,而特殊元素被稱作子類。在UML中,泛化關系用一條從子類指向父類的空心三角箭頭表示。 v泛化的實例AccountCurrentAccountOnlineAccountDepositAccount使用泛化關系的銀行帳戶類使用泛化關系的銀行帳戶類 3、關聯關系關聯關系是一種結構關系,它指明一個事物的對象

12、與另一個事物的對象之間的聯系。關聯的任何一個連接點都叫做關聯端,與類有關的許多信息都附在它的端點上。在UML中,關聯關系用一條連接兩個類的實現表示。最普通的關聯是二元關聯。關聯的實例之一是鏈,每個鏈由一組對象構成,每個對象來自于相應的類,其中二元鏈包含一對對象。有時同一個類在關聯中出現不止一次,這是一個單獨的對象就可以與自己關聯。 v除了關聯的基本形式之外,還有5中應用于關聯的修飾,分別是:稱號、角色、多重性、聚合和組合。v稱號Name)v 關聯可以有一個名稱,用來描述關聯的性質。通常情況下,使用一個動詞或動詞短語來命名關聯v 名稱以前綴或后綴一個指引閱讀的方向指示符以消除名稱含義上可能存在的

13、歧義,方向指示符用一個實心的三角形箭頭表示。 v角色Role)v角色是關聯關系中一個類對另一個類所表現出來的職責。當類出現在關聯的一端時,該關聯就在關聯關系中扮演一個特定的角色。角色的名稱是名詞或名詞短語,以解釋對象是如何參與關系的。PersonCompanyemployeeemployerWorksfor v多重性v關聯的多重性是指有多少對象可以參與該關聯,多重性可以用來表達一個取值范圍、特定值、無限定的范圍或一組離散值。v在UML中,多重性是用數字范圍來表示的v每個數字范圍是一對由圓點分割開來的整數,如0.9v可用特殊的符號*來表示一個沒有上界的范圍,也即可以認為符號*表示“無窮大”v一個

14、其下界和上界都是相同數字的范圍可以簡寫為一個數字,例如數字范圍1.1可用單個數字1來表示v可用一個由數字范圍和單個數字組成的列表來表示多重性。例如0, 3.*表示一個給定的實體是可選的、但如果發生就必須至少發生三次以上 PersonCompany*1Worksfor一個人能且只能替一個公司工作,但一個一個人能且只能替一個公司工作,但一個公司可以雇用零個或多個雇員公司可以雇用零個或多個雇員v聚合關系v“is-part-of關系實際上指定了一個對象是另一個對象的一部分,或者反過來說,它表明了一個對象是由若干個其它對象組成的。這種指定對象的組成的關系叫做聚合關系 MailMessageHeaderB

15、odyAttachment111*一個電子郵件消息是由郵件頭、一個電子郵件消息是由郵件頭、郵件體和未指明數目的附件構成的郵件體和未指明數目的附件構成的v聚合關系有兩個特性:反對稱性與傳遞性v反對稱性: 如果一個鏈接是某個聚合關系的實例,那么它就不能用來將一個對象和其自身連接起來v傳遞性: 如果對象A和對象B以及對象B和對象C之間都是用同一個聚合關系的實例即一個鏈接相連的,那么就可以認為A和C也是相連的v組合關系是一種強關聯關系,它所描述的“部分對象是依賴于“整體對象的。這種依賴關系通過如下兩種方式表現出來:v首先,在任一給定時刻,一個“部分對象只能屬于一個組合對象v其次,當一個組合對象被撤銷時,所有依賴于這個組合對象的“部分對象都將同時被撤銷 MailMessageHeaderBodyAttachment111* 4、實現關系實現關系通常在兩種情況下被使用:在接口與實現該接口的類之間在用案以及實現該用案的協作之間。在UML中,實現關系的符號與泛化關系的符號類似,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論