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
locate gas stations in an area, along with the prices they practice.
Stakeholders
Stakeholder name
Description
Administrator
Manages fuel prices of different gas stations
Developers
Manages problems of service
User
Uses the application for locating gas stations and checking prices, but can also add/update fuel prices
Google Maps
External service used to offer service of maps
Context Diagram and interfaces
Context Diagram
left to right directionactorAdministratorasaactorDeveloperasdeactorUserasuactorGoogle_Mapsasgrectanglesystem {
a-- (EZGas)
de-- (EZGas)
de-|>ua-|>uu-- (EZGas)
g-- (EZGas)
}
Interfaces
Actor
Logical Interface
Physical Interface
Administrator
GUI
Screen, keyboard
Developer
GUI
Screen, keyboard
User
GUI
Screen, keyboard
Google Maps
Data Exchange
Network
Stories and personas
Most of people typically travel a lot by car, so they usual need to refuel their vehicle. An administrator of gas stations would like to show its fuel prices online. The idea is to create a service (website and app) that allows users to show a map with all gas stations and their information. Of course, these stations have to agree with the service in order to be showed. These prices can be added/updated by the administrator or user for each gas stations by means a personal section in the website.
Each administrator can register in this service by means a specific section separated by user registration page because it needs more controls to verify the ownership of gas stations. The administrator can add or remove gas stations from the service, but also manage prices.
Users just need to create an account on the website/app to use the service. Afterwise, they get a personal area where they can add/update fuel prices and show the map with gas stations information. The map is directly implemented in the website/app.
Notice that for semplicity only the last update on price for each type of fuel is shown for each gas station.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Creation user account
FR2
Creation administrator account
FR3
Adding/removing gas stations
FR4
Handle geolocalization and maps
FR5
Show prices in each gas station
FR6
Adding/Updating prices available in each gas station
Non Functional Requirements
ID
Type (efficiency, reliability, .. see iso 9126)
Description
Refers to
NFR1
Usability
Application should be used with no training by any user
All FR
NFR2
Performance
All functions should complete in < 0.5 sec
All FR
NFR3
Portability
The app runs on Android (5 or newer) and IOS (7 or newer). The website should run in the most common browsers
All FR
NFR4
Reliability
App/website doesn't need the support on geolocalization (address can be insert manually to find a gas station)
All FR
NFR5
Localisation
Petrol price is in euro
Use case diagram and use cases
Use case diagram
left to right directionactorAdministratorasaactorUserasuactorGoogle_Mapsasgrectanglesystem {
u---> (FR1Creationuseraccount)
a-> (FR2Creationadministratoraccount)
a-> (FR3Adding/removinggasstations)
u-> (FR5Showpricesineachgasstation)
u-> (FR6Adding/Updatingpricesavailableineachgasstation)
u-> (FR4Handlegeolocalizationandmaps)
g<- (FR4Handlegeolocalizationandmaps)
(FR4Handlegeolocalizationandmaps) .> (FR5Showpricesineachgasstation): include
(FR4Handlegeolocalizationandmaps) .> (FR3Adding/removinggasstations): include
a-|>u
}
Use Cases
Use case 1, UC1 - FR1 Creation account User
Actors Involved
User
Precondition
EZGas Server is working and no network problems
Post condition
New user account with the capability to add/update prices
Nominal Scenario
User wants to use the service, but it hasn't an account
Variants
Use case 2, UC2 - FR2 Creation administrator account
Actors Involved
Administrator
Precondition
EZGas Server is working and no network problems
Administrator account doesn't exist
Post condition
Administrator account created
Nominal Scenario
Administrator wants to join in the service with its gas stations
Variants
Use case 3, UC3 - FR3 Adding/removing gas stations
Actors Involved
Administrator
Precondition
EZGas Server is working and no network problems
Administrator account exists
Post condition
added or removed gas station
Nominal Scenario
Administrator wants to add or remove its gas stations
Variants
Use case 4, UC4 - FR4 Handle geolocalization and maps
Actors Involved
User, Administrator and Google Mpas
Precondition
EZGas Server is working and no network problems
Google Maps Server is working and no network problems
Post condition
Map showed
Nominal Scenario
User or Administrator goes into map section to show all gas stations that offer the service EZGas
Variants
Use case 5, FR5 Show prices in each gas station
Actors Involved
User and Administrator
Precondition
EZGas Server is working and no network problems
Post condition
Nominal Scenario
User/Administrator clicks on a gas station in order to show its information
Variants
Use case 6, FR6 Adding/Updating prices available in each gas station
Actors Involved
User and Administrator
Precondition
EZGas Server is working and no network problems
Post condition
Added or or updated prices in a gas station
Nominal Scenario
User/Administrator clicks on a gas station and wants to make some changes
Variants
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corresponds to UC1
Description
User wants to use the service
Precondition
EZGas Server is working and no network problems
Post condition
New user account with the capability to add/update prices
Step#
Step description
1
User goes to website or app
2
Insert nickname and password
3
User account created
Scenario 2
Scenario ID: SC2
Corresponds to all use cases
Description
User or administrator wants to use website/app
Precondition
EZGas Server is not working
Postcondition
No usage of service
Step#
Step description
1
User tries to perform an action on the website or app
2
Website or app returns an error of connection
Scenario 3
Scenario ID: SC3
Corresponds to UC3, UC5
Description
User or administrator wants to use maps
Precondition
Google maps Server is not working
Post condition
Allow operations without maps
Step#
Step description
1
User/administrator goes to website or app
2
Tries to use geolocalization but isn't working
3
Apps will allow to insert address or to select gas station from a list without a map
Scenario 3
Scenario ID: SC3
Corresponds to UC2
Description
Administrator wants to use the service
Precondition
EZGas Server is working and no network problems
Administrator account doesn't exist
Post condition
Administrator account created
Step#
Step description
1
User goes to website or app
2
Insert nickname and password
3
Insert certification of ownership of some gas stations
4
Administrator account created
Scenario 4
Scenario ID: SC4
Corresponds to UC3
Description
Administrator wants to add or remove gas stations
Precondition
EZGas Server is working and no network problems
Administrator account exists
Post condition
added or removed gas station
Step#
Step description
1
Administrator goes to personal section
2
Select a gas station to remove or click add button to add a new one
3
Administrator click on save button
4
Server updates and returns success
Scenario 5
Scenario ID: SC5
Corresponds to UC4
Description
User/Administrator wants to the map
Precondition
EZGas Server is working and no network problems
Google Maps Server is working and no network problems
Post condition
Step#
Step description
1
User/Administrator goes to website or app map section
2
App interacts with Google maps API in order to show the map
Scenario 6
Scenario ID: SC6
Corresponds to UC5
Description
User/Administrator wants to show prices of a gas station
|
| Precondition | EZGas Server is working and no network problems |
| Post condition | |
| Step# | Step description |
| 1 | User/Administrator goes to website or app map section |
| 2 | App interacts with Google maps API in order to show the map |
| 3 | User/Administrator clicks on a gas station |
| 4 | App returns info required |
Scenario 4
Scenario ID: SC4
Corresponds to UC3
Description
User/Administrator wants to add or remove gas stations
Precondition
EZGas Server is working and no network problems
Post condition
Added or or updated prices in a gas station
Step#
Step description
1
User/Administrator goes to website or app map section
2
App interacts with Google maps API in order to show the map