Difference between revisions of "RICM4 2017 2018 - Nucleo/ SRS"

From air
Jump to navigation Jump to search
(Created page with "The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard. '''Read first:''' * http://www.cs.st-an...")
 
 
(35 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
 
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
   
 
'''Read first:'''
 
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 
* http://en.wikipedia.org/wiki/Software_requirements_specification
 
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]
 
   
 
{|class="wikitable alternance"
 
{|class="wikitable alternance"
Line 20: Line 15:
 
!scope="row" |
 
!scope="row" |
 
| 0.1.0
 
| 0.1.0
| TBC
+
| 2018
  +
| [[User:Zoran.Chanet | CHANET Zoran]] - [[User:Servan.Charlot | CHARLOT Servan]]
| TBC
 
 
| TBC
 
| TBC
 
| TBC
 
| TBC
Line 31: Line 26:
 
=1. Introduction=
 
=1. Introduction=
 
==1.1 Purpose of the requirements document==
 
==1.1 Purpose of the requirements document==
  +
This Software Requirements Specification document explains the ins and outs of the Nucleo project, along with the requirements and specifications.
  +
 
==1.2 Scope of the product==
 
==1.2 Scope of the product==
  +
This product is dedicated to whoever uses a Nucleo card and needs or want to remotely reprogram it.
  +
  +
As it is redistributable, this product may be used for personal or industrial use.
  +
 
==1.3 Definitions, acronyms and abbreviations==
 
==1.3 Definitions, acronyms and abbreviations==
  +
Nucleo : for this project, a STM32F446 Nucleo-64 card will be used
  +
  +
Arduino/Olimexino : for this project, an olimexino-328 will be used
  +
  +
Wifi : for this project, an esp8266ex (or an ESP1-12 WEMOS) chipset will be used
  +
  +
SRS : Software Requirements Specification
  +
 
==1.4 References==
 
==1.4 References==
  +
* [[Projets_2017-2018 | Projects list]]
  +
* [[RICM4_2017_2018_-_Nucleo | Fiche]]
  +
* [[RICM4_2017_2018_-_Nucleo/UML | UML]]
  +
* [[Deploiment_Nucleo | Documentation]]
  +
 
==1.5 Overview of the remainder of the document==
 
==1.5 Overview of the remainder of the document==
  +
The remainder of this SRS clarifies the requirements of the Nucleo project.
  +
 
=2. General description=
 
=2. General description=
 
==2.1 Product perspective==
 
==2.1 Product perspective==
  +
Redistributable software allowing to dynamically remotely reprogram a Nucleo card through Wifi with the use of an ESP card.
  +
 
==2.2 Product functions==
 
==2.2 Product functions==
  +
Remotely reprogram a Nucleo card through Wifi with the use of an ESP card
  +
 
==2.3 User characteristics==
 
==2.3 User characteristics==
  +
Both personal and industrial use.
  +
The product may be useful for an user who would like to reprogram its Nucleo card from a near remote location (because it may be inaccessible for some reasons).
  +
 
==2.4 General constraints==
 
==2.4 General constraints==
  +
- Security (not anyone should reprogram the card)
  +
  +
- Reliability (what happens if the connexion stops while sending the new software ?)
  +
 
==2.5 Assumptions and dependencies==
 
==2.5 Assumptions and dependencies==
  +
It is needed to have an ESP8266EX plugged on a ST32F446 Nucleo (for the flashing purposes), and the computer who will send the binary through wifi.
  +
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
 
=3.Specific requirements, covering functional, non-functional and interface requirements=
 
* document external interfaces,
 
* document external interfaces,
Line 48: Line 77:
 
* emergent system properties and quality characteristics.
 
* emergent system properties and quality characteristics.
   
==3.1 Requirement X.Y.Z (in Structured Natural Language)==
+
==3.1 Requirement | Reprogramming==
'''Function''':
+
'''Function''': Reprogramming the Nucleo via Wifi
   
'''Description''':
+
'''Description''': Sending a compiled program to the Nucleo
   
'''Inputs''':
+
'''Inputs''': Binary file (compiled program)
   
'''Source''':
+
'''Source''': User
   
'''Outputs''':
+
'''Outputs''': None
   
'''Destination''':
+
'''Destination''': The ESP then the Nucleo card
   
'''Action''':
+
'''Action''': Reprograms the Nucleo card
* Natural language sentences (with MUST, MAY, SHALL)
 
* Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
 
* Mathematical Notations
 
* Tabular notations for several (condition --> action) tuples
 
   
 
Natural language sentences (with MUST, MAY, SHALL)
'''Non functional requirements''':
 
  +
* The file sent MUST be a compiled program
  +
* The Nucleo card SHALL reprogram itself with the file (implying it has the proper software installed)
  +
* In case of malfunction, reset or shutdown during the transfer of the file, the Nucleo card MUST ignore the operation
   
  +
Graphical Notations : [[RICM4_2017_2018_-_Nucleo/UML | UML diagram and Sequences diagram]]
'''Pre-condition''':
 
   
 
'''Non functional requirements''': None.
'''Post-condition''':
 
   
  +
'''Pre-condition''': The ESP must display its wifi network and the user must be connected to it.
'''Side-effects''':
 
  +
 
'''Post-condition''': None.
  +
 
'''Side-effects''': None.
   
 
=4. Product evolution=
 
=4. Product evolution=
  +
An interesting evolution for the project could be the development of a simplified user interface to connect to the ESP and send the binary to it.
   
 
=5. Appendices=
 
=5. Appendices=
  +
'''SRS related documents used to establish this page:'''
=6. Index=
 
 
* http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
 
* http://en.wikipedia.org/wiki/Software_requirements_specification
 
* [http://www.cse.msu.edu/~chengb/RE-491/Papers/IEEE-SRS-practice.pdf IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998]
  +
  +
= Links =
  +
* [[Projets_2017-2018 | Projects list]]
  +
* [[RICM4_2017_2018_-_Nucleo | Fiche]]
  +
* [[RICM4_2017_2018_-_Nucleo/UML | UML]]
  +
* [[Deploiment_Nucleo | Documentation]]

Latest revision as of 10:49, 11 February 2019

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.


Document History
Version Date Authors Description Validator Validation Date
0.1.0 2018 CHANET Zoran - CHARLOT Servan TBC TBC TBC


1. Introduction

1.1 Purpose of the requirements document

This Software Requirements Specification document explains the ins and outs of the Nucleo project, along with the requirements and specifications.

1.2 Scope of the product

This product is dedicated to whoever uses a Nucleo card and needs or want to remotely reprogram it.

As it is redistributable, this product may be used for personal or industrial use.

1.3 Definitions, acronyms and abbreviations

Nucleo : for this project, a STM32F446 Nucleo-64 card will be used

Arduino/Olimexino : for this project, an olimexino-328 will be used

Wifi : for this project, an esp8266ex (or an ESP1-12 WEMOS) chipset will be used

SRS : Software Requirements Specification

1.4 References

1.5 Overview of the remainder of the document

The remainder of this SRS clarifies the requirements of the Nucleo project.

2. General description

2.1 Product perspective

Redistributable software allowing to dynamically remotely reprogram a Nucleo card through Wifi with the use of an ESP card.

2.2 Product functions

Remotely reprogram a Nucleo card through Wifi with the use of an ESP card

2.3 User characteristics

Both personal and industrial use. The product may be useful for an user who would like to reprogram its Nucleo card from a near remote location (because it may be inaccessible for some reasons).

2.4 General constraints

- Security (not anyone should reprogram the card)

- Reliability (what happens if the connexion stops while sending the new software ?)

2.5 Assumptions and dependencies

It is needed to have an ESP8266EX plugged on a ST32F446 Nucleo (for the flashing purposes), and the computer who will send the binary through wifi.

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

  • document external interfaces,
  • describe system functionality and performance
  • specify logical database requirements,
  • design constraints,
  • emergent system properties and quality characteristics.

3.1 Requirement | Reprogramming

Function: Reprogramming the Nucleo via Wifi

Description: Sending a compiled program to the Nucleo

Inputs: Binary file (compiled program)

Source: User

Outputs: None

Destination: The ESP then the Nucleo card

Action: Reprograms the Nucleo card

Natural language sentences (with MUST, MAY, SHALL)

  • The file sent MUST be a compiled program
  • The Nucleo card SHALL reprogram itself with the file (implying it has the proper software installed)
  • In case of malfunction, reset or shutdown during the transfer of the file, the Nucleo card MUST ignore the operation

Graphical Notations : UML diagram and Sequences diagram

Non functional requirements: None.

Pre-condition: The ESP must display its wifi network and the user must be connected to it.

Post-condition: None.

Side-effects: None.

4. Product evolution

An interesting evolution for the project could be the development of a simplified user interface to connect to the ESP and send the binary to it.

5. Appendices

SRS related documents used to establish this page:

Links