Difference between revisions of "Projets-2016-2017-Station de pompage connectée - SRS"

From air
Jump to navigation Jump to search
(Created page with "=Introduction= ==Purpose of the requirements document== This Software Requirements Specification (SRS) was created as part of an engineer school fourth year project on a conne...")
 
Line 5: Line 5:
 
The intended audience of this description are the client or the analysts of needs and tasks, the testers, documentation writers for the user and project managers.
 
The intended audience of this description are the client or the analysts of needs and tasks, the testers, documentation writers for the user and project managers.
 
 
Project name : “Station de pompage connecté”
+
;Project name : “Station de pompage connecté”
Supervisor : Nicolas Palix
+
;Supervisor : Nicolas Palix
School : Polytech Grenoble
+
;School : Polytech Grenoble
Product designer/manufacturer Team :
+
;Product designer/manufacturer Team : Maxime Chevalier, Qianqian Fu, Héloïse Fernandes
 
;Customers: Saint-Matins d’Hères city hall
Maxime Chevalier
 
Qianqian Fu
 
Héloïse Fernandes
 
Customers: Saint-Matins d’Hères city hall
 
   
 
==Scope of the product==
 
==Scope of the product==
Line 18: Line 15:
   
 
==Glossary==
 
==Glossary==
LoRA : Low Power Wide Area Network (LPWAN) that use LoRAWan protocole
+
'''LoRA''' : Low Power Wide Area Network (LPWAN) that use LoRAWan protocole
Water Monitoring (app / web):
 
A website and / or mobile application that controls the actuators and accesses of water information in distance
 
Independence Module:
 
In the software system, each module only relates to specific sub-functions according to software requirements, and the interfaces with other modules in this software system are also simple.
 
   
 
'''Water Monitoring (app / web)''':A website and / or mobile application that controls the actuators and accesses of water information in distance
==References=
 
  +
 
'''Independence Module''':In the software system, each module only relates to specific sub-functions according to software requirements, and the interfaces with other modules in this software system are also simple.
  +
 
=References=
 
//TODO - main page of the project link
 
//TODO - main page of the project link
   
Line 37: Line 34:
 
==Product functions==
 
==Product functions==
 
The application must provides some functionalities :
 
The application must provides some functionalities :
check the water level of the tank
+
*check the water level of the tank
check the state of the tank(switch on / switch off)
+
*check the state of the tank(switch on / switch off)
(check level of the groundwater)
+
*(check level of the groundwater)
(switch on/off the pump station remotely)
+
*(switch on/off the pump station remotely)
  +
 
\*functions between parentheses are optionals functions
   
*functions between parentheses are optionals functions
 
 
==User characteristics==
 
==User characteristics==
 
The final user of the product are subscribers from the Saint Martin d’Hères city hall. There are two majors characteristics that we must take account :
 
The final user of the product are subscribers from the Saint Martin d’Hères city hall. There are two majors characteristics that we must take account :
They aren’t specialized in computer science. There are common users
+
*They aren’t specialized in computer science. There are common users
They have a medium/high acknowledge on the pump station and know how it work
+
*They have a medium/high acknowledge on the pump station and know how it work
   
 
==General constraints==
 
==General constraints==
Pump constraint :
+
;Pump constraint
tank 1000L
+
:tank 1000L
groundwater under 5 meters
+
:groundwater under 5 meters
   
Hardware constraints:
+
;Hardware constraints
12 or 14V battery
+
:12 or 14V battery
Nucléo(c++)
+
:Nucléo(c++)
Maximum number of measure
+
:Maximum number of measure
waterproof sensors
+
:waterproof sensors
   
Communication protocole constraints
+
;Communication protocole constraints
LoRA
+
:LoRA
low flow
+
:low flow
watch out the low
+
:watch out the low
   
Software constraint :
+
;Software constraint
mobile application or web application
+
:mobile application or web application
   
 
==Assumptions and dependencies==
 
==Assumptions and dependencies==
Line 72: Line 70:
   
 
=Specific requirements, covering functional, non-functional and interface requirements=
 
=Specific requirements, covering functional, non-functional and interface requirements=
  +
 
==Requirement 1 : Measurement System==
 
