Skip to content

Latest commit

 

History

History
289 lines (225 loc) · 12.4 KB

REQ_s271432.md.md

File metadata and controls

289 lines (225 loc) · 12.4 KB

Official Requirements Document

Author: Matteo Bachiddu

Date: 25/03/2020

Version: 1

Change history

Contents

Stakeholders

Stakeholder name Description
Google Maps allow the visualization of the global map and every information of streets and locations
Driver Uses the application to see where are the near gas stations from his actual location and their cost
Owner of the gas stations uses the application same as the driver and has additional functionality to confirm the information of his station and to manage extra information like opening and closing hours

Context Diagram and interfaces

Context Diagram

@startuml
left to right direction
skinparam packageStyle rectangle
actor Driver as D
actor OwnerGasStation as O
actor GoogleMaps as GM
rectangle system{
(EZGas System) as EZ
D--EZ
O--EZ
GM--EZ
}
@enduml

Interfaces

Actor Logical Interface Physical Interface
Driver GUI Smartphone,touch display
Owner of the gas station GUI smartphone,touch display
Google Maps web services internet connection

Stories and personas

Matteo is a computer science engineer and works in a company located in the suburbs of Turin, so to go to work every day, it takes at least 20 minutes with his car in the morning and 35 minutes in the evening to return home at the end of the business day. Usually every Three days he refuels his car in the way home from the company when he finds a gas station along the way. Very often the company send Matteo to other branches all over Italy in order to help other teams with important projects and supervise the work done. He usually do business trips with the company car and travels on an average of 600 km every business trip for two days so he refuels the car at least twice. The company gives Matteo an expensive account so he doesn't care too much of the fuel's cost during these trips but wants to refuel the car fast and efficiently in order to not to spend much time.

Matteo would like to have a simple way to know which are the nearest gas stations and their cost during his usually way to home.

Matteo wants to be able to know quickly where is the near gas station from his location during his business trips.

Matteo would be happy to help others in his situation adding informations of new gas stations discovered during a business trip to improve de functionality of the app.

Functional and non functional requirements

Functional Requirements

ID Description
FR1 show the map of the current location of the driver over Google Maps
FR2 show the nearby gas stations from the current location and their information and cost
FR3 let the driver add new information about new gas stations
FR4 let the driver add comments about a selected gas station that are visible to every other users
FR5 create an account for a owner of a Gas station
FR6 log in to an account for a owner of a gas station
FR7 let the owner of a gas station confirm and verify the information about his station or add some extra info
FR8 log out from account of the owner of a gas station
FR9 connect to Google Maps app to show the way to a selected gas station

Non Functional Requirements

ID Type (efficiency, reliability, .. see iso 9126) Description Refers to
NFR1 Usability Application should be used with no training by any driver or owner of a gas station All FR
NFR2 Performance All functions should complete in < 0.5 sec All FR
NFR3 Portability The application runs on android and iOS All FR
NFR4 Localisation measures of the distance are in metric system (m,Km) FR2,FR9
NFR5 Domain Currency is Euro FR2

Use case diagram and use cases

Use case diagram

@startuml
left to right direction
actor Driver as d
actor OwnerGasStation as o
actor GoogleMaps as GM
d -- (FR1 show the map of his current location)
GM -- (FR1 show the map of his current location)
d -- (FR2 show all the nearby gas station with their relative information)
GM -- (FR2 show all the nearby gas station with their relative information)
d -- (FR3 Record new information about a new gas station)
d -- (FR4 add and record comments about a selected gas station)
o -- (FR5 sign in)
o -- (FR6 log in)
o -- (FR7 verify and confirm the information about his gas Station)
o -- (FR8 log out)
d -- (FR9 switch to Google Maps to show the way to a selected gas station)
GM --(FR9 switch to Google Maps to show the way to a selected gas station)
@enduml

Use Cases

Use case 1, UC1 - FR1 show the map of the current location of the driver

Actors Involved Driver, Google Maps
Precondition GPS functionality on the smartphone is active, Driver d exists, internet connection is available
Post condition map of current location is shown
Nominal Scenario Driver d opens EZGas app on smartphone and sees the map of his current location
Variants Google Maps server has problems, issue warning, unable to load the map

Use case 2, UC2 - FR2 show all the nearby gas station with their relative information

