Agence de Voyage

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 150

‫الجمهوريـة الجزائـريـة الديمقراطيـة الشعبيـة‬

République Algérienne Démocratique et Populaire


‫وزارة التعليــم العالـي والبحـث العلمـي‬
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

No Réf :……………

Centre Universitaire
Abd elhafid boussouf Mila

Institut des sciences et de la technologie Département de Mathématiques et Informatique

Mémoire préparé En vue de l’obtention du diplôme de


Master
En :Filière informatique

Spécialité sciences et technologies de l’information et de la communication stic

Conception et réalisation d’une application web pour


une agence de voyage

Préparé par : Amel MECHITOUA

Soutenue devant le jury


Président : Aissa BOULMARKA M.A.A
Examinateur : Ali LALOUCI M.A.A
Encadrer : Adel BOURIDEH M.A.A

Année universitaire : 2014/2015


Remerciment
Je désire remercier en premier lieu mon Dieu, qui m'a donné
la force et le courage de terminer ce travail, ainsi que des
personnes importantes qui nous ont fortement aidés à concrétiser ce
projet, que ce soit de près ou de loin.
Un grand merci à :
Mon Encadreur pour son disponibilité, son aide précieuse, ses
conseils et son orientation.
Tous nos enseignants pour toutes les connaissances qu’ils
nous ont inculquées.
Un remerciement particulier à nos très chers parents, frères,
collègues et amies respectives qui nous ont encouragés, soutenu
durant tout notre parcours.
Dédicace
Je dédie ce modeste travail et ma profonde gratitude à
Ma (mère Houria) et mon père(Mohammed) pour
l'éducation qu'ils m'ont prodigué; avec tous les moyens et au prix
de toutes les sacrifices qu'ils ont consentis à mon égard, pour
le sensé du devoir qu'ils mon enseigné depuis mon enfance.
A mes chers frères Boualem & Ramzi
A touts mes amies
A touts mes collègues de la promotion 2015
Table de matières
RESUME ............................................................................................................................. 16
INTRODUCTION GENERALE ......................................................................................... 18
Chapitre 01 : Identification des besoins
INTRODUCTION ............................................................................................................... 22
1. LE CAHIER DE CHARGE .................................................................................. 22
1.1. LE BUT DE PROJET........................................................................................... 22
1.2. LE DICTIONNAIRE DE DONNEES ....................................................................... 22
TABLEAU 1. 1 : LE DICTIONNAIRE DE DONNEES ................................................................ 25
1.3. LES BESOINS FONCTIONNELS .......................................................................... 25
1.4. LES BESOINS TECHNIQUES .............................................................................. 26
2. LE DIAGRAMME DE CAS D’UTILISATION .................................................. 26
2.1. IDENTIFICATION D’ACTEURS ........................................................................... 26
2.2. LE DIAGRAMME DE CAS D’UTILISATION .......................................................... 27
2.3. DESCRIPTION TEXTUELLE DES CAS D’UTILISATION ......................................... 28
2.3.1. Fiche descriptive du cas d’utilisation « Créer compte » ............................ 28
2.3.2. Fiche descriptif de cas d’utilisation «S’authentifier » ............................... 28
2.3.3. Fiche descriptive du cas d’utilisation « Gérer les comptes des clients » ... 29
a. Fiche descriptive du cas d’utilisation « Rechercher compte » ................... 29
b. Fiche descriptive du cas d’utilisation « Valider compte » ......................... 30
c. Fiche descriptive du cas d’utilisation « Supprimer compte » .................... 30
2.3.4. Fiche descriptive du cas d’utilisation « Demander service »..................... 31
a. Fiche descriptive du cas d’utilisation «Demander séjour» ........................ 31
b. Fiche descriptive du cas d’utilisation «Demander hôtel» .......................... 32
c. Fiche descriptive du cas d’utilisation «Demander billet» .......................... 32
1. Fiche descriptive du cas d’utilisation «Demander vol» ......................... 33
2. Fiche descriptive du cas d’utilisation «Demander billet de train» ......... 33
3. Fiche descriptive du cas d’utilisation «Demander croisière»................. 34
d. Fiche descriptive du cas d’utilisation «Demander voiture»....................... 35
2.3.5. Fiche descriptive du cas d’utilisation « Rechercher demande» ................. 35
2.3.6. Fiche descriptive du cas d’utilisation « Annuler réservation d’un service»
35
2.3.7. Fiche descriptive du cas d’utilisation « Rechercher offres » ..................... 36
2.3.8. Fiche descriptive du cas d’utilisation « Consulter offres » ........................ 36
2.3.9. Fiche descriptive du cas d’utilisation « Réserver offre»............................ 37
2.3.10. Fiche descriptive du cas d’utilisation « Annuler réservation d’une offre»
37
2.3.11. Fiche descriptive du cas d’utilisation « Gérer les offres » .................... 37
a. Fiche descriptive du cas d’utilisation «Ajouter offre» .................................. 38
b. Fiche descriptive du cas d’utilisation «Modifier offre» ................................ 39
c. Fiche descriptive du cas d’utilisation «Supprimer offre».............................. 39
2.3.12. Fiche descriptif de cas d’utilisation «Gérer les demandes des clients» . 40
a. Fiche descriptif de cas d’utilisation «Valider demande de réservation d’un
service» 40
b. Fiche descriptif de cas d’utilisation «Valider demande d’annulation d’un
service» 41
c. Fiche descriptif de cas d’utilisation «Valider demande d’annulation d’une
offre» 41
3. LES DIAGRAMMES DE SEQUENCES SYSTEME ......................................... 42
3.1. DSS CREER COMPTE ....................................................................................... 42
3.2. DSS S’AUTHENTIFIER ..................................................................................... 43
3.3. DSS GERER LES COMPTES DES CLIENTS .......................................................... 44
3.3.1. DSS Rechercher compte ............................................................................ 44
3.3.2. DSS Valider compte .................................................................................. 45
3.3.3. DSS Supprimer compte ............................................................................. 45
3.4. DSS DEMANDER SERVICE .............................................................................. 46
3.4.1. DSS Demander séjour ................................................................................ 47
3.4.2. DSS Demander hôtel ................................................................................. 47
3.4.3. DSS Demander billet ................................................................................. 48
a. DSS Demander vol .................................................................................... 48
b. DSS Demander billet de train .................................................................... 49
c. DSS Demander croisière ............................................................................ 49
3.4.4. DSS Demander voiture .............................................................................. 50
3.5. DSS RECHERCHER DEMANDE ......................................................................... 50
3.6. DSS ANNULER RESERVATION D’UN SERVICE.................................................. 51
3.7. DSS RECHERCHER OFFRE ............................................................................... 51
3.8. DSS CONSULTER OFFRE ................................................................................. 52
3.9. DSS RESERVER OFFRE .................................................................................... 52
3.10. DS ANNULER RESERVATION D’UNE OFFRE ..................................................... 53
3.11. DSS GERER LES OFFRES ................................................................................. 54
3.11.1. DSS Ajouter offre................................................................................... 55
3.11.2. DSS Modifier offre................................................................................. 55
3.11.3. DSS Supprimer offre .............................................................................. 56
3.12. DSS GERER LES DEMANDES DES CLIENTS ....................................................... 56
3.12.1. DSS Valider demande de réservation d’un service ................................ 57
3.12.2. DSS Valider demande d’annulation d’un service .................................. 57
3.12.3. DSS Valider demande d’annulation d’une offre .................................... 58
CONCLUSION ................................................................................................................... 58
Chapitre 02 : Phase d'analyse
INTRODUCTION ............................................................................................................... 60
1. ANALYSE DU DOMAINE ................................................................................. 60
1.1. DEMARCHE ..................................................................................................... 60
1.2. IDENTIFICATION DES CONCEPTS DU DOMAINE ................................................. 60
1.3. IDENTIFICATION DES CLASSES ET DES ASSOCIATIONS ..................................... 63
1.4. AFFECTATION DES ATTRIBUTS AUX CLASSES .................................................. 64
2. LE MODELE DE DOMAINE .............................................................................. 64
3. DIAGRAMME DE CLASSES PARTICIPANTES ............................................. 65
3.1. DCP : CREER COMPTE .................................................................................... 66
3.2. DCP : S’AUTHENTIFIER .................................................................................. 66
3.3. DCP : RECHERCHER COMPTE ......................................................................... 67
3.4. DCP : SUPPRIMER COMPTE ............................................................................. 67
3.5. DCP : VALIDER COMPTE ................................................................................ 68
3.6. DCP : DEMANDER SEJOUR.............................................................................. 69
3.7. DCP : DEMANDER HOTEL ............................................................................... 70
3.8. DCP : DEMANDER VOL................................................................................... 70
3.9. DCP : DEMANDER BILLET DE TRAIN ............................................................... 71
3.10. DCP : DEMANDER CROISIERE ......................................................................... 71
3.11. DCP : DEMANDER VOITURE ........................................................................... 72
3.12. DCP : RECHERCHER OFFRE ............................................................................ 72
3.13. DCP : CONSULTER OFFRE ............................................................................... 73
3.14. DCP : RESERVER OFFRE ................................................................................. 73
3.15. DCP : AJOUTER OFFRE ................................................................................... 74
3.16. DCP : MODIFIER OFFRE .................................................................................. 74
3.17. DCP : SUPPRIMER OFFRE ................................................................................ 75
3.18. DCP : ANNULER RESERVATION D’UNE OFFRE ................................................ 75
3.19. DCP : RECHERCHER DEMANDE ...................................................................... 76
3.20. DCP : ANNULER RESERVATION D’UN SEJOUR................................................. 77
3.21. DCP : ANNULER RESERVATION D’UN HOTEL .................................................. 78
3.22. DCP : ANNULER RESERVATION D’UN VOL ...................................................... 78
3.23. DCP : ANNULER RESERVATION D’UNE CROISIERE .......................................... 79
3.24. DCP : ANNULER RESERVATION D’UN BILLET DE TRAIN .................................. 79
3.25. DCP : ANNULER RESERVATION D’UNE VOITURE ............................................ 80
3.26. DCP : VALIDER DEMANDE D’ANNULATION D’UNE OFFRE .............................. 80
3.27. DCP : VALIDER DEMANDE DE RESERVATION D’UN SEJOUR ............................ 81
3.28. DCP : VALIDER DEMANDE DE RESERVATION D’UN HOTEL ............................. 82
3.29. DCP : VALIDER DEMANDE DE RESERVATION D’UN VOL ................................. 82
3.30. DCP : VALIDER DEMANDE DE RESERVATION D’UNE CROISIERE ..................... 83
3.31. DCP : VALIDER DEMANDE DE RESERVATION D’UN BILLET DE TRAIN ............. 84
3.32. DCP : VALIDER DEMANDE DE RESERVATION D’UNE VOITURE ........................ 84
3.33. DCP : VALIDER DEMANDE D’ANNULATION D’UN SEJOUR............................... 85
3.34. DCP : VALIDER DEMANDE D’ANNULATION D’UN HOTEL ................................ 86
3.35. DCP : VALIDER DEMANDE D’ANNULATION D’UN VOL .................................... 86
3.36. DCP : VALIDER DEMANDE D’ANNULATION D’UNE CROISIERE ........................ 87
3.37. DCP : VALIDER DEMANDE D’ANNULATION D’UN BILLET DE TRAIN ................ 87
3.38. VALIDER DEMANDE D’ANNULATION D’UNE VOITURE ..................................... 88
CONCLUSION ................................................................................................................... 88
Chapitre 03 : Phase de conception
INTRODUCTION ............................................................................................................... 90
1. DIAGRAMME DE SEQUENCE ......................................................................... 90
1.1. DEFINITION:.................................................................................................... 90
1.2. DIAGRAMME DE SEQUENCE S’AUTHENTIFIER ................................................. 90
1.3. DIAGRAMME DE SEQUENCE CREER COMPTE ................................................... 91
1.4. DIAGRAMME DE SEQUENCE « GERER LES COMPTES DES CLIENTS » ................ 92
1.4.1. Diagramme de séquence « Rechercher compte » ...................................... 93
1.4.2. Diagramme de séquence « Valider compte » ............................................ 93
1.4.3. Diagramme de séquence « Supprimer compte » ....................................... 94
1.5. DIAGRAMME DE SEQUENCE « DEMANDER SERVICE »..................................... 94
1.5.1. Diagramme de séquence « Demander séjour » .......................................... 95
1.5.2. Diagramme de séquence « Demander hôtel »............................................ 96
1.5.3. Diagramme de séquence « Demander billet » ........................................... 97
a. Diagramme de séquence « Demander vol » .................................................. 97
b. Diagramme de séquence « Demander billet de train » .................................. 98
c. Diagramme de séquence « Demander croisière » ......................................... 99
1.5.4. Diagramme de séquence « Demander voiture » ...................................... 100
1.6. DIAGRAMME DE SEQUENCE « RECHERCHER DEMANDE » ............................. 100
1.7. DIAGRAMME DE SEQUENCE « ANNULER RESERVATION D’UN SERVICE » ...... 101
1.10. DIAGRAMME DE SEQUENCE « RESERVER OFFRE » ........................................ 102
1.11. DIAGRAMME DE SEQUENCE « ANNULER RESERVATION D’UNE OFFRE » ....... 103
1.12. DIAGRAMME DE SEQUENCE « GERER LES OFFRES » ...................................... 104
1.12.1. Diagramme de séquence « Ajouter offre »........................................... 105
1.12.2. Diagramme de séquence « Modifier offre »......................................... 106
1.12.3. Diagramme de séquence Supprimer offre ............................................ 106
1.13. DIAGRAMME DE SEQUENCE « GERER LES DEMANDES DES CLIENTS » ........... 107
1.13.1. Diagramme de séquence « Valider demande de réservation d’un
service » 108
1.13.2. Diagramme de séquence « Valider demande d’annulation d’un service »
109
2. DIAGRAMME DE CLASSES DE CONCEPTION : ................................................... 110
2.1. DCC S’AUTHENTIFIER .................................................................................. 110
2.2. DCC CREER COMPTE .................................................................................... 111
2.3. DCC : RECHERCHER COMPTE ....................................................................... 112
2.4. DCC : SUPPRIMER COMPTE .......................................................................... 112
2.5. DCC VALIDER COMPTE ............................................................................... 113
2.6. DCC : DEMANDER SEJOUR ........................................................................... 114
2.7. DCC : DEMANDER HOTEL ............................................................................ 115
2.8. DCC : DEMANDER VOL ................................................................................ 115
2.9. DCC : DEMANDER BILLET DE TRAIN ............................................................ 116
2.10. DCC : DEMANDER CROISIERE ...................................................................... 116
2.11. DCC : DEMANDER VOITURE ......................................................................... 117
2.12. DCC : RECHERCHER OFFRE .......................................................................... 117
2.13. DCC : CONSULTER OFFRE ............................................................................ 118
2.14. DCC : RESERVER OFFRE ............................................................................... 118
2.15. DCC : AJOUTER OFFRE ................................................................................. 119
2.16. DCC : MODIFIER OFFRE ............................................................................... 119
2.17. DCC : SUPPRIMER OFFRE ............................................................................. 120
2.18. DCC : ANNULER RESERVATION D’UNE OFFRE .............................................. 120
2.19. DCC : RECHERCHER DEMANDE .................................................................... 121
2.20. DCC : ANNULER RESERVATION D’UN SEJOUR .............................................. 122
2.21. DCC : ANNULER RESERVATION D’UN HOTEL ............................................... 123
2.22. DCC : ANNULER RESERVATION D’UN VOL ................................................... 123
2.24. DCC : ANNULER RESERVATION D’UN BILLET DE TRAIN ............................... 124
2.25. DCC : ANNULER RESERVATION D’UNE VOITURE .......................................... 125
2.26. DCC : VALIDER DEMANDE D’ANNULATION D’UNE OFFRE ............................ 125
2.27. DCC : VALIDER DEMANDE DE RESERVATION D’UN SEJOUR .......................... 126
2.29. DCC : VALIDER DEMANDE DE RESERVATION D’UN VOL ............................... 127
2.30. DCC : VALIDER DEMANDE DE RESERVATION D’UNE CROISIERE ................... 128
2.31. DCC : VALIDER DEMANDE DE RESERVATION D’UN BILLET DE TRAIN ........... 129
2.32. DCC : VALIDER DEMANDE DE RESERVATION D’UNE VOITURE...................... 129
3.31. DCC : VALIDER DEMANDE D’ANNULATION D’UN SEJOUR ............................ 130
2.33. DCC : VALIDER DEMANDE D’ANNULATION D’UN HOTEL ............................. 131
2.34. DCC : VALIDER DEMANDE D’ANNULATION D’UN VOL ................................. 131
2.35. DCP : VALIDER DEMANDE D’ANNULATION D’UNE CROISIERE ...................... 132
2.36. DCP : VALIDER DEMANDE D’ANNULATION D’UN BILLET DE TRAIN .............. 132
2.37. VALIDER DEMANDE D’ANNULATION D’UNE VOITURE ................................... 133
3. DIAGRAMME DE DEPLOIEMENT ................................................................ 133
3.1. OBJECTIF DU DIAGRAMME DE DEPLOIEMENT ................................................ 133
3.2. NOTRE DIAGRAMME DE DEPLOIEMENT ......................................................... 134
Conclusion………………………………………………………………………………………………………………………………147
Chapitre 04 : Phase d'implémentation
INTRODUCTION ............................................................................................................. 136
1. LE PASSAGE DU DIAGRAMME DE CLASSE AU MODELE
RELATIONNEL : ............................................................................................................. 136
1.1. LE MODELE RELATIONNEL : .......................................................................... 136
2. CHOIX DU LANGAGE DE PROGRAMMATION.......................................... 139
2.1. JAVA :........................................................................................................... 139
2.2. C'EST QUOI JAVA EE ? .................................................................................. 139
2.3. POURQUOI UTILISE JAVA EE ......................................................................... 140
2.4. LES API JAVA EE (EJB, SERVLETS, JSP) ..................................................... 140
2.4.1. Les Servlets : ............................................................................................ 140
2.4.2. Les JSP (java server page) : ..................................................................... 140
2.4.3. LES EJB :................................................................................................. 140
3. UN FICHIER XML ............................................................................................ 140
4. L’ARCHITECTURE MVC (MODEL VIEW CONTROLLER ) : .................... 140
5. OUTILS ET ENVIRONNEMENT DE DEVELOPPEMENT ........................... 142
5.1. ECLIPSE ..................................................................................................... 142
5.2. LE SERVEUR TOMCAT ................................................................................... 142
5.3. PACESTAR UML DIAGRAMMER ................................................................... 142
6. PRESENTATION DE L’APPLICATION DEVELOPPEE : ............................. 142
6.1. PAGE ACCUEIL: ............................................................................................. 143
6.2. PAGE ESPACE ADMINISTRATEUR: .................................................................. 143
6.3. FORMULAIRE D’AUTHENTIFICATION ............................................................. 144
6.4. LA PAGE : DEMANDER VOL........................................................................... 144
6.5. PAGE D’INSCRIPTION: ............................................................................... 145
6.6. PAGE INSCRIPTION AVEC DES CHAMPS VIDES ................................................ 146
6.7. PAGE L’ESPACE CLIENT : .............................................................................. 146
6.8. PAGE VALIDER COMPTE : .............................................................................. 147
CONCLUSION ................................................................................................................. 147
CONCLUSION GENERAL .............................................................................................. 149
REFERENCE .................................................................................................................... 150
Table des figures
FIGURE 1.1 : DIAGRAMME DE CAS D’UTILISATION ......................................................... 27
FIGURE 1.2 : DIAGRAMME DE SEQUENCE SYSTEME « CREE COMPTE » ........................... 42
FIGURE 1.3 : DIAGRAMME DE SEQUENCE SYSTEME « S’AUTHENTIFIER »....................... 43
FIGURE 1.4 : DIAGRAMME DE SEQUENCE SYSTEME « GERER COMPTES»........................ 44
FIGURE 1.5 : DIAGRAMME DE SEQUENCE SYSTEME « RECHERCHER COMPTE» ............... 44
FIGURE 1.6 : DIAGRAMME DE SEQUENCE SYSTEME SYSTEME « VALIDER COMPTE»....... 45
FIGURE 1.7 : DIAGRAMME DE SEQUENCE SYSTEME« SUPPRIMER COMPTE» ................... 45
FIGURE 1.8 : DIAGRAMME DE SEQUENCE SYSTEME « DEMANDER SERVICE » ................ 46
FIGURE 1.9 : DIAGRAMME DE SEQUENCE SYSTEME « DEMANDER SEJOUR » .................. 47
FIGURE 1.10 : DIAGRAMME DE SEQUENCE SYSTEME « DEMANDER HOTEL » ................. 47
FIGURE 1.11 : DIAGRAMME DE SEQUENCE SYSTEME « DEMANDER BILLET » ................. 48
FIGURE 1.12 : DIAGRAMME DE SEQUENCE SYSTEME « DEMANDER VOL » ..................... 48
FIGURE 1.13 : DIAGRAMME DE SEQUENCE SYSTEME« DEMANDER BILLET DE TRAIN » .. 49
FIGURE 1.14 : DIAGRAMME DE SEQUENCE SYSTEME« DEMANDER CROISIERE » ............ 49
FIGURE 1.15 : DIAGRAMME DE SEQUENCE SYSTEME « DEMANDER VOITURE » .............. 50
FIGURE 1.16 : DIAGRAMME DE SEQUENCE SYSTEME « RECHERCHER DEMANDE » ......... 50
FIGURE 1.17 : DIAGRAMME DE SEQUENCE SYSTEME « ANNULER RESERVATION D’UN
SERVICE»....................................................................................................................... 51

