代写一个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.