==Requirement 1 : Measurement System==
Description: Sensors which measure :
+
;Description: Sensors which measure :
the water level in the tank
+
*the water level in the tank
the water level in the groundwater
+
*the water level in the groundwater
the state of the pump
+
*the state of the pump
Inputs : Volts values / Digital values
+
;Inputs : Volts values / Digital values
Source: Sensor
+
;Source: Sensor
Outputs: digital meter value
+
;Outputs: digital meter value
Destination: Database
+
;Destination: Database
Action:
+
;Action
Each measure corresponds to a sensor
+
:Each measure corresponds to a sensor
Volts values are send by the sensors and convert into digital meter value (if necessary)
+
:Volts values are send by the sensors and convert into digital meter value (if necessary)
Non functional requirements:
+
;Non functional requirements
Small consumption of energy
+
:Small consumption of energy
Reliable values
+
:Reliable values
Pre-condition: Sensors are installed
+
;Pre-condition: Sensors are installed
Post-condition:
+
;Post-condition:
Side-effects:
+
;Side-effects:
   
 
==Requirement 2 : Control System==
 
==Requirement 2 : Control System==
Description: The pump must be remotely controlled
+
;Description: The pump must be remotely controlled
Inputs : a new state
+
;Inputs : a new state
Source : User
+
;Source : User
Outputs : User is notified
+
;Outputs : User is notified
Destination: pump
+
;Destination: pump
Action:
+
;Action
Install a remotely control on the pump which turn off or on the pump and inform the user of the new state.
+
:Install a remotely control on the pump which turn off or on the pump and inform the user of the new state.
Non functional requirements:
+
;Non functional requirements:
Reliability : the control of the pump must be accurate and secure
+
:Reliability : the control of the pump must be accurate and secure
Pre-condition: Check if:
+
;Pre-condition: Check if:
The tank isn’t already full
+
*The tank isn’t already full
The user has the rights
+
*The user has the rights
The groundwater isn’t empty
+
*The groundwater isn’t empty
Post-condition: The system is in a new state and the tank don’t overflow
+
;Post-condition: The system is in a new state and the tank don’t overflow
Side-effects:
+
;Side-effects:
   
 
==Requirement 3 : HTTP Server==
 
==Requirement 3 : HTTP Server==
Description: The HTTP server link the database, the communication system and the user application
+
;Description: The HTTP server link the database, the communication system and the user application
Inputs: Http request
+
;Inputs: Http request
Source: User or communication system
+
;Source: User or communication system
Outputs: Http answer
+
;Outputs: Http answer
Destination: User, pump
+
;Destination: User, pump
Action:
+
;Action
Listen the user and send him data or send order to the communication system
+
:Listen the user and send him data or send order to the communication system
Check if the user has the rights
+
:Check if the user has the rights
Non functional requirements:
+
;Non functional requirements
Reliable : the server must be available at any moment
+
:Reliable : the server must be available at any moment
Security : the user data must be safe
+
:Security : the user data must be safe
Pre-condition:
+
;Pre-condition
Post-condition:
+
;Post-condition
Side-effects:
+
;Side-effects
   
 
==Requirement 4 : Database==
 
==Requirement 4 : Database==
Description: A database will be use to store the different data
+
;Description: A database will be use to store the different data
Inputs: measure, state pump, user data(login and password)
+
;Inputs: measure, state pump, user data(login and password)
Source: User or measurement system
+
;Source: User or measurement system
Outputs: if the source is the user and it’s a registration then send him a notification
+
;Outputs: if the source is the user and it’s a registration then send him a notification
Destination: Database
+
;Destination: Database
Action:
+
;Action
Register measures and state of the pump
+
:Register measures and state of the pump
Register or check data user
+
:Register or check data user
Non functional requirements:
+
;Non functional requirements:
Reliable : the base must be available at any moment
+
:Reliable : the base must be available at any moment
Security : the user data must be safe
+
:Security : the user data must be safe
Pre-condition:
+
;Pre-condition
Post-condition:
+
;Post-condition:Data are saved into the database
 
;Side-effects
Data are saved into the database
 
Side-effects:
 
   
 
==Requirement 5 : Communication system==
 
