Vous êtes sur la page 1sur 60

1

Masters 2
me
anne ID/MIAGE-IF/MIAGE-SITN
Mise Niveau UML
Maude Manouvrier
Vocabulaire, mthodologie et thmes de lorient objet
Modledeclasses Modle de classes
Modle dtats
Modle dinteractions
http://www.lamsade.dauphine.fr/~manouvri/UML/CoursUML_MM.html
Bibliographie
Ouvrages/Documents utiliss pour prparer ce cours :
Modlisation et conception orientes objet avec UML2 de Michael
Blaha et James Rumbaugh, 2me dition, Pearson Education France,
2005 Traduction de louvrage Applying Object-Oriented Modeling 2005 Traduction de l ouvrage Applying Object Oriented Modeling
and Design with UML, Prentice Hall 2005 - Relecteurs techniques de
la traduction franaise : 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 franaise : UML 2.0, Guide de
Rfrence, CampusPress
Le guide de lutilisateur UML de Grady Booch James Rumbaugh et 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
MaudeManouvrier - Univ. Paris Dauphine 2
2
Bibliographie
Livres contenant des exercices corrigs :
UML 2 par la pratique : tudes de cas et exercices
corrigs de Pascal Roques, 4me dition,
Eyrolles, 2005
UML 2 de Benot Charroux, Aomar Osmani, et
Yann Thierry-Mieg coll Synthex Pearson Yann Thierry-Mieg, coll. Synthex, Pearson
Education, 2e dition, 2008
MaudeManouvrier - Univ. Paris Dauphine 3
Historique
OMT
(Object Modeling
Technique - 1991)
deJ amesRumbaugh
OOSE
de Ivar J acobson
Notation
de Grady Booch
de J ames Rumbaugh
UML - Unified Modeling Language
Standard de modlisation objet
d 1997 lOb M G (OMG)
MaudeManouvrier - Univ. Paris Dauphine 4
adopt en 1997 par lObject Management Group (OMG)
Rvision des spcifications initiales en 2001 UML 1
Approbation de la version UML 2.0 en 2004
3
Vocabulaire orient objet (1/3)
Orient objet : organisation dun logiciel sous la forme dune
collectiondobjetsindpendantsincorporant structurededonnes
et comportement [BR05] et comportement [BR05]
Objet
Entit discrte et distinguable, concrte ou abstraite
Ex. Ce transparent; lenseignant M. Manouvrier; la stratgie
pdagogique de cette mise niveau
Identit intrinsque - Identifiant unique
Deux objets sont distincts, mmes sils ont des valeurs
dattributs identiques
MaudeManouvrier - Univ. Paris Dauphine 5
Vocabulaire orient objet (2/3)
Classification : regroupement des objets ayant mme
structurededonnes (attributs) et mmecomportement
(oprations)
Ex. TransparentDeCours; Enseignant
Classe : abstraction dcrivant un ensemble dobjets
potentiellement infini [BR05]
Abstraction
Classe BulleEtLgende
Attributs
forme
Objets Bulles et Lgendes
MaudeManouvrier - Univ. Paris Dauphine 6
couleurDeTrait
couleurDeRemplissage
Oprations
dessiner
effacer
dplacer
modifierTaille
4
Vocabulaire orient objet (3/3)
Instance dune classe : objet appartenant laclasse
Hritage : partagedeproprits entreclasses sur labasedune
relationhirarchique
Super-classe (classemre)
Sous-classe (classefille) : spcialisationdelasuper-classe
Hritagedespropritsdelasuper-classe
Polymorphisme : possibilitdecomportements diffrents dune
mmeoprationdansdiffrentesclasses
Opration : action excute par un objet ou transformation Opration : action excute par un objet ou transformation
subiepar unobjet
Mthode : implmentationduneoprationpar uneclasse
Plusieurs mthodes pour une mme opration
Une mthode par classe pour une opration donne
MaudeManouvrier - Univ. Paris Dauphine 7
Mthodologie oriente objet
Spcification initiale : collaboration entre les analystes mtier et les
utilisateurspour lagensedelapplication
Analyse
tudeet re-formulation des besoins : collaboration avec leclient pour
comprendreleproblme
Modle danalyse : abstraction concise et prcise de lobjectif du
systmedvelopper (pasdelafaondeleconstruire)
- Modle de domaine : description des objets du monde rel
manipulspar lesystme
- Modle de lapplication : parties du systme visibles par
lutilisateur
Conception : stratgie de haut niveau (architecture du systme) pour
rsoudreleproblmepos rsoudreleproblmepos
tablissementdesstratgiesdeconceptiongnrales
Allocationsprvisionnellesdesressources
Conception des classes : concentration sur les structures de donnes et
algorithmesdechaqueclasse
Implmentation
Test
MaudeManouvrier - Univ. Paris Dauphine
8
5
Thmes de lorient objet
Abstraction
Concentrationsur cequereprsenteunobjet et sur soncomportement avant
dedcider delafaondelimplmenter
Encapsulation
Masquage de linformation : sparation des aspects externes dun objet Masquage de l information : sparation des aspects externes d un objet
accessibles aux autres objets, des dtails de limplmentation cachs aux
autresobjets
Regroupement des donnes et du comportement
Polymorphisme transfert deladcision dequellemthodeutiliser la
hirarchiedeclasses
Partage
Hritage possibilit de partager des portions de code communes et Hritage possibilit de partager des portions de code communes et
clartconceptuelle(miseenvidencedetraitement commun)
Mise en vidence de la nature intrinsque des objets : sur ce quest un
objetet nonsur lafaondontil est utilis
Synergie : combinaison des concepts didentit, classification, hritage et
polymorphismepour former unlangageobjet
MaudeManouvrier - Univ. Paris Dauphine
9
Trois modles (1/2)
Modle de classes
Description de la structure statique des objets du systme et de
leursrelations
Diagramme de classes : grapheavec pour sommetslesclasseset
pour arcslesrelationsentrelesclasses pour arcslesrelationsentrelesclasses
Modle dtats
Descriptiondestatssuccessifsdunobjet aucoursdutemps
Diagramme dtats : grapheavec pour sommetslestatset pour
arcslestransitionsentretatsdclenchespar desvnements
Modles dinteractions
Descriptiondelamaniredecooprer des objets pour obtenir un
l rsultat
Cas dutilisation axsur unefonctionnalit
Diagramme de squence : reprsentation des interactions entre
objetset ordonnancement desinteractions
Diagramme dactivits : dtails des tapes importantes du
traitement
MaudeManouvrier - Univ. Paris Dauphine
10
6
Trois modles (2/2)
Partiesdistinctesdeladescriptiondusystme
maisinterdpendantes
Le plus fondamental [BR05] : le modle de
classes
Il est ncessairededcrirece qui change q g
ousetransformeavant dedcrirequand et
comment leschangementsont lieu
MaudeManouvrier - Univ. Paris Dauphine
11
Modlisation oriente objet
Modle : abstraction pour comprendre un problme avant de
mettreenuvreunesolution[BR05]
Tester uneentitphysiqueavant delaconstruire
Communiquer aveclesclients
Visualiser Visualiser
Rduirelacomplexit
Deuxdimensionsassociesunmodle:
1. Unevuedunsystme(modledeclasses, dtatsoudinteractions)
2. Unstadededveloppement(analyse, conceptionouimplmentation)
Trois modles en UML
Modle de classes : aspectsorients"donnes" dusystme p y
Modle dtats : aspects temporels, comportementaux et de
"contrle" dusystme
Modle dinteractions : collaborationentreobjets
Unseul aspect dusystmetraitpar chaquemodle, maisrelationsentreles
troismodles
Variation du poids des modles en fonction du problme pos
MaudeManouvrier - Univ. Paris Dauphine
12
7
Modle de classes (1/20)
Description de la structure statique dun systme
Reprsentation graphique intuitive dun systme [BR05]
Vocabulaire :
Objets
Classes
Associations
Liens
Gnralisation
Hritage
MaudeManouvrier - Univ. Paris Dauphine
13
Modle de classes (2/20) - Objet
Concept, abstraction ou entit ayant une
significationpour uneapplication[BR05]
Avec une contrepartie dans le monde rel, ou
correspondant uneentitconceptuelleou introduit
pour lesbesoinsdelimplmentation
Ex. Maude Manouvrier; la formule pour calculer la
moyenne dun module; le pointeur dsign par la
bl variable p
Identifiet distinguabledesautresobjets
MaudeManouvrier - Univ. Paris Dauphine
14
8
Modle de classes (3/20) - Classe
Description dun groupe dobjets possdant
les mmes proprits (attributs) le mme
comportement (oprations), les mmes p ( p ),
relationset lammesmantique
Classe Enseignement
Attributs
intitul
nombreHeures
Classe Enseignant
Attributs
nom
prnom
Objet : instance declasse
MaudeManouvrier - Univ. Paris Dauphine
15
Oprations
plannifier
p
dateDeNaissance
Oprations
affecterEnseignement
Modle de classes (4/20)
Diagrammes de classes : Notationgraphique
permettant la modlisation des classes et de
l l ti leursrelations
Diagrammes dobjets : Reprsentation des
objetsindividuelset deleursrelations
MaudeManouvrier - Univ. Paris Dauphine
16
Enseignant
Classe
MaudeManouvrier:Enseignant
Objet
9
Modle de classes (5/20)
Valeur : donnesansidentit
Attribut : proprit nomme dune classe
d i l d l d dcrivant le type dune valeur contenue dans
chaqueobjet delaclasse
Un objet est une classe ce quune valeur
est un attribut [BR05]
E i t M d M i E i t
MaudeManouvrier - Univ. Paris Dauphine
17
Enseignant
nom:string
prnom:string
Classe avec des attributs
MaudeManouvrier:Enseignant
nom="Manouvrier"
prnom="Maude"
Objet avec des valeurs
Modle de classes (6/20)
Identifiant : implicite
Ne pas confondre identifiant interne et attribut
didentificationa ant necontrepartiedans lemonde didentificationayant unecontrepartiedans lemonde
rel
Enseignant
EnseignantID:ID
nom:string
prnom:string
Enseignant
nom:string
prnom:string
MaudeManouvrier - Univ. Paris Dauphine
18
prnom:string
Enseignant
NUMEN:integer
nom:string
prnom:string
10
Modle de classes (7/20)
Opration : fonction ou procdure pouvant tre
appliqueauxobjetsoupar lesobjetsduneclasse
Mthode : implmentation d neopration po r ne Mthode : implmentation duneopration pour une
classedonne
Enseignant
nom:string
prnom:string
affecterEnseignement (e:Enseignement)
nombreHeuresEnseignement: integer
MaudeManouvrier - Univ. Paris Dauphine
19
g g
Fichier
nom:string
localisation:string
imprimer
FichierPowerPoint
nombreTransparents:integer
imprimer
Modle de classes (8/20)
Proprit : termegnriquepour attribut et opration
Notation des classes
NomDeClasse
nomAttribut1 : typeDeDonnes1 =Valeur parDfaut1
nomAttribut2 : typeDeDonnes2 =Valeur parDfaut2

