Gestion de Camping - Analyse 1/27 Projet Cobol Première Partie Gestion Camping Analyse Damien Bironneau Titouan Alasseur Thomas Bechepay Jordane Goffin Le Guillou Thibaud
Gestion de Camping - Analyse 2/27 Table des matières I Introduction...3 II Gestion du projet...3 III Listing des fichiers...5 IV Use cases...7 USE CASE : Modifier emploi du temps d'un employé...8 USE CASE : Consulter fichier client...10 USE CASE : Effectuer réservation...11 USE CASE : Créer/Modifier Employé...12 USE CASE : Consulter un emplacement...14 V Tests Unitaires...17 USE CASE : Créer/Modifier employé...17 USE CASE : Modifier emploi du temps employé...18 USE CASE : Consulter client...19 USE CASE : Consulter emplacement...21 USE CASE : Effectuer réservation...23 VI Maquettes...25 Maquette : Accueil...25 Maquette : Consulter_emplacement...26 Maquette : Consulter_Client...27
Gestion de Camping - Analyse 3/27 I Introduction II Gestion du projet La gestion de projet nous à permis d'organiser le bon déroulement de la première partie du projet Cobol. Nous nous sommes inspirés des principes de la méthode dite agile «extreme Programming». Le but est de trouver des solutions simples, testées et réfléchies, dans le but d'avoir très rapidement un exécutable fiable et de qualité. Cette méthode nous permet de trouver un bon compromis entre une méthode trop contraignante et l'absence de méthode. Le premier point essentiel est la communication. A un rythme de un point par semaine, nous nous rassemblions pour mettre au point ce qui a été fait et pour valider le planning précis de la semaine qui suis. Grâce à des échanges de mails, nous avons pu communiquer de façon concise pour les décisions ne nécessitant pas de se rassembler physiquement ou qui ne concernait pas l'ensemble de l'équipe. Il est à noter aussi que nous avons utilisé un logiciel de gestion de versions. Subversion nous a permit de stocker et partager ses fichiers à un seul et même endroit. Ce principe permet à chacun de relire les travaux des autres, de les améliorer ou de s'en inspirer. Autre point positif de Subversion, c'est la possibilité de suivre l'avancement de chacun, pour adapter la charge de travail de chacun, en cas de défaillance de l'un d'entre nous. Pour la première version du dossier d'analyse nous avons découpé l'écriture en 2 étapes : La première était de fixer les contours de l application, de définir un contexte précis. Pour cela nous avons défini des actions métier simples, précises et indispensables. Chaque membre de l'équipe avait une fonction affectée. Le but était ensuite d'avoir un niveau de détail assez important pour bien saisir les objectifs de chaque fonction et les moyens d'y arriver. La seconde étape était l'écriture des tests unitaires ainsi que les maquettes des écrans à développer. Pour favoriser le travail d'équipe, nous avons décidé d'écrire les TU de la fonction d'un autre membre de l'équipe. Cela à permit de pousser la réflexion plus loin, permettre un autre regard sur une fonction. Le résultat est que chacun à une vision à peut près globale de plusieurs fonctionnalités.
Gestion de Camping - Analyse 4/27 Ci-dessous, le planning des 3 premières semaines. S5 S6 S7 Définition méthodes de travail Écriture de la spécification Définir les fichiers Écriture diagramme de contexte Écriture des TU Répartition des tâches Modélisation des fichiers Définition du planning Prendre en main subversion Dessiner les maquettes Spécifier «modifier l'emploi du temps d'un employé» Spécifier «créer employé» TU «consulter emplacement» Spécifier «effectuer réservation» Spécifier «consulter client» Spécifier «consulter emplacement» TU «effectuer réservation» TU «modifier l'emploi du temps d'un employé» TU «créer employé» TU «consulter client»
Gestion de Camping - Analyse 5/27 III Listing des fichiers Liste des fichiers : Détails : Pour l'attribut edtemployé : Attribut de type tableau d'entiers à 2 dimensions. Exemple : Un employé ayant 20h de travail. 4 heures par créneaux. Ce dernier aura dans son emploi du temps, 5 créneaux à 1 et le reste à 0. Dans ce cas l'employé à toutes ses heures affectés.
Gestion de Camping - Analyse 6/27 Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche Matin 1 1 0 0 1 0 0 Aprème 0 1 0 0 1 0 0 Dans ce cas l'employé n'a pas toutes ses heures affectés. Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche Matin 0 0 0 0 1 0 0 Aprème 0 0 0 0 1 0 0 Pour l'attribut tachesemployé : Attribut de type tableau de chaînes de caractères à 2 dimensions. Un employé avoir un 1 dans le créneau de l'emploi du temps pour pouvoir lui affecté une tâche. Exemple : Par rapport à l'exemple précédent Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche Matin Aprème Accueil Plage
Gestion de Camping - Analyse 7/27 IV Use cases
Gestion de Camping - Analyse 8/27 Voici les principaux use cases dégagés après concertation de l'équipe. USE CASE : Modifier emploi du temps d'un employé Éditeur : Damien Cartouche : Modifier emploi du temps d'un employé Liens entre les cas d'utilisation Acteur principal Acteur secondaire Description générale Pré-condition Post-condition N/A Directeur du camping. N/A Le directeur pourra consulter l'emploi du temps d'un employé. Le directeur pourra affecter aux employés des tâches. Le directeur pourra modifier les horaires d'un employé ainsi que de consulter qui n'a pas toutes ses heures affectées. Le système est en phase d'attente. La liste de tâches d'un employé et/ou son emploi du temps est mis à jour. Structuration des flots :
Gestion de Camping - Analyse 9/27 Spécification des flots : Flot nominal : 1. Identification 1. Le système affiche la page pour se loguer. 2. Le directeur s'identifie. 3. Si l'identification est correct, le système permet au directeur d'aller à l'étape suivante. Sinon, au bout de 3 essais, retour à l'accueil. 2. Consulter emploi du temps 1. Le système propose à l'utilisateur de rentrer un nom ou de lister tous les employés, de lister les employés n'ayant pas tous ses créneaux occupés ou les employés n'ayant pas tous leurs créneaux horaires de fixés. 2. Le directeur choisi son option et le système affiche l'information demandée. 3. Le système propose à l'utilisateur de revenir à l'affichage des options de consultation, de modifier l'emploi du temps de l'employé ou de mettre fin à la consultation. 3. Modifier emploi du temps 1. Le système demande 2. Le directeur choisi de rajouter ou supprimer un ou plusieurs créneaux horaires. 3. Le système met à jours les informations à l'écran et dans ses fichiers. 4. Le directeur peut choisir de consulter l'emploi du temps d'un autre employé. 4. Fermer connexion 1. Le système dé-logue le directeur. Description du flot alternatif 1 : Précondition : Le directeur choisie d'affecter une tâche à un employé affiché à l'écran. [Décrochage après le Use Case «Consulter emploi du temps»] 1. Le système affiche tous les créneaux horaires de l'utilisateur. 2. Le directeur choisi le créneau à modifier et saisi la tâche à affecter. 3. Le système met à jour les informations à l'écran et dans ses fichiers. 4. Le directeur peut choisir de consulter l'emploi du temps d'un autre employé. Postcondition : Fin du Use Case. [Raccrochage avant le Use Case «Fermer connexion»] ou [Raccrochage avant le Use Case «Consulter emploi du temps»]
Gestion de Camping - Analyse 10/27 USE CASE : Consulter fichier client Éditeur : Thibaud Cartouche : Consulter fichier client Liens entre les cas d'utilisation Acteur principal Acteur secondaire Description générale Pré-condition Post-condition N/A Employé du camping N/A Ce use case permet de gérer le fichier client, il assure la recherche et l'édition de client (nom, prénom, adresse) les numéros de client étant immuables ainsi que leur résa. Nom ou id client. Informations sur le client affichées ou éditées Structuration des flots : Afficher premier client Du fichier Édition suivant Précédent recherche? Re-demander saisie des attributs suivant précédent Recherche nom Afficher client suivant Afficher précedent Réafficher écran consultation Afficher client correspondant ou premier si aucun correspondant
Gestion de Camping - Analyse 11/27 USE CASE : Effectuer réservation Éditeur : Titouan Cartouche : Effectuer réservation Liens entre les cas d'utilisation Acteur principal Acteur secondaire Description générale Pré-condition Post-condition N/A Employé du camping N/A Un employé peut effectuer une réservation à la demande d un client. Il réserve ainsi un emplacement pour une semaine précise. Un client souhaite effectuer une réservation. Les emplacements disponibles pour la semaine choisie sont mis à jour. L emplacement est réservé. Structuration des flots :
Gestion de Camping - Analyse 12/27 Spécification des flots : Flot nominal : Identification Le système affiche la page pour se loger. L employé s'identifie. Si l'identification est correcte, le système permet à l employé d'aller à l'étape suivante. Consulter emplacement Le système propose à l'utilisateur de rentrer un numéro d emplacement et une semaine. Réserver emplacement Le système réserve l emplacement, enregistre l employé qui a effectué l action et la semaine choisie. USE CASE : Créer/Modifier Employé Éditeur : Jordane Testeur : Thibaud Cartouche : Créer/Modifier employé Liens entre les cas d'utilisation Acteur principal Acteur secondaire Description générale Pré-condition Post-condition N/A Cas à gérer : création d'une personne déjà employée? Directeur du camping. N/A Le directeur peut créer la fiche d'un nouvel employé suite a son embauche. Attributs à débattre liste non exaustive des attributs : nom, prenom, adresse, date_d_embauche, intitulé_du_poste, rémunération... Il peut modifier les attributs des employés (si ceux-ci changent d'adresse, de noms (mariage..), augmentation, etc. Le système est en phase d'attente. La(es) nouvelle(s) fiche(s) est(sont) créée(s), et/ou la(es) fiche(s) modifiée(s) est(sont) mis à jour.
Gestion de Camping - Analyse 13/27 Structuration des flots : Spécification des flots : Flot nominal : 1. Identification 1. Le système affiche la page pour se loger. 2. Le directeur s'identifie. 3. Si l'identification est correct, le système permet au directeur d'aller à l'étape suivante. 2. Micro menu 1. Le système propose à l'utilisateur deux choix : modifier une fiche employé déjà existante, créer une nouvelle fiche ou annuler la consultation. 2. Le directeur choisi son option et le système passe à l'étape choisie. 3. Création d'une nouvelle fiche employé 1. Le directeur suit les directives pour rentrer les informations du nouvel employé. 2. Le système propose de modifier, de valider les informations rentrées ou d'annuler la création de la fiche. 3. Une fois les informations validées ou la création annulée, le système propose
Gestion de Camping - Analyse 14/27 de revenir ou non au micro menu. 4. Fermer connexion 1. Le système délog le directeur. Description du flot alternatif 1 : Précondition : Le directeur choisit de modifier la fiche d'un employé affiché à l'écran. [Décrochage après le Use Case «Micro menu»] 1. Le système propose une recherche par nom ou l'affichage de tout les employés 2. Le directeur choisit la fiche à consulter. 3. Le système affiche toutes les informations de l'employé. 4. Le directeur choisit quelle information modifier. 5. Le directeur valide pour arrêter de modifier les informations. 6. Le système met à jour les informations à l'écran et dans ses fichiers. 7. Le directeur peut ou non choisir la fiche d'un autre employé. Postcondition : Fin du Use Case. [Racrochage avant le Use Case «Fermer connexion»] ou [Racrochage avant le Use Case «Micro»] USE CASE : Consulter un emplacement Éditeur : Thomas Cartouche : Consulter un emplacement Liens entre les cas d'utilisation Acteur principal Acteur secondaire Description générale Pré-condition Post-condition N/A Employé du camping. N/A La consultation d'emplacement permet de connaître la disponibilité d'un emplacement en fonction de son numéro ou de connaître les emplacements disponibles en fonction d'une date d'arrivée, d'une date de départ et d'un type d'emplacement donné. Une liste d'emplacement doit être crée. Une réservation est possible ou pas.
Gestion de Camping - Analyse 15/27 Structuration des flots :
Gestion de Camping - Analyse 16/27 Spécification des flots : Flot nominal : 1. Proposition de la méthode de recherche 1. Le système affiche la page pour effectuer le choix. 2. L'employé entre au clavier le choix qu'il désire (1 ou 2) puis valide en faisant entrée. 2. Entrée d'une date d'arrivée 1. L'employé saisie au clavier la date d'arrivée souhaitée. Format (JJ/MM/AAAA). 3. Entrée d'une date de départ 1. L'employé saisie au clavier la date de départ souhaitée. Format (JJ/MM/AAAA) 4. Sélection d'un type d'emplacement 1. L'employé saisi au clavier le type d'emplacement voulu (E pour emplacement, M pour Mobil-Home, C pour chalet). 5. Affichage de la liste 1. Après validation, la liste s'affiche à condition que de la disponibilité existe. Description du flot alternatif 1 : Précondition :L'employé décide d'utiliser la méthode pour la consultation d'un numéro d'emplacement. [Décrochage après le Use Case «Proposition de la méthode de recherche»] 1. Le système demande à l'employé de saisir un numéro d'emplacement 2. Le système affiche les disponibilités de l'emplacement. Postcondition : Fin du Use Case. [Raccrochage avant le Use Case «Autre recherche»] Description du flot d exception : Précondition : la disponibilité a été vérifiée de façon négative. 1. Le système affiche un message d'erreur. 2. Le système propose une autre recherche.
Gestion de Camping - Analyse 17/27 V Tests Unitaires USE CASE : Créer/Modifier employé Testeur : Thibaud N Nom contrainte Descriptif 1 Login directeur erroné 2 Robustesse du micro menu 3 Déroulement employé 4 Enregistrement employé Contrainte 1 : Test c01-01 : Login directeur erroné On rentre un faux identifiant et/ou pseudo Le système nous envoie bouler et nous ramène à l'accueil. Contrainte 2 : Test c02-01 : Le micro menu doit nous demander de faire un choix valide jusqu'à temps que nous en fassions un. Nous rentrons un choix erroné Le programme prompt pour un autre choix. Contrainte 3 : Test c03-01 : Déroulement employé On stress le déroulement du fichier, pour voir si il n'y a pas de problème d'accès au fichier. Le programme est dans les bornes du fichier et ne cherche pas a lire de la mémoire qui n'est pas sienne. Contrainte 4 : Test c04-01 : Enregistrement employé On rentre un utilisateur avec des noms contenant chiffre ou autres...
Gestion de Camping - Analyse 18/27 Le programme nous envoie bouler, après vérification des différents enregistrements, il s'avère qu'un n'est pas valide le programme déclare alors la présence d'une erreur et dit si possible sur quel attribut. USE CASE : Modifier emploi du temps employé Testeur : Titouan N Nom contrainte Descriptif 1 2 3 4 Identification incorrecte Consulter emploi du temps employé inexistant Supprimer créneau inexistant Ajouter créneau déjà utilisé Retour à la page d accueil Affiche message d erreur Affiche message d erreur Affiche message d erreur Contrainte 1 : Test c01-01 : Tester la validité des identifiants. On essaye de se connecter en tant que directeur. On rentre 3 fois les mauvais identifiants. Retour à la page d accueil. Contrainte 2 : Test c02-01 : Vérifier que le message d'erreur apparaisse. On entre un nom d employé inexistant pour la consultation d emploi du temps. Le message suivant s'affiche : l employé recherché n existe pas. Contrainte 3 : Test c03-01 : Vérifier que le message d'erreur apparaisse. On supprime un créneau qui n existe pas.
Gestion de Camping - Analyse 19/27 Le message suivant s'affiche : ce créneau n est pas attribué. Contrainte 4 : Test c04-01 : Vérifier que le message d'erreur apparaisse. On ajoute un créneau sur un créneau déjà utilisé. Le message suivant s'affiche : ce créneau est déjà occupé. USE CASE : Consulter client Testeur : Thomas N Nom contrainte Descriptif 1 Tester la validité de la recherche Tester si le nom du client est conforme et existe dans les fichiers 2 Tester la validité du suivant Vérification de la saisie clavier. 3 Tester la validité du précédent Vérification de la saisie clavier. 4 Tester la validité de l'édition Vérification de la saisie clavier. Contrainte 1 : Test c01-01 : Tester si le nom du client est conforme lors de la recherche par nom. On choisi de consulter un client. On effectue la recherche par son nom. On entre un nom dans un format non correct (présence de chiffres) Le système écrit que le format du nom de client est invalide. Test c01-02 : Tester si le nom du client est présent dans le fichier. On choisi de consulter un client. On effectue la recherche par son nom. On entre un nom qui n'est pas présent dans le fichier. Le système écrit que le nom n'est pas présent dans le fichier. Contrainte 2 : Test c02-01 : Tester la validité du choix «suivant»
Gestion de Camping - Analyse 20/27 On choisi de consulter un client Par défaut le premier client est affiché. On veut afficher le client suivant dans la liste par ordre alphabétique? Ou par ordre d'identifiant? On ne saisie pas la bonne commande pour faire suivant. Exemple «S». Le système alerte que le choix n'est pas bon. Contrainte 3 : Test c03-01 : Tester la validité du choix «précédent» On choisi de consulter un client Par défaut le premier client est affiché. On veut afficher le client précédent dans la liste par ordre alphabétique? Ou par ordre d'identifiant? On ne saisie pas la bonne commande pour faire précédent. Exemple «P». Le système alerte que le choix n'est pas bon. Contrainte 4 : Test c04-01 : Tester la validité du choix «Edition» On choisi de consulter un client Par défaut le premier client est affiché. On veut afficher le client en cours sur l'écran avec son nom, son prénom et son adresse. On ne saisie pas la bonne commande pour faire édition exemple «P». Le système alerte que le choix n'est pas bon. Test c04-02 : Tester que le client que l'on souhaite éditer est bien présent dans le fichier. On choisi d'éditer un client à l'écran. On effectue la recherche par son nom et son prénom. On entre un mauvais nom et /ou prénom Le système alerte l'utilisateur que la personne n'est pas présente dans le système.
Gestion de Camping - Analyse 21/27 USE CASE : Consulter emplacement Testeur : Damien N Nom contrainte Descriptif 1 Tester date invalide 2 Saisie mauvais type d'emplacement 3 Mauvaise méthode de recherche 4 Emplacement non disponible Méthode par date et numéro emplacement 5 Emplacement disponible Méthode par date et numéro emplacement Contrainte 1 : Test c01-01 : Tester date arrivée invalide On choisi de consulter un emplacement. On effectue la recherche par la date. On rentre une date d'arrivée invalide au niveau du format. Le système écrit que le format de la date est invalide. Test c01-02 : Tester date départ invalide On choisi de consulter un emplacement. On effectue la recherche par la date. On rentre une date de départ invalide au niveau du format. Le système écrit que le format de la date est invalide. Contrainte 2 : Test c02-01 : Tester la saisie d'un mauvais type d'emplacement On choisi de consulter un emplacement. On effectue la recherche par la date. On rentre une date d'arrivée et départ valide. On saisie un mauvais type d'emplacement. Le système alerte l'utilisateur que le type n'est pas existant.
Gestion de Camping - Analyse 22/27 Contrainte 3 : Test c03-01 : Tester la saisie d'une mauvaise méthode de recherche On choisi de consulter un emplacement. On saisie une méthode de recherche inexistante. Le système alerte l'utilisateur que la méthode de recherche n'existe pas. Contrainte 4: Test c04-01 : Tester que le message s'affiche en cas d'emplacement non disponible. (méthode par date) On choisi de consulter un emplacement. On effectue la recherche par la date. On rentre une date d'arrivée et départ valide d'un emplacement non disponible. On saisie un bon type d'emplacement non disponible. Le système alerte l'utilisateur que l'emplacement est déjà réservé. Test c04-02 : Tester que le message s'affiche en cas d'emplacement non disponible. (méthode par numéro) On choisi de consulter un emplacement. On effectue la recherche par le numéro. On rentre numéro valide d'un emplacement non disponible. Le système alerte l'utilisateur que l'emplacement est déjà réservé. Contrainte 5 : Test c05-01 : Tester que la liste des emplacements disponibles s'affichent pour une date donnée. On choisi de consulter un emplacement. On effectue la recherche par la date. On rentre une date d'arrivée et départ valide d'un emplacement disponible. On saisie un bon type d'emplacement disponible. Le système affiche la liste des bons emplacements disponibles avec leurs dates. Test c05-02 : Tester que les dates de l'emplacement disponible s'affichent. (méthode par numéro)
Gestion de Camping - Analyse 23/27 On choisi de consulter un emplacement. On effectue la recherche par le numéro. On rentre numéro valide d'un emplacement disponible. Le système affiche les dates de l emplacement disponible ainsi que ses autres informations. USE CASE : Effectuer réservation Testeur : Jordane N Nom contrainte Descriptif 1 Enregistrer client valide 2 Enregistrer client invalide Affiche les messages d'erreurs 3 Enregistrer client déjà existant Affiche que déjà existant 4 Effectuer une réservation sur un emplacement non libre 5 Effectuer une réservation sur un emplacement libre On cherche a valider une réservation sur un emplacement déjà pris. Contrainte 1 : Test c01-01 : Tester la validité des informations du client créé. On créé un client. On effectue une réservation. On consulte le client grâce à son numéro. Le client est bien enregistré dans le fichier et il comporte exactement les attributs saisis. Contrainte 2 : Test c02-01 : Vérifier que les messages d'erreurs apparaissent. On créé un client en rentrant des valeurs invalides. Les messages suivants s'affichent : Le nom est trop long. Le prénom est trop long. Sexe indéterminé.
Gestion de Camping - Analyse 24/27 Age invalide. Date invalide. Téléphone invalide. Contrainte 3 : Test c03-01 : Vérifier que le client n'est pas de nouveau créé. On créé un client déjà dans le fichier. Le message suivant doit s'afficher : «Le client existe déjà. Passez à la réservation» Le client n'est pas deux fois dans le fichier. Contrainte 4 : Test c04-01 : Vérifier l'impossibilité de valider une réservation sur un emplacement déjà réservé. On consulte un emplacement réservé, et on essais de valider une nouvelle réservation. Le système ne propose pas la validation de la nouvelle réservation. L'employé peut consulter un autre emplacement. Contrainte 5 : Test c04-01 : Vérifier la validation d'une réservation sur un emplacement libre. On consulte un emplacement libre, on valide une nouvelle réservation. Le fichier réservation est correctement mis à jour avec la nouvelle réservation. L'emplacement n'est plus considéré comme «libre».
Gestion de Camping - Analyse 25/27 VI Maquettes Maquette : Accueil Auteur : Damien Logiciel de gestion de camping Projet COBOL L3 MIAGE Veuillez appuyer sur une touche... Logiciel gestion de camping Accueil Toutes les fonctions Choisissez une fonction : votre choix
Gestion de Camping - Analyse 26/27 Maquette : Consulter_emplacement Auteur : Thomas Logiciel gestion de camping Consultation des emplacements Quelle méthode de recherche vouslez-vous appliquer? Date à date : «D» Pour un numéro d'emplacement : «N» Choisissez une méthode : Validez par entrée Logiciel gestion de camping Consultation des emplacements Date à date Entrez la date d'arrivée : Entrez la date de départ : Type d'emplacement? (E,M,C) :
Gestion de Camping - Analyse 27/27 Maquette : Consulter_Client Auteur : Thibaud CLIENT N NUM NOM PRENOM ADRESSE. ATTRIBUTS. 1 : PRECEDENT 2 : SUIVANT 3 : RECHERCHE PAR NOM 4 : ALLER A NUM 5 : RETOURNER MENU PRINCIPAL VOTRE CHOIX : [PROMPT] Inutile d'expliquer 1 et F Par contre 3 réagit en : CLIENT N NUM NOM PRENOM ADRESSE. ATTRIBUTS. ENTREZ LE NOM : [PROMPT] 1 : PRECEDENT 2 : SUIVANT 3 : RECHERCHE PAR NOM 4 : ALLER A NUM 5 : RETOURNER MENU PRINCIPAL VOTRE CHOIX : [PROMPT] Puis place l'écran précédent sur le premier client portant le nom rentré en cas d'échec un : NOM NON TROUVE est affiché à la place de NOM A RECHERCHER 4 affiche la même chose que 3 sauf qu'elle demande un num et place le fichier exactement au nième enregistrement.