首页 > 解决方案 > UML 中速度的依赖函数

问题描述

我目前正在做几项 UML 任务以进行练习,但我被困在其中一项任务上。一般来说,我想对移动物体进行建模。当一个移动的物体移动时,它们会去到一个相邻的田地(一个田地可能有多个邻居)。有两种对象,每种行为不同,“对象 2”的移动速度比“对象 1”快 2 倍。所以基本上我必须表示“对象 1”同时移动了“对象 2”的一半。如何使运动取决于速度并在图表上显示?这是我的基本类图和没有速度的序列:

在此处输入图像描述 在此处输入图像描述

我想我也应该使 Move() 函数也依赖于速度,但我不明白这是否是 enoguh 或者我必须以某种方式表示“对象 2”同时步数比“对象 1”多两倍的序列。

标签: umlclass-diagramsequence-diagram

解决方案


只需使用包含getNeighbor消息交换的循环运算符的组合片段。参数将是速度。它看起来像这样:

loop (velocity)

当然,您还需要处理没有足够的邻居或返回多个邻居的情况。

一些进一步的说明:

如果速度是一个常数,您可以在子类中使用默认值来定义它。否则它们似乎是相同的并且是多余的。

f1似乎是字段端的关联端名称。你应该展示这个。

您没有使用操作的参数fmove()你为什么要建模?


推荐阅读