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 that aims to offer a crowdsourcing service, allowing users to take advantage of different information regarding different gas stations. Through this application users after registering have the possibility both to consult and to modify the information regarding gas stations updated by other users of the application. Using this application each user is able to know the prices and the different types of fuels that are offered by the different gas stations but also the services they can enjoy during the stop. By offering many freedoms to users, the system is controlled by an administrator, in case of incorrect behavior, users can send reports so that the administrator can provide a solution.
Stakeholders
Stakeholder name
Description
Gas station owner
Can or not use directly the application. He is interested in letting drivers know his gas station in order to get more customers
Driver
End user of the application that it is supposed to have a car
Map system
The application uses the API of maps system in order to retrieve information about the localization of users and gas stations
System administrator
Uses the application to monitor the various changes applied and user behavior
Context Diagram and interfaces
Context Diagram
Interfaces
Actor
Logical Interface
Physical Interface
Driver
GUI
Screen, keyboard
Maps system
API
Internet connection
System administrator
GUI
Screen, keyboard
Stories and personas
Josh is a family man, he has a precarious job. Every morning he wakes up early to go to work. He would like to use the bicycle to save the price of fuel, but unfortunately the company he works for is very far from his home. The gas station in which he is used to going has recently raised prices, despite being aware of this he does not know others stations where to go. He would like to have a simple way to find which gas station offers the fuel at a lower price.
Mark is a carefree boy. He works in the family business. He loves driving sports cars and recently bought one. His girlfriend lives several hundred kilometers away from him. Mark takes the car every weekend to get there and spend time with her. He would be interested in having an easy way to find out the nearest petrol station, whenever the petrol is running so as to stop only when necessary.
Luke is a manager of a company, he often travels with his company car. Since he does not pay for fuel directly, he is not so interested in the price of this. The trips he makes can be very long and he is therefore interested in finding welcoming rest areas that can offer him good coffee and good service.
Anna is a young girl who cares about the environment and is very worried about the increase of the pollution. She works in a company outside the city where she lives so she cannot use public transport to go to work and not even other green solutions. She would like to buy an electric car but her salary won't allow her. For this reason, she decided to buy a natural gas city car that consumes and pollutes little. Unfortunately, there are very few refueling stations that offer this fuel and reluctantly have to use petrol when facing longer journeys. She would like to find a way to find natural gas stations close to where she is and organize trips, being sure that she can always find this type of supply.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Add gas station
FR5
Update gas station
FR2
Delete gas station
FR3
Add fuel price
FR4
Update fuel price
FR6
Delete fuel price
FR7
Search gas stations by fuel type
FR8
Search gas stations by geographical location
FR9
Search gas stations by payment method
FR10
Search gas stations by price
FR11
Sign in
FR12
Sign up
FR13
Inserting of a maximum threshold for entering or changing the fuel price
FR14
It must not be possible to insert the same gas station twice
FR15
Find list of gas stations according to certain destination
FR16
Managment of the users
FR17
Report bad user
FR18
the password must contain at least seven characters, at least one lowercase and one uppercase letter and at least one number
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 < 4 sec
All FR
NFR3
Portability
The application should be supported by all browsers
All FR
NFR4
Portability
The application (functions and data) should have a mobile version
All FR
NFR5
Localisation
Decimal numbers use . (dot) as decimal separator
FR3,FR4,FR6,FR10,FR13
Use case diagram and use cases
Use case diagram
Use Cases
Use case 1, UC1 - FR1,FR13 Add gas station
Actors Involved
Driver
Precondition
Driver D logged in
Post condition
Gas station has been successfully added
Nominal Scenario
D inserts the positition, the name and the gas company which the gas station belongs, different types of fuel and related prices, payment method, opening hour and information about which services are offered
Variants
The station in the given inserted position already exists, issue warning
Use case 2, UC2 - FR2 Update gas station
Actors Involved
Driver
Precondition
Gas station G exists, Driver D logged in
Post condition
G has been successfully updated
Nominal Scenario
D selects the gas station and one of the possible update to do : update name of G, update fuel prices, update opening hours, update payment method or update services offered
Variants
Use case 3, UC3 - FR3 Delete gas station
Actors Involved
Driver
Precondition
Gas station G exists, Driver D logged in
Post condition
G has been successfully removed
Nominal Scenario
D selects the station G and delete it
Variants
Use case 4, UC4 - FR4,FR13 Add fuel price
Actors Involved
Driver
Precondition
Gas station G exists, Driver D logged in
Post condition
the new price has been successfully inserted
Nominal Scenario
D selects the fuel type and insert the new price, it could select more than one type
Variants
Price of one of previous selected type of fuel already exists or price doesn't follow FR13 , issue warning.
Use case 5, UC5 - FR5 Update fuel price
Actors Involved
Driver
Precondition
Gas station G exists, Driver D logged in and fuel price P of a certain type exists
Post condition
the new price has been successfully updated
Nominal Scenario
D selects P to update and change it
Variants
Use case 6, UC6 - FR6 Delete fuel price
Actors Involved
Driver
Precondition
Gas station G exists, Driver D logged in and fuel price P exists
Post condition
the price has been successfully removed
Nominal Scenario
D selects and deletes the fuel price
Variants
Use case 7, UC7 - FR7,FR8,FR9,FR10,FR15 Search gas station
Actors Involved
Driver
Precondition
Driver D logged in
Post condition
Stations corresponding to search parameter are shown
Nominal Scenario
D selects by which parameters search the gas station : Fuel type, Price, Payment method, geographical location, destination and inserts their corresponding value
Variants
if no gas station is found, D will be sent to the search page
Use case 8, UC8 - FR11 Sign in
Actors Involved
Driver
Precondition
Post condition
Driver D has been successfully logged in
Nominal Scenario
D inserts username, password
Variants
Username or password are not corret, issue warning
Use case 9, UC9 - FR12, FR18 Sign up
Actors Involved
Driver
Precondition
Post condition
Driver D creates a new account
Nominal Scenario
D inserts the email, selects one username and password
Variants
Email inserted is just used by another account or password doesn't follow FR18 or the username is not available, creation of the new account is interrupted and issue warning
Use case 10, UC10 - FR17 Report bad user
Actors Involved
Driver, System Administrator
Precondition
Driver D logged
Post condition
System Administrator S receives the report sent by D
Nominal Scenario
D sees in the application that someone did something wrong, it selects the account of the user and sends a report
Variants
Use case 11, UC11 - FR16 Managment of the users
Actors Involved
System Administrator
Precondition
System Administrator S logged in
Post condition
S ban a certain user
Nominal Scenario
S looks to the reports, if there is a user with many reports checks to what changes the reports refer to and if necessary S ban it
Variants
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corrseponds to UC7
Description
Driver searches for gas station
Precondition
Search yields results
Postcondition
Stations corresponding to search parameter are shown
Step#
Step description
1
Driver selects the search parameter
2
Driver inserts the value for that parameter
3
Driver looks the shown result
Scenario 2
Scenario ID: SC2
Corresponds to UC7
Description
Driver searches for gas station
Precondition
Search yields no results
Postcondition
Issue warning and driver is sent back to the previous page
Step#
Step description
1
Driver selects the search parameter
2
Driver inserts the value for that parameter
3
No results found, issue warning
Glossary
Here are described the key parts and concepts in the case considered.
As described in the abstract of the document, each user of the application, called Driver, to use the features offered by EzGas must first register by deciding on a username and password. Within EzGas application, the user can perform three main operations:
Gas station management -> which includes the addition of a new station, modification of the station and cancellation of the gas station if it no longer exists.
The modification of the station parameters includes updating some information such as: payment method, opening hours, the types of fuel available and the relative prices and the services offered, defined through a briefly description and type.
Search for one or more gas stations -> this consists of different types of searches that can be carried out: Search by geographical area, search by type of payment, search by price and type of fuel.
Report incorrect users -> a user through this feature is able to report other users who have changed information with incorrect values.
The term gas station refers not only to the area of petrol pumps but also ,if present, to the surrounding areas, such as for example dining areas or other spaces. Each gas station consists of different information such as: type of payment accepted, type and description of the service offered and type and price of the different fuels available.
Once the system manager has accessed the system, he has the possibility to access the function called User management which consists in receiving information about the various users who have received reports in the application and being able to view the incorrect changes applied. In this way it is possible to maintain a consistent state of the information offered by EzGas and punish users who do not behave correctly.