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