这些 UML 图是否正确?
Are these UML diagrams correct?
这些图表正确吗?我只是在谈论 UML 规范。第一个是代码实现的 class 图。第二个是显示如何修复某些 3D 模型的 activity 图。
图表看起来不错,虽然有一些小错误:
GameObject
用作类型,但未定义。您必须将其定义为 class、接口或数据类型。
List<...>
不正确。在 UML 中,使用多重性 *
,如下所示:- NPCs : GameObject[*]
- 在 activity 图中,沿着离开决策的流的标签应该在方括号之间,例如
[yes]
和 [no]
.
search for holes
前缺少合并符号。如果一个动作有两个传入流,这意味着该动作在 所有 传入流被遵循之后执行,但在您的情况下,您希望在 [=23= 之后执行该动作]三个流程中的一个已被跟踪。
最后一点:您没有为 Character_Controller
和 Teleporter
之间的关联指定任何多重性。这没关系,但这意味着多重性是未定义的,即它没有指定一个 Character_Controller 关联了多少个 Teleporter 实例,也没有指定一个 Teleporter 有多少个 Character_Controller 实例联系。由于您确实为聚合指定了多重性,因此我建议在这里也指定多重性。
这些图表正确吗?我只是在谈论 UML 规范。第一个是代码实现的 class 图。第二个是显示如何修复某些 3D 模型的 activity 图。
图表看起来不错,虽然有一些小错误:
GameObject
用作类型,但未定义。您必须将其定义为 class、接口或数据类型。List<...>
不正确。在 UML 中,使用多重性*
,如下所示:- NPCs : GameObject[*]
- 在 activity 图中,沿着离开决策的流的标签应该在方括号之间,例如
[yes]
和[no]
. search for holes
前缺少合并符号。如果一个动作有两个传入流,这意味着该动作在 所有 传入流被遵循之后执行,但在您的情况下,您希望在 [=23= 之后执行该动作]三个流程中的一个已被跟踪。
最后一点:您没有为 Character_Controller
和 Teleporter
之间的关联指定任何多重性。这没关系,但这意味着多重性是未定义的,即它没有指定一个 Character_Controller 关联了多少个 Teleporter 实例,也没有指定一个 Teleporter 有多少个 Character_Controller 实例联系。由于您确实为聚合指定了多重性,因此我建议在这里也指定多重性。