Gestion de Réservation de Vols - Toubkal-it

publicité
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
Téléchargement