Skip to content

Latest commit

 

History

History
195 lines (152 loc) · 11.5 KB

REQ_s271114.md

File metadata and controls

195 lines (152 loc) · 11.5 KB

Lab2 - Requirement document

Contents

Abstract

The idea is to develop a crowdsourcing web application, called EZGas, whose goal is to provide to users a service. This service consists in:

  • search for gas stations that provide a particular kind of fuel in a ceirtain area
  • visualizing them on a map, with their prices so that the user can decide, basing on prices and distances, the one to choose to get the gas.

There are basically two groups of people who will use the application. There are the users, that can be divided into Registered and Unregistered; the difference is that for the first ones, the search history and their informations (living and/or working area, kinds of fuels preferred ) will be recorded in order to provide a better service. Then ther are the gas stations' owners that will interact with the application by inserting their informations (location, kinds of fuels, prices) and updating them in real time. The visualized gas stations can belong to the selected city, but also to the other citys in the same province; this in thought mostly for offering a better service to the user that lives in medium-small citys where there may be a few number of gas stations.

Stakeholders

Stakeholder name Description
Users They directly use the application, by searching for the gas stations that have the needed kind of fuel and finding them on a map
Gas stations' owners He or she interacts with the application in order to insert and update his data (fuel prices)
Developer The one who develop the application, he or she has to make the application the easiest as possible so that many users will use it, and many gas organizations will be interested
DB Administrator Manages the DB that records data of gas stations in order to provide the service the application is developed for

Context Diagram and interfaces

Context Diagram

Context Diagram

Interfaces

Actor Logical Interface Physical Interface
User GUI Touchscreen, keyboard
Gas station's owner GUI Touchscreen, keyboard
Maps system API Network

Stories and personas

John is a car owner that lives in a big city. He is a salesman and he uses his car each day to work, travelling all around the city and in the metropolitan area. Each day he goes in differnt zones of the city, and he often needs to get gas in order to keep working, and he often doesn't know where to go to get the gas, since he doesn't know well all the places he goes to. For this reason, the EZGaz application really makes his days, since now he no longer need to turn around for minutes before finding an open gas station, and in addition he can choose the one with a lower cost, or, the one placed in the road he's going to pass in a moment, in order not to waste time.

His friend, Mark, lives instead in a small country. There, is not always easy to find a gas station since there are only few of them, and not all have GPL, the fuel he needs. For this reason, he made an account to the EzGas application, and eavry time he needs to get GPL, he only need to login and click the button of his las search to find all the available gas stations that are open around his area.

Even Ken is finding useful this application. He just opened a new gas station in his city, but he is not in one of the main roads of the city, and at the beginning, even if he tried to attract some customer by offering his service at small prices, no one knew that he was there. But now that the EZGas application is so widespread among the citizens and not only them, everyone knows where he is and now he can be competitive in his job sector.

Functional and non functional requirements

Functional Requirements

ID Description
FR1 Manage gas stations research by using area (took from phone's GPS or not) and fuel type (optional)
FR2 Manage gas stations visualization in the nearest area along with fuel prices
FR3 Manage visualization of the best route along with the distance of the selected gas station
FR4 Manage Registered users' accounts
FR5 Manage kind of fuels and prices changes
FR6 Record gas stations' position and opening hours
FR7 Manage gas stations' owners and their accounts

Non Functional Requirements

ID Type (efficiency, reliability, .. see iso 9126) Description Refers to
NFR1 Usability The time needed to learn how to use the application must be lower than 5 minutes for both gas stations' owners and users
NFR2 Performance All functions should complete in < 1 sec All FR
NFR3 Portability The application runs on the browsers supporting HTML5 and JSES6
NFR4 Localisation Decimal numbers use . (dot) as decimal separator
NFR5 Localisation Currency is Euro All FR
NFR6 Reliability The downtime allowed is one day per year All FR

Use case diagram and use cases

Use case diagram

Use Case Diagram

Use Cases

Use case 1, UC1 - FR1, FR2 gas stations research and visualization

Actors Involved Maps system, User
Precondition the area of serearch is valid (the city exists, and, if prompted, the address exists)
Post condition a list of possible gas stations with positions and prices
Nominal Scenario the user selects an area and optionally a kind of fuel, the applications retrieve a list of actually opened gas stations that have that kind of fuel with prices and that are in the province of the selected city, then the application filters the result to find the ones that are in an area of 5 km around the address selected (if selected) throug the Maps system' APIs, then thorugh other APIs it visualize the selected gas stations with their prices
Variants the area can be selected by using GPS, by inserting a city (with or without an address), by selecting from the list of frequent searches (for Registered users only)

Use case 2, UC2 - FR3 visualization of best route

Actors Involved Maps system, User
Pre condition the user has selected on the map one gas station
Post condition visualization of best route
Nominal Scenario if an address has been inserted, the best route is retrieved thorough the Maps system's APIs and visualized with distance and percurrence time
Variants if the user didn't inserted the address, a default one is used, retrieved from the Maps system (city center adress)

Use case 3, UC3 - FR5 edit fuels' prices

Actors Involved Gas station's owner
Pre condition the owner must have an account
Post condition F.price = new_price
Nominal Scenario the owner selects a fuel F, update its F.price from old_price to new_price
Variants the owner may add a new fuel and then insert the price

Relevant scenarios

Scenario 1

Scenario ID: SC1 Corresponds to UC1
Description gas stations research by complete address [ and fuel type ]
Precondition the user either inserts an address or uses the GPS or select a frequent search (Registered users only)
Postcondition the gas stations are visualized
Step# Step description
1 the user insert an address, or it is retrieved from the GPS
2 [ the user insert a type of fuel]
3 the lit of gas stations is filtered by opening hour
4 the list of gas stations is filtered by province
5 [the list of gas stations is filtered by kind of fuel]
6 through the Maps system, the nearest ones are retrived (the ones that are up to 5 km distant)
7 through the Maps system, those are visualized in a Map

Scenario 2

Scenario ID: SC2 Corresponds to UC1
Description gas stations research by city [ and fuel type ]
Precondition the user either inserts the city only or selects a frequent searched city (Registered users only)
Postcondition the gas stations are visualized
Step# Step description
1 the user insert a city
2 [ the user insert a type of fuel]
3 the list of gas stations is filtered by province
4 the list of gas stations is filtered by city's province
5 [the list of gas stations is filtered by kind of fuel]
6 a default address is added, the one which corresponds to the city center, retrieved from the Maps system
7 through the Maps system, the nearest ones are retrived (the ones that are up to 5 km distant)
8 through the Maps system, those are visualized in a Map

Scenario 3

Scenario ID: SC3 Corresponds to UC2
Description the best route to reach one gas station is visualized
Precondition the user selects one gas station among the ones visualized
Postcondition the gas station' best route is visualized
Step# Step description
1 the user selects the gas station
2 the best route is retrieved through the Maps system
3 it is visualizide along with percurrence time and distance from the address (inserted or the default one)
4 the user can go back to the map and restart from Step 1

Scenario 4

Scenario ID: SC4 Corresponds to UC3
Description the price of a fuel is updated
Precondition the gas station's owner must have an account and the fuel F must be inserted previously
Postcondition the fuel price is updated
Step# Step description
1 the owner specify the new price
2 F.price is set to new_price

Scenario 5

Scenario ID: SC5 Corresponds to UC3
Description a fuel is added
Precondition the gas station's owner must have an account and the fuel F must not be inserted previously
Postcondition the fuel is present with a price
Step# Step description
1 the owner specify the fuel
2 the owner specify the price
3 F added and F.price is set to new_price

Glossary

Class Diagram