CCP6224 - Object-Oriented Analysis and Design
- Hew Wee Bo
- Shanjif Cakravathi
- Merey Abilkhan
- Liaw Yong Loon
All packages use the base: com.parkingLot
Create these packages in your IntelliJ project (right-click src → New → Package):
com.parkingLot.models
com.parkingLot.models.tests
com.parkingLot.models.vehicles
com.parkingLot.models.spots
com.parkingLot.models.fines
com.parkingLot.controllers
com.parkingLot.views
com.parkingLot.database
com.parkingLot.utils
models/: Your core classes (ParkingLot, Floor, Vehicle, etc.)vehicles/: Vehicle-related classes (Car, Motorcycle, SUV, etc.)spots/: Spot-related classesfines/: Fine calculation strategiescontrollers/: Business logic between GUI and modelsviews/: Swing GUI classesdatabase/: SQLite connection and queriesutils/: Helper classes (date calculations, ID generation, etc.)tests/: For testing all modules without GUI
- Composite Pattern: Used for parking lot structure hierarchy
(These are from IntelliJ IDEA Community Edition)
- Database Navigator
- PlantUML4IDEA (requires graphviz to render)
- SQLite JDBC driver (needed for SQLite)
- SwingUI Designer (Important)
- SimpleSqliteBrowser (Important)
- String url = "jdbc:sqlite:database/parking_lot.db"; // connection string
- Multi-level parking lot structure
- Vehicle entry/exit management
- Fine calculation (3 schemes)
- Payment processing
- Admin and reporting panels