Académique Documents
Professionnel Documents
Culture Documents
Application de La Méthodologie 2TUP À La Gestion Des Enseignements
Application de La Méthodologie 2TUP À La Gestion Des Enseignements
Suivie des
enseignements du LMD
par application de la
mthode 2TUP
Projet de Fin dEtudes pour lobtention du Diplme
dIngnieur dEtat en Informatique
Option : informatique industrielle
Bassim
Je ddie ce mmoire
A ma chre mre pour son soutien tout au long de mes tudes
A mes surs et frres :
nadjia, mohamed, toufik, choumicha, chahrazed
ainsi qu mes belles surs et beaux frres : amine, hicham,
khalil, sihem, lela
sans oublier mes nices et mes neveux :
chahinez, wafaa, farah, walid, sarah, ryadh, marouane et
mouhcine
A tous mes amis et toute mes amies
et tous ceux qui mont encourag
Zaki
Page 2
Page 3
Remerciements
Page 4
R sum :
Nous proposons dans le cadre de ce projet de fin dtudes, dappliquer la mthode
2TUP au problme de la gestion des enseignements LMD luniversit de Tlemcen.
La gestion dun cycle de vie de logiciel requit un grand sens de la rigueur et de
ladaptation aux changements continuels imposs au monde de lentreprise.
Cest pour a que nous avons choisi daxer notre travail sur une mthode de
dveloppement qui est ne de travaux pousss vers la standardisation et la flexibilit, et ce
pour rpondre aux contraintes actuelles de gestion des dveloppements.
Le mmoire sera dcoup en 5 grands chapitres :
5. Conclusion gnrale
Page 5
Table des matires
INTRODUCTION................................................................................................................................................... 7
1. LE CONTEXTE DE TRAVAIL...................................................................................................................................7
2. OBJECTIFS.......................................................................................................................................................7
3. COMPARAISON ENTRES LES DIFFE RENTES APPROCHES............................................................................................8
4. PRE SENTATION DE LAPPLICATION A RE ALISER...................................................................................................9
LA MTHODE 2TUP............................................................................................................................................ 10
CONCEPTION DU LOGICIEL................................................................................................................................. 16
Page 6
BILAN DE LA MTHODE.................................................................................................................................... 100
BIBLIOGRAPHIE................................................................................................................................................ 104
Page 7
Introduction
1. LE CONTEXTE DE TRAVAIL
2. OBJECTIFS
Notre but est dappliquer une mthode rigoureuse de conduite dun projet rel. Le
projet en question concerne la gestion des enseignements.
Ce projet a pour objectif principal de proposer une solution un problme concret,
et ceci en partant dune dfinition des besoins. Nous esprons travers celui-ci,
dmontrer limportance de lapplication dune mthodologie de dveloppement, et
aussi permettre par la suite que ce produit puisse tre volutif et facilement
maintenable par des intervenants tiers.
Page 8
3. COMPARAISON ENTRES LES DIFFE RENTES APPROCHES
Mod lisation
Conduit d projt
Au dbut, le cycle en cascade (ex : le cycle en V) tait trs utilis. Mais on a
vite constat son incapacit sadapter aux diffrents changements.
Une mthode semi-itrative est apparut (RAD) pour pallier aux carences de
ce dernier.
Une mthode fortement axe sur litratif et le modle UML est alors
apparut, il sagit de UP (Unified Process). Cette mthode comme son nom
lindique, a t le fruit de travail de plusieurs personnes voulants unifier les
diffrentes mthodes objets existantes ce moment comme Booch, OMT et OOSE.
Page 9
4. PRE SENTATION DE LAPPLICATION A RE ALISER
De nos jours, une des tendances les plus en vue et qui concerne tout les secteurs
de dveloppement, est linformatisation.
Depuis lapparition de linformatique et son introduction dans le monde
conomique, les entreprises et entits publiques aspirent optimiser et rendre fiable
la gestion de leur structure interne.
Luniversit de Tlemcen possde quelques milliers dtudiants quil est difficile de
grer en continu. Avec la mise en place rcente du systme LMD, la situation sest
davantage complique et la tche de gestion est devenue plus complexe.
Le projet que nous proposons nous permettra de faciliter la gestion des enseignements,
travers la conception dun logiciel avec une mthode que nous allons prsenter.
Page 10
La m thod 2TUP
Notre choix sest port vers la mthode 2TUP, du fait de son approche nouvelle,
originale.
Notre projet est bas sur un processus de dveloppement bien dfini qui va de la
dtermination des besoins fonctionnels attendus du systme jusqu la conception et le
codage final.
Ce processus se base lui-mme sur le Processus Unifi (Unified Process) qui est
devenu un standard gnral runissant les meilleures pratiques de dveloppement.
Cette mthode ne se base aucunement sur un processus linaire mais bien, sur un
dveloppement itratif et incrmental.
Nous allons dabord dfinir les diffrents concepts qui vont tre utiliss dans ce
document.
Page 11
1. DE FINITION DUN PROCESSUS DE DE VELOPPEMENT
LOGICIEL
2. LE PROCESSUS UNIFIE
Le Processus Unifi (PU ou UP en anglais pour Unified Process) est une mthode
de dveloppement logiciel construite sur UML ; elle est itrative et incrmentale,
centre sur larchitecture, conduite par les cas dutilisation et pilote par les risques.
conduite par les cas dutilisation : elle est oriente utilisateur pour rpondre
aux besoins de celui-ci.
La gestion dun tel processus est organise daprs les 4 phases suivantes :
Page 12
3. Construction : sert livrer progressivement toutes les fonctions du
systme.
3. LE PROCESSUS 2TUP
Page 13
2 Track signifie littralement que le processus suit deux chemins. Il sagit des
chemins fonctionnels et darchitecture technique , qui correspondent aux deux
axes de changement imposs au systme dinformation.
Page 14
Figure : Le processus de dveloppement en Y
Page 15
UML unifie la fois les notations et les concepts orients objet.il ne sagit pas dune
simple notation, mais les concepts transmis par un diagramme ont une smantique
prcise et sont porteurs de sens au mme titre que les mots dun langage, cest pour a
quUML est prsent parfois comme une mthode alors quil ne lest absolument pas.
UML unifie galement les notations ncessaires aux diffrentes activits dun
processus de dveloppement et offre, par ce biais, le moyen dtablir le suivi des
dcisions prises, depuis la dfinition des besoins jusquau codage. (Roques, 2006)
Voici une prsentation rapide des diffrents diagrammes UML qui vont tre utiliss
tout au long du projet :
Le diagramme dtats : reprsente le cycle de vie dun objet. Il spcifie les tats
possibles dune classe et leur enchainement.
Ce diagramme est utilis lors des tapes danalyse et de conception.
Page 16
Concption du logicil
Ltude prliminaire (ou Pretude) est la toute premire tape du processus 2TUP.
Elle consiste effectuer un premier reprage des besoins fonctionnels et
oprationnels, en utilisant principalement le texte, ou diagrammes trs simples. Elle
prpare les activits plus formelles de capture des besoins fonctionnels et de capture
techniques.
Page 17
Organisation des dpartements :
_____________________________________________________________________
Progression :
_____________________________________________________________________
Page 18
La progression du premier au second semestre dune mme anne universitaire est de
droit pour tout tudiant inscrit dans le mme parcours.
Pour chaque dpartement et chaque anne dtudes, une promotion doit tre cre.
La promotion contient un certain nombre dtudiants encadrs par des enseignants.
Un tudiant ds son inscription luniversit, peut tre affect une promotion selon la
filire quil a choisie.
Page 19
Page 20
1.4. Idntification ds acturs
Nous allons maintenant numrer les acteurs susceptibles dinteragir avec le
systme, mais dabord nous donnons une dfinition de ce que cest un acteur.
Dfinition : un acteur reprsente l'abstraction d'un rle jou par des entits
externes (utilisateur, dispositif matriel ou autre systme) qui interagissent
directement avec le systme tudi.
Page 21
1.5. Idntification ds mssags
On va dtailler les diffrents messages changs entre le systme et lextrieur.
Page 22
1.6. Mod lisation du contxt
A partir ds informations obtnus lors ds dux pr c dnts taps, nous
allons mod lisr l contxt d notr application.
Ceci va nous permettre dans un premier temps, de dfinir le rle de chaque acteur
dans le systme :
Page 23
2. CAPTURE DES BESOINS FONCTIONNELS
ArgoUML 1: cest un outil gratuit crit avec Java, nous lavons utilis au dbut
puis nous lavons dlaiss pour sa lourdeur et son interface peu intuitive.
Bouml 2: srement loutil le plus lger sur le march, il est trs puissant et
agrable utiliser, et en plus il est gratuit.
1
Peut tre tlcharg ladresse suivante : http://argouml.tigris.org/
2
Peut tre tlcharg ladresse suivante : http://bouml.free.fr/
3
Le site de NetBeans : http://www.netbeans.org/
Page 24
Identification des cas dutilisation :
Lidentification des cas dutilisation une premire fois, nous donne un aperu des
fonctionnalits futures que doit implmenter le systme.
Cependant, il nous faut plusieurs itrations pour ainsi arriver constituer des cas
dutilisation complets. Dautres cas dutilisation vont apparatre au fur mesure de la
description de ceux l, et lavancement dans le recueil des besoins fonctionnels .
Pour constituer les cas dutilisation, il faut considrer l'intention fonctionnelle de
l'acteur par rapport au systme dans le cadre de l'mission ou de la rception de
chaque message. En regroupant les intentions fonctionnelles en units cohrentes, on
obtient les cas d'utilisations.
Page 25
Consulter les notes Etudiant Reoit : consulter son relev de notes.
Grer les emplois du temps Scolarit Emet : Crer/modifier les emplois du temps
Consulter les emplois du Etudiant, Enseignant Reoit : consulter les emplois du temps.
temps
Emet : Cration, modification, suppression
Grer les profils Administrateur de profils.
Remarque : Du fait quelle ne rentre pas dans le cadre de notre projet, la gestion des salles
a t dlibrment omise.
Page 26
Page 27
2.2. Dscription pr liminair ds cas dutilisations
Voici une description prliminaire des cas dutilisations numrs prcdemment :
Page 28
2.3. Dscription d taill ds cas dutilisations
Nous allons maintenant dtailler chaque cas dutilisation qui doit faire lobjet dune
dfinition a priori qui dcrit lintention de lacteur lorsquil utilise le systme et les
squences dactions principales quil est susceptible deffectuer. Ces dfinitions
servent fixer les ides et nont pas pour but de spcifier un fonctionnement complet
et irrversible.
Page 29
Organiser les DPARTEMENTS:
Sommaire DIDENTIFICATION:
______________________________________________________________
Rsum : crer un nouveau domaine, une nouvelle spcialit, une nouvelle option
Prconditions :
Le chef de dpartement est authentifi.
Scnario nominal :
Ce cas dutilisation commence lorsque le chef de dpartement demande au systme de
crer un nouveau domaine.
Page 30
Le chef de dpartement valide la cration.
Enchanements alternatifs :
Exceptions :
[Exception1 : DomaineExistant] : le domaine est marqu en anomalie tant que le code na pas t
chang.
[Exception2 : UEExistante] : lUE est marqu en anomalie tant que le code na pas t chang.
LUE ne peut plus tre valide.
[Exception3 : ModuleExistant] : le module est marqu en anomalie tant que le code na pas t
chang. Le module ne peut plus tre valid.
Page 31
[Exception5 : UEUtilisee] : un message est affich lcran avisant lutilisateur que lUE ne pas
tre supprime.
Sommaire DIDENTIFICATION:
______________________________________________________________
Prconditions :
1- Le chef de dpartement est authentifi.
2- Au moins un enseignant existe dans la base.
3- Au moins un domaine existe.
Scnario nominal :
Ce cas dutilisation commence lorsque le chef de dpartement demande au systme de
crer une nouvelle promotion.
Page 32
Le chef de dpartement slectionne tous les tudiants faisant partie de la promotion.
Si ltudiant appartient dj une promotion dclencher : [Exception2 :
EtudiantDejaAffecte]
Enchanement (f) : fixer les dates dexamens
Le chef de dpartement fixe les dates des examens. Il fixe les dates de dbut/fin, il cre les
groupes
Enchanement (g) : valider une promotion en construction
Le chef de dpartement valide la promotion si aucune exception nest leve.
Enchanements alternatifs :
Exceptions :
[Exception1 : NoUECree] : la promotion est marqu en anomalie tant quune UE na pas t
cre. La promotion ne peut plus tre valide.
Page 33
Suivre une PROMOTION:
Sommaire DIDENTIFICATION:
______________________________________________________________
Prconditions :
1- Le chef de dpartement est authentifi.
2- Au moins un enseignant existe dans la base.
3- Au moins un domaine existe.
4- Au moins une promotion existe.
Scnario nominal :
Ce cas dutilisation commence lorsque le chef de dpartement demande au systme de
commencer les tudes dans une promotion.
Page 34
Si tous les relevs de notes sont remplis terminer le semestre, sinon dclencher :
[Exception2 : SemestreIncomplet ]
Enchanement (d) : passer au prochain semestre
Si cest le premier semestre de lanne, le passage est automatique pour tous les
tudiants, sinon si cest le deuxime, alors une session de rattrapage est prvu pour les
tudiants qui nont pas tous les crdits requis. Les rsultats la suite des rattrapages vont
dterminer :
Les tudiants aptes passer au palier suprieur.
Les tudiants recals.
Si le dernier semestre est termin, remise des diplmes aux tudiants ayants russis.
Si une spcialisation se prsente, orienter les tudiants vers les spcialits choisies.
Enchanements alternatifs :
Enchanement (e) : Exclure un tudiant de la promotion
Le chef de dpartement peut exclure un tudiant de la promotion.
Exceptions :
[Exception1 : ModuleDejaAttribue] : un message derreur est affich lcran avisant
lutilisateur que le module est dj attribu.
[Exception2 : SemestreIncomplet]: un message derreur est affich sur lcran avisant
lutilisateur que des relevs de notes ne sont pas complets.
Diagramme DACTIVITS:
______________________________________________________________
Page 35
Diagramme dactivits reprsentant lenchainement des tapes dune promotion
Page 36
Etablir les emplois du TEMPS:
Sommaire DIDENTIFICATION:
______________________________________________________________
Prconditions :
1- Le chef de dpartement est authentifi.
2- Au moins une promotion a t cre.
Scnario nominal :
Ce cas dutilisation commence lorsque le chef de dpartement demande au systme
de crer un nouvel emploi du temps.
Page 37
Si lenseignant est dj pris pour cette plage alors dclencher : [Exception2 :
enseignantErreur]
Enchanement (c) : Valider un emploi du temps en construction
Enchanements alternatifs :
Exceptions :
[Exception1 : moduleErreur] : un message derreur reste affich sur lcran tant que le module
na pas t enlev de lemploi du temps.
[Exception2 : enseignantErreur] : un message derreur reste affich sur lcran tant que
lenseignant na pas t enlev de lemploi du temps.
Page 38
Diagramme dactivits
Sommaire DIDENTIFICATION:
______________________________________________________________
Prconditions :
Lutilisateur est authentifi.
Scnario nominal :
Page 39
Grer les fiches des tudiants :
Sommaire DIDENTIFICATION:
______________________________________________________________
Acteurs : Scolarit.
Prconditions :
La Scolarit est authentifie.
Scnario nominal :
Ce cas dutilisation commence lorsque le chef de dpartement/Scolarit demande
au systme de crer un nouveau/modifier un dossier tudiant.
Enchanements alternatifs :
Page 40
Enchanement (d) : Supprimer un dossier tudiant
Diagramme dactivits
Page 41
Maintenir les notes des TUDIANTS:
Sommaire DIDENTIFICATION:
______________________________________________________________
Prconditions :
Scnario nominal :
Ce cas dutilisation commence lorsque le responsable de la scolarit affiche le
relev de notes.
Enchanements alternatifs :
Page 42
Exceptions :
[Exception1 : FicheNotesDejaExistante] : un message derreur saffiche lcran avisant
lutilisateur que la fiche existe dj pour ce semestre.
Diagrammes dactivits:
______________________________________________________________
Diagramme dactivits
Remarque : cet algorithme, ne correspondant pas assez aux besoins du langage choisi et lIHM,
va tre sensiblement chang.
Page 43
Consulter les NOTES:
Sommaire DIDENTIFICATION:
______________________________________________________________
Acteurs : tudiant.
Prconditions :
Scnario nominal :
Il choisit un tudiant.
Page 44
Grer les PROFILS:
Sommaire DIDENTIFICATION:
______________________________________________________________
Acteurs : Administrateur.
Prconditions :
Aucunes.
Scnario nominal :
Page 45
2.4. Structuration ds cas dutilisations dans ds packags
Cette phase va permettre de structurer les cas dutilisations en groupes fortement
cohrents, ceci afin de prparer le terrain pour la prochaine phase qui est le
dcoupage en catgories .
Page 46
Grer les profils Administrateur Gestion des profils
Dfinition : une responsabilit est une sorte de contrat, ou dobligation, pour une
classe. Elle se place un niveau dabstraction plus lev que les attributs ou les
oprations. On formalise ensuite ces concepts mtier sous forme de classes et
dassociations rassembles dans un diagramme statique pour chaque cas
dutilisation. Ces diagrammes prliminaires sont appels diagramme des classes
participantes , nont pas pour objectif dtre complet. Ils servent uniquement
dmarrer la dcouverte des classes du modle danalyse.
Exemple :
Resp
onsabilits de la classe Domaine
Page 47
Page 48
Diagramme des classes participantes du cas dutilisation
Organiser les dpartements :
Les classes candidates sont tires de la description textuelle du cas
dutilisation et des diagrammes dynamiques reprsentant celui-ci :
Page 49
Diagramme des classes participantes du cas dutilisation
Etablir les promotions :
Les classes candidates sont tires de la description textuelle du cas
dutilisation et des diagrammes dynamiques reprsentant celui-ci :
Page 50
Diagramme des classes participantes du cas dutilisation
Suivre les promotions :
Les classes candidates sont tires de la description textuelle du cas
dutilisation et des diagrammes dynamiques reprsentant celui-ci :
Page 51
Diagramme des classes participantes du cas dutilisation
Etablir les emplois du temps :
Les classes candidates sont tires de la description textuelle du cas
dutilisation et des diagrammes dynamiques reprsentant celui-ci :
Page 52
Diagramme des classes participantes du cas dutilisation
Maintenir les notes tudiants :
Les classes candidates sont tires de la description textuelle du cas
dutilisation et des diagrammes dynamiques reprsentant celui-ci :
Page 53
3. ANALYSE
Pour passer lanalyse, il faut se baser sur les principes de lApproche Oriente
Objet, notamment celle de lencapsulation. cet effet, il faut passer dune
structuration fonctionnelle via les cas dutilisations, une structuration objet via
les classes et les catgories.
Page 54
Dcoupage en catgories
Classe Promotion :
Page 55
Associations de la classe Promotion
Page 56
Associations de la classe Fiche Notes
Page 57
Associations de la classe Emploi du temps
Page 58
3.3. Diagramm d packags danalys
Ce diagramme va reprsenter les diffrentes dpendances entre les packages
danalyse :
Remarque 2: cette phase peut tre utilise par un chef de projet pour constituer les
quipes. Chaque quipe pourra se concentrer sur le dveloppement dune seule
catgorie/package.
Page 59
3.4. D vloppmnt du mod l statiqu
Le dveloppement du modle statique constitue la deuxime tape danalyse.
Les diagrammes de classes tablis sommairement dans les diagrammes de classes
participantes, puis rorganiss lors du dcoupage en catgories, vont tre, complts,
et optimiss.
Diagramme de classe
Page 60
Page 61
Cat gori Promotions :
Voici le diagramme de classe de la catgorie Promotion et aussi Etudiants.
Page 62
Et voici les oprations/attributs de la classe Promotion.
Page 63
Et voici les oprations/attributs de la classe Semestre.
Page 64
Cat gori Relev de notes :
Voici le diagramme de classe de la catgorie Relev de notes.
Page 65
Classes ReleveNotes et Note (attributs/oprations)
Diagramme de classe
Page 66
Et voici les oprations/attributs de la classe Enseignant.
Page 67
Associations de la catgorie Emploi du temps
Idntification ds sc narios :
Un cas dutilisation dcrit un ensemble de scnarios. Un scnario dcrit une
excution particulire dun cas dutilisation du dbut la fin.il correspond une
slection denchainements du cas dutilisation.
Nominaux : ils ralisent les post conditions du cas dutilisation, dune faon
naturelle et frquente ;
Page 68
Alternatifs : ils remplissent les post conditions du cas dutilisation, mais en
empruntant des voies dtournes ou rares ;
Aux limites : ils ralisent les post conditions du cas dutilisation, mais
modifient le systme de telle sorte que la prochaine excution du cas
dutilisation provoquera une erreur ;
Il faut signaler que tous les scnarios possibles ne peuvent tre numrs et dcrits
du fait quils en existent beaucoup. Cest pour cette raison que nous allons faire une
description des scnarios les plus pertinents.
Scnarios alternatifs :
OL_A1 : modifier un domaine par ajout dune spcialit.
OL_A2 : modifier un domaine par ajout dune option.
OL_A3 : modifier un domaine par cration dUE et modules.
OL_A4 : modifier un domaine par suppression dune UE.
Page 69
Scnarios dexception :
OL_E1 : non validation de la cration de domaine pour cause de nom existant
dj.
OL_E2 : non validation de la modification du domaine par suppression dune UE
pour cause dexistence dune promotion utilisant lUE.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Page 70
Diagramme de squences du scnario crer un nouveau domaine
Il slectionne le tronc commun / une spcialit qui na pas encore des UE.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Page 71
Diagramme de squences du scnario crer une UE
Page 72
SCNARIOS DE Etablir les promotions :
Parmi tous les scnarios possibles pour le cas dutilisation Etablir les
promotions (EP) nous avons choisi les suivants :
Scnarios alternatifs :
EP _A1 : modifier une promotion par ajout dun enseignant.
EP _A2 : modifier une promotion par attribution dun module un enseignant non
encore attribu.
EP _A3 : modifier une promotion par libration dun enseignant charg dun
module.
EP _A4 : modifier une promotion par ajout dun tudiant.
EP _A5 : modifier une promotion par enlvement dun tudiant.
Scnarios dexception :
EP _E1 :
EP _E2 :
Page 73
o Un multi-objet reprsentant les Modules de la spcialit ou du
tronc_commun cre cours du scnario.
o Un multi-objet reprsentant lensemble des instances de Enseignant qui
vont tre affects la nouvelle promotion.
o Un multi-objet reprsentant lensemble des instances de Etudiant qui vont
tre rattachs la nouvelle promotion.
Page 74
Diagramme de squences du scnario crer une nouvelle promotion
Page 75
Il slectionne une promotion.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Diagramme de squence du scnario modifier une promotion par ajout dun enseignant
EP _A2 : modifier une promotion par attribution dun module un enseignant non
encore attribu.
Il slectionne un module.
Page 76
Il attribue le module un enseignant.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Diagramme de squence du scnario modifier une promotion par attribution dun module un enseignant non
encore attribu
EP _A3 : modifier une promotion par libration dun enseignant charg dun
module.
Page 77
Il slectionne une promotion.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Diagramme de squence du scnario modifier une promotion par libration dun enseignant charg dun
module
Page 78
Le chef de dpartement donne un nom/mot de passe didentification.
Il slectionne un tudiant.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Page 79
SCNARIOS DE Etablir les emplois du temps :
Il choisit la promotion.
Il choisit le semestre.
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
Page 80
Diagramme de squence du scnario crer un nouvel emploi du temps
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
o Un acteur Scolarit.
Page 81
o Un tudiant cre au cours du scnario.
Parmi tous les scnarios possibles pour le cas dutilisation Etablir les
promotions (MN) nous avons choisi les suivants :
Scnarios alternatifs :
MN _A1 : modifier une note pour un tudiant.
MN _A2 : modifier une promotion par attribution dun module un enseignant
non encore attribu.
MN _A3 : modifier une promotion par libration dun enseignant charg dun
module.
Scnarios dexception :
MN _E1 :
MN _E2 :
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
o Un acteur Scolarit.
o Un tudiant cre au cours du scnario.
o Une Promotion cre au cours du scnario.
o Une Fiche notes.
Page 82
Diagramme de squence du scnario crer une fiche de notes
Pour chaque module, elle affecte une note (examen, TD, TP, Devoir).
Pour dcrire ce scnario, nous allons faire intervenir les instances suivantes :
o Un acteur Scolarit.
o Un tudiant cre au cours du scnario.
o Un objet Promotion cre au cours du scnario.
o Un objet Note.
Page 83
Diagramme de squence du scnario affecter les notes pour un tudiant
Page 84
Construction des diagrammes dtats :
On recourt au concept de machine tats finis, qui consiste sintresser au
cycle de vie dun objet gnrique dune classe particulire au fil de ses interactions
avec les autres classes, dans tous les cas possibles. Cette vue locale dun objet,
dcrivant comment il ragit des vnements en fonction de son tat courant et passe
dans un nouvel tat, est reprsente graphiquement sous forme dun diagramme
dtats.
Dfinition : un tat reprsente une situation durant la vie dun objet pendant laquelle :
Un objet passe par une succession dtats durant son existence. Un tat a une dure
finie, variable selon la vie de lobjet, en particulier en fonction des vnements qui lui
arrivent.
Page 85
Diagramme dtats de la classe Promotion
Rattach : cet tat reprsente un tudiant qui est attach une promotion.
En cours dtudes : cet tat reprsente un tudiant qui est entrain dtudier.
En cours de passage : cet tat survient aprs quun tudiant ait russi le
passage au niveau suprieur. Au cours de cet tat, ltudiant fait le choix de
la prochaine branche.
Recal : cet tat survient aprs quun tudiant ait chou le passage au
niveau suprieur.
Page 86
Etudes termines : cet tat survient aprs quun tudiant ait termin ses
tudes suprieures.
Page 87
4. CONCEPTION
La conception dtaille qui vient juste aprs est une activit qui sinscrit dans
lorganisation dfinie par la conception prliminaire. Le modle logique y est
particulirement important dans la mesure o cest dans cette tape quon gnre le
plus grand nombre dinformations. Il est ainsi possible de confier les catgories des
personnes diffrentes, qui pourront travailler indpendamment les unes des autres.
Les concepteurs dans cette phase construisent les classes, les vue dIHM, les
interfaces, les tables et les mthodes qui vont donner une image prte coder de la
solution.
Architecture 3-Tiers :
Pour avoir une architecture robuste, modulable et volutive, il nous faut
utiliser le principe de couche .
Nous allons donc sparer au maximum les diffrents types de traitement de
lapplication (Dao, Mtier, Prsentation).
Page 88
Architecture 3-Tiers
Page 89
Les Designs Patterns proviennent du travail de nombreux dveloppeurs qui se sont
tour tour penchs sur les mmes problmes. En mettant en corrlation ces travaux on
a pu dsigner les meilleures solutions dcouvertes sous le terme de motifs de
conception. La connaissance de ces motifs permet au programmeur de trouver
rapidement des implmentations pour ses programmes. La principale difficult rside
dans l'identification du problme et dans sa mise en relation avec des motifs connus.
Pour nous, les Design Pattern nous ont aid trouver une solution lgante un
problme conceptuel. En fait, ils vont nous aider coder les diffrents concepts qui se
dgagent dans la phase de conception.
Donc on peut dire que les Design Pattern interviennent aussi dans la phase de
codage.
Remarque : les diagrammes qui vont suivre ont t cre avec loutil UML de
NetBeans 5.5
Page 90
La Classe Promotion :
Page 91
La classe Promotion dlgue la gestion de ses tats linterface EtatPromotion et
ses diffrentes implmentations (EtatEnCreation, EtatValide, EtatEnCours,
EtatTerminee)
Page 92
La classe Promotion et ses diffrents tats
La Classe Etudiant :
Page 93
Design Pattern Etat de la classe Etudiant
Page 94
La classe Etudiant dlgue la gestion de ses tats linterface EtatEtudiant
Page 95
Le Design Pattern Faade :
Dfinition : Le patron de conception Faade a pour but de cacher une
conception et une interface complexe difficile comprendre. La faade permet de
simplifier cette complexit en fournissant une interface simple du sous-systme.
Habituellement, la faade est ralise en rduisant les fonctionnalits de ce dernier
mais en fournissant toutes les fonctions ncessaires la plupart des utilisateurs.
Page 96
La couche Mtier accs la BDD grce au Pattern DAO
Ce Design Pattern est intgr Java au travers des classes Observable et Observer
du package Java.util. (Florian GRISONI)
Page 97
Le Design Pattern MVC :
Page 98
Page 99
5. CODAGE
Le choix du langage sest port vers Java, qui tant Orient Objet la base, nous
facilitera la transformation de notre modle objet vers le code.
Notre choix sest port vers lEDI NetBeans, qui nous fournit le confort et la
simplicit ncessaires un dveloppement propre et rapide.
Nous bnficierons dans ce cas dun gain de temps non ngligeable, du fait
quil peut gnrer aussi les diffrents packages avec leurs classes respectives.
Page 100
Structure gnrale de lapplication :
Lapplication est dcoupe en 3 couches distinctes, Prsentation, Mtier et
DAO.
La couche Prsentation est charge de tout ce qui est affichage.
La couche Mtier est la logique mtier de lapplication, elle est le cur
et cest elle qui dfinit toutes les rgles rgissantes au fonctionnement de
lapplication.
La couche DAO est lintermdiaire entre les autres couches et la Base de
donnes.
Page 101
La couche Mtier :
Voici quelques figures reprsentants un chantillon du code source de cette
couche :
Page 102
La classe Domaine ( gauche les Attributs et les Mthodes)
Page 103
La classe Etudiant ( gauche les Attributs et les Mthodes)
Page 104
La couche Prsentation :
Voici quelques figures reprsentants linterface du logiciel :
La fentre principale
Page 105
Fiche de cration dun nouvel tudiant
Page 106
Fiche de cration dune nouvelle promotion
Page 107
Fiche de consultation dune promotion
Page 108
Fiche de relev de notes
Page 109
Le stockage de donnes :
La technique choisie pour persister les donnes est : la srialisation.
Une technique plus aboutie aurait t un meilleur choix comme : le mapping
Objet/Relationnel avec un outil comme Hibernate. Cependant, lapprentissage de
cet outil demande un temps supplmentaire.
Mais la solution de la srialisation rponds largement nos besoins pour ce projet,
cest pour a que nous avons jug pertinent de la garder.
Page 110
Bilan d la m thod
Du fait de notre manque dexprience dans le domaine et, du cadre limit (humain
et matriel) dans lequel nous avons men notre projet, on ne va pas tirer de conclusion
dfinitive sur la mthode.
Mais en ce qui concerne la prise en compte dune volution possible de
lapplication, on va alors donner un cas concret de ce que pourrait tre un ajout dun
nouveau besoin fonctionnel.
Nous allons donc montrer comment on pourrait ajouter cette fonctionnalit notre
projet de faon concrte.
Idntification du bsoin :
On suppose que la gestion de salles se trouve finalement, tre un besoin rel
pour les utilisateurs de notre application.
Nous allons dabord identifier les acteurs du systme devant interagir avec le
systme travers cette nouvelle fonctionnalit :
Page 111
Cas dutilisation Grer les salles
On peut la suite de cration dune promotion, lui affecter une salle. De ce fait, le
cas dutilisation grer les salles pourra tendre le cas dutilisation tablir les
promotions .
La gestion des salles pourra aussi tre comprise comme une spcification de
chaque dpartement. Ce qui nous amne lintroduire au package Gestion des
dpartements .
Dautres enchainements
Page 112
A la suite de cette description dtaille, nous pouvons en dduire dj deux
classes : Bloc, Salle.
Nous pouvons cependant dire que ce nouveau besoin fonctionnel, se traduira par
un ajout de ces deux classes au package Etudes. Et il devrait y avoir un lien entre la
classe Salle et Promotion. Dans le code, a se traduira par lajout dun attribut de Type
Salle.
Ceci ne devrait pas affecter le codage en gnral, du fait que les responsabilits des
diffrentes classes et packages ont t bien spares.
Conclusion
Nous pouvons constater que lajout de nouvelles fonctionnalits peut tre simplifi,
pour peu quon respecte bien les tapes dfinies par 2TUP. a demande de faire une
itration complte ou partielle selon le besoin, du cycle Y, et ne pas succomber la
tentation de toucher rapidement au code.
Page 113
Conclusion g n ral
Nous avons tent travers ce projet de dmontrer limportance de lapplication dune
mthode de dveloppement.
Nous pensons aussi que 2TUP pourra tre utilise dans des projets de moyenne
grande envergure.
A titre personnel, le bnfice quon en a tir est lapprentissage de concepts la pointe
de la technologie et des tendances actuelles dans le monde professionnel. Une
recherche profonde a t indispensable pour essayer de comprendre ces concepts l.
Nous pouvons citer ce propos, un excellent livre traitant ce sujet qui sappelle : UML
2 En Action.
Ce projet nous a permis denrichir nos connaissances dans des domaines trs varis
comme : LOrient Objet, UML, 2TUP, le langage JAVA, les Design Patterns, Swing
En termes dvolution, lapplication pourra par la suite tre adapte une utilisation
luniversit. Par exemple, une base de donnes pourra tre utilise soit par le biais dun
pont JDBC, ou par le biais dune solution de Mapping Objet/ Relationnel comme
Hibernate. Aussi, un dploiement sur un rseau pourra tre fait grce au framework
J2EE.
Page 114
Bibliographi
Chromatic. (2005). Extreme programming. O'Reilly.
Rocques, P., & Valle, F. (2004). UML 2 En Action (De l'analyse des besoins la conception J2EE). Eyrolles.
Page 115
Annx :
Notion de classe
Tout dabord, introduisons la notion de classe. Une classe est un type de
donnes abstrait, caractris.
Par des proprits (attributs et mthodes) communes toute une famille dobjets et
permettant de crer (instancier) des objets possdant ces proprits. Les autres
concepts importants quil nous faut maintenant introduire sont lencapsulation,
lhritage et lagrgation.
Encapsulation
Lencapsulation consiste masquer les dtails dimplmentation dun objet,
en dfinissant une interface. Linterface est la vue externe dun objet, elle dfinit
les services accessibles (offerts) aux utilisateurs de lobjet.
Page 116
Ainsi, la spcialisation et la gnralisation permettent de construire des hirarchies
de classes. Lhritage peut tre simple ou multiple. Lhritage vite la duplication
et encourage la rutilisation.
LAgrgation
Il sagit dune relation entre deux classes, spcifiant que les objets dune
classe sont des composants de lautre classe. Une relation dagrgation permet
donc de dfinir des objets composs dautres objets.
Lagrgation permet donc dassembler des objets de base, afin de construire des
objets plus complexes. (Meyer, 2000)
UML
Introduction
La description de la programmation par objets a fait ressortir ltendue du
travail conceptuel ncessaire: dfinition des classes, de leurs relations, des attributs
et mthodes, des interfaces etc.
Page 117
Lapproche objet permet en principe la matrise douvrage des exprimer de
faon prcise selon un vocabulaire qui, tout en transcrivant les besoins du mtier,
pourra tre immdiatement compris par les informaticiens. En principe seulement,
car la modlisation demande aux matrises douvrage une comptence, un
professionnalisme qui ne sont pas aujourdhui rpandus.
UML en uvre
UML nest pas une mthode (i.e. une description normative des tapes de la
modlisation): ses auteurs ont en effet estim quil ntait pas opportun de dfinir
une mthode en raison de la diversit des cas particuliers. Ils ont prfr se borner
dfinir un langage graphique qui permet de reprsenter, de communiquer les
divers aspects dun systme dinformation (aux graphiques sont bien sr associs
des textes qui expliquent leur contenu). UML est donc un mta-langage car il
fournit les lments permettant de construire le modle qui, lui, sera le langage du
projet.
Page 118
diagramme de cas dutilisation (Use case diagram)
diagramme dactivits (Activity diagram)
diagramme dtats-transitions (State machine diagram)
diagrammes dinteraction(Interactiondiagram)
diagramme de squence (Sequence diagram)
diagramme de communication (Communication diagram)
diagramme global dinteraction (Interaction overview diagram)
diagramme de temps (Timing diagram)
Ces diagrammes, dune utilit variable selon les cas, ne sont pas
ncessairement tous produits loccasion dune modlisation. Les plus utiles pour
la matrise douvrage sont les diagrammes dactivits, de cas dutilisation, de
classes, dobjets, de squence et dtats-transitions. Les diagrammes de
composants, de dploiement et de communication sont surtout utiles pour la
matrise duvre qui ils permettent de formaliser les contraintes de la ralisation
et la solution technique.
LE LANGAGE JAVA
Page 119
Le systme Java est bas sur le langage Java, la machine virtuelle java, et
l'API JAVA (ces deux derniers composants forment l'environnement d'excution, ou
JRE, pour Java Runtime Environment).
Les noms d'architectures MVC et 3-Tiers sont trs couramment utiliss dans
les cours de gnie logiciel. Il est facile de s'emmler les pinceaux car ces deux
pratiques sont la fois diffrentes et similaires.
L'architecture MVC
Model View Controller (Modle Vue Contrleur) est souvent dcrit comme
un simple design pattern (motif de conception) mais c'est plus un architectural
pattern (motif d'architecture) qui donne le ton la forme gnrale d'une solution
logiciel plutt qu' une partie restreinte.
1. Model : Le modle dfini les donnes de l'application et les mthodes d'accs. Tout les
traitements sont effectus dans cette couche.
2. View : La vue prend les informations en provenance du modle et les prsente
l'utilisateur.
L'architecture 3-Tiers
Page 120
La diffrence fondamentale se trouve dans le fait que l'architecture 3-Tiers
spare la couche Buisness logic (couche mtier) de la couche Data access (accs
aux donnes).
Pour qu'une application MVC soit une vraie application 3-Tiers il faut lui
ajouter une couche d'abstraction d'accs aux donnes de type DAO (Data Access
Object).
Inversement pour qu'une application 3-Tiers respecte MVC il faut lui ajouter
une couche de contrle entre User interface et Buisness logic.
Page 121