UML 剖析(2) —— 類圖關(guān)聯(lián)和時(shí)序圖

上篇文章講解完類圖實(shí)體仰剿,現(xiàn)在講解類圖關(guān)聯(lián)日川,如果沒(méi)閱讀過(guò)類圖實(shí)體的那篇文章寓盗,鏈接在這:UML 從懵逼到精通(1) —— 類圖實(shí)體 ,這節(jié)繼續(xù)還是使用 StarUML 來(lái)講解望侈。

1. 類圖關(guān)聯(lián)

Classes(Basic)

下面一個(gè)一個(gè)講解上圖的關(guān)聯(lián)屬性具练。

1.2 Association

Association 是雙向關(guān)聯(lián)的意思,比如老師與學(xué)生就是一個(gè)雙向關(guān)聯(lián)的關(guān)系甜无。舉例如下:

Association

上面這個(gè)圖 Student 的 1..* 的意思一個(gè)到多個(gè)的意思,也就是代表一個(gè) Teacher 對(duì)象對(duì)應(yīng)多個(gè) Student哥遮。

1.3 Directed Association

這個(gè)關(guān)聯(lián)是有方向關(guān)聯(lián)的意思岂丘,舉例圖如下:

Directed Association

這個(gè)的意思是就是被關(guān)聯(lián)類 B 以類屬性出現(xiàn)在類 A。

1.4 Aggregation

這個(gè)是聚合的意思眠饮,體現(xiàn)了整體和部分的關(guān)系奥帘。

Aggregation

上圖的意思就是一個(gè) School 類擁有一個(gè)或多個(gè) Student 類。

1.5 Composition

是一種比 Aggregation 更強(qiáng)的聚合關(guān)系仪召,類似于孕婦與胎兒的關(guān)系寨蹋,胎兒是依附于孕婦的,如果孕婦死了扔茅,胎兒也不能生存已旧。舉例如圖:

Composition

1.6 Dependency

這個(gè)的意思其實(shí)就是一個(gè)類依賴另一個(gè)類,舉例來(lái)說(shuō)就是一個(gè)類作為參數(shù)在另一個(gè)類的方法中作為調(diào)用召娜。

Dependency

1.7 Generalization

這個(gè)的意思是泛化關(guān)系运褪,表示一個(gè)類對(duì)另一個(gè)類的繼承。下圖就是 A 繼承 B 的意思玖瘸。

Generalization

1.8 Interface Realization

這個(gè)也非常簡(jiǎn)單秸讹,就是接口實(shí)現(xiàn)的意思。舉例如下圖:

Interface Realization

2. 時(shí)序圖

2.1 定義

時(shí)序圖其實(shí)就是對(duì)象之間傳遞消息的時(shí)間順序⊙诺梗現(xiàn)在還是使用 StarUML 來(lái)講解時(shí)序圖的元素璃诀。


2.2 Lifeline

這個(gè)的意思就是一個(gè)對(duì)象,舉例如下圖:

Lifeline

2.3 Message

這個(gè)的意思就是發(fā)送一條普通消息蔑匣,比如用戶發(fā)送一條登錄的消息給服務(wù)器劣欢,舉例如下圖:

Message

2.4 Self Message

這個(gè)的意思就是自己發(fā)送消息給自己,比如一個(gè)對(duì)象的一個(gè)方法調(diào)用了本對(duì)象的另一個(gè)方法裁良,舉例如下圖:

Self Message

2.5 Async Message

這個(gè)的意思是異步消息氧秘,舉例如下圖:

Async Message

這個(gè)圖的意思就是 User 發(fā)出 Login 的消息給 Server,Server 發(fā)送保存用戶消息給到數(shù)據(jù)庫(kù)趴久,注意這里的消息是異步消息丸相。

2.6 Reply Message

這里的意思是回調(diào)消息,舉例如下圖:

Reply Message

上圖的意思就是 User 發(fā)出 Login 的消息給 Server 后彼棍,Server 同時(shí)發(fā)出異步消息給數(shù)據(jù)庫(kù)和登錄結(jié)果給到用戶灭忠。

2.7 Create Message

這個(gè)的意思就是創(chuàng)建一個(gè)對(duì)象膳算,舉例如下圖:

Create Message

2.8 Delete Message

這個(gè)的意思是銷毀一個(gè)對(duì)象,舉例如下圖:

Delete Message

2.9 Async Signal Message

這個(gè)的意思就是發(fā)送一個(gè)信號(hào)消息弛作,意思就是當(dāng)某個(gè)對(duì)象達(dá)到某個(gè)條件后就會(huì)自動(dòng)發(fā)送一個(gè)信號(hào)消息給另一個(gè)對(duì)象涕蜂,類似于觀察者模式。

Async Signal Message

2.10 Found Message

這個(gè)的意思就是發(fā)送一個(gè)不知道來(lái)源的消息映琳,舉例如下圖:

Found Message

2.11 Lost Message

這個(gè)的意思就是消息發(fā)送到一個(gè)不知道來(lái)源的地方机隙,也可以說(shuō)消息沒(méi)有到達(dá)目的地,舉例如下圖:

Lost Message

2.12 Endpoint

這個(gè)的意思就是一個(gè)不知來(lái)源的消息對(duì)象萨西,如下圖:

Endpoint

2.13 Gate

這個(gè)的意思用于在時(shí)序圖外與圖內(nèi)的消息交互有鹿,舉例如下圖:

Gate

上圖的正方形就是 Gate。

2.14 State Invariant

