0% found this document useful (0 votes)
76 views13 pages

Software Requirements Specification: Version 1.3 Approved

Uploaded by

DizzY Forester
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views13 pages

Software Requirements Specification: Version 1.3 Approved

Uploaded by

DizzY Forester
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Software Requirements

Specification
for

Car Rental and Stock


Management
Version 1.3 approved

Prepared by

Suca Tiberiu
Untaru Stefania-Roberta

Wojcicki Andrei-Cristian
ACE UCV

7/3/2021

Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.
Software Requirements Specification for Car Rental and Stock Management
Page ii

Table of Contents
Table of Contents .......................................................................................................................... ii
Revision History ........................................................................................................................... iii
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 ..................................................................................................................1
2.1 Product Perspective ....................................................................................................................... 1
2.2 Product Functions ......................................................................................................................... 2
2.3 User Classes and Characteristics................................................................................................... 2
2.4 Operating Environment ................................................................................................................. 2
2.5 Design and Implementation Constraints ....................................................................................... 3
2.6 User Documentation ..................................................................................................................... 3
2.7 Assumptions and Dependencies.................................................................................................... 3
3. External Interface Requirements ...........................................................................................3
3.1 User Interfaces .............................................................................................................................. 3
3.2 Hardware Interfaces ...................................................................................................................... 5
3.3 Software Interfaces ....................................................................................................................... 5
3.4 Communications Interfaces........................................................................................................... 5
4. System Features .......................................................................................................................5
4.1 Account Registration and Log in ....................................................................................................... 5
4.2 Vehicle List Administration ............................................................................................................... 6
4.3 Identity Verification ........................................................................................................................... 6
4.4 Car Rental .......................................................................................................................................... 6
4.5 Modify User Data............................................................................................................................... 8
4.6 User Profile ........................................................................................................................................ 8
4.7 Appearance Preferences ..................................................................................................................... 9
5. Other Nonfunctional Requirements .......................................................................................9
5.1 Performance Requirements ........................................................................................................... 9
5.2 Safety Requirements ..................................................................................................................... 9
5.3 Security Requirements .................................................................................................................. 9
5.4 Software Quality Attributes ........................................................................................................ 10
5.5 Business Rules ............................................................................................................................ 10
6. Other Requirements ..............................................................................................................10
Appendix A: Glossary..................................................................................................................10
Appendix B: Analysis Models .....................................................................................................10
Appendix C: To Be Determined List ..........................................................................................10
Software Requirements Specification for Car Rental and Stock Management
Page iii

Revision History
Name Date Reason For Changes Version

Suca Tiberiu 09/03/2021 Added GUI to Section 3.1 1.0


Untaru Roberta
Wojcicki Andrei
Suca Tiberiu 10/03/2021 Changes to Section 5 1.1
Untaru Roberta
Wojcicki Andrei
Suca Tiberiu 11/03/2021 Added features to Section 4 1.2
Untaru Roberta
Wojcicki Andrei
Suca Tiberiu 12/03/2021 Spellcheck and added terms to 1.3
Untaru Roberta Appendix A: Glossary
Wojcicki Andrei
Software Requirements Specification for Car Rental and Stock Management
Page 1

1. Introduction
1.1 Purpose
The purpose of this product is to automate the process of car rental and stock management of a
company.

1.2 Document Conventions


This Document was created based on the IEEE template for System Requirement Specification Documents.

1.3 Intended Audience and Reading Suggestions


This document is intended for individual users as well as developers and testers.
Marketing teams and project managers can also make use of this documentation to understand the
product’s specifications and services.

1.4 Product Scope


This programs aims to ease the process of car rental for the users as well as the company’s
management through friendly user interfaces and coherent DB as well as stock status.
Its goal is to provide users with the best services available, regarding price and quality.

1.5 References
www.sixt.com
https://www.booking.com/cars

