Skip to content

Latest commit

 

History

History
280 lines (222 loc) · 10.9 KB

REQ_s270206.md

File metadata and controls

280 lines (222 loc) · 10.9 KB

EZGas Requirements

Author : Alessandro Ricciuto

Matricola : s270206

Contents

Abstract

Nowadays the price of fuel per liter varies widely from gas station to an other. In fact, once the cheapest station is found, drivers no longer tend to change it, even if the price become no more convenient.

A team of software developers has come up with a way to facilitate the search for the nearest and cheapest gas station. EZGas was born from this idea, in fact it is a crowdsourcing service that allows drivers to collect prices of fuels in different gas stations and locate them in an area, along with the prices they practice.

Stakeholders

Stakeholder name Description
Driver He/She uses the application to locate nearest gas stations and to insert or update gas price information
Gas Stations Managers They are interested in being always up to date to the price of competitors in the same area but they haven't an account and can't modify informations
EZGas Developers They are responsible for any issue and have to monitor user experience to prevent problems and improve the system
Map System Affects the outcome of the EZGas application by changing the API

Context Diagram and interfaces

Context Diagram

Class Diagram

Interfaces

Actor Logical Interface Physical Interface
Driver GUI Screen, keyboard
Gas Station Manager GUI Screen, keyboard
Map System Internet Connection API

Stories and personas

Marco is a businessman living in Rome. His job forces him to drive around the city all day with his car and he has often to refuel. Thanks to EZGas, he is always able to find a closer and convenient gas station, without having to remember the price of the various stations every time. While refueling, he checks if the price on the application is updated and if it isn't, he updates it.

Julia is on vacation in Rome. During these days she decides to take a rental car to visit the city. Since she doesn't know the city and is afraid of wasting too much time and money looking for gas stations, she searches on EZGas for those that were most comfortable to reach, comparing the prices they practice. Fortunately, she immediately finds a very convenient station, thanks to Marco who have just updated the price.

George is gas station manager in London and he was really worried for his job becouse his activity was not very known in his area. He found EZGas and by seeing the nearby stations, finally realized that he should lower the price to be more competitive. Now in George's gas station there are many customers queuing to refuel and he is always up to date to the price of competitors in his area.

Functional and non functional requirements

Functional Requirements

ID Description
FR1 Manage driver user account
      FR1.1 Create User
      FR1.2 Edit User
      FR1.3 Delete User
FR2 Log in
FR3 Log out
FR4 Handle view a map considering the user's location
FR5 Handle highlighting of the gas stations in the map with the price they pratice
FR6 Handle update of the map of gas stations prices
FR7 Handle adding of a gas station price
FR8 Handle updating of a gas station price

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 Efficiency Functions should complete in < 2 sec FR4 - FR7
NFR3 Efficiency Functions should complete in < 0.5 sec All remaining FR
NFR4 Portability The application runs on Android ( 5.0 or recent ) All FR
NFR5 Portability User's data should be loaded on login on different devices FR2

Use case diagram and use cases

Use case diagram

Class Diagram

Use Cases

Use case 1, UC1 - FR1 Manage user account

Use case 1.1, UC1.1 - FR1.1 Create User

Actors Involved Driver
Precondition Internet Connection enabled
Post condition Account added to the database
Nominal Scenario User inserts some personal info and credentials, Verify by e-mail
Variants E-mail already used for other account, issue warning

Use case 1.2, UC1.2 - FR1.2 Edit User

Actors Involved Driver
Precondition Internet Connection enabled, User Logged in
Post condition Account updated and committed to the database
Nominal Scenario User updates personal info
Variants

Use case 1.3, UC1.3 - FR1.3 Delete User

Actors Involved Driver
Precondition Internet Connection enabled, User Logged in
Post condition Account removed from the database
Nominal Scenario User deletes his account
Variants

Use case 2, UC2 - FR4 Handle view a map considering the user's location

Actors Involved Driver, Gas Station Manager
Precondition Internet Connection enabled, GPS enabled
Post condition
Nominal Scenario User navigates the map in the application from his GPS position
Variants

Use case 3, UC3 - FR5 Handle highlighting of the gas stations in the map with the price they pratice

Actors Involved Driver, Gas Station Manager
Precondition Internet Connection enabled, GPS enabled
Post condition Gas station is selected and more info are showed
Nominal Scenario Highlight point on the map by pressing on a gas station
Variants

Use case 4, UC4 - FR6 Handle update of the map of gas stations prices

Actors Involved Driver, Gas Station Manager
Precondition Internet Connection enabled, GPS enabled
Post condition
Nominal Scenario By pressing on refresh, prices on the map will be updated
Variants

Use case 5, UC5 - FR7 Handle adding of a gas station price

Actors Involved Driver
Precondition Gas Station selected, User Logged in
Post condition Gas station price committed to the database
Nominal Scenario User selects a gas station on the map and adds a price
Variants update a gas station price (FR8)

Relevant scenarios

Scenario 1

Scenario ID: SC1 Corresponds to UC5
Description Insert new gas station price
Precondition Driver login, Internet Connection enabled, GPS enabled
Postcondition Gas station price added, Gas station appears on the the map with its price label
Step# Step description
1 Driver navigates the map
2 Driver selects the gas station
3 Driver chooses a price to add
4 Driver confirm the insertion

Scenario 2

Scenario ID: SC2 Corresponds to UC5
Description Update gas station price
Precondition Driver login, Internet Connection enabled, GPS enabled
Postcondition Gas station price updated
Step# Step description
1 Driver navigates the map
2 Driver selects the gas station
3 Driver chooses a new price to insert
4 Driver confirms the update

Glossary

Class Diagram