RICM4 2017 2018 - UltraTeam 7.1/ 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 project UltraTeam 7.1 This document is a guideline about the functionalities offered and the problems that the system solves.

1.2 Scope of the product
The aim of this project is to create a Web Site with these specifications :
 * Collect data from the web application UltraTeamMV
 * Synchronize data between server and clients
 * Data visualization (from UltraTeamMV hikes)

This project may allow hikers to visualize their hikes.

It will also permit the synchronization of positions during the hike.

1.3 Definitions, acronyms and abbreviations
DB = Data Base

GPS = Global Positionning System

1.4 References

 * The main page of the project: UltraTeam
 * The page of our contribution UltraTeam_7.1
 * UML diagrams

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

2.1 Product perspective
Our Web site is an open source project.

This site will store and display data (GPS localisation from UltraTeamMV users ).

2.2 Product functions

 * Centralization and synchronization of data.
 * Data visualization.

2.3 User characteristics
The typical user is a hiker who did a hike using UltraTeamMV application. The user doesn't need specific or technical knowledge, just a basic Internet usage.

2.4 General constraints
To visualize the hike, the user will have to use an external application developed by our colleagues. An Internet connection will be necessary to upload data from the application to the server. (Not necessarily at any time of the hike)

2.5 Assumptions and dependencies
This project fully depends on UltraTeamMV project to collect data.

=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: Recover data coming from users doing a hike. They can visualize their path and the system can send emergencies if they sent a SOS signal.

Description: recover data via API REST, data sent by the user (date, position, SOS signal,...).

Inputs: API REST

Source: Smartphone application of the user

Outputs: Visualization of data through to maps, and it allows user to analyze his hike.

Destination: Website

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

Application done with Jhipster. Stocking data in SQL database. User can visualize his own information. (TODO)

Non functional requirements:

Pre-condition: Smartphone + Mobile phone plan with internet package / Wi-Fi.

Post-condition: Detailed map of the path and live analyzing.

Side-effects:

3.2 Requirement 1 : Load and store DATA
Function: Take data (user localization and distress state) via HTTP (REST API).

Description: We will collect information from users (Smart-phone application -> Server) through REST API.

Inputs: Information about the user (localization, distress state, ID, post date)

Source: User application (Smart-phone)

Outputs: Data stored in the server DB

Destination: Server

Action:
 * Smart-phone post request (input)
 * REST API - update the DB

Non functional requirements: None.

Pre-condition: Smartphone Application, Internet connection.

Post-condition: None.

Side-effects: None.

=4. Product evolution=

=5. Appendices=

5.1. SRS structure
The document is based on template of the Software Requirements Specification (SRS) inspired of the IEEE/ANSI 830-1998 Standard.

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

=6. Index=