2016-05-09 11 views
1

Мой школьный учитель и меня спорят о том, как написать правильную мощность в отношении между двумя классами:Wrong мощность в классе UML диаграммы

Customer ----places->---- Order 

Так упражнение говорит мне, что один клиент имеет 0 - х заказы и один заказ всегда принадлежат одному конкретному клиенту. Так что моя идея была:

Customer -1---places->---*- Order 

Мои учителя решение:

Customer -1..*---places->---*- Order 

Итак, что вы об этом думаете? Надеюсь, я прав :)

+0

Решение для учителя было отредактировано, чтобы быть отличным от того, что было в исходном вопросе. Исчезла ли первоначальная цель вопроса ?! –

+0

Добро пожаловать в StackOverflow, @alanb. Если вы нашли ответ на свой вопрос , пожалуйста, рассмотрите [принятие it] (http: //meta.stackexchange.com/q/5234/179419) (щелкнув отметку ), и рассмотрите возможность ее голосования (нажав стрелку вверх). Принимая ответ указывает более широкой общине, что у вас есть , нашел какое-то решение, дал себе некоторые очки в рейтингах и дает репутацию, на которую отвечает ваш вопрос. Если вы не нашли удовлетворительного ответа на свой вопрос, пожалуйста, Оставьте комментарий. –

ответ

2

Первый правильный. 0 .. *, или просто * для краткости, идет рядом с классом Order. 1..1, или только 1 для краткости, идет рядом с классом Customer.

Вы уверены, что ваш учитель указал UML?

+0

В «нормальном» бизнесе я бы согласился. Но, не зная домена, ответ неизвестен. Там может быть бизнес, где у вас есть единый заказ, в котором много клиентов. –

+0

Я думаю, вопрос заключается в том, где положить кратности. –

+0

Да. Но учитель может быть прав, если у вас есть пара людей, которые ставят один заказ. Необычно, но возможно. –

0

Вы являются правильными.

Отношение 1: n, которое вы описываете, указывает, что 1 клиент разместил 0..n заказов. Там могут быть Клиенты без заказа, но если есть заказ, есть один клиент. В одном заказе должно быть 1 и только 1 клиент. Это совершенно для меня.

The 1..n :? решение нарушено в различных отношениях. Во-первых, сторона заказа не имеет мощности. Но по умолчанию не определено значение по умолчанию. Разумеется, диаграмма не должна содержать мощность, но диаграмма также представляет собой просто представление о модели. Если вы оставите мощность без упоминания ее в другом месте, то это undefined. Кроме того, мощность 1..n утверждает, что заказ был помещен 1 или более Клиентами. Предполагая, что упражнение относится к какой-то реальной проблеме, это кажется мне совершенно бессмысленным.

+0

Спасибо за ответ! Теперь я знаю, что я на правильном пути :) – alanb

0

Хорошие новости: вы правы! Ваша первая идея правильная и явная. Поздравляем!

Ответ вашего учителя правильный, но неполный, поскольку он оставляет неопределенность неопределенностью. Если он настаивает на утверждая, здесь в ultimate reference для утверждая свои права ;-)

UML 2.5 - Раздел 11.5.4:

Различные другие обозначения могут быть размещены ближе к концу линии в качестве следует:
• Множество
• A , заключенное в фигурные скобки, где определено в собственности (см. 9.5.4).
• Символ.
Примечание: Если на диаграмме не указано кратность, не может быть никакого вывода , нарисованного о множественности в модели.

+0

Спасибо за ответ! Теперь я знаю, что я на правильном пути :) – alanb

 Смежные вопросы

  • Нет связанных вопросов^_^