SRS SeriousGame RICM Group

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 serious game. In case of a open source project, we must present the requirement to others potential contributors. This document is a guideline about the functionalities offered and the problems that the system solves.

1.2 Scope of the product
- The product we are developing is a application of serious games - The platform our app is used for .... WIP

1.3 Definitions, acronyms and abbreviations

 * Python : Python is a programming language that lets you work more quickly and integrate your systems more effectively.
 * Kivy : Kivy is an open source python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch platforms.
 * SQlite : Sqlite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL data engine.

1.4 References

 * Python for definitions and documentation.
 * Kivy for definitions and documentation.
 * SQlite for definitions and documentation.

1.5 Overview of the remainder of the document
The SRS regroup the specification of Serious_Game:_Handicap,_parole_et_geste. The second part is a General Description of the project and the third part presents all the requirements.The fourth part regroup some ideas to improve the final application. These ideas could be implement in future projects to improve the application.

=2.  General description=

2.1 Product perspective
This project aim to develop an application including several games to help trisomic children to improve their gesture skills.

2.3 User characteristics
The user doesn't need any IT skills. Somone is needed to log in and eventually configure the game, then the child just need to understand game's rules and he also needs to know how to use a tablet.

2.4 General constraints
Application constraints
 * Local save of statistics
 * Upload statistics
 * Easy to add a game
 * Easy to use
 * Identification with a personnal ID
 * Dynamic data base

Game constraints
 * Sound
 * Record
 * Interesting gameplay

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:Rate scientifically if the gesture(touch pad) can help children with communicative troubles to learn new words.

Description:Implement an application with several serious games

Inputs: Pictures of houses, characters and vehicles. Words and sounds.

Source: Researchers

Outputs: Help children to learn new words

Destination: Children T21

Action:
 * Several Games available
 * Save game's actions in a local data base

Non functional requirements:

Pre-condition:
 * Have a tablet with the application
 * Have an id to log in

Post-condition: none

Side-effects:none

=4. Product evolution=

4.1 Step1 (10/03/2014)
The user can log in and start a game. The game allow to drag pictures and play sound when the picture is dropped. Important actions are saved dynamically in a local data base. This prototype is a really important step of the project development, it'll be a strong base to develop a lot of different games.

4.2 Step1 (2/04/2014)
The user can log in and start a game.The user can start a game. The user drag and drop 3*6 = 18 different object to 3 different categories. If object belongs to the category, score increase of 5 points, else it decrease of 1 point. All tries are stored. The game end when all objects are removed, and a game menu appear asking to the user if he wants to try again or change game.

4.3 Step1 (11/04/2014)
The user can log in and start a game.The previous game is still available, but a new one is available too. On the new one, 3 Objects are displayed on the right, and 3 shapes on the left. There is only one object corresponding to one shape. The user have to drag and drop the object to its own shape to win the round.Success and fail are stored in the data base. Score is update like in the previous game. A new round start each time there is a good answer.

=5. Sources= You can find global project's sources here : https://github.com/MehdiNS/SeriousGame