Java代写:CS32555 Star Car Rental

代写一个Java的租车应用程序大作业,最终程序需要带GUI界面,工作量不小。

Background

Star Car Rental is an all-Australian, family business and has been since the beginning. It is owned and managed by two generations of the same family. For 50 years it has maintained the low cost formula to provide the clients cheap, but reliable, new hire cars. It has a fleet of around 2,500 new cars available from different offices in different cities. The offices are conveniently located but are set up to keep costs low so it can pass the savings on to the customers. A management group was appointed to develop an up-to-date car rental system and customer service billing system. Your group has won the tender to provide the software component of a computerised car rental and customer service billing system.

System Description

The customer can get car hire details and request the quotation for a car though phone or internet. After obtaining the quote, the user can proceed with the car booking by supplying credit card details. These details will then be validated and the application will be mailed or emailed after the confirmation of the car rental arrangement to the customer’s chosen mail or email address accordingly. Customers should be able to request a quote for renting a car. To facilitate this they should be able to enter the pick-up and drop-off locations they require, the pick-up and drop-off dates and their age in order to obtain a list of available car types based on those search criteria.

The search results include details of vehicle types, prices for telephone booking, and prices for online booking. From the displayed search results, the customer should be able to request more detailed information about a particular vehicle type, including vehicle makes and models in the chosen type, the seating capacity, and the luggage capacity. From the displayed search results, the customer should also be able to request the quote for renting a chosen vehicle type. Also from the displayed search results, the customer should also be able to proceed with booking a car. After selecting this option, the customer will be able to check that the details for the rental transaction are correct. Prior to making the booking, the customer will be able to select from a few options including a request for an excess reduction for an additional fee, a protection waiver against cancellation, entry of a promotional code as well as avail special offers.

The customer will need to be given other important information such as age restrictions, fuel conditions and any other general restrictions, as well as any information on insurance details and pick-up instructions. Still prior to making the booking, the customer will need to enter personal information (such as name, address, telephone number and e-mail address) as well as payment information (credit card details). When processing the booking request, the system will check the completeness and correctness of the customer’s data entry (in particular, the credit card information). After successful validation of entered data, the system will confirm the booking with a rental confirmation number. As an additional confirmation of the booking, an e-mail will be sent to the customer’s e-mail address. To view, change or cancel a car booking, the customer will need the rental number and last name on the booking.

The company rents cars on basis of car model and standard rate (daily, weekly, weekend, additional kilometre charge). The first 200 km are included in charges for every vehicle. All the cars are four door models with air conditioning and automatic transmission. The categories are:

1.  Economy (E)       Toyota Yaris or similar
2.  Star (B)          Toyota Corolla or similar
3.  Midsize (M)       Holden Cruze or similar
4.  Full Size (F)     Toyota Aurion or similar
5.  Passenger Van(V)  Hyundai iMax or similar
6.  SUV(S)            Toyota RAV4 or similar

A weekend is defined from 6:00 PM Friday to 9:00 AM Monday. Any time over one week is computed by prorating the weekly rate.

Whenever a customer comes to pick up car, he/she has to sign the rental agreement. A rental agreement consists of an agreement number, the customer’s name, type of rate (daily, weekend or weekly), car identification (license number), car price category. It also includes the date, time, and mileage when car leaves and the expected date and time of return. The customer renting the car may not be the driver, and there could be many drivers. For each driver, the following information needs to be captured: full name, birth date, driver’s license number, and state of issue of driver’s license. Information about the third party who may be paying the bill also needs to be captured.

Returning a car consists of dropping it off. Also the vehicle is rented with a full tank of petrol, and the customer is responsible for refuelling the vehicle. When a vehicle is returned, an amount for petrol is added if the tank is not full. The date, time and mileage when the car is returned are recorded. The car must be inspected for damage. If the collision damage waiver is not accepted at the time of rental, the cost of repair is added to the bill. The car is also inspected to determine the need of minor maintenance. If maintenance is needed, the car is not cleaned up and returned to the rental lot. Instead, it is sent to the shop for needed repairs and maintenance. If the car passes inspection, it is sent to a car wash and then placed on the lot, ready to be rented again.

A bill is given to the customer if the customer is present. Otherwise, it is mailed to the customer. Often this customer is a third-party payer, such as an insurance company. Payment is made by either cash or credit card. The damage waiver is $8.99 per day. If the customer accepts this, there is no charge for physical damage to the vehicle. If the customer declines this, an insurance policy with a $1000.00 deductible applies to body damage. The deposit is either paid in cash or charged to the credit card. A $1000.00 deposit is collected at time of rental. It is either cash or a charged to the credit card. Late returns incur a penalty. There is a two-hour grace period on a daily and weekend rental. There is a four-hour grace period on a weekly rental. After that another day is charged. A weekly rental turned in early will be computed as a daily rental unless the weekly rate is still cheaper. Star Car Rental also has special offers every week in terms of free vehicle upgrade, great one way deals as well as $50 off on rentals of three weekend days.

Deadlines and deliverables

The items to hand in, the date to hand them in, and the marks for each part, are shown below. The estimated workload for all parts, for each person on the team, is about 36-50 hours. The actual workload may vary by a factor of three due to individual variation.

Use Case Diagram

Identify all the use cases mentioned in the system description and draw a use case diagram, with all use case relationships. It has an expected workload of 8 hours for each group member. There can be approximately 15-20 use cases selected from this system description.

Use Case Descriptions

Describe 3 use cases using the format described in the lecture notes, showing all details for each use case; describe any included or extended tasks that are required by the stated use cases. It has an expected workload of 3 hours for each group member. Each use case should require at most 3 pages of text, and some may take less than one page.

Class Diagram

Design a design class diagram which shows, for each class in the system, the class name and attributes, plus the class associations, multiplicities and operations. Include any inheritance relations. It has an expected workload of 10 hours for each group member.

Sequence Diagram

Draw 3 sequence diagram which show all messages (method calls) between classes, including any parameters, and any value returned from a method call. It shows all selection, iteration, and object creation and / or destruction. It has an expected workload of 5 hours for each group member.

Java Code

Write Java code for 3 methods (getters, setters and constructors will not be considered as methods for Assignment marking) of any one class or different classes in the class diagram. It has an expected workload of 10 hours for each group member.

Dialog Design

Each group has to design dialog for only three use cases. The dialog design consists of two parts:

  • A set of screen layouts, that define the data input to and displayed on each screen.
  • The transitions between the screens. The diagram shows a set of screen icons, the transitions between them, and the user action that creates each transition.

Entity Relationship Diagram

Draw an Entity-Relationship diagram, which shows appropriate entities, relationships and cardinalities. It has an expected workload of 5 hour for each group member.