這個(gè)的意思就是約束某個(gè)對(duì)象要在某一個(gè)狀態(tài)下谎脯,舉例如下圖:

State Invariant

這個(gè)的意思就是說(shuō)在 start 開(kāi)始前葱跋,Task 必須要在 Finish 狀態(tài)。

2.15 Combined Fragment

這個(gè)的翻譯叫組合片段源梭,它是用來(lái)解決交互執(zhí)行的條件和方式娱俺。
組合片段常用的有這么幾種:

類型 名稱 說(shuō)明
alt(alternatives) 選擇 包含一個(gè)片段列表,這個(gè)片段列表有備選的消息序列废麻,每次只能走一個(gè)消息序列
opt(option) 選項(xiàng) 包含一個(gè)可能會(huì)發(fā)生的消息序列
loop(iteration) 重復(fù) 包含一個(gè)可以重復(fù)的消息序列
par(parallel) 并行 包含一個(gè)可以并行的消息序列
break(break) 中斷 如果執(zhí)行了此部分則放棄了序列的其他部分的執(zhí)行荠卷,可用于中斷 loop 片段

以下來(lái)各自舉例說(shuō)明:

2.15.1 alt(alternatives)

alt(alternatives)

上圖的意思就是當(dāng)滿足了 a > 1 條件后,就會(huì)執(zhí)行 Message1烛愧,否則執(zhí)行 Message2僵朗。

2.15.2 opt(option)

opt(option)

上圖的意思就是當(dāng)滿足了 a > 1 條件后,才會(huì)執(zhí)行 Message1屑彻。

2.15.3 loop(iteration)

loop(iteration)

上圖的意思是不停重復(fù)發(fā)送 Message1 消息验庙。如果要限定 loop 的次數(shù)的話也可以按下圖這樣:

loop(10)

這樣就代表這個(gè)循環(huán)重復(fù)了 10 次。

2.15.4 par(parallel)

par(parallel)

上圖的意思就是并行發(fā)送三條消息社牲。

2.15.6 break(break)

break(break)

上圖的意思就是當(dāng) a > 0 時(shí)粪薛,就會(huì)跳出循環(huán),發(fā)送消息到 ClassC搏恤。

常用的組合片段大概就是這些违寿,如果各位對(duì)其他片段有興趣的話,可以自行研究熟空,這里就不再細(xì)說(shuō)了藤巢。

2.16 Continuation

Continuation

這個(gè)的意思用來(lái)表示這個(gè)序列的作用。

2.17 Interaction Use

這個(gè)的意思就是用來(lái)描述兩個(gè)對(duì)象的交互現(xiàn)象息罗,舉例如下:

Interaction Use

這個(gè)的意思就是 User 和 UserManager 的交互結(jié)果掂咒,User 使用 id 和 password 作為參數(shù),UserManager 返回 result 作為 結(jié)果。

參考書籍與文章:
《UML和模式應(yīng)用》
《大象:Thinking in UML》
UML Message
UML Sequence Diagrams

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绍刮,一起剝皮案震驚了整個(gè)濱河市温圆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孩革,老刑警劉巖岁歉,帶你破解...
    沈念sama閱讀 223,126評(píng)論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異膝蜈,居然都是意外死亡锅移,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門饱搏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)非剃,“玉大人,你說(shuō)我怎么就攤上這事窍帝。” “怎么了诽偷?”我有些...
    開(kāi)封第一講書人閱讀 169,941評(píng)論 0 366
  • 文/不壞的土叔 我叫張陵坤学,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我报慕,道長(zhǎng)深浮,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 60,294評(píng)論 1 300
  • 正文 為了忘掉前任眠冈,我火速辦了婚禮飞苇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蜗顽。我一直安慰自己布卡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,295評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布雇盖。 她就那樣靜靜地躺著忿等,像睡著了一般。 火紅的嫁衣襯著肌膚如雪崔挖。 梳的紋絲不亂的頭發(fā)上贸街,一...
    開(kāi)封第一講書人閱讀 52,874評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音狸相,去河邊找鬼薛匪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛脓鹃,可吹牛的內(nèi)容都是我干的逸尖。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼冷溶!你這毒婦竟也來(lái)了渐白?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 40,249評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逞频,失蹤者是張志新(化名)和其女友劉穎析珊,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蝙叛,經(jīng)...
    沈念sama閱讀 46,760評(píng)論 1 321
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡享潜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,840評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了基协。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片歌亲。...
    茶點(diǎn)故事閱讀 40,973評(píng)論 1 354
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖澜驮,靈堂內(nèi)的尸體忽然破棺而出陷揪,到底是詐尸還是另有隱情,我是刑警寧澤杂穷,帶...
    沈念sama閱讀 36,631評(píng)論 5 351
  • 正文 年R本政府宣布悍缠,位于F島的核電站,受9級(jí)特大地震影響耐量,放射性物質(zhì)發(fā)生泄漏飞蚓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,315評(píng)論 3 336
  • 文/蒙蒙 一廊蜒、第九天 我趴在偏房一處隱蔽的房頂上張望趴拧。 院中可真熱鬧,春花似錦山叮、人聲如沸著榴。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,797評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)兄渺。三九已至,卻和暖如春汰现,著一層夾襖步出監(jiān)牢的瞬間挂谍,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,926評(píng)論 1 275
  • 我被黑心中介騙來(lái)泰國(guó)打工瞎饲, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留口叙,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,431評(píng)論 3 379
  • 正文 我出身青樓嗅战,卻偏偏與公主長(zhǎng)得像妄田,于是被迫代替她去往敵國(guó)和親俺亮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,982評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容