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 crowdsourcing service which is capable of providing the users the position and the relative prices of the gas station, given a certain area. This will allow users to choose, based on their preferences and needs, the most suitable possibity among the different shown alternatives, while providing a platform which can be used also by the gas station owners to spread knowledge about their work, while allowing the users to give also a feedback about the veridicity of the prices.
Stakeholders
Stakeholder name
Description
Users: car owners, gas station owners
Contribute to the application by adding and upvoting gas stations and prices and/or use it to get informations
John owns since some month a gas station which he opened in small city which is often traversed by a lot of people travelling (most for work). He wants to spread informations about its station and its convenient prices such that many of these, while going to work, stop there to refill their vehicles.
At the moment, since it is on a very small road, only few of them end up there, even if he tried to put some advertisement throughout the city.
He wants to be able to increase the awareness of its station among this possible customers. This can be done by the mean of the EZGas application which he would directly use to publish and advertise its work.
Bob is a plumber since many years; he tries to cover a very big area in order to reach as many customers as possible. This means that he often has to travel a lot through the country, resulting in considerable expenses due to fuel for his old furgon.
He often ends up traveling in cities which he doesn't really know while requiring to refill its vehicle, which means he often stops at the first station which he sees on the road.
Bob wants to be able to access the must suitable stations every time he needs, most of all when he is in a city which he doesn't know much about; this would be achieved with the EZGas application, which would be able to provide the nearest stations with their relative prices.
Alice likes contributing to services to help people, even in small things. She actually writes on Google a lot of reviews for places where she's been.
She lives since decades along with her family in a city which she knows very well, and from many of her new collegues she receives questions about which are the best and/or the most convenient places for doing something and she explains them where they are, but at the same time she feels that many other people cannot receive these informations.
She wants to be able to spread all of these informations more easily among the people transferring to her city; with EZGas she would have a platform for publishing all the informations about the gas stations of the city along with their prices and eventually verify the correct ones, helping the newcomers find what they need.
Scenario, use cases and use case diagram
Use case diagram
actorUserasUactor"Registered User"asRUactorAdministratorasAactor"Map System"asMrectanglesystem {
usecase"FR1 Manage gas station"asFR1 usecase"FR1.1 Add gas station"asFR11 usecase"FR1.2 Set fuel offer for gas station"asFR12 usecase"FR1.3 Manage authentication"asFR13 usecase"FR1.4 Upvote fuel offer"asFR14 usecase"FR2 Find gas stations"asFR2 usecase"FR3 Manage Users"asFR3
}
RU->FR1U->FR2A->FR3A-->RURU-->UFR1->MFR1.->FR11 : include
FR2->MFR1.->FR12 : include
FR1.->FR14 : include
FR1.>FR13 : include
FR3.>FR13 : include
FR22--|>FR2
Use cases
Use case 1, UC1 - FR1 Manage gas station
Actors Involved
User
Precondition
Gas station does not already exist on the service
Post condition
Gas station exists on the service
Nominal Scenario
User authenticates, select position on map for the station, add fuel offer and eventually other information (such as gas station name, working hours) or upvote/downvote existing fuel offers
Variants
Position not valid, issue error
Authentication not valid, issue error
Invalid name, issue error
Prices not valid, issue error
Use case 2, UC2 - FR2 Find gas stations
Actors Involved
User
Precondition
Post condition
It is shown a list of gas station
Nominal Scenario
User select position and a range, service shows available gas station and relative prices
Variants
Position not valid, raise error
Range is not valid, raise error
List is empty, show warning
Use case 3, UC3 - FR3 Manage users
Actors Involved
Administrator
Precondition
Post condition
Users notifications are processed
Nominal Scenario
Administrator logs in, handles and processes user reporting, delete or block unappropriate users
Variants
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corresponds to UC1
Description
User add a gas station with its prices
Precondition
Gas station does not already exist on the service
Postcondition
Gas station exists on the service
Step#
Step description
1
User log in or sign in
2
User select position on maps (either with pointer or with address)
3
User add gas station name
4
User set fuel offer for current gas station
5
User confirm inserted data
6
User log out
Scenario 2
Scenario ID: SC2
Corresponds to UC2
Description
User search for gas station in a certain area
Precondition
Postcondition
It is shown a list of gas station
Step#
Step description
1
User select position on maps (either with pointer, with address or current position)
2
User add range
3
Show list of gas station in selected area with relative prices
Scenario 3
Scenario ID: SC3
Corresponds to UC1
Description
User upvote a gas station fuel offer
Precondition
Gas station exists and has at least one fuel offer
Postcondition
Gas station fuel offer(s) upvoted/downvoted
Step#
Step description
1
User log in or sign in
2
User select station on maps
3
User select fuel offer
4
User upvote/downvote offer
5
User log out
Scenario 4
Scenario ID: SC4
Corresponds to UC3
Description
Manage users
Precondition
Postcondition
User notifications are processed
Step#
Step description
1
Admin log in
2
Admin checks new user notications
3
Admin process new user notifications
4
Admin log out
Functional requirements
ID
Description
FR1
Manage gas station
FR1.1
Add gas station
FR1.2
Add fuel offer for gas station
FR1.3
Manage authentication
FR1.4
Upvote fuel offer
FR2
Find gas stations
FR3
Handle users
Non functional requirements
ID
Type (efficiency, reliability, .. see iso 9126)
Description
Refers to
NFR1
Usability
Application should be used with no training by all users
All FR
NFR2
Performance
All functions should complete in < 1 sec
All FR
NFR3
Portability
The application runs on Android, iOS and on main Browsers (Chrome > 70, FIrefox > 51, Edge > 16)