Proj-2014-2015-Regie Video Autonome Et Mobile Multicamera/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.1 Purpose of the requirements document
This Software Requirements Specification (SRS) identifies the requirements for the Autonomous and Mobile Video Control.

1.2 Scope of the product
This project is based on a robot named RobAir, supplied by a camera. The purpuse is to enable the robot to recognize a specific person and follow him; the list of people to be recognized will be sent by an Android app.

1.3 Definitions, acronyms and abbreviations

 * Android: The most widely used mobile OS. Here it is used to send image or video frame to the robot.
 * Face recognition: To automatically identify or verify a person from a digital image or a video frame from a video source
 * OpenCV: It is a library of programming functions mainly aimed at real-time computer vision, developed by Intel Russia research center in Nizhny Novgorod, and now supported by Willow Garage and Itseez.
 * Python: It is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java. Here it is used to implement the face recognition using OpenCV.

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

2.2 Product functions

 * Update of the list of target persons on the fly: We can use the Android application to take photos of new target persons and send to the robot whenever we need.
 * Face recognition: The robot will automatically detect the target persons among all persons within the view of the cameras.
 * Follow: The robot will follow the persons whose image is sent by the Android app.

2.5 Assumptions and dependencies
=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: Learn someone's face to be able to recognize this person and follow him.

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=