Gestion de Réservation de Vols - Toubkal-it
Transcription
Gestion de Réservation de Vols - Toubkal-it
Développement d’une application JAVA EE PLAN PROJET Thème du projet : Gestion de Réservation de Vols Binôme ou monôme (B/M) : B Nom & Prénom : EL IDRISSI ABDELLAH ECHCHAARI BRAHIM Email : [email protected] [email protected] Année : 2013/2014 1 Développement d’une application JAVA EE Tables des figures Figure 1 : diagramme de cas d'utilisation .................................................................................................. 6 Figure 2 : diagramme de classe.................................................................................................................. 8 Figure 3: diagramme de séquence (ajouter vol ()).................................................................................... 9 Figure 4: diagramme de séquence (ajouter réservation ()) ..................................................................... 10 Figure 5:diagramme de séquence (réserver vols) ................................................................................... 11 Figure 6 : diagramme de séquence pour ajouter escale.......................................................................... 12 Figure 7: diagramme d’activité (réservation - facture) ............................................................................ 13 Figure 8: diagramme de déploiement ..................................................................................................... 14 Page 2 sur 16 Développement d’une application JAVA EE Sommaire I-Périmètre du projet : ............................................................................................................................... 4 vision du projet : .................................................................................................................................... 4 Architecture fonctionnelle ..................................................................................................................... 4 Référentiel des exigences ...................................................................................................................... 4 II-Analyse et Conception ............................................................................................................................ 5 1. Diagramme des cas d’utilisations : .................................................................................................... 5 1.1. Définition : .................................................................................................................................. 5 1.2. Rôle du diagramme des cas utilisation : ..................................................................................... 5 1.3. Identification des acteurs :.......................................................................................................... 5 1.4. Description détaillée des cas d’utilisation : ................................................................................ 6 2. Diagramme de classe : ....................................................................................................................... 7 2.1. Définition : .................................................................................................................................. 7 2.2. Description des classes de système (Central de réservation de vol) : ........................................ 8 3. Diagramme d’état transition : ............................................................................................................ 9 3.1. Définition : .................................................................................................................................. 9 3.2. Ajouter vol .................................................................................................................................. 9 3.3. Description .............................................................................................................................. 9 3.3. Ajouter Réservation: ................................................................................................................. 10 4. Diagramme de séquence: ................................................................................................................ 10 4.1. Définition : ................................................................................................................................ 10 Cas 1 : Réserver un vol : ................................................................................................................... 11 Cas 2 : Ajouter une escale : .............................................................................................................. 12 5. Diagramme d’activité : ..................................................................................................................... 13 5.1. Définition : ................................................................................................................................ 13 6. Diagramme de déploiement : .......................................................................................................... 14 6.1. Définition .................................................................................................................................. 14 III-Technologie :........................................................................................................................................ 15 Jsf : ....................................................................................................................................................... 15 Facelet .................................................................................................................................................. 15 Richfaces .............................................................................................................................................. 15 Spring ................................................................................................................................................... 15 Hibernate ............................................................................................................................................. 15 Page 3 sur 16 Développement d’une application JAVA EE Spring Security ..................................................................................................................................... 15 V-Outils : .................................................................................................................................................. 16 Eclipse .................................................................................................................................................. 16 Apache Tomcat : .................................................................................................................................. 16 MYSQL : ................................................................................................................................................ 16 I-Périmètre du projet : vision du projet : Notre site concerne la gestion de réservation du vols quand doit le développer en JAVA JEE, l’objectif de projet est de résoudre les problèmes de réservation au niveau de l’agence de voyage , d’optimiser la productivité des ressources humaines de l’Agence et de répondre aux attentes ciblées des utilisateurs des technologies informatiques. Architecture fonctionnelle Les principaux profils qui auront à utiliser notre système sont les suivants : • • • Administrateur : il possède les droits sur la gestion des utilisateurs. Utilisateur: il possède le droit de consulter les vols existants et d’effectuer des réservations par ligne. Employé : il possède le droit sur la majorité de fonctionnalités de l’application. Référentiel des exigences Les exigences fonctionnelles La recherche La première fonction que doit offrir le programme est la recherche de vols existant. Le site doit offrir plusieurs méthodes de recherche : date, aéroport… Les résultats de la recherche doivent apparaître sur une page particulière. Le visiteur doit pouvoir aussi accéder à une classification thématique, aux nouveautés ou aux activités les plus répandues. La consultation • Chaque vol doit pouvoir être présentée en détail sur une page. Cette page doit contenir : période de visualisation d’une semaine • sept lignes représentant les sept jours de la semaine, subdivisées par des lignes représentant les avions (une ligne par avion) Page 4 sur 16 Développement d’une application JAVA EE • des colonnes représentant les heures de la journée par tranche d’une heure (heure de début et heure de fin réglable) • des boutons de navigation permettant d’avancer ou de reculer d’une semaine avec des limites inférieures et supérieures réglables La sélection Le client doit avoir la possibilité de sélectionner et de réserver un vol. Il doit aussi pouvoir consulter les dates de fin de réservation pour effectuer son voyage (et aussi de les modifier) avant de valider son programme. La validation du programme A tout moment après avoir planifier ses activités choisies, le client peut s'il le souhaite obtenir une impression d’un planning contenant une descriptive de réservation qu’il a effectué. II-Analyse et Conception 1. Diagramme des cas d’utilisations : 1.1. Définition : Les diagrammes de cas d’utilisation permettent de décrire les grandes fonctionnalités du système du point de vue des utilisateurs. Un cas d’utilisation est un service rendu par le système. Les cas d’utilisation sont organisés en package. 1.2. Rôle du diagramme des cas utilisation : Donne une vue du système dans son environnement extérieur. Définit la relation entre l’utilisateur et les éléments que le système met en œuvre. 1.3. Identification des acteurs : Un acteur représente l’abstraction d’u n rôle joué par des entités externe (utilisateur, dispositif matériel ou autre système) qui interagissent directement avec le système étudié. Les principaux profils qui auront utilisé le SI sont les suivants : Acteur Acteurs Client Page 5 sur 16 • • • Description Consulter ces réservations. Consulter les horaires de vol. Réserver des vols en ligne. Développement d’une application JAVA EE • • Employé • Modifier et valider les réservations des clients après le payement. Vérification de la disponibilité des avions et des vols. Ajout, modification et suppression des comptes utilisateurs. Administrateur 1.4. Description détaillée des cas d’utilisation : Le cas d’utilisation du système est organisé en package: Gestion réservation US: gestion réservation Figure 1 : diagramme de cas d'utilisation Pré conditions : Les différents acteurs doivent s’authentifier pour avoir accès aux fonctionnalités du système. Description du traitement nominal : L’administrateur : le droit Gérer les comptes utilisateurs ; L’employé peut : 1.Modifier et valider les réservations des clients après le payement. 2. Vérification de la disponibilité des avions et des vols Page 6 sur 16 Développement d’une application JAVA EE Le Client peut : 1. Consulter ces réservations ; 2. consulter les horaires de vol ; 3. réserver des vols en ligne. Exceptions : [Exception 1 : Champs Obligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. [Exception 2 : Erreur Date] : Message d'erreur si la date de réservation est postérieure à la date de voyage. 2. Diagramme de classe : 2.1. Définition : Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations entre celles-ci. Ce diagramme fait partie de la partie statique d'UML car il fait abstraction des aspects temporels et dynamiques. Une classe décrit les responsabilités, le comportement et le type d'un ensemble d'objets. Les éléments de cet ensemble sont les instances de la classe Page 7 sur 16 Développement d’une application JAVA EE Figure 2 : diagramme de classe 2.2. Description des classes de système (Central de réservation de vol) : • • • • • • • • Aéroport : il possède un identifiant de type entier. Pilote : il possède un matricule comme identifiant et les informations d’un pilote concernant son nom, prénom, date de naissance, adresse et Numéro de téléphone. Vol : classe représente les informations d’un vol, son numéro comme identifiant, une date de départ et une date d’arrivée. Escale : il possède un numéro comme identifiant de la classe. Ville : représente la ville ou se trouve l’aéroport et ou se fait l’escale se caractérise par un code postale comme identifiant et un libelle. Pays : le pays ou se trouve la ville. Réservation : représente les informations de réservations d’un client il se caractérise par son type et son prix, cette classe représente une association entre La classe Vol et passager c’est une classe d’association. Passagère : cette classe représente les informations d’un passagère concernant son cin comme identifiant, nom, prénom, numéro de passeport, nationalité et adresse email. Page 8 sur 16 Développement d’une application JAVA EE • • • • Catégorie : cette clase représente les informations concernant la catégorie du passagère : type et remise. Avion : cette classe représente les informations d’avion son numéro comme identifiant, son nom et ca capacité totale. Classe : représente le type de classe, sa valeur ajoutée et son remise. Capacité : classe d’association entre la classe avion et classe il représente le nombre de places dans un avion et dans une classe donnée. 3. Diagramme d’état transition : 3.1. Définition : Les diagrammes d'états-transitions permettent de décrire les changements d'états d'un objet ou d'un composant, en réponse aux interactions avec d'autres objets/composants ou avec des acteurs. Un état se caractérise par sa durée et sa stabilité, il représente une conjonction instantanée des valeurs des attributs d'un objet. 3.2. Ajouter vol Figure 3: diagramme de séquence (ajouter vol ()) 3.3. Description : Ce diagramme représente les différents états possibles d’un vol dans le système : • En attente : après l’état initial et la création ou l’ajout d’un vol par l’employé de l’agence de voyage. • En vérification : l’état pour vérifier la disponibilité des éléments relationnelles avec l’objet vol après la création : Pilote et avion. • Validée : le vol est maintenant validé après tous les vérifications possibles. • Recherché : la recherche des vols déjà validées par numéro de vol. • Mise a jour : la possibilité de mettre a jours les informations d’un vol. • L’objet vol devient a l’état finale lorsque il ‘est : • Annulée : dans l’état en attente. • Supprimée : après la validation. • Validée : dernière état après toutes vérifications Page 9 sur 16 Développement d’une application JAVA EE 3.3. Ajouter Réservation: Figure 4: diagramme de séquence (ajouter réservation ()) Description : Ce diagramme représente les différents états possibles d’une réservation dans le système : • En attente : après l’état initial et la création ou l’ajout d’une réservation en ligne par le client. • En vérification : l’état de vérification de vol et des passagers. • Recherché : la recherche des réservations déjà validées pour chaque client. • Mise a jour : mettre a jours les réservations validées. • Payée : le payement de réservation par le client. • Validée : l’état après la validation de la date de départ prévue. • L’objet réservation devient a l’état finale lorsque il ‘est : • Annulée : dans l’état en attente avant la réservation en ligne par le client. • Supprimée : après la validation. • Réservée : l’état final après la vérification et le payement de client. • l’avion doit être libre sur la totalité de la durée de réservation (aucune autre réservation n’a été effectuée) • l’avion doit être disponible (maintenance, panne, etc.) • l’utilisateur n’a pas réservé un autre avion sur la même période • l’utilisateur n’a pas dépassé la limite du nombre de réservations accordées 4. Diagramme de séquence: 4.1. Définition : Un diagramme de séquence est un diagramme d'interaction qui expose en détail la façon dont les opérations sont effectuées : quels messages sont envoyés et quand ils le sont. Les diagrammes de séquence sont organisés en fonction du temps. Le temps s'écoule au fur et à mesure que vous parcourez la page. Les objets impliqués dans l'opération sont répertoriés de gauche à droite en fonction du moment où ils prennent part dans la séquence de messages. Page 10 sur 16 Développement d’une application JAVA EE Cas 1 : Réserver un vol : Figure 5:diagramme de séquence (réserver vols) Description : • • • • • • • • Acteur : Employée Objet : Vol Méthodes : getVol() : affichage des vols des avions. load() : chargement des vols disponibles . selectVol() : sélectionner le vol et affecter aux clients qui déjà réservée cet vol selon les horaires disponibles. indisponible() : le cas ou le vol est n’est pas disponible aucun client n’est inscris par exemple. validerReservation() : validation de réservation des client après le payement et l’affectation au vols concernées. Page 11 sur 16 Développement d’une application JAVA EE Cas 2 : Ajouter une escale : Figure 6 : diagramme de séquence pour ajouter escale Description : • • • • • • • • • • Acteurs : Employée Objet : Vol, Ville, Escale Méthodes : getVol() : affichage des vols des avions disponibles. getAll : la list de tous les vols des avions par pilote et avec tous les clients de ce vol. load() : chargement de la liste des vols disponibles . selectVol() : sélectionner le vol et affecter aux clients qui déjà réservée cet vol selon les horaires disponibles. Get Ville : affichage de la liste des villes disponible. Select Ville : sélectionner la ville pour effectuer l’escale pour le client voyagée. Ajouter Escale : validation d’escale après la vérification d’aéroport et de vol concerné en prisons la date de départ et la date d’arrivée de vol. Page 12 sur 16 Développement d’une application JAVA EE 5. Diagramme d’activité : 5.1. Définition : Diagramme de comportement, associé à un objet particulier ou à un ensemble d'objets, qui illustre les flux entre activités et actions. Il permet de représenter graphiquement le comportement d'une méthode ou le déroulement d'un cas d'utilisation. Les transitions sont déclenchées par la fin d'une activité et provoquent automatiquement le début immédiat d'une autre. En théorie, tous les mécanismes dynamiques pourraient être décrits par un diagramme d'activité, mais seuls les mécanismes complexes ou intéressants nécessitent d'être représentés. Figure 7: diagramme d’activité (réservation - facture) Page 13 sur 16 Développement d’une application JAVA EE 6. Diagramme de déploiement : 6.1. Définition Le diagramme de déploiement spécifie un ensemble de constructions qui peut être utilisé pour définir l'architecture d'exécution de systèmes qui représentent l'affectation d'artefacts logiciels à des nœuds. Les nœuds sont connectés via des chemins de communication pour créer des systèmes de réseau d'une complexité quelconque. Les nœuds sont en général définis d'une manière imbriquée et représentent soit des périphériques matériels, soit des environnements d'exécution de logiciels. Les artefacts représentent des éléments concrets du monde physique qui sont le résultat d'un processus de développement. Figure 8: diagramme de déploiement Page 14 sur 16 Développement d’une application JAVA EE III-Technologie : Jsf : Java Server Faces est un Framework de développement d’application Web en Java permettant de respecter le modèle d’architecture MVC et basé sur des composants côté présentation. Facelet • • • Technologie de présentation pour le développement d'applications web en Java ; Système de templating : permet de définir des vues de JSF en utilisant des calibres du modèle HTML ; Réduit la quantité de code nécessaire pour intégrer des composants dans la vue. Richfaces Librairie de composants JSF pour le développement d'applications web riches (RIA) Rich Internet Application avec Ajax. Spring • • Spring est un Framework open source J2EE pour applications 3-tiers ; Faciliter l'intégration des différentes technologies qui a priori sont pour le moins hétérogènes. Hibernate Hibernate est un Framework open source gérant la persistance des objets en base de données relationnelle. Hibernate est adaptable en termes d'architecture, il peut donc être utilisé aussi bien dans un développement client lourd, que dans un environnement web léger de type Apache Tomcat ou dans un environnement J2EE complet :WebSphere, JBoss Application Server et Oracle WebLogic Server. Hibernate apporte une solution aux problèmes d'adaptation entre le paradigme et les SGBD en remplaçant les accès à la base de données par des appels à des méthodes objet de haut niveau. Spring Security Framework qui permet la gestion de deux grandes problématiques liées à la sécurité applicative : • Authentification ; • Autorisation. Page 15 sur 16 Développement d’une application JAVA EE V-Outils : Eclipse Eclipse est l'environnement de développement (spécialisé pour le langage Java) qui sera utilisé dans ce projet. Le choix d'Eclipse repose essentiellement sur sa gratuité, sa facilité d'utilisation, sa puissance de développement et surtout ses nombreux plugins (bibliothèques additives). Apache Tomcat : Apache Tomcat est un conteneur libre de servlets et JSP Java EE. Issu du projet Jakarta, c'est un projet principal de l’Apache Software Foundation. Il implémente les spécifications des servlets et des JSP du Java Community Process1, est paramétrable par des fichiers XML et de propriétés, et inclut des outils pour la configuration et la gestion. Il comporte également un serveur HTTP. MYSQL : MySQL est un serveur de bases de données relationnelles Open Source. Un serveur de bases de données stocke les données dans des tables séparées plutôt que de tout rassembler dans une seule table. Cela améliore la rapidité et la souplesse de l'ensemble. Les tables sont reliées par des relations définies, qui rendent possible la combinaison de données entre plusieurs tables durant une requête. Le SQL dans "MySQL" signifie "Structured Query Language" : le langage standard pour les traitements de bases de données. Page 16 sur 16