Auto Rental System Requirements Specification Statement: The Auto Rental System (AR System) is able to handle car reservations, customer billing, and car auctions. When a customer reserves a car, he/she can use online reservation to make a general reservation. The system must be able to look for the matched available car in Car Data Base and form a new reservation in Reservation Data Base. If the customer makes reservation in person, the assistant of rental company is able to access the customer data base, car data base, and reservation data base internally and make a reservation for the customer. After the each reservation is made, the corresponding car will be shown as unavailable in car database. When the customer picks up the car, the assistant can access the customer s reservation record with the reservation number customer provided. The customer and the assistant are able to complete the rental lease using the system. After the completion of the rental lease, the new lease will be recorded in customer data base. (Each lease is directly related to customer s billing information.) Then the system will print out a car rental card (internally used in the company). The customer obtains the key of the car from Technician of the rental company with the car rental card. After the customer checks the status of the car and accept the car, the Technician is able to use AR system to update the car data base that the corresponding car is in-rental status. Then the corresponding rental lease status is updated as 1/3 completion. When the customer returns the car, the technician will check the status of the car. A damage report and a miles report will be made with the AR system. The damage report will be directly related to car database and customer s billing information. And the miles report will update the car database. If the car has accumulated over 20,000 miles, it will be listed to the Car Auction List and deleted in available car list. And the corresponding rental lease status is updated as 2/3 completion. AR system is able to print out a bill. If the customer pays the bill, the transaction will be completed immediately. After the customer pays the bill, the rental lease status is updated as Full completion. If the customer s corporation pays the bill for the customer, the system will send the bill to the corporation where customer works for. The rental lease status will not be Full completion until the rental company receive the payments. Assumptions: Customer database consists all the information about a customer with Name, Age, Driver License Number, Corporation, Log-in ID, Log-in Pass Word, billing information. Car database consists all general information of the available cars and cars auctions, such as brand, passenger capacity, miles, available date, etc. Reservation database contains all the reservations the auto rental company have. The information includes date made reservation, date to pick up car, customer s name, reservation number. Lease database contains all the leases the auto rental company have. The information includes date, customer, rental plan, accident insurance option, Loss Damage Waiver option, Gas Charges option, and completion status.
Description of the Use Cases and Actors The actor in the Auto Rental System is Actor Name : Customer Description: The customer must be able to make reservation, sign rental Lease, pick up the car, return the car, and pay bill. Actor Name: Corporation Description: The corporation which the customer works for. The customer can choose that the corporation pays the bill for them. Use-Case Name: Search Car Description: The customer selects the dates picking up the car and returning the car, and the type of car they want using the system. Use-Case Name: Find matched car Description: The system interacts with Car database to find the matched car. Use-Case Name: Complete Reservation Description: Once the system find the matched car, the system will ask the customer to complete reservation. Use-Case Name: Obtain Reservation Number Description: After the customer complete the reservation, the system will give customer a reservation number. Use-Case Name: Show reservation number Description: The customer uses the reservation number to access the reservation he/she makes. Use-Case Name: Sign Rental Lease Description: The customer chooses different rental options from the system, and create a rental lease. Use-Case Name: Pick up Car Description: Once the customer sign the rental lease, the customer can go to pick up the car. Use-Case Name: Check Car Description: The customer checks the car before accept the car. Use-Case Name: Return Car Description: The customer returns the car. Use-Case Name: selfbilling Description: If the customer pays bill by self, the billing will be paid directly. Use-Case Name: Corporation Billing Description: The corporation which the customer works for pays the bill for the customer.
Log in Complete Reservation Search Car Find Matched Car Obtain Reservation # Customer Show Reservation # Sign Rental Lease Pick up car Check Car Return Car SelfBilling Pay the bill directly Corporation Billing Corporation Figure 1. The Customer Package
Actor Name: Assistant Description: The assistant must be able to access the Customer database, Reservation database, Lease database, and Car database. He/she can update these databases information. Use-Case Name: Prove Customer ID Description: The assistant must prove customer s identification before each transaction. Use-Case Name: Access ClientDB Description: The assistant is able to access client s information in Client database. Use-Case Name: Create Reservation Description: The assistant can create a reservation for the customer by directly access reservation database. Use-Case Name: Check Reservation Description: With the reservation number a customer provides, the assistant can check corresponding reservation information. Use-Case Name: Update ReservationDB Description: The assistant is able to update the reservation database when creating a new reservation or change current reservation information. Use-Case Name: Create Rental Lease Description: The assistant is able to provide the customer rental information and create the rental lease. Use-Case Name: Update rental LeaseDB Description: When the assistant creates a new lease, it will update the lease database. Use-Case Name: Assign Car Description: After the customer signs the lease, the assistant can assign a car. Use-Case Name: Update CarDB Description: As the assistant signs out a car, it will update the Car database. Use-Case Name: Calculate Bill Description: The assistant is able to summary all the billing information from a customer. Use-Case Name: Update ClientDB Description: The billing result will be shown in ClientDB. Use-Case Name: Send Bill Description: After all the billing information is collected in the system. The bill will be printed out. Use-Case Name: Bill Customer Description: The assistant is able to ask customer to pay bills. Use-Case Name: Receive payment Description: The assistant is able to check the payment s status.
Prove Customer ID Access ClientDB Create Reservation Update ReservationDB Check Reservation Assistant Create Rental Lease Update rental LeaseDB Assign Car Update CarDB Calculate Bill Update ClientDB Send Bill Bill Customer Receive payment Figure 2. The Assistant Package
Actor Name: Technician Description: The technician must be able to find the assigned car, and update the status of the car in Car database. When the car is returned back, technician is able to report the status of the car. Use-Case Name: Find Car Description: When the customer picks up car from technician, the first thing technician will do is to find the actual car. Use-Case Name: Sign out Car Description: After the customer check the car and accept the car, the technician will sign out the car. Use-Case Name: Update CarDB Description: After the car is signed out, the technician will update the Car database. Also when the car is returned back, the technician will update the status of the car in Car database. Use-Case Name: Update LeaseDB Description: After the car is signed out, it means the lease is completed by 1/3. The technician is able to update this information in Lease database. Use-Case Name: Check Car Description: When the car is returned, the technician will check the car s status. Use-Case Name: Damage Report Description: The technician sends damage report of the returned car to the assistant for calculate bill. Use-Case Name: Report Car Miles Description: The technician checks whether the car is over 20,000 miles. If it is, the technician will update the Car database and send this car to auction list.
Find Car Sign out Car Update LeaseDB Technician Update CarDB Report Car Miles Check Car Damage Report Assistant Figure 3. The Technician Package
Customer Wants to make a Reservation Enter Log in ID Enter Log in Pass Word Invalid PW Valid Select Date of Picking up car No matched cars Select Date of Drop-off Car Select Type of Car Reset Make Reservation? Yes NO Make Reservation? Form Reservation #
Customer Arrives at rental company Show ID Show Reservation # Invalid # Valid Select Rental Plan Sign Rental Lease Obtain Assigned car # Reset Pick up Car Check Car Yes NO Ask for another car Accept the Car
Customer Returns car to the technician Show ID Show Car Technician check the car Check miles of car Check damage of the car >20,000 < 20,000 Complete Damage report Update Instock Car record Send the car to car auction
Pay the bills System send the bill Choose billing method CorPay Send bill to Corporation Self billing Pay bills directly Receive Corp. Payment Update billing info. in ClientDB
Customer System ClientDB CarDB ReservationDB Access e-reservation page Ask UserID and PW Enter userid and PW Verify userid and PW LogIn successful msg Prove userid and PIN General Reserv. Info. form Complete GRI form Find the matched available car Send detailed car information Show car information Ask whether make Reserv. Confirm reservation Send reservation information Detail info. of reserv. With reservation number Give reservation number exit Thank you msg. Find Matched Car Diagram