自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度剖析UML序列圖中的組合碎片

開(kāi)發(fā) 架構(gòu)
UML序列圖有很多值得學(xué)習(xí)的地方,本文向大家介紹一下UML序列圖中的組合碎片,組合碎片主要包括跳轉(zhuǎn)和并行兩大部分,希望通過(guò)本文你能學(xué)到更多知識(shí)。

本文和大家重點(diǎn)討論UML序列圖中的組合碎片的概念,在本文前面“基礎(chǔ)”的段落中呈現(xiàn)的,我介紹了“變體”,“選擇項(xiàng)”,和“循環(huán)”的組合碎片。這些三個(gè)組合碎片是大多數(shù)人將會(huì)使用最多的。

組合碎片(跳轉(zhuǎn)和并行)

在本文前面“基礎(chǔ)”的段落中呈現(xiàn)的,我介紹了“變體”,“選擇項(xiàng)”,和“循環(huán)”的組合碎片。這些三個(gè)組合碎片是大多數(shù)人將會(huì)使用最多的。然而,有二個(gè)其他的組合碎片,大量共享的人將會(huì)發(fā)現(xiàn)有用——跳轉(zhuǎn)和并行。

UML序列圖中跳轉(zhuǎn)

跳轉(zhuǎn)組合碎片幾乎在每個(gè)方面都和選擇項(xiàng)組合碎片一致,除了兩個(gè)例外。首先,跳轉(zhuǎn)的框架namebox的文本“break”代替了“option”。其次,當(dāng)一個(gè)跳轉(zhuǎn)組合碎片的消息運(yùn)行時(shí),封閉的交互作用的其他消息將不會(huì)執(zhí)行,因?yàn)樾蛄写蚱屏朔忾]的交互。這樣,跳轉(zhuǎn)組合碎片非常象C++或Java的編程語(yǔ)言中的break關(guān)鍵字。

 

圖16:來(lái)自圖8的UML序列圖片段的重構(gòu),片段使用跳轉(zhuǎn)代替變體

跳轉(zhuǎn)最常用來(lái)做模型異常處理。圖16是圖8的重構(gòu),但是這次圖16使用跳轉(zhuǎn)組合碎片,因?yàn)樗裝alance<amount的情況作為一個(gè)異常對(duì)待,而不是一個(gè)變體流。要閱讀圖16,你從序列的左上角開(kāi)始,向下讀。當(dāng)序列到達(dá)返回值“balance”的時(shí)候,它檢查看看是否余額比金額更少。如果余額不少于金額,被傳遞的下一個(gè)消息是addDebitTransaction消息,而且序列正常繼續(xù)。然而,在余額比金額更少的情況下,然后序列進(jìn)入跳轉(zhuǎn)組合碎片,它的消息被傳遞。一旦跳轉(zhuǎn)組合的消息的已經(jīng)被傳遞,序列不發(fā)送任何其它消息就退出(舉例來(lái)說(shuō),addDebitTransaction)。
注意有關(guān)跳轉(zhuǎn)的一件重要的事是,它們只引起一個(gè)封閉交互的序列退出,不必完成圖中描述的序列。在這種情況下,跳轉(zhuǎn)組合是變體或者循環(huán)的一部分,然后只是變體或循環(huán)被退出。

UML序列圖中并行

今天的現(xiàn)代計(jì)算機(jī)系統(tǒng)在復(fù)雜性和有時(shí)執(zhí)行并發(fā)任務(wù)方面不斷進(jìn)步。當(dāng)完成一個(gè)復(fù)雜任務(wù)需要的處理時(shí)間比希望的長(zhǎng)的時(shí)候,一些系統(tǒng)采用并行處理進(jìn)程的各部分。當(dāng)創(chuàng)造一個(gè)UML序列圖,顯示并行處理活動(dòng)的時(shí)候,需要使用并行組合碎片元件。
并行組合碎片使用一個(gè)框架來(lái)畫(huà),你把文本“par”放在框架的namebox中。然后你把框架的內(nèi)容段用虛線(xiàn)分為水平操作元??蚣艿拿總€(gè)操作元表示一個(gè)在并行運(yùn)行的線(xiàn)程。

 

圖17:oven是并行做兩個(gè)任務(wù)的對(duì)象實(shí)例

圖17可能沒(méi)有舉例說(shuō)明做并行活動(dòng)的對(duì)象的***的計(jì)算機(jī)系統(tǒng)實(shí)例,不過(guò)提供了一個(gè)容易理解的并行活動(dòng)序列的例子。序列如這樣進(jìn)行:hungryPerson傳遞cookFood消息給oven對(duì)象。當(dāng)oven對(duì)象接收那個(gè)消息時(shí),它同時(shí)發(fā)送兩個(gè)消息(nukeFood和rotateFood)給它本身。這些消息都處理后,hungryPerson對(duì)象從oven對(duì)象返回yummyFood。

總結(jié)

UML序列圖是一個(gè)用來(lái)記錄系統(tǒng)需求,和整理系統(tǒng)設(shè)計(jì)的好圖。UML序列圖是如此好用的理由是,因?yàn)樗凑战换グl(fā)生的時(shí)間順序,顯示了系統(tǒng)中對(duì)象間的交互邏輯。
 

【編輯推薦】

  1. 圖例解析UML序列圖中變體和選擇項(xiàng)作用
  2. 繪制UML序列圖時(shí)必須注意的幾個(gè)問(wèn)題
  3. 技術(shù)分享 Eclipse和UML工具EA的連接方法
  4. 實(shí)例解析UML序列圖使用
  5. 學(xué)習(xí)筆記 解析UML序列圖中符號(hào)和生命線(xiàn)

 

 

責(zé)任編輯:佚名 來(lái)源: it168.com
相關(guān)推薦

2010-07-07 17:14:44

UML序列圖

2010-06-11 14:26:28

UML序列圖

2010-06-13 12:40:44

UML序列圖

2010-07-05 11:01:05

常用UML圖

2010-07-07 17:23:10

UML序列圖

2010-07-07 17:05:26

UML序列圖

2010-07-01 16:38:28

UML序列圖

2010-07-06 16:11:52

UML序列圖

2009-04-23 14:21:29

UML序列圖繪制

2010-07-07 14:33:11

UML序列圖

2010-06-09 09:41:33

UML類(lèi)圖

2010-06-17 18:31:12

繪制UML序列圖

2010-06-13 11:28:39

UML序列圖

2010-07-07 14:28:52

繪制UML序列圖

2010-07-12 14:08:59

UML序列圖

2010-07-01 16:48:54

UML序列圖

2010-07-06 12:54:17

UML序列圖

2010-06-11 16:27:47

UML視圖

2010-06-11 14:35:18

UML序列圖

2010-07-06 14:27:42

Visio繪制UML序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)