Skip to content

Latest commit

 

History

History
239 lines (187 loc) · 10.2 KB

REQ_s267607.md

File metadata and controls

239 lines (187 loc) · 10.2 KB

EzGas requirement document

Author s267607
Date 29/03/2020
Version 1

Table Of Contents

Abstract

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 direction
actor Administrator as a
a -- (EzGas)
left to right direction
actor User as u
u -- (EzGas)
left to right direction
actor AuthenticateUser as au
au -- (EzGas)
(MapSystem) as ms
ms -- (EzGas)
a --|> u
au --|> 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 direction
actor User as a
a -- (FR1 View map with station)
a -- (FR2 Select a station and display prices)
a -- (FR3 Sign up or sign on EzGas)
left to right direction
actor AuthenticatedUser as a
a -- (FR4 Update price of station)
a -- (FR5 Send request to insert a new station)
a -- (FR6 Send message to administrator)
left to right direction
actor Administrator as a
a -- (FR7 View all insert request, accept or deny request)
a -- (FR8 Invalidate a user account)
a -- (FR9 Invalidate a gas station)
a -- (FR10 View all operation performed on the platform)
a -- (FR11 View message of user)

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
3 Administrator accept the request
4 The station S is inserted with the valid stations
5 The station is now visible on the map

Scenario 2

ID Refers To
SC2 UC2
Description User update the prices of the station
Precondition The station S exists
Postcondition the prices of the station S are updated
Step# Step description
1 User log in on the platform
2 Select the station S and view its prices
3 User insert the new prices
4 User send the request to update
5 The station now is visible with the new prices