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 an application whose aim is to offer a view of the possible gas stations and their prices. The service is crowdsourcing based and allows users to collect prices of fuel in different gas stations and to locate them in an area, along with the prices and the type of fuel they practice. The users should be able to add the location of a gas station and their prices, and search them on the map asking for the cheapest, the closest.
Stakeholders
Stakeholder name
Description
Developer
Develop the application
User
Uses the application to both add gas station, and related info, and search for them
Context Diagram and interfaces
Context Diagram
left to right directionactorUserGoogleMapsasmGasStationascGoogleasgFacebookasfrectanglesystem{
User--- (EZGas)
c--- (EZGas)
g<|---m
(EZGas) ---g
(EZGas) ---f
}
Interfaces
Actor
Logical Interface
Physical Interface
User
GUI
Screen
Stories and personas
Gioele Rubinis is a truck driver and works for his family business "Rubini Pregiati", which is a factory specialized in the production of red candies. Gabriele has a wide knowledge of the roads and of gas station since he has worked as driver for 20 years and has driven several types of truck. He would like to make his skills available to the other drivers, for this reason he is a user of EZGas. Every time he stops to fuel during a business trip he check if the gas station is already available on the app. If it is, and it is necessary, he updates the prices, otherwise, thanks to the geolocalization he add a new gas station specifing the types of fuel offerd by the station and the relative prices.
Daniele Toninello travels a lot beacause of his job, unfortunately, he is not so much skilled with travel . Moreover, last moth, he bought a new eletric car and isn't practical to locate the charging stations, so he would like an advice about them. For this reason wherever he is, he uses EZGas to find the closest station to charge his car and go on with his trip.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Add a gas station with his features (coordinates, type of fuel and prices)
FR2
Update a gas station
FR2.1
Add new fuel
FR2.2
Modify fuel
FR2.3
Delete fuel
FR3
Delete a gas station
FR4
Find a gas station in relation to the filters (distance, price, type of fuel, suggested)
FR4.1
Set search filter- range
FR4.2
Set search filter- price
FR4.3
Set search filter- type of fuel
FR5
Log in
FR6
Log out
Non Functional Requirements
ID
Type (efficiency, reliability, .. see iso 9126)
Description
Refers to
NFR1
Usability
Application should be used with no training by any driver
All FR
NFR2
Performance
All functions should complete in < 1 sec
All FR
NFR3
Performance
The internal server (functions and data) should be updatable in less than 5 minutes
All FR
NFR4
Portability
The application runs on Android (7 and more recent) and iOS (10 and more recent)
All FR
NFR5
Localisation
Decimal numbers use . (dot) as decimal separator
Use case diagram and use cases
Use case diagram
left to right directionactorUserasaa-- (FR1Addanewgasstation)
(FR1Addanewgasstation)
a-- (FR2Updateagasstation)
(FR2Updateagasstation) ..> (FR2.1Addnewfuel-price-) : include
(FR2Updateagasstation) ..> (FR2.2Modifyfuel-price-) : include
(FR2Updateagasstation) ..> (FR2.3Deletefuel-price-) : include
a-- (FR3Deleteagasstation)
(FR3Deleteagasstation) ..> (FR2.3Deletefuel-price-) : extend
a-- (FR4Findagasstationinrelationtothefilter)
(FR4Findagasstationinrelationtothefilter)..> (FR4.1Setsearchfilter-range) : include
(FR4Findagasstationinrelationtothefilter)..> (FR4.2Setsearchfilter-price) : include
(FR4Findagasstationinrelationtothefilter)..> (FR4.3Setsearchfilter-typeoffuel) : include
a--(FR5Login)
a--(FR6Logout)
Use Cases
Use case 1, UC1 - FR1 Add a new gas station
Actors Involved
Administrator
Precondition
Logged && Gas station doesn't exist
Post condition
Gas station exist
Nominal Scenario
Create a new gas station, insert coordinates
Variants
Use case 2.1, UC2.1 - FR2.1 Add new fuel
Actors Involved
Administrator
Precondition
Logged && Gas station exist
Post condition
Gas station has new fuel
Nominal Scenario
User selects gas station, user adds fuel, insert price
Variants
Use case 2.2, UC2.2 - FR2.2 Modify fuel
Actors Involved
Administrator
Precondition
Logged && Gas station exist
Post condition
Gas station has new fuel price
Nominal Scenario
User selects gas station, user selects fuel, user inserts price
Variants
Use case 2.3, UC2.3 - FR2.3 Delete fuel
Actors Involved
Administrator
Precondition
Logged && Gas station exist
Post condition
The fuel of the correspondent gas station doesn't exist
Nominal Scenario
User selects gas station, user selects fuel, user deletes fuel