Académique Documents
Professionnel Documents
Culture Documents
com CONCEPTION ET IMPLEMENTATION D'UN SYSTEME BASIQUE DE GESTION D'INSCRIPTION A UN GALA Rapport
Le projet que j'ai ralis sous le nom d'iGala a t pens et conu l'aide de mthodes agiles . tant membre du comit d'organisation de l'Agile Tour Bordeaux depuis deux ans, et ayant expriment ces mthodes du point de vue du management, je voulais raliser mon premier projet complexe de programmation de manire agile : notamment avec TDD (Test Driven Development : criture de tests unitaires avant mme l'implmentation). L'utilisation de ces mthodes m'a ainsi permis d'crire mon code de manire propre et de tester l'ensemble de mon application de manire automatique et pertinente.
Fonctionnalits implmentes
Gnralits L'interface utilisateur comprend une succession de menus en ligne de commande pour guider les utilisateurs du programme. Chaque lment du menu principal est dtaill en sous-menus. tout moment, l'utilisateur peut revenir au menu prcdent en tapant retour , et quitter l'application en tapant quitter . Persistance des donnes Pour conserver toutes les inscriptions et rservations faites par les utilisateurs mme lorsque le programme est arrt puis relanc, j'ai mis en place un systme de sauvegarde & de chargement des informations dans un mme fichier.
Annulation d'une inscription Pour se dsinscrire l'utilisateur doit renseigner son numro d'inscription puis confirmer l'annulation en renseignant le nom associ au numro (pour viter les annulations frauduleuses). L'utilisateur n'est alors plus connu en tant que participant, et peut demander le remboursement de ses frais d'inscription (non gr). Son numro d'inscription ne sera toutefois pas r-attribu une futur nouvel inscrit. Recherche d'informations (annexe 2) L'utilisateur peut, par le biais de l'interface, demander l'affichage d'une liste rcapitulative du nombre d'inscrits, du nombre d'inscrits par promotion et la liste des participants (Nom et Prnoms).
A tout moment, le participant peut afficher une liste rcapitulative du plan d'occupation des tables (numro de table, numro de chaise et occupant).
Ides d'amlioration
Je n'ai pas eu le temps de grer la prsence d'accent dans l'affichage. Pour un meilleur confort d'utilisation et de lecture, cette amlioration gagnerait tre implmente. De mme, il sera judicieux de mettre les tarifs en double.
Bus ainsi que la mthode d'attribution des places. Cependant comme j'ai plac cette rgle de gestion dans la classe Gala, je n'ai pas l'implmenter ni dans Table ni dans Bus. La classe Table contient une liste de chaises (map) La classe Bus contient une liste de chaises (map) que nous nommerons siges Le Systme de rservation table/bus est ainsi simplifi. Classe Action Afin de faciliter la navigation dans les menus et sous-menus de l'interface graphique, j'ai mis au point une classe abstraite Action qui peut possder des sous-actions (map numro action Action). S'il n'y a pas d'actions alors on pourra effectuer un traitement (mthode traiter). Lenchanement des actions lors d'un traitement se fait en utilisant des tapes . A chaque donne saisie par l'utilisateur, je regarde si les donnes sont valides ou non. Si elles sont valides alors on change d'tape, sinon on effectue un traitement spcifique.
Classe Map
Pour la gestion des inscriptions et des rservations, j'avais besoin de crer diverses listes : une liste de participants (inscrits) une liste de tables une liste de bus une liste de chaises/siges Les lments de ma liste ne devaient pas ncessairement tre tris, mais devaient tre associs des cls ; les doublons n'taient pas autoriss et les cls et les valeurs devaient tre spares : j'ai donc choisi d'utiliser des map, qui font parti des classes standards. L'utilisation de cette bibliothque m'a permis d'optimiser la recherche d'information sans avoir parcourir chaque requte l'intgralit des mes tableaux et d'apprhender avec clart l'ajout/suppression d'lments dans mes tableaux .
Classe donnes
Cette classe permet d'assurer la persistance des donnes, l'enregistrement et le chargement.
Annexes
S'inscrire au Gala