Car Rental System
Car Rental System
Car Rental System
ABBOTTABAD UNIVERSITY OF
SCIENCE AND TECHNOLOGY
Software Requirements
Specification
For
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.
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.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
EXISTING SYSTEM
The existing car rental apps are linked with only one agency that provides available car from just
that agency only.
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.
The following function explain the major features of Online Car Rental Application.
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.
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.
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.
Other user of our app are car agencies who can link with our app and provide their services.
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. 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
GPS receiver: To track the location of rented vehicles and provide turn-by-turn navigation
tocustomers.
OS android 4 or IOS.
RAM 2GB.
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.
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
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.
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:
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
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.
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.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