【发布时间】:2011-09-03 11:01:40
【问题描述】:
这是一个描绘“超图”的 UML 图。有人告诉我,超图是一个 n 关联。
但是,我不确定该图意味着什么关系。这是我的猜测:
- 一支球队有 n 名球员
- 每个玩家都有一个团队
- 每支球队在一年内比赛
- 每年都有一个团队(不管这意味着什么......)
- 每个人玩一年
- 每年有 n 人玩
我说的对吗?如果没有,什么我错了吗?
【问题讨论】:
标签: uml
这是一个描绘“超图”的 UML 图。有人告诉我,超图是一个 n 关联。
但是,我不确定该图意味着什么关系。这是我的猜测:
我说的对吗?如果没有,什么我错了吗?
【问题讨论】:
标签: uml
首先,缺乏明确的多重性并不总是意味着 1;在 UML 中可以简单地省略多重性信息,尤其是在领域模型中。
假设他们确实打算使用 1 个多重性,那么最好的解读方式可能是“存在(年份、团队、球员)三元组和...... 1. 对于给定的团队和年份,可能有许多球员;2.对于给定的球队和球员,只有一年是可能的; 3. 对于给定的年份和球员,只有一个球队是可能的。唯一奇怪的是 2.,即使这是一个有意义的业务规则也是合理的。要允许一名球员在多年内为同一支球队效力,请将年复数设为“许多”。
【讨论】:
图中的图形多重性仅表达了三个参与者之间的关系(Patrick 在他的回复中解释了这三个)。
没有关于三个班级之间一对一关系的信息,即图表可以告诉你一个球员在给定年份只参加一个球队,但没有办法知道人数是否有任何限制球员一生中可以参加的球队数
【讨论】:
我引用了一个我不知道的消息来源...
当其他 n-1 端的值固定 (1) 时,关联端的多重性表示该端的潜在值数。
I.E.
许多球员(1 年和 1 支球队)
1 支球队(1 年和 1 名球员)
1 年(1 支球队和 1 名球员)
或
(1 年,1 支球队)=> 很多玩家
(1 年,1 名球员)=> 1 支球队
(1 队,1 名球员)=> 1 年
我将关联表中的行可视化,其中关联中的每个成员都有一个外键列。年份、球队和球员。
每一行都是你的超图边缘。它代表一组 1 年、1 支球队和 1 名球员。更大的多重性则体现在多行上。
如下
许多球员(1 年和 1 支球队):映射到年份和球队的组合不是唯一的(许多球员可以有相同的年份和球队,所以这意味着这对需要出现在每个单独的球员行中)
1 Team for (1 Year & 1 Player): Year, Player unique, 最多一行可以包含相同的组合
1 年(1 支球队和 1 名球员):球队,球员唯一
【讨论】: