You are on page 1of 17

Software Engineering Project

Car Renting Management System (CRMS)


Software Requirements Specification
Version 1.0

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Revision History
Date
11-04-2016

Confidential

Version
1.0

Description
Pre implementation SRS

<Company Name>, 2016

Author
N. Ravindu Hasantha

Page 2

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Table of Contents
1.

2.

3.

Introduction

1.1
1.2
1.3
1.4
1.5

5
5
5
5
5

Purpose
Scope
Definitions, Acronyms, and Abbreviations
References
Overview

Overall Description

2.1
2.2
2.3
2.4
2.5

6
6
7
7
7

Product Perspective
Product Functions
User Characteristics
Constraints
Assumptions

Specific Requirements

3.1

3.2

3.3

3.4

3.5

3.6

Functionality
3.1.1 Create an account
3.1.2 Log in to the system
3.1.3 Search for vehicle
3.1.4 View vehicle with details
3.1.5 Request a text message notification when vehicle is available
3.1.6 Calculate cost
3.1.7 Reserve vehicle for renting
3.1.8 Update/Cancel reservation
3.1.9 Give feedback on vehicle
3.1.10 Log in with admin account
3.1.11 Add new vehicle/ vehicle category
3.1.12 Update vehicle details
3.1.13 Change vehicle status
3.1.14 Remove vehicle/ vehicle category
3.1.15 Change cost details
3.1.16 View reports
3.1.17 Send availability details via text message
Usability
3.2.1 Customer usability
3.2.2 Admin usability
Reliability
3.3.1 Availability
3.3.2 Mean Time between Failures
3.3.3 Mean Time to Repair
3.3.4 Accuracy
Performance and Security
3.4.1 Response Time
3.4.2 Throughput
3.4.3 Capacity
Design Constraints
3.5.1 Software Languages
3.5.2 Development Tools
On-line User Documentation and Help System Requirements

Confidential

<Company Name>, 2016

7
8
8
9
9
9
10
10
11
11
11
12
12
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
Page 3

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

3.7
3.8

Purchased Components
Interfaces
3.8.1 User Interfaces
3.8.2 Hardware Interfaces
3.8.3 Software Interfaces
3.8.4 Communications Interfaces
3.9
Database Requirements
3.10
Licensing, Legal, Copyright, and Other Notices

Confidential

<Company Name>, 2016

15
16
16
17
17
17
17
17

Page 4

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Software Requirements Specification


1. Introduction
1.1 Purpose
This document consist of all the functional and nonfunctional and requirements of the Car Renting
Management System and all the other requirement related details.
This is the first version of the SRS document and this will be used as a reference and a guideline for design
and development processes ahead.
This document is recommended to be viewed by the development team, car renting company staff and
other stakeholders of the system. This is used as a way of making sure all the stakeholders of the system
will have a complete and clear understanding about the requirements of the system.

1.2 Scope
The system is divided into two subparts according to the users of the system:
Customer subsystem System consist of all the functionalities related to customers.
Business subsystem System consist of all the functionalities related to business end. (Company staff)
This document covers entire system and all its subparts. The functionalities of the system are also clearly
divided into the above mentioned subparts and explained in simple and understandable way.

1.3 Definitions, Acronyms, and Abbreviations


CRMS Car Renting Management System
SRS Software Requirements Specification
Customer The person who wants to rent a car
System Admin Car renting company staff member who is in charge of the system.

1.4 References
[1] "Tutorialspoint," [Online]. Available: http://tutorialspoint.com. [Accessed 08 04 2016].
[2] "Scribd," Scibd Inc, [Online]. Available: https://www.scribd.com. [Accessed 09 04 2016].

1.5 Overview

Confidential

<Company Name>, 2016

Page 5

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

The following things will be discussed in this document.


Overall Description.
This section will discuss general factors that affect the product and its requirements.
The perspective of the product
Product Features and User Requirements
Users and user characteristics
General Constraints
Assumption and Dependencies
Specific Requirements
Detailed descriptions about functional and nonfunctional requirements.
Interfaces and relevant details
Details about database requirements
Other details such as licensing, copyright & applicable standards
Support Information
This section consist of support information which will make SRS easy to use.

2. Overall Description
This purpose of this section is to give details about what user can expect from CRMS. This will provide an
overview of requirements gathered.

2.1 Product Perspective