==Requirement 5 : Communication system==
Description: The data from the pump must be send to the user and order from the user must be send to the pump. The communication system link the pump and the server system.
+
;Description: The data from the pump must be send to the user and order from the user must be send to the pump. The communication system link the pump and the server system.
Inputs: Data
+
;Inputs: Data
Source: User or pump
+
;Source: User or pump
Outputs: Data
+
;Outputs: Data
Destination: User or pump
+
;Destination: User or pump
Action:
+
;Action
Send measure of the pump for the user
+
:Send measure of the pump for the user
Send order(switch on/off) from the user to the pump
+
:Send order(switch on/off) from the user to the pump
Non functional requirements:
+
;Non functional requirements:
Reliable : the system must be available at any moment and data mustn't be corrupted.
+
:Reliable : the system must be available at any moment and data mustn't be corrupted.
Pre-condition:
+
;Pre-condition
The systeme use LoRA
+
:The systeme use LoRA
The system is allowed to communicate(868 MHz and LoRA 1% law)
+
:The system is allowed to communicate(868 MHz and LoRA 1% law)
Post-condition:
+
;Post-condition
Users are supposed to know the state of the system and the pump is supposed to know users’ order
+
:Users are supposed to know the state of the system and the pump is supposed to know users’ order
Side-effects:
+
;Side-effects
   
 
==Requirement 6 : User Application==
 
==Requirement 6 : User Application==
Description: The user can access to the different functionality through an application
+
;Description: The user can access to the different functionality through an application
Inputs: Data
+
;Inputs: Data
Source: Database
+
;Source: Database
Outputs: order or none
+
;Outputs: order or none
Destination: pump
+
;Destination: pump
Action:
+
;Action
display data
+
:display data
send order to the pump
+
:send order to the pump
Non functional requirements:
+
;Non functional requirements:
Ease of use : the application must be ease to use and intuitive
+
:Ease of use : the application must be ease to use and intuitive
Reliable : data must be displayed correctly
+
:Reliable : data must be displayed correctly
Security : user must be identified.
+
:Security : user must be identified.
Pre-condition:
+
;Pre-condition
user must be identified
+
:user must be identified
Post-condition:
+
;Post-condition
Side-effects:
+
;Side-effects
   
 
=Product evolution=
 
=Product evolution=

Revision as of 12:25, 4 February 2017

Introduction

Purpose of the requirements document

This Software Requirements Specification (SRS) was created as part of an engineer school fourth year project on a connected solar pump station. This document go through the description of the project and the different requirements needed to realise it.

The intended audience of this description are the client or the analysts of needs and tasks, the testers, documentation writers for the user and project managers.

Project name
“Station de pompage connecté”
Supervisor
Nicolas Palix
School
Polytech Grenoble
Product designer/manufacturer Team
Maxime Chevalier, Qianqian Fu, Héloïse Fernandes
Customers
Saint-Matins d’Hères city hall

Scope of the product

The aim of this project is to carry out an application to check the water level of a solar pump station, built by students from Grenoble IUT, for the Saint Martin d’Hères city hall.

Glossary

LoRA : Low Power Wide Area Network (LPWAN) that use LoRAWan protocole

Water Monitoring (app / web):A website and / or mobile application that controls the actuators and accesses of water information in distance

Independence Module:In the software system, each module only relates to specific sub-functions according to software requirements, and the interfaces with other modules in this software system are also simple.

References

//TODO - main page of the project link

Overview of the remainder of the document

The document is divided in three main part. The aim of the first part is to describe the product fonctions, caractéristics and constraints. Next in a second part, the document lists the different requirement of the product. Eventually, in the last part some evolution of the product are addressed.

General description

Product perspective

In aim to water the public garden, gardeners/subscribers use a pump station. The pump is composed of a tank connected to a groundwater. The groundwater allow to fill the tank when it be pumped. When the garden is watered the water level in the tank decrease. If the level fall to zero gardens can’t be watered. Thus gardeners must often check the water level of the tank. The project must allow gardeners to check the pump level remotely at any moment.

Product functions

The application must provides some functionalities :

  • check the water level of the tank
  • check the state of the tank(switch on / switch off)
  • (check level of the groundwater)
  • (switch on/off the pump station remotely)

\*functions between parentheses are optionals functions

User characteristics

The final user of the product are subscribers from the Saint Martin d’Hères city hall. There are two majors characteristics that we must take account :

  • They aren’t specialized in computer science. There are common users
  • They have a medium/high acknowledge on the pump station and know how it work

General constraints

Pump constraint
tank 1000L
groundwater under 5 meters
Hardware constraints
12 or 14V battery
Nucléo(c++)
Maximum number of measure
waterproof sensors
Communication protocole constraints
LoRA
low flow
watch out the low
Software constraint
mobile application or web application

Assumptions and dependencies

In a first time, we can ignore the archiving of data. We must include configuration file for calibration, and suppose that our sensor can communicate through analog or digital. We suppose that the LoRA transmitter is in range of the LoRA receiver (we will not use a gateway). In this report we supposed that sensors are already installed and compatible with the system below.

