Question
Project 1 - Parking Spot System - Requirements A small system is required that will help manage cars at a parking site for a company.
Project 1 - Parking Spot System - Requirements A small system is required that will help manage cars at a parking site for a company. You are to develop a system that has exactly following four classes: Application class CarPark class ParkingSlot class Car class Application is the Console (Text Based) Interface class including the main() method and handling all inputs and outputs. CarPark is responsible for maintaining a list of available parking slots. You should be able to find a slot, add a slot, delete a slot, and provide a list of all slots included in the car park. There are two types of parking slots: slots only for visitors and slots only for staff members. A parking slot must have an identifier, which starts with a capital letter, followed by a two-digit number e.g. "D01", "E27". A parking slot also should know if a car and what car is parked in the slot. You must be able to add a car to the slot and remove a car from the slot. A car will be identified by its registration number. A registration number always starts with a capital letter, followed by a four-digit number e.g. "T2345". A car should have an owner and knows if the owner is a staff member. Required conditions to be checked for user inputs: 1. User inputs for menu options, car information, and parking slot information should not crash the program 2. Parking slot number must be an uppercase letter followed by 2 digits 3. Car registration number must be an uppercase letter followed by 4 digits 4. Each slot should have a unique slot number 5. A parking slot cannot be deleted if there is a car being parked there 6. Visitor car can only be parked in a visitor slot and staff car can only be parked in a staff slot 7. A car can only be parked in an unoccupied slot 8. A car can only be parked in one slot Popper messages for user inputs and outputs: e.g. show proper format for slot ID / car registration number for user inputs; show proper out messages to indicate something wrong / success. Advanced features (20 marks): Note: Make sure you get all the basics required above working first before you attempt the advanced features below: When a car is parked, the current time is recorded in the Car object and output to the screen (e.g. 2022-08-10 16:48:05). In the list of all slots and find a car, the parking time length for the occupied cars should also be shown up (e.g. 0 hours 25 minutes and 20 seconds) Code: The solution must be a BlueJ Project. Some Expectations. 1. All classes and methods include Javadoc 2. Code is well structured and object oriented. 3. User interface class (Application) is broken down into single purposed methods 4. User interface class (Application) is separated from business logic classes 5. The user input is safe and will not crash the program 6. The user should be well informed about what he/she is expected to enter and the feedback of their action. 7. Pre-condition checking is included in the class methods.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started