認識類圖
類是一組對象的描述,這組對象具有共同的屬性、行為(操作)、關系和語義.
類是對象的藍圖,其中包含3個組成部分。第一個是Java中定義的類名。第二個是屬性(attributes)。第三個是該類提供的方法。
屬性和操作之前可附加一個可見性修飾符。加號(+)表示具有公共可見性。減號(-)表示私有可見性。#號表示受保護的可見性。省略這些修飾符表示具有package(包)級別的可見性。如果屬性或操作具有下劃線,表明它是靜態的。在操作中,可同時列出它接受的參數,以及返回類型,如圖(1):
?


?


約束
可以用約束(constraint)來添加足夠的信息,使類的描述更加明確。
約束用括號括起來的字符串表示
Professor
name: String
age: Integer?? { age>40 }?
注釋
通過注釋的方式可以對類附加更多的信息?
關聯
通過注釋的方式可以對類附加更多的信息?
關聯
關聯是類之間的聯系
關聯的名稱應該反映關系的用途,并且是一個動詞;該名稱可以忽略,尤其是使用角色名的時候。
?應該盡量避免使用“具有”和“包含”這樣的名稱,因為它們不包含說明類之間具有什么關系的信息。
角色名相對于類必須是唯一的。 角色名應該是一個名詞,它表示被關聯的對象相對于關聯對象的角色。 角色名放在關聯線一端的旁邊。
關聯的名稱應該反映關系的用途,并且是一個動詞;該名稱可以忽略,尤其是使用角色名的時候。
?應該盡量避免使用“具有”和“包含”這樣的名稱,因為它們不包含說明類之間具有什么關系的信息。
角色名相對于類必須是唯一的。 角色名應該是一個名詞,它表示被關聯的對象相對于關聯對象的角色。 角色名放在關聯線一端的旁邊。
?
單向關聯
如果類與類之間的聯系是單向的,則稱為導航關聯。
導航關聯用實線箭頭連接兩個類,只有在箭頭方向上才有這種關聯關系。
導航關聯用實線箭頭連接兩個類,只有在箭頭方向上才有這種關聯關系。
關聯的約束
兩個類之間的一個關聯需要一個規則約束,可以通過在關聯線附近加注一個約束來說明這個規則。

關聯類

關聯類
和類一樣,關聯也可以擁有自己的屬性和操作,此時這個關聯實際上就是一個關聯類(association class)

多重性

多重性
多重性(multiplicity)定義有多少對象參與了某個關系。
?3: 多重值和它們的表示
可能的多重值描述
表示?? 含義
0..1??? ?0個或1個
1??????? 只能1個
0..*??? ?0個或多個
*??????? 0個或多個
1..*???? 1個或我個
3??????? 只能3個
0..5??? ?0到5個
5..15??? 5到15個?
?限定關聯
?
遞歸關聯
表示?? 含義
0..1??? ?0個或1個
1??????? 只能1個
0..*??? ?0個或多個
*??????? 0個或多個
1..*???? 1個或我個
3??????? 只能3個
0..5??? ?0到5個
5..15??? 5到15個?
?限定關聯
?

遞歸關聯
當一個類與它自己發生關聯的時候,我們稱其為“遞歸關聯”(reflexive association)
?
泛化
在面向對象的術語中,上述關系被稱為繼承(inheritance)。
UML中稱它為泛化(generalization),定義是:將類抽象為更一般的類的過程。被泛化的類稱為子類,得到的類稱為超類。
UML中稱它為泛化(generalization),定義是:將類抽象為更一般的類的過程。被泛化的類稱為子類,得到的類稱為超類。

依賴(dependency)
描述的是兩個模型元素之間的語義上的連接關系。其中一個模型元素是獨立的,而另外一個依賴于獨立的這個模型元素,當獨立的模型元素發生變化時將會影響依賴于該模型元素的模型元素。

聚集(aggregation)
聚集(aggregation)表示整體與各部分之間的關系
?

聚集(aggregation)
聚集(aggregation)表示整體與各部分之間的關系
?
組成
組成是一種整體和部分所屬更強的聚集關系,每個部分只能屬于一個整體,沒有整體,部分也沒有存在的價值

接口和實現

接口和實現
接口是用于指定類或組件的服務的操作的集合。
接口的表示法和類大致相同,都是用一個矩形來表示,并在矩形框中接口的名稱上方放置構造型《interface》進行說明。
實現(realization)
類和接口之間的關系稱為實現(realization)。實現關系用一個帶空心三角形箭頭的虛線來表示,箭頭的方向指向接口。

?
?
總結
類圖標是一個包括三個部分的矩形
對象以名稱帶下劃線的矩形表示
約束允許在現有 UML 模型中加入新的語義或更改現有的語義
關系以線條的形式來模型化,不同類型的線條用于表示不同類型的關系
多重性定義有多少對象參與了某個關系
聚集表示整體與各部分之間的關系
組成是一種強類型聚集關系,表明了部分和整體之間很強的所屬關系和一致的生命周期
依賴關系表示模型元素之間的語義關系
發生在同一個類的對象之間的關聯稱為“遞歸關聯”
使用泛化原則共享屬性和操作的機制稱為“繼承”
接口是用于指定類或組件的服務的操作的集合。
轉載注明:http://www.aygfsteel.com/wujun
了解更多http://www.holub.com/goodies/uml/
類圖標是一個包括三個部分的矩形
對象以名稱帶下劃線的矩形表示
約束允許在現有 UML 模型中加入新的語義或更改現有的語義
關系以線條的形式來模型化,不同類型的線條用于表示不同類型的關系
多重性定義有多少對象參與了某個關系
聚集表示整體與各部分之間的關系
組成是一種強類型聚集關系,表明了部分和整體之間很強的所屬關系和一致的生命周期
依賴關系表示模型元素之間的語義關系
發生在同一個類的對象之間的關聯稱為“遞歸關聯”
使用泛化原則共享屬性和操作的機制稱為“繼承”
接口是用于指定類或組件的服務的操作的集合。
轉載注明:http://www.aygfsteel.com/wujun
了解更多http://www.holub.com/goodies/uml/
posted on 2006-05-18 09:39 record java and net 閱讀(554) 評論(0) 編輯 收藏