2. Overall Description
2.1 Product Perspective
This is a self-contained product which has the ability to store and manage the following data:
• Car details:
It includes the plate number, number of kilometers on the odometer, date of manufacture,
brand, type and price per hour, as well as reservation status.
• Customer details:
It includes the first name, last name, email, phone number, address, and the customer’s
records.
• Reservation details:
It includes the rented car’s reservation status, the date interval of the reservation and the
customer’s details.
Software Requirements Specification for Car Rental and Stock Management
Page 2

2.2 Product Functions


The product will allow the users to perform the following actions:
• Create account
• Log into account
• Search for specific car brand/model
• Filter results
• Check car details
• Rent car
• Payment

In return, the product will provide the following services:


• Provide a list of available vehicles that fit the search terms
• Filter search results accordingly
• Provide car details
• Manage customer data
• Verify clients before car rental
• Generate reports

2.3 User Classes and Characteristics


The product will have two types of users:
• Regular User:
- is able to register an account, search for rentable cars and is provided the required
information accordingly.
- Is able to make payments towards the company for the provided services.

• Administrator:
- Is able to add or remove vehicles from the available renting pool, modify the technical
properties (brand, plate etc.) of the vehicles as well as their prices per hour.
- Is able to restrict unwanted customers from using the company’s platform
- Has access to the current status and rental history of the company’s vehicles regarding
previous customers.

2.4 Operating Environment


The product will operate on a Windows 10 machine, while its database will be stored remotely on
Microsoft Azure’s SQL database service.
Software Requirements Specification for Car Rental and Stock Management
Page 3

2.5 Design and Implementation Constraints


• HW Constraints:
- Processor: x86/x64
- RAM: 512 MB (minimum), 1 GB (recommended)
- HDD: up to 2GB available space

• DB Constraints:
The product’s DB deployment is being hosted by Microsoft Azure, so the following
constraints are implied:
- 1GB DB storage;

• Operating System:
- Windows 7 SP1 and later
- Windows 8.1
- Windows 10
- Mac OS X 10.11, 10.12*
- Ubuntu 14.04, 16.04, 17

• Recommended Browsers
- Google Chrome
- Mozilla Firefox
- Opera
- Safari
- Brave
- Microsoft Edge

• Development Environment
- Microsoft Visual Studio 2015 Update 3 (minimum) , 2017 version latest (15.6.4), 2019
- .NET Framework: Minimum .NET 4.5.1 up to .NET 4.7
- Command Line (Optional. Necessary for command line deployment)
- Visual Studio Code (optional text-editor)

2.6 User Documentation


Does not apply.

2.7 Assumptions and Dependencies


• Third-party components:
- Microsoft Azure SQL DB service
- PayPal payment service

3. External Interface Requirements


3.1 User Interfaces
• User GUI
Software Requirements Specification for Car Rental and Stock Management
Page 4

• Admin GUI
Software Requirements Specification for Car Rental and Stock Management
Page 5

3.2 Hardware Interfaces


Does not apply.

3.3 Software Interfaces


The connection between this product and its respective database will be established via Microsoft
Azure. The product is build using ASP.NET Core, so it has the ability to run on various operating
systems such as Windows, Linux, macOS, but it is mainly tested for Windows 10.
The main tools used to build the application include Entity Framework Core for synthesizing the
relational model of the database created with diagrams.net, IIS for hosting the live Web server and
the Visual Studio Community IDE.
The client payment method will be done via PayPal.

3.4 Communications Interfaces


The product requires an internet connection and will use HTTPS as a secure way of
communication with the users, requiring them to register using their e-mail, further prompting them
to verify their newly created accounts by checking the validation code sent to their inbox.

4. System Features
4.1 Account Registration and Log in

4.1.1 Description and Priority