nomOpration1 (listeArguments1) : TypeDuRsultat1


nomOpration2 (listeArguments2) : TypeDuRsultat2
NomDeClasse
Sens de flux (direction) : indication si un argument
est en entrenon modifiable(in), unesortie(out) ou
uneentremodifiable(inout)
SensDeFlux nomArgument : type = valeurParDfaut
MaudeManouvrier - Univ. Paris Dauphine
20

[ ] [ ]
11
Modle de classes (9/20)
Liens et associations
Lien : connexionphysiqueouconceptuelleentreobjets
Ex. MaudeManouvrier Professe la MiseANiveauUML
Association : description dun groupe de liens qui p g p q
partagent unestructureet unesmantiquecommune
Ex. un Enseignant Professe un Enseignement
Enseignant
nom:string
prnom:string *
Professe
*
Enseignement
intitul:string
nombreHeures:real
Diagramme de classes :
MaudeManouvrier - Univ. Paris Dauphine
21
prnom:string nombreHeures:real
MaudeManouvrier:Enseignant
nom="Manouvrier"
prnom="Maude"
MiseANiveauUML:Enseignement
Intitul="Mise niveau UML"
nombreHeures=12
Diagramme dobjets :
Modle de classes (10/20) - Multiplicit
Nombre dinstances dune classe pouvant tre lies une
instanceduneautreclasse/ contraintesur lenombredobjetslis
un--un
zro--un
Enseignant
nom:string
prnom:string 1
EstAffectA
1
PosteTlphonique
numro:string
Enseignant
nom:string
APourBureau
Bureau
i
plusieurs--plusieurs
MaudeManouvrier - Univ. Paris Dauphine
22
g
prnom:string 0..1 1
numro:integer
btiment:char
Enseignant
nom:string
prnom:string *
Professe
*
Enseignement
intitul:string
nombreHeures:integer
12
Notation
Modle de classes (11/20)
Liens et associations
NomDeClasse
NomDAssociation
NomDeClasse
Implmentation des associations par rfrence
Ex. Implmentation de lassociation Professe par un attribut
E i t d l l E i t t/ tt ib t
unObjet:NomDeClasse
NomDeLien
unObjet:NomDeClasse
Enseignements dans la classe Enseignant et/ou un attribut
Enseignants dans la classe Enseignement
Ne pas confondre implmentation et modlisation
MaudeManouvrier - Univ. Paris Dauphine
23
!
Modle de classes (12/20) Noms dextrmit
Transparent
FichierPowerPoint
Possibilit de nommer les extrmits dassociation
titre:string
*
AppartientA 1
FichierPowerPoint
nom:string

contenu conteneur
Indispensable pour les associations entre objets de
mme classe
MaudeManouvrier - Univ. Paris Dauphine
24
*
Transparent
titre:string

*
point
pointant
13
Modle de classes (13/20)
Ordonnancement, bags et squences
T
Ordonnancement des objets situs lextrmit dune
association plusieurs
Transparent
titre:string
*
AppartientA 1
FichierPowerPoint
nom:string

{ordered}
Bag (sac) : collection non ordonne avec autorisation de
doublons
Squence : collection ordonne avec autorisation de doublons
MaudeManouvrier - Univ. Paris Dauphine
25
*
Enseignement Sance
1..* 1
{sequence}
Polycopi
*
{bag}
Squence : collection ordonne avec autorisation de doublons
Modle de classes (14/20) - Classe-association
Associationqui est galement uneclasse
Caractrisepar desattributset desoprations
IntervientDans
DFR
nom:string
* *
Enseignant
nom:string
prnom:string
* PrRequis
*
FaitRfrenceA
nombreHeures:integer
imprimerDecompteHeures
MaudeManouvrier - Univ. Paris Dauphine
26
*
Enseignement
intitul:string
nombreHeures:integer
*
Professe
PrRequis
obligatoire:boolean
*
PanneauDAffichage
I
n
d
i
q
u
e
*
*
14
Modle de classes (15/20) - Classe-association
Ne pas confondre classe-association et association
promueaurangdeclasse
Enseignant Enseignement Enseignant
nom:string
prnom:string
*
Enseignement
intitul:string
nombreHeures:integer
*
APourPolycopi
intitul:string
imprimer
Il y a un seul polycopi par couple
Enseignant / Enseignement
MaudeManouvrier - Univ. Paris Dauphine
27
Enseignant
nom:string
prnom:string
Enseignement
intitul:string
nombreHeures:integer
Rdige
* 1..*
APourSupport
* *
Polycopi
intitul:string
imprimer
Un nombre quelconque doccurrences de Polycopi pour chaque Enseignant et
chaque Enseignement
Modle de classes (16/20)
Association qualifie
Qualificateur :
Attribut permettant de distinguer les objets situs
lextrmitdemultiplicitplusieursduneassociation
Attribut rduisant lamultiplicitplusieursun
Association qualifie : association contenant un ou
plusieursattributsqualificateurs
SeSitueDans
Salle
numro:integer
Btiment
nom:char
Association
non
Unnumro deSalle permet didentifier unesalleuniquedansun
Btiment donn
MaudeManouvrier - Univ. Paris Dauphine
28
* 1
numro:integer
capacit:integer
nom:char
nbEtages:integer
qualifie
Unnumro deSalle est relatif unBtiment
Association
qualifie
SeSitueDans
1 1
Salle
capacit:integer
Btiment
nom:char
nbEtages:integer
numroDeSalle
15
Modle de classes (17/20)
Gnralisation et hritage
Gnralisation : relation hirarchique entre une
l (l l ) t l i classe (la super-classe) et une ou plusieurs
variantesdecetteclasse(lessous-classes) [BR05]
Super-classe (ou classe-mre) : attributs,
oprationset associationscommuns
Sous-classe (ou classe fille) : attributs, oprations
et associationsspcifiques
Hritage des proprits de la super-classe par ses
sous-classes
MaudeManouvrier - Univ. Paris Dauphine
29
Modle de classes (18/20)
Gnralisation et hritage
Tlphone
Personne
t i
{Note : Un
enseignant peut
t
I
n
s
c
r
i
t
D
a
n
s
Formation
1
numro:string
type:string
* 1
nom:string
prnom:string
dateDeNaissance:date
calculerAge:integer
tre tudiant}
MaudeManouvrier - Univ. Paris Dauphine
30
Etudiant
numCarteEtudiant:integer
inscrire(formation:Formation)
Enseignant
grade:string
E
s
t
*
16
Modle de classes (19/20)
Gnralisation et hritage
Objectifsdelagnralisation[BR05] : Objectifsdelagnralisation[BR05] :
Priseenchargedupolymorphisme
Structurationdeladescriptiondesobjets
Possibilitderutiliser ducode Possibilitderutiliser ducode
MaudeManouvrier - Univ. Paris Dauphine
31
Modle de classes (20/20)
Gnralisation et hritage
Redfinition des proprits :
!
Transparent
titre:string

