Master MIDO 1 re ann e
Mise Niveau UML
Maude Manouvrier
Vocabulaire, m thodologie et th mes de lorient objet
Mod le de classes
Mod le d tats
Mod le dinteractions
http://www.lamsade.dauphine.fr/~manouvri/UML/CoursUML_MM.html
Bibliographie
Ouvrages/Documents utilis s pour pr parer ce cours :
Mod lisation et conception orient es objet avec UML2 de Michael
Blaha et James Rumbaugh, 2 me dition, Pearson Education France,
2005 Traduction de louvrage Applying Object-Oriented Modeling
and Design with UML, Prentice Hall 2005 - Relecteurs techniques de
la traduction fran aise : Maude Manouvrier et Michel Zamfiroiu
The Unified Modeling Language Reference Manual, 2nd Edition de
James Rumbaugh, Ivar Jacobson et Grady Booch, Addison Wesley
Professional, 2004 Traduction fran aise : UML 2.0, Guide de
R f rence, CampusPress
Le guide de lutilisateur UML de Grady Booch, James Rumbaugh et
Ivar Jacobson, Eyrolles, 2000 Traduction de louvrage The Unified
Modeling Language User Guide; Addison-Wesley, 1998
Transparents de cours de Robert Ogor :
http://grimaag.univ-ag.fr/~mperouma/telechargements/CoursENSTBr.pdf
Transparents de cours de Marie-Jos Blin
Maude Manouvrier - Univ. Paris Dauphine
2
1
Bibliographie
Livres contenant des exercices corrig s :
UML 2 par la pratique : tudes de cas et exercices
corrig s de Pascal Roques, Eyrolles, 2011
UML 2 de Beno t Charroux, Aomar Osmani, et
Yann Thierry-Mieg, coll. Synthex, Pearson
Education, 3e dition, 2010
Cours en ligne :
https://www.lri.fr/~longuet/Enseignements/13-14/Et3-UML/
Maude Manouvrier - Univ. Paris Dauphine
3
Historique
OOSE
de Ivar Jacobson
Notation
de Grady Booch
OMT
(Object Modeling
Technique - 1991)
de James Rumbaugh
UML - Unified Modeling Language
Standard de mod lisation objet
adopt en 1997 par lObject Management Group (OMG)
R vision des sp cifications initiales en 2001 UML 1
Approbation de la version UML 2.0 en 2004
Maude Manouvrier - Univ. Paris Dauphine
4
2
Vocabulaire orient objet (1/3)
Orient objet : organisation dun logiciel sous la forme dune
collection dobjets ind pendants incorporant structure de donn es
et comportement
Objet
" Entit discr te et distinguable, concr te ou abstraite
Ex. Ce transparent; lenseignant M. Manouvrier; la strat gie
p dagogique de cette mise niveau
" Identit intrins que - Identifiant unique
Deux objets sont distincts, m mes sils ont des valeurs
dattributs identiques
Maude Manouvrier - Univ. Paris Dauphine
5
Vocabulaire orient objet (2/3)
Classification : regroupement des objets ayant m me
structure de donn es (attributs) et m me comportement
(op rations)
Ex. TransparentDeCours; Enseignant
Classe : abstraction d crivant un ensemble dobjets
potentiellement infini
Objets Bulles et L gendes
Abstraction
Maude Manouvrier - Univ. Paris Dauphine
Classe BulleEtL gende
Attributs
forme
couleurDeTrait
couleurDeRemplissage
Op rations
dessiner
effacer
d placer
modifierTaille
6
3
Vocabulaire orient objet (3/3)
Instance dune classe : objet appartenant la classe
H ritage : partage de propri t s entre classes sur la base dune
relation hi rarchique
" Super-classe (classe m re)
" Sous-classe (classe fille) : sp cialisation de la super-classe
H ritage des propri t s de la super-classe
Polymorphisme : possibilit de comportements diff rents dune
m me op ration dans diff rentes classes
" Op ration : action ex cut e par un objet ou transformation
subie par un objet
" M thode : impl mentation dune op ration par une classe
Plusieurs m thodes pour une m me op ration
Une m thode par classe pour une op ration donn e
Maude Manouvrier - Univ. Paris Dauphine
M thodologie orient e objet
Sp cification initiale : collaboration entre les analystes m tier et les
utilisateurs pour la gen se de lapplication
Analyse
" tude et re-formulation des besoins : collaboration avec le client pour
comprendre le probl me
" Mod le danalyse : abstraction concise et pr cise de lobjectif du
syst me d velopper (pas de la fa on de le construire)
- Mod le de domaine : description des objets du monde r el
manipul s par le syst me
- Mod le de lapplication : parties du syst me visibles par
lutilisateur
Conception : strat gie de haut niveau (architecture du syst me) pour
r soudre le probl me pos
" tablissement des strat gies de conception g n rales
" Allocations pr visionnelles des ressources
Conception des classes : concentration sur les structures de donn es et
algorithmes de chaque classe
Impl mentation
Test
Maude Manouvrier - Univ. Paris Dauphine
7
8
4
Th mes de lorient objet
Abstraction
Concentration sur ce que repr sente un objet et sur son comportement avant
de d cider de la fa on de limpl menter
Encapsulation
Masquage de linformation : s paration des aspects externes dun objet
accessibles aux autres objets, des d tails de limpl mentation cach s aux
autres objets
Regroupement des donn es et du comportement
Polymorphisme transfert de la d cision de quelle m thode utiliser la
hi rarchie de classes
Partage
H ritage possibilit de partager des portions de code communes et
clart conceptuelle (mise en vidence de traitement commun)
Mise en vidence de la nature intrins que des objets : sur ce quest un
objet et non sur la fa on dont il est utilis
Synergie : combinaison des concepts didentit , classification, h ritage et
polymorphisme pour former un langage objet
Maude Manouvrier - Univ. Paris Dauphine
9
Trois mod les (1/2)
Mod le de classes
" Description de la structure statique des objets du syst me et de
leurs relations
" Diagramme de classes : graphe avec pour sommets les classes et
pour arcs les relations entre les classes
Mod le d tats
" Description des tats successifs dun objet au cours du temps
" Diagramme d tats : graphe avec pour sommets les tats et pour
arcs les transitions entre tats d clench es par des v nements
Mod les dinteractions
" Description de la mani re de coop rer des objets pour obtenir un
r sultat
" Cas dutilisation ax sur une fonctionnalit
" Diagramme de s quence : repr sentation des interactions entre
objets et ordonnancement des interactions
" Diagramme dactivit s : d tails des tapes importantes du
traitement
Maude Manouvrier - Univ. Paris Dauphine
10
5
Trois mod les (2/2)
Parties distinctes de la description du syst me
mais interd pendantes
Le plus fondamental : le mod le de
classes
Il est n cessaire de d crire ce qui change
ou se transforme avant de d crire quand et
comment les changements ont lieu
Maude Manouvrier - Univ. Paris Dauphine
11
Mod lisation orient e objet
Mod le : abstraction pour comprendre un probl me avant de
mettre en Suvre une solution
" Tester une entit physique avant de la construire
" Communiquer avec les clients
" Visualiser
" R duire la complexit
Deux dimensions associ es un mod le :
1. Une vue dun syst me (mod le de classes, d tats ou dinteractions)
2. Un stade de d veloppement (analyse, conception ou impl mentation)
Trois mod les en UML
" Mod le de classes : aspects orient s "donn es" du syst me
" Mod le d tats : aspects temporels, comportementaux et de
"contr le " du syst me
" Mod le dinteractions : collaboration entre objets
Un seul aspect du syst me trait par chaque mod le, mais relations entre les
trois mod les
Variation du poids des mod les en fonction du probl me pos
12
Maude Manouvrier - Univ. Paris Dauphine
6
Mod le de classes (1/20)
Description de la structure statique dun syst me
Repr sentation graphique intuitive dun syst me
Vocabulaire :
" Objets
" Classes
" Associations
" Liens
" G n ralisation
" H ritage
Maude Manouvrier - Univ. Paris Dauphine
13
Mod le de classes (2/20) - Objet
Concept,
entit
signification pour une application
abstraction
ou
ayant
une
Avec une contrepartie dans le monde r el, ou
correspondant une entit conceptuelle ou introduit
pour les besoins de limpl mentation
Ex. Maude Manouvrier; la formule pour calculer la
moyenne dun module; le pointeur d sign par la
variable p
Identifi et distinguable des autres objets
Maude Manouvrier - Univ. Paris Dauphine
14
7
Mod le de classes (3/20) - Classe
Description dun groupe dobjets poss dant
les m mes propri t s (attributs) le m me
comportement
les m mes
(op rations),
relations et la m me s mantique
Classe Enseignement
Attributs
intitul
nombreHeures
Op rations
plannifier
Classe Enseignant
Attributs
nom
pr nom
dateDeNaissance
Op rations
affecterEnseignement
Objet : instance de classe
Maude Manouvrier - Univ. Paris Dauphine
15
Mod le de classes (4/20)
Diagrammes de classes : Notation graphique
Advertisement
permettant la mod lisation des classes et de
leurs relations
Diagrammes dobjets : Repr sentation des
objets individuels et de leurs relations
Enseignant
MaudeManouvrier:Enseignant
Classe
Objet
Maude Manouvrier - Univ. Paris Dauphine
16
8
Mod le de classes (5/20)
Valeur : donn e sans identit
Attribut : propri t nomm e dune classe
d crivant le type dune valeur contenue dans
chaque objet de la classe
Un objet est une classe ce quune valeur
est un attribut
Enseignant
nom:string
pr nom:string
MaudeManouvrier:Enseignant
nom="Manouvrier"
pr nom="Maude"
Classe avec des attributs
Objet avec des valeurs
Maude Manouvrier - Univ. Paris Dauphine
17
Mod le de classes (6/20)
Identifiant : implicite
Ne pas confondre identifiant interne et attribut
didentification ayant une contrepartie dans le monde
r el
Enseignant
EnseignantID:ID
nom:string
pr nom:string
Enseignant
nom:string
pr nom:string
Enseignant
NUMEN:integer
nom:string
pr nom:string
Maude Manouvrier - Univ. Paris Dauphine
18
9
Mod le de classes (7/20)
Op ration : fonction ou proc dure pouvant tre
appliqu e aux objets ou par les objets dune classe
M thode : impl mentation dune op ration pour une
classe donn e
Fichier
nom:string
localisation:string
imprimer
Maude Manouvrier - Univ. Paris Dauphine
Enseignant
nom:string
pr nom:string
affecterEnseignement (e:Enseignement)
nombreHeuresEnseignement: integer
FichierPowerPoint
nombreTransparents:integer
imprimer
19
Mod le de classes (8/20)
Propri t : terme g n rique pour attribut et op ration
Notation des classes
NomDeClasse
nomAttribut1 : typeDeDonn es1 = Valeur parD faut1
nomAttribut2 : typeDeDonn es2 = Valeur parD faut2
&
nomOp ration1 (listeArguments1) : TypeDuR sultat1
nomOp ration2 (listeArguments2) : TypeDuR sultat2
&
Sens de flux (direction) : indication si un argument
est en entr e non modifiable (in), une sortie (out) ou
une entr e modifiable (inout)
SensDeFlux nomArgument : type = valeurParD faut
[ ]
Maude Manouvrier - Univ. Paris Dauphine
[ ]
20
10
Mod le de classes (9/20)
Liens et associations
Lien : connexion physique ou conceptuelle entre objets
Ex. MaudeManouvrier Professe la MiseANiveauUML
Association : description dun groupe de liens qui
partagent une structure et une s mantique commune
Ex. un Enseignant Professe un Enseignement
Diagramme de classes :
Enseignant
nom:string
pr nom:string
*
Professe
Enseignement
intitul :string
nombreHeures:real
*
Diagramme dobjets :
MaudeManouvrier:Enseignant
nom="Manouvrier"
pr nom="Maude"
Maude Manouvrier - Univ. Paris Dauphine
MiseANiveauUML:Enseignement
Intitul ="Mise niveau UML"
nombreHeures=6
21
Mod le de classes (10/20) - Multiplicit
Nombre dinstances dune classe pouvant tre li es une
instance dune autre classe / contrainte sur le nombre dobjets li s
un- -un
Enseignant
nom:string
pr nom:string
1
z ro- -un
EstAffect A
PosteT l phonique
num ro:string
1
Enseignant
nom:string
pr nom:string
0..1
APourBureau
Bureau
1
num ro:integer
b timent:char
plusieurs- -plusieurs
Enseignant
nom:string
pr nom:string
*
Professe
Enseignement
intitul :string
nombreHeures:integer
*
Maude Manouvrier - Univ. Paris Dauphine
22
11
Mod le de classes (11/20)
Liens et associations
Notation
NomDeClasse
NomDAssociation
NomDeClasse
unObjet:NomDeClasse
NomDeLien
unObjet:NomDeClasse
Impl mentation des associations par r f rence
Ex. Impl mentation de lassociation Professe par un attribut
Enseignements dans la classe Enseignant et/ou un attribut
Enseignants dans la classe Enseignement
!
Ne pas confondre impl mentation et mod lisation
Maude Manouvrier - Univ. Paris Dauphine
23
Mod le de classes (12/20) Noms dextr mit
Possibilit de nommer les extr mit s dassociation
Transparent
titre:string
&
contenu
*
conteneur
1
AppartientA
FichierPowerPoint
nom:string
&
Indispensable pour les associations entre objets de
m me classe
Transparent
titre:string
&
pointant
*
point
*
Maude Manouvrier - Univ. Paris Dauphine
24
12
Mod le de classes (13/20)
Ordonnancement, bags et s quences
Ordonnancement des objets situ s
lextr mit dune
association plusieurs
Transparent
titre:string
&
{ordered}
*
AppartientA
FichierPowerPoint
1
nom:string
&
Bag (sac) : collection non ordonn e avec autorisation de
doublons
S quence : collection ordonn e avec autorisation de doublons
Enseignement
1
*
Maude Manouvrier - Univ. Paris Dauphine
{sequence}
1..*
S ance
{bag}
*
Polycopi
25
Mod le de classes (14/20) - Classe-association
Association qui est galement une classe
Caract ris e par des attributs et des op rations
IntervientDans
nombreHeures:integer
imprimerDecompteHeures
Enseignant
nom:string
pr nom:string
*
*
Professe
DFR
nom:string
*
FaitR f renceA
*
Enseignement
intitul :string
nombreHeures:integer
*
*
Pr Requis
obligatoire:boolean
I
n
d
i
q
u
e
*
*
Maude Manouvrier - Univ. Paris Dauphine
PanneauDAffichage
26
13
Mod le de classes (15/20) - Classe-association
Ne pas confondre classe-association et association
promue au rang de classe
Enseignant
Advertisement
nom:string
pr nom:string
*
Enseignement
*
intitul :string
nombreHeures:integer
Un polycopi correspond un seul
couple Enseignant / Enseignement
APourPolycopi
intitul :string
imprimer
Enseignant
nom:string
pr nom:string
R dige
1..*
*
Polycopi
intitul :string
imprimer
Enseignement
APourSupport
*
*
intitul :string
nombreHeures:integer
Un nombre quelconque doccurrences de Polycopi pour chaque Enseignant et
chaque Enseignement
Maude Manouvrier - Univ. Paris Dauphine
27
Mod le de classes (16/20)
Association qualifi e
Qualificateur :
" Attribut permettant de distinguer les objets situ s
lextr mit de multiplicit plusieurs dune association
" Attribut r duisant la multiplicit plusieurs un
Association qualifi e : association contenant un ou
plusieurs attributs qualificateurs
Un num ro de Salle permet didentifier une salle unique dans un
Association
B timent
B timent donn
non
nom:char
qualifi e
nbEtages:integer
Salle
num ro:integer
capacit :integer
Un num ro de Salle est relatif un B timent
SeSitueDans
1
*
B timent
nom:char
nbEtages:integer
num roDeSalle
SeSitueDans
1
1
Salle
capacit :integer
Association
qualifi e
Maude Manouvrier - Univ. Paris Dauphine
28
14
Mod le de classes (17/20)
G n ralisation et h ritage
G n ralisation : relation hi rarchique entre une
classe (la super-classe) et une ou plusieurs
variantes de cette classe (les sous-classes)
Super-classe
classe-m re)
(ou
op rations et associations communs
:
attributs,
Sous-classe (ou classe fille) : attributs, op rations
et associations sp cifiques
H ritage des propri t s de la super-classe par ses
sous-classes
Maude Manouvrier - Univ. Paris Dauphine
29
Mod le de classes (18/20)
G n ralisation et h ritage
{Note : Un
enseignant peut
tre tudiant}
Personne
nom:string
pr nom:string
dateDeNaissance:date
calculerAge:integer
T l phone
num ro:string
type:string
1
*
Formation
1
s
n
a
D
t
i
r
c
s
n
I
t
s
E
*
Etudiant
numCarteEtudiant:integer
inscrire(formation:Formation)
Enseignant
grade:string
Maude Manouvrier - Univ. Paris Dauphine
30
15
Mod le de classes (19/20)
G n ralisation et h ritage
Objectifs de la g n ralisation :
Prise en charge du polymorphisme
Structuration de la description des objets
Possibilit de r utiliser du code
Maude Manouvrier - Univ. Paris Dauphine
31
Mod le de classes (20/20)
G n ralisation et h ritage
Red finition des propri t s :
Transparent
titre:string
&
imprimer
!
Les signatures des
op rations et les types des
attributs red finis dans les
sous-classes doivent tre
compatibles avec ceux de la
super-classe
TransparentFixe
TransparentAvecAnimation
Maude Manouvrier - Univ. Paris Dauphine
32
imprimer
16
Mod le de classes - Concepts avanc s
Concepts de classe et dobjet avanc s
Extr mit dassociation
Associations n-aires
Agr gation
Classes abstraites
H ritage multiple
Contraintes
Donn es d riv es
Packages
Maude Manouvrier - Univ. Paris Dauphine
33
Mod le de classes - Concepts avanc s (1/12)
num ration : type de donn es ayant un
ensemble fini de valeurs
GradeEnseignant
Professeur Ma treDeConf rences ATER Vacataire
enumeration
GradeEnseignant
Professeur
Ma treDeConf rence
ATER
Vacataire
34
Maude Manouvrier - Univ. Paris Dauphine
17
Mod le de classes - Concepts avanc s (2/12)
Multiplicit des attributs
[1] : une valeur obligatoire
[0..1] : une seule valeur optionnelle
[*] : z ro ou plusieurs valeurs
Par d faut : attribut mono-valu ([1])
Personne
nom:string[1]
pr nom:string[1]
adresse:string[1..*]
numDeT l phone:string[*]
dateDeNaissance:date[1]
Maude Manouvrier - Univ. Paris Dauphine
35
Mod le de classes - Concepts avanc s (3/12)
Port e : indication de lapplication dune
propri t un objet (par d faut) ou une
classe
Attribut statique : attribut dont la port e est
la classe
Enseignant
nom:string
pr nom:string
*
Professe
Enseignement
*
nbHeuresEnseignement:integer
dur eEnHeures:integer
intitul :string
nombreHeures:integer
Maude Manouvrier - Univ. Paris Dauphine
36
18
Mod le de classes - Concepts avanc s (4/12)
Visibilit : aptitude dune m thode r f rencer une
propri t depuis une autre classe
public (+) : propri t accessible par nimporte quelle m thode
protected (#) : propri t prot g e dune classe uniquement
visible par les m thodes de la classe et de ses sous-classes
private (-) : propri t uniquement visible par les m thodes de
la classe o elle a t d finie
package (~) : propri t accessible par les m thodes d finies
dans le m me package
!
Signification pouvant varier en fonction du langage de
programmation
Possibilit dappliquer la visibilit aux extr mit s dassociation
Maude Manouvrier - Univ. Paris Dauphine
37
Mod le de classes - Concepts avanc s (5/12)
Association n-aire
A viter ! Peut tre d compos e
en associations binaires
Enseignant
*
*
Enseignement
Diagramme de classes
*
Salle
MaudeManouvrier:Enseignant
M NBD:Enseignement
A703:Salle
M NUML:Enseignement
Maude Manouvrier - Univ. Paris Dauphine
Diagramme dobjets
38
19
Mod le de classes - Concepts avanc s (6/12)
Agr gation
Objet constitu
*
0..1
Vid oProjecteur
Objet constituant
Salle
1
*
Advertisement
Si ge
Objet constituant
1
1
Tableau
Objet constituant
Composition
Domaine
1
1..*
Mention
1
*
Sp cialit
Appartenance des parties constituantes un assemblage et
co ncidence de leur dur e de vie
Maude Manouvrier - Univ. Paris Dauphine
39
Mod le de classes - Concepts avanc s (7/12)
Classe abstraite : classe ne pouvant pas tre
instanci e en tant que telle
MembreUniversit
Enseignant
tudiant
Administratif
Sous-classes dune classe abstraite :
obligatoirement concr tes
Possibilit dutiliser {abstract}
Maude Manouvrier - Univ. Paris Dauphine
40
20
Mod le de classes - Concepts avanc s (8/12)
H ritage multiple : h ritage permettant une
classe davoir plusieurs super-classes et dh riter
des propri t s de tous ses parents
MembreUniversit
Enseignant
tudiant
Administratif
h rite
des
Moniteur
propri t s de Enseignant
et dEtudiant et une seule
fois des propri t s de
MembreUniversit .
Maude Manouvrier - Univ. Paris Dauphine
Moniteur
!
difficult s
dimpl mentation
41
Mod le de classes - Concepts avanc s (9/12)
Contrainte : condition bool enne sappliquant
aux l ments dun mod le UML
Contrainte sur les objets :
Enseignement
intitul :string
nombreHeures:real
{nombreHeures 1,5}
Contrainte sur les associations :
EstMembreDe
1..*
Enseignant
1
{subset}
Dirige
0..1
Laboratoire
0..1
Contrainte sur les ensembles de g n ralisation :
MembreUniversit
Enseignant
tudiant
Administratif
Maude Manouvrier - Univ. Paris Dauphine
42
{overlapping, incomplete}
21
Mod le de classes - Concepts avanc s (10/12)
l ment d riv
dautres l ments
: donn e d finie en
terme
tudiant
nom
pr nom
dateDeNaissance
*
1..*
Enseignement
intitul
nombreHeures
valuation
noteCC
notePartiel
noteExam
/noteFinale
{noteFinale=noteCC0,3+notePartiel0,3+noteExam*0,4}
!
Pour des raisons de complexit dimpl mentation,
utiliser avec parcimonie !
Maude Manouvrier - Univ. Paris Dauphine
43
Mod le de classes - Concepts avanc s (11/12)
Package : groupe d l ments partageant un th me
commun
PlanningCentral
CalendrierP dagogique
B timent
nom:char
nbEtages:integer
num roDeSalle
SeSitueDans
1
1
Salle
capacit :integer
R servation
Maude Manouvrier - Univ. Paris Dauphine
44
22
Mod le de classes - Concepts avanc s (12/12)
Package :
Utile pour organiser les grands mod les
Ne d finir une classe (i.e. repr senter ses
propri t s) que dans un seul package
R f rencer une classe dun autre package en
nutilisant que le nom de la classe
Maude Manouvrier - Univ. Paris Dauphine
45
Mod le d tats (1/15)
Description des aspects dun syst me relatifs la
dur e et au s quen age des op rations
Compos dautant diagrammes d tats que de
temporel
comportement
classes dot es dun
significatif pour lapplication
Vocabulaire :
" v nements
" tats
" Transitions et conditions de franchissement
Maude Manouvrier - Univ. Paris Dauphine
46
23
Mod le d tats (2/15) - v nement
Occurrence ou fait ayant lieu un moment donn
Modification intervenue dans lenvironnement
Ex. R servation annul e
V rification de conditions derreur
Ex. nombre demprunts > 6
Vocabulaire :
" v nement concurrents : v nements sans relation de
causalit , sans effet lun sur lautre, dont lex cution peut se
chevaucher dans le temps
" v nement de signal
" v nement de changement
" v nement temporel
Maude Manouvrier - Univ. Paris Dauphine
47
Mod le d tats (3/15) v nement de signal
Signal
:
transmission dinformation explicite et
unidirectionnelle dun objet un autre
Regroupement des signaux dans des classes de signaux
v nement de signal : v nement denvoi ou de
r ception dun signal
signal
RetourLivre
num roLivre
dateRetour
signal
DemandeDeR servation
num roSalle
dateResa
heureD but
heureFin
attribution
Le livre 055.7 RAM est
retourn le 15/09/2014
Maude Manouvrier - Univ. Paris Dauphine
Instance de la classe de signaux RetourLivre
48
24
Mod le d tats (4/15) v nement
v nement de changement : v nement engendr
par la satisfaction dune expression bool enne
Passage de
lexpression de
d clenchement de l v nement de changement
when (nombre d tudiants > capacit de la salle)
faux vrai
when (nombre d tudiants < 10)
when (nombre dabsences en TD > 3)
v nement temporel : v nement engendr par
loccurrence dun temps absolu ou l coulement dune
dur e
when (date < 18/12/2005)
after (15 minutes)
Maude Manouvrier - Univ. Paris Dauphine
49
Mod le d tats (5/15) - tat
Abstraction de valeurs et de liens dun objet
Sp cification de la r ponse dun objet des
v nements entrants
tat vs v nement :
" v nement : repr sentation dun moment pr cis
dans le temps
" tat : intervalle s parant la r ception de deux
v nements par un objet
LivreEmprunt
Maude Manouvrier - Univ. Paris Dauphine
50
25
Mod le d tats (6/15) - tat
Caract risation dun tat
tat : LivreEmprunt
Description : Le livre est emprunt par lemprunteur didentifiant num roEmprunteur,
la date dateEmprunt
S quence d v nements qui produit l tat :
Emprunt(num roEmprunteur,dateEmprunt)
Condition qui caract rise l tat :
Emprunteur.nbreEmprunt < NbreMaxEmprunt et Emprunteur non p nalis
v nements accept s dans l tat :
v nement
retourLivre
action
terminerEmprunt
tat suivant
LivreDisponible
Maude Manouvrier - Univ. Paris Dauphine
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
51
Mod le d tats (7/15)
Transition et conditions de franchissement
Transition : passage instantan dun tat un autre
Condition de franchissement (guard condition) :
expression bool enne devant tre vraie pour le
franchissement de la transition
LivreDisponible
Emprunt(num roEmprunteur,dateEmprunt)
[ NbreEmprunt < NbreMaxEmprunt ]
LivreEmprunt
Attention : Condition de franchissement v nement
Condition de franchissement valu e une seule fois
v nement de changement valu en permanence
Maude Manouvrier - Univ. Paris Dauphine
52
26
Mod le d tats (8/15) - Diagramme d tats
Graphe orient dont les sommets sont les tats et les
arcs les transitions entre les tats
Sp cification des successions d tats provoqu s par
des successions d v nements
Associ une classe
En boucle infinie ou irr versible (one-shot)
Advertisement
Nom du diagramme
event (attributs) / effet
tat1
do / activit
event / effet
Maude Manouvrier - Univ. Paris Dauphine
tat2
&
53
Mod le d tats (9/15) - Diagramme d tats
EmpruntDeLivre
achat
LivreDisponible
emprunt
LivreEmprunt
retourLivre
miseEnR serve
l
i
v
r
e
D
e
m
a
n
d
m
i
s
e
A
u
P
i
l
o
n
LivreEnR serve
Entr e dans l tat initial la cr ation de lobjet
Destruction de lobjet l tat final
Maude Manouvrier - Univ. Paris Dauphine
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
54
27
Mod le d tats (10/15) - Diagramme d tats
Emprunteur
t
u
b
D
inscriptionAutoris e
Inscrit
demandeDeQuitus
]
0
=
t
n
u
r
p
m
E
b
n
[
n
o
i
t
a
s
i
l
a
n
P
n
i
f
emprunt
finP nalisation
retourLivre
P nalis
retourLivre
Empruntant
emprunt
exclusion
Maude Manouvrier - Univ. Paris Dauphine
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
A
y
a
n
t
P
r
i
s
Q
u
i
t
u
s
E
x
c
l
u
s
55
Mod le d tats (11/15) Effets et activit s
Effet : R f rence un comportement ex cut en r ponse un
v nement not par / suivi du nom de lactivit
Activit
: Comportement r el
invoqu par un nombre
quelconque deffets
" Effectu e suite une transition, lentr e ou la sortie dun
tat, ou suite un autre v nement au sein dun tat
" Pouvant repr senter des op rations de contr le internes (Ex.
affectation de valeur un attribut ou g n ration dun autre
v nement)
" Sans contrepartie dans la monde r el mais pour structurer le
flux de contr le dans une impl mentation
Inscrit
emprunt / nbreEmprunt:= nbreEmprunt + 1
retourLivre / nbreEmprunt:= nbreEmprunt - 1
Empruntant
Maude Manouvrier - Univ. Paris Dauphine
56
28
Mod le d tats (12/15)
Activit s do - Activit s dentr e et de sortie
Activit associ e au mot-cl do : Activit continue ou
s quentielle ex cut e sur une longue dur e
" Associ e uniquement un tat (et non une transition)
" Pouvant tre ex cut e sur tout ou partie de la dur e pendant
laquelle un objet est dans l tat
" Pouvant tre interrompue par un v nement re u pendant
son ex cution
LivreEnR serve
do / clignoter livre en r serve
Activit dentr e ou de sortie : ex cut e lentr e (entry /) ou
la sortie dun tat (exit /)
Maude Manouvrier - Univ. Paris Dauphine
LivreEmprunt
entry / enregistrer date de retour
57
Mod le d tats (13/15) Activit s
Ordre dex cution des activit s pour un tat :
1. Activit s de la transition entrante
2. Activit s dentr e
3. Activit s do
4. Activit s de sortie
5. Activit s de la transition sortante
Si v nement provoquant des transitions hors de l tat
Interruption des activit s do
Mais ex cution de lactivit de sortie
Auto-transition
ex cution des activit s dentr e et de sortie
Maude Manouvrier - Univ. Paris Dauphine
58
29
Mod le d tats (14/15)
Transitions dach vement et envoi de signaux
Transition dach vement : Transition automatique, sans
v nement associ , ex cut e la fin de lex cution des
activit s dun tat
Condition de franchissement test e une seule fois.
!
Si v rification daucune condition de franchissement tat
toujours actif ou objet bloqu au sein de l tat
Pour pr voir toutes les conditions possibles : else
Envoi de signaux : Interaction du syst me dobjets par
change de signaux
send cible.S(attributs)
Condition de concurrence critique (race condition) : tat
final affect par lordre dex cution des signaux re us
Maude Manouvrier - Univ. Paris Dauphine
59
Mod le d tats (15/15)
Conseils pratiques :
Ne construire de diagrammes d tats que pour les
classes
temporel
significatif, i.e. les classes r pondant diff remment
diff rents v nements ou ayant plus dun tat
comportement
ayant
un
Pas de n cessit de construire un diagramme
d tats pour toutes les classes
Bien concevoir les conditions de franchissement
pour ne pas bloquer un objet dans un tat
Faire attention aux conditions de concurrence
quand un tat peut recevoir des signaux de plus
dun objet
Maude Manouvrier - Univ. Paris Dauphine
60
30
Mod le d tats - Concepts avanc s
Diagrammes d tats imbriqu s
tats imbriqu s
Concurrence
Relations entre mod le de classes et mod le
d tats
Maude Manouvrier - Univ. Paris Dauphine
61
Mod le d tats - Concepts avanc s (1/7)
Diagrammes d tats imbriqu s
Possibilit de d tailler un tat par un sous-automate
Nom du sous-automate
LivreDisponible:RangerLivre
Nom de l tat
RangerLivre
Diagramme d tats
de plus bas niveau
d taillant l tat
LivreDisponible
do / mettre jour serveur Web
do / mettre livre en rayon
A utiliser de pr f rence pour des mod les de plus de 10 15 tats
Maude Manouvrier - Univ. Paris Dauphine
62
31
Mod le d tats - Concepts avanc s (2/7)
Diagrammes d tats imbriqu s
Possibilit d tats imbriqu s
Chacun des tats imbriqu s re oit
les transitions sortantes de son tat
composite
LivreEnR serve
tat composite
LivreDisponible
livreDemand
LivreAuD pot
tat imbriqu
LivreAu1erSousSol
tat imbri...