Develop a console based application

Assignment Help JAVA Programming
Reference no: EM131653075

Project Description - Vehicle Hiring System(VHS)

The operations manager of a vehicle hiring company is currently using a paper based (manual) system to manage and keep track of the short term vehicle reservations made by registered customers. The company hires cars and light vans to its registered customers on a short term basis (daily) and due to the inefficiency of this system, the operations manager often faces problems in serving customers due to overbooking of hiring vehicles, inability to provide customers with the requested vehicle on time and inability to track vehicles that are not returned on time.

To overcome this issue, you are required to develop a console based application that will allow the operations manager to record and maintain reservations for hiring vehicles (currently there are only two types of vehicles, cars and light vans, later there can be more types).

The operations manager has provided a registered customer list and hiring vehicle list in text files.

The system should have a simple menu as below.
1. Show available vehicles
2. Reserve a vehicle for a customer
3. Show hires for a customer
4. Show hires for a vehicle
5. Show not returned (overdue) vehicles
6. Return vehicle from hire
7. Exit

The current manual system operates as follows.

1. Show available vehicles
Depending on the customer request all available cars or vans are shown with all details.

2. Reserve a vehicle for a customer
Having shown the list of available vehicles the customer requests to reserve his/ her preferred vehicle. The manager will check if the vehicle is available during the requested time and if so a vehicle reservation is made on behalf of the customer.

3. Show hires for a customer
The operations manager looks at the vehicle reservation sheets for each vehicle to check if a given customer id is present in those sheets and creates a report of vehicle hiring records for that particular customer.

4. Show hires for a vehicle
The operations manager looks at the reservation sheets for a particular vehicle (using the vehicle id) and creates a report of hiring records for that vehicle.

5. Show not returned (overdue) vehicles
To check for not returned vehicles, the operations manager looks at the vehicle reservation sheets, checks for vehicles not returned on time (returned date/time is empty) and creates a report including the reservation details and customer details of such overdue vehicles.

6. Return vehicle from hire
When the customer id, the vehicle id and hired date and time is given, the manager finds the correct hire from the list of reservations and records the returned date and time. Finally, the total charge for the hire is calculated (including late return penalty if applicable) and shown to the customer.

You may start your design with the following recommendations.
- You must include Company, Customer, Vehicle, Reservation objects in your design
- Currently there are two vehicle types, car and van. You must have objects to represent them.
- The company has a name, a registered customer list and a hiring vehicle list
- A customer has a customer id, name and category (premium, standard and budget).
- Each vehicle has a unique registration number, model name, year of registration, fuel type and the availability for hire status (For example, when a vehicle is under repair the status is false)
- In addition to the common fields a car has engine capacity
- In addition to the common fields a van has a maximum load capacity
- A vehicle may have zero or more reservations
- Multiple reservations can be placed for the same customer
- A reservation is associated with a vehicle and a customer
- Each vehicle reservation also maintains the vehicle pickup date, pickup time, pickup location, reservation period (number of hours), returned date and returned time (recorded once the vehicle is returned).
- A reservation can be made up to 30 days in advance or just 5 hours before the hire. However premium and standard customers can make reservations just 1 hour before the hire.
- Reservations can be made between 4.00 am to 12 midnight.
- Since the vehicles are available for short term hires, reservation period cannot extend 15 hours. However premium customers are allowed to make reservations up to 20 hrs.
- Reservations must be displayed sorted by pickup date and pick up time
- Late vehicle returns of less than 1 hour will not be charged. Any vehicle returns exceeding one hour grace period will be charged by the hourly rate of the vehicle (For example, if late by 4 hrs, late penalty = 4 * hourly rate of the vehicle)
- The hourly rate for a car is $10.
- The hourly rate for a van is $15.

Start with the above but revise and improve your designaccordingly to improve usability.

Suggested steps

Part A.

