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

解析UML面向?qū)ο蠓治雠c建模中交互圖

開(kāi)發(fā) 架構(gòu)
在學(xué)習(xí)UML時(shí)你可能會(huì)遇到UML面向?qū)ο蠓治雠c建模的問(wèn)題,這里就向大家介紹一下UML面向?qū)ο蠓治雠c建模方面的知識(shí),希望通過(guò)本文的學(xué)習(xí)你能夠掌握。

UML面向?qū)ο蠓治雠c建模你是否熟悉,本節(jié)就和大家分享一下UML面向?qū)ο蠓治雠c建模中交互圖的內(nèi)容,相信通過(guò)本節(jié)的學(xué)習(xí)你對(duì)UML面向?qū)ο蠓治雠c建模的概念有清晰的認(rèn)識(shí)。

UML面向?qū)ο蠓治雠c建模  交互圖

一、概述

交互圖是用來(lái)表達(dá)系統(tǒng)的各個(gè)對(duì)象之間如何交互,如何合作完成某個(gè)行為的動(dòng)態(tài)模型工具,它與用例圖、狀態(tài)圖、活動(dòng)圖等共同構(gòu)成了系統(tǒng)的行為視圖。

交互圖主要用于對(duì)用例圖中的控制流進(jìn)行建模,它包括序列圖和協(xié)作圖,其中,序列圖按時(shí)間次序描述系統(tǒng)中各對(duì)象如何通過(guò)消息交互,協(xié)作圖從空間上描述收發(fā)消息的對(duì)象的結(jié)構(gòu)關(guān)系。

二、序列圖

UML面向?qū)ο蠓治雠c建模中序列圖是一種交互圖,描述了系統(tǒng)中各個(gè)對(duì)象之間傳遞消息的時(shí)間次序,用來(lái)表示用例的行為順序,從而為對(duì)象類(lèi)圖中概括對(duì)象的行為、劃分對(duì)象類(lèi)的職責(zé)提供依據(jù)。它依賴(lài)與用例圖,如果說(shuō)用例圖是對(duì)用戶(hù)需求的***次抽象,那通過(guò)序列圖,用戶(hù)的需求就會(huì)變得更加具體,系統(tǒng)中各個(gè)對(duì)象的行為和角色也更加清晰。

序列圖也稱(chēng)為時(shí)序圖,包括對(duì)象、生命線(xiàn)、消息和激活。其中激活表示該對(duì)象被占用以完成某個(gè)任務(wù),撤銷(xiāo)表示對(duì)象處于空閑等待消息狀態(tài)。在UML中,矩形表示對(duì)象是激活的,稱(chēng)為激活期或控制期。對(duì)象完成任務(wù)后被撤銷(xiāo),一般發(fā)生在一個(gè)消息離開(kāi)對(duì)象生命線(xiàn)的時(shí)候。

同步消息代表一個(gè)通過(guò)操作調(diào)用的嵌套的控制流,該操作調(diào)用要求操作同步。同步消息的接收方必須是一個(gè)被動(dòng)對(duì)象,即它是一個(gè)需要通過(guò)消息的驅(qū)動(dòng)才能執(zhí)行動(dòng)作的對(duì)象。異步消息代表一個(gè)非同步的信號(hào)請(qǐng)求,該信號(hào)異步要求一個(gè)操作。異步消息的發(fā)送方和接收方是并行工作的。異步消息的接收方必須是一個(gè)主動(dòng)對(duì)象,它不需要消息驅(qū)動(dòng)就可以執(zhí)行對(duì)象的動(dòng)作。

一個(gè)對(duì)象可以在交互中動(dòng)態(tài)創(chuàng)建。動(dòng)態(tài)創(chuàng)建的對(duì)象生命線(xiàn)起始位置低于正常的對(duì)象。一個(gè)對(duì)象可以在交互中銷(xiāo)毀。當(dāng)一個(gè)對(duì)象已經(jīng)完成了自己的全部動(dòng)作或活動(dòng)后,可以在對(duì)象生命線(xiàn)的末端使用刪除標(biāo)志來(lái)銷(xiāo)毀,對(duì)象可以自己銷(xiāo)毀自己(析構(gòu)函數(shù))。

自調(diào)用指一個(gè)對(duì)象調(diào)用自己。當(dāng)指定的事件已經(jīng)出現(xiàn)或者操作已完成時(shí),接收方立即發(fā)送一個(gè)異步消息給發(fā)送方,通知發(fā)送方可以繼續(xù)進(jìn)行后續(xù)的動(dòng)作,這就是回調(diào)機(jī)制?;卣{(diào)發(fā)送的是一個(gè)異步消息,收發(fā)雙方并行進(jìn)行各自的活動(dòng),并且并非任何異步消息都要有相對(duì)應(yīng)的回調(diào)消息,而返回消息則是與同步消息匹配的,同步消息的發(fā)送方必須等待接收方響應(yīng)后才能繼續(xù)后續(xù)的動(dòng)作。

三、協(xié)作圖

UML面向?qū)ο蠓治雠c建模中協(xié)作圖強(qiáng)調(diào)以消息傳遞為紐帶的一組對(duì)象之間的組織結(jié)構(gòu),用于描述系統(tǒng)的行為如何由系統(tǒng)的各對(duì)象合作完成的。

