You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Uses the application to: collect prices of fuels in different gas stations; locate gas stations in an area, along with the prices they practice.
Administrator
Checks the correctness of the data, manage the users.
Map API
Provides the API.
Context Diagram and interfaces
Context Diagram
actorUserasuactorAdministratorasaactor"Map API"asmrectanglesystem{
(EZGas) ase
}
e--ue--ae--m
Interfaces
Actor
Logical Interface
Physical Interface
User
GUI
Touch screen
Administrator
GUI
Touch screen
Map API
Web service (GoogleMaps)
Internet connection
Stories and personas
A group of friends wants to leave for holidays and they're trying to avoid spending too much money, so they search for the gas station with the lowest fuel's price.
Andrea is going to go to the cinema this evening. When he gets in the car, he discovers he is low on gas. In order to avoid to be late, he search for the closest gas station to him and without queue.
Functional and non functional requirements
Functional Requirements
ID
Description
FR1
Sign in
FR2
Locate gas station in your area
- FR2.1
Locate for type of fuel
- FR2.2
Locate for price
- FR2.3
Locate for service
FR3
Handle user
- FR3.1
Create user
- FR3.2
Delete user
- FR3.3
Confirm user's update
FR4
Handle gas station
- FR4.1
Update the price of fuels in a gas station
- FR4.2
Update the state of the gas station (open, closed, no fuel)
Visitor inserts his information. Now he is a registered user and can access to the system
Variants
No Internet connection, error
Use case 2, UC2 - FR2 Locate gas station in your area
Actors Involved
User
Precondition
User has the GPS on or inserts his position
Post condition
User obtains a list of all the gas stations in his area
Nominal Scenario
User needs a list of all the gas stations in his area. He can filter the gas stations shown by selecting the type of fuel, the services available or the cheapest one
Variants
GPS doesn't work, try to manually insert your position
Use case 3, UC3 - FR3 Handle user
Actors Involved
Administrator
Precondition
User exists
Post condition
User's action is confirmed
Nominal Scenario
A person wants to access to EZGas' information. He neeeds an account, so he signs in. After that, he can modify any information he wants, but only after administrator's confirmation this will be updated
Variants
The update is wrong, the administrator doesn't confirm it
Use case 4, UC4 - FR4 Handle gas station
Actors Involved
User
Precondition
Tha gas station registered has oldinformation
Post condition
Gas station's information are updated
Nominal Scenario
User visits a gas station and discover that something has changed, so he updates it on the system
Variants
There is no gas station to remove or change at the given address, error
Relevant scenarios
Scenario 1
Scenario ID: SC1
Corresponds to UC1 and UC3
Description
A new user registers himself to EZGas
Precondition
User install EZGas on his device and has Internet connection
Postcondition
User has an account. Now he not only has access to the stored data, but he can modify them
Step#
Step description
1
User selects the sign in button
2
User inserts his information. If GPS is on, his city is relevated, otherwise he can manually select a city
3
Administrator must confirm the creation of the account
Scenario 2
Scenario ID: SC2
Corresponds to UC2 and UC5
Description
Map shows all the gas stations around, filtered according to user's selection
Precondition
The position of the user has to be relevated
Postcondition
The map shows all the gas station in the area
Step#
Step description
1
If GPS on releve the city, otherwise te user inserts it
2
User select the requirements of the gas station
3
The map with the gas station in the area around the user is shown
4
User can resize the map near his position
Glossary
Class"EZGas"aseClass"User"asuClass"Gas station"asgsClass"Fuel"asfClass"Service"assClass"Update"asupClass"Update state"asupstClass"Update price"asuppClass"Update service"asupsee--u : uses <
gs"*"--es"*"--gs : has <
f"*"--gs : has <
u--up : does >
upst"*"--gs : changes >
upp"*"--f : changes >
upse"*"--s : changes >
Classu {
+ ID+ name+ surname+ password
}
Classgs {
+ address+ state {open, closed, no fuel}+ queue
}
Classf {
+ type+ price
}
Classs {
+ type
}
Classup {
+ date
}
Classupst {
+ state
}
Classupp {
+ price
}
Classupse {
+ service
}
up<|--upstup<|--uppup<|--upse