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
Gas stations daily change their price offering. To face the issue of looking for the best price available in their area, drivers have organized themselves in a Facebook group to share pictures of the price offered by the gas station they've visited. The people who have founded the group, the group administrators, accept user submissions and group the picture in photo albums separated per zone. However, the group size has grown significantly, and they cannot keep up with the submission rate anymore.
To solve this issue, they decided to launch a crowdsourcing initiative to develop an app that collects the prices of fuel in the gas stations and that locate them in an area, showing the prices. A group of developers has accepted to develop the application. They will substitute the Facebook group with a website. If a user is not registered can only choose to see the prices offered in an area by gas station. If he/she is registered and has logged in it can upload the prices offered by the gas station visited.
Stakeholders
Stakeholder name
Description
User
It directly uses the application, can look for the prices in an area and submit them. They are interested in a correct report of the pricing
Administrator
Is interested in the stability and usability of the application they've commissioned. They're also a kind of user
Map System
It can impact the system whenever its API changes
Developer
Is not a direct user of the application. It is interested in the development, maintenance and testability of the product.
Context Diagram and interfaces
Context Diagram
left to right directionactorAdministratorasaactorUserasuactor"Map System"asma-- (EZGas)
u-- (EZGas)
(EZGas) --m
Interfaces
Actor
Logical Interface
Physical Interface
User
GUI
Screen, keyboard, mouse, touchscreen
Administrator
GUI
Screen, keyboard, mouse
Map System
API
Internet connection
Stories and personas
John is an administrator of the system. He likes to do long trips in his camper, spare money and help other travelers like him. This is why he decided to start the Facebook group to share gas stations' prices and then to crowdsource EZGas.
He is interested in an app with an intuitive and nice user interface, that can bring in as many users as possible. He is not interested in a way for managing reports of wrong pricing, since it is enough for a second user to report a new price.
Mary is a manager of a company and has to travel a lot in her car for work, so she would like to reduce her expenses in fuel.
Due to her work she is always in hurry, therefore Mary needs an user interface that let her to quickly see the cheapest gas station around her.
Joe is a developer of EZGas station. He likes to think about him as a very productive and organized guy.
Therefore he is interested in producing a good documentation for who will come after him in the development and in producing a highly modularized code.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Register to EZGas
FR2
Log in
FR3
Log out
FR4
Add a gas station
FR5
User reports the prices of a gas station
FR6
Geolocalization of the gas station near the user
FR7
Show the prices offered by the gas station
FR8
Manage accounts
Non Functional Requirements
ID
Type
Description
Refers to
NFR1
Usability
Application should be used with no training by any user
All FR
NFR2
Performance
All functions should complete in < 5 sec
All FR
NFR3
Portability
The application runs on all major browsers (Chrome, Edge, Firefox, Safari) (7 and more recent)