Proj-2012-2013-RéducationFonctionnelle/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 will explain all the demands and specifications about the telemedicine project, including the functional and non functional aspects. The system behavior will notably be detailed below.

1.2 Scope of the product
This product is mainly designed for patients needing hand rehabilitation in order to allow them to train at home with a playful tool using their computer. The software consists of a little game where the patient can make a character move by completing the different hand moves. For example, the better the patient moves, the greater the character moves.

1.3 Definitions, acronyms and abbreviations
SDK : A software development kit (SDK or "devkit") is typically a set of software development tools that allows for the creation of applications for a certain software package, software framework, hardware platform, computer system, video game console, operating system, or similar platform.

Finger tracking : In the field of technology and image processing, finger tracking is a high-resolution technique that is employed to know the consecutive position of the fingers of the user and hence represent objects in 3D.

Telemedecine : Telemedicine is the use of telecommunication and information technologies in order to provide clinical health care at a distance.

Functional training : Functional training is a classification of exercise which involves training the body for the activities performed in daily life.

UML : Unified Modeling Language (UML) is a standardized general-purpose modeling language in the field of object-oriented software engineering. The Unified Modeling Language includes a set of graphic notation techniques to create visual models of object-oriented software-intensive systems.

GUI : In computing,[1] graphical user interface (GUI, pronounced 'gooey') [2] is a type of user interface that allows users to interact with electronic devices using images rather than text commands.

1.4 References
http://www.siteduzero.com/informatique/tutoriels/apprenez-a-developper-en-c : learning C#.

http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk : Intel official website for downloading and using the Intl Creative SDK.

http://en.wikipedia.org/wiki/Software_development_kit : understand what is a SDK.

http://en.wikipedia.org/wiki/Finger_tracking : obtain information about hand tracking techniques.

http://en.wikipedia.org/wiki/Telemedicine : identifying the aim of the application of the patient’s point of view.

http://en.wikipedia.org/wiki/Functional_training : understand what should be done in the software.

1.5 Overview of the remainder of the document
The following document will explain the global product aim, functions, targets, constraints and dependencies.

=2.  General description=

2.1 Product perspective
The product perspective is to be suggested by the doctors to their patients in order to allow them to train freely at home and provide them a progress indicative grade. Therefore, a grade will be given to the patient after each exercise, each session, as well as a global grade regarding the rehabilitation.

2.2 Product functions
The main functions of our software are : - provide short tutorial videos to the patient so they can learn the different moves. - provide a list of moves to do according to the doctor’s suggestions. - provide a playful application for the patient’s training in order to make the rehabilitation a little less off-putting. - provide a grade for each exercise, for the day’s session and for the whole rehabilitation program.

First, the patient runs the application and chooses to look at the tutorials or to do some training.

Tutorials menu : A list of each type of trainings is provided, allowing the user to click one of them to look at a short demo movie and directly access to the matching exercise when he’s done learning the moves.

Training menu : The user can look at the demonstration video to understand the aim and commands of the game suggested, or access the list of trainings provided in order to complete the moves by playing.

2.3 User characteristics
The software’s user should have to attempt hand rehabilitation, or want to improve his moves.

2.4 General constraints
In order to run the application, it must be run on Windows using the Intel Creative camera, with no additional requirement.

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: Provide playful rehabilitation software and progress indicative grade for each session and the whole program.

Description: The product consists of a Windows application using the Intel Creative 3D camera to monitor the patient moves and help him to improve his mobility.

Inputs: Video data provided by the Creative camera, turned into graphes by the Intel Perceptual Computing SDK.

Source: Intel Perceptual Computing SDK, video listing of the different hand moves made by Mr Alessandro Semere.

Outputs: Little game with a character moving according to the patient’s hand moves and different relevant progress grades.

Destination: Patients attempting hand rehabilitation.

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

-	The product must enable the user to choose a tutorial and view the short matching demo video. -	The product must enable the user to choose a training and provide a grade. -	The product must start and stop monitoring the patient’s moves after one minute. -	The product must provide a global grade for the rehabilitation program.



Non functional requirements: None

Pre-condition: The user must dispose of a computer running on Windows, as well as an Intel Creative 3D camera.

Post-condition: The software provides feedback data about the patient progress.

Side-effects: This product allows patients to train at home without constraints when they feel like exercising and may monitor relevant data for the doctor. However, the user should be careful to make safe moves while playing the game in order to prevent him from being hurt.

=4. Product evolution=

- A later version of the product should provide progress indication curves. - The feedback data could be regularly and directly sent to the doctor. - Instead of a unique training game, several applications could be developed in order to allow the user to chose the one he prefers. - A rehabilitation program regarding other limbs could be considered.

=5. Appendices= =6. Index=