Proj-2014-2015-SmartClassroom/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 document presents the aim of the project Smart Classroom as well as the functionnal and non-functionnal requirements, risks and quality standards.

1.2 Scope of the product
This project is integrated at the RICM4 engineering training (Computing Networks and Multimedia Communication) in Polytech'Grenoble school. It will be led by 4 students (2 in the Multimedia option and 2 in the Network option) and will last 7 weeks.

1.3 Definitions, acronyms ans abbrevations

 * NFC : Near Field Communication. A NFC tag can be linked to information such as web page, social networks and all sorts of other information in general.
 * MCQ : Multiple-choice Questionnaire
 * ID : Identifier

1.4 References
Our work follows on from different projects realised by ENSIMAG students : Smart Classroom

1.5  Overview of the remainder of the document
=2.  General description= The aim of this project is to design a new innovative information system for the future of the classroom, by making easier and especially automating daily tasks. Although there are already four projects linked to the smart classroom and realized by ENSIMAG students, our module has to fit in well with the others in order to obtain a real innovative infrastructure.

2.1 Product perspective
Our product has to meet the following need : Students come in class, announce their presence and get settled at their work station. The teacher does the same and accesses his plateform where he can get courses and exams that he has created before. Then, the teacher can submit multiple-choice questionnaire to students. They answer to it individually before submitting their answer to the teacher. After that, he can refer to the results and publish it by theme. The teacher can start again a lesson if he sees that it hasn't been clear enough for his students. Finally, he can reorganize students by working group.

2.2 Product functions

 * Individual and secured idendentification
 * Creation of courses' constituents
 * Reply to the test by the students
 * Results display
 * Reorganisation of the students in working groups depending on their level

2.3 User characteristics
There are two types of users for this product and in two different inputs. The first type of user is the teacher who is able to create, modify, pusblish courses and exams. Then there are the students, who, by means of their working space, answer the quizzes and submit their answers.

2.4 General constraints

 * Application has to work on tablet
 * Stable wifi connection is needed inside the smart classroom

2.5 Assumptions and dependencies

 * No access to extern websites
 * Smart Classroom environment allows us to link the tablets to the Moodle server

=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: Realisation and management of MCQ as part of the SmartClassroom

Description: Our project consists in developing a system wich allows a teacher to prepare his lessons and create MCQ on one hand, and on the other hand allows students to answer at these MCQ. We will also have to manage the identification of each student in order to control their presence during the lessons.

Inputs: Students' and teacher's tablets

Source: NFC tag, touch sreen

Outputs: Identification, answers to each student's question

Destination: This projects is designed to be integrated in the environment of a SmartClassroom and is bound for being used by teachers and students.

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

Teacher side : Student side :
 * Has to allow the creation of MCQ
 * Has to permit the recovery of the results
 * Could sort the results per students / questions / answers
 * Has to allow the identification by the meaning of a personal ID or a NFC tag
 * Can access the list of students authenticated at every session
 * Must allow the answer of the MCQ
 * Can give an access to the results
 * Has to allow modifications before sending the MCQ
 * Has to permit the identification by the meaning of a personal ID or a NFC tag
 * The student has to be counted as present when he connects to the course

Non functional requirements:
 * Easy to use : no user experience needed
 * Portability : usage on tablet
 * Size : the size of the application won't be more than few bytes
 * Usage : Clear interface and elaborate in order to make the user experience efficient
 * Resistance : the application have to keep working and watch over during a network failure

Pre-condition:
 * Equipment side :
 * - a tablet has to be available for each student and for the teacher
 * - each student must have his own swipe card in order to be identified


 * Application side :
 * - a WiFi connection has to be maintened in the classroom

Post-condition:
 * the teacher is able to create documents for his lesson and MCQ via the application
 * students are identified via their badges

Side-effects:

=4. Product evolution= The SmartClassroom project is based on several scenarios realised by a number of groups. The part described here is just one of them. Future enhancements of this environment could be proposed and implemented by future groups in charge of developping this classroom.

=5. Appendices=

=6. Index=