Uml Class Diagram для метрополитена - PullRequest
1 голос
/ 18 марта 2019

Я пытаюсь нарисовать и определить классы в UML для следующей проблемы.

Информационная система Метро Железная дорога

Разработать часть концептуальной схемы вышеупомянутой системы, которая позволит мне регистрировать станции (различая междуразвязки и терминалы), взаимосвязь станций (то есть топология сети) и расстояния (в километрах железнодорожной линии), которые они делят.

Каждый поезд движется по линии, проходя последовательные маршруты, то есть перемещаясь междупрописаны крайние пары станций, которые не обязательно должны быть одинаковыми на каждом маршруте (например, Бронкс - Манхэттен, Бруклин - Куинс).Каждый маршрут имеет определенное время прибытия и пребывания на каждой станции.Фактическое время прибытия на каждую станцию ​​может отличаться от запрограммированных, а также скорость трафика между станциями.

Моя первая мысль заключается в том, что основными классами должны быть:

Metro Line, Metro Station, Metro Route, Metro Route Stop, Metro Train

И я изо всех сил пытаюсь изобразить запланированное и реальное время.

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Давайте посмотрим на классы, которые довольно очевидны:

  • Metro line это набор Metro routes
  • Metro route связан с последовательностью Metro stations
  • Metro route определяется двумя крайностями Metro stations
  • Train работает на Metro routes

Каждый маршрут имеет определенное время прибытия и пребывания на каждой станции.

Это означает, что маршруты - это не что-то общее (например, Бруклин - Квинс), а что-то очень специфическое (например, Бруклин - Квинс, начинающийся в 15:03).

Кроме того, поскольку несколько Metro routes могут использовать один и тот же Metro station, а Metro route состоит из нескольких Metro stations, мы имеем связь между многими из этих двух классов. время и пребывания не зависят ни от маршрута, ни от станции. Поэтому лучше всего рассматривать его как свойство класса ассоциации :

enter image description here

Тот факт, что у вас есть запланированное время и пребывание, а также фактическое время и пребывание, означает, что есть только два разных свойства. Положение каждого поезда между станциями говорит нам о трафике.

Наконец, более сложный способ обработки различных временных параметров - рассмотреть класс Time table. Ассоциация между Metro route, Metro station и Time table будет тогда троичной ассоциацией , и класс ассоциации троичной ассоциации может содержать данные синхронизации (либо запланированные для запланированной таблицы, либо фактические для фактическая таблица, но вы также можете иметь несколько версий плана и актуальную версию для каждого дня года. Это будет абсолютно гибко.

Теперь, если вас не устраивает класс ассоциации, вы можете разложить ассоциацию «многие ко многим» на две ассоциации «многие к одному» со средним классом, который вы можете назвать Route stop.

0 голосов
/ 22 марта 2019

Наконец,

Я придумала этот дизайн

enter image description here

Большое спасибо

...