PLAN PROJET
Email : drissiabdellah1988@gmail.com
echchaari.brahim@gmail.com
Année : 2013/2014
1
Développement d’une application JAVA EE
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
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.
La recherche
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
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
Acteur
Acteurs Description
• Consulter ces réservations.
• Consulter les horaires de vol.
Client • Réserver des vols en ligne.
Page 5 sur 16
Développement d’une application JAVA EE
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
[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
Page 8 sur 16
Développement d’une application JAVA EE
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
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
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
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.
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.
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 :
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