首页 > 解决方案 > 如何在 GUI 中绘制连续的用户事件图?

问题描述

我正在尝试创建用户交互图表。在许多情况下,我必须采用一些参数,例如:mousePosition.x 或 touchDown.duration 等,并将其传递给一些 f(x) 函数,以使用这些参数作为接口属性来呈现不同的 UI。

让我们以基本滑块界面为例。[-----o-----]

我想画出操纵滑块旋钮的简单行为。我的逻辑如下:

pre condition: mousePosition.x = knobPosition.x; knobPosition.x = n
event: mosuseDown
event: mouseMove.x
if knobPosition.xMin < mousePosition.x < knobPosition.xMax
   render: knobPosition.x = mousePosition.x
if ( mousePosition.x > knobPosition.xMax )
   render: knobPosition.x = knobPosition.xMax
if ( mousePosition.x < knobPosition.xMin )
   render: knobPosition.x = knobPosition.xMin

我的第一个想法是通过状态机来绘制这种行为,尽管对于更复杂的示例它会变得混乱。也许有一些建模语言被设计来模拟这些行为?

标签: umlmodelingsysml

解决方案


你的逻辑是一种决策树。这可以最好地使用活动图来建模。每个 if 语句都是图中的一个决策符号。


推荐阅读