RICM4 2017 2018 - Nucleo/ SRS
The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.
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:
- http://www.cs.st-andrews.ac.uk/~ifs/Books/SE9/Presentations/PPTX/Ch4.pptx
- http://en.wikipedia.org/wiki/Software_requirements_specification
- IEEE Recommended Practice for Software Requirements Specifications IEEE Std 830-1998