ROYAUME DU MAROC UNIVERSITE HASSAN 1
FACULTE DES SCIENCES ET TECHNIQUES
r f,
y f -._(' ·
LICENC
f7ZkWr-7/N
E GÉNIE INFORMATIQUE`. t 4
EFFECTUÉ À
\PJ Li rai
,4
· · .24tri
wanii..4....40_044E.4.-410,.. a
ETUDE, CONtEP ·N ET
RÉALISATION
D'UNE APPLICATION WEB DE GESTION
DES CERTIFICATIONS ET FORMATIONS
Préparé par
· MKHARBACH Ayoub
Licence génie inForma+igrue à (a Facul+é
des sciences e+. +echniques
Encadré oar
· FST Settat : MARZOUK Abderrahim
Proiesseur Universi+aire FST
· Pluralis Consulting : LCHHAB Azeddine
lngenieur Forvna+ion e+ cer+ifica-Hon
Année universitaire : 2014 -2015
Page | 2
Dédicace
A mes parents,
Vous m'avez donné la vie, la tendresse et le courage pour
réussir. Tout ce que je peux vous offrir ne pourra exprimer l'amour et
la reconnaissance que je porte.
En témoigne, je vous offre ce modeste travail pour vous
remercier pour vos sacrifices et pour l'affectation dont vous m'avez toujours
entourés.
A mes chères soeurs et mon
frère,
En témoignage de mes sincères reconnaissances pour
les efforts qu'ils me consenti pour l'accomplissement de mes études. Je
leurs dédie ce modeste travail en témoignage de mon grand amour
et mon gratitude infinie.
A mes très chers ami(e)s,
En témoignage de l'amitié sincère qui nous a
liées et des bons moments passés ensemble. Je vous dédie
ce travail en vous souhaitant un avenir radieux et plein de promesses.
A mes chers professeurs,
Ceux qui se dévouent sans cesse pour m'éclaircir la
voie et les immenses horizons du savoir et dont leurs efforts méritent
largement mon respect, je vous remercie énormément.
Page | 3
Remerciements
C'est avec un réel plaisir que j'exprime ici mes
reconnaissances à tous ceux qui ont contribué de près ou
de loin à l'élaboration de ce travail.
Je remercie Allah le tout puissant de m'avoir
donné le courage et la volonté de mener à terme ce
présent travail.
J'adresse les sincères remerciements à mon cher
encadrant de projet de fin d'étude Mr. MARZOUK
Abderrahim, pour leurs conseils précieux, leur soutien et leur
disponibilité tout au courant de mon stage.
Je remercie vivement Mr. LCHHAB Azeddine mon
parrain de stage pour sa disponibilité sans condition, pour ses
directives, qui m'a aidé tout au long de l'élaboration de ce
projet et qui a tout fait pour me mettre dans les bonnes conditions de
travail.
Je tiens à remercier également tous mes
collègues dans Pluralis Consulting et Mr. GASSMI Karim
Le directeur pour leurs accueils, leurs conseils et leur écoute.
A notre Doyen, Mr. BOUAYAD qu'il trouve ici
l'expression de mon profonde gratitude, pour sa veille sur le bon
déroulement de mon formation.
Mes remerciements vont aussi à l'encontre de mes chers
parents qui n'ont ménagés aucun effort et qui ne cesseront de le
faire, pour me soutenir à tout moment de ma vie.
Enfin j'adresse mes plus sincères remerciements
à tous les membres du jury qui m'ont honoré par leur
présence et en acceptant de juger mon travail.
Page | 4
Sommaire
Dédicace 2
Remerciements 3
Sommaire 4
Liste des figures 6
Liste des tableaux 8
Introduction générale 9
Chapitre 1 : Contexte générale du
projet. 10
Introduction : 10
I. Présentation de la société : 10
1. Fiche technique : 10
2. Historique : 10
3. La structure organisationnelle : 11
II. Cahier des charges : 14
1. Présentation du projet : 14
2. Problématique : 14
3. Expression du besoin : 14
4. Fonctionnalités attendus : 15
III. Planning et conduite du projet : 17
1. Gestion de projet 17
2. Diagramme de GANTT 17
IV. Langage et méthodologie de conception : 19
Introduction : 19
1. La démarche UP-XP : 19
2. Phases de modélisation. 20
3. Le formalisme UML : 21
4. L'outil PowerAmc : 21
Chapitre 2 : Phase d'inception. 22
Introduction : 22
I. Capture des besoins : 22
1. Définition des besoins fonctionnels : 22
2. Les besoins non fonctionnels : 23
3. Les principaux acteurs du système : 24
4. Regroupement des exigences par intentions d'acteurs :
25
Page | 5
II. Diagramme de cas d'utilisation : 25
Chapitre 3 : Phase d'analyse et de conception.
27
Introduction : 27
I. Description textuelle des cas d'utilisation : 27
II. Diagramme de séquence « Boite noire » :
48
III. Diagramme d'activité : 60
IV. Diagramme de classe d'analyse : 65
V. Base de données : 66
VI. Prototype des interfaces : 68
Chapitre 4 : Phase de réalisation.
74
Introduction : 74
I. Environnement logiciel : 74
II. Technologies et langages utilisés : 75
III. Développement : 77
IV. Les interfaces de l'application : 79
Conclusion générale 86
Bibliographie et Webographie: 87
Page | 6
Liste des figures
Figure Commentaire Page
Figure 1
|
L'organigramme de Pluralis Consulting
|
11
|
Figure 2
|
Les accompagnements des directeurs et des
managers
|
12
|
Figure 3
|
Les tâches du projet
|
18
|
Figure 4
|
Diagramme de GANTT
|
18
|
Figure 5
|
Les diagrammes disponibles
|
21
|
Figure 6
|
Diagramme des acteurs
|
24
|
Figure 7
|
Diagramme de contexte statique
|
24
|
Figure 8
|
Diagramme de cas d'utilisation
|
26
|
Figure 9
|
Diagramme de séquence « Inscrire
»
|
48
|
Figure 10
|
Diagramme de séquence « Authentifier
»
|
49
|
Figure 11
|
Diagramme de séquence « Envoyer e-mail
»
|
49
|
Figure 12
|
Diagramme de séquence « Gérer les
certifications »
|
50
|
Figure 13
|
Diagramme de séquence « Gérer les
formations »
|
51
|
Figure 14
|
Diagramme de séquence « Gérer les
formateurs »
|
52
|
Figure 15
|
Diagramme de séquence « Gérer les
gérants »
|
53
|
Figure 16
|
Diagramme de séquence « Gérer les
compétences »
|
54
|
Figure 17
|
Diagramme de séquence « Gérer les
inscriptions »
|
55
|
Figure 18
|
Diagramme de séquence « Rechercher
certification»
|
55
|
Figure 19
|
Diagramme de séquence « Consulter
certification »
|
56
|
Figure 20
|
Diagramme de séquence « Consulter formation
»
|
56
|
Figure 21
|
Diagramme de séquence « Donner avis
»
|
57
|
Figure 22
|
Diagramme de séquence « Proposer formation
»
|
57
|
Figure 23
|
Diagramme de séquence « Recevoir les
notifications »
|
58
|
Figure 24
|
Diagramme de séquence « Consulter les
propositions »
|
58
|
Figure 25
|
Diagramme de séquence « Consulter les avis
»
|
59
|
Figure 26
|
Diagramme d'activité « Authentifier
»
|
60
|
Figure 27
|
Diagramme d'activité « Consulter
certification »
|
60
|
Figure 28
|
Diagramme d'activité « Consulter formation
»
|
61
|
Figure 29
|
Diagramme d'activité « Gérer
certifications »
|
61
|
Figure 30
|
Diagramme d'activité « Gérer
formations »
|
62
|
Figure 31
|
Diagramme d'activité « Gérer
compétences »
|
62
|
Figure 32
|
Diagramme d'activité « Gérer
gérants »
|
63
|
Figure 33
|
Diagramme d'activité « Gérer
formateurs »
|
63
|
Figure 34
|
Diagramme d'activité « Gérer les
inscriptions »
|
64
|
Figure 35
|
Diagramme d'activité « Consulter les
avis/propositions »
|
64
|
Figure 36
|
Diagramme d'activité «Recevoir les
notifications/Proposer formation/Donner avis »
|
64
|
Figure 37
|
Diagramme de classe d'analyse
|
66
|
Figure 38
|
Modèle logique de données(MLD)
|
67
|
Figure 39
|
Modèle physique de données(MPD)
|
68
|
Figure 40
|
Interface authentifié
|
69
|
Figure 41
|
Interface rechercher certification
|
69
|
Figure 42
|
Interface consulter certification
|
70
|
Figure 43
|
Interfaces gérer les certifications, formations,
formateurs
|
70
|
Figure 44
|
Interface consulter les formations
|
71
|
Figure 45
|
Interface gérer avis et propositions
|
71
|
Page | 7
Figure 46
|
Interface inscrire
|
72
|
Figure 47
|
Interface gérer gérants
|
72
|
Figure 48
|
Interface gérer inscriptions
|
73
|
Figure 49
|
Interface gérer les compétences
|
73
|
Figure 50
|
Modèle MVC (Modèle - Vue -
Contrôleur)
|
78
|
Figure 51
|
Page d'authentification
|
79
|
Figure 52
|
Page de recherche
|
80
|
Figure 53
|
Page consulter les formations
|
80
|
Figure 54
|
Page consulter certification
|
81
|
Figure 55
|
Page consulter les avis
|
81
|
Figure 56
|
Page gérer les certifications
|
82
|
Figure 57
|
Page gérer les formations
|
82
|
Figure 58
|
Page d'inscription
|
83
|
Figure 59
|
Page gérer les formateurs
|
83
|
Figure 60
|
Page gérer les compétences
|
84
|
Figure 61
|
Page gérer les gérants
|
84
|
Figure 62
|
Page gérer les inscriptions
|
85
|
Figure 63
|
Page Consulter les propositions
|
85
|
Page | 8
Liste des tableaux
Tableau Commentaire Page
Tableau 1
|
Tableau des exigences
|
22
|
Tableau 2
|
Tableau des exigences par intention d'acteur
|
25
|
Tableau 3
|
Description textuelle de cas d'utilisation «
Authentifier »
|
27
|
Tableau 4
|
Description textuelle de cas d'utilisation « Ajouter
certification »
|
28
|
Tableau 5
|
Description textuelle de cas d'utilisation «
Modifier certification »
|
29
|
Tableau 6
|
Description textuelle de cas d'utilisation «
Supprimer certification »
|
30
|
Tableau 7
|
Description textuelle de cas d'utilisation « Ajouter
formation »
|
31
|
Tableau 8
|
Description textuelle de cas d'utilisation «
Modifier formation »
|
31
|
Tableau 9
|
Description textuelle de cas d'utilisation «
Supprimer formation »
|
32
|
Tableau 10
|
Description textuelle de cas d'utilisation « Ajouter
formateur »
|
33
|
Tableau 11
|
Description textuelle de cas d'utilisation «
Modifier formateur »
|
34
|
Tableau 12
|
Description textuelle de cas d'utilisation «
Supprimer formateur »
|
35
|
Tableau 13
|
Description textuelle de cas d'utilisation « Ajouter
gérant »
|
36
|
Tableau 14
|
Description textuelle de cas d'utilisation «
Modifier gérant »
|
36
|
Tableau 15
|
Description textuelle de cas d'utilisation «
Supprimer gérant »
|
37
|
Tableau 16
|
Description textuelle de cas d'utilisation « Ajouter
compétence »
|
38
|
Tableau 17
|
Description textuelle de cas d'utilisation «
Modifier compétence »
|
39
|
Tableau 18
|
Description textuelle de cas d'utilisation «
Supprimer compétence »
|
40
|
Tableau 19
|
Description textuelle de cas d'utilisation «
Gérer inscriptions »
|
41
|
Tableau 20
|
Description textuelle de cas d'utilisation «
Rechercher certification »
|
41
|
Tableau 21
|
Description textuelle de cas d'utilisation «
Consulter certification »
|
42
|
Tableau 22
|
Description textuelle de cas d'utilisation «
Consulter les formations »
|
42
|
Tableau 23
|
Description textuelle de cas d'utilisation « Donner
avis »
|
43
|
Tableau 24
|
Description textuelle de cas d'utilisation «
Proposer formation »
|
44
|
Tableau 25
|
Description textuelle de cas d'utilisation «
Recevoir les notifications »
|
44
|
Tableau 26
|
Description textuelle de cas d'utilisation «
Inscrire »
|
45
|
Tableau 27
|
Description textuelle de cas d'utilisation «
Consulter les avis »
|
46
|
Tableau 28
|
Description textuelle de cas d'utilisation «
Télécharger PDF »
|
46
|
Tableau 29
|
Description textuelle de cas d'utilisation «
Consulter les propositions »
|
47
|
Tableau 30
|
Description textuelle de cas d'utilisation « Envoyer
e-mail »
|
47
|
Page | 9
Introduction générale
Cette introduction fera l'objet d'une brève
présentation de l'application que je vais concevoir et réaliser,
des outils et des méthodes choisis, suivi du plan général
du processus de développement.
C'est déjà quelques années que les
technologies d'informations et les activités des organisations et plus
particulièrement le web ont évolué d'une façon
croissante et remarquable. Aujourd'hui, le web est un secteur en
perpétuelle expansion face à l'apparition du web 2.0 et les
nouvelles technologies notamment le HTML5, JavaScript, etc.
C'est dans ce contexte que plusieurs Sociétés
essayent de profiter au maximum possible de ces technologies afin
d'améliorer leurs productivité et de faire face à quelques
problèmes pénibles qui peuvent constituer un obstacle de
progression.
Dans ce cadre, Pluralis Consulting souhaite développer
une application web permettant de gérer les certifications et les
formations fournis par la société. La naissance de cette
idée est due à plusieurs problèmes notamment :
? La perte de temps liée à l'explication des
certifications et de formations disponibles pour chaque client.
? Déplacement des clients à la
société à chaque fois pour des informations...
Mon objectif consiste à développer une
application Web qui va aider les clients à consulter les certifications
et les formations d'une façon facile et rapide à partir de leurs
navigateurs, en tenant compte des compétences requis données par
chaque certification et aussi l'inscription en ligne. D'autre part les
administrateurs peuvent gérer les certifications et les formations et
les inscriptions.
Outre l'originalité de l'application à
développer, j'essayerai en plus d'utiliser une méthodologie de
développement assez originale, à savoir la démarche
UP-XP.
J'essayerai à travers ce rapport de mettre en
évidence les étapes effectuées, en analysons chaque
étape.
Page | 10
Chapitre 1 : Contexte générale du
projet.
Introduction :
« Le projet est un effort complexe pour atteindre un
objectif bien spécifique, devant respecter un échéancier
et un budget ... »
L'étude du projet est une démarche
stratégique visant à organiser le bon déroulement d'un
projet et d'assurer la conduite de toutes les phases qui le constituent.
Une étude complète et efficace conduit
généralement à la réussite d'un projet. Cette
étude fera donc l'objet de notre premier chapitre qui sera
consacré à la présentation du projet ainsi que la
définition de notre langage et méthodologie de
développement.
I. Présentation de la société :
1. Fiche technique :
> Raison sociale : PLURALIS CONSILTING
> Date de création : 07/09/2006
> Forme juridique : SARL
> Capital Social : 200000 DH
> Adresse : 30 RUE AZIZ BELLAL QUARTIER
MAARIF CASABLANCA
> Patente : 357711969
> Registre commercial : 154901
> C.N.S.S : 7330450
> Identifiant fiscal : 1104463
1. Historique :
La société PLURALIS CONSULTING a
été créée en 2006, dirigée par Mr GASSEMI
KARIM. Cette société offre un portefeuille complet de services, y
compris des services-conseils stratégiques en informatique et en
management, des services d'intégration de systèmes, de formation
et certification de compétences technologiques.
PLURALIS CONSULTING accompagne les entreprises (Publiques
& Privées) pour la création de la performance :
> En mettant en place les bonnes pratiques de Gouvernance
Organisationnelle ;
Page | 11
> En offrant des services, solutions et outils de gestion
à forte valeur ajoutée ;
> En offrant des actions de formation pour la maîtrise
des Technologies de
l'Information et de la Communication (TIC) ;
> En offrant des actions de formation et d'accompagnement au
niveau managérial ; > En proposant des solutions de Coaching pour les
Managers & Directeurs.
3. La structure organisationnelle :
a. L'organisme :
Directeur général
(Conseils, services, et solutions)
Responsable formations et certifications
|
Assistante Administrative
|
Responsable commercial
|
|
Figure 1 : L'organigramme de Pluralis Consulting.
b. Les services :
- Services : conseils, services et solutions :
Pôle 1 : Conseils et services :
Pluralis Consulting met à la disposition de ses clients
son savoir-faire pour leur assister à mieux détecter les risques
potentiellement liés à leurs activités, et identifier les
moyens à mettre en oeuvre afin d'améliorer l'efficacité et
la performance de leurs entreprises.
Ce pôle consiste à donner des conseils et services,
en gestion et gouvernance d'Entreprise :
> Elaboration et formalisation de la stratégie
> Alignement du SI sur les besoins de l'entreprise
> Elaboration des Processus Organisationnels
> Management et pilotage des projets
> Gestion des risques
Page | 12
> Etude d'opportunité des projets et Retour sur
Investissement
> Pilotage des projets par rapport aux objectifs
> Elaboration des termes de références
> Contrôle et suivi des travaux
> Benchmarking de solutions
> Veille technologique
> Réalisation des schémas Directeurs des SI
(système d'information)
> Audit Sécuritaire des SI
> Mise en Place des Bonnes Pratiques de Gouvernance
> Gestion des Infrastructures SI
> Tierce Maintenance Applicative
Pôle 2 : Solutions :
Il s'agit de proposer des solutions et des outils de gestion
à forte valeur ajoutée.
Solutions ayant une relation avec Le SI et l'organisation :
Solutions de gestion : Accompagnement au choix et mise en place
de l'ERP.
Solutions de gestion de projet et programmes (MGP+) :
Accompagnement à la mise en place
d'une structure de gestion de projet.
Solution de centre de support : Mise en place d'une solution de
support et d'un SPOC.
Solutions qui reposent sur le coaching des Directeurs et Managers
:
Figure 2 : Les accompagnements des directeurs et des
managers.
Page | 13
- Service : Formations et certifications :
Pole 1 : Formations :
Pluralis est le fruit de plusieurs expériences dans le
domaine de la formation et le développement des compétences
technologiques. L'informatique évolue en permanence pour offrir aux
entreprises des gains de productivité et outiller leur performance.
Pluralis Consulting propose une offre de formation variée
comprenant :
> Le management des Systèmes d'information
> Gestion de projet
> Développement logiciel
> Réseaux et sécurité
> Système d'exploitation
> Serveurs et Applications
Pole 2 : Certifications :
Le centre de certification des compétences est un
centre de certification informatique. A ce titre, Pluralis Consulting abrite
plusieurs plate formes de certifications reconnues au niveau international
(Prometric - Pearson Vue - Exin - Certiport).
- Service : Assistant Administratif :
L'assistant administratif joue un rôle important puisque
c'est lui qui s'occupe de toute l'organisation interne et des relations
externes de Pluralis Consulting. L'assistant administratif accomplit toutes les
tâches administratives nécessaires au bon fonctionnement de
l'entreprise. C'est un service rattaché aux responsables et au
directeur.
- Service : Commercial :
Le Responsable Commercial élabore et propose à
la direction générale la politique commerciale de l'entreprise.
Il détermine les orientations stratégiques, les objectifs
à atteindre et les moyens à mettre en place, après analyse
et évaluation des différentes composantes du marché.
Page | 14
II. Cahier des charges :
1. Présentation du projet :
Mon projet est né afin de simplifier non seulement la
gestion des certifications ou bien des formations, mais aussi la
possibilité d'inscription en ligne, suivre les dernières offres
et proposer d'autres formations, ce qui permet d'avoir une bonne communication
avec le client.
2. Problématique :
Il est à noter que l'inscription de chaque nouveau
client est toujours manuelle, ce qui nécessite des efforts
considérables de la part de responsable en vue d'aider le client.
Pour combler cette lacune, le directeur recommande la remise
en place d'urgence d'une application informatique pour améliorer la
méthode de la consultation des clients et par la même occasion la
gestion des certifications et formations.
3. Expression du besoin :
La société veut offrir un meilleur service à
leurs clients et leurs employées à l'aide d'une
application web qui donne à un client la
possibilité de :
> Consulter les certifications et les formations.
> Inscrire pour passer une certification ou à une
formation.
> Propose une formation.
> Donner avis.
> Inscrire pour recevoir les dernières offres.
Et aux gérant la possibilité de :
> Gérer les certifications (ajouter, modifier,
supprimer). > Gérer les formations (ajouter, modifier, supprimer).
> Gérer les formateurs (ajouter, modifier, supprimer). >
Gérer les compétences (ajouter, modifier, supprimer). >
Gérer les inscriptions (consulter, valider).
> Consulter les avis et les propositions.
Et au administrateur la possibilité de :
> Gérer les gérants (ajouter, modifier,
supprimer).
Page | 15
4. Fonctionnalités attendus :
Consulter les certifications :
Avant la consultation une recherche faite par le client. Par
un mot clé signifie le nom de la certification, par le domaine, par la
technologie, ou bien par le code.
Après qu'un utilisateur rempli un des champs, deux,
trois ou bien quatre un recherche dans la base de données renvoie une
liste contient les noms des certifications. Le client peut choisir la
certification qui l'intéresse et la consulter, si le client
intéresse par la certification peut inscrire pour passer l'examen chez
la société, télécharger un PDF contient les
mêmes informations et aussi consulter la certification prérequis
et les certifications qui peut les passer après.
Consulter les formations :
Une liste contient les formations disponible chez la
société affichent avec les dates de départ et de fin, le
client peut s'inscrire à une formation, télécharger un PDF
ou bien proposer d'autre formations.
Inscrire :
Après qu'un client choisie l'inscription à une
formation ou bien certification, il doit remplir un formulaire, avant que les
informations envoyées une vérification des champs fait, si le
client entre des informations déjà existe ou bien des champs vide
un message d'erreur renvoie sinon l'inscription va enregistrée et un
message de succès affiche.
Donner un avis:
Pour qu'un client donner leurs avis sur n'importe quoi, il
doit introduire son email et leur avis au premier temps une vérification
des champs faite avant d'envoyer l'avis.
Recevoir les dernières offres :
Un client peut inscrire pour recevoir les dernières
offres, pour cela il doit introduire son email, au premier temps une
vérification des champs faite avant d'envoyer l'avis.
Gérer les certifications, les formations et les
formateurs:
La gestion de certifications, formations et les formateurs
effectuées par les gérants qui sont chargés de faire un
suivi en temps réel de tout changement d'informations des certifications
ou bien des formations.
Page | 16
? Pour l'ajout d'une nouvelle certification, formation ou
formateur fait de la même manière, le gérant doit remplir
un formulaire, avant que les informations envoyées une
vérification des champs fait, si le gérant entrer un code
déjà existe pour la certification ou bien un email
déjà existe pour le formateur un message d'erreur renvoie sinon
on l'ajoute, on envoie un e-mail au client et on renvoie un message de
succès.
? S'il veut modifie, il va choisie le nom, et va modifier les
autres informations une vérification des champs faite avant l'envoie du
formulaire.
? Pour la suppression le gérant choisir le nom, un
message de validation doit être affiché pour valider la
suppression, après la validation une requête envoie à la
base de données
- Pour les certifications et les formations une
vérification des inscriptions faite avant la suppression.
- Pour les certifications une suppression des compétences
faite.
- Pour le formateur un message de d'erreur affiché si
le formateur est lié avec une ou plusieurs formations, sinon la
suppression est validé.
Gérer les inscriptions :
La gestion des inscriptions effectuées par les
gérants, Après la consultation des inscriptions le gérant
vérifie les informations et valide l'inscription d'un client qui va
recevoir un message de confirmation dans leur courrier.
Gérer les compétences:
La gestion de compétences aussi effectuées par
les gérants, au premier temps une liste de certifications affiche au
gérant qui va choisie une certification, après la
sélection un table contiennent les compétences de la
certification affiche avec la possibilité de modifier ou supprimer une
compétence et aussi ajouter une nouvelle compétence.
Gérer les gérants:
La gestion de gérants effectuées par l'admin qui
peut ajouter, modifier ou bien supprimer les gérants, au premier temps
un table contiennent tous les gérants affiche avec la possibilité
de modifier ou supprimer un gérant et aussi ajouter une nouveau
gérant.
Page | 17
> L'ajout d'un nouveau gérant demande de remplir
deux champs (login, password) une vérification des champs faite si le
login est déjà existé un message d'erreur affiche sinon
l'ajout va être enregistré et un message de succès
affiche.
> La modification demande d'entrée l'ancien mot de
passe et le nouveau mot de passe, si l'ancien mot de passe est incorrect un
message d'erreur affiche sinon la modification va être enregistrée
et un message de succès affiche.
> La suppression demande une confirmation de la part de
l'admin.
Gérer les inscriptions :
La gestion des inscriptions effectuées par les
gérants, Après la consultation des inscriptions un gérant
vérifie les informations entrées par le client et valide
l'inscription ce qui signifié l'envoie un email de confirmation au
client.
Consulter les avis et les propositions :
La consultation des avis et des propositions faite à la
même manière, Au premier une liste des avis ou des propositions
affichent au gérant avec la possibilité de supprimer l'avis ou la
proposition.
III. Planning et conduite du projet :
1. Gestion de projet
La gestion de projet est une démarche visant à
organiser de bout en bout le bon déroulement
d'un projet. Lorsque la gestion de projet porte sur un ensemble
de projets concourant à un
même objectif, on parle de gestion de programme.
Le management de projet est un management qui se
caractérise par :
> L'irréversibilité des opérations des
participants.
> Un fort degré de liberté des actions des
participants.
> Une organisation vouée à être
évolutive et temporaire.
> Des flux de trésorerie d'investissement pouvant
être négatifs.
> Une forte influence de variables exogènes sur le
projet.
1. Diagramme de GANTT
Le diagramme de Gantt (Harmonogram Adamieckiego) est un outil
utilisé (souvent en complément d'un réseau PERT) en
ordonnancement et gestion de projet et permettant de visualiser dans le temps
les diverses tâches liées composant un projet (il s'agit d'une
Page | 18
représentation d'un graphe connexe, value et
orienté). Il permet de représenter graphiquement l'avancement du
projet.
Le premier diagramme de ce type (appelé Harmonogram
Adamieckiego) fut réalisé par ingénieur polonais Karol
Adamiecki en 1896. Il l'a décrit en 1931, mais la langue de publication
n'a pas permis la reconnaissance internationale de son idée. Pour cette
raison le concept a été nommé après Henry L. Gantt,
ingénieur américain, qui a publié la description du
diagramme en 1910.
Dans mon projet j'ai utilisé l'outil Gantt Project [1].
Les tâches :
Figure 3 : Les tâches du projet. Diagramme de GANTT
:
Figure 4 : Diagramme de GANTT.
Page | 19
IV. Langage et méthodologie de conception :
Introduction :
Pour bien conduire mon projet et m'assurer du bon
déroulement des différentes phases, j'ai opté la
démarche UP-XP [2] comme une méthodologie de conception et de
développement. Après le choix de la méthodologie, j'ai
besoin d'un langage de modélisation UML comme un langage de
modélisation.
Mon choix s'est basé sur les points forts de ce langage
notamment sa standardisation et les divers diagrammes qu'il propose. Aussi UML
présente le meilleur outil pour schématiser des systèmes
complexes sous un format graphique et textuel simplifié et
normalisé.
En effet UML n'est ni un processus ni une démarche,
d'où il fallait choisir une méthodologie de conception et de
développement que nous devons l'adopter.
1. La démarche UP-XP :
L'objectif de la démarche UP-XP est de pouvoir analyser
est concevoir un logiciel orienté objet évolutif et ayant
l'aptitude à s'adapter aux éventuels changements que peut
connaitre le métier de l'entreprise à l'avenir en plusieurs
niveaux : Fiscale, productif, organisationnel, juridique, etc.
UP- Unified Process :
La méthode du Processus Unifié (UP pour Unified
Process) est un processus de développement itératif et
incrémental, ce qui signifie que le projet est découpé en
phases très courtes à l'issue de chacune desquelles une nouvelle
version incrémentée est livrée.
Il s'agit d'une démarche s'appuyant sur la
modélisation UML pour la description de l'architecture du logiciel
(fonctionnelle, logicielle et physique) et la mise au point de cas
d'utilisation permettant de décrire les besoins et exigences des
utilisateurs.
XP-eXtreme Programming :
La méthode XP (pour eXtreme Programming) définit
un certain nombre de bonnes pratiques permettant de développer un
logiciel dans des conditions optimales en plaçant le client du coeur du
processus de développement, en relation étroite avec le
client.
L'eXtreme Programming est notamment basé sur les concepts
suivants :
? Les équipes de développement travaille
directement avec le client sur des cycles très courts d'une à
deux semaines maximum.
Page | 20
? L'équipe livraison de versions du logiciel interviennent
très tôt et à une fréquence élevée
pour maximiser l'impact des retours utilisateurs.
? L'équipe de développement travaille en
collaboration totale sur la base de binôme ... ? Le code est tester et
nettoyé tout au long du processus de développement.
? Des indicateurs permettent de mesure l'avancement du projet
afin de permettre de mettre à jour.
2. Phases de modélisation.
Phase d'inception : Recensement et définition des
besoins.
C'est la phase ayant comme principal objectif l'identification
des principaux acteurs interagissent avec le système et les
fonctionnalités attendues de celui-ci.
Dans un premier temps, nous allons lister l'ensemble des
exigences issues du cahier des charges. Chaque exigence sera recensée et
elle pourra être étudiée ultérieurement.
Ces exigences seront regroupées par intentions d'acteur,
puis un diagramme de contexte statique sera établi.
A ce stade, nous pouvons déjà construire un
diagramme de cas d'utilisation de notre projet. Phase d'analyse et de
conception :
Il s'agit d'une phase itérative qui vise à analyser
et comprendre chaque fonctionnalité attendue du système en
examinant toutes les scénarios compte des scénarios exceptionnels
et des erreurs.
Une description détaillée est faites pour chaque
use case, qui peut être complétée par un diagramme
d'activité qui consolide les différents scénarios
possibles.
Nous allons réaliser un diagramme de séquence
boîte noir correspond au système (Ici c'est un diagramme de
séquence par scénario, ou la boite noir correspond au
système informatique à développer).
A partir des diagrammes de séquences et des descriptions
textuelles, nous réaliserons les diagrammes d'activités et le
diagramme de classe d'analyse.
Phase de réalisation :
Dans cette phase nous déduirons à partir du
diagramme de classe d'analyse le modèle logique de donnée pour la
création de la base de données et ceci en appliquant les
règles de passages.
Page | 21
3. Le formalisme UML :
UML est considéré comme le langage standard de
conception orienté objet, il est un
formalisme et pas une méthode. Il s'en duit qu'il
définit un ensemble d'éléments de modélisation et
une notation graphique pour modéliser les systèmes et ne
décrit pas les étapes à suivre pour le faire.
Les raisons qui nous ont poussés à adopter UML dans
notre projet se résume en :
UML offre un outil prêt à l'emploi basé sue
une modélisation visuelle qui permet d'échanger des
modèles compréhensibles.
Si on développe aves des langages orienté objet, il
est plus approprié de concevoir avec des formalismes Orienté
Objet.
Figure 5:Les diagrammes disponibles.
4. L'outil PowerAmc :
PowerAmc [3] est un logiciel de modélisation. Il permet
de
modéliser les traitements informatiques et leurs bases
de données associées en n'importe quelles modèles
informatiques. Il reste un des seuls qui permet de travailler avec la
méthode Merise, cela permet d'améliorer la
modélisation, les processus, le coût et la
production d'application.
PowerAmc offre des méthodes efficaces d'analyse
d'impact, de gestion des changements et des techniques avancées de
gestion des métadonnées.
Page | 22
La combinaison des techniques de modélisation et de la
gestion des données confère à PowerAmc des fonctions
uniques lui permettant de prendre en charge tous les environnements
architecturaux. Le référentiel de métadonnées de
PowerAmc permet également à toutes les parties prenantes de
l'entreprise de collaborer et de communiquer efficacement. Ces dernières
peuvent ainsi réagir plus rapidement face aux changements et garantir
une meilleure capacité d'adaptation de l'entreprise.
Chapitre 2 : Phase d'inception.
Introduction :
Cette phase consiste à comprendre le contexte du
système. Il s'agit de déterminer les fonctionnalités et
les acteurs les plus pertinents, de préciser les risques les plus
critiques et d'identifier les cas d'utilisation initiaux. Ceci dit, notre
description va sembler trop détaillée pour une première
phase de processus.
I. Capture des besoins :
1. Définition des besoins fonctionnels :
Il s'agit des fonctionnalités du système. Ce sont
les besoins spécifiant un comportement
d'entrée / sortie du Système.
Le système à concevoir doit permettre à
l'utilisateur d'effectuer les opérations suivantes:
Référence Fonction
R1
|
Rechercher certification par mot
|
R2
|
Rechercher certification par domaine
|
R3
|
Rechercher certification par technologie
|
R4
|
Rechercher certification par code
|
R5
|
Consulter certification
|
R6
|
Consulter la certification prérequis
|
R7
|
Consulter les certifications après
|
R8
|
Télécharger un PDF de certification
|
R9
|
Inscrire pour passer une certification
|
R10
|
Consulter les formations
|
R11
|
Télécharger un PDF de formation
|
R12
|
Inscrire à une formation
|
R13
|
Donner l'avis sur formation
|
R14
|
Proposer formation
|
R15
|
Recevoir les notifications
|
R16
|
Authentifier
|
R17
|
Ajouter certification
|
Page | 23
R18
|
Modifier certification
|
R19
|
Supprimer certification
|
R20
|
Ajouter compétence
|
R21
|
Modifier compétence
|
R22
|
Supprimer compétence
|
R23
|
Ajouter formation
|
R24
|
Modifier formation
|
R25
|
Supprimer formation
|
R26
|
Ajouter gérant
|
R27
|
Modifier gérant
|
R28
|
Supprimer gérant
|
R29
|
Ajouter formateur
|
R30
|
Modifier formateur
|
R31
|
Supprimer formateur
|
R32
|
Consulter les inscrits aux certifications
|
R33
|
Valider l'inscription d'un client à une certification
|
R34
|
Consulter les avis
|
R35
|
Consulter les propositions
|
R36
|
Consulter les inscrits aux formations
|
R37
|
Valider l'inscription d'un client à une formation
|
R38
|
Envoyer un e-mail
|
Tableau 1 : Tableau des exigences. 2. Les besoins non
fonctionnels :
Les besoins non fonctionnels concernent les contraintes
à prendre en considération pour mettre en place une solution
adéquate aux attentes des concepteurs des architectures dynamiques.
Mon application doit nécessairement assurer ces besoins
:
? L'extensibilité : dans le cadre de
ce travail, l'application devra être extensible, c'est-à-dire
qu'il pourra y avoir une possibilité d'ajouter ou de modifier de
nouvelles fonctionnalités.
? La sécurité : l'application
devra être hautement sécurisée, les informations ne devront
pas être accessibles à tout le monde, c'est-à-dire qu'il
existe des fonctionnalités accessibles par un identifiant et un mot de
passe attribué à une personne physique.
? L'interface : avoir une application qui
respecte les principes des Interfaces Homme/Machine (IHM) tels que l'ergonomie
et la fiabilité.
? La performance : l'application devra
être performante c'est-à-dire que le système doit
réagir dans un délai précis, quel que soit l'action de
l'utilisateur.
? La convivialité : l'application doit
être simple et facile à manipuler même par des non
experts.
Page | 24
3. Les principaux acteurs du système :
Figure 6 : Diagramme des acteurs.
Client : celui qui n'a pas besoin de
s'authentifier pour utiliser leurs fonctionnalités, il peut rechercher,
consulter, télécharger des PDF et proposer des formations ainsi
donner des avis et recevoir des notifications.
Gérant : celui qui est chargé de
gérer les certifications, les formations les formateurs et les
inscriptions des clients, aussi consulter les avis et les propositions des
clients.
Administrateur : C'est le seul qui peut ajouter, modifier ou
supprimer des gérants.
Figure 7 : Diagramme de contexte statique.
Ce diagramme nous permet de préciser au départ
la nature du système (Mono utilisateur/Multi utilisateur) par rapport
aux interactions des acteurs à un instant t.
Page | 25
4. Regroupement des exigences par intentions d'acteurs
:
Référence Fonction Intention d'acteur
Acteur
R1
|
Rechercher certification par mot
|
Rechercher certification
|
Client
|
R2
|
Rechercher certification par domaine
|
Rechercher Certification
|
Client
|
R3
|
Rechercher certification par technologie
|
Rechercher certification
|
Client
|
R4
|
Rechercher certification par code
|
Rechercher certification
|
Client
|
R5
|
Consulter certification
|
Consulter certification
|
Client
|
R6
|
Consulter la certification prérequis
|
Consulter certification
|
Client
|
R7
|
Consulter les certifications après
|
Consulter certification
|
Client
|
R8
|
Télécharger un PDF de certification
|
Télécharger PDF
|
Client
|
R9
|
Inscrire pour passer une certification
|
Inscrire
|
Client
|
R10
|
Consulter les formations
|
Consulter les formations
|
Client
|
R11
|
Télécharger un PDF de formation
|
Télécharger PDF
|
Client
|
R12
|
Inscrire à une formation
|
Inscrire
|
Client
|
R13
|
Donner l'avis
|
Donner l'avis
|
Client
|
R14
|
Proposer formation
|
Proposer formation
|
Client
|
R15
|
Recevoir les notifications
|
Recevoir les notifications
|
Client
|
R16
|
Authentifier
|
Authentifier
|
Gérant
|
R17
|
Ajouter certification
|
Gérer certification
|
Gérant
|
R18
|
Modifier certification
|
Gérer certification
|
Gérant
|
R19
|
Supprimer certification
|
Gérer certification
|
Gérant
|
R20
|
Ajouter compétence
|
Gérer compétence
|
Gérant
|
R21
|
Modifier compétence
|
Gérer compétence
|
Gérant
|
R22
|
Supprimer compétence
|
Gérer compétence
|
Gérant
|
R23
|
Ajouter formation
|
Gérer formation
|
Gérant
|
R24
|
Modifier formation
|
Gérer formation
|
Gérant
|
R25
|
Supprimer formation
|
Gérer formation
|
Gérant
|
R26
|
Ajouter gérant
|
Gérer gérant
|
Admin
|
R27
|
Modifier gérant
|
Gérer gérant
|
Admin
|
R28
|
Supprimer gérant
|
Gérer gérant
|
Admin
|
R29
|
Ajouter formateur
|
Gérer formateur
|
Gérant
|
R30
|
Modifier formateur
|
Gérer formateur
|
Gérant
|
R31
|
Supprimer formateur
|
Gérer formateur
|
Gérant
|
R32
|
Consulter les inscrits aux certifications
|
Gérer les inscriptions
|
Gérant
|
R33
|
Valider l'inscription d'un client à une certification
|
Gérer les inscriptions
|
Gérant
|
R34
|
Consulter les avis
|
Consulter les avis
|
Gérant
|
R35
|
Consulter les propositions
|
Consulter les propositions
|
Gérant
|
R36
|
Consulter les inscrits aux formations
|
Gérer les inscriptions
|
Gérant
|
R37
|
Valider l'inscription d'un client à une formation
|
Gérer les inscriptions
|
Gérant
|
R38
|
Envoyer un e-mail
|
Envoyer un e-mail
|
Gérant
|
Tableau 2 : Tableau des exigences par intention d'acteur.
II. Diagramme de cas d'utilisation :
Le diagramme de cas d'utilisation décrit les
utilisations requises d'un système, ou ce qu'un système est
supposé faire. Les principaux concepts de ce diagramme sont les acteurs,
cas
Page | 26
d'utilisation et sujets. Un sujet représente un
système avec lequel les acteurs et autres sujets interagissent.
Figure 8 : Diagramme de cas d'utilisation.
Page | 27
Chapitre 3 : Phase d'analyse et de conception.
Introduction :
Cette phase poursuit la tache entamée dans la phase
d'inception, cette phase vise à identifier et décrire la
majorité des besoins utilisateurs, construire l'architecture de base du
système et lever les risques majeurs du projet.
Au niveau de cette phase, j'analyse les différents cas
d'utilisation puis j'essaye de les détaillées pour comprendre
chaque fonctionnalité attendue du système en examinant toutes les
scénarios compte des scénarios exceptionnels et des erreurs.
I. Description textuelle des cas d'utilisation :
Pour rendre notre diagramme des cas d'utilisation plus lisible
et afin de décrire le comportement d'un système, les concepteurs
d'UML proposent l'utilisation d'une technique nommé la description
textuelle des cas d'utilisation.
1. Authentifier :
Nom de cas d'utilisation :
|
Authentifier.
|
Objectif :
|
Accès aux fonctionnalités attribuées.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de s'identifier
auprès du système et d'accéder aux fonctionnalités
qui lui sont attribuées.
|
Pré-condition :
|
Existence des données dans la base de données.
|
Post-
condition :
|
Affichage de la page d'accueil.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. consulter page
d'authentification .
|
2. Afficher page
d'authentification.
|
3. Introduire Login
et Mot de passe.
|
4. Vérifier Login et mot de passe.
5. Valider et afficher la page d'accueil.
|
Tableau 3 : Description textuelle de cas d'utilisation «
Authentifier ». Les enchainements alternatifs :
A1 : Login ou Mot de passe erroné
Page | 28
L'enchainement A1 démarre au point 4 du scénario
nominal.
5-le système indique à l'utilisateur que le login
ou le mot de passe est erroné. Le scénario nominal reprend au
point 3.
A2 : Les champs de saisie sont vides
L'enchainement A2 démarre au point 4 du scénario
nominal. 5-le système demande aux utilisateurs de remplir les champs. Le
scénario nominal reprend au point 3.
Les enchainements d'exception :
E1 : Le système ne répond pas
L'enchainement E1 démarre au point 1 du scénario
nominal.
2- le système ne répond pas.
Le cas d'utilisation se termine en échec.
2. Gérer les certifications : Ajouter certification
:
Nom de cas d'utilisation :
|
|
Ajouter certification.
|
Objectif :
|
|
Effectuer une gestion des certifications.
|
Acteurs principaux :
|
|
Gérant.
|
Rôle de cas d'utilisation
|
|
Ce scénario permet au gérant d'ajouter une nouvelle
certification.
|
Pré-
condition :
|
|
Authentification préalable.
|
|
Post-
condition :
|
|
Une nouvelle certification ajoutée.
|
|
Scénario nominal :
|
|
Action des acteurs
|
|
Action du système
|
1.
2.
|
Authentification. Demander le
formulaire d'ajout.
|
3.
|
Afficher le formulaire.
|
|
Remplir les champs.
|
5.
6.
7.
8.
|
Vérifier les données saisies. Enregistrer la
certification. Envoyer une notification aux clients.
Afficher un
message de succès.
|
|
Tableau 4 : Description textuelle de cas d'utilisation «
Ajouter certification ».
Page | 29
Les enchainements alternatifs :
A1 : Données manquants
L'enchainement A1 démarre au point 5 du scénario
nominal.
6- le système affiche un message d'erreur.
Le scénario nominal reprend au point 4.
Modifier certification :
Nom de cas d'utilisation :
|
|
Modifier certification.
|
Objectif :
|
|
Effectuer une gestion des certifications.
|
Acteurs principaux :
|
|
Gérant.
|
Rôle de cas d'utilisation
|
|
Ce scénario permet au gérant de modifier une
certification.
|
Pré-
condition :
|
|
Authentification préalable.
|
|
Post-
condition :
|
|
Une certification bien modifiée.
|
|
Scénario nominal :
|
|
Action des acteurs
|
|
Action du système
|
1.
2.
|
Authentification. Sélectionner une certification.
|
3.
|
Afficher le formulaire avec les informations de la
certification.
|
|
Modifier les champs.
|
5.
6.
7.
8.
|
Vérifier les données saisies. Mise à jour de
la certification. Notifier les clients. Afficher un message de
succès.
|
|
Tableau 5 : Description textuelle de cas d'utilisation «
Modifier certification ». Les enchainements alternatifs
:
A1 : Aucune certification trouvée
L'enchainement A1 démarre au point 3 du scénario
nominal. 4- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : Données manquants
L'enchainement A2 démarre au point 5 du scénario
nominal.
Page | 30
6- le système affiche un message d'erreur. Le
scénario nominal reprend au point 4.
Supprimer certification :
Nom de cas d'utilisation :
|
Supprimer certification.
|
Objectif :
|
Effectuer une gestion des certifications.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de supprimer une
certification.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Une certification bien supprimée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner une certification.
|
3. Afficher un message de confirmation.
|
|
5. Supprimer les inscriptions de la certification.
6. Supprimer la certification.
7. Afficher un
message de succès.
|
|
Tableau 6 : Description textuelle de cas d'utilisation «
Supprimer certification ». Les enchainements alternatifs
:
A1 : Aucune certification trouvée
L'enchainement A1 démarre au point 3 du scénario
nominal. 4- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : L'utilisateur annule la suppression
L'enchainement A2 démarre au point 3 du scénario
nominal. 4- le système affiche arrête le scénario
nominal.
Le scénario nominal s'arrête.
Page | 31
3. Gérer les formations : Ajouter Formation :
Nom de cas d'utilisation :
|
Ajouter formation.
|
Objectif :
|
Effectuer une gestion des formations.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant d'ajouter une
formation.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Une nouvelle formation ajoutée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Demander le formulaire d'ajout.
|
3. Afficher le formulaire.
|
|
5. Vérifier les données saisies.
6. Enregistrer la formation.
7. Notifier les clients.
8. Afficher un
message de succès.
|
|
Tableau 7 : Description textuelle de cas d'utilisation «
Ajouter formation ».
Les enchainements alternatifs :
A1 : Données manquants
L'enchainement A1 démarre au point 5 du scénario
nominal.
6- le système affiche un message d'erreur.
Le scénario nominal reprend au point 4.
Modifier formation :
Nom de cas d'utilisation :
|
Modifier formation.
|
Objectif :
|
Effectuer une gestion des formations.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de modifier une
formation.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Une formation bien modifiée.
|
Scénario
|
Action des acteurs Action du système
|
Page | 32
nominal :
|
1.
|
Authentification.
|
3.
|
Afficher le
|
|
2.
|
Sélectionner une formation.
|
|
formulaire avec les informations de la formation.
|
|
4.
|
Modifier les champs.
|
5.
|
Vérifier les
données saisies.
|
|
|
|
6.
|
Mise à jour de la formation.
|
|
|
|
7.
|
Afficher un message de succès.
|
|
Tableau 8 : Description textuelle de cas d'utilisation «
Modifier formation ». Les enchainements alternatifs :
A1 : Aucune formation trouvée
L'enchainement A1 démarre au point 3 du scénario
nominal. 4- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : Données manquants
L'enchainement A2 démarre au point 5 du scénario
nominal. 6- le système affiche un message d'erreur.
Le scénario nominal reprend au point 4.
Supprimer formation :
Nom de cas d'utilisation :
|
|
Supprimer formation.
|
Objectif :
|
|
Effectuer une gestion des formations.
|
Acteurs principaux :
|
|
Gérant.
|
Rôle de cas d'utilisation
|
|
Ce scénario permet au gérant de supprimer une
formation.
|
Pré-
condition :
|
|
Authentification préalable.
|
Post-
condition :
|
|
Une formation bien supprimer et archivée.
|
Scénario nominal :
|
|
Action des acteurs
|
Action du système
|
1.
2.
|
Authentification. Sélectionner une formation.
|
3. Afficher un message de confirmation.
|
Page | 33
|
4.
|
Valider son choix.
|
5.
|
Supprimer les inscriptions à la formation.
|
|
|
|
6.
|
Supprimer la formation.
|
|
|
|
7.
|
Afficher un
message de succès.
|
|
Tableau 9 : Description textuelle de cas d'utilisation «
Supprimer formation ». Les enchainements alternatifs :
A1 : Aucune formation trouvée
L'enchainement A1 démarre au point 3 du scénario
nominal. 4- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : L'utilisateur annule la suppression
L'enchainement A2 démarre au point 3 du scénario
nominal. 4- le système affiche arrête le scénario
nominal.
Le scénario s'arrête.
4. Gérer les formateurs :
Ajouter formateur :
Nom de cas d'utilisation :
|
Ajouter formateur.
|
Objectif :
|
Effectuer une gestion des enseignants.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant d'ajouter un
formateur.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Un nouvel formateur ajouté.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Demander le formulaire d'ajout.
|
3. Afficher le formulaire.
|
|
5. Vérifier les données saisies.
6. Enregistrer le formateur.
7. Afficher un
message de succès.
|
|
Page | 34
Tableau 10 : Description textuelle de cas d'utilisation «
Ajouter formateur ».
Les enchainements alternatifs :
A1 : Données manquants
L'enchainement A1 démarre au point 5 du scénario
nominal.
6- le système affiche un message d'erreur.
Le scénario nominal reprend au point 4.
Modifier formateur :
Nom de cas d'utilisation :
|
Modifier formateur.
|
Objectif :
|
Effectuer une gestion des formateurs.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de modifier un
formateur.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Un formateur bien modifié.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner un enseignant.
|
3. Afficher le formulaire avec les informations de
l'enseignant.
|
|
5. Vérifier les données saisies.
6. Mise à jour du formateur.
7. Afficher un message de succès.
|
|
Tableau 11 : Description textuelle de cas d'utilisation «
Modifier formateur ». Les enchainements alternatifs :
A1 : Aucun enseignant trouvé
L'enchainement A1 démarre au point 2 du scénario
nominal. 3- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : Données manquants
L'enchainement A2 démarre au point 5 du scénario
nominal.
Page | 35
6- le système affiche un message d'erreur. Le
scénario nominal reprend au point 4.
Supprimer formateur :
Nom de cas d'utilisation :
|
Supprimer formateur.
|
Objectif :
|
Effectuer une gestion des formateurs.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de supprimer un
formateur.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Un formateur bien supprimé.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner un enseignant.
|
3. Afficher un message de confirmation.
|
|
5. Vérifier la
dépendance avec des formations.
6. Supprimer le formateur.
7. Afficher un
message de succès.
|
|
Tableau : Description textuelle de cas d'utilisation «
Supprimer formateur». Les enchainements alternatifs :
A1 : Aucun enseignant trouvé
L'enchainement A1 démarre au point 2 du scénario
nominal.
3- le système arrête le scénario nominal. Le
scénario s'arrête.
A2 : L'utilisateur annulé la suppression
L'enchainement A2 démarre au point 3 du scénario
nominal.
4- le système affiche arrête le scénario
nominal. Le scénario s'arrête.
A3 : Le formateur est déjà lié avec des
formations L'enchainement A3 démarre au point 5 du scénario
nominal.
Page | 36
7- le système passe au point 2 du scénario nominal.
Le scénario s'arrête.
5. Gérer les gérants :
Ajouter gérant :
Nom de cas d'utilisation :
|
Ajouter gérant.
|
Objectif :
|
Effectuer une gestion des gérants.
|
Acteurs principaux :
|
Admin.
|
Rôle de cas d'utilisation
|
Ce scénario permet à l'admin d'ajouter un
gérant.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Un nouveau gérant ajouté.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
|
2. Afficher la liste des
gérants.
|
3. Cliquer sur le bouton ajouter gérant.
4. Remplir les informations.
|
5. Vérifier les données saisies.
6. Enregistrer le gérant.
7. Afficher un
message de succès.
|
Tableau 13 : Description textuelle de cas d'utilisation «
Ajouter gérant ».
Les enchainements alternatifs :
A1 : Données manquants
L'enchainement A1 démarre au point 5 du scénario
nominal.
6- le système affiche un message d'erreur.
Le scénario nominal reprend au point 4.
Modifier gérant :
Nom de cas d'utilisation :
|
Modifier gérant.
|
Objectif :
|
Effectuer une gestion des gérants.
|
Acteurs principaux :
|
Admin.
|
Rôle de cas d'utilisation
|
Ce scénario permet à l'admin de modifier un
gérant.
|
Pré-
condition :
|
Authentification préalable.
|
Page | 37
Post-
condition :
|
Un gérant bien modifié.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
|
2. Afficher la liste des
gérants.
|
3. Cliquer sur le bouton modifier gérant.
4. Entrer le nouveau mot de passe.
|
5. Vérifier le mot de passe.
6. Enregistrer les modifications.
7. Afficher un
message de succès.
|
Tableau 14 : Description textuelle de cas d'utilisation «
Modifier gérant ». Les enchainements alternatifs
:
A1 : Aucun gérant trouvé
L'enchainement A1 démarre au point 2 du scénario
nominal. 3- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : Données manquants
L'enchainement A2 démarre au point 5 du scénario
nominal. 6- le système affiche un message d'erreur.
Le scénario nominal reprend au point 4.
Supprimer gérant :
Nom de cas d'utilisation :
|
Supprimer gérant.
|
Objectif :
|
Effectuer une gestion des enseignants.
|
Acteurs principaux :
|
Admin.
|
Rôle de cas d'utilisation
|
Ce scénario permet à l'admin de supprimer un
gérant.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Un gérant bien supprimé.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
|
2. Afficher la liste des
gérants.
|
3. Cliquer sur le
bouton supprimer
|
4. Afficher un
message de
|
Page | 38
|
|
gérant.
|
|
confirmation.
|
|
5.
|
Valider son choix.
|
6.
|
Vérifier les
données saisies.
|
|
|
|
7.
|
Supprimer le gérant.
|
|
|
|
8.
|
Afficher un
message de succès.
|
|
Tableau 15: Description textuelle de cas d'utilisation «
Supprimer gérant ».
Les enchainements alternatifs :
A1 : Aucun gérant trouvé
L'enchainement A1 démarre au point 2 du scénario
nominal.
3- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : L'utilisateur annule la suppression
L'enchainement A2 démarre au point 4 du scénario
nominal.
5- le système affiche arrête le scénario
nominal.
Le scénario s'arrête.
6. Gérer les compétences : Ajouter
compétence :
Nom de cas d'utilisation :
|
Ajouter compétence.
|
Objectif :
|
Effectuer une gestion des compétences.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant d'ajouter une
compétence.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Une nouvelle compétence ajoutée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner une certification.
|
3. Afficher la liste des compétences.
|
Page | 39
|
4.
|
Cliquer sur le bouton ajouter
|
6.
|
Vérifier les
données saisies.
|
|
|
compétence.
|
7.
|
Enregistrer la
|
|
|
5.
|
Remplir les
|
|
compétence.
|
|
|
informations.
|
8.
|
Afficher un
message de succès.
|
Tableau 16 : Description textuelle de cas d'utilisation «
Ajouter compétence ».
Les enchainements alternatifs :
A1 : Données manquants
L'enchainement A1 démarre au point 6 du scénario
nominal.
7- le système affiche un message d'erreur.
Le scénario nominal reprend au point 5.
Modifier compétence :
Nom de cas d'utilisation :
|
Modifier compétence.
|
Objectif :
|
Effectuer une gestion des compétences.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de modifier un
gérant.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Une compétence bien modifiée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner une certification.
|
3. Afficher la liste des compétences.
|
|
6. Vérifier le champ.
7. Enregistrer les modifications.
8. Afficher un
message de succès.
|
|
Tableau 17 : Description textuelle de cas d'utilisation «
Modifier compétence ».
Les enchainements alternatifs :
A1 : Aucune compétence trouvée
L'enchainement A1 démarre au point 2 du scénario
nominal.
3- le système arrête le scénario
nominal.
Le scénario s'arrête.
Page | 40
A2 : Données manquants
L'enchainement A2 démarre au point 6 du scénario
nominal. 6-le système affiche un message d'erreur. Le scénario
nominal reprend au point 5.
Supprimer compétence :
Nom de cas d'utilisation :
|
Supprimer compétence.
|
Objectif :
|
Effectuer une gestion des compétences.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de supprimer une
compétence.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Une compétence bien supprimée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner une certification.
|
3. Afficher la liste des compétences.
|
|
5. Afficher un message de confirmation.
|
|
7. Supprimer la compétence.
8. Afficher un
message de succès.
|
|
Tableau 18 : Description textuelle de cas d'utilisation «
Supprimer compétence ». Les enchainements alternatifs
:
A1 : Aucune compétence trouvée
L'enchainement A1 démarre au point 2 du scénario
nominal. 3- le système arrête le scénario nominal.
Le scénario s'arrête.
A2 : L'utilisateur annule la suppression
L'enchainement A2 démarre au point 5 du scénario
nominal. 6- le système affiche arrête le scénario
nominal.
Le scénario s'arrête.
Page | 41
7. Gérer les inscriptions :
Nom de cas d'utilisation :
|
Gérer les inscriptions.
|
Objectif :
|
Effectuer une consultation des inscriptions aux certifications ou
formations et les validées.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de consulter la liste
des inscrits aux certifications ou aux formations et validée une ou
plusieurs.
|
Pré-
condition :
|
Authentification préalable.
|
Post-
condition :
|
Message de confirmation envoyé au client.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Authentification.
2. Sélectionner
formation/Certification.
|
3. Afficher la liste des inscrits.
|
|
5. Valider l'inscription.
6. Envoyer un e-mail de confirmation au client.
7. Message de succès.
|
|
Tableau 19 : Description textuelle de cas d'utilisation «
Gérer inscriptions ».
Les enchainements alternatifs :
A1 : Aucune inscription trouvée
L'enchainement A1 démarre au point 3 du scénario
nominal.
4- le système arrête le scénario nominal.
Le scénario s'arrête.
8. Rechercher certification :
Nom de cas d'utilisation :
|
Rechercher certification.
|
Objectif :
|
Effectuer une recherche de certifications.
|
Acteurs principaux :
|
Client.
|
Rôle de cas d'utilisation
|
Ce scénario permet au client de rechercher une
certification.
|
Pré-condition :
|
Liste des certifications existes.
|
Page | 42
Post-
condition :
|
|
Les certifications sont bien affichées.
|
Scénario nominal :
|
|
Action des acteurs
|
|
Action du système
|
1.
|
Demande la page de recherche.
|
2.
|
Afficher la page.
|
3.
|
Remplir les informations.
|
4.
5.
|
Vérification des champs.
Liste des certifications.
|
Tableau 20 : Description textuelle de cas d'utilisation «
Rechercher certification ».
Les enchainements alternatifs :
A1 : Données manquants
L'enchainement A1 démarre au point 4 du scénario
nominal.
5- le système affiche un message d'erreur.
Le scénario nominal reprend au point 3.
9. Consulter certification :
Nom de cas d'utilisation :
|
Consulter certification.
|
Objectif :
|
Consulter une certification.
|
Acteurs principaux :
|
Client.
|
Rôle de cas d'utilisation
|
Ce scénario permet au client de consulter une
certification.
|
Pré-condition :
|
Le client vient de faire une recherche.
|
Post-
condition :
|
Les informations de la certification sont bien
affichées.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Demande la
page de certification.
|
2. Afficher la page.
|
Tableau 21 : Description textuelle de cas d'utilisation «
Consulter certification ».
10. Consulter les formations :
Nom de cas d'utilisation :
|
Consulter les formations.
|
Objectif :
|
Consulter les formations.
|
Acteurs principaux :
|
Client.
|
Rôle de cas
|
Ce scénario permet au client de consulter une
formation.
|
Page | 43
d'utilisation
|
|
|
|
Pré-condition :
|
|
Existence des formations.
|
|
Post-
condition :
|
|
Les formations ont bien affichées.
|
|
Scénario nominal :
|
|
Action des acteurs
|
|
Action du système
|
1.
|
Demande la liste des formations.
|
2.
|
Afficher la liste.
|
3.
|
Cliquer pour consulter une formation.
|
4.
|
Consultation de la formation.
|
Tableau 22 : Description textuelle de cas d'utilisation «
Consulter les formations ».
Les enchainements alternatifs :
A1 : Aucune formation trouvée
L'enchainement A1 démarre au point 2 du scénario
nominal.
3- le système affiche un message d'erreur.
Le scénario nominal arrête.
11. Donner avis :
Nom de cas d'utilisation :
|
Donner avis.
|
Objectif :
|
Donner un avis.
|
Acteurs principaux :
|
Client.
|
Rôle de cas d'utilisation
|
Ce scénario permet au client la possibilité de
donné son avis.
|
Pré-condition :
|
|
Post-
condition :
|
L'avis est bien enregistré.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Cliquer sur
donné un avis.
|
2. Afficher le formulaire.
|
3. Remplir les
champs.
|
4. Vérifier les champs.
5. Enregistrer l'avis.
6. Afficher un message de succès.
|
Tableau 23 : Description textuelle de cas d'utilisation «
Donner avis ». Les enchainements alternatifs :
Page | 44
A1 : Données manquants.
L'enchainement A1 démarre au point 3 du scénario
nominal.
4- le système affiche un message d'erreur. Le
scénario nominal reprend le point 2.
12. Proposer formation :
Nom de cas d'utilisation :
|
Proposer formation.
|
Objectif :
|
Proposer une formation n'existe pas.
|
Acteurs principaux :
|
Client.
|
Rôle de cas d'utilisation
|
Ce scénario permet au client la possibilité de
proposer une formation qui n'existe pas.
|
Pré-condition :
|
Consulter une formation.
|
Post-
condition :
|
La proposition est bien enregistrée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Cliquer sur
proposer formation.
|
2. Afficher le formulaire.
|
3. Remplir les
champs.
|
4. Vérifier les champs.
5. Enregistrer la proposition.
6. Afficher un message de succès.
|
Tableau 24 : Description textuelle de cas d'utilisation «
Proposer formation ». Les enchainements alternatifs :
A1 : Données manquants.
L'enchainement A1 démarre au point 4 du scénario
nominal.
5- le système affiche un message d'erreur. Le
scénario nominal reprend le point 3.
13. Recevoir les notifications :
Nom de cas d'utilisation :
|
Recevoir les notifications.
|
Objectif :
|
Recevoir les derniers certifications et formations.
|
Acteurs principaux :
|
Client.
|
Rôle de cas d'utilisation
|
Ce scénario permet au client d'inscrire pour recevoir les
derniers certifications et formations et offres.
|
Page | 45
Pré-condition :
|
|
|
|
Post-
condition :
|
|
L'inscription est bien faite.
|
|
Scénario nominal :
|
|
Action des acteurs
|
|
Action du système
|
1.
|
Remplir les champs.
|
2.
3.
4.
|
Vérifier les champs. Enregistrer l'inscription. Afficher
un message de succès.
|
Tableau 25 : Description textuelle de cas d'utilisation «
Recevoir les notifications ».
Les enchainements alternatifs :
A1 : Données manquants.
L'enchainement A1 démarre au point 2 du scénario
nominal.
3- le système affiche un message d'erreur.
Le scénario nominal reprend le point 1.
14. Inscrire :
Nom de cas d'utilisation :
|
Inscrire.
|
Objectif :
|
L'inscription à une formation, pour passer une
certification ou bien pour proposer formation.
|
Acteurs principaux :
|
Client.
|
Rôle de cas d'utilisation
|
Ce scénario permet au client d'inscrire à une
formation,
pour passer une certification ou bien pour
proposer formation.
|
Pré-condition :
|
----
|
Post-
condition :
|
L'inscription est bien faite.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Demande la
page
d'inscription.
|
2. Afficher le formulaire.
|
3. Remplir les
champs.
|
4. Vérifier les champs.
5. Enregistrer l'inscription.
6. Afficher un message de succès.
|
Tableau 26 : Description textuelle de cas d'utilisation «
Inscrire ». Les enchainements alternatifs :
A1 : Données manquants.
L'enchainement A1 démarre au point 4 du scénario
nominal.
Page | 46
5- le système affiche un message d'erreur. Le
scénario nominal reprend le point 3.
15. Consulter les avis :
Nom de cas d'utilisation :
|
Consulter les avis.
|
Objectif :
|
Consultation des avis de clients.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de consulter les avis
des clients.
|
Pré-condition :
|
Authentification préalable.
|
Post-
condition :
|
Les avis sont bien affichés.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Demande la
liste des avis.
|
2. Afficher les avis.
|
3. Demande le
répond à un avis.
|
4. Afficher le formulaire.
|
5. Remplir les
informations.
|
6. Vérifier les champs.
7. Envoyer e-mail au client.
8. Supprimer l'avis.
9. Afficher un message de succès.
|
Tableau 27 : Description textuelle de cas d'utilisation «
Consulter les avis ».
Les enchainements alternatifs :
A1 : Données manquants.
L'enchainement A1 démarre au point 6 du scénario
nominal.
7- le système affiche un message d'erreur.
Le scénario nominal reprend le point 5.
16. Télécharger PDF :
Nom de cas d'utilisation :
|
Télécharger un PDF.
|
Objectif :
|
Consulter les formations et les certifications en format PDF.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas
|
Ce scénario permet au client Consulter et
télécharger les
|
Page | 47
d'utilisation
|
formations et les certifications en format PDF.
|
Pré-condition :
|
Consulter une formation/certification.
|
Post-
condition :
|
Le PDF bien affiché pour le télécharger.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Demande la
page de PDF.
|
2. Afficher le PDF.
|
Tableau 28 : Description textuelle de cas d'utilisation «
Télécharger PDF ».
17. Consulter les propositions :
Nom de cas d'utilisation :
|
Consulter les propositions.
|
Objectif :
|
Afficher les propositions au gérant.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas d'utilisation
|
Ce scénario permet au gérant de consulter les
propositions des formations des clients.
|
Pré-condition :
|
Authentification préalable.
|
Post-
condition :
|
La liste des propositions est bien affichée.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Demande la
liste des propositions.
|
2. Afficher la liste.
|
Tableau 29 : Description textuelle de cas d'utilisation «
Consulter les propositions ». Les enchainements alternatifs
:
A1 : Le gérant supprimer une proposition.
L'enchainement A1 démarre au point 2 du scénario
nominal.
3- le système affiche un message de confirmation.
4- Le gérant valide son choix. Le scénario nominal
arrête.
18. Envoyer e-mail :
Nom de cas d'utilisation :
|
Envoyer e-mail.
|
Objectif :
|
L'envoie d'un e-mail.
|
Acteurs principaux :
|
Gérant.
|
Rôle de cas
|
Ce scénario permet au gérant d'envoyer un email au
client.
|
Page | 48
d'utilisation
|
|
Pré-
condition :
|
Demande de l'envoie.
|
Post-
condition :
|
L'e-mail est bien envoyé.
|
Scénario nominal :
|
Action des acteurs
|
Action du système
|
1. Envoyer les
informations nécessaires.
|
2. Envoyer l'e-mail.
3. Afficher un message de succès.
|
Tableau 30 : Description textuelle de cas d'utilisation «
Envoyer e-mail ».
II. Diagramme de séquence « Boite noire
» :
Pour schématiser la vue comportementale de notre
système informatique, nous faisons recours au diagramme de
séquence d'UML. Ce diagramme permet de préciser les interactions
entre l'acteur et le système avec des messages présentés
dans un ordre chronologique. Le diagramme de séquence système
traite le système informatique comme étant une boite noir. Le
comportement du système est décrit vu de l'extérieur sans
avoir d'idée sur comment il le réalisera.
1. Inscrire:
Figure 9 : Diagramme de séquence « Inscrire
».
Page | 49
2. Authentifier :
Figure 10 : Diagramme de séquence « Authentifier
». 1. Envoyer e-mail :
Figure 11 : Diagramme de séquence « Envoyer e-mail
».
Page 150
2. Gérer les certifications :
ref
Authentifier(}
14aerer certifications
7\ OH r3nt2
Stilst@rne2
Consulter la page de gestion des certifications
Afficher la page
Afficher le formulaire
Al : EA.
opt [AjouterSxrtification]
Demande le formulaire d'ajout
Al
Lists des certifications
[Modifier' certification]
Remplir les champs
'Verifier lEî = C_
J
Ioo [Données manquantes]
Afficher message d'erreur
Afficher le formulaire
Supprimer les inscriptions
Enregistrer la certification
Envoyer errai Ify Message de su coi
ref
Selection ner une certification
Formulaire de modification
Modifier les informations
Verifier les champs
}
apt pan nass manquantes]
Affihcer message d'erreur
Afficher le formulaire
AL": EA.
Enregistrer les modifications
Afficher rivage de su cc
opt [Su pprirrr certification]
Liste des certifications
Choisir la formation ë su ppri mer
Message de confirmation A2:EA
alt Condition Valider son choix
SuppriMel les inscriptions
Supprimer les compétences
Supprimer la certification
Afficher muge desum&
Annuler le choix An n u ler la suppressionI
Al EA
Figure 12 : Diagramme de séquence « Gérer les
certifications ».
Page 151
3. Gérer les formations :
ref
Authentifier()
Consulter la page de gestion des
formations
Afficher le page
Afficher le formulaire
opt [Ajouter [arrnation]
Demande le formulaire d'ajout
ref
Envoyer errai I{j
Remplir les champs
s ifis Ise champs
1
loop) [Donnces
manquantes]
Affi ch Er massage d'erreur
Afficher le formulaire
Enregistrer la formation
Misage de succés
o [Mod Hier' formation]
L<
Liste des formations
Modifier les informations
A' · EA.
A.:. E.=.
Vérifier les champs
[Donnée; manquantes]
Affihcer urisage d'erreur
Afficher le formulaire
Enregistrer les modifications
Afficher messsgE dE suces
opt
Sele tionner une certification
Formulaire de modification
Message de confirmation
A2 : EA
alt Condition
Valider son choix
pt [Supprim.erformation]
Choisir le formation â su ppri mer
Liste des formations
Supprimer les inscriptions
Su ppri ruer la formation
Affi cher mage de su cth
Won Annuler le choix
An n u ler le su ppression
Al : EA
Figure 13 : Diagramme de séquence «
Gérer formations ».
4. Gérer les formateurs :
Gerer les enseignarr~
Systeme
Gant ref
Authentifier()
Consulter la page de gestion des enseignants
apt [Ajouter er eignant]
Demande le formu faire d'ajout Afficher le formulaire
Afficher la page
Remplir les champs
Verifier les cr =^ c
1
nnëes man Affi Cher message d'erreur
Afficher le formulaire
Enregistrer l'enseignant
Mesage de su c
laap
[Modifierehseignant]
Liste des enseignants
Formulaire de modification
Modifier les informations
Al : EA
A2: EA1
VETifier les Oh 9n-ES
apt [Données manquantes]
Affi hoer message d'erreur
E
Afficher le formulaire
Enregistrer les modifications
Afficher rn age de suooës
Selection ner une certification
Message de confirmation
sit
Valider son choix
~Pt [SupprirnernsenaL Liste des enseignants
Choisir la certification ë supprimer
A2 :E0.
V'erifier la dependance avec des formations Li
Demande de changer l'enseignant des formations-
ormations
Selection ner
Selectionner un enseignant
Enregister les modifications
Affi cher massage de su corés
Annuler le choix
n
Annuler la suppression
Page 152
Figure 14 : Diagramme de séquence « Gérer
les formateurs ».
Page | 53
5. Gérer les gérants :
Figure 15: Diagramme de séquence « Gérer les
gérants ».
Page 154
6. Gérer les compétences :
n \ Ge ent
Geyer les oompëten oes~
Consulter la page de gestion des competence
Afficher la page
r<
Choisir une certification
Liste des competencra
Al:EA
Enregistrer la compëtence
Mesage de su cor
alt dui
Valider son choix
opt [Supprimer
competence]
Cliquer sur le button xipprirrrer
Message de confirmation
A2:EA
opt [Modifier c#mpëtence]
Cliquer sur le button modifier
Formulaire de modification
Modifier le champ
Vs'ifis ·l v r ca
a t [Donnera manquantes]
Afficher
Affichai le fcrn-Llsirs
Enregistrer les modifications
Affi cher mesage d e su ars
Supprimer la competence
Affi char rn agedesucaès
Mon
Annuler le choix
An n u ler la suppression
Remplir le champ
opt [Ajouter corn pëtence]
Verifier les cr s- c
I p [Donnëas manquantes]
Affi cher mesage d'erreur
Afficher le formulaire
Système
ref
Authentifier{j
Figure 16 : Diagramme de séquence « Gérer les
compétences ».
Page | 55
7. Gérer les inscriptions :
Figure 17 : Diagramme de séquence « Gérer les
inscriptions ».
8. Rechercher certification :
Figure 18 : Diagramme de séquence « Rechercher
certification».
Page | 56
9. Consulter certification :
Figure 19 : Diagramme de séquence « Consulter
certification ».
Page | 57
10.Consulter formation :
Figure 20 : Diagramme de séquence « Consulter
formation ».
10. Donner avis :
Figure 21: Diagramme de séquence « Donner avis
».
12.
Page | 58
Proposer formation :
Figure 22 : Diagramme de séquence « Proposer
formation ».
13. Recevoir les notifications :
Figure 23 : Diagramme de séquence « Recevoir les
notifications ».
14.
Page | 59
Consulter les propositions :
Figure 24 : Diagramme de séquence « Consulter les
propositions ».
15. Consulter les avis :
Figure 25 : Diagramme de séquence « Consulter les
avis ».
Page | 60
III. Diagramme d'activité :
Le diagramme d'activité est un diagramme comportemental
d'UML, permettant de représenter le déclenchement
d'événements en fonction des états du système et de
modéliser des comportements pouvant être parallèles. Le
diagramme d'activité est également utilisé pour
décrire un flux de travail.
1. Authentifier :
Figure 26 : Diagramme d'activité « Authentifier
».
Page | 61
2.Consulter certification :
Figure 27 : Diagramme d'activité « Consulter
certification ».
2. Consulter formation :
Page | 62
Figure 28 : Diagramme d'activité « Consulter
formation ».
4. Gérer les certifications :
Figure 29 : Diagramme d'activité « Gérer
certifications ».
5. Gérer les formations :
Page | 63
Figure 30 : Diagramme d'activité « Gérer
formations ».
6. Gérer les compétences :
Figure 31 : Diagramme d'activité « Gérer
compétences ».
7. Gérer les gérants :
Figure 32 : Diagramme d'activité « Gérer
gérants ».
8. Page | 64
Gérer les formateurs :
Figure 33 : Diagramme d'activité « Gérer
formateurs ».
9. Gérer les inscriptions :
Figure 34 : Diagramme d'activité « Gérer
les inscriptions ».
10. Consulter les avis/propositions :
Page | 65
Figure 35 : Diagramme d'activité « Consulter les
avis/propositions ». 11. Recevoir les notifications/Proposer
formation/Donner avis :
Figure 36 : Diagramme d'activité «Recevoir les
notifications/Proposer formation/Donner avis ».
IV. Diagramme de classe d'analyse :
Le diagramme de classes est considéré comme le
plus important de la modélisation orientée objet, il est le seul
obligatoire lors d'une telle modélisation. Le diagramme de classes
montre la structure interne du système. Il permet de fournir une
représentation abstraite des objets du système qui vont interagir
ensemble pour réaliser les cas d'utilisation. Il s'agit d'une vue
statique car on ne tient pas compte du facteur temporel dans le comportement du
système. Les principaux éléments de cette vue statique
sont les classes et leurs relations : association, généralisation
et plusieurs types de dépendances, telles que la réalisation et
l'utilisation. Une classe-association possède les
caractéristiques des associations et des classes : elle se connecte
à deux ou plusieurs classes et possède également des
attributs et des opérations. Une classe-association est
caractérisée par un trait discontinu entre la classe et
l'association. Une classe est une description d'un groupe d'objets partageant
un ensemble commun de propriétés (les attributs), de
comportements (les opérations ou méthodes) et de relations avec
d'autres objets (les associations et les agrégations).
Une classe de conception est composée par :
? Attribut chaque attribut d'une classe est
le même pour chaque instance de cette classe.
? Méthodes elle définit le
comportement d'une classe elle-même, et non le comportement de ses
instances qui peut être différent.
Le schéma ci-dessous représente le diagramme de
classe qu'on a établi pour la conception du système.
Page | 66
Figure 37 : Diagramme de classe d'analyse.
V. Base de données :
1. Modèle logique de données :
Le modèle logique des données (MLD) précise
le modèle conceptuel par des choix
organisationnels. Il s'agit d'une transcription
(également appelée dérivation) du MCD dans un formalisme
adapté à une implémentation ultérieure, au niveau
physique, sous forme de base de données relationnelle ou réseau,
ou autres. Les choix techniques d'implémentation (choix d'un SGBD) ne
seront effectués qu'au niveau suivant.
Page | 67
Figure 38 : Modèle logique de données(MLD).
2. Modèle physique de données :
Le modèle physique des données consiste à
implémenter le modèle dans le SGBD, c'est-à-
dire le traduire dans un langage de définition de
données. Le langage généralement utilisé pour ce
type d'opération est le SQL, et plus spécialement le langage de
définition de données du SQL.
Page | 68
Figure 39 : Modèle physique de données(MPD).
VI. Prototype des interfaces :
Dans le domaine du web, une technique est apparue et prend une
place très importante dans le développement des applications Web,
il s'agit de prototypage. Cette technique consiste préparer quelques
interfaces graphiques de l'application en utilisant un outil de conception de
prototypage afin de mesurer le degré de satisfaction du client par
rapport à la compréhension du projet par le développeur.
L'interaction qui se produit entre l'utilisateur final et le
développeur, à la suite de la discussion sur ces interfaces,
permet d'ajuster les besoins et de les concevoir de manière
précise et exacte. En effet les interfaces graphique font que
l'utilisateur final soit plus interactif, précis et le poussent à
mieux s'exprimer quant à ses attentes. Ci-dessus quelques interfaces
réalisées avec l'outil Balsamiq Mockups [4].
1. Page | 69
Authentifier :
Figure 40 : Interface authentifié.
2. Rechercher certification :
Figure 41 : Interface rechercher certification.
3. Page | 70
Consulter certification :
Figure 42 : Interface consulter certification.
4. Gérer certification, formation et formateur
:
Figure 43 : Interfaces gérer les certifications,
formations, formateurs.
5. Page | 71
Consulter les formations :
Figure 44 : Interface consulter les formations.
6. Gérer avis et propositions :
Figure 45 : Interface gérer avis et propositions.
7. Inscrire :
Figure 46 : Interface inscrire.
8. Gérer gérant :
Figure 47 : Interface gérer gérants.
Page | 72
9. Page | 73
Gérer inscriptions :
Figure 48 : Interface gérer inscriptions.
10. Gérer compétences :
Figure 49 : Interface gérer les compétences.
Page | 74
Chapitre 4 : Phase de réalisation.
Introduction :
Cette phase est la dernière phase dans le cycle de
développement d'un logiciel avec la démarche UP-XP. Cette phase
est souvent appelée phase d'implémentation. Les tâches
effectuées pendant cette phase ne sont pas claires, et ils
dépendent fortement du type de déploiement du logiciel.
Pour mon projet, ce chapitre sera consacré pour la
présentation des langages et outils de programmation utilisés
pour la réalisation de mon application, puis je finirai par quelques
interfaces graphiques du logiciel fourni.
:
I. Environnement logiciel
Nous avons énuméré au cours de cette partie
les différents outils utilisés tout au long de ce projet pour
l'étude et la mise en place de notre application.
1. Eclipse :
Eclipse IDE est un environnement de développement
intégré libre (le terme Eclipse désigne également
le projet correspondant, lancé par IBM) extensible, universel et
polyvalent, permettant potentiellement de créer des projets de
développement mettant en oeuvre n'importe quel langage de programmation.
Eclipse IDE est principalement écrit en Java (à l'aide de la
bibliothèque graphique SWT, d'IBM), et ce langage, grâce à
des bibliothèques spécifiques, est également
utilisé pour écrire des extensions.
2. MySQL :
MySQL est un système de gestion de base de
données relationnelle. Une base de données relationnelle augmente
la vitesse et la flexibilité, en stockant des données dans des
tables séparées plutôt que de mettre toutes les
données dans un secteur. Ces tables sont liées par des relations
définies permettant de combiner des données de plusieurs tables
sur demande. Employer une SGBDR signifie qu'il
Page | 75
est possible d'ajouter, d'accéder, et de traiter les
données stockées dans votre base de données. SQL est
`Structured Query Language ` le language normalisé le plus commun pour
accéder à des bases de données.
3. Apache tomcat :
Apache Tomcat est un conteneur web libre de servlets et JSP Java
EE.
Issu du projet Jakarta, c'est un des nombreux projets de
l'Apache Software Foundation. Il implémente les spécifications
des servlets et des JSP du Java Community Process1, est paramétrable par
des fichiers XML et de propriétés, et inclut des outils pour la
configuration et la gestion. Il comporte également un serveur HTTP.
II. Technologies et langages utilisés :
1. Java EE (Java Enterprise Edition) [5]
Java Enterprise Edition, ou Java EE (anciennement J2EE), est
une spécification pour la technique Java de Oracle plus
particulièrement destinée aux applications d'entreprise. Ces
applications sont considérées dans une approche multi-niveaux1.
Dans ce but, toute implémentation de cette spécification contient
un ensemble d'extensions au Framework Java standard (JSE, Java Standard
Edition) afin de faciliter notamment la création d'applications
réparties.
2. HTML
HTML (Hyper Text Markup Language / langage hypertexte) est le
langage dans lequel sont écrites les pages du web. Un
site web est constitué d'un ou plusieurs documents HTML, appelées
aussi pages. Pour se déplacer d'une page à l'autre dans nos
modules on passe par l'intermédiaire d'hyperliens. Pour ajouter des
objets graphiques on utilise le HTML d'autre part pour tester des pages web
html en local, il suffit d'ouvrir le fichier dans
un navigateur. Le HTML n'est pas un langage de programmation
comme le C++. Les
langages dynamiques comme PHP et JavaScript vont d' ailleurs
générer des pages HTML statiques.
Page | 76
3. JavaScript [6]
JavaScript est un langage de programmation de scripts
principalement utilisé dans les pages web interactives. C'est un langage
orienté objets à prototype, c'est-à-dire que les bases du
langage et ses principales interfaces sont fournies par des objets qui ne sont
pas des instances de classes, mais qui sont chacun équipés de
constructeurs permettant de générer leurs
propriétés, et notamment une propriété de
prototypage qui permet d'en générer des objets héritiers
personnalisés.
Le langage a été créé en 1995 par
Brendan Eich pour le compte de Netscape Communications Corporation. Le langage
actuellement à la version 1.7 est une implémentation du standard
ECMA-262. La version 1.8 est en développement et intégrera des
éléments du langage Python. La version 2.0 du langage est
prévue pour intégrer la 4e version du standard ECMA.
3.
JQuery [7]
C'est une bibliothèque (sous licence GPL) de fonctions
JavaScript
permettant au programmeur de s'affranchir des tâches
"bas niveau" répétitives et qui fonctionnent sur les navigateurs
les plus courants. Son installation dans chaque page web doit être
effectuée en premier par la directive : <script
type="text/javascript" src="jQuery-1.4.1.js"></script>.
4. CSS
CSS (Cascading Style Sheets) comme par exemple la couleur du
fond de la page ou le type de police même document des
caractéristiques de mise forme associées à des groupes
d'éléments. Il suffit de définir par un nom un ensemble de
définitions et de caractéristiques de mise en forme, et elles
permettent notamment:
? D'obtenir une présentation homogène sur tout
un site en faisant appel sur toutes les pages à une même
définition de style.
? De permettre le changement de l'aspect d'un site complet
entier par la seule modification de quelques lignes
Page | 77
? Une plus grande lisibilité du HTML, car les styles sont
définis à part. Des chargements de pages plus rapides, pour les
même raison que précédemment.
6. Ajax
Ajax (Asynchronous JavaScript and XML) permet de construire
des applications Web et des sites web dynamiques interactifs sur le poste
client en se servant de différentes technologies ajoutées aux
navigateurs web.
Ajax combine JavaScript, les CSS, JSON, XML, le DOM et le
XMLHttpRequest afin d'améliorer maniabilité et confort
d'utilisation des applications internet riches.
1. Choix de la plateforme Java EE :
Pour le développement de l'application, nous avons
utilisé la plateforme Java EE (Java Edition Entreprise).
Parmi les avantages de la plateforme Java EE, on peut citer :
? Technologie sans frais : Java (sur le quel
est basé Java EE) est une technologie Open Source, les outils de
développement JEE sont disponibles gratuitement.
? Maintenabilité : Les applications
Java EE sont plus faciles à entretenir, dans la plupart des cas, ils
sont conçus en plusieurs couches. Il est facile d'ajouter de nouvelles
fonctionnalités tierces pour les applications Java EE en raison de sa
fonction d'évolutivité.
? Indépendance : Les applications
développées avec Java EE peuvent être
déployées sur la plupart des matériels disponibles. Elles
offrent une flexibilité de matériel à l'utilisateur final.
Ainsi, l'utilisateur peut déployer et exécuter des applications
Java EE sur le système d'exploitation et le matériel de son
choix.
2. Choix de développement
Pour le développement, nous avons appliqué le
modèle Model-View-Controller (MVC). Ce paradigme divise l'IHM (Interface
Homme Machine) en un modèle (M pour modèle de données) une
vue (V pour la présentation, l'interface utilisateur) et un
contrôleur (C pour la logique de contrôle, et la gestion des
événements / synchronisation), chacun ayant un rôle
précis dans l'interface.
Page | 78
L'organisation globale d'une interface graphique est souvent
délicate. L'architecture MVC ne résout pas tous les
problèmes. Elle fournit souvent une première approche qui peut
ensuite être adaptée. Elle offre aussi un cadre pour structurer
une application.
Ce patron d'architecture impose la séparation entre les
données, la présentation et les traitements, ce qui donne trois
parties fondamentales dans l'application finale : le modèle, la vue et
le contrôleur.
Figure 50 : Modèle MVC (Modèle - Vue -
Contrôleur). ? Le modèle :
Le modèle représente le comportement de
l'application : traitements des données, interactions avec la base de
données, etc. Il décrit ou contient les données
manipulées par l'application. Il assure la gestion de ces données
et garantit leur intégrité. Dans le cas typique d'une base de
données, c'est le modèle qui la contient. Le modèle offre
des méthodes pour mettre à jour ces données (insertion,
suppression, changement de valeur). Il offre aussi des méthodes pour
récupérer ces données. Les résultats
renvoyés par le modèle sont dénués de toute
présentation.
? La vue
La vue correspond à l'interface avec laquelle
l'utilisateur interagit. Sa première tâche est de présenter
les résultats renvoyés par le modèle. Sa seconde
tâche est de recevoir toutes les actions de l'utilisateur (clic de
souris, sélection d'une entrée, boutons, etc.). Ces
différents
Page | 79
événements sont envoyés au contrôleur.
La vue n'effectue aucun traitement, elle se contente d'afficher les
résultats des traitements effectués par le modèle et
d'interagir avec l'utilisateur. ? Le contrôleur
Le contrôleur prend en charge la gestion des
événements de synchronisation pour mettre à jour la vue ou
le modèle et les synchroniser. Il reçoit tous les
événements de l'utilisateur et enclenche les actions à
effectuer. Si une action nécessite un changement des données, le
contrôleur demande la modification des données au modèle,
et ce dernier notifie la vue que les données ont changée pour
qu'elle les mette à jour.
IV. Les interfaces de l'application :
1. Authentifier :
Cette interface permet au gérant d'accéder au leurs
profil pour la gestion.
Figure 51 : Page d'authentification.
2. Rechercher certification :
Cette interface permet au client de rechercher une certification
soit par son code, son
domaine, sa technologie ou bien un mot qui signifie la
certification.
Page | 80
Figure 52 : Page de recherche.
3. Consulter formations :
Cette interface permet au client de consulter les formations.
Figure 53 : Page consulter les formations.
Page | 81
4. Consulter certification :
Après la recherche l'interface qui va afficher est la page
de consultation de la certification.
Figure 54 : Page consulter certification.
5. Consulter les avis :
Cette page permet au gérant de consulter les avis et les
supprimer (si aucun avis trouvés un
message va afficher).
Figure 55 : Page consulter les avis.
Page | 82
6. Gérer les certifications :
Cette page permet au gérant de gérer les
certifications (ajouter, modifier, supprimer).
Figure 56 : Page gérer les certifications.
7. Gérer les formations :
Cette page permet au gérant de gérer les formations
(ajouter, modifier, supprimer).
Figure 57 : Page gérer les formations.
8. Inscrire :
Cette page permet au client d'inscrire à une
certification, formation ou bien pour proposer
une formation.
Page | 83
Figure 58 : Page d'inscription.
9. Gérer les formateurs :
Cette page permet au gérant de gérer les formateurs
(ajouter, modifier, supprimer).
Figure 59 : Page gérer les formateurs.
Page | 84
10. Gérer les compétences :
Cette page permet au gérant de gérer les
compétences (ajouter, modifier, supprimer), le
tableau montre après la sélection d'une
certification.
Figure 60 : Page gérer les compétences.
11. Gérer les gérants :
Cette page permet à l'administrateur de gérer les
gérants (ajouter, modifier, supprimer).
Figure 61 : Page gérer les gérants.
Page | 85
12. Gérer les inscriptions :
Cette page permet au gérant de valider les inscriptions
des clients.
Figure 62 : Page gérer les inscriptions.
13. Consulter les propositions :
Cette page permet au gérant de consulter les propositions
et les supprimer.
Figure 63 : Page Consulter les propositions.
Page | 86
Conclusion générale.
Dans le cadre de mon projet de fin d'étude, j'ai
conçu de développer une application de gestion des certifications
et formations pour la société Pluralis Consulting. Le
présent manuscrit détaille toutes les étapes par
lesquelles je suis passée pour arriver au résultat attendu. J'ai
essayé tout au long de mon travail de construire une application
concrète en utilisant la démarche UP-XP.
Ce projet m'a donné l'opportunité de s'initier
à la vie professionnelle dans un milieu réel et avoir un
début d'expérience significatif, et il m' a appris comment
réussir de bonnes relations pour assurer un travail de groupe, comment
compter sur soi pour résoudre les problèmes au cas où ils
se présentent, comment être méticuleuses dans notre
travail, comment être attentives aux indications de mes
supérieurs, comment être bien organisées pour accomplir
dans les meilleurs délais et meilleures conditions les tâches qui
m'ont été confié.
Au cours de la réalisation de mon projet, j'ai
été astreinte par quelques limites notamment, la contrainte du
temps qui était relativement un obstacle devant l'ajout de certaines
autres fonctionnalités. Cependant, il était une occasion pour
mettre en évidence et déployer sur le plan pratique mes
connaissances en informatique.
Le projet peut être amélioré, en lui
ajoutant quelques modules ou interfaces pour mieux l'adopter aux besoins de
l'utilisateur et pour qu'il soit toujours fiable et au niveau des
progrès atteint par la société.
Page | 87
Bibliographie et Webographie:
[1] 4
http://www.ganttproject.biz/download.php
[2] 4 « Guide de la Modélisation en
UML » [Taoufiq GADI, Omar EL BEGGAR, Brahim BOUSETTA, 2013].
[3] 4
http://www.clubic.com/lancer-le-telechargement-182596-0-poweramc.html
[4] 4
https://balsamiq.com/download/
[5] 4 « Les Cahiers du Programmeur JEE 5,
2éme édition » [Jérôme Molière
ÉDITIONS EYROLLES, 2007]
[6] 4 « JavaScript Des fondamentaux aux
concepts avancés » [Emmanuel GUTIERREZ EDITIONS ENI, 2008]
[7] 4
http://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec-jquery
|