Develop a gui that will work with the objects

Assignment Help JAVA Programming
Reference no: EM131687949

Part -1:

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.

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

Part -2:

Project Description

Vehicle Hiring System (VHS) - GUI

You are required to develop a GUI that will work with the objects you created in project 2 and provide the same level of functionality.

The Start class must be modified, so that the user can start the GUI or the Console Application, both must work with same set of business objects (one set only). Both the GUI and the console application must work well and changes made in one mode will be persisted (at exit of that mode) and appear when the other mode is run.

The GUI does not required to be fancy. It should be easy to use and organised.

The purpose of your task is to allow you to demonstrate skills mastered in the following areas.

Skills you are required to demonstrate

o Use of appropriate ActionListeners to capture events and respond properly
o Ability creating a GUI that is easy to use
o Use of JFrame
o Use of JPanel
o Use of JDialog
o Use of Layout Managers and any other required GUI components you wish (you must NOT use a GUI development IDE to generate these)
o Exceptions and error handling (use of custom exception objects and other Java built in exceptions)
o Achievement of all business goals/ requirements

Qualities

o GUI has the same level of functionality as the console application
o It is easy for the user to understand how to achieve each task.
o It is easy to understand what data must be entered
o Messages are displayed when the user makes an error
o The look of your design must be unique (Not shared with anyone else)

Rules

o There must still be only one set of classes that represent the business logic.
o The same classes are used by the GUI and by the console Application.
o When the program starts, the user should be allowed to select console mode or GUI mode.
o All changes made in one mode should be visible when the second mode is used.
o Only one mode will be used at a time.
o Strictly you must NOT use a GUI development IDE to implement the GUI

HELP
o Nil provided
o You must research and write this project your-self.

Starting point

o Fix any errors identified in project 2, make any improvements to meet functional requirements and improve usability
o Draw detailed sequence diagrams for the use cases, including GUI objects (use appropriate UML notations discussed in class)
o Improve code to manage errors effectively by using exceptions

This is to be done by:

- Writing your own exception class
- Identifying which business logic methods may cause your code to fail
- Throwing exceptions from the business logic methods with good error messages
- Logging errors to file (error log) where required
- Capturing errors at the user interface and taking corrective action
- Keeping the user well informed about any problems.

Design - I will do this as we have to follow the guidelines
- Structure chart for the GUI
- Sequence diagram for one use case (of your preference) including important GUI objects (if more than one diagram is included the first one in the document will be marked)
Code:
- The solution must be a Blue J Project.

Verified Expert

Vehicle Hiring System (VHS) is a computerized vehicle hiring system(rental system), it provides features like time efficiency to show vehicle details( show available vehicles, show hires for customers, reserve vehicle for customers, show hires for vehicle, show not returned vehicles) , customer information and whatever the customer give the feed back to the manager in the system. Any enquiry is easily done by the customer in the system. It is the software application for managing (online) vehicle hiring (rental) business.

Reference no: EM131687949

Questions Cloud

Plain text versions of a message : State at least two reasons why a business may want to send multipart e-mails that include both HTML formatted and plain text versions of a message.
Responsibilities with respect to risk management : Discuss one role that would participate in risk management and describe that one role's responsibilities with respect to risk management.
What is a memex machine : Q1) What is a MEMEX machine? Compare the features of MEMEX I and MEMEX II.
Analyze the general transition of us health laws : Analyze general transition of US health law based on criminal misconduct in health care to creation of contract law, as predicated within Sherman Antitrust Act.
Develop a gui that will work with the objects : You are required to develop a GUI that will work with the objects you created in project 2 and provide the same level of functionality -
Quantitative risk assessment for a system : Explain why it can be difficult to perform a quantitative risk assessment for a system.
What legacies are created for stakeholders from the event : Judge the implementation and levels of adoption of sustainable practices by a major event. What legacies are created for stakeholders from the event
Describe the different type of instructional characteristics : Describe the different types of instructional characteristics that you believe each level of this program should have for learning to occur and workers to pass.
Determining the appropriate standards : Select an organization with which you are familiar. Identify the compliance laws that you believe would be most relevant to this organization.

Reviews

len1687949

10/23/2017 8:06:36 AM

Exception Handling 3 Managing errors effectively by using exceptions by: • Writing your own exception class • Identifying which methods may cause code to fail • Throwing exceptions with good error messages • Login errors to file where required • Capturing errors at the user interface and taking corrective action • Keeping the user well informed about any problems. Product Quality 4 Overall working quality product in line with design • Easy to use, working quality GUI • Input to GUI does not crash the application • Using only one set of classes to represent the business logic (used by both GUI and Console app) • Allowing the user to select console mode or GUI mode at the start. • All changes made to objects in one mode is visible when the second mode is used.

len1687949

10/23/2017 8:06:25 AM

You need to hand in a hard copy and a soft copy. Marking Scheme The below marking scheme will be used to mark the project deliverables. No Components Max Marks Marks Awarded Design 1 Detailed Sequence Diagram 10 GUI Implementation 2 Appropriate implementation of GUI, including: • Use of appropriate ActionListeners to capture events and respond properly • Use of JFrame • Use of JPanel • Use of JDialog/ JOptionPane • Use of Layout Managers • Use of any other required GUI components • Achievement of all business goals/ requirements 35

len1687949

10/23/2017 8:06:12 AM

I have attached a two files, project 3 and project 2. I want project 3 to be developed. Project 2 was done by you guys only (I just got 80/100) you can check my account on how it was delayed and I received it at the last moment. This time I have no scope of delays and I want you guys to fix my project 2 and work on project 3. The deadline is 24th of this month. Let me know if you guys can do this or not.

Write a Review

JAVA Programming Questions & Answers

  Recursive factorial program

Write a class Array that encapsulates an array and provides bounds-checked access. Create a recursive factorial program that prompts the user for an integer N and writes out a series of equations representing the calculation of N!.

  Hunt the wumpus game

Reprot on Hunt the Wumpus Game has Source Code listing, screen captures and UML design here and also, may include Javadoc source here.

  Create a gui interface

Create GUI Interface in java programing with these function: Sort by last name and print all employees info, Sort by job title and print all employees info, Sort by weekly salary and print all employees info, search by job title and print that emp..

  Plot pois on a graph

Write a JAVA program that would get the locations of all the POIs from the file and plot them on a map.

  Write a university grading system in java

University grading system maintains number of tables to store, retrieve and manipulate student marks. Write a JAVA program that would simulate a number of cars.

  Wolves and sheep: design a game

This project is designed a game in java. you choose whether you'd like to write a wolf or a sheep agent. Then, you are assigned to either a "sheep" or a "wolf" team.

  Build a graphical user interface for displaying the image

Build a graphical user interface for displaying the image groups (= cluster) in JMJRST. Design and implement using a Swing interface.

  Determine the day of the week for new year''s day

This assignment contains a java project. Project evaluates the day of the week for New Year's Day.

  Write a java windowed application

Write a Java windowed application to do online quiz on general knowledge and the application also displays the quiz result.

  Input pairs of natural numbers

Java program to input pairs of natural numbers.

  Create classes implement java interface

Interface that contains a generic type. Create two classes that implement this interface.

  Java class, array, link list , generic class

These 14 questions covers java class, Array, link list , generic class.

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