Skip to content

Latest commit

 

History

History
executable file
·
325 lines (249 loc) · 12.5 KB

REQ_s269967.md

File metadata and controls

executable file
·
325 lines (249 loc) · 12.5 KB

Official Requirements Document

Authors: Alireza Ashtari

Date: 28/03/2020

Version: 1

Change history

Contents

Abstract

EZGas is a crowdsourcing service that allows users tocollect prices of fuels in different gas stations and locate gas stations in an area, along with the prices they practice.

Stakeholders

Stakeholder name Description
Administrator Uses the application to manage the price rating and monitoring the market, IT/Project manager.
User Uses the EZGas application to locate the nearest gas station with suitable price.
Map System Like google maps that provides the API for using inside the application.
Developers Interacting with the system for checking its functionality and stability
Gas Station Staff Has authorization to provide the competitive prices with respect to the date and categories.

Context Diagram and interfaces

Context Diagram

Context Diagram

Interfaces

Actor Logical Interface Physical Interface
Administrator GUI Screen, keyboard
User GUI Screen, keyboard
Gas station staff GUI Screen, keyboard
Map System Web service - API Internet Connection

Stories and personas

Franco has been working in Uber since 2019 as Uber driver, he always works in his car and doing the trips to earn money because of his car, he uses a lot of fuels that's why he is concerned to find the gas station with the best price in order to save the money.

Marion is a Truck driver in transportation industries and always driving to many cities accross countries where he might be unfamilier with areas So he needs to know nearest (distances KM) and accessible gas stations on his ways or in new areas.

Functional and non functional requirements

Functional Requirements

ID Description
FR1 User's account management
FR2 User authentication for login (must log in into the application)
FR3 Getting user position to locate the nearest station
FR4 Locating the gas stations around the users and retrieve the information from servers.
FR5 User must login into the application
FR6 User can vote/score the station or write comments
FR7 Staff can submit/update the different type of fuels price
FR8 Manage the gas station
FR9 Produce the report/history of each gas station's price during the time for different categories

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.2 sec All FR
NFR3 Portability The application runs on mobile phones and Tablets All FR
NFR4 Reliability The data of each gas station's price and its location must be accurate All FR
NFR5 Reliability the App must run all the times without errors All FR
NFR6 Privacy All data and connections must be secured and encrypted All FR
NFR7 Localisation Showing the price base on locations's currency All FR

Use case diagram and use cases

Use case diagram

Use Case Diagram

Use Cases

Use case 1, UC1 - FR1 User's account management

Actors Involved Administrator
Precondition Capsule T exists, colleague C exists
Post condition T.quantity_post < T.quantity_pre
C.PersonalAccount.balance_post < C.PersonalAccount.balance_pre
Nominal Scenario Administrator selects capsule type T, selects colleague C, Deduce quantity for capsule T, deduce price of T by account of colleague C
Variants Account of colleague C has not enough money, issue warning

Use case 1, UC1 - FR2 User authentication for login (must log in into the application)

Actors Involved Administrator,User
Precondition User's details should be exist
Post condition secure connection is made for users (token)
Nominal Scenario Users who want to use services and update the information or scoring/giving the feedback,must be authenticated by system.
Variants Wrong password or Username,Undefined User in system

Use case 2, UC2 - FR3 Getting user position to locate the nearest station

Actors Involved User,Map System
Precondition GPS/Location service must be turn ON or give the permission.
Post condition User.location = [cordination]
Nominal Scenario Turn on the GPS of mobile phone and open the application
Variants Disconnection and showing the Error.

Use case 3, UC3 - FR4 Locating the gas stations around the users and retrieve the information from servers.

Actors Involved User,Map system
Precondition Gas stations are avaialabe and to be chosen
Post condition Display the gas station details with fuels price and its distance.
Nominal Scenario User can select and locate gas station and getting the details of it.
Variants no available gas station,data is not loading.

Use case 4, FR4 User must login into the application

Actors Involved User
Precondition User should be exist
Post condition User.login = 'true'
Nominal Scenario Users who want to use services and update the information or scoring/giving the feedback,must be authenticated by system.
Variants User can create account or requesting reset password

Use case 5, FR5 User can vote/score the station or write comments

Actors Involved User
Precondition Using the gas station with getting help from application
Post condition Feedback is given
Nominal Scenario After using the application and founding the best gas station users can submit theirs ideas about it or give score to it
Variants Comment without making sense, abusement,complaining

Use case 6, FR7 Staff can submit/update the different type of fuels price

Actors Involved Gas station Staff
Precondition Internet Connectivity,logging into Defined account in Application
Post condition the price will be added and shown on application.
Nominal Scenario Staff memebers can login into application'portall and inserting/updating the price.
Variants

Use case 6, FR8 Manage the gas station

Actors Involved Administrator
Precondition Internet Conectivity
Post condition Add/Remove/Update the gas station
Nominal Scenario Administrator defines a profile for gas station and give a access to its staff
Variants

Use case 6, FR9 Produce the report/history of each gas station's price during the time for different categories

Actors Involved Administrator
Precondition price of each gas station has been storeded into databases
Post condition Reports will be ready and available in document and chart format.
Nominal Scenario Administrator can create the report about the trend of fuel price during the time which can be useful for analytics and gas companies
Variants some factors could be not considered or missing the data.

Relevant scenarios

Scenario 1

Scenario ID: SC1 Corresponds to UC1
Description Unregistered user wants to Use app
Precondition open the Applicaion,reliable internet
Postcondition User is registered and redirected to the main page of application to use
Step# Step description
1 Checking the user connectivity and GPS availability
2 User opens the app and register for account and the secure token is created
3 User can use the app to locate the gas stations
4 App's system return the details of requested gas station

Scenario 2

Scenario ID: SC2 Corresponds to UC1
Description user wants to Use app
Precondition open the Applicaion,reliable internet,Loggin into the account
Postcondition User is logged in and redirected to the main page of application to use
Step# Step description
1 Checking the user connectivity and GPS availability
2 User opens the app and insert the login informations
3 System checks user's credentials and create the token
4 User can use the app to locate the gas stations
5 App's system return the details of requested gas station

Scenario 3

Scenario ID: SC3 Corresponds to UC1
Description Gas Staff wants to instert the price in the App's portal
Precondition Gas station has a valid account,logging into the portal
Postcondition Price is shown on application and saved into DB
Step# Step description
1 Gas station staffs login into the portal
2 select the fuels categories
3 insert/update the price and save it

Glossary

Glossary