SRSIEEEPDF
Software Requirements Specification
For Uber Ride
Version 4.2
Mahamadou Mahi Diallo
UMGC
SWEN645 9040
Mahi Inc
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
1
Date Version Description Author
06/09/2008 4.0 Initial document Joy Chuck
07/12/2017 4.1 Modernization overview Joseph Kent
01/03/2021 4.2 Advanced modernization Mahi Diallo
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
2
Table of Contents
1.1 Purpose................................................................................................................................. 3
1.2 Definitions, Acronyms and Abbreviations ........................................................................ 4
1.2.1 Definitions ..................................................................................................................... 4
1.2.2 Acronyms....................................................................................................................... 4
1.2.3 Abbreviations ................................................................................................................ 4
1.3 Scope..................................................................................................................................... 4
1.4 References ............................................................................................................................ 6
1.5 Overview ......................................................................................................................... 6
2. Overall Description ............................................................................................................... 6
2.1 Use-Case Model Survey ...................................................................................................... 9
2.1.1 Application Users’ Roles ............................................................................................ 11
2.1.2 Assumptions and Dependencies ................................................................................ 13
2.2 Specific requirements........................................................................................................ 14
2.2.1 Use-case reports.............................................................................................................. 14
3. Supplementary Requirements ............................................................................................ 30
4. Supporting Information ...................................................................................................... 30
Sheldon Linker� 7/20/21 12:18 PM
Sheldon Linker� 7/20/21 12:18 PM
Sheldon Linker� 7/20/21 12:18 PM
Deleted: 3
Deleted: 3
Deleted: 29
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
3
Appendix...................................................................................................................................... 31
1. Introduction
Mahi Inc specializes in the review and analysis of various applications and their features and
quality software in general. Mahi Inc also keeps track of the trends in various applications by
having records of their features. This document is the Software Requirement Specification for
Uber Ride System. It outlines most of the features of the application.
1.1 Purpose
The purpose of this document is giving an overview of Uber application requirements, its
use cases and describing various techniques used in the designing these use cases. In addition,
this document outlines the requirements of the application in the form of textural use cases.
The system will implement several Use Cases which includes the following:
• Requests a ride.
• Make payment.
• Enters details
• Accept customer rider request.
• Confirms payment.
• Pick and drop passengers.
• View passenger list
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
4
1.2 Definitions, Acronyms and Abbreviations
1.2.1 Definitions
• Application – this refers to a computer program that is designed to accomplish a specific
task in the computer system.
• Rider – a user who takes rides using Uber app
• Driver – a person who accepts ride requests from users, picks and takes them to their
destinations.
• Feature – an important component of the application that help users find what they are
looking for.
1.2.2 Acronyms
• GPS – Global Positioning System
1.2.3 Abbreviations
• SRS – Software Requirements Specification
• PCs – Personal Computers
• App – application
• PDAs – Personal Digital Assistants
1.3 Scope
The purpose of the Uber application is to make it easy for customers to get to their
destinations by providing them with information on locations, such as those in Texas or even
Silicon Valley, easy ways of requesting for a ride, estimated time of arrival, driver-partner
information such as type of the vehicle, first name and license plate number. In addition, the
Sheldon Linker� 7/20/21 11:31 AM Comment: As I had mentioned before, an acronym is a name made up of the first letters of other words, such as SRS. But more importantly, your reader may come back to this section to look something up. So either way, combine these 3 lists into one, and show it in alphabetical order.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
5
application also calculates the fare automatically for customers when they arrive at their
destinations.
There are various features of the applications that will be discussed, and these features
include.
• Real-time tracking of driver
• Allowing others to follow ride in real-time.
• Keeping trip history
• In-app call or chat option
• Saves destinations.
• Preferred driver
• Multiple options of payment
• Booking a ride for now or later
• Adding multiple points of drop-off
• Reviewing and rating of drivers
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
6
1.4 References
Alley, J. K. (2016). The impact of Uber Technologies on the New York city transportation
industry.
Grabher, G., & van Tuijl, E. (2020). Uber-production: From global networks to digital
platforms. Environment and Planning A: Economy and Space, 52(5), 1005-1016.
Mäntymäki, M., Baiyere, A., & Islam, A. N. (2019). Digital platforms and the changing nature of
physical work: Insights from ride-hailing. International Journal of Information
Management, 49, 452-460.
1.5 Overview
This subsection illustrates the software requirements specification of the Uber application, its
features and how the SRS is organized. The requirements specification for this application is
described further in the use cases.
The features of this application are also described, roles and responsibilities of the users are
explained. The use case model will also be designed to give more information on the processes
that take place in the Uber application. The following Software Requirements Specification is
divided into two major sections: Overall Description and Specific Requirements.
2. Overall Description
Uber is a technology platform whereby the applications on our smartphones connect riders
and driver-partners. Users is the cities where Uber is operating can use Uber rider application to
request for a ride. In most of parts where Uber operates, users are allowed to pay their fare in
Sheldon Linker� 7/20/21 11:34 AM Comment: As stated before, there should always be a reference to the initiating document. in our case, that's the class assignment link
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
7
cash, but they must select this option before requesting for a ride. The information about the rider
is also provided in the app.
In addition, the Uber application has the following features.
i. Book a ride for now or later.
This feature in the Uber application enables users to book the ride. With the book now or
later feature, driver-partners can easily get rides and travel easily from one place to another. The
book later feature enables users to easily book rides for a trip in future. This feature is very
important for users who are about to leave their homes, office or even going for a doctor’s
appointment and they want to get there in time.
ii. Multiple options of payment
Not every customer is comfortable paying via card or cash for their ride. Some of the users
do not carry cash while a few of them do not want to share their card details in the application.
Therefore, including multiple options of payments in the application has made it easy for the
riders whereby they are able to select from various options that are available in the app.
iii. Real-time tracking of driver
This feature is included in the application to boost the satisfaction level of the users and make
sure they are not frustrated when they are in the unknown regarding the driver. This is achieved
with the help of GPS integration. This feature helps in tracking the location of drivers and which
way they are traveling.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
8
iv. Preferred driver
Regular Uber riders who take rides for their homes and offices come across several drivers
and after some time they start having preferences of drivers based on the experience with them.
The application allows these users to have a choice of their preferred drivers, and this gives Uber
an added advantage.
v. Allow others to follow ride in real-time.
Since safety comes first to everyone, it feels safe when riders can share their details of the
ride with some else who is mostly close to them. This feature allows someone else to keep an eye
on the route that is taken by the driver and letting persons know if they have reached their
respective destinations safely or not.
This feature is also very useful if the rider is new to a particular city and are not aware of the
route that is being used by the driver. Therefore, sharing these details helps one to get an idea of
whether the route taken is right or wrong and gives a chance for the person they’re sharing with
to give insights into the route taken by the Uber driver.
vi. In-app call or call option
This feature is very important when the user wants to connect with driver mostly to ask
them for direction and inquire on their whereabouts. In some other cases, users would want to
chat directly with the support team for help. In addition, this feature also helps drivers to avoid
the trouble of rider’s address when they can just call or chat with riders and get the details and
get directions.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
9
vii. Driver rating and review
The reviews and ratings of the drivers give one more information on them, their behavior,
and the kind of experience they offer to the riders. The riders who have had a trip with the driver
in the past share their feedback and this helps one to know what they expect. The ratings are
reviews are excellent ways of improving the business of Uber.
viii. Add multiple drop-off points.
ix. Saving of destinations
x. Keeping of trip history
2.1 Use-Case Model Survey
Users of the application should be able to retrieve information of their trip at any time and
given an option to share this with their close relatives and friends.
The following figure is the use case diagram for Uber.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
10
Figure 1: Driver & Rider Summary Use Case Diagram
There are 7 Use Cases that make up the requirements of the Uber application and other
details are shown in the table below:
Use Case Description
1. Request a ride. Displays various functions to enable the rider to select the type of
ride they need, location and request for the ride.
2. View passenger
list
Displays a list of the available riders who have requested for a ride.
3. Pick and drop Displays information on the locations to pick up and drop riders.
Sheldon Linker� 7/20/21 11:49 AM Comment: In this column, some items have dots and some don't. Pick a style and stick with it. I'd go for no dot in this column. When a table spans a page boundary, its rows should not split, and its header should repeat. Both can be accomplished with table row attributes.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
11
passengers.
4. Confirms
payment.
Enables driver to confirm that the payment for the ride has been
made by the customer.
5. Accept customer
request.
Notifies drivers of the requests made by the rider and gives them an
option to accept the request.
6. Make payment. Displays various modes of payment a rider can choose from and
enables them to make the payment.
7. Enters details
Gives users an interface to input details about themselves.
2.1.1 Application Users’ Roles
This specifies and describes the roles, the associated responsibilities and all the use cases
primarily driven by the users.
i. Driver
Definition
Driver is the role played by the persons specifically registered by Uber to accept ride
requests from customers and take them to their destinations.
Responsibilities
The following are the responsibilities of a rider.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
12
• Accepting ride request from the customers and promptly attending to them.
• Viewing the list of all the available passengers.
• Picking up and dropping of passengers.
• Confirming receipt of payment.
Required capabilities.
The rider requires the following skills to effectively interact with the Uber app.
• Basic skills required in using a smartphone.
• Ability to use Google Maps.
• Good interpersonal skills.
• Able to locate simple functionalities on smartphone such as GPS and others.
ii. Rider
Definition
A rider is the role played by the customers of the Uber app who request for rides using the
application.
Responsibilities
The following are the responsibilities of a rider.
• Entering their pick-up location.
• Entering their destination.
• Registering and entering their details into the system.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
13
• Choosing the type of ride, they need.
• Requesting for a ride
Required capabilities.
The rider requires the following skills to effectively interact with the Uber app.
• Basic skills required in using a smartphone.
• Ability to use Google Maps.
• Able to locate simple functionalities on smartphone such as GPS and others.
2.1.2 Assumptions and Dependencies
External hardware
• Client hardware
- Employee workstations: these are the personal computers used by the workers to
carry their daily tasks.
- User client: refers to all the devices used in communication, such as PCs, PDAs, and
smartphones.
• Client hardware
- Local Area Network: this is the internal local area network that is used for
communication among Ubers employees.
- Internet: the global network applied in communication among users of the app,
employees, drivers, and the Uber platform.
Other assumptions Sheldon Linker� 7/20/21 11:51 AM Comment: A header or title should not be the last thing on a page. (throughout)
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
14
i. It is assumed that all the riders are requesting for the ride while at the cities where Uber
operates.
ii. Another assumption is that the riders will pay the fare through option they chose before
placing a ride.
iii. It is also assumed that drivers are all-over the city so no customer will miss their ride.
2.2 Specific requirements
This section outlines the requirements for the Uber application captured in the use cases and
any applicable supplementary specifications.
2.2.1 Use-case reports
This subsection describes the functional and non-requirements of the application.
1. Use Case Name: Request a Ride
Summary: The Request Ride option helps a rider to place a ride on the application.
Preconditions: Pick up and drop off locations are selected.
The type of ride is selected.
Triggers: The rider select the Confirm Ride option after select pick up and drop points.
Basic course of events (Scenario)
Sheldon Linker� 7/20/21 12:01 PM Comment: Don't let case numbers be confused with section numbering. You can change "1" and "2" and so on to "Case 1" and "Case 2" and so on, or to 2.2.1.1 and 2.2.1.2 and so on.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
15
Actor System Screen
! The
rider
selects
Enter
pickup
point
! The
system
displays
a
window
to input
the
pickup
location
and
destinati
on.
Sheldon Linker� 7/20/21 11:57 AM Comment: The format you're using here makes it harder to read than it should be. You don't even have enough room for a whole word in some cases. Switch from margins of 0.25/0.5 to 0. These items should be numbered. QA and project management are both going to need those numbers. In primary use cases, start your numbering at 1. In alternate flows, start your numbering where the alternate case diverges from the primary. Each sentence (throughout) must end in a period.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
16
! The
rider
selects
and
confirm
s the
ride
type.
! The
system
displays
the
Confirm
Pickup
option
for the
user.
Alternative paths:
! The requested ride is canceled.
Actor System Screen
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
17
Rider selects Cancel
The system displays the
Cancel Request
Rider clicks the Cancel
Request option
Post conditions:
! A ride has been requested.
! A driver accepts the ride request.
• Exceptional:
- No ride available in the area.
- Rider changes their route or cancels ride.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
18
2. Use Case: Accepts customer ride request
•
• Summary: The Accept Ride Request option helps a driver to view the available rides and
either accepts or does not.
• Preconditions: A rider must request for a ride.
• Triggers: The driver selects the Confirm Ride Request option on the available rides.
• Basic course of events
Actor System Screen
! Notifies driver of
the available rides
! User selects the
accept ride option
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
19
Post conditions
• The driver accepts the ride request.
• Exceptional
- Driver time out
- Insufficient account balance
3. Use Case Name: View Passenger List
Summary: The system displays a number of the available passengers that drivers should choose
from or rather accept the rides.
Preconditions: A ride has been requested by a customer.
The type of ride is also selected.
Triggers: The driver selects the view available rides option.
Basic course of events (Scenario):
Actor System Screen
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
20
! The user selects the
view passenger list
option.
! Displays the list of
available rides
Alternative paths:
! The requested ride is canceled.
Actor System Screen
The system removes that ride
from the list
Post conditions:
! A ride has been requested.
• Exceptional:
- No ride available in the area.
4. Rider changes their route or cancels ride. Use Case Name: Confirm payment
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
21
Summary: The Confirm Payment option helps the driver to verify that payment has been made
by the rider and it is of the right amount.
Preconditions: The rider has been picked up and dropped off at their destinations.
Payment has been made by the rider.
Triggers: The driver selects the Confirm Payment option after payment has been made by the
rider.
Basic course of events (Scenario)
Actor System Screen
! The rider makes
payment
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
22
! The system
displays the
amount paid
! The driver
confirms
payment
Post conditions:
! Payment has been made
! The right amount of fare has been paid
• Exceptional:
Sheldon Linker� 7/20/21 11:58 AM Comment: Each use of "Exceptional" should be "Exception" or "Exceptions" or "Exceptional case" or "Exceptional cases".
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
23
- No payment method available
5. Use Case Name: Make payment
Summary: The Make Payment option enables a rider to choose the mode of payment they want
to use in making payment and paying for their fare.
Preconditions: Pick up and drop off locations are selected
The ride is confirmed
The type of ride is selected
Triggers: The rider select the Make Payment option after confirming the ride.
Basic course of events (Scenario)
Actor System Screen
! Displays the
mode of
payment
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
24
! Selects the
mode of
payment
and makes
the payment
for the fare
Alternative paths:
! The preferred mode of payment is not displaying
Actor System Screen
! The system
displays the other
available payment
methods
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
25
! Rider selects the
method of payment
they prefer
Post conditions:
! A rider selects their preferred payment method
! The ride is also confirmed
• Exceptional:
- No payment method displayed by the system
6. Use Case Name: Pick up and drop off passengers
Summary: The system displays options for the users to notify users of their pickup and drop off
ETA
Preconditions: Pick up and drop off locations are selected.
The type of ride is selected.
The ride has been confirmed
Triggers: The rider select the Confirm Pickup and Destination option
Basic course of events (Scenario)
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
26
Actor System Screen
! The rider
enters the
pickup and
destination
! Displays the
available
locations for
pickup and
destination
Alternative paths:
! The rider changes the pickup location and destination
Sheldon Linker� 7/20/21 12:00 PM Comment: This sentence is missing its subject.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
27
Actor System Screen
! Rider selects an
alternative
pickup and
destination
Post conditions:
! System accepts the entered locations
! The rider confirms that the locations entered are correct
• Exceptional:
- No pickup and destinations
7. Use Case Name: Enters details
Summary: This option enables users to update their personal information in the system
Preconditions: User selected the create profile option
Triggers: The rider select the Create Profile option
Basic course of events (Scenario)
Actor System Screen
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
28
! The rider
selects
create
profile
option
! Confirm
account setup
Sheldon Linker� 7/20/21 12:00 PM Comment: This sentence is not written in 3rd person.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
29
! The rider
selects and
confirms
the ride
type.
! The system
displays the
Confirm
Pickup option
for the user.
Post conditions:
! A user profile has been set up
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
30
3. Supplementary Requirements
The application has other more requirements and even more use cases. Riders are also able
to cancel ride requests before they are picked, and this might be due to several reasons such as to
attend to a personal emergency.
The applications are only supported on smartphones, and this means that both the driver and
rider must have one. The phone should also support GPS to make it easy for the rider and driver
to locate each other.
4. Supporting Information
The following is an image for Uber application and other related information.
Uber Ride Version: 4.2 Software Requirements Specification Date : 10/06/2021 MInc-001
31
Appendix
The Uber application can be downloaded from the Google Play store.
Guidelines on how to install and use the application can be found on their official website, that
is, www.uber.com.