FIGURE 1.18 : DIAGRAMME DE SEQUENCE SYSTEME « RECHERCHER OFFRE » ............... 51


FIGURE 1.19 : DIAGRAMME DE SEQUENCE SYSTEME« CONSULTER OFFRE » ................. 52
FIGURE 1.20 : DIAGRAMME DE SEQUENCE SYSTEME « RESERVER OFFRE»..................... 52
FIGURE 1.21 : DIAGRAMME DE SEQUENCE SYSTEME « ANNULER RESERVATION D’UNE
OFFRE» .......................................................................................................................... 53

FIGURE 1.22 : DIAGRAMME DE SEQUENCE SYSTEME« GERER LES OFFRES» ................... 54


FIGURE 1.23 : DIAGRAMME DE SEQUENCE SYSTEME « AJOUTER OFFRE» ....................... 55
FIGURE 1.24 : DIAGRAMME DE SEQUENCE SYSTEME « MODIFIER OFFRE» ..................... 55
FIGURE 1.25 : DIAGRAMME DE SEQUENCE SYSTEME « SUPPRIMER OFFRE» ................... 56
FIGURE 1.26 : DIAGRAMME DE SEQUENCE SYSTEME « GERER LES DEMANDES DES
CLIENTS» ....................................................................................................................... 56

FIGURE 1.27 : DIAGRAMME DE SEQUENCE SYSTEME « VALIDER DEMANDE DE


RESERVATION D’UN SERVICE» ....................................................................................... 57
FIGURE 1.28 : DIAGRAMME DE SEQUENCE « VALIDER DEMANDE D’ANNULATION D’UN
SERVICE»....................................................................................................................... 57

FIGURE 1.29 : DIAGRAMME DE SEQUENCE « VALIDER DEMANDE D’ANNULATION D’UNE


OFFRE» .......................................................................................................................... 58

FIGURE 2.30 : IDENTIFICATION DES CLASSES ET DES ASSOCIATIONS ............................. 63


FIGURE 2.31 : LE MODELE DE DOMAINE ........................................................................ 65
FIGURE 2.32 : DIAGRAMME DE CLASSE PARTICIPANT CREER COMPTE ........................... 66
FIGURE 2.33 : DIAGRAMME DE CLASSE PARTICIPANT S’AUTHENTIFIER ......................... 66
FIGURE 2.34 : DIAGRAMME DE CLASSE PARTICIPANT RECHERCHER COMPTE ................ 67
FIGURE 2.35 : DIAGRAMME DE CLASSE PARTICIPANT « SUPPRIMER COMPTE » ............. 67
FIGURE 2.36 : DIAGRAMME DE CLASSE PARTICIPANT VALIDER COMPTE ....................... 68
FIGURE 2.37 : DIAGRAMME DE CLASSE PARTICIPANT « DEMANDER SEJOUR » .............. 69
FIGURE 2.38 : DIAGRAMME DE CLASSE PARTICIPANT « DEMANDER HOTEL » ............... 70
FIGURE 2.39 : DIAGRAMME DE CLASSE PARTICIPANT « DEMANDER VOL » ................... 70
FIGURE 2.40 : DIAGRAMME DE CLASSE PARTICIPANT « DEMANDER BILLET DE TRAIN » 71
FIGURE 2.41 : DIAGRAMME DE CLASSE PARTICIPANT « DEMANDER CROISIERE ».......... 71
FIGURE 42 : DIAGRAMME DE CLASSE PARTICIPANT « DEMANDER VOITURE » ............... 72
FIGURE 2.43 : DIAGRAMME DE CLASSE PARTICIPANT « RECHERCHER OFFRE » ............. 72
FIGURE 2.44 : DIAGRAMME DE CLASSE PARTICIPANT « CONSULTER OFFRE » ............... 73
FIGURE 2.45 : DIAGRAMME DE CLASSE PARTICIPANT « RESERVER OFFRE » .................. 73
FIGURE 2.46 : DIAGRAMME DE CLASSE PARTICIPANT « AJOUTER OFFRE » .................... 74
FIGURE 47 : DIAGRAMME DE CLASSE PARTICIPANT « MODIFIER OFFRE » ..................... 74
FIGURE 2.48 : DIAGRAMME DE CLASSE PARTICIPANT « SUPPRIMER OFFRE » ................ 75
FIGURE 2.49 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UNE
OFFRE » ......................................................................................................................... 75
FIGURE 2.50 : DIAGRAMME DE CLASSE PARTICIPANT « RECHERCHER DEMANDE » ....... 76
FIGURE 51 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UN
SEJOUR » ....................................................................................................................... 77
FIGURE 2.52 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UN
HOTEL » ........................................................................................................................ 78
FIGURE 2.53 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UN
VOL » ............................................................................................................................ 78
FIGURE 2.54 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UNE
CROISIERE » .................................................................................................................. 79
FIGURE 2.55 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UN
BILLET DE TRAIN » ........................................................................................................ 79
FIGURE 2.56 : DIAGRAMME DE CLASSE PARTICIPANT « ANNULER RESERVATION D’UNE
VOITURE » ..................................................................................................................... 80
FIGURE 2.57 : DIAGRAMME DE CLASSE PARTICIPANT «VALIDER DEMANDE
D’ANNULATION D’UNE OFFRE » ..................................................................................... 80
FIGURE 2.58:DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE DE
RESERVATION D’UN SEJOUR » ....................................................................................... 81
FIGURE 2.59 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE DE
RESERVATION D’UN HOTEL » ......................................................................................... 82
FIGURE 2.60 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE DE
RESERVATION D’UN VOL »............................................................................................. 82
FIGURE 2.61 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE DE
RESERVATION D’UNE CROISIERE » ................................................................................. 83
FIGURE 2.62 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE DE
RESERVATION D’UN BILLET DE TRAIN » ......................................................................... 84
FIGURE 2.63 : DIAGRAMME DE CLASSE PARTICIPANT VALIDER DEMANDE DE
RESERVATION D’UNE VOITURE ...................................................................................... 84

FIGURE 2.64 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE


