如何在 UML activity 图中模拟用户与 GUI 控件的交互?

How-to model user interaction with GUI controls in UML activity diagram?

假设您有一个简单的 GUI 应用程序。当你打开它时,有一个输入框和一个按钮放在应用程序 window 上。当您按下按钮时,您应该会看到输入的值显示在弹出消息框中。当然,不在输入框中输入值也可以点击按钮。另一种可能性是用户在打开应用程序后立即退出。 您如何在 UML activity 图中对此进行建模? 典型的 UML 元素如 a) 决策节点 b) fork/join 节点 似乎不适合我。

根据我的理解 a) 当对某个集合 属性 进行检查并根据结果将流路由到某个地方时使用;这是不合适的,因为没有进行检查 b) 不合适,因为它假定并行执行 (?),而在建模情况下并非如此。

虽然我不明白接受的答案中建议的 "Event element" 是什么意思,但也有类似的 question here on SO

这似乎不适用于有用的 activity 图:

Of course, the button can be clicked without entering the value into the input box.

然后没有什么值得注意的activity,所以没有什么可建模的。

Another possibility is that user exits the application right after opening it.

这里也一样。

UML 的大部分方面都是不支持 GUI 的。您不想花时间为琐碎的案例建模,而是专注于实际的工作流程。这样的图表会增加更多的价值。

不过,如果您要为您的示例建模,那么您的假设基本上是正确的。不过,输入验证不受将输入留空的自愿用户决定的约束。无论如何,你必须这样做。

有可能。 在代表 GUI 元素的 类 实例上使用调用操作调用操作,还使用 ​​Accpet 事件操作从 GUI elements.GUI 元素接收事件应定义为标准 类。请参阅 UML 上层结构文档中的操作模型部分。 UML Website

这是一个非常有趣的问题。正如在之前的 post 中所说,UI 通常以可视化形式接收事件和发送信息。 因此,当 UI 可以在没有预定义顺序的情况下接收不同的 s 事件时,特定的 UML 操作(activity 图)如“接受事件”和“信号发送”是合适的。 Activity图表一般都是基于“场景”的观点,展示了一些场景而不是全部。制作面向事件的activity图更难;有时,必须使用“中断区域”。