Specific requirements, covering functional, non-functional and interface requirements

Requirement 1 : Measurement System

Description
Sensors which measure :
  • the water level in the tank
  • the water level in the groundwater
  • the state of the pump
Inputs
Volts values / Digital values
Source
Sensor
Outputs
digital meter value
Destination
Database
Action
Each measure corresponds to a sensor
Volts values are send by the sensors and convert into digital meter value (if necessary)
Non functional requirements
Small consumption of energy
Reliable values
Pre-condition
Sensors are installed
Post-condition
Side-effects

Requirement 2 : Control System

Description
The pump must be remotely controlled
Inputs
a new state
Source
User
Outputs
User is notified
Destination
pump
Action
Install a remotely control on the pump which turn off or on the pump and inform the user of the new state.
Non functional requirements
Reliability : the control of the pump must be accurate and secure
Pre-condition
Check if:
  • The tank isn’t already full
  • The user has the rights
  • The groundwater isn’t empty
Post-condition
The system is in a new state and the tank don’t overflow
Side-effects

Requirement 3 : HTTP Server

Description
The HTTP server link the database, the communication system and the user application
Inputs
Http request
Source
User or communication system
Outputs
Http answer
Destination
User, pump
Action
Listen the user and send him data or send order to the communication system
Check if the user has the rights
Non functional requirements
Reliable : the server must be available at any moment
Security : the user data must be safe
Pre-condition
Post-condition
Side-effects

Requirement 4 : Database

Description
A database will be use to store the different data
Inputs
measure, state pump, user data(login and password)
Source
User or measurement system
Outputs
if the source is the user and it’s a registration then send him a notification
Destination
Database
Action
Register measures and state of the pump
Register or check data user
Non functional requirements
Reliable : the base must be available at any moment
Security : the user data must be safe
Pre-condition
Post-condition
Data are saved into the database
Side-effects

Requirement 5 : Communication system

Description
The data from the pump must be send to the user and order from the user must be send to the pump. The communication system link the pump and the server system.
Inputs
Data
Source
User or pump
Outputs
Data
Destination
User or pump
Action
Send measure of the pump for the user
Send order(switch on/off) from the user to the pump
Non functional requirements
Reliable : the system must be available at any moment and data mustn't be corrupted.
Pre-condition
The systeme use LoRA
The system is allowed to communicate(868 MHz and LoRA 1% law)
Post-condition
Users are supposed to know the state of the system and the pump is supposed to know users’ order
Side-effects

Requirement 6 : User Application

Description
The user can access to the different functionality through an application
Inputs
Data
Source
Database
Outputs
order or none
Destination
pump
Action
display data
send order to the pump
Non functional requirements
Ease of use : the application must be ease to use and intuitive
Reliable : data must be displayed correctly
Security : user must be identified.
Pre-condition
user must be identified
Post-condition
Side-effects

Product evolution

Evolution hardware

Change due to evolution of hardware

NarrowBand IoT (NB-IoT) for Long Term Evolution (LTE)

     This is because by upgrading existing networks with an easy software upgrade, it provides optimized device KPIs, battery life, coverage and cost, along with the expected benefits from the use of licensed spectrum, such as no coexistence issue with other cellular networks.
     Based on an LTE narrowband evolution, this is designed to operate in a 200kHz carrier refarmed from GSM but has the further advantage of being able to operate in shared spectrum with an existing LTE network, thus requiring no additional deployment of antennas, radio or other hardware. The solutions for LTE-M and NB-IoT will equally operate in spectrum shared with existing LTE network - LTE-M and NB-IoT would be supplementary solutions addressing different use cases, with higher capacity on LTE-M and slightly lower cost and better coverage on NB-IoT.
      Reusing LTE for narrowband IoT systems (eMTC and NB-IoT) takes advantage of existing technology as well as the installed system base. It is possible to reuse the same hardware and share spectrum by making LTE-M and NB-IoT compatible with LTE, without running into coexistence.
        The LTE evolution for LTE-M and NB-IoT will enable cellular IoT for low cost, low power and wide area deployments that provide: 

• Long battery life through power saving mode and eDRX • Low device cost by using simpler devices • Low network deployment cost by enabling shared carrier capacity • Full coverage via new coding, repetition and boosting power spectral density • Optimized core network for IoT.

New user

The project is for subscribers from the Saint Martin d’Hères city hall. However this project can be useful for other type of pump. Thus the project must be flexible in aim to be use on every type of pump.

Appendices

//TODO-annexe

Index

//TODO-image table