D’ANNULATION D’UN SEJOUR » ..................................................................................... 85
FIGURE 2.65 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE
D’ANNULATION D’UN HOTEL » ...................................................................................... 86
FIGURE 2.66 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE
D’ANNULATION D’UN VOL » .......................................................................................... 86
FIGURE 2.67 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE
D’ANNULATION D’UNE CROISIERE » .............................................................................. 87
FIGURE 2.68 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE
D’ANNULATION D’UN BILLET DE TRAIN » ...................................................................... 87
FIGURE 2.69 : DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE
D’ANNULATION D’UNE VOITURE » ................................................................................. 88
FIGURE3.70 : DIAGRAMME DE SEQUENCE « S’AUTHENTIFIER » .................................... 90
FIGURE3.71 : DIAGRAMME DE SEQUENCE « CREER COMPTE » ...................................... 91
FIGURE 3.72 : DIAGRAMME DE SEQUENCE « GERER LES COMPTES DES CLIENTS » ........ 92
FIGURE3.73 : DIAGRAMME DE SEQUENCE « RECHERCHER COMPTE » ........................... 93
FIGURE3.74 : DIAGRAMME DE SEQUENCE « VALIDER COMPTE » .................................. 93
FIGURE3. 75 : DIAGRAMME DE SEQUENCE « SUPPRIMER COMPTE » .............................. 94
FIGURE3 76: DIAGRAMME DE SEQUENCE « DEMANDER SERVICE » ............................... 94
FIGURE3.77: DIAGRAMME DE SEQUENCE « DEMANDER SEJOUR » ................................ 95
FIGURE3.78 : DIAGRAMME DE SEQUENCE « DEMANDER HOTEL » ................................. 96
FIGURE3 79 : DIAGRAMME DE SEQUENCE « DEMANDER BILLET »................................ 97
FIGURE3. 80 : DIAGRAMME DE SEQUENCE « DEMANDER VOL » .................................... 97
FIGURE3.81 : DIAGRAMME DE SEQUENCE « DEMANDER BILLET DE TRAIN » ................ 98
FIGURE3.82 : DIAGRAMME DE SEQUENCE « DEMANDER CROISIERE » ........................... 99
FIGURE3.83 : DIAGRAMME DE SEQUENCE « DEMANDER VOITURE » ........................... 100
FIGURE3.84 : DIAGRAMME DE SEQUENCE « RECHERCHER DEMANDE » ...................... 100
FIGURE3 85 : DIAGRAMME DE SEQUENCE « ANNULER RESERVATION D’UN SERVICE » 101
FIGURE3.86 : DIAGRAMME DE SEQUENCE « RECHERCHER OFFRE ............................... 101
FIGURE3 87 : DIAGRAMME DE SEQUENCE « CONSULTER OFFRE » ............................... 102
FIGURE3.88 : DIAGRAMME DE SEQUENCE « RESERVER OFFRE » ................................. 102
FIGURE3.89 : DIAGRAMME DE SEQUENCE « ANNULER RESERVATION D’UNE OFFRE » 103
FIGURE3.90 : DIAGRAMME DE SEQUENCE « GERER LES OFFRES »............................... 104
FIGURE3.91 : DIAGRAMME DE SEQUENCE « AJOUTER OFFRE » ................................... 105
FIGURE3.92 : DIAGRAMME DE SEQUENCE « MODIFIER OFFRE » .................................. 106
FIGURE3.93 : DIAGRAMME DE SEQUENCE « SUPPRIMER OFFRE » ............................... 106
FIGURE3.94 : DIAGRAMME DE SEQUENCE « GERER LES DEMANDES DES CLIENTS » .... 107
FIGURE3. 95 : DIAGRAMME DE SEQUENCE « VALIDER DEMANDE DE RESERVATION D’UN
SERVICE ».................................................................................................................... 108
FIGURE3.96 : DIAGRAMME DE SEQUENCE «VALIDER DEMANDE D’ANNULATION D’UN
SERVICE ».................................................................................................................... 109
FIGURE3.97 : DIAGRAMME DE SEQUENCE « VALIDER DEMANDE D’ANNULATION D’UNE
OFFRE » ....................................................................................................................... 109
FIGURE3 98: DIAGRAMME DE CLASSE DE CONCEPTION « S’AUTHENTIFIER » .............. 110
FIGURE3.99 : DIAGRAMME DE CLASSE DE CONCEPTION « CREER COMPTE » ............... 111
FIGURE 3.100 : DIAGRAMME DE CLASSE DE CONCEPTION « RECHERCHER COMPTE » 112
FIGURE 3.101 : DIAGRAMME DE CLASSE DE CONCEPTION « SUPPRIMER COMPTE »..... 112
FIGURE3. 102: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER COMPTE » ......... 113
FIGURE 3.103 DIAGRAMME DE CLASSE DE CONCEPTION « DEMANDER SEJOUR » ....... 114
FIGURE 3.104 : DIAGRAMME DE CLASSE DE CONCEPTION « DEMANDER HOTEL »....... 115
FIGURE 3.105 : DIAGRAMME DE CLASSE DE CONCEPTION « DEMANDER VOL » .......... 115
FIGURE 3.106: DIAGRAMME DE CLASSE DE CONCEPTION « DEMANDER BILLET DE
TRAIN » ....................................................................................................................... 116
FIGURE 3.107: DIAGRAMME DE CLASSE DE CONCEPTION « DEMANDER CROISIERE » . 116
FIGURE 3.108: DIAGRAMME DE CLASSES DE CONCEPTION « DEMANDER VOITURE » .. 117
FIGURE 3.109: DIAGRAMME DE CLASSES DE CONCEPTION « RECHERCHER OFFRE » ... 117
FIGURE 3.110: DIAGRAMME DE CLASSES DE CONCEPTION « CONSULTER OFFRE » ...... 118
FIGURE 3.111: DIAGRAMME DE CLASSES DE CONCEPTION « RESERVER OFFRE » ....... 118
FIGURE 3. 112: DIAGRAMME DE CLASSE DE CONCEPTION « AJOUTER OFFRE » ........... 119
FIGURE 3.113: DIAGRAMME DE CLASSE DE CONCEPTION « MODIFIER OFFRE » ........... 119
FIGURE 3.114: DIAGRAMME DE CLASSE DE CONCEPTION « SUPPRIMER OFFRE »......... 120
FIGURE 3.115: DIAGRAMME DE CLASSE DE CONCEPTION « ANNULER RESERVATION
D’UNE OFFRE » ............................................................................................................ 120
FIGURE 3.116: DIAGRAMME DE CLASSE DE CONCEPTION « RECHERCHER DEMANDE » 121
FIGURE 3.117: DIAGRAMME DE CLASSE DE CONCEPTION « ANNULER RESERVATION D’UN
SEJOUR » ..................................................................................................................... 122
FIGURE 3.118: DIAGRAMME DE CLASSE DE CONCEPTION « ANNULER RESERVATION D’UN
HOTEL » ...................................................................................................................... 123
FIGURE 3. 119: DIAGRAMME DE CLASSE DE CONCEPTION « ANNULER RESERVATION
D’UN VOL » ................................................................................................................. 123
FIGURE 3.120: DIAGRAMME DE CLASSE DE CONCEPTION« ANNULER RESERVATION
D’UNE CROISIERE »...................................................................................................... 124
FIGURE 3.121: DIAGRAMME DE CLASSE DE CONCEPTION « ANNULER RESERVATION D’UN
BILLET DE TRAIN » ...................................................................................................... 124
FIGURE 3.122: DIAGRAMME DE CLASSE DE CONCEPTION « ANNULER RESERVATION
D’UNE VOITURE » ........................................................................................................ 125
FIGURE 3.123: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE
D’ANNULATION D’UNE OFFRE » ................................................................................... 125
FIGURE 3.124:DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE DE
RESERVATION D’UN SEJOUR » ..................................................................................... 126
FIGURE 3.125: DIAGRAMME DE CLASSE PARTICIPANT « VALIDER DEMANDE DE
RESERVATION D’UN HOTEL » ....................................................................................... 127
FIGURE 3.126: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE DE
RESERVATION D’UN VOL »........................................................................................... 127
FIGURE 3.127: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE DE
RESERVATION D’UNE CROISIERE » ............................................................................... 128
FIGURE 3.128: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE DE
RESERVATION D’UN BILLET DE TRAIN » ....................................................................... 129
FIGURE 3.129: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE DE
RESERVATION D’UNE VOITURE » ................................................................................. 129
FIGURE 3.130: DIAGRAMME DE CLASSE DE CONCEPTION «VALIDER DEMANDE
D’ANNULATION D’UN SEJOUR » ................................................................................... 130
FIGURE 3.131: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE
D’ANNULATION D’UN HOTEL » .................................................................................... 131
FIGURE 3.132: DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE
D’ANNULATION D’UN VOL » ........................................................................................ 131
FIGURE 3.133 : DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE
D’ANNULATION D’UNE CROISIERE » ............................................................................ 132
FIGURE 3.134:DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE
D’ANNULATION D’UN BILLET DE TRAIN » .................................................................... 132
FIGURE 3.135 : DIAGRAMME DE CLASSE DE CONCEPTION « VALIDER DEMANDE
D’ANNULATION D’UNE VOITURE » ............................................................................... 133
FIGURE 3.136 : DIAGRAMME DE DEPLOIEMENT ........................................................... 134
FIGURE 4. 137 : LE MODELE MVC [REF] .................................................................... 141
FIGURE 4.138 : JAVAEE AVEC MVC ........................................................................... 141
FIGURE 4.139 : LA PAGE D’ACCUEIL ........................................................................... 143
FIGURE 4.140 : LA PAGE ADMINISTRATEUR................................................................. 143
FIGURE 4.141: LA PAGE ADMINISTRATEUR ................................................................. 144
FIGURE 4.142 : LA PAGE DEMANDER VOL .................................................................... 144
FIGURE 4.143: LA PAGE INSCRIPTION .......................................................................... 145
FIGURE 4.144: LA PAGE INSCRIPTION DANS LE CAS DES CHAMPS VIDES ...................... 146
FIGURE 4.145 : PAGE L’ESPACE CLIENT ....................................................................... 147
FIGURE 4.146 : PAGE VALIDER COMPTE ....................................................................... 147
Liste des tableaux
TABLEAU 1.1: LE DICTIONNAIRE DE DONNEES ...................................................................... 25
TABLEAU 4.2: LE MODELE RELATIONNEL ........................................................................... 139
Résumé
L’intérêt de ce travail est d’informatiser (automatiser) la gestion d’une agence de
voyage, cette informatisation se traduit par la mise en œuvre d’un système qui gère le
fonctionnement de l’agence. L’utilité de ce système est de faciliter la gestion de l’agence
pour l’administratif et garder un contact permanent avec le client.
La modélisation du système de gestion d’une agence de voyage a été faite par UML en
s’appuyant sur le simplifié de Laurent Audibert. La base de données et l’application ont été
respectivement crées par le SGBD MySQL et un ensemble de technologies web autours du
langage java.
Mots clés : UML, JAVA, MySQL, java EE, Eclipse, Tomcat, JSP, Sevlet…

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

Port_crs Le port de départ d’une croisière


Prix_crs Le prix d’une croisière
Cmp_crs La compagnie maritime
Catg_billet_ crs La catégorie d’une croisière
Nbr_per_crs Le nombre de places
BilletTrain Un billet de train
dest_train La ville de destination d’un voyage par le train
Date_train La date de départ d’un voyage par le train
Prix_train Le prix d’un voyage par le train
Nbr_per_train Le nombre de places
Catg_billet_ train La catégorie d’un billet de train
Cmp_train La compagnie ferroviaire.
Action Définition
Créer compte Permet à un utilisateur de crée un compte pour contacter à
l’agence.
S’authentifier Permet à un utilisateur d’accéder à des services avec
sécurité.
Demander services (séjours, Permet à un utilisateur de demander des séjours, des
hôtels, billet, voiture) hôtels, des billets et de louer des voitures.
Annuler réservation d’un Permet d’annuler une réservation validée d’un service
service
Rechercher offres Permet à un utilisateur de faire une recherche sur les
offres de l’agence.
Consulter offres Permet à un utilisateur de prendre une idée sur les offres
de l’agence.
Réserver offres Permet à un utilisateur de réserver une offre.

Annuler réservation d‘offre Permet à un utilisateur d’annuler une réservation validée


d’une offre.
Gérer des offres Permet de gérer les offres de l’agence (l’ajout,
suppression, modification).
Ajouter offre Permet d’ajouter une offre.
Supprimer offre Permet de supprimer une offre.

24
Chapitre 01 : Identification des besoins

Modifier offre Permet de modifier une offre.


Gérer les demandes des Permet de gérer les demandes des clients.
clients
Rechercher demande Permet de faire une recherche sur les demandes de client.

Valider demande de Permet de valider les demandes de réservation des


réservation d’un service services d’un client.
Valider demande Permet de valider les demandes d’annulation d’une
d’annulation d’un service réservation validée des services.
Valider demande Permet de valider les demandes d’annulation d’une
d’annulation d’une offre réservation validée des offres.
Gérer les comptes des Permet gérer les comptes des clients (rechercher, valider,
clients supprimer).
Rechercher compte Permet de faire une recherche sur un compte client.

Valider compte Permet de valider un compte.

Supprimer compte Permet de supprimer un compte


Tableau 1.1: Le dictionnaire de données
1.3. Les besoins fonctionnels
Un système pour une agence de voyage peut regrouper les fonctionnalités suivantes:
 La création des comptes :
La création des comptes clients.
 L‘authentification:
L’accès aux différents services et offres de l’agence par l’utilisateur se fait en tout
sécurité.
 La demande de service
Le client peut demander des séjours, des hôtels, des billets ou des voitures.
 La consultation des offres:
Nous supposons que le client n’a aucune idée sur les offres de l'agence, pour cela,
nous fournissons la possibilité de lui découvrir et de lui consulter après une recherche.
 La réservation des offres
Le client peut réserver une offre proposé par l’agence.
 L’annulation de réservation:
Le client annule une réservation validé d’un service ou d’une offre.

25
Chapitre 01 : Identification des besoins

 La gestion des offres :


L’administrateur peut faire certain traitements sur les offres de l’agence (la
recherche, l’ajout, la suppression et la modification).
 La gestion des demandes des clients
L’administrateur traite les demandes du client concernant un service ou une offre soit
des demandes de réservations ou d’annulation.
 La gestion des comptes des clients
L’administrateur gère les comptes des clients par la validation ou la suppression.
1.4. Les besoins techniques
 Convivialité et faciliter d’utilisation : et ça signifie que l’application doit avoir
une interface graphique claire, facile à utiliser et bien organisée.
 Le temps de repense: doit être acceptable.
 La sécurité : des droits d’utilisations bien précis sont accordé à chaque catégorie
d’utilisateur.

2. Le diagramme de cas d’utilisation


Un cas d'utilisation (Use case) « représente un ensemble de séquences d'actions
réalisées par le système et produisant un résultat observable intéressant pour un acteur
particulier » [1].
2.1. Identification d’acteurs
« Un acteur est l’idéalisation d’un rôle joué par une personne externe, un processus ou
une chose qui interagit avec un système » [2].
Notre application possède deux acteurs humains interagissant avec le système, qu’ils
sont:
 Client
Une personne qui visite le site Web pour rechercher et consulter les offres proposé par
l’agence et demander les services, fait des réservations de service (séjours, hôtels,
billetteries, location de voiture) et d’offre …, etc.
 Administrateur
 Le suivie des demandes de réservation ou d’annulation des clients.
 Se charge de la mise à jour du système (la mise à jour des offres) et la gestion
des comptes des clients, etc.

26
Chapitre 01 : Identification des besoins

2.2. Le diagramme de cas d’utilisation

Creer compte Demander service

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»

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

Figure 1.1 : diagramme de cas d’utilisation

27
Chapitre 01 : Identification des besoins

2.3. Description textuelle des cas d’utilisation


2.3.1. Fiche descriptive du cas d’utilisation « Créer compte »
Cas d’utilisation Créer compte
Acteur principal Le client
Objectif Permet à un client de crée un compte.
Pré condition La connexion à l’internet existe.
Post condition Le client possède un compte.
1. Le client demande l’inscription.
2. Le système affiche le formulaire d’inscription (login,
mot_de_passe, nom_cli, prenom_cli, num_tel_cli,
Scenario nominal adresse_cli, email_cli, sexe_cli, date_n_cli ).
3. Le client saisit les données (login, mot_de_passe,
nom_cli, prenom_cli, num_tel_cli, adresse_cli, email_cli,
sexe_cli, date_n_cli) et valide.
4. Le système confirme l’inscription.
Scenario alternatif 1. Les informations remplit incorrectes ou existe déjà
1.1.Le système affiche une notification « les champs vide
ou incorrect » et propose à client de les remplir ou de
les corriger.
1.2.Reprendre le scénario nominal au point3.
Scenario d’erreur /
2.3.2. Fiche descriptif de cas d’utilisation «S’authentifier »
Cas d’utilisation S’authentifier
Acteur principal Administrateur, client.

Objectif Permet à un utilisateur d’authentifier.


Pré condition L’utilisateur doit avoir un mot de passe et un login.

Post condition Accès aux différents services et offres de l’agence.


1. L’utilisateur choisit d’accéder au système
2. Le système affiche un formulaire d’authentification
Scenario nominal (login, mot_de_passe).
3. L’utilisateur saisit son login et son mot de passe et
valide la saisie.

28
Chapitre 01 : Identification des besoins

4. Le système confirme l’authentification et ouvre


l’application.
1. Le login ou le mot de passe est erroné :
Scenario alternatif 1.1. Le système affiche un message d’erreur.
1.2. Reprendre au scénario nominal 2.
Scénario d’erreur /
2.3.3. Fiche descriptive du cas d’utilisation « Gérer les comptes des clients »
Cas d’utilisation Gérer les comptes des clients
Acteur principal Administrateur.
Objectif permet de gérer des comptes des clients (rechercher, valider,
supprimer)
Pré condition L’Administrateur doit être authentifié.
Post condition Un compte d’un client soit validé ou supprimé.
1. L’administrateur choisit de gérer les comptes des
clients.
2. Le système affiche les opérations possibles
(rechercher, valider, supprimer).
-Si l’administrateur choisit « rechercher compte »: il sera
Scenario nominal redirigé aux sous cas « rechercher compte ».
-Si l’administrateur choisit « valider compte »: il sera
redirigé aux sous cas « valider compte ».
-Si l’administrateur choisit « supprimer compte »: il sera
redirigé aux sous cas « supprimer compte ».
Scenario alternatif /
Scénario d’erreur /
a. Fiche descriptive du cas d’utilisation « Rechercher compte »
Cas d’utilisation Rechercher compte
Acteur principal Administrateur.

Objectif Permet à l’administrateur de faire une recherche sur un


compte
Pré condition /
Post condition Le système affiche le résultat de la recherche.

29
Chapitre 01 : Identification des besoins

1. L’administrateur choisit un critère pour la recherche


