PURPOSE OF ASSIGNMENT
The University has a need to develop an Object-Oriented Parking System. Each assignment will build towards creating the parking system.
· The University has several parking lots and the parking fees are different for each parking lot.
· Customers must have registered with the University parking office in order to use any parking lot. Customers can use any parking lot. Each parking transaction will incur a charge to their account.
· Customers can have more than one car, and so they may request more than one parking permit for each car.
· The University provides a 20% discount to compact cars compare to SUV cars.
· For simplicity, assume that the Parking Office sends a monthly bill to customer and customer pays it outside of the parking system.
· Each week you will need to submit an updated Class Diagram along with the other deliverables for the assignment.
The goal of this assignment is to create ParkingOffice and ParkingLot classes that demonstrate the use of Java Generics and Collections. You will also need to lookup the Java Enum type and use it to describe the type of the car.
Develop Java code for the ParkingOffice, ParkingLot and Money classes, and the CarType enum, shown in the diagram below. The data attributes and methods are provided as a guide, please feel free to add more as you feel necessary. Explain your choices in the write-up. Note that the ParkingLot and Money classes should be immutable; once created with values they cannot be modified.
· Data Attributes
o amount : long
o currency : String
· Data Attributes
o id : String
o name : String
o address : Address
o getDailyRate(CarType) : Money
· Data Attributes
o parkingOfficeName : String
o listOfCustomers : List<Customer>
o listOfParkingLots : List<ParkingLot>
o parkingOfficeAddress : Address
o getParkingOfficeName() : String
o register(Customer) : void
Create a 500-word write-up that explains your assignment. You may address some of the below questions.
1. What did you find difficult or easy?
2. What helped you?
3. What you wish you knew before?
4. Outline any implementation decisions and the reasoning behind those.
5. Include screenshots of the successful code compilation and test execution.
Submit a zip file that includes Class diagrams, write-up, Source java files, and Unit Test java files. In your write-up include screen shots of successful unit tests.
FORMATTING AND STYLE REQUIREMENTS
· Write-ups should be between 400 and 500 words.
· Where applicable, refer to the UCOL Format and Style Requirements (Links to an external site.) on the Course Homepage, and be sure to properly cite your sources using Turabian Author-Date style citations (Links to an external site.).
This criterion is linked to a Learning OutcomeCode Functionality and Efficiency
The class(es) created meet the design specification and therefore accomplishes the task at hand. It/they are written with proper OOP techniques applied. The class(es) are set up with proper interfaces so they can collaborate with other classes and execute the necessary tasks. The code compiles without errors.
This criterion is linked to a Learning OutcomeCode Testing
The test code is written to test the class(es) and is designed and implemented properly.
This criterion is linked to a Learning OutcomeCode Quality
The code contains only the necessary variables. Variable names are meaningful. The code is well-formatted, easy to read and appropriately commented. The code includes proper error and exception handling.
This criterion is linked to a Learning OutcomeWrite-Up
The write-up summarizes lessons learned and any difficulty the student may have encountered. It also outlines any implementation decision and reasoning behind those. Screenshots of the successful code compilation and test execution are included.
Total Points: 100.0