您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)EA畫(huà)UML時(shí)序圖中如何實(shí)現(xiàn)交互和交互使用的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
交互(interaction)
交互描述了在一個(gè)上下文中為了執(zhí)行一個(gè)任務(wù),消息在角色之間是如何交換的。交互描述了行為的模式。
中文本身相信都能看懂,但想知道說(shuō)什么卻不是那么容易。讓我們換一種說(shuō)法。
定義一個(gè)函數(shù)除了需要函數(shù)體以外還需要函數(shù)聲明。函數(shù)聲明規(guī)定了調(diào)用函數(shù)是需要提供哪些信息,函數(shù)的返回值是什么。交互的作用也一樣。
實(shí)例
下面以電車(chē)速度控制為例說(shuō)明,首先看下面的時(shí)序圖。
電車(chē)司機(jī)設(shè)定加速度上下限,目標(biāo)速度以后,調(diào)用startControlPattern啟動(dòng)指定模式的速度控制,當(dāng)目標(biāo)達(dá)成或出現(xiàn)異常情況時(shí),結(jié)束控制并反饋結(jié)束的原因。
這段時(shí)序圖描述了速度控制是如何進(jìn)行的,但如果想被其他時(shí)序圖(嚴(yán)格講應(yīng)該是交互圖)使用,還需要定義交互。這就像有了函數(shù)體,還需要函數(shù)聲明一樣。
定義交互
首先拖動(dòng)工具箱中的【Interaction】圖標(biāo)到時(shí)序中。
接下來(lái)在【Interation】屬性對(duì)話(huà)框中各個(gè)屬性頁(yè)輸入必要的信息。
【General】屬性頁(yè)
輸入交互名SpeedControl。
【Behavior】屬性頁(yè)
選擇返回值的類(lèi)型為FinishReason(需要事先定義數(shù)據(jù)類(lèi)型)。
【Parameters】屬性頁(yè)
定義max_acc,max_dec,speed一共3個(gè)參數(shù)。它們相當(dāng)于函數(shù)的形參。
按下【確定】按鈕并調(diào)整interation框的大小后,時(shí)序圖就會(huì)變成下面這個(gè)樣子。
外層方框的左上角文字為【int SpeedControl(,,)】,其中的int不是表示整數(shù),而是interation的縮寫(xiě)。
交互使用
定義交互以后自然就是使用交互。
步驟
首先將定義過(guò)Interaction的時(shí)序圖拖動(dòng)到使用該交互的時(shí)序圖,這時(shí)會(huì)出現(xiàn)如下對(duì)話(huà)框,這里選【Interaction Occurrence】。在UML中,交互發(fā)生(interaction occurrence)和交互使用(interaction use)的含義是一樣的。
設(shè)定方法
通過(guò)隨后出現(xiàn)的【Interaction Occurrence】對(duì)話(huà)框中的各個(gè)屬性頁(yè)來(lái)進(jìn)行設(shè)定。
【General】屬性頁(yè)
指定調(diào)用上下文中的實(shí)際名稱(chēng)。本例輸入ConstantSpeedControl。這個(gè)名稱(chēng)相當(dāng)于函數(shù)調(diào)用時(shí)的別名。
【Call】屬性頁(yè)
點(diǎn)擊【Behavior】項(xiàng)目右側(cè)的【...】按鈕,選擇前面定義的SpeedControl交互以后,在【ReturnValue】項(xiàng)目中輸入FinishReason,在AttributeName項(xiàng)目中輸入finish_reason。這個(gè)finish_reason相當(dāng)于函數(shù)調(diào)用時(shí)用來(lái)接受返回值的變量。
【Arguments】屬性頁(yè)
為Interation的每個(gè)參數(shù)指定調(diào)用上下文中的變量名。輸入的內(nèi)容相當(dāng)于定義函數(shù)調(diào)用時(shí)的實(shí)參。
按下【確定】按鈕以后,調(diào)用側(cè)的時(shí)序圖變成下面這樣。
圖中明確表明的實(shí)參,形參的對(duì)應(yīng)關(guān)系,返回值賦值操作等信息。實(shí)參應(yīng)該在使用該交互前指定,返回值可以在調(diào)用以后使用。這里省略。
感謝各位的閱讀!關(guān)于“EA畫(huà)UML時(shí)序圖中如何實(shí)現(xiàn)交互和交互使用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。