Scenario nominal (nom_cli, prenom_cli).
2. Le système affiche le résultat de recherche.

1. Les critères de recherche ne conduisent à aucun


Scenario alternatif compte.
1.1.Reprendre le scénario au point 01.
Scenario d’erreur /
b. Fiche descriptive du cas d’utilisation « Valider compte »
Cas d’utilisation Valider compte
Acteur principal Administrateur.

Objectif Permet d’activer les comptes des clients


Pré condition L’Administrateur doit être authentifié.
Post condition Un compte d’un client soit validé.
1. L’administrateur demande les comptes non valides.
Scenario nominal 2. Le système affiche le résultat de demande.
3. L’administrateur choisit un compte à valider.
4. Le système confirme la validation.
Scenario alternatif /

Scenario d’erreur /
c. Fiche descriptive du cas d’utilisation « Supprimer compte »
Cas d’utilisation Supprimer compte
Acteur principal Administrateur.

Objectif permet de supprimer les comptes des clients


Pré condition L’Administrateur doit être authentifié.
Post condition Un compte d’un client soit supprimé.
1. L’administrateur recherche et choisit un compte.
Scenario nominal 2. L’administrateur supprime le compte choisi.
3. Le système confirme la suppression.
Scenario alternatif /
Scenario d’erreur /

30
Chapitre 01 : Identification des besoins

2.3.4. Fiche descriptive du cas d’utilisation « Demander service »


Cas d’utilisation Demander service
Acteur principal Le client.
Objectif Permet à un client de demander un service.
Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée.
1. Le système affiche les options possibles.
2. Si le client choisit:
-Demander séjour: il sera redirigé au sous cas
Scenario nominal « demander séjour ».
-Demander hôtel: il sera redirigé au sous cas « demander
hôtel ».
-Demander billet: il sera redirigé au sous cas «demander
billet ».
-Demander voiture: il sera redirigé au sous cas
« demander voiture ».
Scenario alternatif /
Scenario d’erreur /
a. Fiche descriptive du cas d’utilisation «Demander séjour»
Cas d’utilisation Demander séjour
Acteur principal Le client.
Objectif Permet à un client de demander un séjour
Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée.
1. Le système affiche le formulaire de séjour qui
contient un formulaire (d’hôtel, de billet soit de (vol,
croisière ou billet de train après un choix de type billet) et
Scenario nominal une case à couché pour guide).
2. Le client remplit le formulaire d’hôtel, de billet et
choisit optionnel le guide et valide la demande.
3. Le système enregistre la demande et affiche un
message de confirmation.
Scenario alternatif 1. Le formulaire de séjour mal remplit (soit le client ne

31
Chapitre 01 : Identification des besoins

remplit pas les formulaires obligatoires (hôtel et billet) soit


les formulaires lui-même mal remplit)
1.1. Le système affiche une notification « les champs vide
ou incorrect » et propose à client de les remplir ou de les
corriger.
1.2. Reprendre le scenario au point 1.
Scenario d’erreur /
b. Fiche descriptive du cas d’utilisation «Demander hôtel»
Cas d’utilisation Demander hôtel
Acteur principal Le client.
Objectif Permet à un client de demander des chambres dans un hôtel.
Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée
1. Le système affiche un formulaire à remplir (adr_hot,
date_hot, catg_hot, prix_hot, nbr_per_hot, dure_hot)
Scenario nominal 2. Le client saisit les informations (adr_hot, date_hot,
catg_hot, prix_hot, nbr_per_hot, dure_hot) et valide.
3. Le système enregistre la demande et affiche un
message de confirmation.
1. Le formulaire contient des champs vides ou
Scenario alternatif incorrects.
1.1.Le système affiche une notification « les champs vide
ou incorrect » et propose à client de les remplir ou de
les corriger.
1.2. Reprendre le scénario au point 2.
Scenario d’erreur /
c. Fiche descriptive du cas d’utilisation «Demander billet»
Cas d’utilisation Demander billet
Acteur principal Le client.
Objectif Permet à un client de demander des billets.
Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée.

32
Chapitre 01 : Identification des besoins

1. Le système affiche les options possibles.


2. Si le client choisit:
-Demander un vol: il sera redirigé au sous cas« demander
Scenario nominal vol ».
-Demander un billet de train : il sera redirigé au sous
cas« demander billet de train ».
-Demander une croisière : il sera redirigé au sous
cas « demander croisière ».
Scenario alternatif /
Scenario d’erreur /

1. Fiche descriptive du cas d’utilisation «Demander vol»


Cas d’utilisation Demander vol
Acteur principal Le client.
Objectif Permet à un client de demander des billets d’avion (vols).
Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée.
1. Le système affiche un formulaire à remplir (dest_vol,
date_vol, catg_billet_vol, date_rtr_vol, nbr_per_vol,
classe_vol, prix_vol).
Scenario nominal 2. Le client saisit les informations (dest_vol, date_vol,
catg_billet_vol, date_rtr_vol, nbr_per_vol, classe_vol,
prix_vol) et valide.
3. Le système enregistre la demande.
1. Le formulaire contient des champs vides ou incorrects.
1.1.Le système affiche une notification « les champs vide ou
Scenario alternatif incorrect » et propose à client de les remplir ou de les
corriger.
1.2.Reprendre le scénario au point 2.
Scenario d’erreur /

2. Fiche descriptive du cas d’utilisation «Demander billet de train»


Cas d’utilisation Demander billet de train
Acteur principal Le client.

33
Chapitre 01 : Identification des besoins

Objectif Permet à un client de demander des billets de train.


Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée.
1. Le système affiche un formulaire à remplir (dest_train,
date_train, catg_billet_train, nbr_per_train, prix_train).
Scenario nominal 2. Le client saisit les informations (dest_train, date_train,
catg_billet_train, nbr_per_train, prix_train) et valider.
3. Le système enregistre la demande.
1. Le formulaire contient des champs vides ou incorrects.
Scenario alternatif 1.1. Le système affiche une notification « les champs vide ou
incorrect » et propose à client de les remplir ou de les
corriger.
1.2. Reprendre le scénario au point 2.
Scenario d’erreur /

3. Fiche descriptive du cas d’utilisation «Demander croisière»


Cas d’utilisation Demander croisière
Acteur principal Le client.
Objectif Permet à un client de demander des croisières
Pré condition Le client est authentifié.
Post condition La demande du client est enregistrée.
1. Le système affiche un formulaire à remplir (dest_crs,
date_crs, prix_crs, catg_billet_crs, nbr_per_crs, port_crs).
Scenario nominal 2. Le client saisit les informations (dest_crs, date_crs,
prix_crs, catg_billet_crs, nbr_per_crs,port_crs) et valide.
3. Le système enregistre la demande.
1. Le formulaire contient des champs vides ou incorrects.
1.1.Le système affiche une notification « les champs vide ou
Scenario alternatif incorrect » et propose à client de les remplir ou de les
corriger.
1.2.Reprendre le scénario au point 2.
Scenario d’erreur /

34
Chapitre 01 : Identification des besoins

d. Fiche descriptive du cas d’utilisation «Demander voiture»


Cas d’utilisation Demander voiture
Acteur principal Le client.
Objectif Permet à un client de louer des voitures
Pré condition La connexion à l’internet existe.

Post condition Le client est demandé une location de voiture.


1. Le système affiche un formulaire à remplir (pays_vtr,
date_vtr, date_rest_vtr, prix_vtr);
Scenario nominal 2. Le client saisit les informations (pays_vtr, date_vtr,
date_rest_vtr, prix_vtr)
3. Le système enregistre la demande.
1. Le formulaire contient des champs vides ou incorrects.
1.1.Le système affiche une notification « les champs vide ou
Scenario alternatif incorrect » et propose à client de les remplir ou de les
corriger.
1.2.Reprendre le scénario au point 2.
Scenario d’erreur /
2.3.5. Fiche descriptive du cas d’utilisation « Rechercher demande»
Cas d’utilisation Rechercher demande
Acteur principal Administrateur, client.
Objectif Permet à l’utilisateur de faire une recherche sur une
demande.
Pré condition /
Post condition Le système affiche le résultat de la recherche.
1. L’utilisateur choisit un critère pour la recherche
Scenario nominal (nom_ofr, service).
2. Le système affiche le résultat de recherche.
Scenario alternatif 1. Les critères de recherche ne conduisent à aucune
demande.
1.1.Reprendre le scénario au point 01.
Scenario d’erreur /
2.3.6. Fiche descriptive du cas d’utilisation « Annuler réservation d’un service»
Cas d’utilisation Annuler réservation d’un service

35
Chapitre 01 : Identification des besoins

Acteur principal Le client.


Objectif Annuler une réservation validée d’un service.
Pré condition La réservation existe sur la liste des réservations.
Le client est authentifié.
Post condition La réservation est supprimée.
1. Le client recherche et choisit une demande à annuler et
Scenario nominal valide.
2. Le système valide l’annulation.
Scenario alternatif /
Scenario d’erreur /
2.3.7. Fiche descriptive du cas d’utilisation « Rechercher offres »
Cas d’utilisation Rechercher offres
Acteur principal Client, administrateur.
Objectif Permet à l’utilisateur de faire une recherche sur une offre.

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

Scenario nominal 1. L’utilisateur choisit une offre.


2. Le système affiche les informations détaillées de
cette l’offre.
Scenario alternatif /
Scenario d’erreur /

2.3.9. Fiche descriptive du cas d’utilisation « Réserver offre»


Cas d’utilisation Réserver offre
Acteur principal Le client.

Objectif Le client réserve une offre proposé par l’agence.

Pré condition Le client est authentifié.


Post condition La réservation de client est enregistrée.

1. Le client consulte les offres.


Scenario nominal 2. Le client choisit une offre et demander la réservation.
3. Le système enregistre la réservation et confirmer
avec un message de succès.
Scenario alternatif /
Scenario d’erreur /
2.3.10. Fiche descriptive du cas d’utilisation « Annuler réservation d’une offre»
Cas d’utilisation Annuler réservation d’une offre
Acteur principal Le client.
Objectif Annuler une réservation validée d’une offre.
Pré condition La réservation existe sur la liste des réservations.
Le client est authentifié.
Post condition La réservation est supprimée.
1. Le client recherche et choisit une offre à annuler et
Scenario nominal valide.
2. Le système valide l’annulation.
Scenario alternatif /
Scenario d’erreur /
2.3.11. Fiche descriptive du cas d’utilisation « Gérer les offres »
Cas d’utilisation Gérer les offres

37
Chapitre 01 : Identification des besoins

Acteur principal Administrateur.

Objectif Gérer une offre (ajouter, modifier ou supprimer).


Pré condition L’administrateur doit être authentifié.

Post condition L’offre sera (ajouté, modifié ou supprimé).


1. L’administrateur choisit de gérer les offres.
2. Le système affiche les options possibles
3. Si l’administrateur choisit :
-l’ajout d’une offre: il sera redirigé aux sous cas « ajouter
Scenario nominal offre ».
-La modification d’une offre: il sera redirigé aux sous cas
« modifier offre ».
-La suppression d’une offre: il sera redirigé aux sous cas
« supprimer offre ».
Scenario alternatif /
Scenario d’erreur /
a. Fiche descriptive du cas d’utilisation «Ajouter offre»
Cas d’utilisation Ajouter offre
Acteur principal Administrateur.

Objectif Permet d’ajouter une offre (Hadj, Omra, voyage touristique).


Pré condition L’administrateur doit être authentifié.

Post condition L’offre sera ajoutée.


1. Le système affiche le formulaire (nom_ofr,
date_dep_ofr, dest_ofr, dure_ofr, prix_ofr, ville_dep_ofr,
photo).
Scenario nominal 2. L’administrateur saisit les informations (nom_ofr,
date_dep_ofr, dest_ofr, dure_ofr,prix_ofr,ville_dep_ofr,
photo) et valide.
3. Le système ajoute l’offre et confirme l’ajout avec un
message de succès.
1. Le formulaire contient des champs vides ou
incorrects.
1.1. Le système affiche une notification « les champs vide

38
Chapitre 01 : Identification des besoins

Scenario alternatif ou incorrect » et propose à client de les remplir ou de les


corriger.
1.2. Reprendre le scénario au point 2.
2. L’offre existe déjà.
2.1. le système affiche une notification « l’offre existe
déjà ».
2.2. Reprise du scénario nominal au point 2.
Scenario d’erreur /
b. Fiche descriptive du cas d’utilisation «Modifier offre»
Cas d’utilisation Modifier offre
Acteur principal Administrateur.

Objectif Permet de modifier une offre (Hadj, Omra, voyage


touristique).
Pré condition L’administrateur doit être authentifié.

Post condition L’offre sera modifiée.


1. L’administrateur recherche et choisit une offre.
2. Le système affiche les informations de l’offre choisi.
Scenario nominal 3. L’administrateur modifie les informations affiché et
valide.
4. Le système confirme la modification de l’offre.
Scenario alternatif 1. Le formulaire mal modifié:
1.1. afficher une notification « les champs mal modifier ».
Scenario d’erreur /
c. Fiche descriptive du cas d’utilisation «Supprimer offre»
Cas d’utilisation Supprimer offre
Acteur principal Administrateur.

Objectif Permet de supprimer une offre (Hadj, Omra, voyage


touristique).
Pré condition L’administrateur doit être authentifié.

Post condition L’offre sera supprimée.


1. L’administrateur recherche et choisit une offre.
Scenario nominal 2. L’administrateur supprime l’offre et valide.

39
Chapitre 01 : Identification des besoins

3. Le système confirme la suppression de l’offre.

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

Objectif Gérer les demandes des clients soit de réservation ou


d’annulation
Pré-condition Administrateur doit être authentifié.
Post-condition \
1. L’Administrateur choisit de gérer les demandes des
clients.
2. Le système affiche les options possibles
3. Si l’administrateur choisit:
Scénario Nominal -Valider les demandes de réservation d’un service: il sera
redirigé aux sous cas « Valider demande de réservation
d’un service».
-Valider les demandes d’annulation d’un service: il sera
redirigé aux sous cas « Valider demande d’annulation
d’un service».
-Valider les demandes d’annulation d’une offre : il sera
redirigé aux sous cas « Valider demande d’annulation
d’une offre »
Scénario Alternatif /
Scénario d’erreur /
a. Fiche descriptif de cas d’utilisation «Valider demande de réservation d’un
service»
Cas d’utilisation Valider demande de réservation d’un service
Acteur principal Administrateur
Objectif Valider les demandes de réservation des clients concernant
un service.

40
Chapitre 01 : Identification des besoins

Pré-condition Administrateur doit être authentifié.


Post-condition Affecter (valider) une réservation à un client.
1. L’Administrateur recherche et choisit une demande.
Scénario Nominal 2. L’Administrateur valide une demande de réservation
avec l’ajout de (nom_hot pour demande d’hôtel,
cmp_vol pour demande de vol, cmp_crs pour demande
de croisière et cmp_train pour demande de billet de
train).
3. Le système confirme la validation
Scénario Alternatif 1. mal remplissage des champs.
1.1.Reprendre le scenario au point 2.
Scénario d’erreur /
b. Fiche descriptif de cas d’utilisation «Valider demande d’annulation d’un
service»
Cas d’utilisation Valider demande d’annulation d’un service
Acteur principal Administrateur
Objectif Valider les demandes d’annulation des clients concernant un
service.
Pré-condition Administrateur doit être authentifié.
La réservation existe dans la liste de réservation
Post-condition Une annulation soit acceptée ou refusé.
1. L’Administrateur recherche et choisit une demande.
Scénario Nominal 2. L’Administrateur valide une demande d’annulation.
3. Le système confirme la validation.
Scénario Alternatif /
Scénario d’erreur /