序列圖和協(xié)作圖都可以用來(lái)表示系統(tǒng)的動(dòng)態(tài)行為,前者側(cè)重強(qiáng)調(diào)消息的時(shí)間順序,即對(duì)象間的通信模式;后者側(cè)重強(qiáng)調(diào)對(duì)象間的靜態(tài)連接關(guān)系,即對(duì)象間的協(xié)作。

協(xié)作圖沒(méi)有時(shí)間維,所以消息和并發(fā)線(xiàn)程的時(shí)間順序必須用序號(hào)表示。協(xié)作圖描述了兩個(gè)方面:對(duì)交互作用的對(duì)象的靜態(tài)結(jié)構(gòu)描述,包括相關(guān)的對(duì)象的關(guān)系、屬性和操作;為完成工作在對(duì)象間交換的消息的時(shí)間順序的描述。***個(gè)方面稱(chēng)為協(xié)作所提供的“上下文”,第二個(gè)方面稱(chēng)為協(xié)作關(guān)系的“交互作用”。

四、交互圖建模

序列圖建模基本步驟:

(1)確定交互的上下文。

(2)找出參與交互的對(duì)象類(lèi)的角色,并橫向排列在序列圖的頂部。最重要的或啟動(dòng)交互的對(duì)象放在最左邊,依次向右排列,動(dòng)態(tài)創(chuàng)建的對(duì)象應(yīng)放在被創(chuàng)建的時(shí)間點(diǎn)位置。

(3)對(duì)每個(gè)對(duì)象設(shè)置一條垂直向下的生命線(xiàn)。

(4)從初始化交互的消息開(kāi)始,自頂向下在生命線(xiàn)上放置消息,注意各類(lèi)不同消息的表示法。

(5)在生命線(xiàn)上繪制對(duì)象的激活期,包括動(dòng)態(tài)對(duì)象的創(chuàng)建和銷(xiāo)毀。

(6)根據(jù)消息之間的關(guān)系,確定循環(huán)結(jié)構(gòu)及其循環(huán)參數(shù)和出口條件。

協(xié)作圖建模的基本步驟:

(1)確定交互的上下文。

(2)找出參與交互的對(duì)象類(lèi)的角色,把它們作為圖形的節(jié)點(diǎn)安置在協(xié)作圖中。最重要的對(duì)象放在中央。

(3)設(shè)置對(duì)象的初始性質(zhì)。

(4)給出對(duì)象間的關(guān)聯(lián),注意必要的修飾,如構(gòu)造型<<global>><<local>>等。

(5)從初始化交互的消息開(kāi)始,按交互順序放置其它消息,注意消息的序號(hào)不可缺少。

(6)處理特殊的情況,如循環(huán)、主動(dòng)對(duì)象、異步消息、多對(duì)象等。

UML面向?qū)ο蠓治雠c建模中序列圖和協(xié)作圖都是交互圖,但它們間并不完全相同,表現(xiàn)為:

(1)序列圖和協(xié)作圖都能等價(jià)地表現(xiàn)系統(tǒng)運(yùn)行中對(duì)象的交互行為。

(2)序列圖表達(dá)了時(shí)間的消息序列,體現(xiàn)了系統(tǒng)行為的順序。

(3)協(xié)作圖表達(dá)了系統(tǒng)中對(duì)象間的關(guān)聯(lián)和消息的相互作用,體現(xiàn)了系統(tǒng)的靜態(tài)結(jié)構(gòu)。

(4)序列圖適合按時(shí)間次序建立系統(tǒng)的控制流模型,協(xié)作圖適合按對(duì)象組織建立系統(tǒng)的控制流模型
 

【編輯推薦】

  1. 技術(shù)分享 UML面向?qū)ο蠓治黾捌浒ǖ膱D、建模步驟
  2. UML面向?qū)ο笾R(shí)入門(mén)
  3. 學(xué)習(xí)筆記 基于UML面向?qū)ο蟮脑O(shè)計(jì)
  4. UML面向?qū)ο蠼VR(shí)簡(jiǎn)介
  5. 技術(shù)分享 UML面向?qū)ο蠼=馕?/a>

 

 

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

2010-06-17 17:57:10

UML面向?qū)ο蠓治雠c設(shè)

2010-06-13 17:56:49

UML面向?qū)ο?/a>

2009-06-26 13:38:46

UML面向?qū)ο?/a>

2010-06-18 11:28:14

2010-07-06 17:21:08

UML面向?qū)ο?/a>

2010-07-08 13:35:39

UML面向?qū)ο?/a>

2010-06-13 17:48:36

UML面向?qū)ο蠼?/a>

2023-03-10 07:43:50

UML圖OOA面向?qū)ο?/a>

2022-08-26 08:35:59

對(duì)象設(shè)計(jì)底層

2010-07-08 10:13:54

UML交互圖

2009-06-26 13:56:20

UML面向?qū)ο蠼?/a>

2010-07-02 12:22:53

UML對(duì)象圖

2020-10-10 11:03:24

面向?qū)ο?/a>編程語(yǔ)言開(kāi)發(fā)

2010-07-05 10:38:07

UML圖

2010-06-18 15:55:47

UML建模

2010-07-09 09:51:26

UML面向?qū)ο?/a>

2010-07-08 10:47:42

UML面向?qū)ο?/a>

2010-07-07 18:11:13

UML對(duì)象圖

2010-06-29 14:33:36

UML面向?qū)ο蠼?/a>

2010-06-17 18:17:36

UML面向?qū)ο蠹夹g(shù)
點(diǎn)贊
收藏

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