This feature is of high priority, as it allows the customer to create and log into an account
that will be required for further use of the product.
4.1.2 Stimulus/Response Sequences
The client will complete the registration form when prompted either by attempting to rent a
vehicle without being logged in, or simply by travelling to the Sign-Up page of
the product. Upon filling in the required information correctly to have an account set up, the
client must verify his account by following the instructions in his e-mail.
4.1.3 Functional Requirements
REQ-1: The user must be able to be prompted to complete a registration form.

REQ-2: The user must be able to complete the required information according each field’s
set of rules.

REQ-3: The user must have the ability to send the completed form for verification.

REQ-4: The user must be able to proceed to a log in form instead.

REQ-5: The user must be able to reset their password.


Software Requirements Specification for Car Rental and Stock Management
Page 6

REQ-6: The user should be able to have a “Remember Me” option.

4.2 Vehicle List Administration


4.2.1 Description and Priority
This feature is of high priority, allowing the admin to manage the list of rentable
vehicles and their respective technical details.
4.2.2 Stimulus/Response Sequences
The admin will have the option to add a new car, edit the technical properties of an
existing car or remove it entirely from the list.
4.2.3 Functional Requirements
REQ-1: The admin must be able to add new vehicles to the vehicle list.
REQ-2: The admin must be able to remove existing vehicles from the list.
REQ-3: The admin must be able to edit existing vehicles from the list.
REQ-4: The admin should be able to mark existing vehicles as available or
unavailable (nice to have).

4.3 Identity Verification


4.3.1 Description and Priority
This feature is of high priority, as it is a necessity for the user to be able to rent a car.
4.3.2 Stimulus/Response Sequences
The user will be able to upload a document that denotes the fact that they are able to
take financial responsibility to cover any potential damage to the vehicle, should
anything happen to it while it is in their possession. If the uploaded document passes
the verification process, the client will be eligible to use the product’s services.
4.3.3 Functional Requirements
REQ-1: The user must be able to upload a document in .doc/.docx/.pdf format.
REQ-2: The user’s document must include their address (can be a bank statement)
REQ-3: The user must be notified when the verification process has ended and
informed of his verification status.

4.4 Car Rental


4.4.1 Description and Priority
Software Requirements Specification for Car Rental and Stock Management
Page 7

This feature is of high priority, as it is the main functionality of the product, allowing
customers to rent cars from the company.

4.4.2 Stimulus/Response Sequences


The client will have to select their desired vehicle to rent from a given list, that can be
filtered using the available options, proceed to payment and collect their rented
vehicle to complete the first stage of the rental process. Upon returning, the car is
relisted as available and updated, and the rental process is finished.
4.4.3 Functional Requirements
REQ-1: The user must have the ability to view the list of available cars.
REQ-2: The user must be able to search for a specific car brand/model.
REQ-3: The user must be able to filter the search results based on the available
options (price range/age range/mileage etc.)
REQ-4: The user must have the ability to sort the said list as desired, from the
available options (ascending/descending etc.)
REQ-5: The user must be able to select a vehicle from the list.
REQ-6: The user must be able to see the details of their car of choice.
REQ-7: The user must be able to select a time interval in which the vehicle will be in
their possession.
REQ-8: The user should have the ability to return to the list of vehicles in case the
selected one is not to their liking.
REQ-9: The user should be able to select extra options for his selected vehicle. (nice
to have)
REQ-10: The user should be provided the option to include a promotional code to
receive discounts.
REQ-11: The user must be able to proceed to payment in case the selected vehicle
meets his needs.
REQ-12: Upon successfully finalizing the transaction, the user’s transaction history
must be updated on their personal account page.
REQ-13: Upon successfully finalizing the transaction, the user’s account page must
be updated to display the newly rented vehicle in their possession.
REQ-14: The user should have the option to hide / unhide their list of rented vehicles.
REQ-15: The user must have a timer on their profile page to display the time
remaining from their rental.
Software Requirements Specification for Car Rental and Stock Management
Page 8

4.5 Modify User Data


4.5.1 Description and Priority
This feature is of high priority, as it allows users to change their credentials or other
personal details.