c. Fiche descriptif de cas d’utilisation «Valider demande d’annulation d’une


offre»
Cas d’utilisation Valider demande d’annulation d’une offre
Acteur principal Administrateur
Objectif Valider les demandes d’annulation des clients pour une
offre.
Pré-condition Administrateur doit être authentifié.

41
Chapitre 01 : Identification des besoins

Post-condition Une annulation soit acceptée ou refusé.


1. L’Administrateur recherche et choisit une demande.
Scénario Nominal 2. L’Administrateur valide la demande choisis.
3. Le système confirme la validation.
Scénario Alternatif /
Scénario d’erreur /

3. Les diagrammes de séquences système


3.1. DSS Créer compte
DSS Creer compte

Système

Client
Demander l'inscription()

Afficherle formulaire d'inscription(login,mot_de_passe,nom_cli,prenom_cli,


adresse_cli, email_cli, num_tel_cli,sexe_cli,date_n_cli)

Saisir les informations (login,mot_de_passe,nom_cli,prenom_cli, Verification()


adresse_cli, email_cli, num_tel_cli,sexe_cli,date_n_cli)et valider

ALT [Formulaire bien remplit]

Enregistrer()

Message de confirmation

[Else]
Afficher le formulaire d'inscription autre fois avec un msg d'erreur

Figure 1.2 : Diagramme de séquence système « crée compte »

42
Chapitre 01 : Identification des besoins

3.2. DSS S’authentifier


DSS S'authentifier

Système
Administrateur,
Client
Damander l'accés au système()

Afficher formulaire de login et mot de passe

Saisir login et mot de passe Verification()

ALT [Le mot de passe et login sont corrects ]

ALT [Si: Administrateur]

Afficher l'espace administraeur

[Si: Client]
Afficher l'espace client

[Else ]
Afficher le formulaire d'authentification avec un message d'erreur

Figure 1.3 : diagramme de séquence système « S’authentifier »

43
Chapitre 01 : Identification des besoins

3.3. DSS Gérer les comptes des clients


DSS Gérer les comptes des clients

Système

Administrateur

REF
Diagramme s'authentifier

Choisir une option

ALT [Le cas: Rechercher compte]

REF
Diagramme rechercher compte

[Le cas: Valider compte]

REF
Diagramme valider compte

[Le cas: Supprimer compte]

REF
Diagramme supprimer compte

Figure 1.4 : diagramme de séquence système « Gérer comptes»


3.3.1. DSS Rechercher compte
DSS Rechercher compte

Système

Administrateur
Choisir un critère de recherche(nom_cli,prenom_cli)

Verifier()

ALT [ Comptes existent]

Afficher les comptes existe

[ Else]

Afficher message compte non trouvé

Figure 1.5 : diagramme de séquence système « Rechercher compte»

44
Chapitre 01 : Identification des besoins

3.3.2. DSS Valider compte

DSS Valider Compte

Système

Administrateur
Demander les comptes non valides()

Verifier()
Afficher les comptes non valides qui existent

Choisir un compte et valider()

Valider()
Confirmer la validation

Figure 1.6 : diagramme de séquence système système « Valider compte»


3.3.3. DSS Supprimer compte

DSS Supprimer Compte

Systéme
Administrateur

REF
Diagramme rechercher compte

Choisir un compte et supprimer()

Valider la suppression Suppression()

Figure 1.7 : diagramme de séquence système« Supprimer compte»

45
Chapitre 01 : Identification des besoins

3.4. DSS Demander service

DSS Demander service

Système

Client

REF
Diagramme s'authentifier

Choisir une option()

ALT [Le cas :Demander séjour]

REF
Diagramme demander séjour

[Le cas:Demander hotel]

REF
Diagramme demander hotel

[Le cas:Demander billet]

REF
Diagramme demander billet

[Le cas:Demander voiture]


REF
Diagramme demander voiture

Figure 1.8 : diagramme de séquence système « Demander service »

46
Chapitre 01 : Identification des besoins

3.4.1. DSS Demander séjour


DSS Demander séjour

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

Remplir le formulaire d'hôtel, de billet et choisir optionnel le guide et valider la demande()

Verifier()

ALT [Formulaire bien remplit]

Enregistrer()

Message de confirmation

[Else]

Message d'erreur

Figure 1.9 : diagramme de séquence système « Demander séjour »


3.4.2. DSS Demander hôtel
DSS Demander hotel

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()

ALT [Formulaire bien remplit]

Enregistrer()
Message de confirmation

[Else]
Message d'erreur

Figure 1.10 : diagramme de séquence système « Demander hôtel »

47
Chapitre 01 : Identification des besoins

3.4.3. DSS Demander billet


DSS Demander billet

Système

Client

REF
Diagramme s'authentifier

Afficher les options possibles

ALT [Le cas:Choisir demander vol]

REF
Diagramme demander vol

[Le cas: Choisir demander billet de train]

REF
Diagramme demander billet de train

[Le cas :Choisir demander croisière]

REF
Diagramme demander croisière

Figure 1.11 : diagramme de séquence système « Demander billet »


a. DSS Demander vol

DSS Demander vol

Système

Client

REF
Diagramme s'authentifier

Afficher un formulaire à remplir(dest_vol, date_vol, catg_billet_vol,


date_rtr_vol, nbr_per_vol,classe_vol, prix_vol)

Saisir les informations (dest_vol, date_vol, catg_billet_vol, date_rtr_vol,


nbr _per_vol,classe_vol, prix_vol)

Verification()

ALT [Formulaire bien remplit]

Enregistrer()
Message de confirmation

[Else]

Message d'erreur

Figure 1.12 : diagramme de séquence système « Demander vol »

48
Chapitre 01 : Identification des besoins

b. DSS Demander billet de train


DSS Demander billet de train

Système

Client

REF
Diagramme s'authentifier

Afficher un formulaire à remplir(dest_train, date _train, catg_billet_train,


nbr_per_train, prix_train)

Saisir les informations (dest_train, date _train, catg_billet_train, nbr_per_train, prix_train)

Verification()

ALT [Formulaire bien remplit]


Enregistrer()

Message de confirmation

[Else]

Message d'erreur

Figure 1.13 : diagramme de séquence système« Demander billet de train »


c. DSS Demander croisière

DSS Demander croisière

Système

Client
REF
Diagramme s'authentifier

Afficher un formulaire à remplir


(dest_crs, date_crs, prix_crs, catg_billet_crs, nbr_per_crs,port_crs)

Saisir les informations (dest_crs,date_crs, prix_crs, catg_billet_crs, nbr_per_crs,port_crs)

Verification()

ALT [Formulaire bien remplit]

Enregistrer()
Message de confirmation

[Else]
Message d'erreur

Figure 1.14 : diagramme de séquence système« Demander croisière »

49
Chapitre 01 : Identification des besoins

3.4.4. DSS Demander voiture


DSS Demander voiture

Système

Client

REF
Diagramme s'authentifier

Afficher un formulaire(pays_vtr, date_vtr, date_rest_vtr, prix_vtr)

Saisir les informations(pays_vtr, date_vtr, date_rest_vtr, prix_vtr)


Verification()

ALT [Formulaire bien remplit]


Enregistrer()

Message de confirmation

[Else]

Message d'erreur

Figure 1.15 : diagramme de séquence système « Demander voiture »


3.5. DSS Rechercher demande

DSS Rechercher demande

Système

Administrateur,Client
Choisir un critère de recherche(nom_ofr,service)

Verifier()

ALT [ Demandes existent]

Afficher la liste des demandes existent

[ Else]

Afficher message demande non trouvé

Figure 1.16 : diagramme de séquence système « Rechercher demande »

50
Chapitre 01 : Identification des besoins

3.6. DSS Annuler réservation d’un service

DSS Annuler réservation d'un service

Système

Client
REF
Diagramme s'authentifier

Demande l'annulation d'une reservation accepté()

REF
Diagramme rechercher demande

Choisir la réservation à annuler et valider()

Enregistrer()
Valider l'annulation

Figure 1.17 : diagramme de séquence système « Annuler réservation d’un service»


3.7. DSS Rechercher offre

DSS Rechercher offre

Système

Administrateur,
client
Choisir un critère de recherche(nom_ofr, dest_ofr, prix_ofr, date_dep_ofr)

Verifier()

ALT [ Offres existent ]

Afficher la listes des offres existent

[sinon]

Afficher message les offres non trouvées

Figure 1.18 : diagramme de séquence système « Rechercher offre »

51
Chapitre 01 : Identification des besoins

3.8. DSS Consulter offre

DSS Consulter offre

Système

Client,administrateur

REF
Diagramme rechercher offre

Choisir une offre()

Afficher les informations détaillées

Figure 1.19 : diagramme de séquence système« Consulter offre »


3.9. DSS Réserver offre

DSS Reserver offre

Système

Client

REF
Diagramme s'authentifier

REF Diagramme consulter offre

Choisir une offre et demander la reservation()

Enregistrer()

Enregistrer la réservation

Figure 1.20 : diagramme de séquence système « Réserver offre»

52
Chapitre 01 : Identification des besoins

3.10. DS Annuler réservation d’une offre

DSS Annuler réservation d'une offre

Système

Client

REF
Diagramme s'authentifier

Demander l'annulation d'une réservation acceptée ()

REF
Diagramme rechercher demande

Choisir la réservation à annuler et valider()

Enregistrer()

Valider l'annulation

Figure 1.21 : diagramme de séquence système « Annuler réservation d’une offre»

53
Chapitre 01 : Identification des besoins

3.11.DSS Gérer les offres

DSS Gérer les offres

Systéme

Administrateur
REF
Diagramme s'authentifier

Choisir de gérer les offres

Afficher les options possible

ALT [Le cas: Ajouter offre]

REF
Diagramme ajouter offre

[Le cas: Modifier offre]

REF
Diagramme modifier offre

[Le cas: Supprimer offre]

REF
Diagramme supprimer offre

Figure 1.22 : diagramme de séquence système« Gérer les offres»

54
Chapitre 01 : Identification des besoins

3.11.1. DSS Ajouter offre


DSS Ajouter offre

Système
Administrateur

Afficher un formulaire(nom_ofr,date_dep_ofr,dest_ofr,dure_ofr,prix_ofr,ville_dep_ofr,photo)

Saisir les informations(nom_ofr,date_dep_ofr,dest_ofr,dure_ofr,prix_ofr,ville_dep_ofr,photo)et valider

Verification()

ALT [Formulaire bien remplit]

Ajouter()

Confirmer l'ajout

Message d'erreur"remplir les champs"

Figure 1.23 : diagramme de séquence système « Ajouter offre»


3.11.2. DSS Modifier offre
DSS Modifier offre

Système

Administrateur

REF
Rechercher offre

Choisir une offre

Afficher les informations de l'offre choisi

Modifier les informations affichés et valider() Verification()

ALT [Les informations correctement modifies]

Enregistrer()
valider la modification d'offre

[Else]
Message d'erreur "les champs mal modifier"

Figure 1.24 : diagramme de séquence système « Modifier offre»

55
Chapitre 01 : Identification des besoins

3.11.3. DSS Supprimer offre

DSS Supprimer offre

Système

Administrateur

REF
Rechercher offre

Choisir une offre et supprimer()

Supprimer()

Valider la suppression avec un message de confirmation

Figure 1.25 : diagramme de séquence système « Supprimer offre»


3.12. DSS Gérer les demandes des clients

DSS Gérer les demandes des clients

Systéme

Administrateur choisir de gérer les demandes des clients

Afficher les options possibles