imprimer
Les signatures des
oprations et les types des
attributs redfinis dans les
sous-classes doivent tre
compatibles avec ceux de la
super-classe
!
MaudeManouvrier - Univ. Paris Dauphine
32
TransparentFixe
TransparentAvecAnimation
imprimer
17
Modle de classes - Concepts avancs
Concepts de classe et dobjet avancs
Extrmit dassociation
Associations n-aires
Agrgation
Classes abstraites
Hritage multiple
Contraintes
Donnes drives
Packages
MaudeManouvrier - Univ. Paris Dauphine
33
Modle de classes - Concepts avancs (1/12)
numration : type de donnes ayant un
ensemble fini de valeurs
GradeEnseignant
Professeur MatreDeConfrences ATER Vacataire
MaudeManouvrier - Univ. Paris Dauphine
34
enumeration
GradeEnseignant
Professeur
MatreDeConfrence
ATER
Vacataire
18
Modle de classes - Concepts avancs (2/12)
Multiplicit des attributs
[1] : une valeur obligatoire
[0 1] l l i ll [0..1] : une seule valeur optionnelle
[*] : zro ou plusieurs valeurs
Par dfaut : attribut mono-valu ([1])
Personne
MaudeManouvrier - Univ. Paris Dauphine
35
nom:string[1]
prnom:string[1]
adresse:string[1..*]
numDeTlphone:string[*]
dateDeNaissance:date[1]
Modle de classes - Concepts avancs (3/12)
Porte : indication de lapplication dune
proprit un objet (par dfaut) ou une
l classe
Attribut statique : attribut dont laporteest
laclasse
Enseignant
Enseignement
MaudeManouvrier - Univ. Paris Dauphine
36
Enseignant
nom:string
prnom:string
*
Professe
*
nbHeuresEnseignement:integer
dureEnHeures:integer
intitul:string
nombreHeures:integer
19
Modle de classes - Concepts avancs (4/12)
Visibilit : aptitude dune mthode rfrencer une
propritdepuisuneautreclasse
public (+) : propritaccessiblepar nimportequellemthode public (+) : propritaccessiblepar n importequellemthode
protected (#) : proprit protge dune classe uniquement
visiblepar lesmthodesdelaclasseet desessous-classes
private (-) : proprituniquement visiblepar les mthodes de
laclasseoelleatdfinie
package (~) : proprit accessible par les mthodes dfinies
danslemmepackage
MaudeManouvrier - Univ. Paris Dauphine
37
Signification pouvant varier en fonction du langage de
programmation
Possibilitdappliquer lavisibilitauxextrmitsdassociation
!
Modle de classes - Concepts avancs (5/12)
Association n-aire
A viter ! Peut tre dcompose
en associations binaires
* *
Diagramme de classes
MaudeManouvrier:Enseignant MNBD:Enseignement
*
Enseignant Enseignement
Salle
MaudeManouvrier - Univ. Paris Dauphine
38
MNUML:Enseignement
A703:Salle
Diagramme dobjets
20
Modle de classes - Concepts avancs (6/12)
Agrgation
Salle Sige
1
*
*
Objet constitu
VidoProjecteur
Tableau
1
1
0..1
Objet constituant
Objet constituant
Objet constituant
Composition
MaudeManouvrier - Univ. Paris Dauphine
39
Domaine Mention Spcialit
Composition
*
1..* 1
1
Appartenance des parties constituantes un assemblage et
concidence de leur dure de vie
Modle de classes - Concepts avancs (7/12)
Classe abstraite : classe ne pouvant pas tre
instancie en tant que telle
MembreUniversit
tudiant Enseignant Administratif
MaudeManouvrier - Univ. Paris Dauphine
40
Sous-classes dune classe abstraite :
obligatoirement concrtes
Possibilit dutiliser {abstract}
21
Modle de classes - Concepts avancs (8/12)
Hritage multiple : hritage permettant une
classe davoir plusieurs super-classes et dhriter
d i d despropritsdetoussesparents
MembreUniversit
tudiant Enseignant Administratif
MaudeManouvrier - Univ. Paris Dauphine
41
tudiant
Moniteur
Enseignant Administratif
Moniteur hrite des
proprits de Enseignant
et dEtudiant et uneseule
fois des proprits de
MembreUniversit.
difficults
dimplmentation
!
Modle de classes - Concepts avancs (9/12)
Contrainte : condition boolenne sappliquant
auxlmentsdunmodleUML
Contrainte sur les objets : Contrainte sur les associations :
Contrainte sur les ensembles de gnralisation :
Enseignement
intitul:string
nombreHeures:real
{nombreHeures 1,5}
j
EstMembreDe
Dirige
1..*
Laboratoire
0..1
0..1
1
{subset} Enseignant
MaudeManouvrier - Univ. Paris Dauphine
42
MembreUniversit
tudiant Enseignant Administratif
{overlapping, incomplete}
22
Modle de classes - Concepts avancs (10/12)
lment driv : donne dfinie en terme
dautreslments
tudiant
Enseignement
nom
prnom
dateDeNaissance
Enseignement
intitul
nombreHeures
1..* *
noteCC
notePartiel
noteExam
valuation
MaudeManouvrier - Univ. Paris Dauphine
43
noteExam
/noteFinale
{noteFinale=noteCC*0,3+notePartiel*0,3+noteExam*0,4}
Pour des raisons de complexit dimplmentation,
utiliser avec parcimonie !
!
Modle de classes - Concepts avancs (11/12)
Package : groupedlmentspartageant unthme
commun
SeSitueDans Salle
PlanningCentral
CalendrierPdagogique
Btiment
MaudeManouvrier - Univ. Paris Dauphine
44
SeSitueDans
1 1
Salle
capacit:integer
numroDeSalle
Rservation
nom:char
nbEtages:integer
23
Modle de classes - Concepts avancs (12/12)
Package [BR05] :
Utilepour organiser lesgrandsmodles
Ne dfinir une classe (i.e. reprsenter ses
proprits) quedansunseul package
Rfrencer une classe dun autre package en Rfrencer une classe d un autre package en
nutilisant quelenomdelaclasse
MaudeManouvrier - Univ. Paris Dauphine
45
Modle dtats (1/15)
Description des aspects dun systme relatifs la
dureet ausquenagedesoprations dureet ausquenagedesoprations
Compos dautant diagrammes dtats que de
classes dotes dun comportement temporel
significatif pour lapplication
Vocabulaire :
vnements
tats
Transitions et conditions de franchissement
MaudeManouvrier - Univ. Paris Dauphine
46
24
Modle dtats (2/15) - vnement
Occurrenceoufait ayant lieuunmoment donn
Modification intervenue dans lenvironnement
Ex. Rservation annule
Vrification de conditions derreur
Ex. nombre demprunts > 6
Vocabulaire :
vnement concurrents : vnements sans relation de
causalit, sanseffet lunsur lautre, dont lexcutionpeut se , , p
chevaucher dansletemps
vnement de signal
vnement de changement
vnement temporel
MaudeManouvrier - Univ. Paris Dauphine
47
Modle dtats (3/15) vnement de signal
Signal : transmission dinformation explicite et
unidirectionnelledunobjet unautre
Regroupement dessignauxdansdesclasses de signaux
vnement de signal : vnement denvoi ou de
rceptiondunsignal
signal
RetourLivre
numroLivre
signal
DemandeDeRservation
numroSalle
dateResa
MaudeManouvrier - Univ. Paris Dauphine
48
numroLivre
dateRetour
Le livre 055.7 RAM est
retourn le 15/09/2005
Instance de la classe de signaux RetourLivre
heureDbut
heureFin
attribution
25
Modle dtats (4/15) vnement
vnement de changement : vnement engendr
par lasatisfactionduneexpressionboolenne
Passage de lexpression de faux vrai Passage de l expression de faux vrai
dclenchement delvnement dechangement
when ( nombr e d t udi ant s > capaci t de l a sal l e)
when ( nombr e d t udi ant s < 10)
when ( nombr e d absences en TD > 3)
vnement temporel : vnement engendr par vnement temporel : vnement engendr par
loccurrenceduntempsabsoluoulcoulement dune
dure
when ( dat e < 18/ 12/ 2005)
af t er ( 15 mi nut es)
MaudeManouvrier - Univ. Paris Dauphine
49
Modle dtats (5/15) - tat
Abstractiondevaleurset deliensdunobjet
Spcification de la rponse dun objet des
vnementsentrants vnementsentrants
tat vs vnement :
vnement : reprsentation dun moment prcis
dansletemps
tat : intervalle sparant la rception de deux
vnementspar unobjet vnementspar unobjet
MaudeManouvrier - Univ. Paris Dauphine
50
LivreEmprunt
26
Modle dtats (6/15) - tat
tat : LivreEmprunt
D i ti L li t t l t did tifi t E t
Caractrisation dun tat
Description : Le livre est emprunt par lemprunteur didentifiant numroEmprunteur,
la date dateEmprunt
Squence dvnements qui produit ltat :
Emprunt(numroEmprunteur,dateEmprunt)
Condition qui caractrise ltat :
Emprunteur.nbreEmprunt <NbreMaxEmprunt et Emprunteur non pnalis
vnements accepts dans ltat :
MaudeManouvrier - Univ. Paris Dauphine
51
vnements accepts dans l tat :
vnement action tat suivant
retourLivre terminerEmprunt LivreDisponible
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Modle dtats (7/15)
Transition et conditions de franchissement
Transition : passageinstantanduntat unautre
Condition de franchissement (guard condition) : Condition de franchissement (guard condition) :
expression boolenne devant tre vraie pour le
franchissement delatransition
LivreDisponible
[ NbreEmprunt <NbreMaxEmprunt ]
LivreEmprunt
Emprunt(numroEmprunteur,dateEmprunt)
MaudeManouvrier - Univ. Paris Dauphine
52
[ NbreEmprunt <NbreMaxEmprunt ]
Attention : Condition de franchissement vnement
Condition de franchissement value une seule fois
vnement de changement valu en permanence
27
Modle dtats (8/15) - Diagramme dtats
Graphe orient dont les sommets sont les tats et les
arcslestransitionsentrelestats
Spcification des successions dtats provoqus par
dessuccessionsdvnements
Associuneclasse
Enboucleinfinieouirrversible(one-shot)
Nom du diagramme
MaudeManouvrier - Univ. Paris Dauphine
53
event (attributs) [condition de franchissement] / effet
tat2

tat1
do / activit
event / effet
Modle dtats (9/15) - Diagramme dtats
LivreDisponible
achat
EmpruntDeLivre
LivreDisponible
LivreEmprunt LivreEnRserve
m
i
s
e
A
u
P
i
l
o
n
emprunt
miseEnRserve
l
i
v
r
e
D
e
m
a
n
d

retourLivre
MaudeManouvrier - Univ. Paris Dauphine
54
Entre dans ltat initial la cration de lobjet
Destruction de lobjet ltat final
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
28
Modle dtats (10/15) - Diagramme dtats
Emprunteur A
y
a
n
t
Inscrit
inscriptionAutorise
t
P
r
i
s
Q
u
i
t
u
s
D

b
u
t
demandeDeQuitus
[nbEmprunt=0]
retourLivre
[dateActuelle dateRetour et
nbreEmprunt=1]
emprunt
[nbreEmprunt<nbreMaxEmprunt]
f
i
n
P

n
a
l
i
s
a
t
i
o
n
finPnalisation [nbEmprunt>1] [
n
b
E
m
p
r
u
n
t
=
0
]
MaudeManouvrier - Univ. Paris Dauphine
55
E
x
c
l
u
s
Empruntant
exclusion [Penalit>MaxPnalit]
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Pnalis
retourLivre
[dateActuelle >dateRetour]
f
emprunt
[nbreEmprunt<
nbreMaxEmprunt
et nbEmprunt>1 ]
Modle dtats (11/15) Effets et activits
Effet : Rfrenceuncomportement excutenrponseun
vnement notpar / suivi dunomdelactivit
Activit : Comportement rel invoqu par un nombre
l d ff quelconquedeffets
Effectuesuiteunetransition, lentreoulasortiedun
tat, ousuiteunautrevnement auseinduntat
Pouvant reprsenter desoprationsdecontrleinternes(Ex.
affectation devaleur un attribut ou gnration dun autre
vnement)
S i d l d l i l Sanscontrepartiedanslamonderel maispour structurer le
fluxdecontrledansuneimplmentation
MaudeManouvrier - Univ. Paris Dauphine
56
Inscrit
emprunt / nbreEmprunt:=nbreEmprunt +1
Empruntant
retourLivre / nbreEmprunt:=nbreEmprunt - 1
29
Modle dtats (12/15)
Activits do - Activits dentre et de sortie
Activit associe au mot-cl do : Activit continue ou
squentielleexcutesur unelonguedure
Associeuniquement untat (et nonunetransition) Associeuniquement untat (et nonunetransition)
Pouvant treexcutesur tout oupartiedeladurependant
laquelleunobjet est dansltat
Pouvant tre interrompue par un vnement reu pendant
sonexcution
LivreEnRserve
do / clignoter livreenrserve
Activit dentre ou de sortie : excutelentre(entry /) ou
lasortieduntat (exit /)
MaudeManouvrier - Univ. Paris Dauphine
57
do / clignoter livre en rserve
LivreEmprunt
entry / enregistrer date de retour
Modle dtats (13/15) Activits
Ordre dexcution des activits pour un tat :
1. Activitsdelatransitionentrante
2. Activitsdentre
3. Activitsdo
4. Activitsdesortie
5. Activitsdelatransitionsortante
Si vnement provoquant destransitionshorsdeltat
Interruptiondesactivitsdo Interruptiondesactivitsdo
Maisexcutiondelactivitdesortie
Auto-transition
excutiondesactivitsdentreet desortie
MaudeManouvrier - Univ. Paris Dauphine
58
30
Modle dtats (14/15)
Transitions dachvement et envoi de signaux
Transition dachvement : Transition automatique, sans
vnement associ, excute la fin de lexcution des
activitsduntat
!
Condition de franchissement teste une seule fois.
Si vrification daucune condition de franchissement tat
toujours actif ou objet bloqu au sein de ltat
Pour prvoir toutes les conditions possibles : else
Envoi de signaux : Interaction du systme dobjets par
changedesignaux
send ci bl e. S( at t r i but s)
Condition de concurrence critique (race condition) : tat
final affectpar lordredexcutiondessignauxreus
MaudeManouvrier - Univ. Paris Dauphine
59
Modle dtats (15/15)
Conseils pratiques [BR05] :
Ne construire de diagrammes dtats que pour les
classes ayant un comportement temporel
significatif, i.e. les classes rpondant diffremment
diffrentsvnementsouayant plusduntat
Pas de ncessit de construire un diagramme
dtatspour touteslesclasses
Bien concevoir les conditions de franchissement
pour nepasbloquer unobjet dansuntat p p q j
Faire attention aux conditions de concurrence
quand un tat peut recevoir des signaux de plus
dunobjet
MaudeManouvrier - Univ. Paris Dauphine
60
31
Modle dtats - Concepts avancs
Diagrammesdtatsimbriqus Diagrammes d tats imbriqus
tats imbriqus
Concurrence
Relations entre modle de classes et modle
dt t dtats
MaudeManouvrier - Univ. Paris Dauphine
61
Modle dtats - Concepts avancs (1/7)
Diagrammes dtats imbriqus
Possibilit de dtailler un tat par un sous-automate
Nom du sous-automate
LivreDisponible:RangerLivre
Nom de ltat
RangerLivre
d / j W b
Diagramme dtats
MaudeManouvrier - Univ. Paris Dauphine
62
do / mettre jour serveur Web
do / mettre livre en rayon
de plus bas niveau
dtaillant ltat
LivreDisponible
A utiliser de prfrence pour des modles de plus de 10 15 tats [BR05]
32
Modle dtats - Concepts avancs (2/7)
Diagrammes dtats imbriqus
Possibilit dtats imbriqus
LivreDisponible
Chacun des tats imbriqus reoit
LivreAuDpot
LivreEnRserve
[dateActuelle>dateDernier
Emprunt+180 jours]
livreDemand
tat imbriqu
tat composite
les transitions sortantes de son tat
composite [BR05]
MaudeManouvrier - Univ. Paris Dauphine
63
LivreAu1erSousSol
[dateActuelle>dateDernierEmprunt+365 jours]
tat imbriqu
A utiliser quand une mme transition sapplique plusieurs tats [BR05]
Modle dtats - Concepts avancs (3/7)
Concurrence :
Concurrence dagrgation
Diagramme dtat dun assemblage = collection des
diagrammesdtatsdesesso s parties diagrammesdtatsdesessous-parties
Concurrence lintrieur dun objet
Possibilit de partitionner un objet en sous-ensembles
dattributs et deliens, chacundes sous-ensembles ayant un
diagrammedtats
LivreDisponible
MaudeManouvrier - Univ. Paris Dauphine
64
p
LivreEnRayon LivreDrang
rangement
LivreEnRayon LivreRetourn
rangement
33
Modle dtats - Concepts avancs (4/7)
Synchronisation du contrle des activits concurrentes
Possibilit pour un mme objet dexcuter des
activitsconcurrentes
Pasdesynchronisationdesactivits
Maisdivisionducontrledesactivits
Et synchronisationducontrle
RangerLivre
do / mettre jour serveur Web
MaudeManouvrier - Univ. Paris Dauphine
65
j
do / mettre livre en rayon
Division du contrle en deux
parties concurrentes (fork)
Modle dtats - Concepts avancs (5/7)
Relations modle de classes modle dtats
Modle de classes :
Description des objets, valeurs et liens pouvant exister p j , p
dansunsystme
Modlisationdesdiffrencesintrinsquesentreobjets
Modle dtats :
Spcification des squences possibles de modification
desobjetsdumodledeclasses
M dli ti d diff t i t bj t
MaudeManouvrier - Univ. Paris Dauphine
66
Modlisationdesdiffrencestemporairesentreobjets
Diagramme dtats = description de tout ou partie du
comportement desobjetsduneclassedonne
tat =valeurset liensdtenuspar unobjet
34
Modle dtats - Concepts avancs (6/7)
Relations modle de classes modle dtats (suite)
Agrgation dobjets
Des tats indpendants propres chaquepartiedune Des tats indpendants propres chaquepartied une
agrgation
Ltat de lassemblage =combinaison des tats de
toutessesparties
Hirarchie de classes dobjets
Hritage par les sous-classes des modle dtats de
MaudeManouvrier - Univ. Paris Dauphine
67
g p
leur classeanctre
Possibilit pour les sous-classes davoir leur propre
diagrammedtats, traitant deprfrenceuniquement
desattributspropresauxsous-classes
Modle dtats - Concepts avancs (7/7)
Relations modle de classes modle dtats (suite)
Possibilit de dfinir les signaux travers
diff t l lll l d bj t diffrentesclasses- paralllesauxclassesdobjets
Possibilitdimplmenter lestransitionscommedes
oprations sur des objets (avec comme nom
dopration: lenomdusignal correspondant)
Pouvoir dexpression plus puissant des signaux car
!
p p p g
dpendance entre la rponse un vnement et
ltat delobjet recevant lvnement
MaudeManouvrier - Univ. Paris Dauphine
68
!
35
Modle dinteractions (1/17)
Modle de classes =reprsentation des objets et de leurs
relations
Modle dtats =descriptionducycledeviedesobjets
Modle dinteractions =expression de la faon dont les
objets interagissent pour produire des rsultats utiles
lapplication[BR05]
Plusieursniveauxdabstractiondumodledinteractions:
Cas dutilisation : description de linteraction du systme
aveclesacteursextrieurs avec les acteurs extrieurs
Diagrammes de squence : reprsentation des messages
changs entre ensemble dobjets au fil du temps
Diagramme dactivits : reprsentation du flux de
contrle entre les tapes de traitement
MaudeManouvrier - Univ. Paris Dauphine
69
Modle dinteractions (2/17)
Cas dutilisation
Acteur
= Utilisateur externedirect dusystme
Objet ou ensemble dobjets communiquant directement = Objet ou ensemble dobjets communiquant directement
aveclesystmesansenfairepartie
= Tout cequi interagit directement aveclesystme
Ex. Un employ dune bibliothque
Cas dutilisation
Identificationdesfonctionnalitspouvant trefourniespar Identificationdesfonctionnalitspouvant trefourniespar
unsystmeeninteragissant aveclesacteurs
Ex. Lemploy enregistre un emprunt
Organisation des fonctionnalits selon le point de vue
utilisateur
MaudeManouvrier - Univ. Paris Dauphine
70
36
Modle dinteractions (3/17) Cas dutilisation
Cas dutilisation :Enregistrer un emprunt de livre
Rsum : Un emprunt dun livre pour un membre de la bibliothque est enregistr
Acteur : Un employ de la bibliothque
Caractrisation dun cas dutilisation
Pr-conditions : Lemprunteur doit tre inscrit la bibliothque et ne pas avoir atteint le
quota demprunts ou tre exclu ou pnalis et le livre doit pouvoir tre emprunt
Description : Lesystmedegestiondelabibliothqueest dans ltat Enregistrement
dun emprunt . Lemploy lit la carte de membre de lemprunteur. Aprs saisie, le
systme de prts indique sil reconnat lemprunteur et si lemprunteur est autoris
emprunter. Lemploy lit le code barre du livre emprunter. Si le livre peut tre
emprunt, (1) lemprunt est enregistrpour lemprunteur et lelivre, (2) ladatederetour
dulivreest enregistreet affiche, (3) lenombredelivrespouvant treencoreemprunts
MaudeManouvrier - Univ. Paris Dauphine 71
g , ( ) p p
par lemprunteur est misjour et affich.
Exceptions :
Annulation : Si lemprunteur ne peut pas emprunter ou si le livre ne peut pas tre
emprunt, le systme de prt revient lcran Enregistrement dun emprunt .
Post-conditions : La date de retour du livre emprunt et le nombre de livres pouvant tre
encore emprunts par lemprunteur sont affichs.
Modle dinteractions (4/17) Cas dutilisation
Diagramme dun cas dutilisation dun systme de
gestion dune bibliothque
Gestionnaire de bibliothque
Voir la liste des livres de la bibliothque
Chercher un livre
Insrer un livre
Enregistrer unemprunt
Membre
72
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf MaudeManouvrier - Univ. Paris Dauphine
Enregistrer un retour de livre
Enregistrer un placement en rserve
Enregistrer un emprunt
Employ
37
Modle dinteractions (5/17)
Conseils pratiques de [BR05] :
Fixer prcisment leslimitesdusystmes p y
Limiter unacteur unobjectif uniqueet cohrent quitte
capturer les objectifs dun mme objet rel travers
plusieursacteurs
Nepasdfinir troptroitement lescasdutilisation
Lier lesacteurset lescasdutilisation Lier lesacteurset lescasd utilisation
Nepaschercher tropformaliser
Structurer lescasdutilisationdesgrandssystmes
MaudeManouvrier - Univ. Paris Dauphine
73
Modle dinteractions (6/17)
Modles de squences
Prcision des thmes fonctionnels introduits par les
casdutilisation
Ajout de dtails et prcision de la description
informelledescasdutilisation
Deuxmodles:
Scnarios : squencedvnements ayant lieu lors
du fonctionnement du systme(ex. excution dun du o c o e e du sys e(e . e cu o d u
casdutilisation) - dcritesousformetextuelle
Diagrammes de squence : Reprsentation des
participants uneinteraction et deleurs messages
changs
MaudeManouvrier - Univ. Paris Dauphine
74
38
Modle dinteractions (7/17) Scnario
Squence dvnements se produisant lors dune excution
particuliredunsystme
R t ti d lhi t i d l ti d t Reprsentation de lhistorique de lexcution dun systme
rel existant ou dun prototype dexcution dun systme
envisag
Deportevarie:
Comprenant touslesvnementsdusystme
Ounincluant quelesvnementsaffectant certainsobjets
ougnrspar certainsobjets
tapedunscnario
= Commandeslogiques
Simplesclicsdesouris
MaudeManouvrier - Univ. Paris Dauphine
75
Modle dinteractions (8/17) Scnario
Scnario dune session dun systme de gestion de
bibliothque
MaudeManouvrier seconnecteaumoduledeRecherchedunlivre
Lesystmeafficheleformulairedesaisiederecherchedunlivre
MaudeManouvrier saisit letermeUML danslechampMot-cl
Le systme recherche, parmi les livres, ceux dont la liste de mots-cls
correspondantecontientlemot UML
Lesystmeretournelestitresdeslivresrpondantlarequte
MaudeManouvrier - Univ. Paris Dauphine
76
Lesystmeretournelestitresdeslivresrpondantlarequte
Maude Manouvrier clique sur louvrage intitul Modlisation et
conceptionorientesobjetavecUML 2
Lesystmeaffichelesinformationscorrespondantcelivre
MaudeManouvrier sedconnecte
39
Modle dinteractions (9/17)
Diagrammes de squence
Reprsentation des participants une interactions
et deleursmessageschangs g g
:Membre :SystmeDeGestionDeBibliothque
{Recherche des livres rpondant aux
i d h h }
Connexion au module Recherche dun livre
Affichage du formulaire de saisie
Saisie des paramtres de la recherche
MaudeManouvrier - Univ. Paris Dauphine
77
critres de recherche}
Affichage des titres des livres rsultat
Slection dun titre de livre
Affichage des informations du livre
Dconnexion
{Recherche des proprits du livre}
Modle dinteractions (10/17)
Diagrammes de squence
Ncessit davoir plusieurs diagrammes de squence
pour dcrirelecomportement dechaquecasdutilisation
Reprsentation dune squence de comportement par
diagrammedesquence
Ncessit de tracer un diagramme de squence pour
chaque condition dexception contenue dans un cas
dutilisation
Impossibilitdereprsenter touslesscnarios
Mais ncessit de dtailler tous les cas dutilisation et
tous les types de comportement possibles avec des
diagrammesdesquence
MaudeManouvrier - Univ. Paris Dauphine
78
40
Modle dinteractions (11/17)
Conseils pratiques de [BR05] :
Raliser aumoinsunscnariopar casdutilisation Raliser aumoinsunscnariopar casd utilisation
Synthtiser les scnarios par des diagrammes de
squence
Subdiviser lesinteractionscomplexes
Raliser undiagrammedesquencepar condition
derreur
MaudeManouvrier - Univ. Paris Dauphine
79
Modle dinteractions (12/17)
Modle dactivits
Diagramme dactivits :
Reprsentation des tapes dun processus complexe(ex Reprsentation des tapes d un processus complexe(ex.
algorithme ou workflow) et des contraintes de
squencement
Expressiondufluxdecontrle, commeundiagrammede
squences, mais avec une attention particulire sur les
oprationsplutt quelesobjets
Suite dtapes correspondant aux activits dcrites dans
lemodledtats
MaudeManouvrier - Univ. Paris Dauphine
80
41
Modle dinteractions (13/17) - Modle dactivits
lire carte membre afficher chec
[membre autoris
emprunter]
lirecodebarrelivre
[membre exclu ou pnalis ou dont
nbreEmprunt >maxNbreEmprunt]
lire code barre livre
[livre autoris
lemprunt]
activits
Point de dcision ou
Branchement conditionnel
Scission ou
fusion de fils
MaudeManouvrier - Univ. Paris Dauphine
81
enregistrer Emprunt modifier NbreEmprunt
afficher date de retour et nombre livres pouvant tre emprunts
fusion de fils
dexcution
(thread)
Modle dinteractions (14/17)
Modle dactivits
Diagramme dactivits :
Possibilit de dcomposer une activit en activits plus Possibilit de dcomposer une activit en activits plus
fines
Ncessit davoir un mme niveau de dtail pour toutes
lesactivitsdunmmediagramme
Possibilitdutiliser lacondition[else]
A i ibl l h i d l i i
!
Aucune garantie possible sur le choix de lactivit
excuteencasdesatisfactiondeplusieursconditions
Possibilitdavoir desactivitsconcurrentes
MaudeManouvrier - Univ. Paris Dauphine
82
!
42
Modle dinteractions (15/17)
Modle dactivits
Diagramme dactivits excutables g
Possibilit de placer un jeton dactivit sur une
activitpour indiquer sonexcution
Possibilit davoir plusieurs jetons en cas de
concurrence
Scission decontrle augmentation du nombre
dejetons
MaudeManouvrier - Univ. Paris Dauphine
83
Modle dinteractions (16/17)
Conseils pratiques de [BR05] :
Ne pas se servir des diagramme dactivits comme p g
dorganigrammespour dvelopper deslogiciels
quilibrer lesdiagrammesdactivits
Concevoir avec soinlesbranchementsconditionnelset les
conditions
Utiliser avecprudencelesactivitsconcurrentes Utiliser avecprudencelesactivitsconcurrentes
Excuter les diagrammes dactivits pour comprendre le
droulement dunprocessus
MaudeManouvrier - Univ. Paris Dauphine
84
43
Modle dinteractions (17/17)
Cas dutilisation : partition dun systme en
fonctionnalits discrtes et significatives pour les
acteurs(extrieursausystme) acteurs(extrieursausystme)
Possibilitdedtailler lescasdutilisationpar des
scnarios et desdiagrammes de squence
Diagramme de squence : reprsentation claire
des objets participant une interaction et des j p p
messagesmisoureuspar cesobjets
Diagramme dactivits : description des dtails
duntraitement
MaudeManouvrier - Univ. Paris Dauphine
85
Modle dinteractions
Concepts avancs
Relations entre cas dutilisation
Modles de squence procdurale
Notation spciales des modles dactivits
MaudeManouvrier - Univ. Paris Dauphine
86
44
Modle dinteraction
Concepts avancs (1/10)
Relation include
Insertion dun cas dutilisation dans la squence de q
comportementsdunautrecasdutilisation
Miseencommundecomportementscommunsplusieurscas
dutilisation
Casdutilisationinclus:
Sous-routine
MaudeManouvrier - Univ. Paris Dauphine
87
Unitdecomportement significativepour lesacteurs
Possibilitdutiliser lescasdutilisationinclusisolment
Modle dinteraction
Concepts avancs (2/10)
Relation include
Insrer un livre
Enregistrer un retour de livre
Enregistrer un emprunt
Identifier lemploy
include
include
include
MaudeManouvrier - Univ. Paris Dauphine
88
Enregistrer un placement en rserve
include
45
Modle dinteraction
Concepts avancs (3/10)
Relation extend
Ajout duncomportement incrmental uncasdutilisation
Extensionpossibleduncasdutilisationdebase
Associationduneconditionlarelationextend
Chercher un livre Rserver un livre
extend
MaudeManouvrier - Univ. Paris Dauphine
89
Enregistrer un emprunt Vrifier les rservations
extend
Modle dinteraction
Concepts avancs (4/10)
Gnralisation des cas dutilisation
Reprsentationdesvariantesduncasdutilisation
Cas dutilisation parent = reprsentation dune squence de Cas d utilisation parent reprsentation d une squence de
comportementsgnrale
Cas dutilisationenfant =insertiondtapes supplmentairesou
affinagedecertainestapesducasdutilisationparent
Chercher un livre
MaudeManouvrier - Univ. Paris Dauphine
90
!
Les cas dutilisation enfant ajoutent des tapes de comportement devant
apparatre la position approprie dans la squence de comportement du parent
Rechercher partir
dun nom dauteur
Rechercher partir
dun mot-cl
Rechercher partir
dun identifiant
46
Conseils pratiques de [BR05] :
Modle dinteraction
Concepts avancs (5/10)
Utiliser la gnralisation de cas dutilisation pour
reprsenter un cas dutilisation plusieurs variantes
maispaspour partager unfragment decomportement
Utiliser larelationinclude pour partager unfragment
de comportement correspondant une activit
significative significative
Utiliser la relation extend pour dfinir un cas
dutilisationayant descaractristiquesoptionnelles
MaudeManouvrier - Univ. Paris Dauphine
91
Modle dinteraction
Concepts avancs (6/10)
Diagramme de squence avec objets passifs
Notation ddie permettant dillustrer les appels de
d procdures
Dclenchement dun comportement dun objet passif
activationdelobjet passif
:SystmeDeGestionDeBibliothque :BaseDeLivres
d
MaudeManouvrier - Univ. Paris Dauphine
92
rechercherLivre (listeParamtresDeRecherche)
livre
P

r
i
o
d
e

d

a
c
t
i
v
a
t
i
o
n
47
Modle dinteraction
Concepts avancs (7/10)
Diagramme de squence avec objets temporaires
:SystmeDeGestionDeBibliothque :BaseDeLivres
insrerLivre ()
:Livre
crerLivre()
saisieDonnesDuLivre ()
donnes
insrerNuplet(arg)
{traiter donnes}
MaudeManouvrier - Univ. Paris Dauphine
93
Fin de vie de lobjet
!
Ne reprsenter les dtails dimplmentations que pour les diagrammes difficiles
ou particulirement importants [BR05]
Modle dinteraction
Concepts avancs (8/10)
mission et rception de signaux dans les
diagrammes dactivits
saisir commande de livre
demander validation
systme de
attendre rponse
mission de signal
MaudeManouvrier - Univ. Paris Dauphine
94
y
comptabilit
p
recevoir confirmation
envoyer commande
rception de signal
48
Modle dinteraction
Concepts avancs (9/10)
Couloir dactivits : rpartitiondes activits aux entits
organisationnelles
insrer livre dans la base imprimer tiquette
ll i li
Personnel des commandes Personnel des prts Personnel des rayons
MaudeManouvrier - Univ. Paris Dauphine
95
coller tiquette ranger livre en rayon
Modle dinteraction
Concepts avancs (10/10)
Flux dobjets : visualisation des relations entre une
opration et les objets apparaissant en arguments ou en
l d l i rsultat delopration
enregistrer emprunt acheter livre
:Livre
[disponible]
:Livre
mettreenrserve
:Livre
MaudeManouvrier - Univ. Paris Dauphine
96
[emprunt]
enregistrer retour livre
:Livre
[disponible]
mettre en rserve
[enRserve]
49
Rsum (1/7)
Trois points de vue diffrents mais apparents :
Modle de classes : description des objets dun
systme et de leurs relations
Modle dtats : description du cycle de vie des
objets
Modle dinteractions : descriptiondelafaondont Modle dinteractions : description de la faon dont
les objets interagissent
MaudeManouvrier - Univ. Paris Dauphine
97
Rsum (2/7)
Modle de classes
Description de la structure statique des objets :
identit relations avec les autres objets attributs et identit, relations avec les autres objets, attributs et
oprations
Cadre dinsertion pour les modles dtats et
dinteractions
Conceptsimportants:
Classe : ensembledobjetssimilaires Classe : ensembled objetssimilaires
Association : ensembledelienssimilairesentreobjets
Gnralisation : structuration de la description des
objets en les organisant en fonctiondeleurs diffrences
et deleurssimilarits
MaudeManouvrier - Univ. Paris Dauphine
98
50
Rsum (3/7)
Modle dtats
Descriptiondesaspectstemporelsdunobjet
vnement : vnement :
Marquedunchangement
Stimuli externe
tat :
Dfinitionducontextedunvnement
Valeursdunobjet
Diagramme dtats :
Description du comportement gnrique des objets
duneclasse
Reprsentation des squences dtats et dvnements
pour uneclassedobjetsdonne
MaudeManouvrier - Univ. Paris Dauphine
99
Rsum (4/7)
Modle dinteractions
Description de la faon dont les objets collaborent pour
obtenir desrsultats
Complment dumodledtats
Diffrents niveaux dabstraction pour modliser les
interactions:
Cas dutilisation : reprsentation des interactions du
systmeaveclesacteursextrieurs
Diagrammes de squence : reprsentation des
-
d

t
a
i
l
s
g q p
interactions entre objets et de leur succession dans le
temps
Diagramme dactivits : reprsentationdes interactions
avec mise en vidence du flux de contrle entre les
diffrentestapesdetraitement
MaudeManouvrier - Univ. Paris Dauphine
10
+
N
i
v
e
a
u

d
e

d
51
Rsum (5/7)
Relations entre les 3 modles
Mmes concepts (donnes, squencement et oprations)
maisavecaccentuationdiffrente
Modledeclasses:
Description de la structure des donnes sur lesquelles les modles
dtatset dinteractionsoprent
Correspondance entre les oprations du modle de classe et les
vnements, lesconditionset lesactivits
Modledtats:
Descriptiondelastructureducontrledesobjets
R t ti d d i i d d t d l d bj t Reprsentation des dcisions dpendant des valeurs des objets,
entranant les modifications de ces valeurs et les changements
dtats
Modledinteractions:
Concentrationsur leschangesentrelesobjets
Vueglobaledusystme
MaudeManouvrier - Univ. Paris Dauphine
101
Rsum (6/7)
Relations entre les 3 modles
Gnralisationdeclasses
Hritagedes attributs, oprations, associations, diagrammes dtats
delasuper-classepar sessous-classes
ibili d ili d fi i l i d l l Possibilit dutiliser ou redfinir les proprits de la super-classe
danslessous-classes
Le diagramme dtats dune sous-classe doit tre une addition
orthogonale au diagramme dtats de la super-classe [BR05]
Gnralisationdesignaux
Hritagedattributsdesignaux
Signal rel =feuilledunarbredegnralisationdesignaux
Si l t t f hi t d t iti i Signal entrant franchissement des transitions associes ses
signauxanctres
Gnralisationdecasdutilisation
Casdutilisationparent =squencegnraledecomportements
Cas dutilisation enfant =spcialisation du cas parent par insertion
dtapessupplmentairesouredfinitiondtapesexistantes
MaudeManouvrier - Univ. Paris Dauphine
102
52
Rsum (7/7)
Relations entre les 3 modles
Agrgationdobjets:
Dcomposition dun assemblage en lments
orthogonauxayant uneinteractionlimite orthogonauxayant uneinteractionlimite
Diagramme dtats dun agrgat = collection des
diagrammes dtats de chacun de ses lments
constituants
Agrgationdtats:
Possibilit de dcomposer un tat en tats plus petits,
chacun oprant indpendamment et possdant son
proprediagramme
tat de lobjet constitu dun tat de chaque sous-
diagramme
MaudeManouvrier - Univ. Paris Dauphine
103
Rsum des notations (1/16)
Modles de classes
NomDeClasse NomDObjet:NomDeClasse
nomAttribut1 [Mult.] : typeDeDonnes1 =Valeur parDfaut1
nomAttribut2 [Mult.] : typeDeDonnes2 =Valeur parDfaut2

nomOpration1 (listeArguments1) : TypeDuRsultat1


O ti 2(li t A t 2) T D R lt t2
NomDeClasse
MaudeManouvrier - Univ. Paris Dauphine
104
nomOpration2 (listeArguments2) : TypeDuRsultat2

NomDObjet:NomDeClasse
nomAttribut1=valeur1
nomAttribut2=valeur2
53
Rsum des notations (2/16)
Modles de classes
NomDeClasse1 NomDeClasse2
NomDAssociation
nomExtAssoc1 nomExtAssoc2
objet1:Classe1 objet2:Classe2
NomDeLien
Classe
1
*
Exactement 1
MaudeManouvrier - Univ. Paris Dauphine
105
Classe
*
Classe
0..1
Classe
1 ..*
Plusieurs (zro ou plus)
Optionnel (zro ou un)
Un ou plus
Modles de classes
NomDeClasse1 NomDeClasse2
Rsum des notations (3/16)
NomDeClasse1 NomDeClasse2
NomDAssociation
attribut

opration
MaudeManouvrier - Univ. Paris Dauphine
106
opration

Classe-Association
54
Rsum des notations (4/16)
Modles de classes
Classe1 Classe2
qualificateur
Classe
{ordered}
*
Association qualifie
MaudeManouvrier - Univ. Paris Dauphine
107
Classe
*
{sequence}
Classe
*
{bag}
Rsum des notations (5/16)
Modles de classes
SuperClasse
Hritage
SousClasse1 SousClasse2
SuperClasseAbstraite
oprationAbstraite1
oprationConcrte2
Classe Abstraite /
Classe Concrte
MaudeManouvrier - Univ. Paris Dauphine
108
SousClasseConcrte1
oprationConcrte1
oprationConcrte2
SousClasseConcrte2
oprationConcrte1
oprationConcrte3
55
Rsum des notations (6/16)
Modles de classes
ClasseAssemblage
* *
ClassePartie1
*
1
ClassePartie2
*
*
Agrgation
ClasseAssemblage
MaudeManouvrier - Univ. Paris Dauphine
109
ClassePartie1
1
1
ClassePartie2
1
*
Composition
Rsum des notations (7/16)
Modles de classes
Cl
Contrainte sur les objets :
Association1
Contrainte sur les associations :
S Cl
Contrainte sur les ensembles de gnralisation :
Classe
attribut1
attribut2
{attribut1 >=0}
Association1
Association2
*
Classe2
*
*
1
{subset} Classe1
MaudeManouvrier - Univ. Paris Dauphine
110
SuperClasse
SousClasse2 SousClasse1 SousClasse3
{overlapping, incomplete}
56
Rsum des notations (8/16)
Modles de classes
Classe
+oprationPublique
#oprationProtge
-oprationPrive
~oprationPackage
Visibilit
lment driv :
MaudeManouvrier - Univ. Paris Dauphine
111
/NomDeClasse
Classe1 Classe2
/NomDAssociation
/NomDeClasse
/attribut
Rsum des notations (9/16)
Modles dtats
NomDeDiagramme
evnement (attributs) [condition de franchissement] / effet
tat2 tat1

tat Initial tat Final


MaudeManouvrier - Univ. Paris Dauphine
112
Nom du diagramme
tat1
Points dentre
et de sortie
57
Rsum des notations (10/16)
Modles dtats
tatComposite
0
tatComposite
1 3
EtatImbriqu1 EtatImbriqu2
vnement0
vnement1
vnement2
MaudeManouvrier - Univ. Paris Dauphine
113
SousEtat1 SousEtat3
SousEtat2 SousEtat4
vnement1
vnement2
vnement0
vnement3
vnement4
Division de
contrle
Synchronisation
de contrle
Rsum des notations (11/16)
Modles dtats
S Et t1 S Et t3
tatComposite
SousEtat1
SousEtat2
SousEtat3
SousEtat4
vnement2
vnement1
Concurrence
lintrieur
dun objet
Etat
MaudeManouvrier - Univ. Paris Dauphine
114
Etat
entry/effet1
do/activit
venement1/effet2
vnement2/effet3

exit/effet4
Activits internes un tat
58
Rsum des notations (12/16)
Modles dinteractions
NomDeSujet
CasDUtilisation1
CasDUtilisation2
Acteur1
Diagramme
de cas
dutilisation
MaudeManouvrier - Univ. Paris Dauphine
115
CasDUtilisation3
Acteur2
Rsum des notations (13/16)
Modles dinteractions
CUParent
CUEnfant1 CUEnfant2
MaudeManouvrier - Univ. Paris Dauphine
116
CUDeBase CUInclus
include
CUDeBase CUExtension
extend
59
Rsum des notations (14/16)
Modles dinteractions
ObjetB ObjetA
opration1(a,b)
ObjetC
crerC()
Opration2(c,d)
rsultat1
Diagramme de
squence
MaudeManouvrier - Univ. Paris Dauphine
117
rsultat2
Rsum des notations (15/16)
Modles dinteractions
activit1
[condition1]
activit2
[condition2]
activit5 activit3
Diagramme
dactivits
MaudeManouvrier - Univ. Paris Dauphine
118
activit4
activit6
60
Rsum des notations (16/16)
Modles dinteractions
activit1
Acteur1 Acteur2 Acteur3
Diagramme
dactivits avec
couloirs dactivits
activit1
activit2
activit3
MaudeManouvrier - Univ. Paris Dauphine
119
activit1 :Classe activit2
activit1
:Classe
[tat]
activit2
Diagramme
dactivits
avec flux
dobjets