这篇文章给大家分享的是有关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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。