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
The idea is to develop a crowdsourcing web application, called EZGas, whose goal is to provide to users a service. This service consists in:
search for gas stations that provide a particular kind of fuel in a ceirtain area
visualizing them on a map, with their prices so that the user can decide, basing on prices and distances, the one to choose to get the gas.
There are basically two groups of people who will use the application. There are the users, that can be divided into Registered and Unregistered; the difference is that for the first ones, the search history and their informations (living and/or working area, kinds of fuels preferred ) will be recorded in order to provide a better service. Then ther are the gas stations' owners that will interact with the application by inserting their informations (location, kinds of fuels, prices) and updating them in real time.
The visualized gas stations can belong to the selected city, but also to the other citys in the same province; this in thought mostly for offering a better service to the user that lives in medium-small citys where there may be a few number of gas stations.
Stakeholders
Stakeholder name
Description
Users
They directly use the application, by searching for the gas stations that have the needed kind of fuel and finding them on a map
Gas stations' owners
He or she interacts with the application in order to insert and update his data (fuel prices)
Developer
The one who develop the application, he or she has to make the application the easiest as possible so that many users will use it, and many gas organizations will be interested
DB Administrator
Manages the DB that records data of gas stations in order to provide the service the application is developed for
Context Diagram and interfaces
Context Diagram
Interfaces
Actor
Logical Interface
Physical Interface
User
GUI
Touchscreen, keyboard
Gas station's owner
GUI
Touchscreen, keyboard
Maps system
API
Network
Stories and personas
John is a car owner that lives in a big city. He is a salesman and he uses his car each day to work, travelling all around the city and in the metropolitan area. Each day he goes in differnt zones of the city, and he often needs to get gas in order to keep working, and he often doesn't know where to go to get the gas, since he doesn't know well all the places he goes to. For this reason, the EZGaz application really makes his days, since now he no longer need to turn around for minutes before finding an open gas station, and in addition he can choose the one with a lower cost, or, the one placed in the road he's going to pass in a moment, in order not to waste time.
His friend, Mark, lives instead in a small country. There, is not always easy to find a gas station since there are only few of them, and not all have GPL, the fuel he needs. For this reason, he made an account to the EzGas application, and eavry time he needs to get GPL, he only need to login and click the button of his las search to find all the available gas stations that are open around his area.
Even Ken is finding useful this application. He just opened a new gas station in his city, but he is not in one of the main roads of the city, and at the beginning, even if he tried to attract some customer by offering his service at small prices, no one knew that he was there. But now that the EZGas application is so widespread among the citizens and not only them, everyone knows where he is and now he can be competitive in his job sector.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Manage gas stations research by using area (took from phone's GPS or not) and fuel type (optional)
FR2
Manage gas stations visualization in the nearest area along with fuel prices
FR3
Manage visualization of the best route along with the distance of the selected gas station
FR4
Manage Registered users' accounts
FR5
Manage kind of fuels and prices changes
FR6
Record gas stations' position and opening hours
FR7
Manage gas stations' owners and their accounts
Non Functional Requirements
ID
Type (efficiency, reliability, .. see iso 9126)
Description
Refers to
NFR1
Usability
The time needed to learn how to use the application must be lower than 5 minutes for both gas stations' owners and users
NFR2
Performance
All functions should complete in < 1 sec
All FR
NFR3
Portability
The application runs on the browsers supporting HTML5 and JSES6
NFR4
Localisation
Decimal numbers use . (dot) as decimal separator
NFR5
Localisation
Currency is Euro
All FR
NFR6
Reliability
The downtime allowed is one day per year
All FR
Use case diagram and use cases
Use case diagram
Use Cases
Use case 1, UC1 - FR1, FR2 gas stations research and visualization
Actors Involved
Maps system, User
Precondition
the area of serearch is valid (the city exists, and, if prompted, the address exists)
Post condition
a list of possible gas stations with positions and prices
Nominal Scenario
the user selects an area and optionally a kind of fuel, the applications retrieve a list of actually opened gas stations that have that kind of fuel with prices and that are in the province of the selected city, then the application filters the result to find the ones that are in an area of 5 km around the address selected (if selected) throug the Maps system' APIs, then thorugh other APIs it visualize the selected gas stations with their prices
Variants
the area can be selected by using GPS, by inserting a city (with or without an address), by selecting from the list of frequent searches (for Registered users only)
Use case 2, UC2 - FR3 visualization of best route
Actors Involved
Maps system, User
Pre condition
the user has selected on the map one gas station
Post condition
visualization of best route
Nominal Scenario
if an address has been inserted, the best route is retrieved thorough the Maps system's APIs and visualized with distance and percurrence time
Variants
if the user didn't inserted the address, a default one is used, retrieved from the Maps system (city center adress)
Use case 3, UC3 - FR5 edit fuels' prices
Actors Involved
Gas station's owner
Pre condition
the owner must have an account
Post condition
F.price = new_price
Nominal Scenario
the owner selects a fuel F, update its F.price from old_price to new_price
Variants
the owner may add a new fuel and then insert the price
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corresponds to UC1
Description
gas stations research by complete address [ and fuel type ]
Precondition
the user either inserts an address or uses the GPS or select a frequent search (Registered users only)
Postcondition
the gas stations are visualized
Step#
Step description
1
the user insert an address, or it is retrieved from the GPS
2
[ the user insert a type of fuel]
3
the lit of gas stations is filtered by opening hour
4
the list of gas stations is filtered by province
5
[the list of gas stations is filtered by kind of fuel]
6
through the Maps system, the nearest ones are retrived (the ones that are up to 5 km distant)
7
through the Maps system, those are visualized in a Map
Scenario 2
Scenario ID: SC2
Corresponds to UC1
Description
gas stations research by city [ and fuel type ]
Precondition
the user either inserts the city only or selects a frequent searched city (Registered users only)
Postcondition
the gas stations are visualized
Step#
Step description
1
the user insert a city
2
[ the user insert a type of fuel]
3
the list of gas stations is filtered by province
4
the list of gas stations is filtered by city's province
5
[the list of gas stations is filtered by kind of fuel]
6
a default address is added, the one which corresponds to the city center, retrieved from the Maps system
7
through the Maps system, the nearest ones are retrived (the ones that are up to 5 km distant)
8
through the Maps system, those are visualized in a Map
Scenario 3
Scenario ID: SC3
Corresponds to UC2
Description
the best route to reach one gas station is visualized
Precondition
the user selects one gas station among the ones visualized
Postcondition
the gas station' best route is visualized
Step#
Step description
1
the user selects the gas station
2
the best route is retrieved through the Maps system
3
it is visualizide along with percurrence time and distance from the address (inserted or the default one)
4
the user can go back to the map and restart from Step 1
Scenario 4
Scenario ID: SC4
Corresponds to UC3
Description
the price of a fuel is updated
Precondition
the gas station's owner must have an account and the fuel F must be inserted previously
Postcondition
the fuel price is updated
Step#
Step description
1
the owner specify the new price
2
F.price is set to new_price
Scenario 5
Scenario ID: SC5
Corresponds to UC3
Description
a fuel is added
Precondition
the gas station's owner must have an account and the fuel F must not be inserted previously