基礎(chǔ)概念——Class Modeling
OO的概念——這就不多說(shuō)了
三種模型
class model——描述object的結(jié)構(gòu)
state model——描述單個(gè)object的行為
interaction model——描述object之間的互動(dòng)行為
Class Model
單個(gè)的class圖很簡(jiǎn)單
首先是類(lèi)名、然后是屬性,最后是方法。
前面的+表示public,-表示private,#表示protected
Association
形式上Association就是一根線,表示兩個(gè)類(lèi)之間的關(guān)系,線上可以標(biāo)明Association的名字,兩端可以標(biāo)上multiplicity:1表示one,"1..*"表示one or more,"3..5"表示three to five,
"*"表示many
兩個(gè)類(lèi)之間可以有多于一個(gè)Association,但一般不常用
Association End Names
Association的兩端可以標(biāo)上兩個(gè)類(lèi)在這個(gè)關(guān)系中的角色
這在兩個(gè)類(lèi)的關(guān)系中作用可能不是特別明顯,但如果相關(guān)的雙方屬于同一個(gè)類(lèi)
Association兩端可以加很多限制
等等,還有Bags對(duì)應(yīng)于sequence,沒(méi)有先后次序。
Qualified Association
首先是沒(méi)有Qualified的
然后是Qualified
N-ary Association
Generalization
具體在編程語(yǔ)言中,就是繼承關(guān)系
很簡(jiǎn)單不多說(shuō)
Association->Aggregation->Composition
Aggregation表現(xiàn)的是一種part-whole的關(guān)系
Composition
Composition與Aggregation的區(qū)別是part只能屬于一個(gè)Assembly
可以說(shuō)Association->Aggregation->Composition關(guān)系一層強(qiáng)過(guò)一層
Abstract Class類(lèi)名用斜體字
屬性有一種叫做Derived Data,它的意思是這個(gè)屬性是被其它屬性或類(lèi)導(dǎo)出來(lái)的,被其它elements所決定,符號(hào)是在這個(gè)屬性前面加上斜杠
如上圖中,age由birthdate 和 currentDate所決定。
最后一種圖示,就是package
|