Java assignment 6 with class diagram and Junit test.

   

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.

ASSIGNMENT INSTRUCTIONS

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.

Class: Money 

· Data Attributes

o amount : long

o currency : String

Enum: CarType 

· Values

o COMPACT

o SUV

Class: ParkingLot 

· Data Attributes

o id : String

o name : String

o address : Address

· Behaviors

o getDailyRate(CarType) : Money

Class: ParkingOffice 

· Data Attributes

o parkingOfficeName : String

o listOfCustomers : List<Customer>

o listOfParkingLots : List<ParkingLot>

o parkingOfficeAddress : Address

· Behaviors

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.).

·  

·  

·  

·  

·  

·  

Rubric

Programming Rubric

   

Programming    Rubric

 

Criteria

Ratings

Pts

 

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.

60.0 pts

 

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.

20.0 pts

 

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.

10.0 pts

 

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.

10.0 pts

 

Total   Points: 100.0

 

Leave a Reply