CRMS will automate the manual car reservation process which was carried out by going to the business
place or using a phone call.
The new system will consist of two sub systems. The customer subsystem will handle all the functionalities
related to customers. The business subsystem will handle all the functionalities related to the car renting
company.
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 .
2.2 Product Functions
The following are the high level functionalities of the product. These functions are carefully broken down
into specific functions and explained in the 3.1 section of the document.
User account management
Reservation of vehicle and related functions
User feedback function

Confidential

<Company Name>, 2016

Page 6

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Upgrade/ expand the system


Modification of the system
Report creation
2.3 User Characteristics
There are two types of users in from each subsystem of the system.
Customers:
Most probably new to the system
Do not require any technical expertise
Simple knowledge to use internet
System admin:
High technical expertise
Experience and domain knowledge
Well aware of system functionalities
2.4 Constraints
Time constraints
Since this is a module project the main constraint is Time. The total time available for the system
development is 4 months.
2.5 Assumptions
The software tools required for the system development are available to the developers.
The requirements gathered are correct and achievable
The final deliverable of the project can be hosted in a server

3. Specific Requirements
3.1 Functionality
Customer Subsystem Functionalities
3.1.1 Create an account
Introduction
Customer need to create an account to log into the system. The customer can create an account using the email
address.
Input

Confidential

<Company Name>, 2016

Page 7

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

E-mail address
User name
Password
Basic details
Name
NIC number
Address
Contact number
Processing
An account will be created for the customer and details will be saved in the database.
Output
An email will be sent out to customers requesting to confirm the account.
3.1.2 Log in to the system
Introduction
The customer can log into the system using username/ email and password.
Input
Username/ email
Password
Processing
The username/email and password will be authenticated and customer will be able to log in given the correct details.
Output
The customer view of the system will be visible to the user.
3.1.3 Search for vehicle
Introduction
The customer will be able to search for vehicle or choose and vehicle category.
Input
Keywords for searching:
Vehicle name
Vehicle category
Processing
All the related vehicles will be searched from the database.
Confidential

<Company Name>, 2016

Page 8

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Output
All possible results will be shown to the customer.
3.1.4 View vehicle with details
Introduction
The customer can view the detail of the vehicle selected.
Input
Selection of the vehicle.
Processing
All the details of the selected vehicle will be fetched from the database.
Output
Details of the vehicle:
Name and model
Registration number
Picture
Cost
Availability
Previous feedbacks
3.1.5 Request a text message notification when vehicle is available
Introduction
In case of vehicle is unavailable, the customer can request a text message notification when it is available.
Input
Selection of the text message notification feature.
Processing
The request information will be saved in the database and when the vehicle is available notification will be
generated.
Output
Text message request confirmation notification.
3.1.6 Calculate cost

Confidential

<Company Name>, 2016

Page 9

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Introduction
The customer will be given the opportunity to calculate an approximate cost for the renting process after selecting a
vehicle.
Input
Time duration (days)
Distance per day (km)
Processing
The cost will be calculated using input and the cost information in the system.
Output
Calculated cost. This is an approximate value and the actual cost will be determined using the usage.

3.1.7 Reserve vehicle for renting


Introduction
Customer can reserve the vehicle for renting after considering all the information.
Input
Renting date and time
Renting duration
Processing
The reservation information will be added to the database. The availability of the vehicle will be changed.
Output
An email will be sent to the customer confirming the reservation.

3.1.8 Update/Cancel reservation


Introduction
Customer can cancel the reservation or update details of the reservation.
Input
Cancel request
Updated details
Processing
Confidential

<Company Name>, 2016

Page 10

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

In the case of cancellation the reservation records will be deleted from the database.
When reservation is updated the changed details will be saved in the database.
Output
Reservation cancellation/ updated notification.
3.1.9 Give feedback on vehicle
Introduction
The customers can view their rented vehicles history and add a feedback about the vehicle and the service provided.
Input
Feedback from the customer
Processing
The feedback will be added to the relevant vehicle.
Output
Feedback added successfully notification.

System admin functionalities


3.1.10 Log in with admin account
Introduction
Admin of the system can log into the system using existing account.
Input
Admin username and password
Processing
Admin login details authenticating.
Output
Admin view of the system.
3.1.11 Add new vehicle/ vehicle category

Confidential

<Company Name>, 2016