ALT [Le cas:Valider demande de reservation d'un service]

REF
Diagramme valider demande de reservation d'un service

[Le cas:Valider demande d'annulation d'un service]

REF
Diagramme valider demande d'annulation d'un service

[Le cas:Valider demande d'annulation d'une offre]

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

3.12.1. DSS Valider demande de réservation d’un service

DSS Valider demande de réservation d'un service

Système

Administrateur

REF
Rechercher demande

Choisir une demande et ajouter soit (nom_hot ,cmp_vol,cmp_train,cmp_crs,cmp_vtr)


et valider()
Valider()

Confirmer la validation de demande

Figure 1.27 : diagramme de séquence système « Valider demande de réservation d’un


service»
3.12.2. DSS Valider demande d’annulation d’un service

DSS Valider demande d'annulation d'un service

Système

Administrateur

REF
Rechercher demande

Choisir une demande et valider l'annulation()


Valider()

Confirmer l'annulation

Figure 1.28 : diagramme de séquence « Valider demande d’annulation d’un service»

57
Chapitre 01 : Identification des besoins

3.12.3. DSS Valider demande d’annulation d’une offre

DSS Valider demande d'annulation d'une offre

Système

Administrateur
REF
Diagramme Rechercher demande

Choisir une demende()

Valider()
Valider une annulation

Figure 1.29 : diagramme de séquence « Valider demande d’annulation d’une offre»

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 Réserver Réserver

Réserver
0..* 0..* 0..* 0..* 0..* 0..*
0..*
Offre Sejour Hotel Vol Billet_train Croisiere Voiture

0..* 0..* 0..* 0..* 0..* 0..*


0..*
Gérer
Gérer Gérer
Gérer Gérer Gérer
1
1 1
Gérer
1 Administrateur

1 1
1
1

Figure 2.30 : Identification des classes et des associations


63
Chapitre 02 : Phase d’analyse
1.4. Affectation des attributs aux classes
Administrateur :{id_adm, nom_adm, prenom_adm, login, mot_de_passe}.
Client :{id_cli, login, mot_de_passe, nom_cli, prenom_cli, adresse_cli, email_cli,
num_tel_cli , sexe_cli,date_n_cli, validation}.
Sejour :{id_sej, id_hot,id_vol, id_train , id_crs, guide, typ_dmd}.
Voiture :{id_vtr, pays_vtr, date_vtr, date_rest_vtr, prix_vtr, cmp_vtr, typ_dmd}
Hôtel :{ id_hot, adr_ hot,nom_hot, catg_hot, date_hot, nbr_per_hot, dure_hot , prix_hot,
typ_dmd}
Vol :{ id_vol, dest_vol, date_vol, catg_billet_vol, date_rtr_vol, nbr_per_vol, classe_vol,
prix_vol,cmp_vol, typ_dmd}
Billet_train :{id_train, dest_train, date_train, prix_train, nbr_per_train, catg_billet_train,
cmp_train, typ_dmd}
Croisiere :{id_crs, dest_crs, date_crs, prix_crs, nbr_per_crs, port_crs, cmp_crs,
typ_dmd}
Offre :{ id_ofr, nom_ofr, ville_dep_ofr, date_dep_ ofr, dest_ofr, dure_ofr, prix_ofr, photo,
typ_dmd}

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

Figure 2.31 : Le modèle de domaine

3. Diagramme de classes participantes


Le diagramme de classes participantes est particulièrement important puisqu’il
effectue la jonction entre, d’une part, les cas d’utilisation, le modèle du domaine, et d’autre
part, les diagrammes de conception logicielle que sont les diagrammes d’interaction et le
diagramme de classes de conception. [2]

65
Chapitre 02 : Phase d’analyse
3.1. DCP : Créer compte

DCC Cree compte


«Dialogue»
CreerCompte
«Controle» «Entité»
login CreerCompte Client
mot_de_passe
nom_cli id_cli
prenom_cli login
adresse_cli mot_de_passe
email_cli nom_cli
num_tel_cli Verifier() prenom_cli
Client sexe_cli Creer() adresse_cli
date_n_cli Annuler() email_cli
num_tel_cli
sexe_cli
date_n_cli
Creer()

«Dialogue» «Dialogue»
EcranMessage EcranMessage
Succés Erreur

message message

Afficher_message() Afficher_message()

Figure 2.32 : Diagramme de classe participant créer compte


3.2. DCP : S’authentifier

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

Figure 2.33 : Diagramme de classe participant s’authentifier

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()

Figure 2.34 : Diagramme de classe participant Rechercher compte


3.4. DCP : Supprimer compte
DCP Supprimer 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()

Figure 2.35 : Diagramme de classe participant « Supprimer compte »

67
Chapitre 02 : Phase d’analyse
3.5. DCP : Valider compte

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()

Figure 2.36 : Diagramme de classe participant « Valider compte »

68
Chapitre 02 : Phase d’analyse
3.6. DCP : Demander séjour

DCP Demander séjour


«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

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

Figure 2.37 : Diagramme de classe participant « Demander séjour »

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()

Figure 2.38 : Diagramme de classe participant « Demander hôtel »


3.8. DCP : Demander vol
DCP Demander vol
«entité»
«controle» Vol
«dialogue»
DemanderVol
DemanderVol id_vol
dest_vol
dest_vol date_vol
date_vol Verifier() nbr_per_vol
nbr_per_vol Demander() classe_vol
classe_vol Annuler() catg_billet_vol
Client catg_billet_vol prix_vol
prix_vol date_rtr_vol
date_rtr_vol typ_dmd

Demander()
Annuler() «entité»
Client

«dialogue» id_cli
«dialogue»
EcranMessageErreur EcranMessageSuccés
message message

Afficher_message() Afficher_message()

Figure 2.39 : Diagramme de classe participant « Demander vol »

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()

Figure 2.40 : Diagramme de classe participant « Demander billet de train »


3.10. DCP : Demander croisière
DCP Demander croisière

«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()

Figure 2.41 : Diagramme de classe participant « Demander croisière »

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()

Figure 42 : Diagramme de classe participant « Demander voiture »


3.12.DCP : Rechercher offre
DCP Rechercher offre

«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()

Figure 2.43 : Diagramme de classe participant « Rechercher offre »

72
Chapitre 02 : Phase d’analyse
3.13. DCP : Consulter offre

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()

Figure 2.44 : Diagramme de classe participant « Consulter offre »


3.14. DCP : Réserver offre
DCP Reserver offre «dialogue»
«controle» «entité»
ReserverOffre
ReserverOffre offre
nom_ofr
«dialogue»
ville_dep_ofr nom_ofr
date_dep_ofr ville_dep_ofr
dest_ofr date_dep_ofr
dure_ofr dest_ofr
prix_ofr dure_ofr
photo prix_ofr
Client typ_dmd
Reserver() photo
Annuler()
Reserver()
Annuler()
«entité»
Client
id_cli

«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher_message() Afficher_message()

Figure 2.45 : Diagramme de classe participant « Réserver offre »

73
Chapitre 02 : Phase d’analyse
3.15.DCP : Ajouter offre

DCP Ajouter offre


«dialogue» «entité»
AjouterOffre «controle» 0ffre
AjouterOffre
nom_ofr
«dialogue» id_ofr
ville_dep_ofr nom_ofr
date_dep_ofr ville_dep_ofr
dest_ofr date_dep_ofr
dure_ofr dest_ofr
prix_ofr Verifier() dure_ofr
Administrateur photo Ajouter() prix_ofr
Annuler() typ_dmd
Ajouter() photo
Annuler()

«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher message() Afficher message()

Figure 2.46 : Diagramme de classe participant « Ajouter offre »


3.16. DCP : Modifier offre

DCP Modifier offre


«dialogue»
ModifierOffre
«entité»
nom_ofr «controle» Offre
ville_dep_ofr
«dialogue» ModifierOffre
date_dep_ofr nom_ofr
dest_ofr ville_dep_ofr
dure_ofr date_dep_ofr
prix_ofr dest_ofr
typ_dmd Verifier() dure_ofr
Administrateur
photo Modifier() prix_ofr
Annuler() typ_dmd
photo
Modifier()
Annuler()

«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher_message() Afficher_message()

Figure 47 : Diagramme de classe participant « Modifier offre »

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()

Figure 2.48 : Diagramme de classe participant « Supprimer offre »


3.18. DCP : Annuler réservation d’une offre
DCP Annuler reservation d'une offre

«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()

Figure 2.49 : Diagramme de classe participant « Annuler réservation d’une offre »

75
Chapitre 02 : Phase d’analyse
3.19.DCP : Rechercher demande

DCP Rechercher demande


«dialogue» «controle» «entité»
RechercherDemande RechercherDemande Offre
nom_ofr id_ofr
service nom_ofr
ville_dep_ofr
date_dep_ofr
Client, Rechercher() dest_ofr
administrateur Rechercher() Annuler() dure_ofr
Annuler() prix_ofr
typ_dmd
photo

«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

Figure 2.50 : diagramme de classe participant « Rechercher demande »

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

Figure 51 : diagramme de classe participant « Annuler réservation d’un séjour »

77
Chapitre 02 : Phase d’analyse
3.21. DCP : Annuler réservation d’un hôtel

Annuler reservation d'un hotel


«dialogue»
EcranMessageSuccés

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()

Figure 2.52 : diagramme de classe participant « Annuler réservation d’un hôtel »


3.22. DCP : Annuler réservation d’un vol
Annuler reservation d'un vol
«dialogue»
EcranMessageSuccés

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()

Figure 2.53 : diagramme de classe participant « Annuler réservation d’un vol »

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

Figure 2.54 : diagramme de classe participant « Annuler réservation d’une croisière »


3.24. DCP : Annuler réservation d’un billet de train
Annuler reservation d'un billet de train
«dialogue»
EcranMessageSuccés

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

Figure 2.55 : diagramme de classe participant « Annuler réservation d’un billet de


train »

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

Figure 2.56 : diagramme de classe participant « Annuler réservation d’une voiture »


3.26. DCP : Valider demande d’annulation d’une offre

DCP Valider demande d'annulation d'une offre

«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()

Figure 2.57 : diagramme de classe participant «Valider demande d’annulation d’une


offre »

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

Figure 2.58:diagramme de classe participant « Valider demande de réservation d’un


séjour »

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()

Figure 2.59 : diagramme de classe participant « Valider demande de réservation d’un


hôtel »
3.29. DCP : Valider demande de réservation d’un vol

DCP Valider demande de réservation d'un vol

«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()

Figure 2.60 : diagramme de classe participant « Valider demande de réservation d’un


vol »

82
Chapitre 02 : Phase d’analyse
3.30. DCP : Valider demande de réservation d’une croisière

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()

Figure 2.61 : diagramme de classe participant « Valider demande de réservation d’une


croisière »

83
Chapitre 02 : Phase d’analyse
3.31. DCP : Valider demande de réservation d’un billet de train

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()

Figure 2.62 : diagramme de classe participant « Valider demande de réservation d’un


billet de train »
3.32.DCP : Valider demande de réservation d’une voiture
DCP Valider demande de réservation d'une voiture

«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()

Figure 2.63 : diagramme de classe participant Valider demande de réservation d’une


voiture

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

Figure 2.64 : diagramme de classe participant « Valider demande d’annulation d’un


séjour »

85
Chapitre 02 : Phase d’analyse
3.34. DCP : Valider demande d’annulation d’un hôtel

Valider demande d'annulation d'un hôtel


«dialogue»
EcranMessageSuccés

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()

Figure 2.65 : diagramme de classe participant « Valider demande d’annulation d’un


hôtel »
3.35. DCP : Valider demande d’annulation d’un vol

DCP Valider demande d'annulation d'un vol


«dialogue»
EcranMessageSuccés

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()

Figure 2.67 : diagramme de classe participant « Valider demande d’annulation d’une


croisière »
3.37. DCP : Valider demande d’annulation d’un billet de train
DCP Valider demande d'annulation d'un billet de train

«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

DCP Valider demande de d'annulation d'une voiture

«dialogue» «controle» «entité»


ValiderDemande ValiderDemande Voiture
AnnulaionVoiture AnnulaionVoiture
id_vtr id_vtr
pays_vtr pays_vtr
date_vtr date_vtr
date_rest_vtr date_rest_vtr
Administrateur prix_vtr prix_vtr
typ_dmd Valider Annulation() typ_dmd
Annuler()

Valider Annulation()
Annuler() «entité»
client

id_cli
«dialogue»
EcranMessageSuccés

message

Afficher_message()

Figure 2.69 : diagramme de classe participant « Valider demande d’annulation d’une


voiture »

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)

ALT [Bien remplit] Authentifier(login,mot_de_passe)

Alt [Login et mot de passe correct]


ALT [Si:Admin]

Espace admin cree()

[Si:Client]

Espace client
cree()

[Else]

msgd'erreur cree()

[Else]
msgd'erreur
cree()

Figure3.70 : Diagramme de séquence « S’authentifier »

90
Chapitre 03 : Phase de conception

1.3. Diagramme de séquence Créer compte


Ds Creer compte

:Client :EcranInscripltion :ControlInscription :Client

Inscrire()

Afficher formulaire() Inscrire(login,mot_de_passe,nom_cli,


prenom_cli,adresse_cli,
Saisir les information() num_tel_cli,email_cli,sexe_cli
date_n_cli)
Verifier(login,mot_de_passe,nom_cli,
prenom_cli,num_tel_cli ,email_cli)

ALT Inscrire(login,mot_de_passe,
[Bien remplit] nom_cli,prenom_cli,
num_tel_cli,email_cli)

ALT [N'exist pas]


msg de succés
Cree()
r

[Else]
msg d'erreur

Cree()

[Else]

msg d'erreur
Cree()

Figure3.71 : Diagramme de séquence « Créer compte »

91
Chapitre 03 : Phase de conception

1.4. Diagramme de séquence « Gérer les comptes des clients »

DS Gérer les comptes des clients

:EcranRechercherComplte :EcranSupprimerCompte
:EcranValiderComplte
:Administrateur

REF
Diagramme S'authentifier

ALT
[Le cas: Rechercher compte]

REF
Diagramme rehercher compte

[Le cas: Valider compte]


REF
Diagramme valider compte

[Le cas: Supprimer compte]

REF
Diagramme supprimer compte

Figure 3.72 : Diagramme de séquence « Gérer les comptes des clients »

92
Chapitre 03 : Phase de conception

1.4.1. Diagramme de séquence « Rechercher compte »


DS Rechercher Compte

:Administrateur :EcranRechercherCompte :ControlRechercherCompte :Client

REF
Diagramme s'authentifier

Choisir un critère(nom_cli,
prenom_cli) Rechercher(nom_cli,
prenom_cli)
Verifier(nom_cli,
prenom_cli)

ALT
Rechercher()

ALT [Exist des comptes]

Le resultat
Afficher le resultat

[Else]

Msg d'erreur
Afficher le resultat

Msg d'erreur

Afficher le resultat

Figure3.73 : Diagramme de séquence « Rechercher compte »


1.4.2. Diagramme de séquence « Valider compte »
DS Valider Compte

:ControlValiderCompte :Client
:Administrateur :EcranValiderCompte

REF
Diagramme s'authentifier

Afficher compte non valide()


Afficher compte non valide() Afficher compte non valide()

Afficher les comptes Afficher les comptes


non valide non valide

valider(id_cli)
valider(id_cli)
valider(id_cli)

msg de succés
Confirmer la validation()

Figure3.74 : Diagramme de séquence « Valider compte »

93
Chapitre 03 : Phase de conception

1.4.3. Diagramme de séquence « Supprimer compte »


DS Supprimer Compte

: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

Figure3. 75 : Diagramme de séquence « Supprimer compte »


1.5. Diagramme de séquence « Demander Service »
DS Demander service

:EcranSéjour :EcranHotel :EcranBillet :EcranVoiture


:Client
REF
Diagramme s'authentifier

ALT
REF
Diagramme demander sejour

REF
Diagramme demander hotel

REF
Diagramme demander billet

REF
Diagramme demander voiture

Figure3 76: Diagramme de séquence « Demander service »

94
Chapitre 03 : Phase de conception

1.5.1. Diagramme de séquence « Demander séjour »


DSS Demander séjour

Hotel :Sejour

:BilletTrain
:Vol

:EcranDemanderSejour :ControleDemanderSéjour :Client :Croisiere


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

Remplir le formulaire d'hôtel,


de billet et choisir optionnel Remplir le formulaire d'hôtel,
le guide et valide la demande() de billet et choisir optionnel
le guide et valide la demande() Verifier()

ALT [Formulaire bien remplit]


Demander()
Enregistrer()

Msg de confirmation
Message de confirmarion

[Else]
Msg d'erreur
Message d'erreur

Figure3.77: Diagramme de séquence « Demander séjour »

95
Chapitre 03 : Phase de conception

1.5.2. Diagramme de séquence « Demander hôtel »


Ds Demander hotel

:ControlDemanderHotel :Client :Hotel


:EcranDemanderHotel
:Client
REF
Diagramme s'authentifier

Afficher formulaire()

Saisir les informations() Demander(adr_hot,catg_hot,


date_hot,nbr_per_hot,dure_hot,prix_hot) Verifier(adr_hot,catg_hot,date_hot,
nbr_per_hot,dure_hot,prix_hot)

[Formulaire bien remplit] Demander(adr_hot,catg_hot,date_hot,


ALT
nbr_per_hot,dure_hot,prix_hot)

ALT [Demande bien ajouté]


msg de succés
Cree()

[Else] msg d'erreur

Cree()

[Else] msg d'erreur

Cree()

Figure3.78 : Diagramme de séquence « Demander hôtel »

96
Chapitre 03 : Phase de conception

1.5.3. Diagramme de séquence « Demander billet »


DS Demanderbillet

:EcranDemanderBillet :EcranDemander
:EcranDemanderVol Croisière
DeTrain
:Client
REF
Diagramme d'authentification

ALT [Le cas:Demander vol]

REF
Diagramme demander vol

[Le cas:Demander billet de train]

REF
Diagramme demander billet de train

[Le cas:Demander croisière]

REF
Diagramme demander croisière

Figure 3 79 : Diagramme de séquence « Demander Billet »


a. Diagramme de séquence « Demander vol »
Ds Demander vol

:ControlDemanderVol :Client :Vol


:EcranDemanderVol
:Client

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)

ALT Demander(dest_vol, date _vol, date_rtr_vol


[Formulaire bien remplit] catg_ billet_vol,date_arv_vol,
nbr_per_vol,classe_vol, prix_vol)

ALT [Demande bien ajouté]

msg de succés
Cree()

[Else]
msg d'erreur

Cree()

[Else]

msg d'erreur
Cree()

Figure3. 80 : Diagramme de séquence « Demander vol »

97
Chapitre 03 : Phase de conception

b. Diagramme de séquence « Demander billet de train »

Ds Demander billet de train

:Client
:ControlDemander
:EcranDemanderBilletDeTrain :BilletTrain
BilletDeTrain
:Client

REF Diagramme s'authentifier

Afficher formulaire()

Saisir les informations() Demander(dest_train, date_train,


catg_billet_train, nbr_per_train, prix_train)
Verifier(dest_train, date_train,
catg_billet_train, nbr_per_train, prix_train)

ALT [Formulaire bien remplit] Demander(dest_train, date _train,


catg_billet_train, nbr_per_train,
prix_train)

ALT [Demande bien ajouté]

msg de succés
Cree()

[Else]

msg d'erreur
Cree()

[Else]
msg d'erreur
Cree()

Figure3.81 : Diagramme de séquence « Demander Billet de train »

98
Chapitre 03 : Phase de conception

