1

我在 Enterprise Architect 中有一个序列图。

它是一个可以由两个来源之一启动的过程:计时器过程或手动过程(用户在 GUI 屏幕上点击按钮)。

请问如何在图表上显示这个?

4

2 回答 2

1

序列图不允许您显示同一操作的两个替代调用。您可以在活动图中使用两个不同的接收事件导致相同的活动来实现这一点,但在序列图中,您不能将两条消息绘制到相同的序列中。

您可以做的是从一个序列中调用其他序列。

为此,您首先绘制流程的顺序,而不是显示它是如何启动或由谁发起的,而只显示流程中发生的事情。

然后,您为两种不同的情况绘制两个单独的序列图,并将第一个序列图拖放到每个序列图中,并将其作为“交互发生”放置。

最后,您将来自参与者的消息绘制到交互发生。可以在图表中双击该事件,这将打开描述该过程的序列图。

在此处输入图像描述

当然,一个相关的问题是,在序列图中没有显示自发事件(超时)的标准方法,因为它们关注调用者和被调用者之间的交互(通常是级联的)。处理这个问题的最简单方法是创建一个演员“时钟”或类似的,并让它启动这个过程。

于 2013-02-20T09:26:13.187 回答
0

您可能想要引入一个对计时器进程和手动调用通用的接口(或超类),并将其设置为用户,因为调用(我假设)无论如何都可能调用相同的基本方法。

如果他们的行为完全不同,我会按照 Uffe 的建议创建 2 个图表。

一些工具还允许在序列图中使用片段(请参阅企业架构师的相应帮助文本)。然后你可以使用例如“alt”片段。但是请注意给定链接中的建议:“序列图不适用于显示复杂的程序逻辑”。

于 2013-02-20T10:33:34.030 回答