Skip to content

Latest commit

 

History

History
242 lines (184 loc) · 13.6 KB

REQ_s275902.md

File metadata and controls

242 lines (184 loc) · 13.6 KB

Requirements Document

Author: s275902

Date: 31/03/2020

Contents

Abstract

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.