You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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