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
A group of bikers have the issue of knowing the fuel prices on the different location they are or they want to visit, they decide to create a crowdsourcing application where user can share the price of fuels of gas station.
The users can view the fuel prices of the different registered station on a map.
A user can choose to sign up on the platform, an authenticated user can ask for inserting a new gas station providing latitude and longitute, the prices and an image that documents the existance of the station, he can update the fuel prices of a registered station selecting it from the map and he can also send messages to the administrators, for example alerting that a station does not exists anymore.
The bikers select one or more person to become administrators of the platform. Administrators can remove the visibility of a station on the map, they can insert a new station when the user send the request for a new one and they can invalidate the login of a user.
They choose to create the application as a web platform.
Stakeholders
Stakeholder
Description
User
A user can view the fuel prices of the station near to him or select a different location
Authenticated User
Authenticated user are able to ask for an insertion of a new gas station and update prices of fuels
Administrator
Administrators can remove the visibility of a station on the map, insert a new station and invalidate the login of a user
Map system
A system able to provide the map with the registerd station
Context Diagram and interfaces
Context
left to right directionactorAdministratorasaa-- (EzGas)
left to right directionactorUserasuu-- (EzGas)
left to right directionactorAuthenticateUserasauau-- (EzGas)
(MapSystem) asmsms-- (EzGas)
a--|>uau--|>u
Interfaces
Actor
Logical Interface
Physical Interface
Administrator
GUI
Screen, Keyboard
User
GUI
Screen, Keyboard
Authenticated User
GUI
Screen, Keyboard
Map System
REST API
Optical-fiber cable
Stories and Persona
Mark loves to drive his car, since the fuel price is high and he wants to do a lot of travels, he decide to choose with attention where he supply his car.
He find this website, EzGaz, where he can view the fuel prices of the station near to him on a map, with this app he's able to select the station with the best prices.
After a few days the EzGaz application let him save a lot of money, thus he dedice to sign up on the platform. As an authenticated user, Mark, he is able to ask for inserting a station not found by other user and update the prices of the fuels on the different station he supply his car.
After an year, the EzGaz administrators notice the high activity of Mark on the platform and they decide to contact him asking to become an administrator, he accepts immediatly. Now that Mark is an administrator, every Monday evening he dedicates 10 minutes to the platform, reading the messages sent by users, invalidating the user login or the station when requested, inserting the station verifing the documentation attached to the request. As an administrator he analyse also the activities of the users and he invalidate the user that is continually updating prices without meaning.
Functional and non functional requirements
Functional requirements
ID
Description
FR1
When a user open the web site the map with the registerd station is rendered
FR2
When a user select a station, the fuel prices details are visible to the user
FR3
The user can sign up or sign in on the platform
FR4
An authenticated user selecting a station can update the price of fuel
FR5
An authenticated user can ask to insert a new station, a form must be filled and sent with longitude, latitude, prices and an image of the station
FR6
An authenticated user can send a message to the administrator filling a form.
FR7
An administrator can view all the requests done by user for inserting a new station, he can accept or deny the request
FR8
An administrator can invalidate a user account
FR9
An administrator can invalidate a gas station
FR10
An administrator is able to see all the activities performed by users, filtering the list with the username of the user
FR11
An administrator can view all the messages sent by users
FR12
All the operation performed on the platform are logged on a table
Non Functional Requirements
ID
Type (efficiency, reliability, ..)
Description
Refers To
NFR1
Usability
Platform should be used with no training
All FR
NFR2
Performance
All functions should complete in < 1 sec
All FR, except for FR1
NFR3
Performance
Map rendering shold complete in < 5 sec
FR1
NFR4
Portability
The platform must work on Chrome version > 80.0.x and Edge version > 44.x.x
All FR
NFR5
Localisation
The prices are expressed in euro
All FR
NFR6
Localisation
The valid image format are jpg or png
FR5
Use case diagram and use cases
Case Diagram
left to right directionactorUserasaa-- (FR1Viewmapwithstation)
a-- (FR2Selectastationanddisplayprices)
a-- (FR3SignuporsignonEzGas)
left to right directionactorAuthenticatedUserasaa-- (FR4Updatepriceofstation)
a-- (FR5Sendrequesttoinsertanewstation)
a-- (FR6Sendmessagetoadministrator)
left to right directionactorAdministratorasaa-- (FR7Viewallinsertrequest, acceptordenyrequest)
a-- (FR8Invalidateauseraccount)
a-- (FR9Invalidateagasstation)
a-- (FR10Viewalloperationperformedontheplatform)
a-- (FR11Viewmessageofuser)
Use cases
Use Case 1 - UC1 - view the price of station
Actor Involved
User
Functional Req.
FR1, FR2
Precondition
The station T exists, the prices P exist
Postcondition
Nominal Scenario
User open the website and select the station T, P are displayed
Variants
Use Case 2 - UC2 - The user want to update the prices of a station
Actor Involved
Authenticated User
Functional Req.
FR1-FR4
Precondition
The station T exists, the prices P exist, the user is logged in
Postcondition
P are updated with the values inserted by user
Nominal Scenario
User select the station T, P are displayed, user changes the value and click on update.
Variants
Use Case 3 - UC3 - The user ask to insert a new station
Actor Involved
Authenticated User
Functional Req.
FR5
Precondition
The user is logged in
Postcondition
The request with its detail is present on the platform
Nominal Scenario
User fill the form with the details for inserting the new station
Variants
longitude or latitude are non valid, the image format is not valid
Use Case 4 - UC4 - The administrator insert a new station
Actor Involved
Administrator
Functional Req.
FR7
Precondition
The administrator is logged in, the request of insertion R of station T exists
Postcondition
The station T is visible on the map
Nominal Scenario
The administrator view all the active insertion requests, verify one request and accept it
Variants
the administrator deny the request, T is not inserted
Use Case 5 - UC5 - The administrator invalidate an account
Actor Involved
Administrator
Functional Req.
FR8,FR11
Precondition
The administrator is logged in, the account A of user U exists
Postcondition
The account A of user U is not valid
Nominal Scenario
The administrator view the message of the user U asking to delete his account A, he invalidate the account A
Variants
Use Case 6 - UC6 - The administrator invalidate a station
Actor Involved
Administrator
Functional Req.
FR9,FR11
Precondition
The administrator is logged in, the message M exists, the station T exists
Postcondition
T is not visible on the map
Nominal Scenario
The administrator view the message M asking to remove station T, he invalidate the station T
Variants
Relevant scenarios
Scenario 1
ID
Refers To
SC1
UC4
Description
Administrator insert a new station
Precondition
The request R of insertion of station S exists
Postcondition
Station S is inserted and visible on the map
Step#
Step description
1
Administrator view all the requests for inserting station
2
Select the request R and check if the station is valid