На следующем рисунке изображен магазин компакт-дисков, который сдает в аренду свои музыкальные диски.
Мой вопрос касается правильной кратности X. Я могу предложить несколько вариантов для X:
Не могли бы вы прояснить для меня этот момент?
Множественности представляют количество возможных связей между экземплярами связанных классов, т. е. в любой заданный момент времени.
1..1 здесь крайне маловероятно, поскольку это означало бы, что каждый CD
сдается в любой момент времени ровно одному Member
. Для этого потребовалось бы, чтобы на каждый компакт-диск, возвращенный в магазин, сразу же находился еще один покупатель, готовый немедленно взять его напрокат.
0..1 — очень разумный подход, если ваш дизайн намерен показать текущую ситуацию с компакт-диском без истории: в любой момент времени компакт-диск либо арендован участником, либо нет, но тот же компакт-диск больше не будет привязан к участники, которые ранее арендовали его. Такой дизайн может иметь смысл во многих случаях. Но в арендном бизнесе это менее практично: иногда нужно найти клиента, который арендовал его, раньше курсера, который разговаривает по телефону, потому что понял, что куртка пуста.
0..* — тоже очень разумный подход, особенно если вы хотите отслеживать историю аренды. Однако в нем не говорится, что означают множественные члены. Таким образом, вы можете дополнить диаграмму ограничением, указывающим, что периоды аренды не могут перекрываться.