c. Diagramme de séquence « Demander croisière »


Ds Demander croisière

:EcranDemanderCroisière :ControlDemander :Client :Croisière


:Client Croisière

REF
Diagramme s'authentifier

Afficher formulaire()

Saisir les informations () Demander(dest_crs, date _crs, prix _crs,


catg_billet_crs,nbr_per_crs,port_crs)
Verifier(dest_crs, date _crs, prix _crs,
catg_billet_crs,nbr_per_crs,port_crs)

ALT [Bien remplit] Demander(dest_crs, date _crs, prix _crs,


catg_billet_crs,nbr_per_crs,port_crs)

ALT [Bien ajouté]

msg de succés
Cree()

[Else]

msg d'erreur
Cree()

[Else]
msg d'erreur

Cree()

Figure3.82 : Diagramme de séquence « Demander croisière »

99
Chapitre 03 : Phase de conception

1.5.4. Diagramme de séquence « Demander voiture »


Ds Demander voiture

:EcranDemanderVoiture :ControlDemanderVoiture :Client


:Voiture
:Client

REF
Diagramme s'authentifier

Afficher formulaire()

Saisir les informations() Demander(date_vtr, date_rest_vtr,


prix_vtr, pays_vtr)

Verifier(date_vtr, date_rest_vtr,
prix_vtr, pays_vtr)

ALT [Formulaire bien remplit]


Demander(date_vtr, date_rest_vtr,
prix_vtr, pays_vtr)

ALT [Demande bien ajouté]

msg de succés
Cree()

[Else]
msg d'erreur
Cree()

[Else]
msg d'erreur
Cree()

Figure 3.83 : Diagramme de séquence « Demander voiture »


1.6. Diagramme de séquence « Rechercher demande »
DS Rechercher demande

: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)

Alt [exist des demandes]


Resultat
Cree()

Msg d'erreur
Cree()

Figure3.84 : Diagramme de séquence « Rechercher demande »

100
Chapitre 03 : Phase de conception

1.7. Diagramme de séquence « Annuler réservation d’un service »


DS Annuler réservation d'un service

:Voiture
:Billet_Train :Hotel
:Vol
:EcranAnnuler
:ControlAnnuler :Croisiere :Séjour
ReservationService
ReservationService
:Client

REF
Diagramme s'authentifier

REF
Diagramme rechercher demande

Choisir une reservation et valider()


Choisir une reservation et valider()

Choisir une reservation et valider()

Msg de succés

Valider l'annulation

Figure 3 85 : Diagramme de séquence « Annuler réservation d’un service »


1.8. Diagramme de séquence « Rechercher offre »

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)

Alt [exist des offre]


Resultat
Cree()

Msg d'erreur
Cree()

Figure 3.86 : Diagramme de séquence « Rechercher offre

101
Chapitre 03 : Phase de conception

1.9. Diagramme de séquence « Consulter offre »

DS Consulter offre

:Client,
Administrateur :EcranConsulterOffre :ControlConsulterOffre :Offre

REF
Diagramme rechercher offre

Choisir une offre et consulter(id_ofr) Choisir une offre et


consulter(id_ofr)
consulter(id_ofr)

Afficher le détail de l'offre choisis Afficher le détail de l'offre choisis

Figure 3 87 : Diagramme de séquence « Consulter offre »


1.10. Diagramme de séquence « Réserver offre »
DS Reserver offre

:EcranReserverOffre :ControlReserverOffre :Client :Offre


Client

REF
Diagramme s'authentifier

REF
Diagramme consulter offre

Choisir une offre et


demander la réservation() Choisir une offre et
demander la réservation() Choisir une offre et
demander la réservation() Enregistrer()

:msg de succés
Confirmation

Figure 3.88 : Diagramme de séquence « Réserver offre »

102
Chapitre 03 : Phase de conception

1.11. Diagramme de séquence « Annuler réservation d’une offre »

DS Annuler réservation d'une offre

:ControlAnnuler
:EcranAnnuler :Offre
ReservationD'offre
ReservationD'offre
:Administrateur

REF
Diagramme s'authentifier

REF
Diagramme rechercher demande

Choisir une réservation et annuler()


Choisir une réservation et annuler() Choisir une réservation
et annuler()

Valider l'annulation
Valider l'annulation

Figure3.89 : Diagramme de séquence « Annuler réservation d’une offre »

103
Chapitre 03 : Phase de conception

1.12. Diagramme de séquence « Gérer les offres »

DS Gérer les offres

:EcranAjouter offre :EcranModifierOffre :EcranSupprimer


Offre
:Admin
REF
Diagramme s'authentifier

Afficher les opérations


possibles()

ALT [Le cas:Ajouter offre]

REF
Diagramme ajouter offre

[Le cas:Modifier offre]

REF
Diagramme modifier offre

[Le cas:Supprimer offre]

REF
Diagramme supprimer offre

Figure3.90 : Diagramme de séquence « Gérer les offres »

104
Chapitre 03 : Phase de conception

1.12.1. Diagramme de séquence « Ajouter offre »


DS Ajouter offre

:EcranAjouterOffre :ControlAjouterOffre :Offre


:Administrateur

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)

ALT [Formulaire bien remplit] Ajouter(nom_ofr,dat_dep_ofr,


dest_ofr,dure_ofr, photo,
ville_dep_ofr, prix_ofr)