1. Do initial design on paper
a. A class Diagram (without attributes and operations)
b. A class Diagram (with attributes and operations)
c. Rough sequence diagrams where it is not clear how a use case might be achieved (Note: You do not have to submit the sequence diagrams)

2. Discuss your design with your tutor and get feedback.

3. Make adjustments to your design as needed.

Part B.

1. Write code for each class (not the console UI at this stage)
a. Build upon the start-up code that is given.

2. Test and revise as necessary.

Part C.

1. Build the User Interface.

2. Code each use case

3. Compile, test and debug in after every method you write.

Part D.

1. Define where preconditions should be checked

2. Add precondition and any error handling/ validations after you have the basic system working.

3. Leave saving to a file until you have a basic system working

4. Once the basic system is working implement file reading/ writing functionalities (include error handling for file operations)

Part E.

1. Review all requirements and make sure all work has been done.

Part F.

1. Thoroughly test and fix as necessary.
2. Refactor in little increments, not in big blocks

Expectations

A. Your design must include and effectively demonstrate a good understanding of inheritance.
This is to be done by
- Including a Vehicle superclass
- Including subtypes for Car and Van
- Taking advantage of the inheritance relationship to reduce code duplication
- Using polymorphism effectively

B. You are required to save all object data between each execution to files.

This is to be done by

- Writing object data to a comma(",") delimited file before closing down the application
- Reading object data from files and building all objects before the user interface is displayed.
- Handle errors that can be caused by file reading/ writing

C. Demonstrate how to implement an interface by making reservations sortable.

D. Produce a Quality Product

- Methods should have precondition checking
- The program must be of a professional standard.
- It must be an OO design and must use inheritance and polymorphism effectively
- All classes must follow the style guide in the text book
- Javadoc is required
- All instance variables must be private (include public getters/ setters to access them)
- The program must work reliably
- Keep an eye on the overall program performance in terms of system resources/ memory usage

Attachment:- Project 2.zip

Verified Expert

This assignment contains details about the java assignment which deals the functionality of keeping track of vehicle and the customer data. Also attached the test document which contains the snapshot of the output as well as the class diagram

Reference no: EM131653075

Questions Cloud

What is your optimum load and optimum load : What is your optimum load? Optimum load is defined as the load in kg at which maximum power is attained
What is the most likely type of infection : The nodule has ulcerated and not healed despite use of anitbacterial cream. What is the most likely type of infection
How were same-sex female relationships viewed : How was same-sex desire and activity thought about in ancient Greece? What was accepted and permissible? What wasn't?
Discuss lying to a standing position select what occurs : When going from a lying to a standing position select what occurs
Develop a console based application : Develop a console based application that will allow the operations manager to record and maintain reservations for hiring vehicles
What is the relationship between wtp and net benefits : What is the relationship between WTP and net benefits? Explain the Potential Pareto efficiency criterion (also called Kaldor-Hicks criterion).
Determine the effect this may have on the decision making : Identify the potential ethical implications associated with this decision, Determine the effect this may have on the decision making process
Decision procedure according to the vroom–yetton model : Were the two decisions appropriate for a group decision procedure according to the Vroom–Yetton model?
How do different fields of study approach religion : How do different fields of study approach religion? What are some critical issues in the academic study of religion?

Reviews

inf1653075

12/19/2017 5:27:01 AM

Thank you for the very good service the expert very help me and work very hard for me. Thank you for the work. I am really satisfied with the solution and the punctuality.

inf1653075

12/19/2017 5:26:14 AM

Please find the attached java assignment and let me know the quote Kindly use draw.io for creating class diagrams with appropriate relationship between classes. Attached is the example of class diagram and a previous project. Please use the coding style as used in the attached project. 25163133_1class diagram.jpg 25163133_2Tutorial 3 task.zip the development is to be done in a Blue J IDE. I need a solution for this asap...

len1653075

9/22/2017 2:25:25 AM

4 Implementing inheritance and polymorphism appropriately 10 5 Saving object data between executions including File reading, writing and managing any errors 10 6 Implementing an interface to sort based on appropriate field(s) 5 7 Overall working quality product in line with design • Pre-conditions are checked in methods • The overall product reflects OO design and works well • Input does not crash the program • Javadoc is included in all classes • Follows Java programming conventions 20

len1653075

9/22/2017 2:25:12 AM

Marking Scheme The below marking scheme will be used to mark the project deliverables. No Components Max Marks Marks Awarded Design 1 Structure chart for console interface 5 2 Detailed class diagram (all classes): • Identification of correct classes • Appropriate attributes and methods (including access modifiers) • Appropriate relationship between classes • Multiplicity used 20 Implementation 3 Appropriate implementation of functionality, including: • Implementing all the required OO classes/ methods appropriately to meet the functionality with appropriate code • Implementing console UI appropriately (UI code separated from business logic) • Implementing the utility classes appropriately 30

len1653075

9/22/2017 2:24:52 AM

C. Demonstrate how to implement an interface by making reservations sortable. D. Produce a Quality Product • Methods should have precondition checking • The program must be of a professional standard. • It must be an OO design and must use inheritance and polymorphism effectively • All classes must follow the style guide in the text book • Javadoc is required • All instance variables must be private (include public getters/ setters to access them) • The program must work reliably • Keep an eye on the overall program performance in terms of system resources/ memory usage

len1653075

9/22/2017 2:24:44 AM

A. Your design must include and effectively demonstrate a good understanding of inheritance. This is to be done by • Including a Vehicle superclass • Including subtypes for Car and Van • Taking advantage of the inheritance relationship to reduce code duplication • Using polymorphism effectively B. You are required to save all object data between each execution to files. This is to be done by • Writing object data to a comma(“,”) delimited file before closing down the application • Reading object data from files and building all objects before the user interface is displayed. • Handle errors that can be caused by file reading/ writing

Write a Review

JAVA Programming Questions & Answers

  Write a java gui application index2 java

Write a Java GUI application Index2.java based on the program in Step 1 that inputs several lines of text and uses String method indexOf to determine the total number of occurrences of each letter of the alphabet in the text

  Explain where the following method invocations

Explain where the following method invocations are most likely to be found in a program for dealing with census data organized using the Model, View, Controller (MVC) design pattern. Choices are zero or more of Model, View, and Controller. Be sure to..

  Java method for radix sort in binary

java method for radix sort in binary but I want to understand how to do it so please make it as simple as possible

  Multi-threading concepts

Multi-threading concepts: What is the output of the following program? class Threading{

  Design implement and test an object-oriented java program

Design, implement and test an object-oriented Java program for processing single-variable polynomials represented as lists.

  Create a servlet to display a table

NetBeans for Java with GlassFish/Tomcat: https://netbeans.org/downloads/ (select All option)) and create a servlet to display a table that contains factorials for the numbers from 0 to 10, as shown

  Descriptionyou are to write a program that determines the

descriptionyou are to write a program that determines the day of the week for new years day in the year 3000. to do

  Write a generic class pair which has 2 type parameters

Write a generic class Pair which has 2 type parameters, F and S, representing the type of the first and second elements of a pair respectively

  Update an existing java program using the netbeans ide

you will update an existing Java program using the NetBeans IDE. You will use the NetBeans Integrated Development Environment to make changes to an existing NetBeans Java Project. This existing program correctly sorts the data without using thread..

  Write a program that asks for number of ticket to purchase

Write a program that asks for the number of ticket to purchase. Then calculate and display the amount of the discount (if any) and the total purchase price.

  Create a javafx application named runningman

Create a JavaFX application named RunningMan.java to animate a man running laps. The man should run from left to right until the edge of the window is reached.

  Ood methodology

Your local police department wants to design new software to keep track of people, property, and criminal activity. List at least three classes you think should be in the design. For each class, identify some data members and methods.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd