560 likes | 770 Views
Gestion d’une gare. Projet de fin d’étude. BADOCHE – BLACHE – CAPALDI – FAMEY. Sommaire. Cahier des charges Analyse fonctionnelle Gestion de projet Difficultés rencontrées Exemple d’utilisation Conclusion. Cahier des charges. Cahier des charges. Unicité des affectations
E N D
Gestion d’une gare Projet de fin d’étude • BADOCHE – BLACHE – CAPALDI – FAMEY
Sommaire • Cahier des charges • Analyse fonctionnelle • Gestion de projet • Difficultés rencontrées • Exemple d’utilisation • Conclusion
Cahier des charges • Unicité des affectations • Unicité des trains à quais • Alternance des mission entrantes et sortantes
Cahier des charges • Un train électrifié sur une voie électrifiée • Un train de type fret sur une voie sans quai • La hauteur du quai = hauteur du train • La longueur du quai >= longueur du train • S’il s’agit d’une voie terminus :
Analyse fonctionnelle • Schéma des données • Placement des missions • Décomposition en actigrammes • Serveur • Exécutable • Code C • SCADE
Placement des missions Mission temporaire • Dest./Provenance: autre que Gare Courante • Horaires d’arrivée et de départ normaux
Placement des missions Mission définitivement fixe • Destination: Gare Courante • Pas de mission au départ de gare courante • Occupe la voie de stockage définitivement
Placement des missions Mission en stockage temporaire • Destination: Gare Courante • Mission au départ de gare courante existante • Etat placement = prochaine mission
Actigramme • SADT ou IDF0 • Structure hiérarchisée • Décomposition du système Action Entrée 1 Sortie 1 Sortie 2 Entrée 2 #
Projet (A0) • A1 Récupération des données sur le serveur • A2 Téléchargement (XML) + Traitement
Serveur (A1) • Affichage et stockage des données
Vérificateur de données (A15) • Horaires corrects • Nombres entiers et positifs • Nombres d’items corrects • Dest. et prov. différents de Gare Courante • Bonne alternance pour les missions de Gare Courante
Projet (A0) • A1 Récupération des données sur le serveur • A2 Téléchargement (XML) + Traitement
Exécutable (A2) • Réalise le traitement automatique des données récupérées au format XML • Résultat renvoyé au serveur par upload des valeurs successives • - avec vérification par CRC
Exécutable (A21) • Télécharge le fichier XML sur le site WEB • Renvoie une erreur en cas d’erreur durant le téléchargement
Exécutable (A22) • Les données XML sont insérées dans la structure gare • Renvoie une erreur en cas d’erreur durant le parsage
Exécutable (A24) • Les données dans le tableau d’affectation sont envoyées au site • Renvoie une erreur en cas d’erreur durant l’envoi
Exécutable (A25) • Coordonne tout le déroulement du code • Affiche les erreurs si elles surviennent
Exécutable (A23) • Bloc de traitement des données • Traitement des données en sécurité • Retourne les erreurs si elles surviennent
Test d’intégrité (B2) • Identification des incohérence ou erreurs • Activation de la machine d’état
Test d’intégrité (B21) • Unicité des ID
Test d’intégrité (B2) • Identification des incohérence ou erreurs • Activation de la machine d’état
Test d’affectation (C0) • Selon les différents cas • Teste l’affectabilité
Affectation normale (C1) • Vérification de la mission et de la voie en fonction du mode dégradé • Conversion (arr. et dép.) + test de compatibilité • Affectation si tableau non plein
Affectation dest. GC (C2) • Si une voie de stockage est disponible: • Mission suivante non existante: • Affectation sur une voie normale (temporaire) • Affectation sur une voie de stockage (def. fixe) • En cas de non affectation, rien n’est fait • Mission suivante existante (voir C3): • Affectation sur une voie normale (temporaire) • Pas d’affectation sur la voie de stockage (car retard possible) En cas de non affectation, rien n’est fait
Affectation dest. GC (C2) • Si aucune voie de stockage n’est disponible: • Dans tous les cas, il y a une erreur! • On fait remonter l’erreur vers le site (non bloquant) • A l’utilisateur de décider: • Changer la destination vers le dépôt (réexécution) • Stocker plusieurs train sur une même voie de stockage • …
Affectation prov. GC (C3) • On tente d’affecter la mission (temporaire) • Si la mission ne peut pas être affectée: • On retente (retour dans la machine d’état) • Si la mission est affectée: • Si aucune voie de stockage n’est disponible, on remonte l’erreur vers le site (non bloquant).
Gestion de projet • Plusieurs changements • Non utilisation de la carte UP3 • Passage en gestion dynamique • Non porté sous linux
Gestion de projet • Charge de travail • 350h / personne • 4 personnes • 18 880 lignes de code • 13.5 lignes par heure
Gestion de projet • Déroulement du projet • Un seul chef de projet • Cycle en spirale
Gestion de projet • Répartition des tâches
Difficultés rencontrées • Au niveau du programme C • « Multi-lancement » du code généré par Scade • Afficher de manière simple un message avec la date et avec une possibilité aussi de l’écrire dans un fichier de log
Difficultés rencontrées • Au niveau de Scade • Tester et affecter les missions dans le bon ordre en fonction à la fois de leur heure d’arrivée et de leur priorité
Difficultés rencontrées • Au niveau de Scade • Simplifier l’accès aux données des structures
Difficultés rencontrées • Au niveau de Scade • La gestion du tableau d’affectation et de la gare courante • Gestion des versions • Simulation dans SCADE • Problème de taille mémoire • Impossible d’aller dans tous les « sous-niveaux »
Difficultés rencontrées • Au niveau du site web • Les missions périodiques • La représentation graphique du tableau d’affectation
Exemple d’utilisation • Configuration (1ère étape): Gare Courante Voie 1 : Elec, quai bas Paris Rennes Voie 2 : Non Elec, quai haut Voie 99 : Elec, sans quai : TER001 : Non Elec, quai haut mission 1 : TGV001 : Elec, quai bas mission 2
Exemple d’utilisation • Configuration (2nd étape): Gare Courante Voie 1 : Elec, quai bas Paris Rennes Voie 2 : Elec, quai haut Voie 2 : Non Elec, quai haut Voie 99 : Elec, sans quai : TER001 : Non Elec, quai haut mission 1 : TGV001 : Elec, quai bas mission 2
Exemple d’utilisation • Configuration (3ème étape): Gare Courante Voie 1 : Elec, quai bas Paris Rennes Voie 2 : Elec, quai haut Voie 99 : Elec, sans quai : TER001 : Non Elec, quai haut mission 1 : TER001 : Non Elec, quai haut mission 1 : TGV001 : Elec, quai bas mission 2 : TGV001 : Elec, quai bas mission 2
Exemple d’utilisation • Configuration (4ème étape): Gare Courante Gare Courante Voie 1 : Elec, quai bas Paris Rennes Voie 2 : Elec, quai haut Voie 99 : Elec, sans quai : TER001 : Non Elec, quai haut mission 1 : TGV001 : Elec, quai bas mission 2
Exemple d’utilisation • Configuration (5ème étape): Gare Courante Voie 1 : Elec, quai bas Paris Rennes Voie 2 : Elec, quai haut Voie 99 : Elec, sans quai : TER001 : Non Elec, quai haut mission 1 : TER001 : Non Elec, quai haut mission 1 : TGV001 : Elec, quai bas mission2 et 3 : TGV001 : Elec, quai bas mission 2