ALT [N'exist pas]

msg de succés
Confirmer l'ajout

[Else]
msg d'erreur
Message d'erreur

[Else]
msg d'erreur
Message d'erreur

Figure3.91 : Diagramme de séquence « Ajouter offre »

105
Chapitre 03 : Phase de conception

1.12.2. Diagramme de séquence « Modifier offre »

Ds Modifier offre

:EcranModidfierOffre :ControlModifierOffre :Offre


:Administrateur

REF
Diagramme rechercher offre

Choisir une offre et


modifier(id_ofr)
Modifier(id_ofr)

Verifier()

ALT [Les informations correctement modifies]


Enregistrer()

Msg de succés
Valider la modification d'offre

[Else]
Msg d'erreur Message d'erreur
"les champs mal modifier"

Figure3.92 : Diagramme de séquence « Modifier offre »


1.12.3. Diagramme de séquence Supprimer offre

DS supprimer offre

:Administrateur :EcranSupprimerOffre :ControlSupprimerOffre :Offre

REF
Diagramme rechercher offre

Choisir une offre et


supprimer(id_ofr)
Supprimer (id_ofr)
Supprimer(id_ofr)

Msg de succés
Valider la suppression

Figure3.93 : Diagramme de séquence « Supprimer offre »

106
Chapitre 03 : Phase de conception

1.13. Diagramme de séquence « Gérer les demandes des clients »

DS Gérer les demandes des client

:EcranValider :EcranValider :EcranValider


:Administrateur DemandeReservation DemandeAnnulation DemandeAnnulation
Service Service Offre
REF
Diagramme s'authentifier

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

Figure3.94 : Diagramme de séquence « Gérer les demandes des clients »

107
Chapitre 03 : Phase de conception

1.13.1. Diagramme de séquence « Valider demande de réservation d’un service »

DS Valider demandes de réservation d'un service

:Hotel
:Voiture
:Billet_Train
:Vol
:EcranValider :EcranValider
:Croisiere :Séjour
DemandesDe DemandesDe
Réservation Réservation
Administrateur

REF
Diagramme Rechercher demande

Choisir une demande et ajouter


soit (nom_hot ou cmp_vol Choisir une demande et ajouter
ou cmp_vtr ou cmp_train soit (nom_hot ou cmp_vol
ou cmp_crs)et valider ou cmp_vtr ou cmp_train
ou cmp_crs)et valider Verifier(nom_hot,cmp_vol,
cmp_vtr,cmp_train,cmp_crs)

ALT [Bien remplit] Valider()


Msg de succés
Confirmer la validation

Msg d'erreur
Message d'erreur

Figure3. 95 : Diagramme de séquence « Valider demande de réservation d’un service »

108
Chapitre 03 : Phase de conception

1.13.2. Diagramme de séquence « Valider demande d’annulation d’un service »

DS Valider demandes d'annulation d'un service

:Voiture :Hotel

:BilletTrain
:Vol
:EcranValider :Croisiere
:EcranValider :Séjour
Demandes
Demandes
D'annulation
D'annulation
:Administrateur

REF
Diagramme Rechercher demande

Choisis une demande et valider()


Choisis une demande et valider()
valider()

Confirmer l'annulation

Msg de succès
Confirmer l'annulation

Figure3.96 : Diagramme de séquence «Valider demande d’annulation d’un service »


1.13.3. Diagramme de séquence « Valider demande d’annulation d’une offre »

DS Valider demandes d'annulation d'une offre

:EcranValider
:EcranValider Demandes :Offre
Demandes D'annulation
D'annulation
:Administrateur

REF
Diagramme Rechercher demande

Choisis une demande et


valider() Choisis une demande
Choisis une demande et valider()
et valider()

Msg de succés
Confirmer l'annulation

Figure3.97 : Diagramme de séquence « Valider demande d’annulation d’une offre »

109
Chapitre 03 : Phase de conception

2. Diagramme de classes de conception :


2.1. DCC S’authentifier

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

Figure3 98: Diagramme de classe de conception « S’authentifier »

110
Chapitre 03 : Phase de conception

2.2. DCC Créer compte

DCC Cree compte


«Dialogue»
CreerCompte
«Controle» «Entité»
login:String CreerCompte Client
mot_de_passe:String
nom_cli:String
login:String
prenom_cli:String
mot_de_passe:String
adresse_cli:String
nom_cli:String
email_cli:String
prenom_cli:String
num_tel_cli:String Verifier()
Client adresse_cli:String
sexe_cli:String Creer()
email_cli:String
date_n_cli:String Annuler()
num_tel_cli:String
sexe_cli:String
date_n_cli:String
Creer()

«Dialogue» «Dialogue»
EcranMessage EcranMessage
Succés Erreur

message
message
Afficher_message() Afficher_message()

Figure3.99 : Diagramme de classe de conception « Créer compte »

111
Chapitre 03 : Phase de conception

2.3. DCC : Rechercher compte


DCC Rechercher compte

«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()

Figure 3.100 : Diagramme de classe de conception « Rechercher compte »


2.4. DCC : Supprimer compte
DCC Supprimer 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()

Figure 3.101 : Diagramme de classe de conception « Supprimer compte »

112
Chapitre 03 : Phase de conception

2.5. DCC Valider compte

DCC Valider compte

«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()

Figure3. 102: Diagramme de classe de conception « Valider compte »

113
Chapitre 03 : Phase de conception

2.6. DCC : Demander séjour

DCC Demander séjour


«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

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

Figure 3.103 Diagramme de classe de conception « Demander séjour »

114
Chapitre 03 : Phase de conception

2.7. DCC : Demander hôtel


DCC Demander hotel

«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()

Figure 3.104 : Diagramme de classe de conception « Demander hôtel »


2.8. DCC : Demander vol
DCC Demander vol
«entité»
«controle»
«dialogue» Vol
DemanderVol
DemanderVol
id_vol:int
dest_vol:String
id_vol:int date_vol:Date
dest_vol:String nbr_per_vol:int
date_vol:Date classe_vol:String
nbr_per_vol:int Verifier()
Demander() catg_billet_vol:String
classe_vol:String prix_vol :Double
catg_billet_vol:String Annuler()
Client date_rtr_vol:Date
prix_vol :Double typ_dmd:String
date_rtr_vol:Date

Demander()
Annuler()
«entité»
Client
«dialogue» «dialogue» id_cli:int
EcranMessageErreur EcranMessageSuccés

message message

Afficher_message() Afficher_message()

Figure 3.105 : Diagramme de classe de conception « Demander vol »

115
Chapitre 03 : Phase de conception

2.9. DCC : Demander billet de train


DCC Demander billet de train

«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()

Figure 3.106: Diagramme de classe de conception « Demander billet de train »


2.10. DCC : Demander croisière
DCC Demander croisière
«entité»
«dialogue» Croisière
DemanderCoisière «controle»
DemanderCroisière id_crs:int
dest_crs:String dest_crs:String
date_crs:Date date_crs:Date
prix_crs:Double prix_crs:Double
nbr_per_crs:int nbr_per_crs:int
catg_billet_crs:String catg_billet_crs:String
Client verifier()()
port_crs:String port_crs:String
Demander()
Annuler() typ_dmd:String

Demander()
Annuler()
«entité»
Client
id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher_message() Afficher_message()

Figure 3.107: Diagramme de classe de conception « Demander croisière »

116
Chapitre 03 : Phase de conception

2.11. DCC : Demander voiture


DCC Demander voiture

«dialogue» «controle» «entité»


DemanderVoiture DemanderVoiture Voiture
«dialogue»
pays_vtr:String id_vtr:int
date_vtr:Date pays_vtr:String
date_rest_vtr:Date date_vtr:Date
prix_vtr:Double date_rest_vtr::Date
prix_vtr:Double
Client Verifier() typ_dmd:String
Demander() Demander()
Annuler() Annuler()

«entité»
Client
id_cli:int
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher_message() Afficher_message()

Figure 3.108: Diagramme de classes de conception « Demander voiture »


2.12. DCC : Rechercher offre
DCC Rechercher offre

«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()

Figure 3.109: Diagramme de classes de conception « Rechercher offre »

117
Chapitre 03 : Phase de conception

2.13. DCC : Consulter offre

DCC Consulter offre

«dialogue» «controle» «entité»


ConsulterOffre ConsulterOffre Offre
nom_ofr:String
id_ofr:int
ville_dep_ofr:String
«dialogue» nom_ofr:String
date_dep_ofr:Date
ville_dep_ofr:String
dest_ofr:String
date_dep_ofr:Date
dure_ofr:int
dest_ofr:String
prix_ofr:Double
dure_ofr:int
typ_dmd:String Consulter()
Client, prix_ofr:Double
photo:Blob Annuler()
administrateur typ_dmd:String
photo:Blob

Consulter()
Annuler()

Figure 3.110: Diagramme de classes de conception « Consulter offre »


2.14. DCC : Réserver offre
DCC Reserver offre
«dialogue»
ReserverOffre «entité»
«controle» Offre
nom_ofr:String ReserverOffre
ville_dep_ofr:String id_ofr:int
«dialogue»
date_dep_ofr:Date nom_ofr:String
dest_ofr:String ville_dep_ofr:String
dure_ofr:int date_dep_ofr:Date
prix_ofr:Double dest_ofr:String
typ_dmd:String dure_ofr:int
photo:Blob prix_ofr:Double
Client
typ_dmd:String
reserver() photo:Blob
Annuler()
Reserver()
Annuler()

«entité»
Client
«dialogue» id_cli:int
EcranMessageSuccés

message

Afficher_message()

Figure 3.111: Diagramme de classes de conception « Réserver offre »

118
Chapitre 03 : Phase de conception

2.15. DCC : Ajouter offre


DCC Ajouter offre
«dialogue» «entité»
AjouterOffre «controle» 0ffre
AjouterOffre
nom_ofr:String id_ofr:int
«dialogue»
ville_dep_ofr:String nom_ofr:String
date_dep_ofr:Date ville_dep_ofr:String
dest_ofr:String date_dep_ofr:Date
dure_ofr:int dest_ofr:String
prix_ofr:Double dure_ofr:int
photo:Blob Verifier() prix_ofr:Double
Administrateur
Ajouter() typ_dmd:String
Annuler() photo:Blob
Ajouter()
Annuler()

«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher message() Afficher message()

Figure 3. 112: Diagramme de classe de conception « Ajouter offre »


2.16. DCC : Modifier offre
DCC Modifier offre
«dialogue»
ModifierOffre «entité»
Offre
id_ofr:int «controle»
nom_ofr:String ModifierOffre id_ofr:int
«dialogue»
ville_dep_ofr:String nom_ofr:String
date_dep_ofr:Date ville_dep_ofr:String
dest_ofr:String date_dep_ofr:Date
dure_ofr:int dest_ofr:String
prix_ofr:Double Verifier() dure_ofr:int
Administrateur typ_dmd:String Modifier() prix_ofr:Double
photo:Blob Annuler() typ_dmd:String
photo:Blob
Modifier()
Annuler()

«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

message message

Afficher_message() Afficher_message()

Figure 3.113: Diagramme de classe de conception « Modifier offre »

119
Chapitre 03 : Phase de conception

2.17. DCC : Supprimer offre


DCC Supprimer offre

«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()

Figure 3.114: Diagramme de classe de conception « Supprimer offre »


2.18. DCC : Annuler réservation d’une offre
DCC Annuler reservation d'une offre
«entité»
Offre

«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()

Figure 3.115: Diagramme de classe de conception « Annuler réservation d’une offre »

120
Chapitre 03 : Phase de conception

2.19. DCC : Rechercher demande

DCC Rechercher demande «dialogue» «controle»


«entité»
RechercherDemande RechercherDemande
Offre
nom_ofr:String id_ofr:int
service nom_ofr:String
ville_dep_ofr:String
Rechercher() date_dep_ofr:Date
Client, Annuler() dest_ofr:String
administrateur Rechercher() dure_ofr:int
Annuler() prix_ofr:Double
typ_dmd:String
photo:Blob

«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

Figure 3.116: diagramme de classe de conception « Rechercher demande »

121
Chapitre 03 : Phase de conception

2.20. DCC : Annuler réservation d’un séjour

DCC Annuler reservation d'un séjour


«dialogue»
EcranMessageSuccés

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

Annuler reservation() «entité»


Annuler() Sejour
«entité» typ_dmd:String
Vol
typ_dmd:String

«entité»
Hotel
«entité» typ_dmd:String
BilletTrain

typ_dmd:String
«entité»
Croisière

typ_dmd:String

Figure 3.117: diagramme de classe de conception « Annuler réservation d’un séjour »

122
Chapitre 03 : Phase de conception

2.21. DCC : Annuler réservation d’un hôtel


DCC Annuler reservation d'un hotel

«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

Annuler resevation() id_cli:int


Annuler()
«dialogue»
EcranMessageSuccés

message

Afficher_message()

Figure 3.118: diagramme de classe de conception « Annuler réservation d’un hôtel »


2.22. DCC : Annuler réservation d’un vol
DCC Annuler reservation d'un vol

«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()

Figure 3. 119: diagramme de classe de conception « Annuler réservation d’un vol »

123
Chapitre 03 : Phase de conception

2.23. DCC : Annuler réservation d’une croisière


DCC Annuler reservation d'une croisière

«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

Annuler resevation() id_cli:int


Annuler()
«dialogue»
EcranMessageSuccés

message

Afficher_message()

Figure 3.120: diagramme de classe de conception« Annuler réservation d’une croisière »


2.24. DCC : Annuler réservation d’un billet de train
DCC Annuler reservation d'un billet de train

«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()

Figure 3.121: diagramme de classe de conception « Annuler réservation d’un billet de


train »

124
Chapitre 03 : Phase de conception

2.25. DCC : Annuler réservation d’une voiture


DCC Annuler reservation d'une voiture

«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()

Figure 3.122: diagramme de classe de conception « Annuler réservation d’une voiture »


2.26. DCC : Valider demande d’annulation d’une offre

DCC Valider demande d'annulation d'une offre

«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()

Figure 3.123: diagramme de classe de conception « Valider demande d’annulation d’une


offre »

125
Chapitre 03 : Phase de conception

2.27. DCC : Valider demande de réservation d’un séjour


DCC Valider demande de reservation d'un séjour
«dialogue» «dialogue»
EcranMessageErreur EcranMessageSuccés

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

Figure 3.124:diagramme de classe de conception « Valider demande de réservation d’un


séjour »

126
Chapitre 03 : Phase de conception

2.28. DCC : Valider demande de réservation d’un hôtel


DCC Valider demande de réservation d'un hôtel

«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()

Figure 3.125: diagramme de classe participant « Valider demande de réservation d’un


hôtel »
2.29. DCC : Valider demande de réservation d’un vol
DCC Valider demande de réservation d'un vol

«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()

Figure 3.126: diagramme de classe de conception « Valider demande de réservation d’un


vol »

127
Chapitre 03 : Phase de conception

2.30. DCC : Valider demande de réservation d’une croisière


DCC Valider demande de réservation d'une croisière

«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()

Figure 3.127: diagramme de classe de conception « Valider demande de réservation


d’une croisière »

128
Chapitre 03 : Phase de conception

2.31. DCC : Valider demande de réservation d’un billet de train


DCC Valider demande de réservation d'un billet de train

«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()

Figure 3.128: diagramme de classe de conception « Valider demande de réservation d’un


billet de train »
2.32. DCC : Valider demande de réservation d’une voiture
DCC Valider demande de réservation

«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()

Figure 3.129: diagramme de classe de conception « Valider demande de réservation


d’une voiture »

129
Chapitre 03 : Phase de conception

3.31. DCC : Valider demande d’annulation d’un séjour


DCC Valider demande d'annulation d'un séjour
«dialogue»
EcranMessageSuccés

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

Figure 3.130: Diagramme de classe de conception «Valider demande d’annulation d’un


séjour »

130
Chapitre 03 : Phase de conception

2.33. DCC : Valider demande d’annulation d’un hôtel


DCC Valider demande d'annulation d'un hôtel
«entité»
Hotel
«dialogue»
ValiderDemande id_hot:int
AnnulationHôtel adr_ hot:String
«controle» nom_hot:String
id_hot:int ValiderDemande catg_hot:String
adr_ hot:String AnnulationHôtel date_hot:Date
nom_hot:String
nbr_per_hot:int
catg_hot:String
dure_hot:int
date_hot:Date
Administrateur prix_hot:Double
nbr_per_hot:int
typ_dmd:String
dure_hot:int
prix_hot:Double Valider annulation(()
typ_dmd:String Annuler() «entité»
Client
Valider annulation()
Annuler() id_cli:int

«dialogue»
EcranMessageSuccés

message

Afficher_message()

Figure 3.131: diagramme de classe de conception « Valider demande d’annulation d’un


hôtel »
2.34. DCC : Valider demande d’annulation d’un vol

DCC Valider demande d'annulation d'un vol «entité»


Vol
id_vol:int
«dialogue» dest_vol:String
ValiderAnnulation date_vol:Date
RéservationVol nbr_per_vol:int
id_vol:int classe_vol:String
«controle» catg_billet_vol:String
dest_vol:String
ValiderDemande prix_vol :Double
date_vol:Date
AnnulationVol date_rtr_vol:Date
nbr_per_vol:int
classe_vol:String cmp_vol:String
catg_billet_vol:String typ_dmd:String
prix_vol :Double
Administrateur date_arv_vol:Date
cmp_vol:String Valider Annulation(() «entité»
typ_dmd:String Annuler() Client
id_cli:int
Valider Annulation()
Annuler()
«dialogue»
EcranMessageSuccés

message

Afficher_message()

Figure 3.132: diagramme de classe de conception « Valider demande d’annulation d’un


vol »

131
Chapitre 03 : Phase de conception

2.35. DCP : Valider demande d’annulation d’une croisière


DCC Valider demande d'annulation d'une croisière

«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()

Figure 3.133 : diagramme de classe de conception « Valider demande d’annulation d’une


croisière »
2.36. DCP : Valider demande d’annulation d’un billet de train
DCC Valider demande d'annulation d'un billet de train

«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()

Figure 3.134:diagramme de classe de conception « Valider demande d’annulation d’un


billet de train »

132
Chapitre 03 : Phase de conception

2.37. Valider demande d’annulation d’une voiture


DCC Valider demande d'annulation d'une voiture

«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()

Figure 3.135 : diagramme de classe de conception « Valider demande d’annulation d’une


voiture »

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

3.2. Notre diagramme de déploiement

Serveur web Tomcat serveur base de données


MYSQL
JVM

Conteneur web

Base de données MYSQL


3306
TCP/IP JDBC

Servlet JSP

PC utilisateur
8080
TCP/IP HTTP
Java beans

Navigateur Web
(Mozila, firefox,opera...)

Figure 3.136 : diagramme de déploiement

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.

1. Le passage du diagramme de classe au modèle relationnel :


1.1. Le modèle relationnel :
Le modèle relationnel représente la base de données comme un ensemble de tables,
sans préjuger de la façon dont les informations sont stockées dans la machine. Les tables
constituent donc la structure logique du modèle relationnel. Définir le nombre et la
structure des tables de la base de données, en limitant la redondance d'informations et en
ayant un schéma de table le plus stable que possible. Après la transformation de notre
model de domaine épuré, les classes « entités » de notre diagramme de classe de
conception, nous avons obtenue le modèle relationnel suivant :
Relation Propriétés Signification Type Ta
ille
Client id_cli Le numéro d’un client Entier
login Le login d’un client Varchar 60
mot_de_passe Le mot de passe d’un client Varchar 60
nom_cli Le nom d’un client Varchar 60
prenom_cli Le prénom d’un client Varchar 60
adresse_cli L’adresse d’un client Varchar 60
email_cli L’email d’un client Varchar 60
num_tel_cli Le numéro téléphone d’un client Varchar 60
sexe_cli Le sexe d’un client Varchar 60
date_n_cli La date naissance d’un client Varchar 60
validation La validation d’un compte client Varchar 60

Administrateur id_adm Le numéro de l’administrateur Entier


nom_adm Le nom de l’administrateur Varchar 60
prenom_adm Le prénom de l’administrateur Varchar 60
login Le login de l’administrateur Varchar 60

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)

Tableau 4.2: Le modèle relationnel


Client : {id_cli,#id_adm,login, mot_de_passe, nom_cli, prenom_cli, adresse_cli,email_cli,
num_tel_cli , sexe_cli,date_n_cli, validation}.
Sejour :{id_sej, #id_cli, #id_hot,#id_vol,# id_train , #id_crs, #id_adm, guide, typ_dmd}.
Voiture :{id_vtr,#id_cli, #id_adm, pays_vtr, date_vtr, date_rest_vtr, prix_vtr,cmp_vtr,
typ_dmd}
Hôtel :{ id_hot, #id_cli, #id_adm, adr_ hot,nom_hot, catg_hot,date_hot,nbr_per_hot,
dure_hot , prix_hot, typ_dmd}.
Vol :{ id_vol, #id_cli, #id_adm, dest_vol, date_vol, catg_billet_vol, date_rtr_vol,
nbr_per_vol, classe_vol, prix_vol,cmp_vol, typ_dmd}.
BilletTrain :{id_train,#id_cli, #id_adm, dest_train, date_train, prix_train, nbr_per_train,
catg_billet_train, cmp_train, typ_dmd}.
Croisiere :{id_crs, #id_cli, #id_adm, dest_crs, date_crs, prix_crs, nbr_per_crs,
port_crs,cmp_crs, typ_dmd}.
Offre :{ id-ofr,#id_cli, #id_adm, nom_ofr, ville_dep_ofr, date_dep_ ofr, dest_ofr,
dure_ofr, prix_ofr,photo, typ_dmd}.

2. Choix du langage de programmation


Pour la réalisation de notre système nous avons choisi java comme un langage de
programmation et une panoplie de technologies web autours de lui à s’avoir : Servlet, JSP,
HTML, JavaScript et les CSS
2.1. Java :
Le terme « Java » fait bien évidemment référence à un langage, mais également à une
plate-forme : son nom complet est « Java SE» pour Java Standard Edition, et était
anciennement raccourci « J2SE ». Celle-ci est constituée de nombreuses bibliothèques, ou
API : citons par exemple java.lang, java.io, java.math, java.util, etc. Toutes ces contiennent
un nombre conséquent de classes et de méthodes prêtes à l'emploi pour effectuer toutes
sortes de tâches.[5]
2.2. C'est quoi java EE ?
Le terme « Java EE » signifie Java Enterprise Edition, et était anciennement raccourci
en « J2EE ». Il fait quant à lui référence à une extension de la plate-forme standard.
Autrement dit, la plate-forme Java EE est construite sur le langage Java et la plate-forme

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).

4. L’architecture MVC (Model View Controller):


En anglais design pattern, un modèle de conception (ou encore patron de conception), a
été initialement développé pour le langage Smalltalk dans le but de mieux structurer une
application avec une interface graphique. Ce modèle est un concept d'architecture qui
propose une séparation en trois entités des données, des traitements et de l'interface [4]
 le Modèle (M) : la couche, ou partie spécifique à l'application
140
Chapitre 04 : Phase d’implémentation
 la Vue (V) : l'interface graphique, l'affichage des données du modèle
 le Contrôleur (C) : se charge de la gestion des actions sur la vue

Figure 4. 137 : Le modèle MVC [4]


Donc dans une application java EE avec le modèle MVC on peut dire que :
 la couche Modèle est constituée d'objets Java ;
 la couche Vue est constituée de pages JSP ;
 la couche Contrôle est constituée de servlets.

Figure 4.138 : Java EE avec MVC [3]


Les autres langages utilisés pour notre application sont :
 MySQL
Le SGBD MySQL est supporté par un large éventail d'outils. MySQL est surtout
installé pour les applications Web, ce SGBD est solide et utilisé par de grands groupes

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.

5. Outils et environnement de développement


5.1. 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) [5].
5.2. Le serveur Tomcat
Pour faire fonctionner une application web Java EE, nous avons besoin de mettre en
place un serveur d’applications. Il en existe beaucoup sur le marché : permit ces dernier
Tomcat: c’est un serveur léger, gratuit, libre, multiplateforme et assez complet pour ce que
nous allons aborder. On le rencontre d’ailleurs très souvent dans des projets en entreprise,
en phase de développement comme en production.
5.3. Pacestar UML Diagrammer
Un programme qui fournit un ensemble complet d'outils de modélisation graphique,
d'analyse et de conception dans le développement de logiciels basés sur les modèles UML.

6. Présentation de l’application développée :


Dans cette partie nous allons présenter quelques pages de notre application, ceci n’est
pas un manuel d’utilisation détaillé:

142
Chapitre 04 : Phase d’implémentation
6.1. Page accueil:
Contient une recherche sur les offres de l’agence.

Figure 4.139 : La page d’accueil


6.2. Page espace administrateur:
Elle contient un menu des opérations offerte à l’administrateur.

Figure 4.140 : La page « espace administrateur »

143
Chapitre 04 : Phase d’implémentation
6.3. Formulaire d’authentification

Figure 4.141: La formulaire d’authentification


6.4. La page : Demander vol

Figure 4.142 : la page « demander vol »

144
Chapitre 04 : Phase d’implémentation
6.5. Page d’inscription:
Elle contient un formulaire pour créé un compte.

Figure 4.143: La page inscription

145
Chapitre 04 : Phase d’implémentation
6.6. Page inscription avec des champs vides

Figure 4.144: La page inscription dans le cas des champs vides


6.7. Page L’espace client :
Contient touts les services qu’un client peut demander ainsi que une recherche sur les
offres proposé par l’agence et une recherche sur les anciennes demandes du client lui-
même.

146
Chapitre 04 : Phase d’implémentation

Figure 4.145 : page l’espace client


6.8. Page valider compte :
Permet à l’administrateur de valider les nouveaux comptes.

Figure 4.146 : page valider compte

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

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy