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

免费建站   2024年05月10日 9:31  

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

实例说明

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

处理流程如下:

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

Framework向:DrawerView发送菜单消息

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

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

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

消息签名

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

Message/Parameters/Return Value

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

Argument(s)

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

Assign To

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

如果生命线没有关联类

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

在时序图中选择生命线

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

选择对应的类

直接赋值的表现

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

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

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

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

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

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

选择【Features】属性页

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

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

真正的用途

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

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

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

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

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部