Professional Documents
Culture Documents
Car System Srs
Car System Srs
Term 091
www.shaeqkhan.com
Table of Contents
1.
i.
ii.
iii.
iv.
2.
i.
ii.
iii.
iv.
v.
3.
4.
i.
Introduction ..................................................................................................................................... 6
Purpose: ............................................................................................................................................ 6
Scope: ............................................................................................................................................... 6
References: ....................................................................................................................................... 7
Overview:.......................................................................................................................................... 7
Overall Description ........................................................................................................................... 9
Product Perspective .......................................................................................................................... 9
Product Features and User Requirements ....................................................................................... 11
User and User Characteristics.......................................................................................................... 13
General Constraints ........................................................................................................................ 14
Assumption and Dependencies ....................................................................................................... 14
System Architecture ....................................................................................................................... 16
System Requirements..................................................................................................................... 18
Use Case Diagrams .......................................................................................................................... 18
Receptionist ............................................................................................................................................................. 18
Accountant............................................................................................................................................................... 19
Dispatch Department ............................................................................................................................................... 20
Fleet Inspection........................................................................................................................................................ 21
Administrator ........................................................................................................................................................... 22
Branch Manager ....................................................................................................................................................... 23
ii.
2.
Modify Booking................................................................................................................................................ 26
3.
4.
5.
6.
7.
8.
9.
Receive Payment.............................................................................................................................................. 34
10.
Transfer Fund................................................................................................................................................... 35
11.
12.
13.
14.
Dispatch Car..................................................................................................................................................... 40
15.
16.
17.
Report Repair................................................................................................................................................... 43
Page 2
iii.
5.
i.
www.shaeqkhan.com
18.
Search Car........................................................................................................................................................ 44
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
2.
Modify Booking................................................................................................................................................ 65
3.
4.
5.
6.
7.
8.
9.
Receive Payment.............................................................................................................................................. 72
10.
Transfer Fund................................................................................................................................................... 73
11.
12.
13.
14.
Dispatch Car..................................................................................................................................................... 77
15.
17.
Report Repair................................................................................................................................................... 80
18.
Search Car........................................................................................................................................................ 81
19.
20.
21.
22.
Page 3
ii.
iii.
www.shaeqkhan.com
23.
24.
25.
26.
28.
View Category.................................................................................................................................................. 91
29.
30.
31.
32.
33.
34.
Class Diagram.................................................................................................................................. 98
Data Dictionary ............................................................................................................................... 99
1. Category .................................................................................................................................................................. 99
2. Booking .................................................................................................................................................................. 100
3. Car... ..............................................................................................................................................................................102
4. Car History ............................................................................................................................................................. 103
6. Customer History ................................................................................................................................................... 105
7.
i.
ii.
Page 4
www.shaeqkhan.com
Introduction
Page 5
www.shaeqkhan.com
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.
Page 6
iii.
iv.
www.shaeqkhan.com
References:
Dean Leffingwell and Don Widring, Managing Software Requirements: A Use Case
Approach, Addison-Wesley, 2004.
Sommerville book.
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
Evolution
o Assumption on which system is based
o Anticipated changes
Page 7
www.shaeqkhan.com
Overall Description
Page 8
www.shaeqkhan.com
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).
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.
Page 9
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.
Page 10
ii.
www.shaeqkhan.com
System Backup:
The system will have a 24 hour backup to record car rental applications from users in case the
server goes down.
Page 11
www.shaeqkhan.com
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:
Page 12
iii.
www.shaeqkhan.com
The main people who have been identified as regular system users are as follows
1.
2.
3.
4.
5.
6.
Branch Manager
Administrator.
Receptionist
Accountant
Fleet Inspection
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 ones they really have to use.
o They should have good communication skills and even if they have no experience in system
usage, its not a big problem.
o They should have experience in this area with a minimum diploma in IT.
Page 13
iv.
www.shaeqkhan.com
General Constraints
These are some of the constraints that can be faced by the Car Rental System (CRS)
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.
We assume that the development team has all the softwares 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.
www.shaeqkhan.com
System Architecture
Page 15
www.shaeqkhan.com
3. System Architecture
Page 16
www.shaeqkhan.com
System Requirements
Page 17
www.shaeqkhan.com
4. System Requirements
i.
Receptionist
Page 18
www.shaeqkhan.com
Accountant
Page 19
www.shaeqkhan.com
Dispatch Department
Page 20
www.shaeqkhan.com
Fleet Inspection
Page 21
www.shaeqkhan.com
Administrator
Page 22
www.shaeqkhan.com
Branch Manager
Page 23
ii.
www.shaeqkhan.com
1. Book Car
Use Case Number
Use Case Name
Author/Source
Date of Creation
Precondition(s)
Successful Post Condition
Actors
Priority
Related Use Cases
1
Book Car
Abdulaziz Alamoudi
November 10, 2009
The user has logged in to the system.
The car is booked for the customer and a booking ID is
generated.
Receptionist
High
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
customers file number.
3
The user enters the customers 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.
Page 24
www.shaeqkhan.com
January 28, 2010
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 doesnt 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.
Page 25
www.shaeqkhan.com
2. Modify Booking
2
Modify Booking
Abdulaziz Alamoudi
November 17, 2009
A valid booking must exist in the customers file.
- The return date of the booked car is changed.
- The car booked might be changed.
Receptionist
Medium.
4. Search Booking
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
customers 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 doesnt exist.
2
The user confirms the message.
3
The flow returns to the basic flow, step 2.
Page 26
www.shaeqkhan.com
3. Cancel Booking
3
Cancel Booking
Abdulaziz Alamoudi
November 17, 2009
- The car must be booked.
- The receptionist must enter the booking number.
The car booking is canceled.
Receptionist
Medium.
4. Search Booking
Basic Flow
Step Number
Steps
1
The use case begins when the user enters
the customers booking number.
A1: Search Booking.
2
The system displays the booking profile.
A2: The booking number doesnt
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 doesnt exist)
1
The system displays a message that the
entered booking number doesnt exist.
2
The user confirms the message.
3
The flow returns to the basic flow, step 1.
Page 27
www.shaeqkhan.com
4. Search Booking
4
Search Booking
Abdulaziz Alamoudi
November 17, 2009
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.
The booking file is viewed.
Receptionist
Low.
2. Modify Booking.
3. Cancel Booking.
Basic Flow
Step Number
Steps
1
The system prompts the user to enter:
Customers phone number.
Customers driving license
number.
Customers name.
2
The user enters the required information.
3
The system displays the profile.
The booking doesnt exist.
4
The use case ends.
Alternate Flow: A1 (The booking doesnt exist)
1
The system displays a message that the
booking doesnt exist.
2
The user confirms the message.
3
The flow goes to the basic flow, step 1.
Page 28
www.shaeqkhan.com
5. Add Customer
Flow of Events
5
Add Customer
Abdulaziz Alamoudi
November 10, 2009
When a customer wants to book a car and he doesnt have
a previous instantiated account, then the receptionist adds
a customer.
The customer is added to the system.
Receptionist
Branch Manager
High.
1. Book Car.
6. Modify Customer.
7. View Customer.
8. Search Customer.
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 didnt
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
Page 29
www.shaeqkhan.com
January 28, 2010
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.
Page 30
www.shaeqkhan.com
6. Modify Customer
6
Modify Customer
Abdulaziz Alamoudi
November 10, 2009
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.
The customer file is modified and the old data is updated.
Receptionist
Branch Manager
Low.
1. Book Car
8. Search Customer
Basic Flow
Step Number
Steps
1
The use case begins when the user clicks
Modify Customer and enters the
customers file number.
A1: Search Customer.
2
The system displays the customers profile.
3
The user changes the required information
and clicksOK.
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.
Page 31
www.shaeqkhan.com
7. View Customer
7
View Customer
Abdulaziz Alamoudi
November 10, 2009
When the customer requests to book a car, the user might
want to view the customers file to validate specific
information.
The customers file is displayed to the user.
Receptionist
Low.
1. Book Car
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 customers file.
3
The user clicks OK when he finishes
checking the file.
4
The use case ends.
Page 32
www.shaeqkhan.com
8. Search Customer
Flow of Events
8
Search Customer
Abdulaziz Alamoudi
10 November, 2009
When the customer requests booking a car in the case that
the customer forgot his file number the user will search
using the customers phone number or name.
The system displays the customers file to the user.
Receptionist
Branch Manager
High
1. Book Car.
5. Add Customer.
6. Modify Customer.
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 customers 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.
Page 33
www.shaeqkhan.com
9. Receive Payment
Flow of Events
9
Receive Payment
Abdulaziz Alamoudi
17 November, 2009
The customer pays the accountant the amount of money
required.
The accountant issues a coupon for the customer and
settles the bill afterwards.
Accountant
High
10.Transfer Fund.
11. Settle Bill.
12. Issue Coupon.
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.
Page 34
www.shaeqkhan.com
10
Transfer Fund
Abdulaziz Alamoudi
10 November, 2009
The customer might use a credit card for the payment.
The funds are transferred to the bank account.
Bank Server
Medium
9. Receive Payment
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 doesnt 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.
Page 35
www.shaeqkhan.com
11
Settle Bill
Abdulaziz Alamoudi
17 November, 2009
The customer must pay the remaining payment when
returning the car.
The bill is settled and the customers file is legally cleared
from any additional payment.
Accountant.
High
9. Receive Payment
10. Transfer Fund.
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.
Page 36
www.shaeqkhan.com
12
Issue Coupon
Abdulaziz Alamoudi
November 17, 2009
The payment of must be received.
The coupon is issued.
Accountant
High
9. Receive Payment
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.
Page 37
www.shaeqkhan.com
13
Receive Car
Shaeq Khan
December 5, 2009
Fleet Inspection has approved the cars usage by
customers.
The information about the cars availability is updated.
Dispatch Department
Medium
15. Update Record
16. Issue Form
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
Page 38
www.shaeqkhan.com
January 28, 2010
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.
Page 39
www.shaeqkhan.com
14
Dispatch Car
Shaeq Khan
December 5, 2009
Fleet Inspection has approved the cars usage by
customers.
The car has been handed over to the customer.
Dispatch Department
High
Issue Form
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
Page 40
www.shaeqkhan.com
15
Update Record
Shaeq Khan
December 5, 2009
The dispatch department has received the car from the
fleet inspection department.
The availability status of the car has been updated.
Dispatch Department
Medium
13 Receive Car
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
Page 41
www.shaeqkhan.com
16
Issue Form
Shaeq Khan
December 5, 2009
The dispatch department has verified the user and checked
the availability of the car
A form has been issued to the customer
Dispatch Department
High
13 Receive Car
14 Dispatch Car
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.
Page 42
www.shaeqkhan.com
17
Report Repair
Shaeq Khan
December 5, 2009
The car has been handed over to the fleet inspection by the
dispatch department
Any repair done to the car is successfully recorded.
Fleet Inspection
Medium
18 Search Car
20 Update Car Status
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 cars
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
Page 43
www.shaeqkhan.com
18
Search Car
Shaeq Khan
December 5, 2009
The car has been added to the database by the branch
manager
The actor can view all information related to the car
Fleet Inspection
Medium
None
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
Page 44
www.shaeqkhan.com
19
Update Received Car
Shaeq Khan
December 5, 2009
The car has been handed over to the fleet inspection by the
dispatch department
The status of the car is changed to under maintenance
Fleet Inspection
Medium
None
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
Page 45
www.shaeqkhan.com
20
Update Car Status
Yazeed
30-Nov-09
User has login successfully and there is an existed car.
User updates the car status.
17.Report Repair.
Fleet Inspection.
High
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 availableFreezing).
5
The user changes the car status.
7
8
Page 46
www.shaeqkhan.com
21
Add account
Shaeq Khan
December 5, 2009
Administrator must be logged in
An account must be created for a system user
Administrator
Medium
None
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
Page 47
www.shaeqkhan.com
22
Delete account
Shaeq Khan
December 5, 2009
Administrator must be logged in
An account will be deleted from the system
Administrator
Medium
None
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
Page 48
www.shaeqkhan.com
23
Modify account
Shaeq Khan
December 5, 2009
Administrator must be logged in
An account will be modified in the system
Administrator
Medium
None
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.
Page 49
www.shaeqkhan.com
2
The user confirms the message.
3
The use case ends
Page 50
www.shaeqkhan.com
24
Search Account
Yazeed
28-Nov-09
Administrator has login successfully.
Administrator has found the account that he searched for.
Administrator
- 22.Delete Account.
- 23.Modify Account.
medium
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.
Page 51
www.shaeqkhan.com
25
Backup System
Yazeed
28-Nov-09
Administrator has log in successfully
The files have been completely backup and they are in the
required disk.
Administrator
Low .
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
Page 52
www.shaeqkhan.com
26
Add Category.
Yazeed
29-Nov-09
Manager has login successfully.
The category is added and it is available to be added to cars.
Branch Manager.
Medium.
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
1
2
1
2
Page 53
www.shaeqkhan.com
27
Modify Category
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
Priority
Flow of Events
28.View Category.
29.Delete Category.
Medium.
Basic Flow
Step Number
Steps
1
2
Page 54
www.shaeqkhan.com
28
View Category
Author
Yazeed
Date of Creation
30-Nov-09
Precondition(s)
Actors
Branch Manager.
low.
Priority
27.Modify Category.
29.Delete Category.
Flow of Events
Basic Flow
Step Number
Steps
1
2
Page 55
www.shaeqkhan.com
29
Delete Category
Yazeed
30-Nov-09
There is an existed category and the requested category
has been viewed.
The requested category has been deleted and it cannot be
used to be used by cars.
Branch Manager
- 28.View Category.
- 27.Modify Category.
Medium.
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.
1
2
Page 56
www.shaeqkhan.com
30
Generate Reports
Yazeed
30-Nov-09
User has login successfully .
The requested report is generated for the available cars.
Branch Manager.
Medium
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.
4
5
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.
Page 57
www.shaeqkhan.com
31
Remove Car
Yazeed
30-Nov-09
User has login successfully and there is an existed car in the
system.
The car is removed from the system and cannot be rented.
Branch Manager.
- 18.Search Car.
- 32.Modify Car.
Medium
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.
5
6
1
2
3
1
2
Page 58
www.shaeqkhan.com
32
Modify Car
Yazeed
30-Nov-09
User has login successfully and there is an existed car in the
system
The requested modification is done .
- 18.Search Car.
- 31.Remove car.
Branch Manager.
Medium
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
6
7
1
2
3
1
2
Page 59
www.shaeqkhan.com
33
Add Car
Yazeed
30-Nov-09
User has login successfully.
The car is entered to the system and available to be rented.
Branch Manager.
Medium
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.
4
5
6
Page 60
www.shaeqkhan.com
34
Delete Customer
Abdulaziz Alamoudi
November 10, 2009
The account must exist.
The file is deleted.
Branch Manager
High
8. Search Customer.
Basic Flow
Step Number
1
Steps
The use case begins when the user enters the
customers 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 doesnt exist.
2
The user confirms the message.
3
The flow returns to step 1 of the primary flow.
Page 61
iii.
www.shaeqkhan.com
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.
Page 62
www.shaeqkhan.com
Analysis Model
Page 63
www.shaeqkhan.com
5. Analysis Model
i. Interaction Diagrams
1. Book Car
www.shaeqkhan.com
2. Modify Booking
Page 65
www.shaeqkhan.com
3. Cancel Booking
Page 66
www.shaeqkhan.com
4. Search Booking
Page 67
www.shaeqkhan.com
5. Add Customer
Page 68
www.shaeqkhan.com
6. Modify Customer
Page 69
www.shaeqkhan.com
7. View Customer
Page 70
www.shaeqkhan.com
8. Search Customer
Page 71
www.shaeqkhan.com
9. Receive Payment
Page 72
www.shaeqkhan.com
Page 73
www.shaeqkhan.com
Page 74
www.shaeqkhan.com
Page 75
www.shaeqkhan.com
Page 76
www.shaeqkhan.com
Page 77
www.shaeqkhan.com
Page 78
www.shaeqkhan.com
Page 79
www.shaeqkhan.com
Page 80
www.shaeqkhan.com
Page 81
www.shaeqkhan.com
Page 82
www.shaeqkhan.com
Page 83
www.shaeqkhan.com
Page 84
www.shaeqkhan.com
Page 85
www.shaeqkhan.com
Page 86
www.shaeqkhan.com
Page 87
www.shaeqkhan.com
Page 88
www.shaeqkhan.com
Page 89
www.shaeqkhan.com
Page 90
www.shaeqkhan.com
Page 91
www.shaeqkhan.com
Page 92
www.shaeqkhan.com
Page 93
www.shaeqkhan.com
Page 94
www.shaeqkhan.com
Page 95
www.shaeqkhan.com
Page 96
www.shaeqkhan.com
Page 97
www.shaeqkhan.com
Page 98
www.shaeqkhan.com
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
String
Null
Yes
No
MaxDiscount
This
defines
the
maximum discount that
can be offered to cars in
a particular category
Double
0.00%
Yes
No
PriceLowerLimit
Double
SR 20.00
Yes
No
PriceUpperLimit
Double
SR
9,000.00
Yes
No
Page 99
www.shaeqkhan.com
2. Booking
Booking
Data Member
Name
Description
Type
bookingDate
Date
bookingNumber
A unique identifier of
the Booking. A Booking
is identified by its
unique booking number
integer
bookingStatus
Classifies a car as
follows
- Booked
- Available
- Under
maintenance
- Scrap
Additional
Type
Information
Default Value
Mandatory?
Unique?
01 January
20XX
Yes
No
000000
Yes
Yes
String
Unbooked
No
No
car
Car
null
Yes
No
customer
Customer
null
Yes
No
00.00
Yes
No
finalPayment
Payment to be made by
the customer to settle
the bill.
double
It acts like a
primary key
and is useful
as search
parameters
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).
Page
100
Payment to be made
before the issue of the
form as deposit money
www.shaeqkhan.com
double
An initial
amount needs
to be given as
a deposit.
Yes
No
returnDate
Date
startDate +1
Yes
No
startDate
Date
01 January
20XX
Yes
No
Page
101
www.shaeqkhan.com
3. Car
Car
Data
Member
Name
Description
Type
Additional Type
Information
Default
Value
Mandatory?
Unique?
Manufacturer
The manufacturing
company (Toyota,
Ford, etc)
String
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
Integer
Constrained from
1999.
1999
Yes
No
String
Simple text.
Null
No
No
Plates Number
String
Null
Yes
Yes
Color
String
Red, white
Null
No
No
Pay Rate
Double
Depends on the
category but should
not be less than
SR300.
* According
to the
category.
Yes
No
String
Null
Yes
No
0.0
Yes
No
Available
Yes
No
Series Name
Car Category
Odometer
Reading
How many
kilometers?
Double
Car Status
String
-Available.
-Rent.
-Under Repair.
Page
102
www.shaeqkhan.com
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
Null
Yes
Yes
Customer
Customer
Simple Text
Null
Yes
Yes
Page
103
www.shaeqkhan.com
5. Customer
Customer
Data Member
Name
Description
Type
Additional Type
Information
Default
Value
Mandatory?
Unique?
Name
String
Normal text.
Null.
Yes
No
NationalID
Integer
Null.
Yes
Yes
000001999999
Yes
Yes
Integer
Mobile Number
Integer
050000000
0
Yes
Yes
Address
String
Normal text
Null
Yes
No
String
Null
Yes
Yes
Driving License
Integer
Null
Yes
Yes
Discount
Double
0%-10%
Yes
No
Occupation
String
Normal text
Null
Yes
No
File number
Page
104
www.shaeqkhan.com
6. Customer History
Customer
History
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
String
Normal text
Null.
Yes
No
Date
Date
Its format:
DD/MM/YY
Yes
No
Yes
Yes
File Number
Integer
The default
identifier for the
customer in the
system
Page
105
Min: 1/1/2010
Max: 30/12/2020
000001-999999
www.shaeqkhan.com
External Interface
Requirements
Page
106
www.shaeqkhan.com
Page
107
www.shaeqkhan.com
2. Add Customer
Page
108
www.shaeqkhan.com
3. Add Category
Page
109
www.shaeqkhan.com
4. Add Car
Page
110
www.shaeqkhan.com
5. Add Account
Page
111
www.shaeqkhan.com
6. Issue Coupon
Page
112
www.shaeqkhan.com
7. Dispatch Car
Page
113
www.shaeqkhan.com
8. Book Car
Page
114
www.shaeqkhan.com
Evolution
Page
115
www.shaeqkhan.com
Evolution
i. Assumptions on which system is based
Page
116