В моделировании работы железнодорожной станции участвуют и взаимодействуют целый ряд сущностей предметной области:
- станция
- платформы и пути
- проходящие поезда (маршрут, время прибытия и отправления, количество вагонов и направление их нумерации)
- поезда, формируемые и завершающиеся на данной станции
- прицепные вагоны, прицепляемые и отцепляемые на данной станции
- грузовые и технологические составы, занимающие пути, но не участвующие в пассажирообороте
- расписание прибытия и отправления поездов, их формирования и работы с прицепными вагонами
- событие на станции
Возможными событиями являются:
- назначение пути и платформы для прибывающего поезда (выполняется за 10 минут до прибытия)
- назначение пути и платформы для формируемого на станции поезда (выполняется за 30 минут до отправления поезда; можно считать, что такой поезд занимает путь за 20 минут до отправления)
- прибытие поезда на конкретный путь и платформу
- отправление поезда (и освобождение пути)
- прицепление и отцепление вагонов
- случайные задержки во времени прибытия и времени стоянки поездов
Моделированием работы станции можно считать формирование протокола всех происходящих на станции событий на основе расписания движения поездов по станции.
В этом проекте необходимо представить все сущности предметной области в виде классов, спроектировать и реализовать их методы, а также обеспечить вывод информации обо всём, происходящем на станции в течении суток (с 00:00 до 23:59). Входными данными является файл с расписанием движения поездов по станции, а результатом — протокол событий с указанием времени (поминутно). В каждую минуту может происходить одно или несколько событий, а может не происходить ничего.
В этом проекте ожидается вторая часть задания, которая будет опубликована позднее.
- Язык программирования: Java
- Точка входа в программу:
src/com/spbu/mcs/ppl/App.java
- Внешние библиотеки: нет
- Корректность: да
- Производительность: нет
- Срок выполнения: 29 ноября (мягкий дедлайн), 5 декабря (жёсткий дедлайн)
- формат расписания
- формат вывода информации
- Проект оценивается исходя из 30 баллов.