Actors Involved Driver, Google Maps
Precondition GPS functionality on the smartphone is active, Driver d exists, internet connection is available
Post condition nearby gas stations and their information are displayed
Nominal Scenario after he has opened the app and has seen the map, automatically Driver d can see over the map all nearby gas stations with their information if selected
Variants

Use case 3, UC3 - FR3 Record new information about a new gas station

Actors Involved Driver
Precondition GPS functionality on the smartphone is active, Driver d exists, internet connection is available
Post condition added a new gas station inside database of EZGas app
Nominal Scenario Driver d during a business trip uses a gas station, then checks if it's present in the app. If not, Driver d adds it with some information, else updates info about the cost if necessary
Variants

Use case 4, UC4 - FR4 add and record comments about a selected gas station

Actors Involved Driver
Precondition Driver d exists, internet connection is available
Post condition new comments about a selected gas station are added
Nominal Scenario Driver d wants to add a comment about the level of service and appreciation of the selected gas station
Variants

Use case 5, FR5 Sign in

Actors Involved Owner of gas station
Precondition Owner of gas station O exists, internet connection is available
Post condition account of the Owner of gas station O added to EZGas database
Nominal Scenario Owner of a gas station O decide to create an account to manage the information that other drivers have added to his station
Variants account already exists, issue warning, retry the sign in

Use case 6, FR6 Log in

Actors Involved Owner of gas station
Precondition Owner of gas station O exists, internet connection is available, account of the owner O exists
Post condition
Nominal Scenario Owner of a gas station O decides to Log in to his account to verify the information that other drivers have added to his station and confirms them
Variants

Use case 7, FR7 verify and confirm the information about his gas Station

Actors Involved Owner of gas station
Precondition Owner of gas station O exists, internet connection is available, account of the owner O exists
Post condition added the Verified state to the gas station
Nominal Scenario Owner of a gas station O checks if the current information of his station are correct then using the GUI interface verifies it and confirms
Variants the information are not correct, Owner of the gas station O doesn't confirm it and the Verified state doesn't appear in the gas station selected

Use case 8, FR8 Log out

Actors Involved Owner of gas station
Precondition Owner of gas station O exists, internet connection is available
Post condition
Nominal Scenario Owner of a gas station O decide to Log out after he has done verifications or he has added extra information with his account
Variants

Use case 9, FR9 switch to Google Maps to show the way to a selected gas station

Actors Involved Driver, Google Maps
Precondition GPS functionality on the smartphone is active, Driver d exists, internet connection is available
Post condition
Nominal Scenario Driver d select in which gas station wants to go, then the EZGas App redirects him to Google Maps app with the way already set up
Variants Google Maps server has problems, issue warning, unable to load the map with the correct way

Relevant scenarios

Scenario 1

Scenario ID: SC1 Corresponds to UC1,UC2,UC9
Description Driver checks the nearby gas stations from his current location and selects one as destination
Precondition GPS functionality is active and internet connection is available
Postcondition the way to the selected gas station is set in Google Maps app
Step# Step description
1 Driver opens EZGas app and sees wich are the nearby gas stations
2 Driver selects a gas stations and sees the information and cost of fuels
3 chooses it as the destination
4 EZGas switch to Googl Maps with the way to the destination already set

Scenario 2

Scenario ID: SC2 Corresponds to UC6,UC7,UC8
Description Owner of gas station decides to check if there are new information for his station added by other drivers
Precondition account of the owner of the gas station O exists and internet connection available
Postcondition account of O updated
Step# Step description
1 Owner of gas station O log in to his account
2 check if there are new informations for his gas station
3 the new informations are correct, verifies them all and confirm
4 account of O is updated and the Verified state is added to the gas station information visible to other drivers
5 Owner O does the Log out procedure

Glossary

@startuml
class EZGas
class Driver {
+ name
+ surname
}

class Owner {
+ name
+ surname
}

class PersonalAccount {
+ email
+ password
}

class GasStation {
+ id
+ address
+ verified_state
}

class GoogleMaps
class Comment {
+timestamp
}
class TypeOfFuel {
+ price
}

EZGas -- "*" Driver
EZGas -- "*" Owner
Driver --"*" Comment
Owner -- PersonalAccount
GasStation --"*" Comment
GasStation --"*" TypeOfFuel
PersonalAccount -- "*" GasStation
EZGas -- "*" GasStation
EZGas -- GoogleMaps
@enduml