Page 11

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Introduction
Admin can add new vehicle or a new vehicle category to the system.
Input
Vehicle category details.
Vehicle details
Processing
New vehicle category/ vehicle added to the database.
Output
Vehicle/ vehicle category successfully added notification.
3.1.12 Update vehicle details
Introduction
Details of existing vehicles can be changed by the admin.
Input
Changed details.
Processing
Previous details are replaced with the new details in the database.
Output
Updating details successful notification.
3.1.13 Change vehicle status
Introduction
Admin can change the vehicle status to Available or Not Available.
Input
Change status request.
Processing
The status of the vehicle changed to the given status. Send text message notification to requested users if the vehicle
became available.
Output
Confidential

<Company Name>, 2016

Page 12

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

Changed vehicle status successfully notification.


3.1.14 Remove vehicle/ vehicle category
Introduction
Admin can remove a vehicle or remove a whole category from the system.
Input
Vehicle/ category remove request.
Processing
Vehicle/ category removed from the database.
Output
Vehicle/ category removed notification.
3.1.15 Change cost details
Introduction
Admin cab change the current rates of the system according to business needs of the company.
Input
New rates
Processing
New rates are added to the database and cost calculation will be done using new rates.
Output
Rate changed notification.
3.1.16 View reports
Introduction
Admin can view reports of the transactions happened in the system.
Reservation details of all the vehicles in a given time period.
Reservation details of a selected vehicle/ vehicle category in a given time period.
Input

Confidential

<Company Name>, 2016

Page 13

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

View reports selection.


Processing
Relevant fields from database tables are acquired with respect to given parameters.
Output
The requested report.
System functionalities
3.1.17 Send availability details via text message
Introduction
The system will be sending a text message to requested customers when an unavailable vehicle becomes available.
Input
Changing status of a notification requested vehicle from unavailable to available.
Processing
The contact number of the relevant customers are taken from the database and text message will be sent.
Output
Text message with available details sent to relevant users.

3.2

Usability

3.2.1

Customer usability
Customer end of the system must be very easy to understand. The time taken for customer to be familiar
with the system should not be more than 5 minutes.
The average task time for a random customer should not exceed 3-6 minutes.

3.2.2 Admin usability


Administrator of the system will be given a maximum 3 days training for the system. All the functionalities
of the system should be clear and
3.3 Reliability
3.3.1

Availability
System is a business solution so the availability of the system is critical. The system will be available
99.8%.

Confidential

<Company Name>, 2016

Page 14

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

3.3.2 Mean Time between Failures


MTBF value of the system should be very high value ranging from 6-12 months.
3.3.3 Mean Time to Repair
MTTR value of the system should be very low. The estimated value for this system is 3-5 hours. The
development should be focused to reduce the current value as much as possible.
3.3.4 Accuracy
The system is responsible for business transactions. The accuracy of the system will be critical and it will
be tested with great measures.
3.4 Performance and Security
3.4.1

Response Time
Response time of the system should be very low.
Average response time: 3-6 seconds
Maximum response time: 10-15 seconds

3.4.2 Throughput
Throughput of the system should be considerably adequate to provide a continuous service for the
customers.
3.4.3 Capacity
The system should be able to accommodate up to 5000 users.
3.5 Design Constraints
3.5.1

Software Languages
PHP, HTML, JS will used as programming languages to develop the system.

3.5.2

Development Tools
Sublime Text 2, Web Storm, Intellij IDEA, PHPMYADMIN wil be used as development tools.

3.6 On-line User Documentation and Help System Requirements


N/A
3.7 Purchased Components
N/A

Confidential

<Company Name>, 2016

Page 15

CRMS
Software Requirements Specification

Version:
1.1
Date: 11-04-2016

3.8 Interfaces
3.8.1

User Interfaces

3.8.1.1

Confidential

Customer View of the system

<Company Name>, 2016

Page 16

CRMS
Software Requirements Specification

3.8.1.2

3.8.2

Version:
1.1
Date: 11-04-2016

Admin view of the system

Hardware Interfaces
N/A

3.8.3

Software Interfaces
An intelligent text message sender API which is able to send programmable text messages will be
integrated with the system to enable the text message sending functionality.

3.8.4

Communications Interfaces
The system will be hosted on a free hosting site (Heroku).

3.9 Database Requirements


Database for the system will be created using MySQL. The design of the database is provided with the
System Architecture Document.
3.10 Licensing, Legal, Copyright, and Other Notices
N/A

Confidential

<Company Name>, 2016

Page 17