Difference between revisions of "ECOM-1FO 1819 Sport L5 SRS"

From air
Jump to navigation Jump to search
Line 16: Line 16:
 
*Page principale du projet: [https://air.imag.fr/index.php/ECOM-1FO_1819_Sport]
 
*Page principale du projet: [https://air.imag.fr/index.php/ECOM-1FO_1819_Sport]
   
=2. General description=
+
=2. Description générale=
==2.1 Product perspective==
+
==2.1 Perspectives du projet==
Our Web site is an open source project.
+
Ce projet est un projet open source.
   
  +
L'application web sera amenée à enregistrer des données à propos des utilisateurs, des évènements et des inscriptions.
This site will store and display data (GPS localisation from [https://air.imag.fr/index.php/RICM4_2017_2018_-_UltraTeamMV UltraTeamMV] users ).
 
   
==2.2 Product functions==
+
==2.2 Fonctionnalités==
  +
*Centralization and synchronization of data.
 
  +
===Diagramme de cas d'utilisation d'un participant===
*Data visualization.
 
  +
[[File:UseCaseParticipant_ecom20182019_mescourses.png]]
  +
  +
  +
===Diagramme de cas d'utilisation d'un bénévole===
  +
[[File:UseCaseBenevole_ecom20182019_mescourses.png]]
  +
  +
  +
===Diagramme de cas d'utilisation d'un organisateur===
  +
[[File:UseCaseOrganisateur_ecom20182019_mescourses.png]]
  +
  +
==2.3 Les différents types d'utilisateurs==
  +
* L'organisateur, c'est lui qui créé les évènements, il peut accéder à son "Espace Organisateur" pour visualiser ses évènements, les participants, etc.
  +
* Le bénévole, il peut s'inscrire gratuitement à un évènement en tant que bénévole pour différents roles : Kinésithérapiste, photographe, docteur, etc.
  +
* Le coureur, c'est l'utilisateur de base, il peut s'inscrire à un évènement sportif et payer son inscription. Il pourra ensuite se rendre à l'évènement et y participer.
  +
  +
Nous avons définis avec notre client qu'il était possible que :
  +
Le coureur pourrait avoir un age médian plutôt jeune, le bénévole pourrait être retraité, et l'organisateur pourrait être un salarié de la quarantaine.
  +
  +
Mais que ces contraintes devaient être amenées à être supprimées car cela n'avait pas de sens de fixer des tranches d'ages pour un projet comme celui-ci.
   
==2.3 User characteristics==
 
The typical user is a hiker who did a hike using [https://air.imag.fr/index.php/RICM4_2017_2018_-_UltraTeamMV UltraTeamMV] application.
 
The user doesn't need specific or technical knowledge, just a basic Internet usage.
 
   
 
==2.4 General constraints==
 
==2.4 General constraints==

Revision as of 12:51, 11 December 2018

1. Introduction

1.1 But du document

Cette spécification des exigences logicielles (SRS) identifie les exigences du projet [1]. Ce document est un guide sur les fonctionnalités offertes et les problèmes que le système résout.

1.2 Visée du projet

Le but de ce projet est de réaliser une application web ainsi qu'une application mobile permettant la création, la gestion, l'inscription, la participation et le paiement des frais à des évènements sportifs comme des marathons, des courses à pied, des courses de vélo, etc.

Les différents types d'utilisateurs que nous pourrons retrouver dans notre application sont :

  • L'organisateur, c'est lui qui créé les évènements, il peut accéder à son "Espace Organisateur" pour visualiser ses évènements, les participants, etc.
  • Le bénévole, il peut s'inscrire gratuitement à un évènement en tant que bénévole pour différents roles : Kinésithérapiste, photographe, docteur, etc.
  • Le coureur, c'est l'utilisateur de base, il peut s'inscrire à un évènement sportif et payer son inscription. Il pourra ensuite se rendre à l'évènement et y participer.

1.3 References

  • Page principale du projet: [2]

2. Description générale

2.1 Perspectives du projet

Ce projet est un projet open source.

L'application web sera amenée à enregistrer des données à propos des utilisateurs, des évènements et des inscriptions.

2.2 Fonctionnalités

Diagramme de cas d'utilisation d'un participant

UseCaseParticipant ecom20182019 mescourses.png


Diagramme de cas d'utilisation d'un bénévole

UseCaseBenevole ecom20182019 mescourses.png


Diagramme de cas d'utilisation d'un organisateur

UseCaseOrganisateur ecom20182019 mescourses.png

2.3 Les différents types d'utilisateurs

  • L'organisateur, c'est lui qui créé les évènements, il peut accéder à son "Espace Organisateur" pour visualiser ses évènements, les participants, etc.
  • Le bénévole, il peut s'inscrire gratuitement à un évènement en tant que bénévole pour différents roles : Kinésithérapiste, photographe, docteur, etc.
  • Le coureur, c'est l'utilisateur de base, il peut s'inscrire à un évènement sportif et payer son inscription. Il pourra ensuite se rendre à l'évènement et y participer.

Nous avons définis avec notre client qu'il était possible que : Le coureur pourrait avoir un age médian plutôt jeune, le bénévole pourrait être retraité, et l'organisateur pourrait être un salarié de la quarantaine.

Mais que ces contraintes devaient être amenées à être supprimées car cela n'avait pas de sens de fixer des tranches d'ages pour un projet comme celui-ci.


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 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.


3.2 Requirement 2 : Send DATA

Function: Send data (user localization and distress state) via HTTP (REST API) to every hikers of the hike.

Description: We will send information (if necessary) to any hikers (who are in the same hike) (Server -> Smart-phone application ) through REST API.

Inputs: Request of information

Source: User application (Smart-phone)

Outputs: Information about users (localization, distress state, ID, post date)

Destination: User application (Smart-phone)

Action:

  • Smart-phone get request (input)
  • REST API

Non functional requirements: None.

Pre-condition: Smartphone Application, Internet connection.

Post-condition: None.

Side-effects: None.


3.3 Requirement 3 : Display Hikes

Function: Display details of a hike (user localization and hike information).

Description: We will display information of a specific hike and we will also display a map of the itinerary (with real time positions).

Inputs: User hike and localizations

Source: User (web-site)

Outputs: Information about a specific hike (localization, distress state)

Destination: User (web-site)

Action:

  • Connect to an user profile
  • Go on hike page
  • Select a specific hike

Non functional requirements: None.

Pre-condition: Internet connection, user account

Post-condition: None.

Side-effects: None.

4. Product evolution

What must be done to make this project evolve is to make the link between the mobile application and the web application.

The databases and data models between the two applications are already consistent. It will be necessary to be able to send messages (entity) from the mobile application to the web application with the REST API.

The SOS principle is also already implemented on the web application, all that remains is to make visible all the hikes with at least one SOS for users of the "Emergency" type (not currently implemented).

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:

6. Index