/PAP-STUD

Project for Application Programming at WUT. Application for organising public transportation.

Primary LanguageJava

Zespół 4

Skład: Mateusz Brzozowski, Konrad Wojda, Mikołaj Kuranowski

Wymagania i założenia projektu

Projekt ma na celu ułatwienie przedsiębiorstwu komunikacyjnemu układanie rozkładu jazdy.

Założenia funkcjonalne

  • Wprowadzanie podstawowych informacji o przedsiębiorstwie komunikacyjnym
  • Tworzenie przystanków
  • Tworzenie różnych dni kursowania
  • Tworzenie linii
  • Tworzenie tras (w ramach linii)
  • Tworzenie kursów (w ramach linii i dni kursowania)
  • Wyświetlanie siatek rozkładów (w ramach linii i dni kursowania)
  • Generowanie tabliczek przystankowych
  • Eksport do pliku GTFS

Założenia techniczne

  • Aplikacja desktopowa
  • Napisana w języku Java z wykorzystaniem środowiska Maven
  • Interfejs graficzny z wykorzystaniem biblioteki Swing lub JavaFX
  • Dane przechowywane w centralnej bazie danych

Podział prac

Każda osoba odpowiedzialna jest za jedną część aplikacji, zgodnie z wzorcem MVC:

  • Model: Mikołaj Kuranowski
  • Widoki: Mateusz Brzozowski
  • Kontrolery: Konrad Wojda

Wymagane konstrukcje

Podział modułów

  • edu.iipw.pap.db.model - model
  • edu.iipw.pap.db - połączenie z bazą danych
  • edu.iipw.pap.controller - kontrolery
  • edu.iipw.pap.exceptions - własne wyjątki
  • edu.iipw.pap - punkt wejściowy do aplikacji oraz pozostałe pomocnicze klasy

Widoki zdefiniowane są w plikach fxml w katalogu resources.view

Diagram klas w modelu:

classDiagram
    Database o-- Agency
    Database o-- Line
    Database o-- Stop
    Database o-- Calendar
    Agency o-- Line
    Line o-- Pattern
    Pattern o-- PatternStop
    Pattern o-- Trip

    Calendar o-- Trip
    Stop o-- PatternStop

    Trip o.. StopTime
    Stop o.. StopTime

    class ObjectPool {
        <<interface>>
    }

    Database ..|> ObjectPool