use case P
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 Scope 2 1.3 Definitions, Acronyms and Abbreviations 3 1.3.1 Definitions 3 1.3.1 Acronyms 3 1.3.2 Abbreviations 3 1.4 References 3 1.5 Overview 4 2. Overall Description 4 2.1 Use-Case Model Survey 6 2.1.1 Application Users’ Roles 7 2.1.2 Assumptions and Dependencies 9 2.2 Specific requirements 10 2.2.1 Use-case reports 10 3. Supplementary Requirements 15 4. Supporting Information 15 Appendices 17 Appendix 1: Use Case Diagram 17 Appendix 2: Application Actors 17
1. Introduction Comment by Sheldon Linker: Note that 1 is to the right of 1.1. They should line up, or 1.1 should be farther to the right. I'd prefer lining up. Pick a header style and stick with it. I notice that you have at least 2 formats, and you seem to randomly vary between them.
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.
1.2 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, 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.3 Definitions, Acronyms and Abbreviations
1.3.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. Comment by Sheldon Linker: Define at or before first use.
· 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.3.1 Acronyms
· App – application Comment by Sheldon Linker: An acronym is a word formed from initials of other words, such as "GPS". An abbreviation is a shortened version of a word.
1.3.2 Abbreviations
· GPS – Global Positioning System
· SRS – Software Requirements Specification
· PCs – Personal Computers
· PDAs – Personal Digital Assistants
1.4 References
Space Technologies Comment by Sheldon Linker: A title should not be the last thing on a page (throughout). Thus, §1.4 should start on a new page. 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 can get to their destinations.
1.5 Overview Comment by Sheldon Linker: You have a heading here with no content.
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 cash, but they must select this option before requesting for a ride. The information about the rider is also provided in the app. Comment by Sheldon Linker: This type of document should be entirely in the 3rd person. Comment by Sheldon Linker: locations?
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 are able to 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. Comment by Sheldon Linker: Quotes, for US documents, should start with double-quote marks. This quote mark is unterminated.
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 different options that are available in the app. Comment by Sheldon Linker: various — because "different" requires being different from some other thing.
iii. Real-time tracking of driver
This feature is included in the application in order 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 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 you have reached at your destination 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 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 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
Use Case: Rider Requests a Ride Comment by Sheldon Linker: These should all be numbered, lettered, or otherwise identified, or the project will be very difficult to manage.
Use Case Requirement
The app shall enable riders to request for their ride when. Comment by Sheldon Linker: If you have a complete sentence, you can use a period or colon. But in this sort of case, where you don't have a complete sentence, you need a colon.
· 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 are able to 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 Comment by Sheldon Linker: More detail is needed in this area. For each step, we need the triggering condition or action, any required preconditions, then the steps, numbered, each with what the user does, how the system responds, and a description and/or picture of the required UI elements. Also, if there are any post-conditions, those should be called out. Make these changes here and throughout. Each use case should have its own page or pages.
· Rider enters pick up location.
· Rider enters destination.
· Rider chooses ride type.
· Exceptional
· None
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
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 |
System |
Screen |
|
Rider Comment by Sheldon Linker: Each action/response should get its own line in the table so that the action and response can be visually matched up. The picture (or text) is not here to set the mood. It's here to show us the UI, in close detail. If the UI doesn't change between rows, don't show the same image twice. i. Authenticates with the application. ii. Enter pick up location. iii. Choose ride type. iv. Submit ride request |
i. Authenticates the rider. ii. Displays available ride types. iii. Accepts rider requests |
|
Post-conditions
· The Uber application keeps information about the ride.
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 |
System |
Screen |
|
Driver i. Views the list of available passengers. Comment by Sheldon Linker: These should each be complete sentences. Don't allow rows to span page boundaries. If the table must span a page boundary, it's header should repeat. These can be handled in table row attributes. ii. Accepts the ride request. iii. Proceeds to pick-up location |
i. Displays the list of available passengers. ii. Verifies the request of the driver |
|
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. Comment by Sheldon Linker: You've shown us the first image on page 16 already. The second image on page 16 is new, but any image can't stand on it's own. It needs text stating why it's here and/or how it relates and/or what to do with it. Likely these images will be used in rows as described above. Make sure the images are big enough to read.
Appendices
Appendix 1: Use Case Diagram Comment by Sheldon Linker: You've shown us this image already.
Appendix 2: Application Actors
Basic course of events Comment by Sheldon Linker: All of this stuff should be in the use cases.
|
Actor |
System |
Screen |
|
Rider i. Authenticates with the application. ii. Enter pick up location. iii. Choose ride type. iv. Submit ride request |
i. Authenticates the rider. ii. Displays available ride types. iii. Accepts rider requests |
|
|
Driver i. Views the list of available passengers. ii. Accepts the ride request. iii. Proceeds to pick-up location |
i. Displays the list of available passengers. ii. Verifies the request of the driver |
|
17