объектно-ориентированный сценарий с UML - PullRequest
0 голосов
/ 12 ноября 2010

У меня есть сценарий о железнодорожной системе.В этой системе есть

Рельсы

  • Нормально: Рельсы не имеют внешней поддержки.
  • Электрифицированные: рельсы, снабженные электричеством.

Поезда

  • Высокоскоростной поезд: Этот тип поезда следит на электрифицированных рельсах.
  • Пассажирский поезд. Пассажирские поезда могут двигаться либо на электрифицированных, либо на обычных рельсах.
  • Ускоренный пассажирский поезд: поезда этого типа следуют на электрифицированных рельсах.Он создан на основе пассажирского поезда.
  • Товарный поезд. Товарный поезд может перемещать оба рельса, но его вес делает его вредным для электрифицированных рельсов.Так что это не рекомендуется.

Я хочу показать связь между поездами и рельсами, используя uml.Очевидно, поезда не имеют рельсов.Они просто используют их.Но я не смог найти верный способ показать отношение на диаграмме классов.Должен ли я использовать другую диаграмму или что?заранее спасибо ..

Ответы [ 2 ]

1 голос
/ 12 ноября 2010

Полагаю, вы должны просто смоделировать ее как зависимость в UML. Обычно это отношения между поставщиком и клиентом. В вашем случае рельсы будут поставщиком, а поезд - клиентом (так как в поезде используется инфраструктура, которую обеспечивают рельсы). Это будет пунктирная стрелка от «Поезда» до «Рельсов». Вот как бы я это сделал.

0 голосов
/ 14 ноября 2010

Спасибо за ваш ответ Раззи. Вот как я это сделал:

Я создал абстрактный класс под названием "Rail". Затем выведены 2 подкласса «Нормальный» и «Электрифицированный». Создан абстрактный класс «Поезд», производные подклассы «HighSpeedTrain», «PassengerTrain», «GoodsTrain». Также «AcceleratedPassengerTrain» происходит от «PassengerTrain».

Тогда я использовал зависимость, как ты сказал.

  • HighSpeedTrain ----> электрифицированные
  • PassengerTrain ----> Normal, Электрифицированные
  • GoodsTrain ----> Обычный, электрифицированный
  • AcceleratedPassengerTrain ----> электрифицированные

Но я не уверен, правда ли это. Другая проблема; «AcceleratedPassengerTrain» должен использовать только электрифицированный рельс. В моем решении, я думаю, что он также поддерживает нормальные рельсы, потому что он наследует от "PassengerTrain". Пожалуйста, скажите мне, что вы думаете о дизайне. Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...