微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

​在UML中如何定义连续

这篇文章将为大家详细讲解有关在UML中如何定义连续,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在UML中是这样定义连续的:

交互中的一个标签,允许将条件拆分成两个片段。而这两个片段在语义上是连在一起的。

示例


这里采用EA帮助系统中的例子,当然版权也属于SparxSystems。首先是主流程。

​在UML中如何定义连续

eatab调用repos:File的reqConn方法,如果请求成功,则调用logConn后执行pathSucc连续标签引导的部分,如果失败,则执行pathFail连续标签引导的部分。两个标签分别引导的处理被设计到了ConnHandler中。

​在UML中如何定义连续

pathSucc标签接下来的处理是向estab返回connListen,而pathFail标签接下来的处理是调用ReCt的trackFail方法跟踪错误

使用了连续标签以后,使用者可以自由定义成功和失败时的处理。

如果本文就这么结束了,是不是觉得太简单了?

之所以把本文拖到今天才写是因为有一个疑问一直没有解决:如果连续的效果仅限于此的话,完全可以通过保存reqConn的执行结果,然后再利用参数传递给ConnHandler的方式来实现,这样只会更加清晰。

我们忽略了什么呢?

还是用自创的例子来说明吧。这里以某智能摄像头为例。

​在UML中如何定义连续

基本流程如下:

5STimer每次发生Timeout以后会向SmartCamera发出通知,SmartCamera接到通知后拍摄照片,然后把拍摄的照片向云端传送。这里为拍摄成功,拍摄失败,传送成功,传送失败分别准备了连续标签以备其他处理使用。

下面是一种处理方式的例子:

​在UML中如何定义连续

这里只是简单地在拍照失败,云推送失败时向MobilePhone报告错误信息。也可以定义其他的处理,例如云推送失败时本地保存等等。

在本例中,拍照/推送的处理处于无限循环的处理中,永远(基本上)也等不到处理结束的时候。因此也就不存在返回值如何如何了。

关于“在UML中如何定义连续”这篇文章分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