Automatisation d’une rame de métro De : Bavent Sylvain, Aslan Caglar, Ferga Warren, Seigler Alexandre 1
Gestion automatique des rames par rapport à l’affluence. Permettre un suivi en temps réel du trafic de toutes les stations. Gestion automatique des rames en fonctions des plages horaires. Gestion des statues des stations (available) Programme portable sur les différents plateformes De la conception à l’implémentation 2
Deux périmètres principaux : Gestion des rames Création Rame (Création, Suppression des rames). Gestion des déplacements des rames sur l’ensemble des stations. Gestion de la signalisation (Gestion des Feux et déplacement des Rames comme expliqué précédemment)M Gestion des stations Trafic par tranches horaires. Sauvegarde des états dans la base de données. Prise en compte des Correspondance (Coeff. Mult.) Mise à disposition du système Activer / Désactiver une station Par soucis de manque de temps le projet n'a traité que la gestion des Stations. 3
Cas d’utilisation (outil Star UML) 4
Diagramme de classe (outils Star UML) 5
Architecture : MVC Langages : JAVA ( objets métiers et interface ) Outils : Eclipse ( Dév. ) Git Hub ( Outil de coopération ) MySQL ( Gestionnaire de Base de Données ) 6
7 Class Station { //Fonction Remplissage Rame public void RemplissageRame(){ int ramePop=r.getCurrentCapacity(); // On récupère les voyageurs présents dans la rame if(( ramePop +_CurrentCapacity ) < r.getMaxCapacity()) { // Si la population de la rame + celle de la station ne dépasse pas la capacité max ALORS r.setCurrentCapacity (_CurrentCapacity + ramePop); } else { /*SINON on calcule le nombre de voyageurs max que l'on peux laissé monter dans la rame et on met le reste dans le CurrentCapacity de la station*/ r.setCurrentCapacity( r.getMaxCapacity() – ramePop ); _CurrentCapacity -= ramePop; }
Classe Station { //Fonction Remplissage Station public void remplissage() { int tauxRemplissage = getTauxRemplissage(); if(( tauxRemplissage +_CurrentCapacity ) < this._MaxCapacity ){ // Si la population de la station + celle de la station ne dépasse pas la capacité max ALORS this.setCurrentCapacity (_CurrentCapacity + tauxRemplissage); } else { /*SINON on envoie une nouvelle RAME */ // FAIRE AVEC UN THROW EXCEPTION } 8
Interface Constante public interface IConstantes { /** Nombre maximal de personne dans une RAME */ final static int MAX_CAPACITY_RAME = ; // On considère que l'on atteint jamais la limite de la rame. /** Seuil normal de personne dans une RAME */ final static int NORM_CAPACITY_RAME = ; /** Nombre maximal de personne dans une STATION */ final static int MAX_CAPACITY_STATION = 450; } 9
Prochaine étapes : gestion des rames Création Rame Gestion des déplacements Gestion de la signalisation Difficultés : Travail d’équipe (délégation, manque d’engagement) Manque d’expertise en JAVA Mauvaise gestion du temps 10
Mme Tatiana Aubonnet 11