SWE 215 – Software Requirements Engineering
Term 091
Car Rental System
(CRS)
www.shaeqkhan.com
January 28
2010
Team 1 – AbdulAziz Al-Amoudi, Yazeed Al-Habbed and Shaeq Pervez Khan
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 2
Table of Contents
iii. User and User Characteristics.......................................................................................................... 13
iv. General Constraints ........................................................................................................................ 14
v.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 3
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 4
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 5
Introduction
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 6
1. Introduction
i.
Purpose:
This document contains the software requirements for the Car Rental System CRS. The main
purpose of a Car Rental System to be implemented is to manage information about Cars,
Customers and the system users related to the company.
This is the first version of the SRS document. The purpose of this document is to state all system
requirements clearly for usage in the development stages ahead.
This document is meant to be viewed by the project development team, users and the
stakeholders. All requirements for the system have been stated clearly in the document and this
is used to make sure that everyone related to the system directly or indirectly understands all
requirements stated in this document.
ii.
Scope:
This document covers the entire system and all its subparts. The purpose of this system is as
follows:
Efficiency:
This system provides quick addition, deletion or search for various types of data which are a
part of the system. This decreases the process time for employees and manual search work
that could take hours can be done in just a few seconds or minutes.
Accurate Records:
There is no fear of manipulation of records by unauthorized personnel. All records stored in
the system are protected. Files in storage may catch fire or be spoilt in water. But data
storage in repositories reduces those risks.
Accountability:
Any transaction made through the system is kept track of and in case anything goes wrong
with customer dealings, the fault can be traced back to the origin very easily.
Generating Reports:
The system is capable of producing weekly and monthly reports on cars, customers and
system users.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 7
iii.
References:
Dean Leffingwell and Don Widring, “Managing Software Requirements: A Use Case
Approach”, Addison-Wesley, 2004.
Sommerville book.
iv.
Overview:
In the document, the following things will be discussed ahead –
Overall Description
o The perspective of the product
o Product Features and User Requirements
o Users and user characteristics
o General Constraints
o Assumption and Dependencies
System Architecture
System requirements
o Use case diagrams
o Use case descriptions
o Non functional requirements
Analysis Model
o Interaction Diagram
o Class Diagram
o Data dictionary
User Interface Screens
Evolution
o Assumption on which system is based
o Anticipated changes
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 8
Overall Description
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 9
2. Overall Description
The main purpose of this document is to give details about what the user can expect from the Car Rental
System (CRS). This document provides an important overview of the system according to the requirements
that have been given to us during the requirement analysis for this Car Rental System (CRS).
In the next section, we introduce product perspective followed by description of product features and user
requirements in section 2. User and user characteristic in section 3 followed by general constrains in
section 4. In section 5 we have assumptions and dependencies.
i.
Product Perspective
Our company has been handed over the task to carry out the requirements analysis to implement a
Car Rental System (CRS). We want this software to completely be a front desk system and hence
will only be used by the salespeople and an Branch manager and administrator. We have realized
that there are three ways to implement the Car Rental System (CRS) and they are stated as follows -
The existing software at the company can be upgraded to form the new Car Rental System
(CRS).
A new Car Rental System (CRS) can be created from scratch.
We can follow the Component based development technique to create the system from
scratch.
We believe that the best way to implement the Car Rental System (CRS) is to create a new one. The
reasons are as follows –
In case we plan to upgrade the existing system, then we will have to work on integrating the
system with a legacy system database. This might create problems for us since experts in the
legacy system are not readily and cheaply available.
We will be able to create a system of better quality. This will be possible if we review the faults
in the old system and learn from the mistakes made during the various processes that were
involved to create the old system.
The new system will have better performance due to usage of new and time efficient data
searching algorithms which will increase the efficiency of the workplace.
The new system will provide a new user friendly Graphic User Interface (GUI) which will also
help to increase the efficiency of the work place.
The new system will be compatible with a new database that will be created along with it. A
new database has to be created due to the increase in the amount and type of information that
has to be stored.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 10
The new system will be able to undergo evolution in a much simpler way and will be more
adaptable to the changing systems. The upcoming changes in the near future will be predicted
and the system will be designed in a way to adapt to the changes that will occur over the years.
Figure 1: The above diagram shows the actors and the subsystems contained in the Car Rental System.
The system allows the stake holders to run an efficient business by providing company reports, stock
inventory and sales information data. All these functionalities of the system provided in a timely and
organized way will help the business to expand to generate more revenue and prevent losses.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 11
ii.
Product Features and User Requirements
The following are the features of the product –
User Account Management:
The system will allow every Receptionist, Accountant, Fleet inspection and Dispatch to have a
different account to login from. This will keep a record of their work time without them having to
enter it every time they leave or enter the workplace.
Sales Record system:
The system will allow all the salesmen account to keep a record of the sales that have been made
by the account for the week in order to calculate the commission and monthly to calculate the
bonus to be awarded by the company.
System Backup:
The system will have a 24 hour backup to record car rental applications from users in case the
server goes down.
High system security:
The system will employ a fulltime high security antivirus and a secure network so that the system
cannot be illegally modified or hacked into.
Car Information system:
This system gives the ability to the company to keep track of the information on all the cars that are
available in the branch’s stock. All relevant information related to the car such as colour, license
plate, registration, model number, insurance etc. is stored in the system database. It will record the
cars ages and update their condition and rent life. The system will show the car’s status (whether
under maintenance, available or rented). The system will provide information about the rate of rent
for a car for different periods of time (weekdays, weekends, holidays, Umrah).
User Information System:
This system gives the ability to the company to keep track of the information on the customers in
order to classify their association with the company. All customers will be classified according to the
frequency with which they rent cars and offer them satisfactory discounts for usage.
Emergency Issue System:
In case of emergency, if a car is not available, the Receptionist, Accountant, Fleet inspection and
Dispatch can view the inventory of other branches and issue a car.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 12
Bank to Branch Link System:
When a customer will pay using a bank card rather than cash, it is necessary that a link is always
maintained between the branch and bank for successful transaction.
Data Backup System:
In case the system goes down due to server crashes or power failure or any other calamity, all
operations are being run such as updating data, carrying requests etc. will be saved to a backup
system. All of this will then be copied on to the original database as soon as the system is up and
running.
The user requirements for the Car Rental System (CRS) has been listed as follows -
Branch manager:
1. The system shall allow Branch manager to add, modify, search and delete a car.
2. The system shall allow Branch manager to add, modify, view and delete a category.
3. The system shall allow Branch manager to manager to add, modify, view, search and delete a
customer.
4. The system shall allow Branch manager to generate reports.
Administrator:
1. The system shall allow administrator to add, modify, search and delete an account.
2. The system shall allow administrator to backup the system.
Receptionist:
1. The system shall allow receptionist to book a car, modify, search and cancel booking.
2. The system shall allow to receptionist to add, modify, view, search and delete a customer.
Accountant:
1. The system shall allow to accountant to receive payment.
Fleet Inspection:
1. The system shall allow to fleet inspection to update received car.
2. The system shall allow to fleet inspection to report repair.
Dispatch Department:
1. The system shall allow dispatch department to receive a car.
2. The system shall allow dispatch department to dispatch a car.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 13
iii.
User and User Characteristics
The main people who have been identified as regular system users are as follows –
1. Branch Manager
2. Administrator.
3. Receptionist
4. Accountant
5. Fleet Inspection
6. Dispatch Department
The users can be classified according to their frequency of use, subset of product functions used,
technical expertise, security or privilege levels, educational level, or experience they have to the Car
Rental System (CRS).
Branch manager and administrator are supposed to have the following characteristics –
o On the whole, Branch manager and administrator spend comparatively lesser time than others
on the system. Usually they would access the system when they are required to make reports or
something else.
o They should have high technical expertise. They have to be fluent in the system usage and
should be well aware of all the system functionalities.
o Branch manager and administrator have access to all security levels as they have to access and
maintain the system occasionally.
o Branch manager and administrator should have experience in handling a system of this domain.
He must be able to identify errors caused due to improper data entries.
Receptionist, Accountant, Fleet Inspection and Dispatch Department supposed to have the
following characteristics –
o They spend the maximum amount of time on the system in the form of entering information,
updating it or deleting the information.
o They are not required to have technical expertise. The most they would need is to be computer
literate to understand the working of the system and use it efficiently.
o They have very low security access. They cannot access quite a few functionalities of the system
except the one’s they really have to use.
o They should have good communication skills and even if they have no experience in system
usage, it’s not a big problem.
o They should have experience in this area with a minimum diploma in IT.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 14
iv.
General Constraints
These are some of the constraints that can be faced by the Car Rental System (CRS) –
Schedule and Resource Constraints
o Time can be listed as a constraint. We are expected to finish this SRS document within 4 months
with distractions in between due to the time demanded by the other courses.
o There may be budget constraints where the allocated amount for implementation might not be
enough.
o To understand the things that were missing from the previous software, we may need the old
requirements documents to identify the features that are required now. There is a possibility
that the old system documents have been damaged due to improper storage or misplaced.
Political Constraints
o It may be a long procedure to acquire access to the Ministry database for customer
identification.
Technology Constraints
o The branch may house defective hardware which can delay the deployment of our system.
v.
Assumption and Dependencies
We have made the following assumptions to the development of the Car Rental System (CRS) –
We assume that the development team has all the software’s and tools that will be required to
complete this project on time.
We assume that at the time of the system deployment, the branches will have computers with
the minimum system requirements as per required by the software for efficient runtime.
We assume that our project team has been finalized and no new member will be added nor a
present member will leave the group in the middle of the project.
We assume that all the requirements we get from our sources are correct and achievable.
These are a few dependencies we have for the system –
The system is based dependent on ministry database.
The system has efficient run time on Windows platform.
The system is dependent on bank for processing payments on time.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 15
System Architecture
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 16
3. System Architecture
Figure 2 – The above diagram gives an overview of the system architecture
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 17
System Requirements
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 18
4. System Requirements
i.
Use Case Diagrams
Receptionist
Figure 3: Use Case diagram for Receptionist
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 19
Accountant
Figure 4: Use Case Diagram for Accountant
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 20
Dispatch Department
Figure 5: Use Case diagram for Dispatch Department
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 21
Fleet Inspection
Figure 6: Use Case diagram for Fleet Inspection
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 22
Administrator
Figure 7: Use Case diagram for Administrator
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 23
Branch Manager
Figure 8: Use Case diagram for Branch Manager
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 24
ii.
Use Case Description
1. Book Car
Use Case Number
1
Use Case Name
Book Car
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 10, 2009
Precondition(s)
The user has logged in to the system.
Successful Post Condition The car is booked for the customer and a booking ID is
generated.
Actors
Receptionist
Priority
High
Related Use Cases
2. Modify booking.
3. Cancel Booking.
4. Search Booking.
5. Add customer.
6. Modify customer.
7. View customer.
8. Search customer.
Basic flow
Steps
1
The use case begins when the user selects
“Book Car”.
2
The system prompts the user to enter the
customer’s file number.
3
The user enters the customer’s file number
and clicks “OK”.
A1: Add Customer.
A2: Search Customer.
A3: Modify Customer.
A4: View Customer.
4
The system displays the booking screen
along with the discount offer.
A5: The user entered an invalid file
number.
5
The user selects the type of car in
the checkbox that contains:
o Sports car.
o SUV.
o Station wagon.
o Other car types.
The user enters the start/end date
of car rental.
6
The system displays cars available with the
faire per period.
A6: No cars available.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 25
7
The user selects the car the customer
requests.
8
The system displays a confirmation screen
that contains:
The car rented.
The start/end date.
The amount the customer has to
pay.
The discount offered.
9
The user confirms the criteria.
10
The use case ends.
Alternate Flow: A1 (Add Customer)
1
The “Add Customer” use case is executed.
2
The flow goes to step 4 of the primary flow.
Alternate Flow: A2 (Search Customer)
1
The user selects “Search Customer”
2
The “Search Customer” use case is
executed.
3
The flow goes to step 4 of the primary flow.
Alternate Flow: A3 (Modify Customer)
1
The “Modify Customer” use case is
executed.
2
The flow goes to step 4 of the primary flow.
Alternate Flow: A3 (View Customer)
1
The “View Customer” use case is executed.
2
The flow goes to primary flow, step 4.
Alternate Flow: A5 (Invalid File Number)
1
The system displays a message that the
entered file doesn’t exist.
2
The user confirms the message.
3
The flow returns to step 3 of the primary
flow.
Alternate Flow: A6 (No Cars Available)
1
The system displays a message that there
are no cars available.
2
The user confirms the message.
3
The flow returns to step 5 of the primary
flow.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 26
2. Modify Booking
Use Case Number
2
Use Case Name
Modify Booking
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 17, 2009
Precondition(s)
A valid booking must exist in the customer’s file.
Successful Post Condition
-
The return date of the booked car is changed.
-
The car booked might be changed.
Actors
Receptionist
Priority
Medium.
Related Use Cases
4. Search Booking
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user selects
“Modify Booking”.
2
The system prompts the user to enter the
customer’s booking number.
A1: Search Booking.
3
The user enters the booking number and
clicks “View”.
A2: Invalid Booking Number.
4
The system displays the booking profile.
5
The user changes the required information:
Return date.
Car rented.
6
The system generates a confirmation
message.
7
The user confirms the message.
8
The use case ends.
Alternate Flow: A1 (Search Booking)
1
The “Search Booking” use case is executed.
2
The flow goes to the basic flow, step 3.
Alternate Flow: A2 (Invalid Booking Number)
1
The system displays a message that the
entered booking number doesn’t exist.
2
The user confirms the message.
3
The flow returns to the basic flow, step 2.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 27
3. Cancel Booking
Use Case Number
3
Use Case Name
Cancel Booking
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 17, 2009
Precondition(s)
-
The car must be booked.
-
The receptionist must enter the booking number.
Successful Post Condition The car booking is canceled.
Actors
Receptionist
Priority
Medium.
Related Use Cases
4. Search Booking
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user enters
the customer’s booking number.
A1: Search Booking.
2
The system displays the booking profile.
A2: The booking number doesn’t
exist.
3
The user cancels the booking.
4
The system generates a confirmation
message.
5
The user confirms the message.
6
The use case ends.
Alternate Flow: A1 (Search Booking)
1
The “Search Booking” use case is executed.
2
The flow goes to the basic flow, step 2.
Alternate Flow: A2 (The booking number doesn’t exist)
1
The system displays a message that the
entered booking number doesn’t exist.
2
The user confirms the message.
3
The flow returns to the basic flow, step 1.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 28
4. Search Booking
Use Case Number
4
Use Case Name
Search Booking
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 17, 2009
Precondition(s)
In the case that the customer lost the booking number, the
receptionist needs to enter the customers name or mobile
number in the required field.
Successful Post Condition The booking file is viewed.
Actors
Receptionist
Priority
Low.
Related Use Cases
2. Modify Booking.
3. Cancel Booking.
Flow of Events
Basic Flow
Step Number
Steps
1
The system prompts the user to enter:
Customer’s phone number.
Customer’s driving license
number.
Customer’s name.
2
The user enters the required information.
3
The system displays the profile.
The booking doesn’t exist.
4
The use case ends.
Alternate Flow: A1 (The booking doesn’t exist)
1
The system displays a message that the
booking doesn’t exist.
2
The user confirms the message.
3
The flow goes to the basic flow, step 1.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 29
5. Add Customer
Use Case Number
5
Use Case Name
Add Customer
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 10, 2009
Precondition(s)
When a customer wants to book a car and he doesn’t have
a previous instantiated account, then the receptionist adds
a customer.
Successful Post Condition The customer is added to the system.
Actors
Receptionist
Branch Manager
Priority
High.
Related Use Cases
1. Book Car.
6. Modify Customer.
7. View Customer.
8. Search Customer.
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Add Customer”.
2
The system displays the “New Customer”
screen and prompts the user to enter the
required information:
Name.
National ID.
Driving License.
Offered Discount.
Address.
Occupation (Job).
Company.
3
The user enters the required information.
4
The system displays a confirmation
message to confirm the criteria.
A1: The user missed a required
area.
A2: The information already exists.
5
The user confirms the message.
6
The use case ends.
Alternate Flow: A1 (The user missed a required area)
1
The system prompts the user that he didn’t
enter required information.
2
The user enters the information.
3
The flow returns to the basic flow, step 4.
Alternate Flow: A2 (The information already exists)
1
The system displays a message that the
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 30
information already exists.
2
The user confirms the message.
3
The system displays the duplicated
information.
4
The user might change the information.
A3: Search Customer.
5
The flow returns to the basic flow, step 2.
Alternate Flow: A3 (Search Customer)
1
The “Search Customer” use case is
executed.
2
The use case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 31
6. Modify Customer
Use Case Number
6
Use Case Name
Modify Customer
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 10, 2009
Precondition(s)
When the customer requests to book a car, he might want
to change some of the information existing in his file like a
mobile phone or an address.
Successful Post Condition The customer file is modified and the old data is updated.
Actors
Receptionist
Branch Manager
Priority
Low.
Related Use Cases
1. Book Car
8. Search Customer
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Modify Customer” and enters the
customer’s file number.
A1: Search Customer.
2
The system displays the customer’s profile.
3
The user changes the required information
and clicks”OK”.
4
The system displays a confirmation
message.
5
The user confirms the message.
6
The use case ends.
Alternate Flow: A1 (Search Customer)
1
The “Search Customer” use case is
executed.
2
The use case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 32
7. View Customer
Use Case Number
7
Use Case Name
View Customer
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 10, 2009
Precondition(s)
When the customer requests to book a car, the user might
want to view the customer’s file to validate specific
information.
Successful Post Condition The customer’s file is displayed to the user.
Actors
Receptionist
Priority
Low.
Related Use Cases
1. Book Car
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“View Customer” in the booking screen.
2
The system displays the customer’s file.
3
The user clicks “OK” when he finishes
checking the file.
4
The use case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 33
8. Search Customer
Use Case Number
8
Use Case Name
Search Customer
Author/Source
Abdulaziz Alamoudi
Date of Creation
10 November, 2009
Precondition(s)
When the customer requests booking a car in the case that
the customer forgot his file number the user will search
using the customer’s phone number or name.
Successful Post Condition The system displays the customer’s file to the user.
Actors
Receptionist
Branch Manager
Priority
High
Related Use Cases
1. Book Car.
5. Add Customer.
6. Modify Customer.
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user selects
“Search Customer”.
2
The system displays a search engine screen
that contains the fields:
Name.
Driving License.
National ID.
Phone Number.
2
The user enters the customer’s searching
information name and clicks “Search”.
3
The system displays a message that the file
was found.
A1: The file is not found.
4
The user clicks on the file icon.
5
The system displays the file.
6
The user clicks “OK”.
7
The use case ends.
Alternate Flow: A1 (The file is not found)
1
The system displays a message that the file
is not found.
2
The user confirms the message.
3
The flow returns to basic flow, step 2.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 34
9. Receive Payment
Use Case Number
9
Use Case Name
Receive Payment
Author/Source
Abdulaziz Alamoudi
Date of Creation
17 November, 2009
Precondition(s)
The customer pays the accountant the amount of money
required.
Successful Post Condition The accountant issues a coupon for the customer and
settles the bill afterwards.
Actors
Accountant
Priority
High
Related Use Cases
10.Transfer Fund.
11. Settle Bill.
12. Issue Coupon.
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user enters
the booking number.
2
The system displays the booking file along
with the payment.
A1: Settle Bill.
A2: Issue Coupon.
Alternate Flow: A1 (Settle Bill)
1
The “Settle Bill” use case is executed.
2
The use case ends here.
Alternate Flow: A2 (Issue Coupon)
1
The “Issue Coupon” use case is executed.
2
The use case ends here.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 35
10. Transfer Fund
Use Case Number
10
Use Case Name
Transfer Fund
Author/Source
Abdulaziz Alamoudi
Date of Creation
10 November, 2009
Precondition(s)
The customer might use a credit card for the payment.
Successful Post Condition The funds are transferred to the bank account.
Actors
Bank Server
Priority
Medium
Related Use Cases
9. Receive Payment
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user
establishes a connection with the bank
server.
E1: There is no connection.
2
The user enters the account number and
the payment amount.
3
The system validates the information and
sends it to the bank server.
A1: Invalid Account Number.
4
The bank server receives the information.
5
The funds are transferred.
6
The bank server sends a confirmation
message.
7
The user confirms the message.
8
The use case ends.
Alternate Flow: A1 (Invalid Account Number)
1
The system displays a message that the
account number doesn’t exist.
2
The flow returns to primary flow step 2.
Error Flow: E1 (There is no connection)
1
The system displays a message that there is
no connection with the bank server.
2
The user confirms the message.
3
The use case ends in this position.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 36
11. Settle Bill
Use Case Number
11
Use Case Name
Settle Bill
Author/Source
Abdulaziz Alamoudi
Date of Creation
17 November, 2009
Precondition(s)
The customer must pay the remaining payment when
returning the car.
Successful Post Condition The bill is settled and the customer’s file is legally cleared
from any additional payment.
Actors
Accountant.
Priority
High
Related Use Cases
9. Receive Payment
10. Transfer Fund.
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user selects
“Settle Bill”.
2
The system prompts the user to enter the
booking number.
3
The user enters the booking number.
4
The system displays the remaining
payment.
A1: There is no additional payment.
5
The user confirms the bill.
6
The bill is printed.
7
The use case ends.
Alternate Flow: A1 (There is no additional payment)
1
The system displays a message that there is
no additional payment.
2
Te user confirms the message.
3
The flow goes to basic flow, step 5.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 37
12. Issue Coupon
Use Case Number
12
Use Case Name
Issue Coupon
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 17, 2009
Precondition(s)
The payment of must be received.
Successful Post Condition The coupon is issued.
Actors
Accountant
Priority
High
Related Use Cases
9. Receive Payment
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Issue Coupon” after receiving the
payment.
2
The system displays the coupon containing
the information regarding the rental:
Car rented.
Rent/Return date.
Coupon Number.
Customer Number.
Booking Number.
Payment.
3
The user clicks “Print Coupon”.
4
The coupon is printed.
5
The use case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 38
13. Receive Car
Use Case Number
13
Use Case Name
Receive Car
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
Fleet Inspection has approved the car’s usage by
customers.
Successful Post Condition The information about the car’s availability is updated.
Actors
Dispatch Department
Priority
Medium
Related Use Cases
15. Update Record
16. Issue Form
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Receive Car”.
2
The system prompts the user to enter the
customer ID and booking number.
3
The user enters the required information.
A1: Information entered is invalid.
A2: Update record for the car
A3: Customer does not exist.
A4: Invalid Booking number.
4
The system displays a confirmation
message.
5
The user confirms the message.
-
A5: Customer requests for a copy of
the form
6
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Update Record for the car)
1
The use case 15 Update Record is executed
2
The flow goes back to basic flow, step 4
Alternate Flow: A3 (Customer does not exist)
1
The system displays a message that the
customer with the entered ID does not
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 39
exist in the system.
2
The user confirms the message.
3
The use case 8 Search Customer is
executed
4
The flow goes back to basic flow, step 2
Alternate Flow: A4 (Invalid Booking number)
1
The system displays a message that the
booking number entered is invalid.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A5 (Customer requests for a copy of the
form)
1
The use case 16 Issue Form is executed
2
The use case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 40
14. Dispatch Car
Use Case Number
14
Use Case Name
Dispatch Car
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
Fleet Inspection has approved the car’s usage by
customers.
Successful Post Condition The car has been handed over to the customer.
Actors
Dispatch Department
Priority
High
Related Use Cases
Issue Form
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Dispatch Car”.
2
The system prompts the user to enter the
customer ID and booking number.
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation
message for a valid booking.
A2: Customer does not exist.
A3: Invalid Booking number.
5
The user confirms the message.
6
Use case number 16 Issue form is executed.
7
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Customer does not exist)
1
The system displays a message that the
customer with the entered ID does not
exist in the system.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A3 (Invalid Booking number)
1
The system displays a message that the
booking number entered is invalid.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 41
15. Update Record
Use Case Number
15
Use Case Name
Update Record
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
The dispatch department has received the car from the
fleet inspection department.
Successful Post Condition The availability status of the car has been updated.
Actors
Dispatch Department
Priority
Medium
Related Use Cases
13 Receive Car
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins after the user clicks
“Recieve Car”.
2
The system prompts the user to enter the
category of the car and license plate
number.
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation
message stating that the car exists in the
system.
A2: Car not found.
5
The user confirms the message.
6
The system prompts the user to update the
car.
7
The user makes changes in the previous
data and saves the changes.
8
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Car not found)
1
The system displays a message that the car
with the entered license plates and under
the category does not exist.
2
The user confirms the message.
3
The flow goes back to basic flow, step 3
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 42
16. Issue Form
Use Case Number
16
Use Case Name
Issue Form
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
The dispatch department has verified the user and checked
the availability of the car
Successful Post Condition A form has been issued to the customer
Actors
Dispatch Department
Priority
High
Related Use Cases
13 Receive Car
14 Dispatch Car
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins after the user clicks
“Dispatch Car”.
2
The system retrieves all required
information from the database that is
required to put in the form.
- A1: Information not found in
Database
3
The system generates the form and
displays it to the user.
4
The user prints the form for the customer
for record.
- E1: Printer out of service.
5
The use case ends.
Alternate Flow: A1 (Information not found in Database)
1
The system displays a message that all
essential information for the form was not
found in the database.
2
The user confirms the message
3
The use case 6. Modify Customer is
executed
4
The flow goes back to basic flow, step 2
Error Flow: E1 (Printer out of service)
1
The system displays a message that the
printer is currently out of service.
2
The user confirms the message.
3
The use case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 43
17. Report Repair
Use Case Number
17
Use Case Name
Report Repair
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
The car has been handed over to the fleet inspection by the
dispatch department
Successful Post Condition Any repair done to the car is successfully recorded.
Actors
Fleet Inspection
Priority
Medium
Related Use Cases
18 Search Car
20 Update Car Status
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Report Repair”.
2
The use case 18 Search Car is executed.
3
The system prompts the user to enter the
cost of repair
4
The user enters the cost of repair.
A1. Cost entered is more than
SR10,000
5
The system displays a message that the
cost entered has been added to the car’s
record.
6
The user confirms the message.
7
The system runs the use case 19 Update
Car Status.
8
The use case ends.
Alternate Flow: A1 (Cost entered is more than SR10,000)
1
The system displays a message that the
cost entered for repairing is more than SR
10,000 which need special permission from
the branch manager.
2
The user confirms the message.
3
The flow goes back to basic flow, step 6
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 44
18. Search Car
Use Case Number
18
Use Case Name
Search Car
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
The car has been added to the database by the branch
manager
Successful Post Condition The actor can view all information related to the car
Actors
Fleet Inspection
Priority
Medium
Related Use Cases
None
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins after the user clicks
“Report Repair”
2
The system prompts the user to enter the
category of the car and license plate
number.
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation
message stating that the car exists in the
system.
A2: Car not found.
5
The user confirms the message.
6
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Car not found)
1
The system displays a message that the car
with the entered license plates and under
the category does not exist.
2
The user confirms the message.
3
The flow goes back to basic flow, step 3
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 45
19.
Update Received Car
Use Case Number
19
Use Case Name
Update Received Car
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
The car has been handed over to the fleet inspection by the
dispatch department
Successful Post Condition The status of the car is changed to under maintenance
Actors
Fleet Inspection
Priority
Medium
Related Use Cases
None
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Update Received Car”.
2
The system prompts the user to enter the
category of the car and license plate
number.
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation
message stating that the car exists in the
system.
A2: Car not found.
5
The user confirms the message.
6
The system asks the user to enter a status
for the received car.
7
The user selects the status for the car –
under maintenance, discarded or available.
8
The system displays a message that the
status of the car has been updated.
9
The user confirms the message.
10
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Car not found)
1
The system displays a message that the car
with the entered license plates and under
the category does not exist.
2
The user confirms the message.
3
The flow goes back to basic flow, step 3
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 46
20. Update Car Status
Use Case Number
20
Use Case Name
Update Car Status
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
User has login successfully and there is an existed car.
Successful Post Condition. User updates the car status.
Related Use Case
17.Report Repair.
Actors
Fleet Inspection.
Priority
High
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user choose the
option of update car status.
2
System asks the user to enter the file
number of the car.
3
The user enters the file number.
A1: Invalid File Number.
4
The system prompts the user to change the
car status.(Available- not available-
Freezing).
5
The user changes the car status.
A2: Invalid status.
6
The system shows a confirmation message
to the user.
7
The user confirms the message.
8
The use case ends.
Alternate Flow A1: Invalid file number
1
The system shows a message to the use
about the wrong file number.
2
The user confirms the message and the
flow returns to step 3.
A2: Invalid Status.
1
The system shows a message to the user
about the invalid car status.
2
The user confirms the message and the
basic flow returns back to step 5.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 47
21. Add Account
Use Case Number
21
Use Case Name
Add account
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
Administrator must be logged in
Successful Post Condition An account must be created for a system user
Actors
Administrator
Priority
Medium
Related Use Cases
None
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Add Account”.
2
The system prompts the user to enter all
the essential information for creating an
account like name, employeeID, type of
account etc
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation
message stating that the account has been
created successfully.
E1: Unable to access database
5
The user confirms the message.
6
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Error Flow: E1 (Unable to access database)
1
The system displays a message that the
system is not able to access the database to
make any additions or modifications
2
The user confirms the message.
3
The use case ends
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 48
22. Delete Account
Use Case Number
22
Use Case Name
Delete account
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
Administrator must be logged in
Successful Post Condition
An account will be deleted from the system
Actors
Administrator
Priority
Medium
Related Use Cases
None
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Delete Account”.
2
The system prompts the user to enter name,
employeeID, and the type of account
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation message
stating that the account exists in the system
A2: Account does not exist
5
The user confirms the message.
6
The system then informs the user that the
account is going to be deleted from the system
A3: User cancels the operation
7
The user accepts the message
8
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of the
same type of information accepted by the info
field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Account does not exist)
1
The system displays a message that the system
does not contain any account with the entered
information.
2
The user confirms the message.
3
The use case 24 Search Account is executed
4
The use case ends
Alternate Flow: A3 (User cancels the operation)
1
The system informs the user that they have
canceled the operation
2
The user confirms the message
3
The use case ends
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 49
23. Modify Account
Use Case Number
23
Use Case Name
Modify account
Author/Source
Shaeq Khan
Date of Creation
December 5, 2009
Precondition(s)
Administrator must be logged in
Successful Post Condition An account will be modified in the system
Actors
Administrator
Priority
Medium
Related Use Cases
None
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
“Modify Account”.
2
The system prompts the user to enter
employeeID, and the type of account
3
The user enters the required information.
A1: Information entered is invalid.
4
The system displays a confirmation
message stating that the account exists in
the system
A2: Account does not exist
5
The user confirms the message.
6
The use case 24 Search Account is executed
7
The system displays the information of the
employee and asks the user to make
changes as required
8
The user makes all the necessary changes.
6
The system then informs the user that the
account is going to be modified in the
system
A3: User cancels the operation
7
The user accepts the message
8
The use case ends.
Alternate Flow: A1 (Information entered is invalid)
1
The system displays a message that the
information entered by the user is not of
the same type of information accepted by
the info field.
2
The user confirms the message.
3
The flow goes back to basic flow, step 2
Alternate Flow: A2 (Account does not exist)
1
The system displays a message that the
system does not contain any account with
the entered information.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 50
2
The user confirms the message.
3
The use case ends
Alternate Flow: A3 (User cancels the operation)
1
The system informs the user that they have
canceled the operation
2
The user confirms the message
3
The use case ends
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 51
24. Search Account
Use Case Number
24
Use Case Name
Search Account
Author
Yazeed
Date of Creation
28-Nov-09
Precondition(s)
Administrator has login successfully.
Successful Post
Condition`
Administrator has found the account that he searched for.
Actors
Administrator
Related Use Case
-
22.Delete Account.
-
23.Modify Account.
Priority
medium
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the administrator
choose the option search account.
2
System asks the administrator category of
the user(accountant, receptionist ,…,etc) to
search for it.
3
The administrator chooses the category of
the user.
A1: Invalid Category.
4
The system prompts the Administrator to
enter ID of the user.
A2: Incorrect ID.
5
The administrator enters the ID.
6
The system shows the account for the user.
The use case ends
E1: User not found.
Alternate Flow A1: Invalid Category:
1
The system shows a message to the
administrator to re-enter the category
2
The administrator confirms the message
3
The basic flow returns to step 3.
Alternate Flow A1: Incorrect ID.
1
The system displays a message to the
administrator to re-enter the ID.
2
The administrator confirms the message.
3
The basic flow returns to step 4.
E1:User not found.
1
The system shows a message that user not
found
2
The user confirms the message the use
case ends.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 52
25. Backup System
Use Case Number
25
Use Case Name
Backup System
Author
Yazeed
Date of Creation
28-Nov-09
Precondition(s)
Administrator has log in successfully
Successful Post Condition The files have been completely backup and they are in the
required disk.
Actors
Administrator
Priority
Low .
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the administrator
select the option backup system.
2
The System asks the administrator to
choose data that he wants to backup.
3
The administrator chooses the required
files.
4
The system :
-
Checks memory size.
-
Shows a confirmation message.
A1: Insufficient memory.
E1: Backup is not available.
5
The administrator confirms the message
6
The system shows information about the
process and use case ends.
Alternate Flow A1: Insufficient memory size.
1
The system displays the message that asks
the administrator to reduce data size.
2
The administrator confirms the message
and the flow returns to step 3.
Error Flow E1: Backup is not available.
1
System shows the message that the backup
is not reachable.
2
The administrator confirms the message
and the use case ends here
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 53
26. Add Category
Use Case Number
26
Use Case Name
Add Category.
Author
Yazeed
Date of Creation
29-Nov-09
Precondition(s)
Manager has login successfully.
Successful Post Condition
The category is added and it is available to be added to cars.
Actors
Branch Manager.
Priority
Medium.
Flow of Events
Basic Flow
Step No.
Steps
1
The use case begins when the manager selects the
option add category.
2
System asks the manager to enter data of the
category which includes:
-
Name.
-
Rates.
3
The manager enters the data of the category.
A1: incomplete information.
A2:Wrong piece of information.
4
The system shows a confirmation message.
5
The manger confirms the message and the use case
ends.
Alternate Flow A1: Incomplete information
1
The system shows a message to the manger to
complete the missed data.
2
The manager confirms the message and the flow
returns to step 3.
Alternate Flow A2: Wrong piece of information.
1
The system displays the message saying a specific
entered information cannot be accepted.
2
User confirms the message and the flow returns back
to basic flow step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 54
27. Modify Category
Use Case Number
27
Use Case Name
Modify Category
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
There is an existed category in the system.
Successful Post Condition
-
The category is modified .
-
The modification affects cars which are included in the
category.
Actors
Branch Manager.
Related Use Case
-
28.View Category.
-
29.Delete Category.
Priority
Medium.
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the option
modify category.
2
The system asks the user to enter the name of the
category.
3
The user enters the name of the category.
A1: Invalid name.
4
The system executes View Category use case.
5
The user changes required fields.
6
The system shows a confirmation message if the
modification is done.
7
The user confirm the message and the use case
ends.
Alternate Flow A1: Invalid name.
1
The system shows a message to the user to re-
enter the name
2
The user confirms the message and the basic flow
returns back to step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 55
28. View category
Use Case Number
28
Use Case Name
View Category
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
There is an existed category in the system.
Successful Post Condition
The category is viewed.
Actors
Branch Manager.
Related Use Case
-
27.Modify Category.
-
29.Delete Category.
Priority
low.
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the option
view category.
2
The system asks the user to enter the name of the
category.
3
The user enters the name of the category.
A1: Invalid name.
4
The system view the requested category.
5
The use case ends.
Alternate Flow A1: Invalid name.
1
The system shows a message to the user to re-
enter the name
2
The user confirms the message and the basic flow
returns back to step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 56
29. Delete Category
Use Case Number
29
Use Case Name
Delete Category
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
There is an existed category and the requested category
has been viewed.
Successful Post Condition The requested category has been deleted and it cannot be
used to be used by cars.
Actors
Branch Manager
Related Use Case
-
28.View Category.
-
27.Modify Category.
Priority
Medium.
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the
option delete category.
2
The system asks the user to enter the name
of the category.
3
the user enter the name of the category.
A1: Invalid name
4
The system execute View Category use
case.
5
The user delete this category.
6
The system shows a confirmation message
to the user.
7
The user confirms the message and the use
case ends.
Alternate Flow A1: Invalid Name
1
The system shows a message to the user to
re-enter the name.
2
The user confirms the message and the
basic flow returns to step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 57
30. Generate Report
Use Case Number
30
Use Case Name
Generate Reports
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
User has login successfully .
Successful Post Condition The requested report is generated for the available cars.
Actors
Branch Manager.
Priority
Medium
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the
option generate reports.
2
System prompts the user to choose the
date of the report that contains the
information of the available cars.
3
The user choose the date.
A1: Invalid date.
4
The system generates the report to the
user.
5
The use case ends.
A1:Invalid Date:
1
The system shows a message to the user to
choose another date.
2
The user confirms the message and the
basic flow of event returns to step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 58
31. Remove Car
Use Case Number
31
Use Case Name
Remove Car
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
User has login successfully and there is an existed car in the
system.
Successful Post Condition The car is removed from the system and cannot be rented.
Actors
Branch Manager.
Related Use Case
-
18.Search Car.
-
32.Modify Car.
Priority
Medium
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the
option remove car.
2
System prompts the user to enter the file
number of the car
3
The user enters the file number.
A1: Search Car.
A2: Invalid File Number.
4
The system :
-
Removes the requested car from
the database.
-
Shows a confirmation message to
the user.
5
The user confirms the message.
6
The use case ends.
Alternate Flow A1: Search Car.
1
The user selects "Search Car".
2
The "Search Car" use case is executed.
3
The flow returns back to basic flow step 4.
Alternate Flow A2: Invalid File Number.
1
The system shows a message to the user
about the wrong file number.
2
The user confirms the message and the
basic flow returns to step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 59
32. Modify Car
Use Case Number
32
Use Case Name
Modify Car
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
User has login successfully and there is an existed car in the
system
Successful Post Condition The requested modification is done .
Related Use Case
-
18.Search Car.
-
31.Remove car.
Actors
Branch Manager.
Priority
Medium
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the
option Modify car.
2
System prompts the user to the file number
of the car
3
The user enters the file number.
A1: Search car.
A2:Wrong file number.
4
The system displays the car.
5
The user modifies the required data.
6
The system shows a confirmation message
to the user about the modification.
7
The use confirms the message and the use
case ends.
Alternate Flow A1: Search Car.
1
The user selects "Search Car".
2
The "Search Car" use case is executed.
3
The flow returns back to basic flow step 4.
Alternate Flow A2: Invalid File Number.
1
The system shows a message to the user
about the wrong file number.
2
The user confirms the message and the
basic flow returns to step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 60
33. Add Car
Use Case Number
33
Use Case Name
Add Car
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
User has login successfully.
Successful Post Condition The car is entered to the system and available to be rented.
Actors
Branch Manager.
Priority
Medium
Flow of Events
Basic Flow
Step Number
Steps
1
Use case starts when the user select the
option add car.
2
System prompts the user to enter the
information of the car including:
-
Company.
-
Name.
-
Model.
-
Color
-
File number.
-
.. etc.
3
The user enters the requested information.
A1: Incomplete information.
A2:Wrong piece of information.
4
The system :
-
Display a confirmation message.
5
The user confirms the message.
6
The system add the car and the use case
ends.
Alternate Flow A1: Incomplete information
1
The system displays a message that tells
the user about missed information.
2
The user confirms the message and the
flow returns back to basic flow step 3.
Alternate Flow A2: Wrong piece of information.
1
The system displays the message saying a
specific entered information cannot be
accepted.
2
User confirms the message and the flow
returns back to basic flow step 3.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 61
34. Delete Customer
Use Case Number
34
Use Case Name
Delete Customer
Author/Source
Abdulaziz Alamoudi
Date of Creation
November 10, 2009
Precondition(s)
The account must exist.
Successful Post Condition
The file is deleted.
Actors
Branch Manager
Priority
High
Related Use Cases
8. Search Customer.
Flow of Events
Basic Flow
Step Number
Steps
1
The use case begins when the user enters the
customer’s file number.
A1: Search Customer.
2
The system displays the file.
A2: Invalid File Number.
3
The user selects “Delete File”.
4
The system displays a confirmation message.
5
The user confirms the message.
6
The file is deleted.
7
The use case ends.
Alternate Flow: A1 (Search Customer)
1
The user selects “Search Customer”
2
The “Search Customer” use case is executed.
3
The flow goes to step 2 of the primary flow.
Alternate Flow: A2 (Invalid File Number)
1
The system displays a message that the entered
file doesn’t exist.
2
The user confirms the message.
3
The flow returns to step 1 of the primary flow.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 62
iii.
Non-Functional Requirement:
Reliability:
o The system shall be available for 90% of 24 hrs.
o The system shall not be subject to failure for 20 hrs.
o The system shall be repaired in at least one hour.
o The system shall accurately deal with decimal numbers.
Performance:
o The system response for operations shall be at most 5 seconds.
o The system shall handle five users per department.
Supportability:
The system shall accommodate changes and enhancements that the development team is
going to do in at most 5 days.
Design Constraints:
o The system shall be design according to IEEE Standards.
o The system shall replace existing system.
o The system shall be programmed using JAVA.
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 63
Analysis Model
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 64
5. Analysis Model
i. Interaction Diagrams
1. Book Car
Figure 9: Sequence Diagram for Book Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 65
2. Modify Booking
Figure 10: Sequence Diagram for Modify Booking
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 66
3. Cancel Booking
Figure 11: Sequence Diagram for Cancel Booking
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 67
4. Search Booking
Figure 12: Sequence Diagram for Search Booking
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 68
5. Add Customer
Figure 13: Sequence Diagram for Add Customer
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 69
6. Modify Customer
Figure 14: Sequence Diagram for Modify Customer
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 70
7. View Customer
Figure 15: Sequence Diagram for View Customer
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 71
8. Search Customer
Figure 16: Sequence Diagram for Search Customer
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 72
9. Receive Payment
Figure 17: Sequence Diagram for Receive Payment
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 73
10. Transfer Fund
Figure 18: Sequence Diagram for Transfer Fund
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 74
11. Settle Bill
Figure 19: Sequence Diagram for Settle Bill
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 75
12. Issue Coupon
Figure 20: Sequence Diagram for Issue Coupon
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 76
13. Receive Car
Figure 21: Sequence Diagram for Receive Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 77
14. Dispatch Car
Figure 22: Sequence Diagram for Dispatch Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 78
15. Update Record
Figure 23: Sequence Diagram for Update Record
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 79
16. Issue Form
Figure 24: Sequence Diagram for Issue Form
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 80
17. Report Repair
Figure 25: Sequence Diagram for Report Repair
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 81
18. Search Car
Figure 26: Sequence Diagram for Search Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 82
19. Update Received Car
Figure 27: Sequence Diagram for Update Received Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 83
20. Update Car Status
Figure 28: Sequence Diagram for Update Car Status
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 84
21. Add Account
Figure 29: Sequence Diagram for Add Account
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 85
22. Delete Account
Figure 30: Sequence Diagram for Delete Account
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 86
23. Modify Account
Figure 31: Sequence Diagram for Modify Account
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 87
24. Search Account
Figure 32: Sequence Diagram for Search Account
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 88
25. Backup System
Figure 33: Sequence Diagram for Backup System
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 89
26. Add Category
Figure 34: Sequence Diagram for Add Category
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 90
27. Modify Category
Figure 35: Sequence Diagram for Modify Category
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 91
28. View Category
Figure 36: Sequence Diagram for View Category
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 92
29. Delete Category
Figure 37: Sequence Diagram for Delete Category
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 93
30. Generate Report
Figure 38: Sequence Diagram for Generate Report
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 94
31. Remove Car
Figure 39: Sequence Diagram for Remove Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 95
32. Modify Car
Figure 40: Sequence Diagram for Modify Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 96
33. Add Car
Figure 41: Sequence Diagram for Add Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 97
34. Delete Customer
Figure 42: Sequence Diagram for Delete Customer
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 98
ii. Class Diagram
Figure 43: Class Diagram
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page 99
iii. Data Dictionary
1. Category
Category
This groups the cars according to their price range and type.
Data Member
Name
Description
Type
Additional Type
Information
Default
Value
Mandatory?
Unique?
categoryType
This defines the type of
the car to be stored in
the system.
-
SUV
-
SEDAN
-
LUXURY
For example, several
cars can belong to the
category “SUV”.
String
A new category can
be added or deleted
to the system by the
Branch
Manager.
When you create a
“Category”
it
is
necessary that you
initialize an upper
and lower price limit.
Null
Yes
No
MaxDiscount
This
defines
the
maximum discount that
can be offered to cars in
a particular category
Double
The discount for a car
is calculated based
on the customer’s
history keeping in
mind his regularity of
dealings with the
company.
0.00%
Yes
No
PriceLowerLimit
The lowest price that
can be assigned to a car
belonging to a particular
category.
Double
SR 20.00
Yes
No
PriceUpperLimit
The highest price that
can be assigned to a car
belonging to a particular
category.
Double
SR
9,000.00
Yes
No
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
100
2. Booking
Booking
This creates and stores a car booking for a customer.
Data Member
Name
Description
Type
Additional
Type
Information
Default Value
Mandatory?
Unique?
bookingDate
This stores the date on
which the customer
makes
a
booking(bookings) for a
car
Date
01 January
20XX
Yes
No
bookingNumber
A unique identifier of
the Booking. A Booking
is identified by its
unique booking number
integer
It acts like a
primary key
and is useful
as search
parameters
000000
Yes
Yes
bookingStatus
Classifies a car as
follows –
-
Booked
-
Available
-
Under
maintenance
-
Scrap
String
“Unbooked”
No
No
car
Imports all objects of
type Car into a Data
Structure
for
operations.
Car
null
Yes
No
customer
Imports all objects of
type Customer into a
Data
Structure
for
operations.
Customer
null
Yes
No
finalPayment
Payment to be made by
the customer to settle
the bill.
double
This includes
the cost of any
damage done
to the car or
any fine to be
imposed due
to delay in
return of
car(s).
00.00
Yes
No
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
101
initialPayment
Payment to be made
before the issue of the
form as deposit money
double
An initial
amount needs
to be given as
a deposit.
00.00
Yes
No
returnDate
This store the date
when the customer is
due to return the car to
the rental company.
Date
startDate +1
Yes
No
startDate
This store the date
when the customer
takes the car from the
rental company.
Date
01 January
20XX
Yes
No
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
102
3. Car
Car
The entity will contain the car information.
Data
Member
Name
Description
Type
Additional Type
Information
Default
Value
Mandatory? Unique?
Manufacturer
The manufacturing
company (Toyota,
Ford, etc)
String
The name of the
company
Null
Yes
No
Manufacturing
Number
Manufacturing n
umber of the car
(Serial number)
String
A unique number
made of more than
10 characters.
Null
Yes
Yes
Car Model
The car’s model
(2000, 2005, etc)
Integer
Constrained from
1999.
1999
Yes
No
Series Name
The market name of
the car (Land Cruiser,
Camry, etc)
String
Simple text.
Null
No
No
Plates Number
The plate number
identifies the car.
String
3 Letters and 4 Digits
(Arabic and English).
Null
Yes
Yes
Color
The outer color of the
car
String
Red, white…
Null
No
No
Pay Rate
The rate specified by:
-Months.
-Days.
-Hours.
Double
Depends on the
category but should
not be less than
SR300.
* According
to the
category.
Yes
No
Car Category
What is the type of the
car?
String
The type of the car:
-Luxury.
-SUV.
-Pickup.
-Normal.
-Small.
Null
Yes
No
Odometer
Reading
How many
kilometers?
Double
The reading of the
Odometer, how many
kilometers have the
car been driven.
0.0
Yes
No
Car Status
The availability of the
car.
String
-Available.
-Rent.
-Under Repair.
Available
Yes
No
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
103
4. Car History
Car History
The entity contains past information of the car. The information is related to previous bookings and
customers.
Data
Member
Name
Description
Type
Additional Type
Information
Default
Value
Mandatory? Unique?
Booking
Previous bookings of
the car.
Booking
Text.
Null
Yes
Yes
Date
Date of bookings.
Date
Starting from the date
the car is purchased.
Null
Yes
Yes
Customer
Customers who have
rented the car.
Customer
Simple Text
Null
Yes
Yes
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
104
5. Customer
Customer
The person who is going to rent the car.
Data Member
Name
Description
Type
Additional Type
Information
Default
Value
Mandatory?
Unique?
Name
This identifies the
name of the
customer.
String
Normal text.
Null.
Yes
No
NationalID
This identifies the
national ID number
for the customer.
Integer
This is the formal
number which any
person should be
known by it.
Null.
Yes
Yes
File number
The serial number of
the customer in the
system.
Integer
When the customer
comes for the first time,
he is given this number
by the receptionist.
The default identifier for
the customer in the
system
000001-
999999
Yes
Yes
Mobile Number
This identifies the
mobile number for the
customer.
Integer
It can be used for
searching a customer.
050000000
0
Yes
Yes
Address
This identifies the
place where the
customer is resident.
String
Normal text
Null
Yes
No
This identifies the
customer's email
String
Used to contact with
the customer and send
to him new offers from
the company
Null
Yes
Yes
Driving License
This identifies the
license number for
the customer.
Integer
If the customer does
not have a license
number, then the
system cannot do
accomplish the booking
Null
Yes
Yes
Discount
This identifies the
offered discount
Double
It is offered only for
special customers.
0%-10%
Yes
No
Occupation
The occupation for
the customer
String
Normal text
Null
Yes
No
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
105
6. Customer History
Customer
History
The history of the whole customers in the system
Data Member
Name
Description
Type
Additional Type
Information
Default Value
Mandatory?
Unique?
Booking
This identifies
customer's booking
information.
Booking
It is a list of all
information of the
booking
Null
Yes
Yes
Name
This identifies the
customer's name
String
Normal text
Null.
Yes
No
Date
This identifies the
date that the
customer when the
customer rent the car
Date
Its format:
DD/MM/YY
Min: 1/1/2010
Max: 30/12/2020
Yes
No
File Number
This identifies the
customer's file
number
Integer
The default
identifier for the
customer in the
system
000001-999999
Yes
Yes
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
106
External Interface
Requirements
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
107
6. External Interface Requirements
i. User Interface Screens
1. Login Screen
Figure 44: User Interface – Login Screen
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
108
2. Add Customer
Figure 45: User Interface – Add Customer
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
109
3. Add Category
Figure 46: User Interface – Add Category
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
110
4. Add Car
Figure 47: User Interface – Add Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
111
5. Add Account
Figure 48: User Interface – Add Account
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
112
6. Issue Coupon
Figure 49: User Interface – Issue Coupon
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
113
7. Dispatch Car
Figure 50: User Interface – Dispatch Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
114
8. Book Car
Figure 51: User Interface – Book Car
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
115
Evolution
Car Rental System (CRS) www.shaeqkhan.com
January 28, 2010
Page
116
7.
Evolution
i. Assumptions on which system is based
The system is designed initially for only one branch.
The system will connected to the interior ministry database, police database and bank
servers.
Every user has his own account and no one can access the others' accounts.
The system will be entirely managed by the administrator.
ii. Anticipated changes:
Technology and Hardware changes:
o In the next versions, the system will contain online services for booking and get
information, so they need to provide them with internet connection and modems.
o We will add GPS services to each car in the company, so the system will contain GPS
devices to follow cars for security.
o Later versions of the system will be based on touch screens to increase the efficiency.
o As a probability of company’s growing in the market, we will arrange the cars in the fleet
in a systematic way according to our system which will contain a map for the fleet and
when they need a car, they can enter a specific information and get its place in the map.
o To give customers more services with easier process, we will implement our system in
machines like ATM and they will be distributed according to the company's desire.
Changing User Needs:
o The company may need to increase the number of the branches, so these branches need
flexible communications in the process of serving the customer from different areas.
o The company may want to add, merge or remove departments form the company.
o The company may change their current process of booking a car.
End of SRS Document