温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

EA画UML时序图中消息签名的示例分析

发布时间:2021-12-20 14:57:32 来源:亿速云 阅读:319 作者:小新 栏目:大数据

这篇文章主要为大家展示了“EA画UML时序图中消息签名的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“EA画UML时序图中消息签名的示例分析”这篇文章吧。

实例说明

先看下面图形编辑软件中创建组合图形的时序图。

EA画UML时序图中消息签名的示例分析

处理流程如下:

  1. 用户在选择组合目标图形后点击【Make group】菜单(异步调用)

  2. Framework向:DrawerView发送菜单消息

  3. :DrawView收到消息后从m_shapeSelector取得包含选中图形的selectedShape链表。

  4. :DrawView以选中的selectedShape链表为参数调用data:DrawData的makeGroup方法,makeGroup方法将组合结果保存在selectedShape中,并返回组合是否成功。而DrawView将是否成功保存在success变量中。

  5. :DrawViewer异步调用:Framework的Update接口重画图形(以下省略)

消息签名

我们以上述流程中的第4步为例来说明消息签名的设定方法。

EA画UML时序图中消息签名的示例分析

Message/Parameters/Return Value

这三项我们推荐点击【Operation】按钮进入对应的类中选择或创建操作。手动输入有两个问题:一是不容易输入正确;二是不能和类同步。这里不推荐。

Argument(s)

此处填写调用操作时的实参。

Assign To

输入用于接受操作返回值的变量。如果这个变量是调用侧的数据成员,就可以直接从下拉列表中选择。

如果生命线没有关联类

因为某种原因(比如先画时序图)导致时序图中的生命线没有和类联系起来时,也不用着急,按照以下步骤后期指定即可:

  1. 在时序图中选择生命线

  2. 在上下文菜单中选择【Advanced】-【Instance Classfier】启动Select
    Classfier对话框

  3. 选择对应的类

直接赋值的表现

流程图中经常会遇到需要表达直接赋值的场景,比如在生命周期一文中出现的删除图形的时序图。

EA画UML时序图中消息签名的示例分析

一种做法是:在【Return Value】中输入null_ptr,同时在【Assign To】中输入/选择m_currentShape。但如果你足够细心,你会注意到在null_ptr之前有一个冒号。它出现的原因是UML中消息签名的格式遵循如下定义(方括号代表可选项):

[attribute]=name[(argument)][:return-value]

当return-value有内容时冒号也会同时表示。怎么样,你能接(忍)受么?

还有另外一种方式,在签名对话框中的Message项目中输入null_ptr,对于后面伴随出现的括号,可以通过以下的步骤解决:

  1. 在时序图空白处双击鼠标或右键调出上下文菜单后选择【Property】项目

  2. 选择【Features】属性页

  3. 选中下图中红框中【Suppress Brackets for Operations without Parameter】选项

这样,就可以得到下面的结果,我们大一点表示。

EA画UML时序图中消息签名的示例分析

真正的用途

其实这个设定的真正目的当消息就是表达某种信息而不是操作时,可以用来抑制消息名后面的小括号表示。

如果回头看看本文开头时序图第一步的表示,用户选择【Make Group】的操作并不是Framework的函数调用,没有后面的小括号会自然很多。

对于那些没有参数的操作,我们可以在【Arguments】文本框中输入void,这时小括号就又可以表示出来了。这种程度的代价应该是可以接受的。

以上是“EA画UML时序图中消息签名的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI