Отношения класса UML относительно текущего момента или времени жизни системы

У меня есть вопрос относительно следующей диаграммы

Мое питание - это отношения между водителем - автомобилем и пассажиром и автомобилями.

1- * на стороне водителя означает, что автомобилем могут управлять многие водители, что является взаимосвязью между обоими классами в течение срока службы системы.

2- В другом случае отношения между автомобилем и пассажирами являются отношениями в реальном времени, и на одном автомобиле может находиться не более 0-7 пассажиров.

Я что-то не так понял? Как я должен думать об отношениях, это отношения в реальном времени между объектами или отношения на протяжении всей жизни автомобиля

2 ответа

Решение

Это на самом деле выглядит глупостью:-)

Это означает, что Driver работает 1 или более Cars, Многозадачность может быть новой способностью людей (я сомневаюсь в этом). Так что за рулем двух машин одновременно будет тяжело, но потом * машины?

Недостаток таких диаграмм классов заключается в том, что вы не можете видеть, что такое отношение. Я предположил operates но это вполне может означать owns, Название роли прояснит эту двусмысленность.

Оба текущих как исторические отношения могут быть выражены с помощью ассоциаций.

В случае Driver текущий водитель и каждый, кто когда-либо водил машину, могут быть выражены с использованием двух разных ассоциаций.

Car может иметь только один CurrentDriverи Driver может водить только один Car за один раз, но может быть много HistoricalDrivers кто мог водить много разных Cars через некоторое время.

Ассоциации водителей автомобилей

Тот факт, что вы модель Engine а также Wheel как агрегаты меня несколько удивляет. Агрегация на самом деле является общим AggregationKind, и я никогда не видел Engine или Wheel быть частью двух автомобилей одновременно. Я не вижу причины, по которой вы бы не использовали здесь композиции.

Другие вопросы по тегам