Documente Academic
Documente Profesional
Documente Cultură
UML
G. Vieillechaize
uml modeles UML v6
_______________________________________________________
DFINITION D'UML
2.
LE DIAGRAMME DE DPLOIEMENT
12
3.
LE DIAGRAMME DE CONTEXTE
13
4.
14
5.
18
6.
DIAGRAMME DE CLASSES
19
7.
DIAGRAMMES DACTIVIT
28
8.
32
9.
41
10.
DIAGRAMME DE PACKAGES
46
11.
Rcapitulation
47
__________________________________________________________________________
Page UML 1
_______________________________________________________
Table dtaille
1.
DFINITION D'UML
1.1.
Qu'est-ce qu'UML
1.2.
1.3.
1.4.
1.5.
1.6.
Rfrences, outils
1.7.
1.8.
11
2.
LE DIAGRAMME DE DPLOIEMENT
12
3.
LE DIAGRAMME DE CONTEXTE
13
4.
14
5.
6.
4.1.
Concepts et construction
14
4.2.
Documentation
15
4.3.
Enrichissements possibles
16
4.4.
16
4.5.
Piges et conseils
17
18
5.1.
Concepts et construction
18
5.2.
18
DIAGRAMME DE CLASSES
6.1.
19
19
6.2.
L'bauche du diagramme de classes
6.2.1. Rgles et tapes de construction
6.2.1.1.
Premire dfinition des associations
20
20
21
6.3.
Piges et conseils
22
6.4.
23
6.5.
23
__________________________________________________________________________
Page UML 2
_______________________________________________________
7.
DIAGRAMMES DACTIVIT
28
28
7.2.
28
7.3.
29
7.4.
29
7.5.
30
31
31
31
32
32
8.2.
Diagrammes de squence (scnarios)
8.2.1. Premiers concepts et construction
8.2.2. Passage des messages aux oprations
8.2.2.1.
Enrichissement du diagrammes de classes
8.2.3. Naissance et disparition dun objet
8.2.4. Documentation des oprations
33
33
35
36
36
37
8.3.
38
Diagrammes de collaboration
8.4.
Piges et conseils
8.4.1. "bons" et "mauvais" scnarios
8.4.2. Comparaison de deux solutions plus globales
9.
27
7.1.
7.6.
Quelques prcisions
7.6.1. Activit ou tat?
7.6.2. Synchronisation
8.
24
24
24
25
25
27
39
39
40
41
9.1.
41
9.2.
42
9.3.
Quelques lments de modlisation complmentaires
9.3.1.
Sous-tats
9.3.2. Condition sur une transition
9.3.3. Transition sans changement d'tat
43
43
43
43
9.4.
44
9.5.
44
9.6.
Piges et conseils
45
__________________________________________________________________________
Page UML 3
_______________________________________________________
10.
DIAGRAMME DE PACKAGES
46
11.
Rcapitulation
47
__________________________________________________________________________
Page UML 4
_______________________________________________________
1.
Dfinition d'UML
1.1.
Qu'est-ce qu'UML
__________________________________________________________________________
Page UML 5
1.3.
_______________________________________________________
tu d e d e s b e s o in s
c o n c e p tio n d ta ill e
a n a ly s e m t ie r
__________________________________________________________________________
Page UML 6
1.4.
_______________________________________________________
L'objectif d'UML est d'aller jusqu' la gnration du code (MDA, vu plus haut) et de couvrir
tous les types de projets logiciels
UML propose 9 types de diagrammes
UML2 en propose 13
il y a plus de modles dans UML que ce qui est ncessaire dans la plupart des projets
l'objectif n'est pas d'utiliser tous les modles mais de choisir ceux qui sont utiles selon le type
de projet
1.5.
UML concerne seulement la modlisation, on l'a dj dit; mais UML ne contient pas tous les
modles qui peuvent tre utiles
par exemple
UML ne donne aucun outil pour modliser une Interface Homme-Machine (le dessin des
pages ou des crans de l'IHM, et surtout leur enchanement la cinmatique de l'IHM)
la reprsentation d'un document XML sous forme d'un arbre d'objets UML est bien
moins lisible que sous la forme propose par Altova (XMLSpy)
la reprsentation des donnes peut tre plus lisible en modle entits-associations (le
modle conceptuel de Merise) qu'en modle relationnel
la reprsentation d'un processus est plus riche dans les modlisations spcialises
(BPMN, BPSS) qu'en UML
UML n'interdit pas d'utiliser d'autres modles en complment.
1.6.
Rfrences, outils
Rational Rose
Poseidon
Power designer et AMC designer
Mega
Together
Argo UML
modles
__________________________________________________________________________
Page UML 7
_______________________________________________________
utilisateur
administrateur
enregistrer
configurer
Journal
AnnuairePrincipal
AnnuaireSecondaire
Classes
reprsente les types d'objets qui existeront dans le systme
Diagramme d'activits
__________________________________________________________________________
Page UML 8
_______________________________________________________
la n c e m e n t
s e rv e u r_ A :
S e r v e u r P r in c ip a l
[ a c tiv ]
o u v e rtu re
jo u r n a l _ A :
J o u rn a l
[ o u v e rt ]
__________________________________________________________________________
Page UML 9
_______________________________________________________
Etats-Transitions
dsactiv
Diagramme de dploiement
reprsente les machines (ou les types de machines)
sur lesquels le logiciel sera dploy
s e rv e u r
c lie n t
HTTPS
annuaire_A :
AnnuairePrincipal
annuaire1 :
AnnuaireSecondaire
annuaire2 :
AnnuaireSecondaire
reprsente des instances d'objets qui existent un moment donn dans le systme
retour sur les dfinitions:
"objet"
"classe"
"instance"
annuaire1
Annuaire
crer
__________________________________________________________________________
ajouter
Page UML 10
_______________________________________________________
__________________________________________________________________________
Page UML 11
_______________________________________________________
s e rv e u r_ A :
S e r v e u r P r in c ip a l
1 . o u v r ir
jo u r n a l _ A :
J o u rn a l
2 . a c tu a lis e r
s e rv e u r_ 1 :
S e rv e u r S e c o n d a ir e
combine la reprsentation des objets (instances), celle de leur relation, et la circulation des
appels de mthodes
Packages
package1
package2
__________________________________________________________________________
Page UML 12
1.8.
_______________________________________________________
A l'intrieur d'une phase de l'analyse (et aussi de la conception technique) on retrouve toujours
le mme enchanement entre les modles
d ia g r a m m e s
de
c la s s e s
C la s s e
C la s s e
ta ts t r a n s it io n s
cas
d 'u t i l i s a t i o n
C la s s e
cas
cas
C la s s e
d ia g r a m m e s d e s q u e n c e
ta t
d ia g r a m m e s d 'a c t iv it
ta t
ta t
Les cas dutilisation reprsentent le lien avec les tapes qui ont prcd l'analyse, un point de
dpart pour l'analyse
Le diagramme de classes reprsente l'autre point de dpart, et le point d'arrive
Les diagrammes d'activits et de squence reprsentent l'implmentation des cas d'utilisation
et l'utilisation des objets.
Les diagrammes d'tats reprsentent tous les tats possibles des objets d'une classe donne.
Les mmes modles se retrouveront en conception technique, avec toutefois une importance
relative diffrente.
les objets identifis en analyse se retrouvent (avec d'autres ajouts entre temps...) dans
l'implmentation.
__________________________________________________________________________
Page UML 13
2.
_______________________________________________________
Le diagramme de dploiement
units passives ("devices"): matriels qui n'hbergent pas le logiciel dvelopp dans le
projet (par exemple des routeurs, des multiplexeurs)
serveur
web
servlets
pages JSP
<<http>>
une configuration
bien connue
browser
java scri pt
__________________________________________________________________________
Page UML 14
3.
_______________________________________________________
Le diagramme de contexte
C'est une forme particulire des diagrammes de use cases ou des diagrammes de classes, qui
seront vus plus loin.
But: montrer en introduction au dossier d'analyse une vue trs globale du rle et de la place de
l'application
Contenu: on reprsente la future application comme une boite noire, et on reprsente les
principaux changes enter l'application et les utilisateurs (ou les autres applications)
Exemple
demande d'adh'sion
adhrent
cotisations reues
application
comptable
inscription
une activit
club
__________________________________________________________________________
Page UML 15
_______________________________________________________
4.
4.1.
Concepts et construction
dem ande
d 'a d h s i o n
c a rte
d 'a d h r e n t
a d h re n t
a c t i v it
s o u h a it e
a c c o rd o u
re fu s
e n r e g is t r e r u n e
a d h s io n
e n r e g is t r e r u n e
a d h s io n d e
g ro u p e
i n s c r ir e u n e
a c t iv it
a n im a t e u r d u
c lu b
p l a n if i e r u n e
a c t iv it
_______________________________________________________
=> le cas dutilisation figure lensemble des interactions qui peuvent survenir entre les acteurs
et le systme, partir de lvenement dclencheur
=> le systme est vu comme une boite noire
pour chaque cas dutilisation, il y a un ensemble dvnements qui peuvent survenir
entre les acteurs participants et le systme.
__________________________________________________________________________
Page UML 17
4.2.
_______________________________________________________
Documentation
Le diagramme de cas d'utilisation ne suffit pas; les cas doivent imprativement tre dcrits.
UML ne dfinit pas le mode de documentation des cas d'utilisation. Si la dmarche d'analyse
attache de l'importance aux use cases, le chef de projet doit dfinir le mode de documentation
choisi:
documentation peu formelle
une description informelle peut "raconter" en quelques phrases le droulement habituel du
use case (voir l'exemple donn par Rumbaugh dans son livre sur OMT)
fiche de cas
certains proposent d'tablir une fiche de cas
Cas n xxx
Libell du cas
Catgorie les cas peuvent Par ex.: retirer de l'argent dans un distributeur automatique
tre classs par familles
Acteur principal: celui qui initie la transaction; ici le porteur de la carte bancaire
Acteurs secondaires: ceux qui participent la ralisation du cas; ici, le systme central de
gestion des cartes voles
Description du cas
dcrire sous forme textuelle le droulement du cas (de quelques lignes une page ou plus)
1. introduire la carte
2. entrer le code d'identification
3.
4.
Rgles de gestion
quelles sont les rgles qui doivent tre appliques ce cas
par ex.: limiter le montant distribu
Prconditions
dans quel tat le systme doit-il se trouver au dbut du cas?
par ex., le distributeur a termin le traitement du client prcdent ou de l'opration prcdente
Postcondition
dans quel tat le systme doit-il se trouver la fin du cas?
par ex., le distributeur est prt traiter la demande suivante du client, ou le client suivant
Exceptions
quelles sont les erreurs qui peuvent tre dclenches?
par ex.: "transaction non autorise", "rserve de billets puise", etc.
Extensions et variantes
extensions (quels sont les cas qui tendent le cas dcrit ici?); par ex. retirer de l'argent en
choisissant la devise ou les coupures
variantes; droulements (normaux) possibles autres que celui dcrit; par ex.le distributeur
peut proposer plusieurs devises diffrentes
Complments, questions en suspens
commentaires, observations, questions en attente
enregistrer une adhsion
4.3.
Enrichissements possibles
<<include>>
__________________________________________________________________________
Page UML 18
enregistrer un paiement
_______________________________________________________
relation d'hritage
un cas driv hrite de la signification et du contenu ( les oprations ) de
son super-cas
planifier une activit
4.4.
__________________________________________________________________________
Page UML 19
4.5.
_______________________________________________________
Piges et conseils
__________________________________________________________________________
Page UML 20
_______________________________________________________
5.
5.1.
Concepts et construction
checs :
Activit
: Activit
judo
Instance
anonyme
Classe
anonyme
5.2.
toto :
Animateur
age : 27
diplme : ...
pratique
judo :
Activit
jjudo
udo :
Activivit
Acti
_______________________________________________________
__________________________________________________________________________
Page UML 22
6.
_______________________________________________________
Diagramme de classes
Le diagramme de classes est le: diagramme central de la modlisation objet; il est construit par
itrations pendant l'tape d'analyse
1. bauche du diagramme de classes
trouver les classes que l'on utilisera pour construire les diagrammes de squence
2. enrichissement partir des diagrammes de squence et des diagrammes d'tat
reporter les oprations et attributs dcouverts en construisant ces diagrammes
3. finalisation (multiplicits, hritage, etc.)
l' "bauche de diagramme de classes" est une notion de mthode dfinie par exemple dans
OMT (Rumbaugh), ou "UML en action" (Roques et Valle), mais pas dans le guide
d'utilidation d'UML
6.1.
Chaque classe est reprsente sous la forme dun rectangle divis en 3 compartiments. Le 1er
compartiment contient le nom de la classe, le second les attributs et le 3me les oprations
Adhrent
nom
prnom
numroAdhrent
ajouterActivit()
calculerCotisation()
_______________________________________________________
6.2.
adherent
numero
nom
emploie
encadre
pratique
Club
possde
propose
utilise
activite
nom : String
Adresse
Salle
numero : int
_______________________________________________________
Les contraintes lies aux outils ne sont pas prises en compte ce stade
la localisation physique des objets est ignore
les objets sont persistants autant que ncessaire
pas de contraintes lies au langage
Rgles de simplification pour l'tape d'analyse
on fait des hypothses simplificatrices concernant la manipulation des objets
les attributs sont "publics en lecture"
il est toujours possible d'accder un objet par la valeur de ses attributs
il est toujours possible de parcourir la liste des instances d'une classe, et de choisir
dans cette liste
toutes ces simplifications seront bien sr abandonnes lors de la conception technique
et des complments seront ajouts au modle:
visibilit des proprits (priv, public, ...)
mode d'implmentation des associations (pointeurs?...)
etc.
6.2.1.1.
Association:
Adhrent
mem b re
Club
__________________________________________________________________________
Page UML 25
_______________________________________________________
Animateur
encadre
planifie
Activit
vrifier au niveau des instances qu'il s'agit bien de deux associations diffrentes
Adherent
numroAdhrent +enfant
famille
+parent
pratique
Adhrent
Animateur
Activit
Associations ternaires:
(ou n-aire): relie plus de deux classes.
toujours vrifier si l'association ne peut pas tre dcompose.
Quelques exemples de ternaires
un vhicule appartient au titulaire de la carte grise
plusieurs conducteurs habituels peuvent tre dclars pour un vhicule
un vhicule est couvert par un contrat d'assurance, qui doit couvrir tous les conducteurs
habituels
les dveloppeurs sont affects aux projets en cours
les dveloppeurs utilisent les AGLs pour raliser les projets
__________________________________________________________________________
Page UML 26
6.3.
_______________________________________________________
Piges et conseils
possde
Adresse
ou
Adhrent
nom
adresse
Adhrent
nom
activit pratique
Ne pas confondre l'acteur et l'objet qui le reprsente: par ex. l'acteur "utilisateur" et l'image de
l'utilisateur dans le systme.
6.4.
__________________________________________________________________________
Page UML 27
6.5.
_______________________________________________________
en fin d'analyse
les attributs d'instance sont dfinis
les oprations sont dfinies et documentes
les associations sont dfinies, avec leurs attributs ventuels et les multiplicits
hritages dfinis
Question de prsentation:
on peut faire plusieurs diagrammes pour reprsenter plusieurs points de vue sur les classes:
- arbre d'hritage des classes
- associations entre classes
- arbre d'agrgation
- liste des classes avec le dtail de leurs proprits
- etc.
en fin de conception technique
on trouvera en plus
- des attributs et mthodes statiques
- des classes abstraites, des interfaces (java), des mthodes abstrtaites pures (C++)
- des classes techniques (classes d'accs au rseau, la base de donnes)
- etc.
6.5.1. Finalisation des attributs
Les types des attributs:
un type de base (numrique, caractre...)
un type dfini pour les besoins du modle
une liste, un tableau...
etc.
Dtail d'un attribut:
- son type
- sa valeur par dfaut
par exemple:
prix: dcimal = 100
Attribut driv: attribut calculable partir des autres attributs de l'objet.
Lagrgation
PC
__________________________________________________________________________
Page UML 28
clavier
_______________________________________________________
+compos
+composant
contient
Attributs dassociations
Les attributs de lien dcrivent
l'association:
date dbut
Animateur
1..*
anime
Activit
exemple: Les utilisateurs manipulent des fichiers; les droits sont dfinis pour un type
d'utilisateur et pour un type de fichier
Choix entre attributs de lien et attributs des objets lis:
Attention : selon que l'information dpend de l'un des objets (ce sera un attribut de l'objet), ou
que l'information dpend de l'association entre deux objets (ce sera un attribut de l'association)
la signification du modle est diffrente
si les droits sont un attribut du fichier
et s'ils sont un attribut de l'association fichier <-> utilisateur
6.5.2.3.
Multiplicits
__________________________________________________________________________
Page UML 29
_______________________________________________________
Multiplicit: dfinit combien d'instances de la classe peuvent tre connectes une seule
instance de la classe associe
=> la notation est place l'oppos de celle des cardinalits dans Merise.
Symboles utiliss par la mthode unifie:
Animateur
Animateur
Animateur
Animateur
0..1
anime
0..*
anime
1..*
anime
1..3
anime
1..2
Activit
Activit
Activit
Activit
__________________________________________________________________________
Page UML 30
_______________________________________________________
6.5.3. L'hritage
Dfinition: dpendance entre deux classes selon laquelle une classe (la sous-classe) possde
les mmes proprits qu'une autre (la super-classe), avec des particularits modifiant ou
compltant ces proprits.
Plusieurs niveaux d'hritage sont possibles.
ne pas oublier: la relation d'hritage transmet les associations, comme les attributs et
oprations
Exemple
un adhrent possde les attributs
Personne
nom
prnom
tatCivil
majEtatCivil()
Adhrent
numroAdhrent
participe
calculerCotisation()
ajouterActivit()
Enfant
tauxRduction
calculerCotisation()
Rappels:
la gnralisation/spcialisation est le mcanisme de conception par lequel on rattache une
sous-classe une super-classe.
__________________________________________________________________________
Page UML 31
Activit
nom
description
_______________________________________________________
6.6.
__________________________________________________________________________
Page UML 32
_______________________________________________________
7.
Diagrammes dactivit
7.1.
Rle:
un diagramme d'activit prsente le droulement logique et chronologique d'un processus
(informatique ou non)
Utilisation:
les diagrammes d'activit peuvent tre utiliss des tapes diverses de l'analyse
- pour modliser un processus administratif
- reprsentation de l'organisation administrative actuelle ou future et de l'impact du projet
sur l'organisation du travail des utilisateurs
- BPM (business process modeling), BPR (business process reengineering)
- pour dcrire le droulement d'un use case
reprsentation des tapes d'excution du use case et des diffrents enchanements
possibles
- dans la documentation d'une classe, pour expliciter l'algorithme d'une mthode complexe
Les diagrammes d'activit peuvent prendre des formes varies
- pour reprsenter un algorithme
- pour reprsenter le rle des diffrents acteurs dans le processus (diagramme d'activits
couloirs d'activits)
- pour reprsenter l'action du processus sur les objets
- pour reprsenter les activits parallles et les synchronisations
7.2.
- lactivit
et
est un traitement
est interruptible
le dbut
et la fin
la transition
est instantane (pas de dure)
est automatique (dclenche
par la fin de l'activit)
validation
du processus
- les conditions :
(appeles aussi gardes)
enregistrement
adhsion
enregistrement
adhsion
donnes
correctes?
avec le losange
[oui ]
validation
7.3.
enregistrement
adhsion
ou sans
[OK]
[non ]
[NOK]
rejet
Diagramme
d'activit
validation
rejet
_______________________________________________________
Important:
le diagramme d'activit est le seul modle dynamique qui
permette facilement de zoomer
il permet de donner une vue d'ensemble d'un processus (avec
des macro-activits) puis de dtailler chaque macro-activit
dans un sous-diagramme
Il est beaucoup plus difficile de donner une vue d'ensemble
dans les diagrammes d'tats ou de squences
7.4.
: accueil club
: compta club
tablir chque
vrifier
7.5.
_______________________________________________________
comme dans le diagramme d'objets, les rectangles reprsentent des objets ou instances (pas des
classes)
les objets peuvent tre des instances
des "candidats objets" dfinis dans
dbut de l'enregistrement
l'bauche du diagramme de classes
les flches continues reprsentent le
"flot de contrle" (la logique
d'enchanement des oprations)
les flches pointilles reprsentent
les "flots de donnes" (cration,
modification, lecture du contenu des
objets)
: Adhesion
[incomplte]
: Adhesion
[complte]
[ donnes
incompltes ]
: Tarif
complter
[ ok ]
montant selon catg
calculer la
cotisation
__________________________________________________________________________
Page UML 35
7.6.
_______________________________________________________
Quelques prcisions
[ donnes
incompltes ]
un
tat
attente infos
complmentaires
do/ relancer
expiration dlai
rception infos
manquantes
abandon
calculer la
cotisation
enregistrement
adhsion
choix mode
de paiement
calcul
cotisation
slection
activits
encaissement
cotisation
__________________________________________________________________________
Page UML 36
_______________________________________________________
8.
8.1.
Objectif des diagrammes dinteraction: montrer les changes de messages ou les appels de
mthodes entre les objets
Formes:
: Adherent
activit demande :
Activite
toto : adhrent
1: demande de participation
2: place disponible?
3: oui
4: demande accepte
1: demande de participation
:
Adherent
toto : adhrent
4: demande accepte
3: oui
activit demande
: Activite
2: place disponible?
_______________________________________________________
__________________________________________________________________________
Page UML 38
8.2.
_______________________________________________________
: Adherent
toto :
Un exemple (simplifi) :
un adhrent demande s'inscrire une activit
supplmentaire
activit
demande :
Activite
adhrent
1: demande de participation
2: place
disponible?
3: oui
accepte
__________________________________________________________________________
Page UML 39
_______________________________________________________
Structures de contrle
Les structure de contrle :
alternative: if... then... else... endif
rptititve: while... do... enddo
et toutes les structures quivalentes
Exemples de mthodes pour reprsenter des conditions ou des branchements:
(seulement si cest ncessaire la bonne comprhension du modle)
une alternative (condition)
exemple
l'adhrent veut s'inscrire une activitselon
qu'il y a de la place disponible ou non, la suite
est diffrente
: A d h e re n t
a c t iv it d e m a n d e :
A c t iv it e
to to : a d h re n t
1 : d e m a n d e d e p a r t ic ip a t io n
2 : p la c e d is p o n ib le ?
si
5 : d e m a n d e a c c e p t e
5: dem ande
4 : a j o u t e r p a r t ic ip a n t
re je t e
: A n im a t e u r
c o n v o c . r u n io n p t a n q u i s t e s
lo o p : p o u r c h a q u e p ta n q u is te
:A d h re n t
: A d h re n t
c o n v o c . r u n io n
c o n v o c a tio n
Valeurs retournes
on peut distinguer les questions (par ex. "demande de participation") par un trait continu
et les rponses (par ex. "demande accepte") par un trait pointill
Contraintes
Dans tous les modles, une contrainte se reprsente par un texte {entre accolades} ou [entre
crochets]
__________________________________________________________________________
Page UML 40
_______________________________________________________
Le nom et/ou la valeur du message en retour peuvent tre ajouts lvnement envoy.
Retour sur le polymorphisme
un vnement peut comporter diffrentes sries de paramtres :
par ex. une demande dadhsion
1. avec nom, adresse
2. avec nom, adresse, date de naissance, chque joint
3. etc.
__________________________________________________________________________
Page UML 41
8.2.2.1.
_______________________________________________________
=> permet des appels la mme mthode avec un nombre variable darguments.
Une classe avec l'affichage des
oprations et de leur signature
Adherent
numroAdhrent
calculerCotisation(dateEffet : Date) : int
ajouterActivit(nouvelleActivite : Activite) : boolean
ajouterActivit(nouvelleActivit : Activite, dateEffet : Date) : boolean
: Appel de
cotis.
adhrent
:
Paiement
imputer (Paiement )
supprimer ( )
__________________________________________________________________________
Page UML 42
_______________________________________________________
ou le pseudo-code de l'opration
ou un diagramme d'activits
toto :
Adhrent
adhrent
enregistrement paiement
:
Paiement
imputer (Paiement )
__________________________________________________________________________
Page UML 43
8.3.
_______________________________________________________
Diagrammes de collaboration
un
Adherent
adhrent
une
Activit
adhrent
un
Adherent
inscription
une
Activit
__________________________________________________________________________
Page UML 44
8.4.
_______________________________________________________
Piges et conseils
: Club
: Adherent
: Adherent
: adhrent
: adhrent
ou
1: demande d'adhsion
1: crer
2: recherche prochain
numro
3: crer
2: affecter numro
3: numro attribu
4: numro attribu
__________________________________________________________________________
Page UML 45
_______________________________________________________
un scnario centralisateur
un Appel
de cotisat.
un
Paiement
un
Adhrent
compte
Trsorerie
adhrent
paiement cotis. annuelle
enreg. paiement
cotis. rgle
enreg. encaissement
accus de rception
un scnario dcentralisateur
un
Paiement
un
Adhrent
un Appel
de cotisat.
compte
Trsorerie
adhrent
paiement cotis. annuelle
identification Adh.
cotis. rgle
enreg. crdit
accus de rception
__________________________________________________________________________
Page UML 46
_______________________________________________________
9.
9.1.
Dfinition: le modle dynamique reprsente les modifications des objets dans le temps
Un diagramme appartient une classe et une seule
dfinit les tats possibles pour les instances de la classe
le diagramme peut reprsenter aussi les interactions entre les objets de classes diffrentes.
Concepts utiliss
Etat: configuration d'un objet, conditionnant le type de rponse de l'objet un certain
vnement
Un tat
exemples
- demander la fermeture d'une fentre, selon que son contenu a t
modifi ou non
actif
rsiliation
rsili
- renouveler l'adhsion d'un membre du club l'chance annuelle, selon qu'il est membre actif
ou rsili
Une transition
la matrialisation d'un tat: la valeur d'un attribut, ou d'un ensemble d'attributs, la
prsence ou le contenu d'une association
Transition: passage d'un tat un autre
Evnement: modification intervenue dans l'environnement et que l'objet doit
prendre en compte
L'vnement dclenche la transition
Un vnement
dure:
un vnement est "instantan"
un tat est durable; en fait permanent jusqu' l'arrive d'un nouvel vnement.
demande
d'adhsion
actif
_______________________________________________________
rsili
clture
exercice
__________________________________________________________________________
Page UML 48
9.2.
_______________________________________________________
tats de
l'A dhrent
rsiliation
demande
d'adhsion
actif
rsili
radiation
complment
d'info
demande
incomplte
ractivation
en
instance
clture
exercice
demande de
suspension
suspend
u
abandon
noter:
les transitions sont orientes
(des flches, non de simples traits): ce n'est pas parce que la transition est possible dans un
sens qu'elle l'est dans l'autre
un diagramme d'tats reprsente tous les tats possibles des instances de la classe
toutes les instances ne passeront pas par tous les tats
__________________________________________________________________________
Page UML 49
9.3.
_______________________________________________________
9.3.1. Sous-tats
non
planifie
crer
planifier
planifie
ouvrir
ouverte
ouverte
suspendre
suspendue
suspendue
supprimer
faute[ troisime ]
sur la touche
__________________________________________________________________________
Page UML 50
9.4.
_______________________________________________________
9.5.
__________________________________________________________________________
Page UML 51
9.6.
_______________________________________________________
Piges et conseils
__________________________________________________________________________
Page UML 52
10.
_______________________________________________________
Diagramme de packages
Les packages servent regrouper les lments par famille quand le projet grossit
- regrouper les cas d'utilisation
par exemple les regrouper selon l'utilisateur principal concern, ou par domaine
- regrouper les classes par problme trait
voir l'usage des packages dans le JDK de java
Exemple
lo g is t iq u e
s to c k s
f o u r n is s e u r s
les packages dpendent d'autres packages (ils utilisent les lments dfinis dans d'autres
packages
ici stocks utilise fournisseurs
__________________________________________________________________________
Page UML 53
11.
_______________________________________________________
Rcapitulation
Etude pralable:
- dfinition du domaine (dfinition du primtre du projet)
- tude de faisabilit et/ou d'opportunit
on peut utiliser pour cette tape un diagramme de contexte pour dessiner le primtre du
projet
UML dans la conception technique gnrale
on prcise dans cette tape les choix techniques (langages, modes de stockage)
on dfinit l'implantation physique dans un diagramme de dploiement
on peut montrer le dcoupage en domaines par des diagrammes de packages (packages de
cas d'utilisations et/ou packages de classes)
lorsqu'on utilisera des standards (frameworks d'objets, modles de conception design
patterns-, conceptions gnriques du 2 tracks process) on pourra utiliser des diagrammes
(de classes, d'activit, de squence) pour prsenter ces standards; on rentre l dans
l'utilisation avance d'UML
__________________________________________________________________________
Page UML 54
_______________________________________________________
diagramme de
classes
premiers
diagramme de
squence
(scnarios)
premiers
diagramme d'tats
dcouverte des
interactions
diagramme de
classes
[ avec oprations et
attributs ]
autres diagramme
de squence
autres
diagramme d'tats
finalisation
de l'analyse
[ premire bauche ]
diagramme de
classes
[ finalis ]
__________________________________________________________________________
Page UML 55
_______________________________________________________
L'initialisation de l'analyse
Quand?
lorsque les objectifs sont clairs
- les besoins fonctionnels sont rpertoris
- le primtre du projet est dfini
et lorsque la phase d'tude de faisabilit / d'opportunit apparat termine:
le projet est ralisable (dans les enveloppes de temps et de budget) et rentable
Quoi?
donner une premire description des fonctionnalits prvues
et des objets qui y concourront
Comment?
en dfinissant les cas d'utilisation
ventuellement en dcrivant ces cas dans des diagrammes d'activits
en recherchant les classes mtier possibles (bauche du diagramme de classes)
Les itrations d'analyse
Quand?
lorsque la phase d'initialisation apparat termine:
- on ne dcouvre plus de nouveaux use cases
- les use cases sont compris et dcrits (textuellement, ou par des diagrammes d'activit, etc.)
Quoi?
dfinir la responsabilit et le contenu de chaque classe (oprations, attributs)
travers la ralisation de chaque use case sous la forme d'un scnario
Comment?
Dans une approche formalise (type mthode Unified Process)
- prendre un un tous les cas d'utilisation
pour chaque cas d'utilisation:
- dessiner un diagramme d'activit (si le cas est complexe, comporte des variantes, etc.)
et/ou des diagrammes de squences (un par enchanement possible)
- prendre une une toutes les classes
pour chaque classe qui semble possder plus de 2 tats:
- dfinir le diagramme d'tats
- vrifier que les oprations dfinies (probablement dans les diagrammes de squences)
implmentent bien toutes les transitions figurant sur le diagramme d'tats
__________________________________________________________________________
Page UML 56
_______________________________________________________
__________________________________________________________________________
Page UML 57
_______________________________________________________
- aval: les vnements mis par le modle destination dautres objets sont-ils repris dans le
modle dynamique des objets concerns?
Cohrence entre diagrammes de squence et diagrammes d'tats
Reprsentent deux vues de la vie des objets
doivent s'appuyer sur la mme logique, le mme enchanement
Les vnements des diagrammes d'tats doivent se retrouver dans les diagrammes de
squences
Les conditions poses
au droulement des
oprations dans les
diagrammes d'tats
doivent se retrouver
dans la documentation
des oprations
FenetrePrincipale
:Fentre
Principale
fermer ( )
:FentreFille
Fenetre fenetreFii l le
fermer ( )
fermer ( )
FenetreFille
OK / nonOK
fermer ( ) : booleen
exemple
modifie
non modifie
sauvegarder
entrer donnes
__________________________________________________________________________
Page UML 58