UML、类标识和关系

UML、类标识和关系,uml,Uml,从UML开始,我有以下合气道俱乐部管理规则: R1:每个成员都应该参加培训实践 R2:学员可以来自同一城市或国家的其他俱乐部,也可以来自国外 我确定了两类: 考虑到第二条规则: 成员(1)和受训人员(0..1) 受训人员(1..*)和培训人员(1..*) 我在做什么有正确的方法吗?基本上这是可以的。但是成员和培训之间的m-n关系最好建模为关联类: 在这种情况下,您可以为每个培训添加成员的单个属性。在实现这一点时,您可能会觉得需要在两者之间引入一些粘合剂(如数据库中的表) 我还添加了一个C

从UML开始,我有以下合气道俱乐部管理规则:

R1:每个成员都应该参加培训实践

R2:学员可以来自同一城市或国家的其他俱乐部,也可以来自国外

我确定了两类:

考虑到第二条规则:

  • 成员(1)和受训人员(0..1)
  • 受训人员(1..*)和培训人员(1..*)

我在做什么有正确的方法吗?

基本上这是可以的。但是
成员
培训
之间的
m-n
关系最好建模为关联类:

在这种情况下,您可以为每个培训添加成员的单个属性。在实现这一点时,您可能会觉得需要在两者之间引入一些粘合剂(如数据库中的表)


我还添加了一个
Club
类,假设一个成员只绑定到一个俱乐部。如果您想建模多俱乐部关系,您可能会再次使用关联类。

您的图表只是一个开始。所提出的方案更为完整。然而,在这两个图中都没有约束或规则的概念。这根本不是类图的用途。您可以表示(使用图表)一个或多个成员可以参加培训,并且至少有一个成员经常参加培训


要表示每个成员都必须参加培训课程,您可能需要表示,对于类图的所有实例,所有成员都至少包含一个培训协会。为此,您需要制定约束,可能需要使用对象约束语言来补充UML,并解决您现在面临的具体缺点。

谢谢您的回答。您建议我取消学员课程吗?
会员制将代表学员。它显示了成员参加的培训。好的。取消俱乐部课程,在会员课程中拥有一个“俱乐部”怎么样?对不起,我提出了一些愚蠢的问题。您只需在
Member
中放置一个字符串属性即可保存俱乐部名称。当然,这永远不会产生唯一的俱乐部名称。有人会拼写Dojo。另一个多约。你明白吗?谢谢@Eric。在这种情况下,你能给我举一个OCL的例子吗?和一些可能的链接(图图)来掌握它。这里可以找到一个教程:不幸的是,我自己的OCL经验有点过时,在这个特殊的时刻我很难想出一个例子。如果教程结束后,您仍然需要帮助,请与我联系,我会看看我能做些什么。