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.

Read first:
 * 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

=1.  Introduction=

1.5 Overview of the remainder of the document
=2.  General description=

2.1 Product perspective
Redistributable software allowing to dynamically remotely reprogram a Nucleo card with the use of an Arduino card.

2.2 Product functions
Remotely reprogram a Nucleo card with the use of an Arduino card

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
Use of an olimexino-328 and a ST32F446 Nucleo

=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 X.Y.Z (in Structured Natural Language)
Function:

Description:

Inputs:

Source:

Outputs:

Destination:

Action:
 * 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

Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

=4. Product evolution=

=5. Appendices= =6. Index=