4.5.2 Stimulus/Response Sequences


If the user chooses to change their account information, their login credentials,
personal data and DB inquiries will be modified to match the provided information.

4.5.3 Functional Requirements


REQ-1: The user must have the ability to travel to the page corresponding to their
personal account.
REQ-2: The user must be able to change the information in their First Name / Last
Name fields without additional verification necessary.
REQ-3: The user must be able to change their Username / Password / Email / Phone
Number / Address fields. Email verification will be required to proceed
with any of these changes.
REQ-4: The user must be able to upload a profile picture.
REQ-5: The user must be able to remove / swap their profile picture.

4.6 User Profile


4.6.1 Description and Priority
This feature is of high priority, as it allows the users to check their transaction history,
view personal information and currently rented vehicles.

4.6.2 Stimulus/Response Sequences


The user can navigate to their account page and check information about their
account.
4.6.3 Functional Requirements
REQ-1: The user must be able to access their profile page.
REQ-2: The user must be able to check personal data such as First Name,
Last Name, Address, Phone Number and Email.
REQ-3: The user must be able to see their profile picture.
REQ-4: The user must be able to see their identity verification status.
REQ-5: The user must be able to see their transaction history.
REQ-6: The user must be able to see the list of their currently rented vehicles.
REQ-7: The user must be able to see the remaining time for their rented vehicles.
Software Requirements Specification for Car Rental and Stock Management
Page 9

4.7 Appearance Preferences


4.7.1 Description and Priority
This feature is of low priority. It is not related to any functional feature, and only
targets the visual aspects of the product.

4.7.2 Stimulus/Response Sequences


If the user chooses to modify the appearance of the product, they should be able to
change its color scheme.

4.7.3 Functional Requirements


REQ-1: The user should be able to access the Appearance menu after logging in.
REQ-2: The user should be able to select a color scheme from the available options.
REQ-3: The product must remember the user’s choice for further login sessions.

5. Other Nonfunctional Requirements


5.1 Performance Requirements
This product tolerates delays of up to 4 seconds. Longer delays would inhibit problem-solving
activity and frustrate data entry. However, after the completion of a transaction, delays of 4 to 15
seconds can be tolerated.

5.2 Safety Requirements


Sensitive data provided by the user is carefully managed and documents such as the proof of
financial responsibility (bank statement) are watermarked, thus the user is not at risk of having
private data exposed in the unlikely case of a security breach.
The database has a backup for a week prior at every given time, so in case of data corruption,
rollbacks may occur to previous versions without affecting the users.
This product’s payment service is provided by PayPal, so we do not take responsibility for eventual
problems that may occur outside our platform.

5.3 Security Requirements


Customer passwords of their registered accounts are encrypted using MD5 encryption algorithm to
prevent data exposure in case of a security breach.
Software Requirements Specification for Car Rental and Stock Management
Page 10

5.4 Software Quality Attributes


Code Layout Conventions:
- Only one statement per line
- Only one declaration per line
- If continuation lines are not indented automatically, indent them one tab stop (four
spaces)
- Use parentheses to make clauses in an expression apparent.
- Maximum of 80 characters per line
- Properly aligned code blocks
Commenting Conventions:
- Place the comment on a separate line, not at the end of a line of code
- Begin comment text with an uppercase letter
- Insert one space between the comment delimiter (//) and the comment text
Indentation Style:
- K&R style for namespaces, classes and methods
Naming conventions:
- Class and method names defined in upper camel case
- Variable names defined in lower camel case

5.5 Business Rules


Does not apply.

6. Other Requirements
Appendix A: Glossary
Term Meaning
DB Database
IIS Internet Information Services
GB Gigabyte
MB Megabyte
HW Hardware
RAM Random Access Memory
OS Operating System
HDD Hard Disk Drive
MD5 Encryption algorithm

Appendix B: Analysis Models


Does not apply.

Appendix C: To Be Determined List


Does not apply.

You might also like