Отношения класса UML относительно текущего момента или времени жизни системы
У меня есть вопрос относительно следующей диаграммы
Мое питание - это отношения между водителем - автомобилем и пассажиром и автомобилями.
1- * на стороне водителя означает, что автомобилем могут управлять многие водители, что является взаимосвязью между обоими классами в течение срока службы системы.
2- В другом случае отношения между автомобилем и пассажирами являются отношениями в реальном времени, и на одном автомобиле может находиться не более 0-7 пассажиров.
Я что-то не так понял? Как я должен думать об отношениях, это отношения в реальном времени между объектами или отношения на протяжении всей жизни автомобиля
2 ответа
Это на самом деле выглядит глупостью:-)
Это означает, что Driver
работает 1 или более Cars
, Многозадачность может быть новой способностью людей (я сомневаюсь в этом). Так что за рулем двух машин одновременно будет тяжело, но потом *
машины?
Недостаток таких диаграмм классов заключается в том, что вы не можете видеть, что такое отношение. Я предположил operates
но это вполне может означать owns
, Название роли прояснит эту двусмысленность.
Оба текущих как исторические отношения могут быть выражены с помощью ассоциаций.
В случае Driver
текущий водитель и каждый, кто когда-либо водил машину, могут быть выражены с использованием двух разных ассоциаций.
Car
может иметь только один CurrentDriver
и Driver
может водить только один Car
за один раз, но может быть много HistoricalDrivers
кто мог водить много разных Cars
через некоторое время.
Тот факт, что вы модель Engine
а также Wheel
как агрегаты меня несколько удивляет. Агрегация на самом деле является общим AggregationKind, и я никогда не видел Engine
или Wheel
быть частью двух автомобилей одновременно. Я не вижу причины, по которой вы бы не использовали здесь композиции.