Skip to content

Latest commit

 

History

History
193 lines (145 loc) · 11 KB

REQ_s271961.md

File metadata and controls

193 lines (145 loc) · 11 KB

EZGas Requirements Documentation

Author: Gabriel Ganzer

Date: 05/04/2020

Version: 2

Change history

Version Changes
2 Stakeholders were modified, therefore, implicating modifications throughout the whole document. Glossary section was included.

Contents

Abstract

EZGas is a crowdsourcing service that allows users to collect prices of fuels in different gas stations, and to locate those gas stations within an area, along with the prices they practice. The system is supported by a web application accessible both via PC or smartphone.

Stakeholders

Stakeholder name Description
Customer Use the application directly. They are interested in finding nearby gas stations offering the best prices. They are also interested in maintaining information about those gas stations up-to-date.
Supplier Might use the application directly. They are interested in the correct representation of their offering and precise location, as well as using the service for checking their competition.
Government Do not use the application directly. They are interested in assuring that laws regarding the user's privacy are being strictly followed.
Maps Platform Do not use the application directly. Third-party application used for displaying map, place details, geocoding, and geolocation.

Context Diagram and interfaces

Context Diagram

Interfaces

Actor Logical Interface Physical Interface
Customer GUI Screen, keyboard
Supplier GUI Screen, keyboard
Government None Documentation, reports
Maps Platform Web Services Internet Connection

Stories and personas

John Doe has decided to travel across the country by car on his vacation. At one point, he sees that his vehicle is almost out of fuel, so he stops at the first gas station he can reach from the driveway and fill up the tank. When he's driving out, he receives a notification from EZGas asking him to confirm that he was recently at Gas Station X, as well as their prices. He spends a few seconds filling that information before continuing his trip.

Jane Doe is traveling around the same area as John Doe after a few weeks he passed by there. She is not familiar with this area, so she uses EZGas to find a nearby gas station to fill up her tank. She finds that Gas Station X is close to her location, captivated by their prices, she decides to stop there. When she arrives at the station she sees that their current prices don't match those informed by the app, so she notifies these changes and drives to the next station offering better prices.

Gas Station Y had recently opened in the same area of Gas Station X, aware of the EZGas app, they immediately fill in the details about their services. The administrator of Gas Station X then uses EZGas to check if their competitors are offering better prices. The administrator then uses his or her account to change the details of Gas Station X after lowering their prices.

When opening EZGas, the user has the option of entering its current location manually or via geolocation services. A map containing all gas stations within a 1 km radius would then be displayed on the user's screen afterward. The user could then select one of the pins representing those gas stations to reveal the details about them. Only signed up users can claim modifications in those details. When the service recognizes that another signed up user has visited that gas station, it would ask that user to check and confirm that claim. After a certain number of replies, the system would then record any modification if necessary.

Functional and non functional requirements

Functional Requirements

ID Description
FR1 Display all gas stations within an area.
FR2 Allow only signed up users to modify details about gas stations.
FR3 Notify users that had been to a gas station with a registered claim.
FR4 Record modifications after n users replied to the survey.
FR5 Manage profiles.

Non Functional Requirements

ID Type Description Refers to
NFR1 Functionality All recorded stations within a 1 km radius from the user's location must be displayed in the map FR1
NFR2 Reliability Application should maintain the information about gas stations always up-to-date. All FR
NFR3 Reliability System should not make distinctions beetwen unsigned and signed users regarding their privacy and data, information about their geolocation must not be shared without their concent. All FR
NFR4 Reliability System must ask at least 10 signed users to confirm a claim made by another user before recording the modifications reported. FR3 - FR4
NFR5 Efficiency Response from third-party API that displays those gas stations to the user should be as fast as possible. FR1
NFR6 Efficiency The survey must be simple and easy to reply, not taking more than a few seconds. FR3
NFR7 Usability The application has to be intuitive for all users, with a friendly interface. All FR
NFR8 Portability The application runs on both desktop and mobile versions. All FR
NFR9 Localization Decimal numbers use . (dot) as decimal separator.
NFR10 Localization The application should support different currencies.

Use case diagram and use cases

Use case diagram

Use Cases

Use case 1, UC1 - FR1 Display all gas stations within an area.

Actors Involved Developer
Precondition Gas station G exists in Maps Platform
Postcondition GUI.area_post = API.area_pre
Nominal Scenario The application displays to the user every gas station within a 1 km radius from users location
Variants Gas station does not exist in the database and must be created by a signed up user

Use case 2, UC2 - FR2 Allow only signed up users to modify details about gas stations.

Actors Involved Developer
Precondition User U is logged in, Gas station G exists
Post condition G.info_pre = U.info_post
Nominal Scenario User register a claim to a certain gas station requiring details to be modified
Variants

Use case 3, UC3 - FR3 Notify users that had been to a gas station with a registered claim.

Actors Involved Developer, Government
Precondition User U is logged in, sharing its live location with EZGas, as well as notifications enabled
Post condition Survey display
Nominal Scenario System recognizes that user has been to a gas station containing a claim, asking for this user to take a survey
Variants User has disabled notifications, it's not live sharing its geolocation, or even deny the request for taking the survey

Use case 4, UC4 - FR4 Record modifications after n users replied to the survey.

Actors Involved Customer, Supplier
Precondition Gas Station G received a recent claim
Post condition Details about G are recorded in database
Nominal Scenario 10 signed up users responded to the survey and system register any modification that was reported
Variants Not enough users take the survey

Use case 5, UC5 - FR5 Manage profiles

Actors Involved Developer
Precondition
Post condition
Nominal Scenario Application must be able to manage a certain number of profiles, creating new ones or deleting them when necessary, as well as respecting their privacy and the safety of their data
Variants

Relevant scenarios

Scenario 1

Scenario ID: SC1 Corresponds to UC1
Description Gas Stations around user's location are displayed in the map
Precondition Maps Platform has n gas stations registered in that area
Postcondition Screen map display all gas stations reported by Maps Platform
Step# Step description
1 User share its location either manually or geolocation service
2 EZGas send that information to Maps Platform
3 Maps Platform processes the address and responds with the gas stations it has found
4 Screen map on EZGas application displays a pin representing each gas station

Scenario 2

Scenario ID: SC2 Corresponds to UC2
Description Only signed up users have the register claim option enabled
Precondition User is signed up and logged in
Postcondition Claim to a gas station is reported to the system
Step# Step description
1 User signs up filling up a form with its data and logs in
2 User selects in the map the gas station that wants to register a claim
3 User report error or modifications it wants to suggest regarding gas station's offering or location
4 System register the claim

Scenario 3

Scenario ID: SC3 Corresponds to UC3 and UC4
Description System recognizes that 10 logged in users have been recently to a gas station that has a registered claim
Precondition Users share their live location with EZGas and have notifications enabled
Postcondition Responses of 10 surveys are matched and suggested modifications are recorded in database
Step# Step description
1 System recognizes that user's live location matches the coordinates of a gas station containing a claim
2 System asks that user if it's willing to take a survey in order to confirm the claim
3 System would notify any other user that visits that gas station until the sufficient number of surveys were not responded
4 System matches the responses of those 10 users
5 Modifications suggested by users are then recorded in the databse

Glossary