Agence de Voyage
Agence de Voyage
Agence de Voyage
No Réf :……………
Centre Universitaire
Abd elhafid boussouf Mila
Abstract
The interest of this work is to computerize (automated) the management of travel
agency. This computerization results in the implementation of a system which manages the
operation of the agency. The usefulness of this system is to facilitate the management of
the agency for the administrative and keeping a permanent contact with the customer.
Modeling the management system of a travel agency was made by UML relying on
the Laurent Audibert simplified process. The database and the application respectively,
were created by the MySQL DBMS and a set of web technologies with the Java language.
Keywords:UML, JAVA, MySQL, java EE, Eclipse, Tomcat, JSP, Sevlet…
ملخص
هذه انحىسبت تتزجى بتطبيق نظبو يديز،انًصهحت ين هذا انعًم هي حىسبت تسيز وكبنت انسفز
انفبئدة ين هذا اننظبو هى تسهيم تسييز انىكبنت ين جبنب اإلدارة و انبقبء عهى اتصبل دائى يع.انىكبنت
.انزببئن
Laurent ببالعتًبد عهى انطزيقت انًبسطت لuml :نًذجت نظبو إدارة وكبنت انسفز تى بىاسطت
و يجًىعت ينSGBD MySQL قبعدة انبيبنبث وانتطبيق أنشئتب عهى انتزتيب بىاسطت.Audibert.
. java تكنىنىجيبث انىيب حىل نغت انبزيجت
: الكلمات المفتاحية
… Sevlet, JSP, Tomcat, Eclipse, java EE, MySQL, JAVA, UML
Introduction générale
L'informatique, de nos jours, est l'outil indispensable à tout chef d'entreprise qui ne
veut pas rester en marge de la mondialisation. C'est l'outil dont toute entreprise doit
disposer pour son développement. Vu l'intéressement de la plupart des chefs d'entreprise à
disposer de cet outil de gestion, il convient donc de montrer ses bienfaits dans un monde en
perpétuelle évolution technologique.
L'informatique est de plus en plus utilisée dans tous les domaines d'activités y compris
celui de la gestion des agences de voyages, ces dernier ont besoin de proposer leurs services
en ligne, pour objectif de satisfaire la clientèle par l’offre de meilleur voyage.
Notre étude vise à proposer une application web afin de leur concevoir un système
d'information automatisé en ligne. Cette application facilitera la gestion de l’agence de
voyage en simplifiant son travail de proposition de leurs services aux clients à travers le
web. Pour la réalisation de cette tâche, notre choix s'est porté sur Le langage de
modélisation UML et une démarche projet basé sur le processus simplifiées de Laurent
Audibert.
Notre mémoire est organisé en quatre chapitres :
Chapitre 01 « phase d’identification des besoins » : défini le but de notre projet et son
cahier de charge en identifiant les besoins fonctionnel et technique et les différents
acteurs du système ainsi que leurs différents cas d’utilisation.
Chapitre 02 «phase d’analyse»: c’est la où la première version du diagramme de
classe (le modèle des classes du domaine) est développée ainsi que les diagrammes de
classe participantes.
Chapitre 03 «phase de conception»: Présente la vue dynamique (comportementale) du
système, il contient les diagrammes d’interactions, les diagrammes de classes de
conception, et le diagramme de déploiement.
Chapitre 04 «phase d’implémentation»: Présente les outils de développement que
nous avons utilisé et expose quelques interfaces de notre application.
Chapitre 01 : Identification des besoins
Introduction
Ce chapitre présent l’identification des besoins d’utilisateur, en premier lieu nous
allons définir le cahier de charge. Ensuite nous passons à l’identification des acteurs qui
interagiront avec le système. Enfin, l’identification des différents cas d’utilisation.
1. Le cahier de charge
1.1. Le but de projet
L’objectif de ce projet est la conception et la réalisation d’une application web pour
une agence de voyage afin d’assurer une bonne gestion des demandes pour les voyageurs
et les touristes.
1.2. Le dictionnaire de données
Le dictionnaire de données représente l’ensemble des termes utilisés tout en long du
projet.
Donnée Définition
Client
Login Le login d’un client
Mot_de_passe Le mot de passe d’un client
Nom_cli Le nom d’un client
Prenom_cli Le prénom d’un client
Adresse_cli L’adresse d’un client
Email_cli L’email d’un client
Num_tel_cli Le numéro de téléphone d’un client
Sexe_cli Le sexe d’un client
Date_n_cli La date de naissance d’un client
Séjour Un voyage qui visite une région, un ou plusieurs pays.
Guide L’assistance.
Offre
Nom_ofr Le nom d’une offre (Hadj, Omra, voyage touristique)
Ville_dep_ofr La ville de départ d’une offre
Date_dep_ofr La date de début d’une offre
Dest_ofr La ville de destination d’une offre
Dure_ofr La durée d’une offre
Prix _ofr Le prix d’offre
22
Chapitre 01 : Identification des besoins
Location voiture
Pays_vtr Le pays d’une voiture
Date_vtr La date de location d’une voiture
Date_rest_vtr La date de restitution d’une voiture
Prix_vtr Le prix de location d’une voiture
Cmp_vtr La compagnie ou l’entreprise de voiture
Hôtel
Nom_hot Le nom de l’hôtel
Adr_hot L’adresse de l’hôtel (la destination)
Catg_hot La catégorie de l’hôtel (*. ** . *** . **** . *****, non
classé)
Date_hot La date de réservation d’une chambre d’hôtel
Nbr_per_hot Le nombre de personne
Dure _hot Le temps (durée) de réservation d’une chambre de l’hôtel
Prix_hot Le prix d’une chambre
Billet
Type billet Le type de billet soit billet d’un voyage aérien au
maritime ou ferroviaires (vol, croisière, train)
Catg_billet La catégorie d’un billet (un billet « Aller simple » ou
« Aller/routeur »)
Vols Billet d’avion
Dest_vol La ville de destination d’un vol
Date _vol La date de départ d’un vol
Date_rtr_vol La date de retour d’un vol
Nbr_per_vol Le nombre de places
Cmp_vol Les compagnies aériennes
Classe_vol La classe (1er choix, affaire, économique)
Prix_vol Le prix de vol.
Catg_billet_vol La catégorie d’un vol
Croisière Billet de bateau
Dest_crs La destination d’une croisière
Date_crs La date d’une croisière
23
Chapitre 01 : Identification des besoins
24
Chapitre 01 : Identification des besoins
25
Chapitre 01 : Identification des besoins
26
Chapitre 01 : Identification des besoins
Demander
voiture «include»
Demander
billet
Demander
séjour Demander
hotel
Demander
Demander croisière
vol Demander
Client Annuler
billet de train
reservation
«include»
Rechercher demande
Consulter offre
«include»
«include»
«extend»
Reserver offre
Rechercher «include»
«include»
offre
«include»
Gérer les offres
S'authentifier
«include»
«include»
Ajouter
Supprimer offre
offre Modifier
offre
«includ»
e»
Admin
«include»
«include»
Valider demande
Gérer les comptes Gérer les demandes
d'annulation
des clients des clients
d'une offre
Valider demande
d'annulation
Valider Supprimer d'un service
compte compte
Valider demande
«include» de réservation
d'un service «include»
Rechercher
compte
27
Chapitre 01 : Identification des besoins
28
Chapitre 01 : Identification des besoins
29
Chapitre 01 : Identification des besoins
Scenario d’erreur /
c. Fiche descriptive du cas d’utilisation « Supprimer compte »
Cas d’utilisation Supprimer compte
Acteur principal Administrateur.
30
Chapitre 01 : Identification des besoins
31
Chapitre 01 : Identification des besoins
32
Chapitre 01 : Identification des besoins
33
Chapitre 01 : Identification des besoins
34
Chapitre 01 : Identification des besoins
35
Chapitre 01 : Identification des besoins
Pré condition /
Post condition Le système affiche le résultat de la recherche.
1. L’utilisateur choisit un critère de recherche (nom_ofr,
Scenario nominal dest_ofr, prix_ofr, date_dep_ofr)
2. Le système affiche à l’utilisateur le résultat de
recherche.
1. Les critères de recherche ne conduisent à aucune
Scenario alternatif offre.
1.1. Reprendre le scénario au point 1.
Scenario d’erreur /
2.3.8. Fiche descriptive du cas d’utilisation « Consulter offres »
Cas d’utilisation Consulter offres
Acteur principal Client, administrateur.
Objectif Donner une présentation générale sur les offres de l’agence.
Pré condition La recherche d’offre est déjà effectuer.
Post condition L’utilisateur prend une idée sur les offres de l’agence en
détaille.
36
Chapitre 01 : Identification des besoins
37
Chapitre 01 : Identification des besoins
38
Chapitre 01 : Identification des besoins
39
Chapitre 01 : Identification des besoins
Scenario alternatif /
Scenario d’erreur /
2.3.12. Fiche descriptif de cas d’utilisation «Gérer les demandes des clients»
Cas d’utilisation Gérer les demandes des clients
Acteur principal Administrateur
40
Chapitre 01 : Identification des besoins
41
Chapitre 01 : Identification des besoins
Système
Client
Demander l'inscription()
Enregistrer()
Message de confirmation
[Else]
Afficher le formulaire d'inscription autre fois avec un msg d'erreur
42
Chapitre 01 : Identification des besoins
Système
Administrateur,
Client
Damander l'accés au système()
[Si: Client]
Afficher l'espace client
[Else ]
Afficher le formulaire d'authentification avec un message d'erreur
43
Chapitre 01 : Identification des besoins
Système
Administrateur
REF
Diagramme s'authentifier
REF
Diagramme rechercher compte
REF
Diagramme valider compte
REF
Diagramme supprimer compte
Système
Administrateur
Choisir un critère de recherche(nom_cli,prenom_cli)
Verifier()
[ Else]
44
Chapitre 01 : Identification des besoins
Système
Administrateur
Demander les comptes non valides()
Verifier()
Afficher les comptes non valides qui existent
Valider()
Confirmer la validation
Systéme
Administrateur
REF
Diagramme rechercher compte
45
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
REF
Diagramme demander séjour
REF
Diagramme demander hotel
REF
Diagramme demander billet
46
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
Afficher le formulaire d'hôtel,billet (vol ,billet de train et croisière) et une case pour le guide
Verifier()
Enregistrer()
Message de confirmation
[Else]
Message d'erreur
Système
Client
REF
Diagramme s'authentifier
Afficher le formulaire (adr_hot, date_ hot, catg_ hot, prix_hot , nbr_per_hot, dure _hot)
Saisir les informations (adr_hot, date_ hot, catg_ hot, prix_hot ,nbr_per_hot, dure _hot)
Verification()
Enregistrer()
Message de confirmation
[Else]
Message d'erreur
47
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
REF
Diagramme demander vol
REF
Diagramme demander billet de train
REF
Diagramme demander croisière
Système
Client
REF
Diagramme s'authentifier
Verification()
Enregistrer()
Message de confirmation
[Else]
Message d'erreur
48
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
Verification()
Message de confirmation
[Else]
Message d'erreur
Système
Client
REF
Diagramme s'authentifier
Verification()
Enregistrer()
Message de confirmation
[Else]
Message d'erreur
49
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
Message de confirmation
[Else]
Message d'erreur
Système
Administrateur,Client
Choisir un critère de recherche(nom_ofr,service)
Verifier()
[ Else]
50
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
REF
Diagramme rechercher demande
Enregistrer()
Valider l'annulation
Système
Administrateur,
client
Choisir un critère de recherche(nom_ofr, dest_ofr, prix_ofr, date_dep_ofr)
Verifier()
[sinon]
51
Chapitre 01 : Identification des besoins
Système
Client,administrateur
REF
Diagramme rechercher offre
Système
Client
REF
Diagramme s'authentifier
Enregistrer()
Enregistrer la réservation
52
Chapitre 01 : Identification des besoins
Système
Client
REF
Diagramme s'authentifier
REF
Diagramme rechercher demande
Enregistrer()
Valider l'annulation
53
Chapitre 01 : Identification des besoins
Systéme
Administrateur
REF
Diagramme s'authentifier
REF
Diagramme ajouter offre
REF
Diagramme modifier offre
REF
Diagramme supprimer offre
54
Chapitre 01 : Identification des besoins
Système
Administrateur
Afficher un formulaire(nom_ofr,date_dep_ofr,dest_ofr,dure_ofr,prix_ofr,ville_dep_ofr,photo)
Verification()
Ajouter()
Confirmer l'ajout
Système
Administrateur
REF
Rechercher offre
Enregistrer()
valider la modification d'offre
[Else]
Message d'erreur "les champs mal modifier"
55
Chapitre 01 : Identification des besoins
Système
Administrateur
REF
Rechercher offre
Supprimer()
Systéme
REF
Diagramme valider demande de reservation d'un service
REF
Diagramme valider demande d'annulation d'un service
REF
Diagramme valider demande d'annulation d'une offre
Figure 1.26 : diagramme de séquence système « Gérer les demandes des clients»
56
Chapitre 01 : Identification des besoins
Système
Administrateur
REF
Rechercher demande
Système
Administrateur
REF
Rechercher demande
Confirmer l'annulation
57
Chapitre 01 : Identification des besoins
Système
Administrateur
REF
Diagramme Rechercher demande
Valider()
Valider une annulation
Conclusion
Dans ce chapitre, nous avons documenté les besoins du système d’une agence de
voyage dans le cahier des charges. Puis, nous avons élaboré le diagramme de cas
d’utilisation du système, pour chaque cas d’utilisation, nous avons fourni une description
textuelle, et une représentation des scénarios par le diagramme de séquence système.
58
Chapitre 02 : Phase d’analyse
Introduction
Ce chapitre présent la phase d’analyse, nous allons élaborer la première version du
diagramme de classe(le modèle des classes du domaine). Puis, nous développerons les
diagrammes de classe participantes qui effectuent la jonction entre les cas d’utilisation, le
modèle de domaine et la maquette IHM d’une part, et les diagrammes de conception
logicielles qui sont les diagrammes de séquence et le diagramme de classes de conception
d’autre part.
1. Analyse du domaine
1.1. Démarche
Notre démarche consiste à:
Identifier les concepts du domaine
Identifier les classes et les associations
Affecter les attributs aux classes
1.2. Identification des concepts du domaine
Nous allons prendre les cas d’utilisation cas par cas et nous allons poser la question:
quel sont les concepts métier qui participent à ce cas d’utilisation?
Créer compte :
Client.
Compte.
S’authentifier :
Administrateur.
Client.
Rechercher offres :
Client.
Administrateur.
Offre
Consulter offres :
Client.
Administrateur.
Offre
Demander service :
Client.
Demander séjour :
60
Chapitre 02 : Phase d’analyse
Client.
Séjour.
Demander hôtel :
Client.
Hôtel.
Demander billet :
Client.
Demander vol :
Client.
Vol.
Demander billet de train :
Client.
Billet de train.
Demander croisière :
Client.
Croisière.
Demander voiture :
Client.
Voiture.
Rechercher Demande :
Client.
Administrateur.
Réserver offre :
Client.
Offre.
Annuler réservation
Client.
Séjour.
Hôtel.
Vol.
Croisière
Billet de train
Voiture
Offre.
61
Chapitre 02 : Phase d’analyse
Gérer les offres :
Administrateur.
Offre.
Ajouter offre:
Administrateur.
Offre.
Supprimer offre :
Administrateur.
Offre.
Modifier offre :
Administrateur.
Offre.
Gérer les demandes des clients :
Administrateur.
Valider demande de réservation d’un service :
Administrateur.
Séjour.
Hôtel.
Vol.
Croisière
Billet de train
Voiture
Client
Valider demande d’annulation d’un service :
Administrateur.
Séjour.
Hôtel.
Vol.
Croisière.
Billet de train.
Voiture
Client.
Valider demande d’annulation d’une offre :
Offre.
62
Chapitre 02 : Phase d’analyse
Administrateur.
Gérer les comptes des clients :
Administrateur.
Client.
Rechercher compte :
Administrateur.
Client.
Valider compte :
Administrateur.
Client.
Supprimer compte :
Administrateur.
Client.
1.3. Identification des classes et des associations
Client
1..*
1
1 1
1 1
Réserver Réserver 1 Réserver
Gérer
Réserver
0..* 0..* 0..* 0..* 0..* 0..*
0..*
Offre Sejour Hotel Vol Billet_train Croisiere Voiture
1 1
1
1
2. Le modèle de domaine
Un modèle du domaine est un diagramme de classes modélisant les entités ou concepts
présents dans le domaine de l’application. Il s’agit donc de produire un modèle des objets
du monde réel. [2]
64
Chapitre 02 : Phase d’analyse
Client
id_cli
nom_cli
1..* prenom_cli
adresse_cli
email_cli
1 num _tel_cli
1 login
1 mot_de_passe
Reserver 1
1 sexe_cli
date_n_cli
1
Reserver 1
validation
1
Reserver Reserver 1
1 Reserver
Reserver
0..* 0..*
0..* 0..*
0..*
Vol 0..* Reserver 0..*
Offre Sejour Hotel Croisiere Voiture
id_vol Billet_train
id_ofr id_sej dest_vol id_crs id_vtr
id_hot id_train
nom_ofr id_hot date_vol dest_crs date_rest_vtr
adr_hot dest_train
date_dep_ofr id_vol nbr_per_vol date_crs pays_vtr
catg_hot date_train
dest_ofr id_train classe_vol prix_crs date_vtr
date_hot prix_train
dure_ofr id_crs prix_vol nbr_per_crs prix_vtr
nbr_per_hot nbr_per_train
ville_dep_ofr guide catg_billet_vol port_crs cmp_vtr
dure_hot catg_billet_train 0..*
prix_ofr typ_dmd date_rtr_vol 0..* catg_billet_crs typ_dmd
prix_hot cmp_train
photo cmp_vol cmp_crs
0..*
nom_hot typ_dmd
0..*
typ_dmd typ_dmd typ_dmd
typ_dmd 0..*
0..* 0..*
0..* 0..* 0..*
0..* 0..*
Gérer Gérer Gérer
Gérer
Gérer 1
1
1 Gérer
1 Administrateur 1
id-adm
1
nom_adm Gérer
11
Gérer 1 prenom_adm
login
mot_de_passe
65
Chapitre 02 : Phase d’analyse
3.1. DCP : Créer compte
«Dialogue» «Dialogue»
EcranMessage EcranMessage
Succés Erreur
message message
Afficher_message() Afficher_message()
DCC S'authentifier
«Controle»
«Dialogue» Authentification
EcranAuthentification
«Entité»
login Client
mot_de_passe
login
Acces_systeme() mot_de_passe
Annuler()
Administrateur, Acces_systeme()
client Annuler()
«Entité»
Administrateur
login
mot_de_passe
66
Chapitre 02 : Phase d’analyse
3.3. DCP : Rechercher compte
DCP Rechercher compte
«dialogue»
EcranRechercherCompte
«entité»
nom_cli
«control» Client
prenom_cli
ControlRechercherCompte id_cli
login
mot_de_passe
nom_cli
Administrateur prenom_cli
adresse_cli
Rechercher()
num_tel_cli
Annuler()
email_cli
sexe_cli
Rechercher()
date_n_cli
Annuler()
validation
«dialogue» «dialogue»
EcranMessage EcranAffichage
message id_cli
login
nom_cli
Afficher_message() prenom_cli
adresse_cli
num_tel_cli
email_cli
sexe_cli
date_n_cli
validation
Afficher_compte()
«dialogue» «entité»
SupprimerCompte Client
«controle»
id_cli SupprimerCompte id_cli
login login
nom_cli mot_de_passe
prenom_cli nom_cli
adresse_cli Supprimer() prenom_cli
num_tel_cli adresse_cli
email_cli num_tel_cli
sexe_cli email_cli
Administrateur date_n_cli sexe_cli
validation date_n_cli
«dialogue» validation
Supprimer() EcranMessageSuccés
message
Afficher_message()
67
Chapitre 02 : Phase d’analyse
3.5. DCP : Valider compte
«dialogue»
ValiderCompte «controle»
«entité»
id_cli ValiderCompte
Client
login
nom_cli validation
prenom_cli
Supprimer()
adresse_cli
num_tel_cli
email_cli
sexe_cli
Administrateur date_n_cli
«dialogue»
EcranMessageSuccés
Supprimer()
message
Afficher_message()
68
Chapitre 02 : Phase d’analyse
3.6. DCP : Demander séjour
message message
Afficher_message() Afficher_message()
«dialogue»
DemanderSéjour
«entité»
Hotel «controle» Client
vol «dialogue» DemanderSéjour
croisière id_cli
billet de train
guide
verifier()
Demander hotel()
Client Demander hotel() Demander vol() «entité»
Demander vol() Demander croisiere() Sejour
Demander croisière() Demander billet de train() id_sej
Demander billet de train() Annuler() id_hot
Annuler() id_vol
id_train
id_crs
guide
typ_dmd
«entité»
Vol
«entité»
id_vol Hotel
dest_vol
date_vol id_hot
nbr_per_vol adr_ hot
classe_vol catg_hot
catg_billet_vol date_hot
prix_vol nbr_per_hot
date_rtr_vol dure_hot
typ_dmd prix_hot
typ_dmd
«entité»
BilletTrain «entité»
Croisière
id_train
dest_rain id_crs
date_train dest_crs
prix_train date_crs
catg_billet_train prix_crs
nbr_per_train nbr_per_crs
typ_dmd catg_billet_crs
typ_dmd
69
Chapitre 02 : Phase d’analyse
3.7. DCP : Demander hôtel
DCP Demander hotel
«dialogue»
DemanderHotel «controle» «entité»
DemanderHotel Hotel
adr_hot
«dialogue»
catg_hot id_hot
date_hot adr_hot
nbr_per_hot catg_hot
dure_hot date_hot
prix_hot Verifier() nbr_per_hot
Demander() dure_hot
Client Annuler() prix_hot
Demander()
typ_dmd
Annuler()
«entité»
Client
id_cli
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
Demander()
Annuler() «entité»
Client
«dialogue» id_cli
«dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
70
Chapitre 02 : Phase d’analyse
3.9. DCP : Demander billet de train
DCP Demander billet de train
«entité»
«dialogue» «controle» BilletTrain
DemanderBilletDeTrain DemanderBilletDeTrain
id_train
dest_rain dest_rain
date_train date_train
prix_train prix_train
catg_billet_train catg_billet_train
Client nbr_per_train nbr_per_train
typ_dmd
Verifier()
Demander() Demander()
Annuler() Annuler()
«entité»
Client
id_cli
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
«entité»
«dialogue»
«controle» Croisiere
DemanderCoisière
DemanderCroisière
dest_crs id_crs
date_crs dest_crs
prix_crs date_crs
port_crs prix_crs
nbr_per_crs nbr_per_crs
Client verifier()()
catg_billet_crs catg_billet_crs
Demander()
typ_dmd
Annuler()
Demander()
Annuler() «entité»
Client
id_cli
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
71
Chapitre 02 : Phase d’analyse
3.11. DCP : Demander voiture
DCP Demander voiture
«dialogue» «entité»
DemanderVoiture «controle» Voiture
«dialogue» DemanderVoiture
pays_vtr id_vtr
date_vtr pays_vtr
date_rest_vtr date_vtr
prix_vtr date_rest_vtr
prix_vtr
Client typ_dmd
Verifier()
Demander()
Demander()
Annuler()
Annuler()
«entité»
Client
id_cli
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
«dialogue»
RechercherOffre «controle» «entité»
«dialogue» RechercherOffre Offre
nom_ofr
date_dep_ofr nom_ofr
dest_ofr date_dep_ofr
prix_ofr dest_ofr
Rechercher() prix_ofr
Annuler()
Client,
administrateur Rechercher()
Annuler()
« dialogue»
« dialogue» EcranAffichage
EcranMessage
nom_ofr
message date_dep_ofr
dest_ofr
prix_ofr
Afficher_message()
Afficher_offre()
72
Chapitre 02 : Phase d’analyse
3.13. DCP : Consulter offre
«dialogue»
ConsulterOffre «entité»
«controle» Offre
nom_ofr ConsulterOffre
ville_dep_ofr
«dialogue» nom_ofr
date_dep_ofr ville_dep_ofr
dest_ofr date_dep_ofr
dure_ofr dest_ofr
prix_ofr dure_ofr
photo Consulter()
Client, prix_ofr
Annuler()
administrateur typ_dmd
photo
Consulter()
Annuler()
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
73
Chapitre 02 : Phase d’analyse
3.15.DCP : Ajouter offre
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
74
Chapitre 02 : Phase d’analyse
3.17. DCP : Supprimer offre
DCP Supprimer offre
«dialogue» «entité»
SupprimerOffre Offre
«controle»
nom_ofr
«dialogue» SupprimerOffre id_ofr
date_dep_ofr nom_ofr
dest_ofr ville_dep_ofr
prix_ofr date_dep_ofr
dest_ofr
Supprimer() dure_ofr
Administrateur Annuler() prix_ofr
Supprimer() typ_dmd
Annuler() photo
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
«dialogue» «entité»
AnnulerReservationOffre Offre
id_ofr «controle»
nom_ofr AnnulerReservationOffre typ_dmd
ville_dep_ofr
date_dep_ofr
dest_ofr
dure_ofr
Client prix_ofr «entité»
Annuler resevation()
typ_dmd Client
Annuler()
photo
id_cli
Annuler resevation()
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
75
Chapitre 02 : Phase d’analyse
3.19.DCP : Rechercher demande
«entité»
Voiture
«dialogue» «dialogue» «dialogue» id_vtr
EcranAffichage EcranAffichage EcranAffichage pays_vtr
id_ofr id_crs date_vtr
nom_ofr id_vtr date_rest_vtr
dest_crs pays_vtr
ville_dep_ofr date_crs prix_vtr
date_dep_ofr date_vtr cmp_vtr
prix_crs date_rest_vtr
dest_ofr nbr_per_crs typ_dmd
dure_ofr prix_vtr
catg_billet_crs cmp_vtr
prix_ofr cmp_crs
typ_dmd typ_dmd
typ_dmd
photo «entité»
Croisiere
id_crs
dest_crs
«dialogue» «dialogue» «dialogue» date_crs
EcranAffichage EcranAffichage EcranAffichage prix_crs
id_vol nbr_per_crs
id_train id_hot
dest_vol catg_billet_crs
dest_rain adr_hot
date_vol cmp_crs
date_train nom_hot
nbr_per_vol typ_dmd
prix_train catg_hot
catg_billet_train classe_vol date_hot
nbr_per_train catg_billet_vol nbr_per_hot «entité»
cmp_train prix_vol dure_hot Billet_train
typ_dmd date_arv_vol prix_hot
cmp_vol typ_dmd id_train
typ_dmd dest_rain
date_train
prix_train
catg_billet_train
nbr_per_train
«dialogue» cmp_train
EcranAffichage typ_dmd
id_sej
hotel «entité»
vol «entité» Vol
billet de train Hotel
croisiere id_vol
id_hot «entité»
guide dest_vol
adr_hot Sejour
typ_dmd date_vol
nom_hot id_sej nbr_per_vol
catg_hot id_hot classe_vol
date_hot id_vol catg_billet_vol
nbr_per_hot id_train prix_vol
dure_hot id_crs date_rtr_vol
prix_hot guide cmp_vol
typ_dmd typ_dmd typ_dmd
76
Chapitre 02 : Phase d’analyse
3.20. DCP : Annuler réservation d’un séjour
Annuler reservation d'un séjour
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue» «controle»
AnnulerReservationSéjour AnnulerReservationSéjour «entité»
id_sej Client
«dialogue»
Hotel id_cli
vol
croisière
billet de train
guide
Client typ_dmd Annuler reservation()
Annuler()
Annuler reservation() «entité»
Annuler() Sejour
«entité» type_dmd
Vol
typ_dmd
«entité»
Hotel
«entité» typ_dmd
BilletTrain
typ_dmd
«entité»
Croisière
typ_dmd
77
Chapitre 02 : Phase d’analyse
3.21. DCP : Annuler réservation d’un hôtel
message
Afficher_message()
«dialogue»
AnnulerReservationHotel «entité»
«controle» Hotel
id_hot
adr_hot AnnulerReservationHotel typ_dmd
nom_hot
catg_hot
date_hot
Client nbr_per_hot
dure_hot «entité»
prix_hot Annuler resevation()
Annuler() Client
typ_dmd
id_cli
Annuler resevation()
Annuler()
message
Afficher_message()
«dialogue» «controle»
AnnulerReservationVol AnnulerReservationVol
id_vol
«entité»
dest_vol
Vol
date_vol
nbr_per_vol typ_dmd
classe_vol
catg_billet_vol
Client prix_vol Annuler resevation()
date_arv_vol Annuler()
cmp_vol
«entité»
typ_dmd
Client
Annuler resevation() id_cli
Annuler()
78
Chapitre 02 : Phase d’analyse
3.23. DCP : Annuler réservation d’une croisière
Annuler reservation d'une croisière
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
AnnulerReservationCroisière
id_crs
dest_crs «controle»
date_crs AnnulerReservationCroisière «entité»
prix_crs Croisière
nbr_per_crs typ_dmd
Client catg_billet_crst
cmp_crs
typ_dmd
Annuler resevation()
Annuler()
Annuler resevation() «entité»
Annuler() Client
id_cli
message
Afficher_message()
«dialogue»
AnnulerReservationBillet
DeTrain «controle»
id_train AnnulerReservationBillet
dest_rain DeTrain «entité»
date_train BilletTrain
prix_train
catg_billet_train type_dmd
nbr_per_train
Client
cmp_train
typ_dmd
Annuler resevation() «entité»
Annuler resevation() Annuler() Client
Annuler() id_cli
79
Chapitre 02 : Phase d’analyse
3.25. DCP : Annuler réservation d’une voiture
Annuler reservation d'une voiture
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
Annuler «controle»
ReservationVoiture Annuler
ReservationVoiture
id_vtr «entité»
pays_vtr Voiture
date_vtr
date_rest_vtr typ_dmd
Client prix_vtr
cmp_vtr Annuler resevation()
typ_dmd Annuler()
«entité»
Annuler resevation() Client
Annuler()
id_cli
«dialogue»
«dialogue»
ValiderDemande «controle» «entité»
AnnulationOffre ValiderDemande Offre
id_ofr AnnulationOffre
typ_dmd
nom_ofr
ville_dep_ofr
date_dep_ofr
dest_ofr
dure_ofr
Administrateur prix_ofr «entité»
typ_dmd Client
photo Valider demande()
id_cli
Annuler()
Valider demande()
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
80
Chapitre 02 : Phase d’analyse
3.27. DCP : Valider demande de réservation d’un séjour
Valider demande de reservation d'un séjour
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«controle»
ValiderDemande
«dialogue» ReservationSéjour
ValiderDemande
«entité»
ReservationSéjour
Client
«dialogue»
id_cli
id_sej
Hotel
vol
croisière Verifier()
billet de train Valider demande()
Administrateur guide Annuler()
typ_dmd
«entité»
Sejour
Valider demande()
Annuler() «entité» type_dmd
Vol
cmp_vol
typ_dmd
«entité»
Hotel
«entité» nom_hot
BilletTrain typ_dmd
cmp_train
typ_dmd «entité»
Croisière
cmp_crs
typ_dmd
81
Chapitre 02 : Phase d’analyse
3.28. DCP : Valider demande de réservation d’un hôtel
Valider demande de réservation d'un hôtel
«dialogue»
ValiderDemande «entité»
RéservationHôtel Hotel
«controle»
id_hot ValiderDemande nom_hot
adr_hot RéservationHôtel typ_dmd
nom_hot
catg_hot
Administrateur date_hot
nbr_per_hot
dure_hot
prix_hot Verifier()
typ_dmd Valider resevation() «entité»
Annuler() Client
Valider resevation() id_cli
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
ValiderDemande
RéservationVol
«entité»
id_vol Vol
«controle»
dest_vol
ValiderDemande cmp_vol
date_vol
RéservationVol typ_dmd
nbr_per_vol
classe_vol
catg_billet_vol
prix_vol
Administrateur date_rtr_vol «entité»
cmp_vol Client
Verifier()
typ_dmd Annuler resevation() id_cli
Annuler()
Annuler resevation()
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
82
Chapitre 02 : Phase d’analyse
3.30. DCP : Valider demande de réservation d’une croisière
«dialogue»
ValiderDemande
RéservationVol «controle»
ValiderDemande
id_crs RéservationVol
dest_crs «entité»
date_crs Croisière
prix_crs
nbr_per_crs cmp_crs
Administrateur
catg_billet_crs typ_dmd
cmp_crs
typ_dmd verifier()
Valider demande()
Annuler() «entité»
Valider demande()
Client
Annuler()
id_cli
«dialogue»
EcranMessageSuccés
message
Afficher_message()
83
Chapitre 02 : Phase d’analyse
3.31. DCP : Valider demande de réservation d’un billet de train
«dialogue»
ValiderDemande
«controle»
RéservationBilletTrain «entité»
ValiderDemande
BilletTrain
id_train RéservationBilletTrain
dest_rain
date_train cmp_train
prix_train typ_dmd
catg_billet_train
nbr_per_train
Administrateur
cmp_train
typ_dmd Verifier()
Valider demande()
Annuler() «entité»
Valider demande() Client
Annuler()
id_cli
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
ValiderDemande
RéservationVoiture
«controle»
id_vtr ValiderDemande «entité»
pays_vtr RéservationVoiture Voiture
date_vtr
date_rest_vtr cmp_vtr
prix_vtr typ_dmd
Administrateur cmp_vtr Verifier
typ_dmd Valider demande()
Annuler()
Valider demande()
Annuler() «entité»
client
«dialogue»
id_cli
EcranMessageSuccés
message
Afficher_message()
84
Chapitre 02 : Phase d’analyse
3.33. DCP : Valider demande d’annulation d’un séjour
Valider demande d'annulation d'un séjour
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«controle»
ValiderDemande
«dialogue» ReservationSéjour
ValiderDemande
«entité»
ReservationSéjour
Client
«dialogue»
id_cli
id_sej
Hotel
vol
croisière Valider annulation()
billet de train Annuler() «entité»
Administrateur guide Sejour
typ_dmd
id_sej
id_hot
Valider annulation() «entité» id_vol
Annuler() Vol id_crs
id_train
id_vol
typ_dmd
dest_vol
date_vol
nbr_per_vol
classe_vol «entité»
catg_billet_vol Hotel
prix_vol
id_hot
date_rtr_vol
adr_hot
cmp_vol
nom_hot
typ_dmd
catg_hot
date_hot
nbr_per_hot
dure_hot
«entité» prix_hot
BilletTrain typ_dmd
id_train
dest_rain
date_train
prix_train
catg_billet_train
«entité»
nbr_per_train
Croisière
cmp_tain
type_dmd id_crs
dest_crs
date_crs
prix_crs
nbr_plc_crs
catg_billet_crst
cmp_crs
typ_dmd
85
Chapitre 02 : Phase d’analyse
3.34. DCP : Valider demande d’annulation d’un hôtel
message
Afficher_message()
«entité»
Hotel
«dialogue»
ValiderDemande id_hot
AnnulationHôtel adr_hot
«controle» nom_hot
id_hot ValiderDemande catg_hot
adr_hot AnnulationHôtel date_hot
nom_hot
nbr_per_hot
catg_hot
dure_hot
date_hot
prix_hot
Administrateur nbr_per_hot
typ_dmd
dure_hot
prix_hot Valider annulation(()
typ_dmd Annuler() «entité»
Client
Valider annulation() id_cli
Annuler()
message «entité»
Vol
Afficher_message()
id_vol
«dialogue» dest_vol
ValiderAnnulation date_vol
RéservationVol nbr_per_vol
id_vol classe_vol
«controle» catg_billet_vol
dest_vol
ValiderDemande prix_vol
date_vol
AnnulationVol date_rtr_vol
nbr_per_vol
classe_vol cmp_vol
catg_billet_vol typ_dmd
Administrateur prix_vol
date_rtr_vol «entité»
cmp_vol Client
typ_dmd Valider Annulation(() id_cli
Annuler()
Valider Annulation()
Annuler()
Figure 2.66 : diagramme de classe participant « Valider demande d’annulation d’un vol »
86
Chapitre 02 : Phase d’analyse
3.36. DCP : Valider demande d’annulation d’une croisière
DCP Valider demande d'annulation d'une croisière
«dialogue»
ValiderDemande
AnnulationVol «controle»
ValiderDemande «entité»
AnnulationVol Croisière
id_crs
dest_crs id_crs
date_crs dest_crs
prix_crs date_crs
Administrateur nbr_per_crs prix_crs
catg_billet_crst nbr_per_crs
cmp_crs Valider Annulation() catg_billet_crst
typ_dmd Annuler() cmp_crs
typ_dmd
Valider Annulation()
Annuler()
«entité»
Client
«dialogue» id_cli
EcranMessageSuccés
message
Afficher_message()
«entité»
«dialogue» BilletTrain
ValiderDemande
AnnulationBilletTrain «controle» id_train
ValiderDemande dest_rain
id_train AnnulationBilletTrain date_train
dest_rain
prix_train
date_train
catg_billet_train
prix_train
nbr_per_train
catg_billet_train
cmp_tain
nbr_per_train
typ_dmd
Administrateur cmp_tain
typ_dmd Valider Annulation()
Annuler()
«entité»
Valider Annulation()
Client
Annuler()
id_cli
«dialogue»
EcranMessageSuccés
message
Afficher_message()
Figure 2.68 : diagramme de classe participant « Valider demande d’annulation d’un billet
de train »
87
Chapitre 02 : Phase d’analyse
3.38. Valider demande d’annulation d’une voiture
Valider Annulation()
Annuler() «entité»
client
id_cli
«dialogue»
EcranMessageSuccés
message
Afficher_message()
Conclusion
Dans ce chapitre, nous avons fait la phase de conception de notre développement du
logiciel pour préparé le chapitre suivant qui présente la phase d’implémentation de notre
projet.
.
88
Chapitre 03 : Phase de conception
Introduction
Après l’étude de la vue statique (structurelle) du système, On passe à l’étude de la
vue dynamique (comportementale) du système, qui nécessite d’établir le diagramme
d’interaction, le diagramme de classes de conception, et le diagramme de déploiement.
1. Diagramme de séquence
1.1. Définition:
Le diagramme de séquence représente la succession chronologique des opérations
réalisées par un acteur. Il indique les objets que l’acteur va manipuler et les opérations
qui font passer d’un objet à l’autre.
1.2. Diagramme de séquence S’authentifier
DS S'authentifier
:Administrateur
:Administrateur :EcranAuthentification :ControlAuthentification :Client
,Client
Acces system() Authentifier(login,
mot_de_passe)
Verifier(login,mot_de_passe)
[Si:Client]
Espace client
cree()
[Else]
msgd'erreur cree()
[Else]
msgd'erreur
cree()
90
Chapitre 03 : Phase de conception
Inscrire()
ALT Inscrire(login,mot_de_passe,
[Bien remplit] nom_cli,prenom_cli,
num_tel_cli,email_cli)
[Else]
msg d'erreur
Cree()
[Else]
msg d'erreur
Cree()
91
Chapitre 03 : Phase de conception
:EcranRechercherComplte :EcranSupprimerCompte
:EcranValiderComplte
:Administrateur
REF
Diagramme S'authentifier
ALT
[Le cas: Rechercher compte]
REF
Diagramme rehercher compte
REF
Diagramme supprimer compte
92
Chapitre 03 : Phase de conception
REF
Diagramme s'authentifier
Choisir un critère(nom_cli,
prenom_cli) Rechercher(nom_cli,
prenom_cli)
Verifier(nom_cli,
prenom_cli)
ALT
Rechercher()
Le resultat
Afficher le resultat
[Else]
Msg d'erreur
Afficher le resultat
Msg d'erreur
Afficher le resultat
:ControlValiderCompte :Client
:Administrateur :EcranValiderCompte
REF
Diagramme s'authentifier
valider(id_cli)
valider(id_cli)
valider(id_cli)
msg de succés
Confirmer la validation()
93
Chapitre 03 : Phase de conception
:EcranSupprimer :ControlSupprimer
Compte Compte :Client
:Administrateur
REF
Diagramme s'authentifier
FEF
REchercher compte
Choisir un compte et
supprimer(id_cli) Choisir un compte
et supprimer(id_cli)
supprimer(id_cli)
Msg de succés
Confirmer la suppression
ALT
REF
Diagramme demander sejour
REF
Diagramme demander hotel
REF
Diagramme demander billet
REF
Diagramme demander voiture
94
Chapitre 03 : Phase de conception
Hotel :Sejour
:BilletTrain
:Vol
REF
Diagramme s'authentifier
Msg de confirmation
Message de confirmarion
[Else]
Msg d'erreur
Message d'erreur
95
Chapitre 03 : Phase de conception
Afficher formulaire()
Cree()
Cree()
96
Chapitre 03 : Phase de conception
:EcranDemanderBillet :EcranDemander
:EcranDemanderVol Croisière
DeTrain
:Client
REF
Diagramme d'authentification
REF
Diagramme demander vol
REF
Diagramme demander billet de train
REF
Diagramme demander croisière
REF
Diagramme s'authentifier
Afficher formulaire()
Saisir les informations() Demander(dest_vol, date _vol, catg_ billet_vol, Verifier(dest_vol, date _vol, catg_ billet_vol,
date_rtr_vol,nbr_per_vol,classe_vol, prix_vol) nbr _per_vol,classe_vol, prix_vol, date_rtr_vol)
msg de succés
Cree()
[Else]
msg d'erreur
Cree()
[Else]
msg d'erreur
Cree()
97
Chapitre 03 : Phase de conception
:Client
:ControlDemander
:EcranDemanderBilletDeTrain :BilletTrain
BilletDeTrain
:Client
Afficher formulaire()
msg de succés
Cree()
[Else]
msg d'erreur
Cree()
[Else]
msg d'erreur
Cree()
98
Chapitre 03 : Phase de conception
REF
Diagramme s'authentifier
Afficher formulaire()
msg de succés
Cree()
[Else]
msg d'erreur
Cree()
[Else]
msg d'erreur
Cree()
99
Chapitre 03 : Phase de conception
REF
Diagramme s'authentifier
Afficher formulaire()
Verifier(date_vtr, date_rest_vtr,
prix_vtr, pays_vtr)
msg de succés
Cree()
[Else]
msg d'erreur
Cree()
[Else]
msg d'erreur
Cree()
:Voiture
:BilletTrain :Hotel
:Vol
:Client
:Control :Croisiere :Séjour
:EcranRechercherDemande RechercherDemande
:Offre
Choisir un critère
(nom_ofr,service) Choisir un critère
(nom_ofr,service) Rechercher
(nom_ofr,service)
Msg d'erreur
Cree()
100
Chapitre 03 : Phase de conception
:Voiture
:Billet_Train :Hotel
:Vol
:EcranAnnuler
:ControlAnnuler :Croisiere :Séjour
ReservationService
ReservationService
:Client
REF
Diagramme s'authentifier
REF
Diagramme rechercher demande
Msg de succés
Valider l'annulation
DS Rechercher offre
:Control :Offre
:Client,
:EcranRechercherOffre RechercherOffre
Administrateur
Choisir un critère
(nom_ofr,date_dep_ofr, Choisir un critère
dest_ofr,prix_ofr) (nom_ofr,date_dep_ofr, Rechercher
dest_ofr,prix_ofr) (nom_ofr,date_dep_ofr,
dest_ofr,prix_ofr)
Msg d'erreur
Cree()
101
Chapitre 03 : Phase de conception
DS Consulter offre
:Client,
Administrateur :EcranConsulterOffre :ControlConsulterOffre :Offre
REF
Diagramme rechercher offre
REF
Diagramme s'authentifier
REF
Diagramme consulter offre
:msg de succés
Confirmation
102
Chapitre 03 : Phase de conception
:ControlAnnuler
:EcranAnnuler :Offre
ReservationD'offre
ReservationD'offre
:Administrateur
REF
Diagramme s'authentifier
REF
Diagramme rechercher demande
Valider l'annulation
Valider l'annulation
103
Chapitre 03 : Phase de conception
REF
Diagramme ajouter offre
REF
Diagramme modifier offre
REF
Diagramme supprimer offre
104
Chapitre 03 : Phase de conception
Afficher un formulaire()
Ajouter(nom_ofr,dat_dep_ofr,
Saisir les information et valider() dest_ofr,dure_ofr, photo, Verifier(nom_ofr,dat_dep_ofr,
ville_dep_ofr, prix_ofr) dest_ofr,dure_ofr, photo,
ville_dep_ofr, prix_ofr)
msg de succés
Confirmer l'ajout
[Else]
msg d'erreur
Message d'erreur
[Else]
msg d'erreur
Message d'erreur
105
Chapitre 03 : Phase de conception
Ds Modifier offre
REF
Diagramme rechercher offre
Verifier()
Msg de succés
Valider la modification d'offre
[Else]
Msg d'erreur Message d'erreur
"les champs mal modifier"
DS supprimer offre
REF
Diagramme rechercher offre
Msg de succés
Valider la suppression
106
Chapitre 03 : Phase de conception
ALT
REF
Diagramme Valider demande de réservation d'un service
REF
Diagramme Valider demande d'annulation d'un service
REF
Diagramme Valider demande d'annulation d'une offre
107
Chapitre 03 : Phase de conception
:Hotel
:Voiture
:Billet_Train
:Vol
:EcranValider :EcranValider
:Croisiere :Séjour
DemandesDe DemandesDe
Réservation Réservation
Administrateur
REF
Diagramme Rechercher demande
Msg d'erreur
Message d'erreur
108
Chapitre 03 : Phase de conception
:Voiture :Hotel
:BilletTrain
:Vol
:EcranValider :Croisiere
:EcranValider :Séjour
Demandes
Demandes
D'annulation
D'annulation
:Administrateur
REF
Diagramme Rechercher demande
Confirmer l'annulation
Msg de succès
Confirmer l'annulation
:EcranValider
:EcranValider Demandes :Offre
Demandes D'annulation
D'annulation
:Administrateur
REF
Diagramme Rechercher demande
Msg de succés
Confirmer l'annulation
109
Chapitre 03 : Phase de conception
DCC S'authentifier
«Dialogue» «Controle»
EcranAuthentification Authentification
login:String
«Entité»
mot_de_passe:String
Client
login:String
Acces_systeme() mot_de_passe:String
Annuler()
Administrateur, Acces_systeme()
client Annuler()
«Entité»
Administrateur
login:String
mot_de_passe:String
110
Chapitre 03 : Phase de conception
«Dialogue» «Dialogue»
EcranMessage EcranMessage
Succés Erreur
message
message
Afficher_message() Afficher_message()
111
Chapitre 03 : Phase de conception
«dialogue»
EcranRechercherCompte «entité»
«control» Client
nom_cli:String
ControlRechercherCompte id_cli:int
prenom_cli:String
login:String
mot_de_passe:String
nom_cli:String
Administrateur prenom_cli:String
adresse_cli:String
Rechercher()
Rechercher() num_tel_cli:String
Annuler()
Annuler() email_cli:String
sexe_cli:String
date_n_cli:Date
validation:String
«dialogue» «dialogue»
EcranMessage EcranAffichage
message id_cli:int
login:String
mot_de_passe:String
Afficher_message() nom_cli:String
prenom_cli:String
adresse_cli:String
num_tel_cli:String
email_cli:String
sexe_cli:String
date_n_cli:Date
validation:String
Afficher_compte()
«dialogue» «entité»
SupprimerCompte Client
«controle»
id_cli:int SupprimerCompte id_cli:int
login:String login:String
mot_de_passe:String mot_de_passe:String
nom_cli:String nom_cli:String
prenom_cli:String Supprimer() prenom_cli:String
adresse_cli:String adresse_cli:String
num_tel_cli:String num_tel_cli:String
email_cli:String email_cli:String
Administrateur sexe_cli:String sexe_cli:String
date_n_cli:Date date_n_cli:Date
validation:String validation:String
Supprimer()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
112
Chapitre 03 : Phase de conception
«dialogue»
ValiderCompte
«controle» «entité»
id_cli:int ValiderCompte Client
login:String
nom_cli:String
validation:String
prenom_cli:String
adresse_cli:String Supprimer()
num_tel_cli:String
email_cli:String
sexe_cli:String
Administrateur date_n_cli:Date
validation:String
«dialogue»
Supprimer() EcranMessageSuccés
message
Afficher_message()
113
Chapitre 03 : Phase de conception
message message
Afficher_message() Afficher_message()
«dialogue»
DemanderSéjour «entité»
Client
id_sej:int «controle»
Hotel «dialogue» DemanderSéjour
id_cli:int
vol
croisière
billet de train
guide:String verifier()
typ_dmd:String Demander hotel() «entité»
Client
Demander vol() Sejour
Demander hotel() Demander croisiere()
Demander billet de train() id_sej:int
Demander vol()
Annuler() id_hot:int
Demander croisière()
id_vol:int
Demander billet de train()
id_train :int
Annuler()
id_crs:int
guide:String
«entité» typ_dmd:String
Vol
id_vol:int
dest_vol:String
date_vol:Date «entité»
nbr_per_vol:int Hotel
classe_vol:String
catg_billet_vol:String id_hot:int
prix_vol :Double adr_ hot:String
date_rtr_vol:Date nom_hot:String
cmp_vol:String catg_hot:String
typ_dmdString date_hot:Date
nbr_per_hot:int
dure_hot:int
prix_hot:Double
typ_dmd:String
«entité»
Billet_train
«entité»
id_train:int Croisière
dest_rain:String
id_crs:int
date_train:Date
dest_crs:String
prix_train:Double
date_crs:Date
catg_billet_train:String
prix_crs:Double
nbr_per_train:int
nbr_pers_crs:int
cmp_train:String
catg_billet_crs:String
typ_dmd:String
port_crs:String
cmp_crs:String
typ_dmd:String
114
Chapitre 03 : Phase de conception
«dialogue»
«controle»
DemanderHotel «entité»
DemanderHotel
Hotel
adr_ hot:String
«dialogue»
catg_hot:String id_hot:int
date_hot:Date adr_ hot:String
nbr_per_hot:int catg_hot:String
dure_hot:int date_hot:Date
prix_hot:Double nbr_per_hot:int
Client
Verifier() dure_hot:int
Demander() prix_hot:Double
Demander() Annuler() typ_dmd:String
Annuler()
«entité»
Client
id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
Demander()
Annuler()
«entité»
Client
«dialogue» «dialogue» id_cli:int
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
115
Chapitre 03 : Phase de conception
«entité»
«dialogue» «controle» BilletTrain
DemanderBilletDeTrain DemanderBilletDeTrain
id_train:int
dest_train:String dest_train:String
date_train:Date date_train:Date
prix_train:Double prix_train:Double
catg_billet_train:String catg_billet_train:String
Client
nbr_per_train:int nbr_per_train:int
typ_dmd:String
Verifier()
Demander() Demander()
Annuler() Annuler()
«entité»
Client
id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
Demander()
Annuler()
«entité»
Client
id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
116
Chapitre 03 : Phase de conception
«entité»
Client
id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
«dialogue» «controle»
RechercherOffre RechercherOffre
«dialogue» «entité»
nom_ofr:String Offre
date_dep_ofr:Date
dest_ofr:String nom_ofr:String
prix_ofr:Double date_dep_ofr:Date
Rechercher() dest_ofr:String
Client, Annuler() prix_ofr:Double
administrateur Rechercher()
Annuler()
« dialogue» « dialogue»
EcranMessage EcranAffichage
message nom_ofr:String
date_dep_ofr:Date
dest_ofr:String
prix_ofr:Double
Afficher_message()
Afficher_offre()
117
Chapitre 03 : Phase de conception
Consulter()
Annuler()
«entité»
Client
«dialogue» id_cli:int
EcranMessageSuccés
message
Afficher_message()
118
Chapitre 03 : Phase de conception
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
119
Chapitre 03 : Phase de conception
«controle» «entité»
«dialogue»
SupprimerOffre Offre
SupprimerOffre
nom_ofr:String id_ofr:int
«dialogue»
date_dep_ofr:Date nom_ofr:String
dest_ofr:String ville_dep_ofr:String
prix_ofr:Double date_dep_ofr:Date
dest_ofr:String
dure_ofr:int
Supprimer()
Administrateur prix_ofr:Double
Annuler()
typ_dmd:String
Supprimer() photo:Blob
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
«dialogue» id_ofr:int
AnnulerReservationOffre nom_ofr:String
ville_dep_ofr:String
id_ofr:int date_dep_ofr:Date
nom_ofr:String «controle»
dest_ofr:String
ville_dep_ofr:String AnnulerReservationOffre
dure_ofr:int
date_dep_ofr:Date prix_ofr:Double
dest_ofr:String typ_dmd:String
dure_ofr:int photo:Blob
Client prix_ofr:Double
typ_dmd:String Annuler resevation()
photo:Blob Annuler()
«entité»
Client
Annuler resevation() id_cli:int
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
120
Chapitre 03 : Phase de conception
«entité»
Voiture
«dialogue» «dialogue»
EcranAffichage «dialogue» id_vtr:int
EcranAffichage
EcranAffichage pays_vtr:String
id_ofr:int id_crs:int date_vtr:Date
nom_ofr:String dest_crs:String id_vtr:int date_rest_vtr::Date
ville_dep_ofr:String date_crs:Date pays_vtr:String prix_vtr:Double
date_dep_ofr:Date prix_crs:Double date_vtr:Date cmp_vtr:String
dest_ofr:String nbr_pers_crs:int date_rest_vtr::Date typ_dmd:String
dure_ofr:int catg_billet_crs:String prix_vtr:Double
prix_ofr:Double port_crs:String cmp_vtr:String
typ_dmd:String cmp_crs:String typ_dmd:String «entité»
photo:Blob typ_dmd:String Croisiere
id_crs:int
dest_crs:String
date_crs:Date
«dialogue» prix_crs:Double
«dialogue» «dialogue»
EcranAffichage nbr_pers_crs:int
EcranAffichage EcranAffichage catg_billet_crs:String
id_train:int id_vol:int id_hot:int port_crs:String
dest_rain:String dest_vol:String adr_ hot:String cmp_crs:String
date_train:Date date_vol:Date nom_hot:String typ_dmd:String
prix_train:Double nbr_per_vol:int catg_hot:String
catg_billet_train:String classe_vol:String date_hot:Date
nbr_per_train:int catg_billet_vol:String nbr_per_hot:int «entité»
cmp_train:String prix_vol :Double dure_hot:int BilletTrain
typ_dmd:String date_rtr_vol:Date prix_hot:Double
cmp_vol:String typ_dmd:String id_train:int
typ_dmd:String dest_rain:String
date_train:Date
prix_train:Double
catg_billet_train:String
nbr_per_train:int
«dialogue» cmp_train:String
EcranAffichage typ_dmd:String
id_sej
Hotel «entité»
vol «entité» Vol
croisière Hotel
billet de train id_vol:int
id_hot:int «entité»
guide:String dest_vol:String
adr_ hot:String Sejour
typ_dmd:String date_vol:Date
nom_hot:String id_sej:int nbr_per_vol:int
catg_hot:String id_hot:int classe_vol:String
date_hot:Date id_vol:int catg_billet_vol:String
nbr_per_hot:int id_train :int prix_vol :Double
dure_hot:int id_crs:int date_rtr_vol:Date
prix_hot:Double guide:String cmp_vol:String
typ_dmd:String typ_dmd:String typ_dmd:String
121
Chapitre 03 : Phase de conception
message
«controle» Afficher_message()
«dialogue» AnnulerReservationSéjour
AnnulerReservationSéjour «entité»
id_sej:int Client
«dialogue»
Hotel id_cli:int
vol
croisière
billet de train
Annuler reservation()
guide:String
Annuler()
Client typ_dmd:String
«entité»
Hotel
«entité» typ_dmd:String
BilletTrain
typ_dmd:String
«entité»
Croisière
typ_dmd:String
122
Chapitre 03 : Phase de conception
«dialogue»
AnnulerReservationHotel «entité»
«controle»
Hotel
id_hot:int AnnulerReservationHotel
adr_ hot:String
nom_hot:String typ_dmd:String
catg_hot:String
date_hot:Date
Client nbr_per_hot:int
dure_hot:int Annuler resevation()
prix_hot:Double Annuler() «entité»
typ_dmd:String Client
message
Afficher_message()
«dialogue»
AnnulerReservationVol «controle» «entité»
AnnulerReservationVol Vol
id_vol:int
dest_vol:String
date_vol:Date typ_dmd:String
nbr_per_vol:int
classe_vol:String
catg_billet_vol:String
prix_vol :Double
Client «entité»
date_rtr_vol:Date
Annuler resevation() Client
cmp_vol:String
Annuler()
typ_dmd:String id_cli:int
Annuler resevation()
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
123
Chapitre 03 : Phase de conception
«dialogue»
AnnulerReservationCroisière «controle» «entité»
AnnulerReservationCroisière Croisière
id_crs:int
dest_crs:String typ_dmd:String
date_crs:Date
prix_crs:Double
nbr_per_crs:int
catg_billet_crs:String Annuler resevation()
Client port_crs:String Annuler()
cmp_crs:String «entité»
typ_dmd:String Client
message
Afficher_message()
«dialogue»
AnnulerReservationBillet
DeTrain
dest_rain:string «controle»
«entité»
date_train:Date AnnulerReservationBillet
BilletTrain
prix_train:Double DeTrain
catg_billet_train:String typ_dmd:String
nbr_per_train:int
typ_dmd:String
Client
Annuler resevation()
Annuler()
Annuler resevation()
Annuler() «entité»
Client
id_cli:int
«dialogue»
EcranMessageSuccés
message
Afficher_message()
124
Chapitre 03 : Phase de conception
«dialogue»
Annuler «controle»
ReservationVoiture Annuler
id_vtr:int ReservationVoiture
pays_vtr:String «entité»
date_vtr:Date voiture
date_rest_vtr:Date
prix_vtr:Double typ_dmd:String
Client cmp_vtr:String
typ_dmd:String
Annuler resevation()
Annuler() «entité»
Annuler resevation() client
Annuler()
id_cli:int
«dialogue»
EcranMessageSuccés
message
Afficher_message()
«dialogue»
«dialogue»
ValiderDemande «entité»
AnnulationOffre «controle» Offre
ValiderDemande
id_ofr:int typ_dmd:String
AnnulationOffre
nom_ofr:String
ville_dep_ofr:String
date_dep_ofr:Date
dest_ofr:String
dure_ofr:int
Administrateur «entité»
prix_ofr:Double
Valider annulation() Client
typ_dmd:String
photo:Blob Annuler() id_cli:int
Valider annulation()
Annuler()
«dialogue»
EcranMessageSuccés
message
Afficher_message()
125
Chapitre 03 : Phase de conception
message message
Afficher_message() Afficher_message()
«dialogue» «controle»
ValiderDemande ValiderDemande «entité»
ReservationSéjour ReservationSéjour Client
«dialogue»
id_cli:int
id_sej:int Verifier()
Hotel Valider demande()
vol Annuler()
croisière
Administrateur billet de train
guide:String
typ_dmd:String «entité»
Valider demande() Sejour
Annuler() «entité» type_dmd:String
Vol
cmp_vol:String
typ_dmd:String
«entité»
Hotel
nom_hot:String
«entité» typ_dmd:String
BilletTrain
cmp_train:String
typ_dmd:String «entité»
Croisière
cmp_crs:String
typ_dmd:String
126
Chapitre 03 : Phase de conception
«dialogue»
ValiderDemande
RéservationHôtel «entité»
«controle» Hotel
id_hot:int ValiderDemande
adr_ hot:String RéservationHôtel nom_hot:String
nom_hot:String typ_dmd:String
catg_hot:String
date_hot:Date
Administrateur nbr_per_hot:int «entité»
dure_hot:int Client
prix_hot:Double Verifier()
Valider resevation() id_cli:int
typ_dmd:String
Annuler()
Valider resevation()
Annuler()
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
«dialogue»
ValiderDemande
RéservationVol «entité»
Vol
id_vol:int
«controle»
dest_vol:String
ValiderDemande cmp_vol:String
date_vol:Date
RéservationVol typ_opt:String
nbr_per_vol:int
classe_vol:String
catg_billet_vol:String
prix_vol :Double
Administrateur
date_rtr_vol:Date «entité»
cmp_vol:String Verifier() Client
typ_dmd:String Valider resevation() id_cli:int
Annuler()
Valider resevation()
Annuler()
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
127
Chapitre 03 : Phase de conception
«dialogue»
ValiderDemande
RéservationCroisiere «controle»
ValiderDemande
id_crs:int RéservationCroisiere «entité»
dest_crs:String Croisière
date_crs:Date
prix_crs:Double cmp_crs:String
typ_dmd:String
Administrateur nbr_pers_crs:int
catg_billet_crs:String
port_crs:String Verifier()
cmp_crs:String Annuler resevation() «entité»
typ_dmd:String Annuler() Client
id_cli:int
Annuler resevation()
Annuler()
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
128
Chapitre 03 : Phase de conception
«dialogue»
ValiderDemande
«controle»
RéservationBilletTrain
ValiderDemande
id_train:int RéservationBilletTrain
«entité»
dest_rain:String
BilletTrain
date_train:Date
prix_train:Double cmp_train:String
catg_billet_train:String typ_dmd:String
Administrateur nbr_per_train:int
cmp_train:String
typ_dmd:String Verifier()
Valider resevation() «entité»
Annuler() Client
Valider resevation()
Annuler() id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés
message message
Afficher_message() Afficher_message()
«dialogue»
ValiderDemande
RéservationVoiture «controle»
ValiderDemande
id_vtr:int RéservationVoiture «entité»
pays_vtr:String Voiture
date_vtr:Date
date_rest_vtr::Date cmp_vtr:String
prix_vtr:Double typ_dmd:String
cmp_vtr:String
Administrateur typ_dmd:String Verifier()
Valider resevation()
Annuler() «entité»
Valider resevation() client
Annuler() id_cli:int
«dialogue» «dialogue»
EcranMessageErreurs EcranMessageSuccés
message message
Afficher_message() Afficher_message()
129
Chapitre 03 : Phase de conception
message
Afficher_message()
«dialogue» «controle»
ValiderDemande ValiderDemande
ReservationSéjour ReservationSéjour «entité»
Client
«dialogue»
id_sej:int id_cli:int
Hotel
vol
croisière Valider annulation()
billet de train Annuler()
«entité»
Administrateur guide:String Sejour
typ_dmd:String
id_sej
id_hot
«entité» id_vol
Valider annulation() id_crs
Vol
Annuler() id_train
id_vol:int guide:String
dest_vol:Date typ_dmd:String
date_vol:Date
nbr_per_vol:int
classe_vol:String «entité»
catg_billet_vol:String Hotel
prix_vol:Double
id_hot:int
date_arv_vol
adr_hot
cmp_vol:String
nom_hot:String
typ_dmd:String
catg_hot:String
date_hot:Date
nbr_per_hot:int
dure_hot:int
«entité» prix_hot:Double
BilletTrain typ_dmd:String
id_train:int
dest_rain:String
date_train:Date
prix_train:Double
catg_billet_train:String «entité»
nbr_per_train:int Croisière
cmp_tain:String
typ_dmd:String id_crs:int
dest_crs:String
date_crs:Date
prix_crs:Double
nbr_per_crs::int
catg_billet_crst:String
cmp_crs:String
typ_dmd:String
130
Chapitre 03 : Phase de conception
«dialogue»
EcranMessageSuccés
message
Afficher_message()
message
Afficher_message()
131
Chapitre 03 : Phase de conception
«dialogue»
ValiderDemande
«entité»
AnnulationVol
«controle» Croisière
id_crs:int ValiderDemande
dest_crs:String AnnulationVol id_crs:int
date_crs:Date dest_crs:String
prix_crs:Double date_crs:Date
nbr_pers_crs:int prix_crs:Double
catg_billet_crs:String nbr_pers_crs:int
Administrateur catg_billet_crs:String
port_crs:String
cmp_crs:String port_crs:String
Valider Annulation()
typ_dmd:String cmp_crs:String
Annuler()
typ_dmd:String
Valider Annulation()
Annuler() «entité»
Client
«dialogue» id_cli:int
EcranMessageSuccés
message
Afficher_message()
«dialogue»
ValiderDemande «entité»
«controle»
AnnulationBilletTrain BilletTrain
ValiderDemande
id_train:int AnnulationBilletTrain
dest_rain:String id_train:int
date_train:Date dest_rain:String
prix_train:Double date_train:Date
catg_billet_train:String prix_train:Double
nbr_per_train:int catg_billet_train:String
Administrateur nbr_per_train:int
cmp_train:String
typ_dmd:String Valider Annulation() cmp_train:String
Annuler() typ_dmd:String
Valider Annulation()
Annuler()
«entité»
Client
«dialogue»
EcranMessageSuccés id_cli:int
message
Afficher_message()
132
Chapitre 03 : Phase de conception
«dialogue»
ValiderDemande «entité»
«controle» Voiture
AnnulaionVoiture ValiderDemande
id_vtr:int AnnulaionVoiture id_vtr:int
pays_vtr:String pays_vtr:String
date_vtr:Date date_vtr:Date
date_rest_vtr::Date date_rest_vtr::Date
prix_vtr:Double prix_vtr:Double
Administrateur cmp_vtr:String cmp_vtr:String
typ_dmd:String Valider Annulation() typ_dmd:String
Annuler()
Valider Annulation()
Annuler()
«entité»
Client
«dialogue»
id_cli:int
EcranMessageSuccés
message
Afficher_message()
3. Diagramme de déploiement
3.1. Objectif du diagramme de déploiement
Un diagramme de déploiement décrit la disposition physique des ressources
matérielles qui composent le système et montre la répartition des composants sur ces
matériels. Chaque ressource étant matérialisée par un nœud, le diagramme de
déploiement précise comment les composants sont répartis sur les nœuds et quelles sont
les connexions entre les composants ou les nœuds. Les diagrammes de déploiement
existent sous deux formes : spécification et instance. [2]
133
Chapitre 03 : Phase de conception
Conteneur web
Servlet JSP
PC utilisateur
8080
TCP/IP HTTP
Java beans
Navigateur Web
(Mozila, firefox,opera...)
Conclusion
Dans ce chapitre nous avons fait la vue dynamique (comportementale) du système,
qui contient l’établissement de diagramme d’interaction, de classes de conception, et de
déploiement.
134
Chapitre 04 : Phase d’implémentation
Introduction
Après avoir présenté une étude conceptuelle des données et de traitements dans le
chapitre précédent, Nous allons, dans ce chapitre voir la base de données relationnelle de
notre système, justifier le choix du langage, donner un bref aperçu sur les outils utilisés,
présenter les résultats de notre travail (quelque interface graphique), et finir par une
conclusion.
136
Chapitre 04 : Phase d’implémentation
mot_de_passe Le mot de passe de l’administrateur Varchar 60
id_sej Le numéro de séjour Entier
id_hot Le numéro d’hôtel Entier
Sejour id_vol Le numéro de vol Entier
id_train Le numéro de billet de train Entier
id_crs Le numéro de croisière Entier
guide Le guide Varchar 60
typ_dmd Le type de demande (réservation Varchar 60
ou annulation)
id_vtr Le numéro d’une voiture Entier
pays_vtr Le pays d’une voiture Varchar 60
date_vtr La date de location d’une voiture Date
date_rest_vtr La date de restitution d’une voiture Date
Voiture prix_vtr Le prix d’une voiture Double
cmp_vtr La compagnie d’une voiture Varchar 60
typ_dmd Le type de demande (réservation Varchar 60
ou annulation)
id_hot Le numéro d’un hôtel Entier
adr_ hot L’adresse d’un hôtel Varchar 60
nom_hot Le nom d’un hôtel Varchar 60
catg_hot La catégorie d’un hôtel Varchar 60
date_hot La date de réservation d’une Date
Hotel chambre d’un hôtel
nbr_per_hot Le nombre de personne Entier
dure_hot La durée de réservation d’une Entier
chambre d’hôtel
prix_hot Le prix d’une chambre d’hôtel Double
typ_dmd Le type de demande (réservation Varchar 60
ou annulation)
id_train Le numéro d’un billet de train Entier
dest_train La destination d’un billet de train Varchar 60
BilletTrain date_train La date d’un billet de train Date
prix_train Le prix d’un billet de train Double
137
Chapitre 04 : Phase d’implémentation
nbr_per_train Le nombre de personne Entier
catg_billet_train La catégorie d’un billet de train Varchar 60
cmp_train La compagnie d’un billet de train Varchar 60
typ_dmd Le type de demande (réservation Varchar 60
ou annulation)
id_vol Le numéro d’un vol Entier
dest_vol La destination d’un vol Varchar 60
date_vol La date d’un vol Date
catg_billet_vol La catégorie d’un vol Varchar 60
date_rtr_vol La date de retour d’un vol Date
Vol nbr_per_vol Le nombre de personne Entier
classe_vol La classe d’un vol Varchar 60
prix_vol Le prix d’un vol Double
cmp_vol La compagnie d’un vol Varchar 60
typ_dmd. Le type de demande (réservation Varchar 60
ou annulation)
id_crs Le numéro d’une croisière Entier
dest_crs La destination d’une croisière Varchar 60
date_crs La date d’une croisière Date 60
prix_crs Le prix d’une croisière Double
Croisiere nbr_per_crs Le nombre de personne Entier
port_crs Le port d’une croisière Varchar 60
cmp_crs La compagnie d’une croisière Varchar 60
typ_dmd Le type de demande (réservation ou Varchar 60
annulation)
id-ofr Le numéro d’une offre Entier
nom_ofr Le nom offre Varchar 60
ville_dep_ofr La ville de départ d’une offre Varchar 60
Offre date_dep_ofr La date de départ d’une offre Date
dest_ofr La destination d’une offre Varchar 60
dure_ofr La durée d’une offre Entier
prix_ofr Le prix d’une offre Double
photo L’image d’une offre Blob
138
Chapitre 04 : Phase d’implémentation
typ_dmd Le type de demande (réservation Varchar 60
ou annulation)
139
Chapitre 04 : Phase d’implémentation
Java SE, et elle y ajoute un grand nombre de bibliothèques remplissant tout un tas de
fonctionnalités que la plate-forme standard ne remplit pas d'origine.[5]
2.3. Pourquoi utilisé java EE
Il existe actuellement beaucoup d’autre plate-forme de développement qui sont basé
sur d’autre langage (c#, Php5…). Les avantages qui nous ont stimulé à utilisé java EE sont
la portabilité, l’indépendance, la sécurité et la multitude de librairies proposés. [5]
2.4. Les API java EE (EJB, Servlets, JSP)
La plate-forme java EE est composée de plusieurs API (ensemble de libraire et
service). Java EE fait intervenir trois types de composant logiciel (Servlets, JSP, EJB). [5]
2.4.1. Les Servlets :
Les API Servlet fournissent les éléments nécessaires à la conception de composant
web dynamique avec le langage java .Les Servlets sont des composant logiciel entièrement
écrit en java. Les Servlets effectuée des traitements coté serveur en repense aux requête
des clients distant. [5]
2.4.2. Les JSP (java server page) :
Les API JSP permettent de développer des pages web dynamiques rapidement à partir
d’un squelette HTML et de donnée incluses directement dans chaque page.
Les JSP permettent d’insérer des bouts de code java (Scriplets) directement dans le
code HTML. [5].
Néanmoins, Il existe d’autre API web comme les JMS (java Message Service).
2.4.3. LES EJB :
Les Entreprise Java Bean ou EJB sont des composants serveurs donc non visuels qui
respectent les spécifications d'un modèle éditées par Sun. Ces spécifications définissent
une architecture, un environnement d'exécution et un ensemble d'API. [4].
3. Un fichier xml
Le fichier web.xml regroupe les informations de fonctionnement de l'application WEB
(description de déploiement du contexte).
141
Chapitre 04 : Phase d’implémentation
spécialisés sur Internet. Plusieurs pilotes natifs de type 4 sont disponibles pour MySQL et
sont conseillés pour une utilisation en Java.
CSS :Cascading Style Sheets (ou Feuilles de styles en cascades) :
Le langage CSS (né en 1996) met en forme le HTML mais ne structure pas la page
web. Il va décorer les différents éléments de la page, en définissant une couleur de fond
pour un bloc ou encore une taille de police pour un titre. Il permettra également de
dimensionner et positionner tous les éléments comme on le souhaite sur la page, et de gérer
la diffusion des informations sur un grand nombre de supports : écran d'ordinateur.
JavaScript :
C’est un langage de programmation qui est inclue dans le code HTML. Il permet
d'apporter des améliorations au langage HTML en permettant d'exécuter des commandes.
HTML (HyperText Markup Langage), CSS (Cascade Style Sheet) seront aussi utilisés pour
réaliser les interfaces du site.
142
Chapitre 04 : Phase d’implémentation
6.1. Page accueil:
Contient une recherche sur les offres de l’agence.
143
Chapitre 04 : Phase d’implémentation
6.3. Formulaire d’authentification
144
Chapitre 04 : Phase d’implémentation
6.5. Page d’inscription:
Elle contient un formulaire pour créé un compte.
145
Chapitre 04 : Phase d’implémentation
6.6. Page inscription avec des champs vides
146
Chapitre 04 : Phase d’implémentation
Conclusion
Dans ce chapitre nous avons présenté dans un premier temps le modèle relationnel de
notre application (la base de donnés). Puis, nous avons présenté les différentes
technologies et outils utilisées pour la réalisation de notre application web pour une agence
de voyage. Et enfin, nous avons décrit quelques pages de l’application web réalisé.
147
Conclusion général
L’objectif de notre projet est la réalisation d’une application web pour la gestion d’une
agence de voyage. Grâce à cette application, les clients de cette agence peuvent consulter,
réserver, …etc. leurs différents services à travers le web.
La réalisation de ce projet s’est faite en deux phases. Dans la première phase, nous
avons fait une étude théorique et une conception détaillée du projet, nous avons utilisé le
langage UML pour modéliser le système.
Dans la phase d'analyse et de conception, nous avons utilisé le langage de
modélisation UML et nous avons suivi le processus de développement simplifié de
Laurent Audibert. L’application de ce processus et des diagrammes UML, nous a
facilité la conception de notre application web qui doit permettre une interaction
entre les différents utilisateurs.
Quant à la phase d’implémentation, nous avons utilisé le langage de
développement JAVA ainsi qu’une panoplie de technologies web autours de lui à
s’avoir HTML, CSS, JSP, Servlet. Nous avons opté pour l’environnement de
développement ECLIPSE, le serveur d’application APACHE TOMCAT et le
SGBD MYSQL.
A ce stade, Nous pouvons dire que nous avons réalisé l’essentiel du travail
demandé, avec une bonne qualité en suivant une démarche de développements
rigoureuse. Cela se résume dans le développement des différentes fonctionnalités
permettant aux clients de consulter les différentes offres et service de l’agence de
voyage, faire des réservations en ligne ...etc. Ces fonctionnalités sont dotées
d’interfaces conviviales et performantes.
Néanmoins, il reste des perspectives pour enrichir ce projet à s’avoir :
Elaboration des tests unitaires et fonctionnels, cahier de test, avec une méthode
rigoureuse en utilisant l’outil JMeter par exemple. L’achèvement des opérations de
réservations d’offre ou de service à travers le paiement en ligne si notre système
financière et bancaire algérien le permettra un jour, …etc. En fin, nous espérons que
ce modeste mémoire soit un modèle pour les autres étudiants notamment dans la
réalisation des applications web.
Référence
Bibliographie
[1] : Pascal Roques, Franck Vallée, UML 2 en action : De l’analyse des besoins à la
conception, Édition : 4.
[2] : Livre Laurent AUDIBERT, UML 2, Édition 2007-2008.
[3] : Cours Créez votre application web avec Java EE Par Coyote
[4]. http://jmdoudoux.developpez.com/
[5] Livre java EE : guide de développement d’application web en java. Jérôme
LAFFOSSE