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
In any city or place, people usually learn with experience or by word of mouth to find both the closest and cheapest gas station, according to their needs.
We could build an application that collects those informations from people, so that they can be provided to anyone and be updated constantly and efficiently.
Stakeholders
Stakeholder name
Description
Customer
Uses the application to find the best gas station that fit his needs
Maps provider
Provides the system informations about driving directions
Sponsor
Buys advertising
Developer
Develops and mantain the software
Context Diagram and interfaces
Context Diagram
left to right directionCustomer-- (EzGas)
(EzGas) --MapsProvider
(EzGas) --Sponsor
Interfaces
Actor
Logical Interface
Physical Interface
Customer
GUI
Smartphone
Maps provider
Web API
Internet network
Sponsor
E-mail service
Internet network
Developer
IDE
Screen and keyboard
Stories and personas
Tom uses his car daily to commute, when he runs out of gas he goes to the cheapest gas station which is not too far from his home or work place. It happens from time to time, that he finds such gas station closed or with unusually high prices. When this happens, he wonders if he could have known the situation without physically going to the gas station wasting time and/or money.
This is even more annoying when Tom makes longer journeys, especially when using highways, since prices are higher there he would like to know when he may benefit to drive out of the highway to get gas, without getting lost or uselessly drive for more kilometres.
Tom then downloads EzGas, so just after he notices he's short on gas, takes out his smartphone and run the application. In the application he finds out the gas station that fullfils his needs (price, distance, services offered). Once he selects his preferred gas station, he gets all the driving directions to actually getting there.
It can happen from time to time, that the information listed on EzGas is wrong or partially wrong. If this doesn't happen to frequently Tom will understand the situation may consider to update the informations himself.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
List gas stations
FR1.1
Visualize gas stations sorted by price
FR1.2
Visualize gas stations sorted by distance
FR1.3
Filter by choosing the maximum gas price and filter the list accordingly
FR1.4
Filter by choosing the maximum distance and filter the list accordingly
FR1.5
Filter out closed gas stations
FR1.6
Filter by the type of gas they need
FR1.7
Filter by the kind of vehicles the gas station supply
FR1.8
Filter by the payment system the gas station supports
FR2
Create a profile
FR2.1
Save favorite gas stations
FR2.2
Save favorite gas type
FR2.3
Save informations about used vehicles
FR3
Update informations about gas stations
FR3.1
Add a gas station to the map
FR3.2
Update prices of a gas station
FR3.3
Update services offered by a gas station (paymement system, kind of vehicles supplied, gas type, opening time)
FR4
Contact EzGas personnel
FR5
Show Driving directions
Non Functional Requirements
ID
Type (efficiency, reliability, .. see iso 9126)
Description
Refers to
NFR1
Usability
Application should be used by an average person with possibly low IT skills
All FR
NFR2
Performance
All functions should complete in < 0.5 sec with a 4G connection
All FR
NFR3
Portability
The application runs on iOS 13 and android 10
All FR
NFR4
Reliability
EzGas correct informations > 95% total informations
Use case diagram and use cases
Use case diagram
left to right directionactorCustomerascactorSponsorassc-- (FR1Listgasstations)
c-- (FR2Createaprofile)
c-- (FR5ShowDrivingdirections)
c-- (FR3Updateinformationsaboutgasstations)
s-- (FR4ContactEzGaspersonnel)
co->c
Use Cases
Use case 1, UC1 - FR1(and all it's subrequirements) List gas stations and FR5 Show Driving directions
Actors Involved
Customer
Precondition
account A exist
Post condition
A path P is generated
Nominal Scenario
Customer C chooses some filters (FR1.x), and selects a gas station from the generated list
Variants
The generated list is empty
Use case 2, UC2 - FR2 Create a profile
Actors Involved
Customer
Precondition
Smartphone has internet connection, Account A doesn't already exist
Post condition
A exist
Nominal Scenario
Customer C insert his personal informations and creates A
Variants
Use case 3, UC3 - FR3 Update informations about gas stations
Actors Involved
Customer
Precondition
Account A exist, Informations I are outdated
Post condition
I are updated
Nominal Scenario
Customer C insert the new informations and they are updated in EzGas
Variants
The informations could be recognized as wrong, there won't be any update
Use case 4, UC4 - FR4 Contact EzGas Personnell
Actors Involved
Sponsor
Precondition
Post condition
A request R to buy advertising is generated
Nominal Scenario
A sponsor S, contact EzGas via E-Mail to buy advertising
Variants
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corresponds to UC1
Description
The vehicle is short on gas
Precondition
There is an internet connection, Customer has an EzGas account
Postcondition
List of gas stations generated
Step#
Step description
1
Customer runs EzGas on his phone
2
Customer logs in
3
Customer chooses his filters and preferences
4
Customer selects a gas station to get gas
5
Customer follows driving indications to reach the gas station
Scenario 2
Scenario ID: SC2
Corresponds to UC3
Description
EzGas has outdated informations
Precondition
Customer discovered an updated information
Postcondition
The information is updated
Step#
Step description
1
Customer notices an outdated information
2
Customer logs in
3
Customer updates informations on EzGas
Scenario 3
Scenario ID: SC2
Corresponds to UC4
Description
Sponsor wants to buy advertising
Precondition
Postcondition
A request R is generated
Step#
Step description
1
Sponsor send an E-Mail with his commercial offer
2
EzGas personnell decide to accept or reject the commercial offer
3
EzGas Personnell notify the sponsor about his decision