【问题标题】:How to show event in a sequence diagram如何在序列图中显示事件
【发布时间】:2012-09-01 13:19:19
【问题描述】:

我想画一个时序图,我想展示用户和 UI 之间的交互。作为演员的用户将填充一个文本框,并在 text_change 事件上调用 BL 类的异步方法。在这种情况下,是否可以在图表上显示 text_change 事件?我该如何展示它?

谢谢

【问题讨论】:

    标签: modeling uml


    【解决方案1】:

    为了在或多或少复杂且 GUI 丰富的应用程序中表示交互,我也经常发现自己对在序列图中表示 .NET 事件很感兴趣。在我看来,没有真正的描述性方法可以使用标准方法有效地做到这一点。

    一种形式上合理的方式可能如下:引发事件基本上只是调用目标实例中定义的函数,唯一的区别是您不是直接调用它,而是通过系统事件消息循环调用它。因此,在幕后,引发事件与调用系统本身中的某些 HandleMessage("MyEvent", params object[] args) 函数相同,参数是事件名称和列表的可选参数。我不知道确切的名称和签名是什么,但这并不重要。

    在上图中,Source 实例发出一个事件 MyEvent,其中包含落在系统接收器上的参数列表。接收者找到收件人(Target)并调用其对应的方法(Target.OnMyEvent())。为了强调这个调用是事件触发的,我引入了一个称为“Event”的原型。

    这个方案可能看起来有些笨拙,但对我来说,它涵盖了这种情况。

    【讨论】:

      【解决方案2】:

      你想做的事情是可能的,但不寻常。通常这些交互将由现有系统/平台提供,因此没有必要将其包含在应用程序设计中。

      Introduces how this would typically be documented

      我可能会使用collaboration digram 来做到这一点。

      如果你坚持Sequence Diagrams figure 2 should help

      【讨论】:

      • 你能提供一些证明它非常不寻常的源材料吗?
      猜你喜欢
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多