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
Some customers volunteer to report prices of fuels in different gas stations where they transit when they refuel.
Customers can be registered and unregistered
For gas stations for which no data is collected during the last 24 hours the reporting activity may be carried out by empoyees of the Gas station itself by sending them a notification.
To report the data to the administrator customers and employees can both use a telegram channel/ mail which can be found on the site of the crowdsourcing company.
One administrator of the crowdsourcing EZGas service is collecting and joining all these data in an excel sheet. Possibly as the number of gas stations to manage increases the number of administrators may increase as well in order to efficiently manage the service over time.
In the same excel sheet together with fuel prices are collected the loactions of the Gas stations.
Stakeholders
Stakeholder name
Description
Administrator
Uses the mail/telegram channel in order to collect data and update the excel sheet
Users
They are interested in finding a good tradeoff between distance and pricing of Gas stations surronding them
Buyer
Is interested in investing in the application in order to improve its incomes
Developer
Develops the application
Google Maps
Provides maps to the application
Context Diagram and interfaces
Context Diagram
left to right directionactorAdministratorasaactorUserasuactorGoogleMapsasga-- (EZGas)
g-- (EZGas)
(EZGas) --u
Interfaces
Actor
Logical Interface
Physical Interface
Administrator
GUI
Screen, keyboard, Touch screen
Developer
GUI
Screen, keyboard
Users
GUI
Screen, keyboard, Touch screen
Google Maps
GUI
Screen, keyboard, Touch screen
Stories and personas
Mike volunteers to keep track of the prices of fuel of gas stations in an area. Every time Mike has to refuel his vehicle he can send data of the gas station in which he decided to refuel to the application. Notice that Mike can give informations to the application about both diesel fuel price and gas price or just about one of them. In order to send data to the application Mike has to perform the logi to the appliction. Once Mike's data arrive to the application, values for that gas station are updated. Everytime time Mike has to refuel his vehicle, he can check on the application which is the cheapest and nearest station around him.
Mary works in the gas station, it is in her interest to have the values of her gas station updated each day. So if none of the customers of that gas station provide fuel price informations for more then 24 houres a notification is sent to Mery to infor her that in order to have updated price values in the application she has to provice them.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Record information
FR1.1
Record date and time in which a customer or employee sent a report
FR1.2
Record the gas station name and location for which a customer or employee sent a report
FR1.3
Record the gas station fuel price for which a customer or employee sent a report
FR2
Send a notification to the employee if no report has been received for its gas station
FR3
Manage received reports and update gas stations information
FR4
Display on a map system, location and fuel price for each gas station
FR5
Authorize and authenticate
FR5.1
Perform login operation to enter the application
FR5.2
Perform logout operation to exit the application
FR5.3
Define account
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 application runs on browser
All FR
NFR4
Portability
The application (functions and data) should be portable from a PC to another PC in less than 5 minutes
All FR
NFR5
Localization
Decimal numbers use . (dot) as decimal separator
NFR6
Realiability
Fuel price should be in range (0,10) euros per liter
Use case diagram and use cases
Use case diagram
left to right directionactorAdministratorasaactorUserasuactorDeveloperasdrectanglesystem{
u--> (FR1Recorddate, time, gasstationname, locationandfuelpricesenttotheapplication)
a--> (FR2Sendanotificationtotheemployeeifnoreporthasbeenreceived)
a--> (FR3Managereceivedreportsandupdategasstationsinformation)
d--> (FR4Displayonamapsystem, locationandfuelpriceforeachgasstation)
u--> (FR5Authorizeandauthenticate)
(FR5Authorizeandauthenticate) .> (FR5.1Performloginoperation): <include>
(FR5Authorizeandauthenticate) .> (FR5.2Performlogoutoperation): <include>
(FR5Authorizeandauthenticate) .>(FR5.3Defineaccount): <include>}
Use Cases
Use case 1, UC1 - FR1 Record date, time, gas station name, location and fuel price sent to the application
Actors Involved
Administrator
Precondition
User knows all data to be sent to the application
Post condition
Data about that gas station is updated
Nominal Scenario
A customer goes to a gas station
Variants
The customr inserts wrong data
Use case 2, UC2 - FR2 Send a notification to the employee if no report has been received for its gas station
Actors Involved
Administrator
Precondition
No report has been received for its gas station
Post condition
Values for a given gas station are updated
Nominal Scenario
If none of the customers of that gas station provide fuel price informations for more then 24 houres a notification is sent to Mery
Variants
Use case 3, UC3 - FR3 Manage received reports and update gas stations information
Actors Involved
Administrator
Precondition
Data has been correctely received
Post condition
Other users can see updated values
Nominal Scenario
A customer goes to the gas station and reports to the application data relative to fuel price of that gas station, the application updates values for that station
Variants
There can be a delay in updating the data
Use case 4, UC4 - FR4 Display on a map system, location and fuel price for each gas station
Actors Involved
Administrator
Precondition
Application needs to have data corresponding toall gas atations
Post condition
Upadated data are displayed
Nominal Scenario
An user provides data about a gas station to the application, the application has to update data relative to that gas station
Variants
The user can cheat on fuel price of that gas station
Use case 5, FR5.1 Perform login operation to enter the application
Actors Involved
Administrator
Precondition
User already has an account
Post condition
The user enters in the application
Nominal Scenario
A user wants to provide gas information to the application or wants to see the map of gas stations
Variants
Username or password are wrong
Forgotten password
Use case 6, FR5.2 Perform logout operation to exit the application
Actors Involved
Administrator
Precondition
User is already logged in
Post condition
The user exits from the application
Nominal Scenario
A user doesn't need to use anymore the application, so decides to exit
Variants
No variants
Use case 7, FR5.3 Perform logout operation to exit the application
Actors Involved
Administrator
Precondition
User is not signed up
Post condition
The user gets its credential to enter the application
Nominal Scenario
A user wants to enter in the application but doesn't have an account
Variants
No variants
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corresponds to UC1
Description
User wants to insert informations about a gas station
Precondition
User knows all data to be sent to the application
Postcondition
Data about that gas station is updated
Step#
Step description
1
User performs login
2
User selects a gas station
3
User inserts data about that gas station
4
User commits the inserted data to the application
5
User perform logout
Scenario 2
Scenario ID: SC2
Corresponds to UC5
Description
Perform login operation to enter the application
Precondition
User already has an account
Postcondition
The user enters in the application
Step#
Step description
1
User opens the application
2
User provides a username and password to the application
3
Provided credentials are correct
4
User is logged in
Scenario 3
Scenario ID: SC3
Corresponds to UC5
Description
Perform login operation to enter the application
Precondition
User already has an account
Postcondition
The user enters in the application
Step#
Step description
1
User opens the application
2
User provides a username and password to the application