Car Rental System

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

Page i

ABBOTTABAD UNIVERSITY OF
SCIENCE AND TECHNOLOGY
Software Requirements
Specification
For

ONLINE CAR RENTAL APP


VERSION 1.0 A

MALAIKA WASEEM (10183) AYAT IRSHAD (10173) HURMAT-E-ZAHRA

SOFTWARE DESIGN AND ARCHITECTURE


SIR ABDUL REHMAN (DEPARTMENT OF COMPUTER SCIENCE)
Software
Requirements Specification for <ONLINE CARE RENTAL APP> Page ii

Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ............................................................................................................................ ii
1. Introduction .............................................................................................................................. 1
1.1 Purpose................................................................................................................................. 1
1.2 Document Conventions ........................................................................................................ 1
1.3 Intended Audience and Reading Suggestions ...................................................................... 1
1.4 Product Scope ...................................................................................................................... 1
1.5 References ............................................................................................................................ 1
2. Overall Description ..................................................................................................................2
2.1 Product Perspective .............................................................................................................. 2
2.2 Product Functions ................................................................................................................ 2
2.3 User Classes and Characteristics ......................................................................................... 2
2.4 Operating Environment ........................................................................................................ 2
2.5 Design and Implementation Constraints .............................................................................. 2
2.6 Assumptions and Dependencies .......................................................................................... 3
3. External Interface Requirements ........................................................................................... 3
3.1 User Interfaces ..................................................................................................................... 3
3.2 Hardware Interfaces ............................................................................................................. 3
3.3 Software Interfaces .............................................................................................................. 3
3.4 Communications Interfaces ................................................................................................. 3
4. System Features .......................................................................................................................4
4.1 System Feature 1 .................................................................................................................. 4
4.2 System Feature 2 (and so on) ............................................................................................... 4
5. Other Nonfunctional Requirements .......................................................................................4
5.1 Performance Requirements .................................................................................................. 4
5.2 Safety Requirements ............................................................................................................ 5
5.3 Security Requirements ......................................................................................................... 5
5.4 Software Quality Attributes ................................................................................................. 5
5.5 Business Rules ..................................................................................................................... 5
6. Other Requirements ................................................................................................................5
Appendix A: Glossary ....................................................................................................................5
Appendix B: Analysis Models .......................................................................................................5
Appendix C: To Be Determined List ............................................................................................ 6
Software requirement specification for <ONLINE CAR RENTAL APP>
page 1

1. Introduction

1.1 Purpose
The purpose of this Software Requirements Specification (SRS) document for a car rental
application is to clearly define the functional and non-functional requirements for the software
system. This includes detailing the specific features and functionality that the system should
include, as well as any constraints or limitations that should be considered during the
development process.

1.2 Document Conventions

This SRS is written in the Arial font with the size 11 in italics, and Times font with the size 14 for
bullet points. The priorities of higher-level requirement are inherited in detailed requirements.

1.3 Intended Audience and Reading Suggestions


The different types of readers are
 Customers
 Developers
 Management people
 APP user
 Quality insurance.
 Car agencies

1.4 Product Scope


This CAR RENTAL SYSTEM helps us to perform specific function such as:
 Providing users, the list of available cars at all the car rental agency connected with the app.
 Provide users with online payment method.
 Save data of customer info and the rented car info in a database.
 Keeping track of time, a car is rented for.
 Updating list every short time.
 Providing the admin with list of customers and rented car.
 Allowing agency to enter cars available for rent.

1.5 References
The following material was used in this document:
 IEEE version 1.0, IEEE recommended for Software Requirement Specification.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 2

2. Overall Description

2.1 Product Perspective

 EXISTING SYSTEM
The existing car rental apps are linked with only one agency that provides available car from just
that agency only.

 DISADVANTAGES OF EXISTING SYSTEM

 The app you have for a car rental agency might be far from your home.
 When you have only one agency option your chances of finding a car, you need drops down.

 PROPOSED SYSTEM
There are a lot of Car rental system but our provides the user with available car from different linked
car rental agency near there area and as the number of agencies available to user in one app is
more than one therefore there is more likely for user to find the car they need. Hence it is as much
convenient to user as to admin and car rental agencies.

 ADVANTAGES OF THE PROPOSED SYSTEM


 Smoother functionalities
 Time savings
 More options of car rental agency.
 More chances of car rental agencies to find their customer.
 Easy for customer to find what they need in the convenience of their homes.

2.2 Product Functions

The following function explain the major features of Online Car Rental Application.

2.2.1 Providing Car Agencies Platform:

This app provides different car rental agencies to list their available car on the app and the price
of it. The app will take data from different agencies and provide it to the user of the app.

2.2.2 Reserving A Car:

When users reserve a car from the list of available cars listed to them, the app will ask about user
data for security reasons and provide a payment method.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 3
2.2.3 Record of Data:

The app would then save the data provided by user with the tag of the car they rented and
thetime they rented it for and notify it to the respective agency the rented car is from.

2.2.4 Searching and filters:

The app would allow the users to search the car they need or the agency they want to rent from
Or they can filter the car by company, year of production, make and even by their color.

2.2.5 Transfer:

If a user chooses to pay online then the app will transfer that money to app owner acc where it
willdeduct a small percentage of money for services then forward the rest of the money to the
car rental agencies owners.

2.3 User Classes and Characteristic


This system provides the facility to all the user who can’t afford a car or want to rent one anyways
and who have downloaded the app or are using the web application.

Other user of our app are car agencies who can link with our app and provide their services.

2.4 Operating Environment


The system should operate on across all platform including android, iPhone should be able to runthe
app that will be available on their respective app stores. For windows and mac, a web app will be
provided.

2.5 Design and Implementation Constraints

1. User interface should be simple and intuitive for customers to easily find and rent vehicles
2. Search functionality for vehicles by location, availability, and type
3. Secure payment processing for rental transactions
4. Integration with inventory management systems to ensure accurate vehicle availability
5. Option for customers to reserve vehicles in advance
6. Integration with GPS systems to provide real-time location tracking of rented vehicles
7. Ability to handle at least two languages (Urdu and English) and currencies (PKR and $).
8. Compliance with relevant regulations and laws, such as data privacy and car rental industry

standards
9. Option for customers to leave feedback or rate their rental experience
Software requirement specification for <ONLINE CAR RENTAL APP>
page 4
10. Push notifications and reminders for upcoming reservations and rental return deadlines
11. Option for customers to extend or cancel reservations.

2.6 Assumptions and Dependencies


1. The user must have a smartphone or other mobile device with internet access to use the app.

2. The user must have a valid driver's license and meet the minimum age requirement forrenting a vehicle.

3. The user must have a valid payment method, such as a credit or debit card, to complete rental
transactions.

4. The user's device must have the necessary hardware and software to run the app, such as aGPS receiver
or camera.

5. The user must have a valid email and phone number to receive confirmation and updates ontheir rental.

6. The user's device must have the necessary permissions enabled for the app to access features such as
location services and camera.

7. The user must have a valid account on the app, which requires personal information such as name,
address, and proof of identity.

8. Some features of the app may require an active internet connection to function properly.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 5

3. External Interface Requirements

3.1 User Interfaces


Users can access system through following interfaces
 You can access directly by using the android app.
 You can reach these services through web application.
 Above to is true for both customer and car rental agencies.

3.2 Hardware Interfaces

Minimum Hardware Requirements for the system to work

 GPS receiver: To track the location of rented vehicles and provide turn-by-turn navigation
tocustomers.
 OS android 4 or IOS.
 RAM 2GB.

 Designed for any android or IOS.


 Cache 512 kb.

3.3 Software Interfaces

 DATA shared: The data of rental car would be shared all across the app but the data of
customer would only be seen by app manager and the car rental agency from who the car is
rented for.
 DATABASE: All the data of customer would be store in database of application for security
reasons which is only available to app management team.
 Compliance: The app should be compliant with relevant regulations and laws, such as data
privacy and car rental industry standards.
 For hosting: Can only be hosted by the specific user (MANAGEMENT).
 Inventory management: The app should have an inventory management system that 
integrates with the rental company's databases to ensure accurate vehicle availability and

reservations.
 Payment processing: The app should have a secure payment processing system that allows
customers to make payments using a variety of methods, such as credit/debit cards, PayPal,
and more.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 6
 For using: Need any internet connectivity. The system will not run-on any device that doesn’t
have a GPS.

3.4 Communications Interfaces

 API integration: The app should be able to communicate with the rental company's servers
through Application Programming Interfaces (APIs) to retrieve information such as vehicle
availability, rental rates, and reservations.
 Push notifications: The app should be able to send push notifications to customers to remind
them of upcoming reservations and rental return deadlines.
 Email and SMS: The app should be able to send confirmation emails and SMS messages to
customers to notify them of their reservations, rental status, and other important information.
 In-app messaging: The app should have an in-app messaging feature that allows customers to
communicate with the rental company's customer support team.
 Social media integration: The app should be able to integrate with social media platforms to
allow customers to share their rental experience with friends and family.
 Customer support: The app should have a customer support feature that allows customers to
contact the rental company for assistance with their reservations, rental vehicles, and any other
issues they may have.

4. System Features:
4.1 SHOW AVALIABLE LIST:
4.1.1 Description and Priority
This feature allows the user to be able to have the list of available cars from different
agencies. Priority: High.
4.1.2 Stimulus/Response Sequences
The user must select the rent a car option to be able to see the information of cars
available.
4.1.3 Functional Requirements
 The app must be able to retrieve and display available car data in a user- friendly
format
 user must have a stable internet connection.
 The interface should be user friendly, so that user can easily navigate throughthe list.
 Every agency can edit their list of available cars.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 7

4.2 PROVIDE CARS:


4.2.1 Description and Priority
This feature allows car rental agencies to use the app to display their car available for
rent. Priority: High.

4.2.2 Stimulus/Response Sequences


For this agency must enter the following data of available car like car type, make,
model, year, color etc.
4.2.3 Functional Requirements
 The app must be able to retrieve the data from the agencies and provide it to the
customers.
 The agency must be registered with Security Exchange Commission of
Pakistan.
 The car provided by the agencies must be registered.

4.3 RENT A CAR:


4.3.1 Description and Priority
This feature allows users to rent a car available for them. Priority: High.

4.3.2 Stimulus/Response Sequences


The user must select a car that they want to rent.
4.3.3 Functional Requirements
 For users to able to rent a car first they have to provide personal information
likename, ID no and address for security reasons
 Secondly, they must have a driving license.

4.4 Filter the list:


4.4.1 Description and Priority
This feature allows users to search and filter the available car list according to
theirneed. Priority: Medium.

4.4.2 Stimulus/Response Sequences


For this user must need to enter a name of a car in a search bar or they should filter
the list by following aspects:
 Car model
 Car Make
 Car year
 Color
4.4.3 Functional Requirements
 The app must be able to validate and identify what the user must need by
theirchoices.
 The app must have an algorithm to understand user likings and disliking and
present the list ordered accordingly.
 For this feature to work the user must have an internet connection.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 8
4.5 MAINTANNING AVALIABLE CAR LIST:
4.5.1 Description and Priority
This feature removes the cars that are rented from available list. Priority: Medium.
4.5.2 Stimulus/Response Sequences
This will occur when an available car is rented by a customer.
4.5.3 Functional Requirements
 The app must be able to remove the car rented from available cars.
 The car rented must be added to rented car list for agency and management
team.
 The car rented list should have a timer with it and when its about to over the
user must be notified about it through notifications.

4.6 DATA For agencies:


4.6.1 Description and Priority
This feature allows agency to have information of only there customers only.
Priority: High
4.6.2 Stimulus/Response Sequences
When a user rents a car and their information their data will be forwarded to two entities
one is to management team and one is to car rental agencies for security reasons.
4.6.3 Functional Requirements

 The app must be able to securely take the information from user and should
beable to forward safely to the agency the car is rented from.
 The agency should receive data for a car to be rented.
 The agency should approve the rental to get the full data of users.

4.7 CUSTOMER SUPPORT:


4.6.4 Description and Priority
This feature provides customer a guideline in case of an issue. Priority: medium.
4.6.5 Stimulus/Response Sequences
When users struggle to do a task in this app they will be recommended and a guideline in a
task they struggle in.
4.6.6 Functional Requirements

 The app must be able to identify the issue and provide a guideline accordingly
in case of issue not being fixed the issue will be forwarded to customer
supportcenter.
 In case of issue like customer not receiving a car, they rented the warning
should be given to agencies and after three warnings the agency should be
temporarily banned from providing their cars on this app.
.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 9
4.8 Payment method and rules:
4.7.1 Description and Priority
This feature allows users to pay the money through different options which include:
 PayPal
 Easypaisa
 Jazz Cash
Priority: Medium.
4.7.2 Stimulus/Response Sequences
The user has to rent a car first to be able to use this functionality.
4.7.3 Functional Requirements
 The user must have sufficient fund in their account to pay.
 The user must rent a car first.
 The user must have any of the following payment method available pre hand
tobe able to rent any car.
 The user must pay the money required for the car to be rented.
 The app must be able to calculate the total money according to time the car is
rented for.
 The money paid by customer will be transferred to the app’s owner account
from where the agreed percentage of services charges will be deducted and
the rest of money will be transferred to the agencies account.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 10

 USECASE DIAGRAM:

FOR VERIFICATION OF USERS:


Software requirement specification for <ONLINE CAR RENTAL APP>
page 11
FOR CAR RENTAL SYSTEM:
Software requirement specification for <ONLINE CAR RENTAL APP>
page 12

5. Other Nonfunctional Requirements

5.1 Performance Requirement


The performance requirement are as follows:

 Vehicle search and reservation: Users should be able to search for available vehicles based
on various criteria such as location, vehicle type, and rental period. They should alsobe able
to reserve vehicles and view their reservations.
 Payment processing: The system should support various payment methods and securely
process payments for rentals.
 Vehicle management: The system should allow for the management of vehicles, including
adding new vehicles, editing vehicle information, and marking vehicles as unavailable.
 Rental management: The system should allow for the management of rentals, including
viewing active rentals, updating rental information, and processing returns.
 Reporting and Analytics: The system should provide various reports and analytics such as
popular vehicle types, busiest rental locations, and revenue generated.
 Scalability and reliability: The system should be able to handle a large number of concurrent
users and transactions without experiencing significant performance degradation.
 Security: The system should protect sensitive data such as user personal information and
payment information.
 Technical Support: The system should provide technical support to the user in case of any
issues or problems

5.2 Safety Requirements


Some safety requirements for a car rental system on an Android device must include:

 Driver verification: All drivers must provide a valid driver's license and pass a background
check before being allowed to rent a car.
 Vehicle maintenance: All cars must undergo regular maintenance checks and repairs to
ensure they are in safe operating condition.
 Roadside assistance: All cars must be equipped with a roadside assistance service in case
Software requirement specification for <ONLINE CAR RENTAL APP>
page 13
of breakdown or accident.
 Emergency contact: The car rental application must provide emergency contact information
for the driver to use in case of an emergency.
 GPS tracking: All cars must be equipped with GPS tracking to ensure the safety and securityof
the vehicle and the driver.
 Speed limit alerts: The car rental application must have a feature that alerts the driver if they
exceed the posted speed limit.
 Distracted driving prevention: The car rental application must have a feature that prevents
