Skip to content

Latest commit

 

History

History
196 lines (140 loc) · 6.15 KB

REQ_s270269.md

File metadata and controls

196 lines (140 loc) · 6.15 KB

Official Requirements Document

Authors: Alberto Salvatore Colletto

Date: 10/04/2020

Version: 1

Contents

Abstract

EZGas is a crowdsourcing application that allows users:

  • to collect price of fuels in different gas stations
  • to locate gas stations in an area close to the user.

Stakeholders

Stakeholder name Description
User Person, having a driving license, that use the application to collect information about gas stations fuel prices.
Gas owners Do not use the application directly, but share their info on EzGas to be found in the application.
Analyst Do not use the application directly, but monitoring statistics of EzGas and all gas station's member
Google Maps It has to provide API to developers.

Context Diagram and interfaces

Context Diagram

:Google Maps : --> (EZGas)

Interfaces

Actor Logical Interface Physical Interface
Google Maps API Screen, keyboard

Stories and personas

Aldo is a Post office's employee, and he works 5 days to 7 in Agrigento. Every Morning, Aldo travels 28 Km to go to work and want known which Gas Station has lower price, using EzGas.

Marco works to ENI, an Italian famous Gas Station, such as administrator. To increase his customers, he decide to allow his brand with EzGas.

Functional and non functional requirements

Functional Requirements

ID Name Description
FR1 Show gas station on the map
FR1.1 Search bar using to search a certain gas station respect to position
FR1.2 Filter the gas stations on the map according to different price ranges
FR2 Add new Gas Station
FR3 Management of existing gas station
FR3.1 Delete Gas Station
FR3.2 Update price fuel to gas Owner
FR4 Handle User Registration and Authentication
FR4.1 Perform a login operation.
FR4.2 Feedback
FR4.3 Report a issue

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 Html 5.0, iOS (7.0 and more recent) and Android (5.0 and more recent) All FR

Use case diagram and use cases

Use case diagram

left to right direction


User --> (FR4 Handle User Registration and Authentication)
(FR4 Handle User Registration and Authentication).>(FR4.1 Perform Login) :include
(FR4.1 Perform Login) <--Registered_User
(FR1 Show on the map) <--Registered_User
(FR1.2 Gas stations filtering )<--Registered_User
(FR4 Handle User Registration and Authentication).>(FR4.2 Feedback) :include
(FR4 Handle User Registration and Authentication).>(FR4.3 Report a issue) :include
Registerd_User --> (FR4.2 Feedback)
User --> (FR4.3 Report a issue)
(FR4.3 Report a issue) <--Registered_User
User --> (FR1 Show on the map)
User --> (FR1.2 Gas stations filtering)
(FR1.2 Gas stations filtering).>(FR1 Show on the map):extend
(FR2 Add Gas station) <--Gas_Owner
(FR3 Management of existing gas station) <--Gas_Owner
(FR3 Management of existing gas station).>(FR3.1 Delete a gas station) :include
(FR3 Management of existing gas station).>(FR3.2 Update prices) :include
(FR3.1 Delete a gas station) <--Gas_Owner
(FR3.2 Update prices) <--Gas_Owner
User <|--Registered_User
User <|--Gas_Owner
 

Use Cases

UC1, Search a close and economic Gas station

Actors Involved User
Precondition The provided lists of gas station exist
Post condition
Nominal Scenario User can search a gas station using map (FR1) and possibly filters all of them with FR1.1 and FR1.2

UC2, Management of Gas station.

Actors Involved Gas owner, Analyst
Precondition Gas owner had atleast one gas station on application before this task.
Post condition A new price is indicated or gas station is deleted.
Nominal Scenario When gas Owner decide to update their price, he can also update price in the EzGas application (FR3.2). If Gas station doesn't exist anymore or Gas Owner decides to delete his merbership, analyst deletes this Gas station on application (FR3.2)
Variants Gas owner doesn't tell his intention to delete membership

UC3, New Membership

Actors Involved Gas Owner, Analyst
Precondition Gas Station isn't in the map
Post condition #gas_station++
Nominal Scenario Gas owner inserts his Gas station on application, becoming a member (FR2); Analyst checks if Gas station already exists, if no, delete membership (FR3.1)

UC4, Handle User's Registration

Actors Involved User
Precondition
Post condition #User_registrated++ or #feedback++
Nominal Scenario An user wants to perform a registration to provide feedback about a gas station (FR4.2), to record his prefer gas station or report a issue (FR4.3)

Glossary

class EZGas
class Gas_station{
	 +Coordinates
 }
class Gas_Owner{
    +ID
    +Password
    +Gas_station
}
class User{
	+TemporaryID
}
 class Registered_User{
	 +Username
	 +Password
 }
 class Gas_station{
	 +Coordinates
 }
 
 class Fuel{
	 +Type
	 +Price
 }