USECASEPROJECT
Uber
|
Uber Ride |
Version: 4.2 |
|
Software Requirements Specification |
Date : 10/06/2021 |
|
Document ID: UBER-SRS |
Uber Software Requirements Specification For Uber Ride Version 4.2 Mahamadou Mahi Diallo UMGC SWEN645 9040
Table of Contents 1. Introduction 2 1.1 Purpose 2 1.2 Definitions, Acronyms and Abbreviations 2 1.2.1 Definitions 2 1.2.2 Acronyms 2 1.2.3 Abbreviations 2 1.3 Scope 3 1.4 References 4 1.5 Overview 4 2. Overall Description 4 2.1 Use-Case Model Survey 7 2.1.1 Application Users’ Roles 8 2.1.2 Assumptions and Dependencies 10 2.2 Specific requirements 11 2.2.1 Use-case reports 11 3. Supplementary Requirements 16 4. Supporting Information 16 Appendix 18
1. Introduction
1.1 Purpose
The purpose of this document is give 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.
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 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
1.4 References
Space Technologies Comment by Sheldon Linker: As stated before: • The references should be in APA version 7 format. • There should always be a reference to the initiating document. For our purposes, that's the class assignment link.
· Gives a brief overview of the Uber application.
· Describes various features of the Uber app which can be very useful to aspiring businesses and those operating only for millennial audiences.
Uber Help: https://help.uber.com/riders/article/how-does-uber-work?nodeId=738d1ff7-5fe0-4383-b34c-4a2480efd71e
· It gives a brief description of what Uber app is and how it works to ensure that customers who request for the rides are able to get to their destinations.
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.
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 are able to use Uber rider application to request for a ride. In most of parts where Uber operates, users are allowed to pay their fare in 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’re 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.
iv. Preferred driver
Regular Uber riders who take rides for their homes and offices come across several drivers and after sometime 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 are able to 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 also letting persons know if you have reached at your destination safely or not. Comment by Sheldon Linker: As mentioned before: • This type of document should be entirely in the 3rd peson.
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 or not the route taken is right or wrong and gives a chance for the person you’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 also get directions.
vii. Driver rating and review
The reviews and ratings of the drivers give you 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.
Figure 1: Driver & Rider Summary Use Case Diagram
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.
· 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.
· 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
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.
Use Cases
i. Rider requests a ride.
ii. Rider makes payment.
iii. Rider enters details to the system.
iv. Driver accepts customer rider request.
v. Driver confirms payment.
vi. Driver picks and drops passengers.
vii. Driver views passenger list
1. Use Case: Rider Requests a Ride
Use Case Requirement
The app shall enable riders to request for their ride when;
· Drivers are available at their location.
· They are in the cities where Uber operates.
Business Justification
· The Uber application ensures that all the users who request for rides can get them within the shortest time possible.
· The driver waits for these requests so they can attend to them.
Use Case Paths
· Normal:
· Rider authentication: users are asked to enter their login details, that is, usernames and passwords before being granted access into the system. Comment by Sheldon Linker: We're half-way there in this area. You've got the user actions, but this should be divided up into what the rider does, what the system does, and what the driver does. The transaction doesn't stop here. As a part of this transaction, the system needs to notify the driver of the ride. Remember that there are 3 components in this area: What the user(s) do, what the system does, and either a picture or a description of the interface. Your programming and QA team can't afford to guess what you have in mind. We need still more detail. Within the flows, the steps need to be numbered or lettered, both for QA purposes, but also for exception purposes. Exceptions pick up at the first deviation number (or letter). There are almost always exception cases, such as (1) user cancels partway through the process or (2) no ride available. Some of these cases have tables, and some don't. It's hard to tell where one use case starts and one ends. Reformat like this to make this clear: • Number and Title • Description • Preconditions (if any) • Primary flow, as a table • Any alternate flows, as similar tables • Post-conditions, if any Remember that each transaction must be complete.
· Rider enters pick up location: a rider is asked to choose their location where they can be picked up by the driver.
· Rider enters destination: a rider is also supposed to input the address of where they are to be dropped.
· Rider chooses ride type: they should also input the type of ride they need, for example, UberX
· Exceptional
· None
2. Use Case: Driver accepts customer rider request
· Use Case Requirement
The app shall enable drivers to accept ride requests from customers when:
· Riders request for a ride.
· Riders are in the cities where Uber operates.
· Business Justification
· The Uber drivers accepts requests that are close to them so they can server customers within the shortest time possible.
· Use Case Paths
· Normal:
· Rider requests ride
· Driver accepts rider.
· Exceptional
· Driver time out
· Insufficient account balance
i. Normal Path: Rider requests ride
· Path requirement
The app shall enable users to request for their ride and also cancel when need be;
· Successful rider authentication
· Validated pickup location.
· Externals
· Rider
· Preconditions
· The Uber application displays the available rides on the screen to enable the rider to select the ride they need.
· The application also displays details of the driver.
· Interactions
i. The rider sends a request to the application for the ride they need.
ii. The application updates the system with information and sends them to the available drivers.
iii. The driver acknowledges and updates having accepted the ride.
· Basic course of events
|
Actor: Rider |
System |
Screen |
|
i. Authenticates with the application |
i. Authenticates the rider
|
|
|
ii. Enter pick up location |
ii. Displays available locations |
|
|
iii. Choose ride type |
iii. Displays available ride types |
|
|
iv. Submit ride request |
iv. Accepts rider requests |
|
· Post-conditions
· The Uber application keeps information about the ride.
ii. Normal Path: Rider chooses ride type.
· Path requirement
The app shall enable riders to choose the type of ride they need.
· Successful rider authentication
· Externals
· Rider
· Preconditions
· The Uber application displays the available rides on the screen to enable the rider to select the ride they need.
· Interactions
· The rider sends a request to the application for the ride they need.
· The application updates the system with information and sends them to the available drivers.
|
Actor: Driver |
System |
Screen |
|
i. Views the list of available passengers. |
i. Displays the list of available passengers |
|
|
ii. Accepts the ride request from the rider |
iii. Verifies the request of the driver to proceed to pick-up the rider. |
|
|
ii. Proceeds to the pick-up location |
iii. Notifies drivers when they reach the pick-up location. |
|
· Post-conditions
· The Uber application keeps information about the ride.
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.
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.
12