Dossier de Conception Système - Coivoiturage taxi

From air
Jump to navigation Jump to search

Voici le dossier de Conception Système pour le projet ECOM 2016-2017 Covoiturage.

Page d'accueil du projet


Équipe

  • LECORPS Germain (Chef de projet)
  • VOUTAT Manuel
  • MATHIEU Tanguy
  • HALLAL Marwan (Scrum Master)
  • FOUNAS Abdelaziz

Fonctionnalités

Rapide rappel des fonctionnalités de notre application.

Pour les clients :

  • Créer un compte
  • S'identifier
  • Réserver un trajet
  • Consulter ses trajets (éventuellement les annuler)
  • Éditer son profil

Pour les administrateurs :

  • S'identifier
  • Ajouter une voiture taxi
  • Ajouter une voiture pour le covoiturage
  • Supprimer une voiture taxi
  • Supprimer une voiture de covoiturage
  • Ajouter un nouveau trajet de covoiturage
  • Editer des comptes Admin et Client

Architecture Système

Diagramme de Contexte

Voici le diagramme de Contexte de notre application.

ECOM2016 Covoiturage Diagramme Contexte.png
  • Les administrateurs sont les personnes ayant des droits plus élevés sur le site, ils ont notamment un accès à l'interface Admin du site. Ils ont des possibilités que les clients lambda n'ont pas.
  • Les clients sont les personnes portant un intérêt au service que l'on propose, elles n'ont pas donc pas nécessité d'avoir les droits des administrateurs.

Vue physique

Ici est présenté la séparation physique de toute notre architecture logicielle.

ECOM2016 Covoiturage Schema Implem.png
  • HA Proxy correspond à l'élément permettant de sécuriser notre application en nous permettant d'utiliser HTTPS pour atteindre notre site ou Grafana par l'intermédiaire de HTTP.
  • Glassfish correspond à notre serveur sur lequel notre application avec notre site sont présents.
  • MySQL correspond à notre base de données applicative, contenant tous les éléments permettant le bon fonctionnement de notre site.
  • InfluxDB est la base de données que l'on utilise pour stocker les métriques que notre application (sur le serveur Glassfish) nous envoie.
  • Grafana est l'outil que l'on souhaite utiliser pour mettre en forme les données enregistrées dans InfluxDB, et ainsi avoir des données exploitable.

Vue composants du côté Glassfish

Ici est présenté le diagramme de composants côté Glassfish.

ECOM2016 Covoiturage Architecture Systeme.png

Sur le serveur on souhaite utiliser une servlet Jersey pour créer notre API REST. Nous souhaitons utiliser les EJB à la fois pour représenter la BDD (Entity Bean) et pour créer la logique métier (Session Bean Stateless) et enfin pour les éventuels session clients (Session Bean Stateful).

Vue composants du côté Client

Ici est présenté le diagramme de composants côté Client.

ECOM2016 Covoiturage Client Components.png

On peut y voir les choix que l'on fait pour créer notre application. Notamment, on souhaite utiliser AngularJS et faire des appels AJAX pour atteindre notre API REST afin d'interagir avec le serveur.