the driver from using their phone while driving.
 Driver behavior monitoring: The car rental application must monitor the driver's behavior
and alert them if they are driving in an unsafe manner.
 Data security: The car rental application must have secure systems in place to protect
personal and financial information of the driver and the rental company.

5.3 Security Requirements

 User authentication and authorization: The application must provide a secure login system to
ensure that only authorized users can access the system. Users must be able to create and
manage their own accounts, and the system must enforce strong password policies to prevent
unauthorized access.
 Data encryption: The application must encrypt all sensitive data, including personal
information and payment details, to protect against data breaches and unauthorized access.
 Secure communication: The application must use secure protocols, such as HTTPS, to
protect against man-in-the-middle attacks and ensure that all communications between the
user and the server are secure.
 Regular security updates: The application must be regularly updated to address any
security vulnerabilities that are discovered. This should include both software updates and
updates to security protocols and encryption algorithms.
 Advanced threat detection: The application must have advanced threat detection
capabilities to detect and respond to any suspicious activity or potential security breaches.
 Two-factor authentication: The application must support two-factor authentication to provide
an additional layer of security for users logging in to their accounts.
 Regular backups: The application must maintain regular backups of user data to ensure that
Software requirement specification for <ONLINE CAR RENTAL APP>
page 14
data can be recovered in the event of a security breach or other disaster.
 Incident response plan: The application must have an incident response plan in place to
quickly and effectively respond to any security breaches or other security incidents.

5.4 Software Quality Attributes

Quality Attributes of the system is as follows:

5.4.1 Reliability
 We have to make our system reliable that if there are a lot of customers renting
carsthe system efficiency shouldn’t be compromised.
 The main support of reliability is the backup of database which is continuously updated
andmaintained to support the most recent change.

5.4.2 Availability
 In case of a of a hardware failure or database corruption, a replacement page will be
shown.
 The contact directory should be design to be available to cross platform.

5.4.3 Maintainability
 By maintainability we mean that the system should be maintained and updated
accordingto need.
 The app database should have the ability to maintain and store the data of customers and
car.
5.5 Business Rules
The business rules are as follows:
 All data stored in the car rental database must be encrypted to protect against unauthorized
access.
 All contact information entered into the system must be validated to ensure that it is accurate.
 Users must have the appropriate age and driving record to be able to rent a car.

6. Other Requirements
Software should satisfy following requirements as well:
 Correctness
 Efficiency
 Flexibility
 Testability
 Reusability
Software requirement specification for <ONLINE CAR RENTAL APP>
page 15

 Appendix A: Glossary

 HTTPS (Hypertext Transfer Protocol Secure): A protocol for secure communication over
the internet.
 PCI-DSS (Payment Card Industry Data Security Standard): A set of security standards for
organizations that handle payment card information.
 Incident response: A set of procedures and processes to be followed in the event of a
security incident or data breach
 Security audit: A review of a system's security measures to identify vulnerabilities and
potential risks.
 Customer: The person who is going to rent a car.
 Car rental agency: Agencies that will provide cars for rent.
 Data encryption: process of protecting data from unauthorized entities.
Software requirement specification for <ONLINE CAR RENTAL APP>
page 16
 Appendix B: Analysis Models
DFD DIAGRAMS
Software requirement specification for <ONLINE CAR RENTAL APP>
page 17

 Appendix C: To Be Determined List


 The car rental app may need to have the ability to support multiple languages for the
userinterface.
 Marketing and promotions management
 Integration with other car rental systems
 Integration with other transportation provide
Software requirement specification for <ONLINE CAR RENTAL APP>
page 18
Software requirement specification for <ONLINE CAR RENTAL APP>
page 19
Software requirement specification for <ONLINE CAR RENTAL APP>
page 20
Software requirement specification for <ONLINE CAR RENTAL APP>
page 21
Software requirement specification for <ONLINE CAR RENTAL APP>
page 22

You might also like