Sunteți pe pagina 1din 119

Master MIDO- 2me anne

Mise Niveau UML


Maude Manouvrier
Vocabulaire, mthodologie et thmes de lorient objet
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
and Design with UML, Prentice Hall 2005
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
Ivar Jacobson, Eyrolles, 2000 Traduction de louvrage The Unified
Modeling Language User Guide; Addison-Wesley, 1998
Transparents de cours de Robert Ogor :
http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Transparents de cours de Marie-Jos Blin
Maude Manouvrier - Univ. Paris Dauphine 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
Education, 2005
Maude Manouvrier - Univ. Paris Dauphine 3
Historique
Maude Manouvrier - Univ. Paris Dauphine 4
OMT
(Object Modeling
Technique - 1991)
de James Rumbaugh
OOSE
de Ivar Jacobson
Notation
de Grady Booch
UML - Unified Modeling Language
Standard de modlisation objet
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
Vocabulaire orient objet (1/3)
Orient objet : organisation dun logiciel sous la forme dune
collection dobjets indpendants incorporant structure de donnes
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
Maude Manouvrier - Univ. Paris Dauphine 5
Vocabulaire orient objet (2/3)
Classification : regroupement des objets ayant mme
structure de donnes (attributs) et mme comportement
(oprations)
Ex. TransparentDeCours; Enseignant
Classe : abstraction dcrivant un ensemble dobjets
potentiellement infini [BR05]
Maude Manouvrier - Univ. Paris Dauphine 6
Abstraction
Classe BulleEtLgende
Attributs
forme
couleurDeTrait
couleurDeRemplissage
Oprations
dessiner
effacer
dplacer
modifierTaille
Objets Bulles et Lgendes
Vocabulaire orient objet (3/3)
Instance dune classe : objet appartenant la classe
Hritage : partage de proprits entre classes sur la base dune
relation hirarchique
Super-classe (classe mre)
Sous-classe (classe fille) : spcialisation de la super-classe
Hritage des proprits de la super-classe
Polymorphisme : possibilit de comportements diffrents dune
mme opration dans diffrentes classes
Opration : action excute par un objet ou transformation
subie par un objet
Mthode : implmentation dune opration par une classe
Plusieurs mthodes pour une mme opration
Une mthode par classe pour une opration donne
Maude Manouvrier - Univ. Paris Dauphine 7
Mthodologie oriente objet
Spcification initiale : collaboration entre les analystes mtier et les
utilisateurs pour la gense de lapplication
Analyse
tude et re-formulation des besoins : collaboration avec le client pour
comprendre le problme
Modle danalyse : abstraction concise et prcise de lobjectif du
systme dvelopper (pas de la faon de le construire)
- Modle de domaine : description des objets du monde rel
manipuls par le systme
- Modle de lapplication : parties du systme visibles par
lutilisateur
Conception : stratgie de haut niveau (architecture du systme) pour
rsoudre le problme pos
tablissement des stratgies de conception gnrales
Allocations prvisionnelles des ressources
Conception des classes : concentration sur les structures de donnes et
algorithmes de chaque classe
Implmentation
Maude Manouvrier - Univ. Paris Dauphine
8
Thmes de lorient objet
Abstraction
Concentration sur ce que reprsente un objet et sur son comportement avant
de dcider de la faon de limplmenter
Encapsulation
Masquage de linformation : sparation des aspects externes dun objet
accessibles aux autres objets, des dtails de limplmentation cachs aux
autres objets
Regroupement des donnes et du comportement
Polymorphisme transfert de la dcision de quelle mthode utiliser la
hirarchie de classes
Partage
Hritage possibilit de partager des potions de code communes et clart
conceptuelle (mise en vidence de traitement commun)
Mise en vidence de la nature intrinsque des objets : sur ce quest un
objet et non sur la faon dont il est utilis
Synergie : combinaison des concepts didentit, classification, hritage et
polymorphisme pour former un langage objet
Maude Manouvrier - Univ. Paris Dauphine
9
Trois modles (1/2)
Modle de classes
Description de la structure statique des objets du systme et de
leurs relations
Diagramme de classes : graphe avec pour sommets les classes et
pour arcs les relations entre les classes
Modle dtats
Description des tats successifs dun objet au cours du temps
Diagramme dtats : graphe avec pour sommets les tats et pour
arcs les transitions entre tats dclenches par des vnements
Modles dinteractions
Description de la manire de cooprer des objets pour obtenir un
rsultat
Cas dutilisation ax sur une fonctionnalit
Diagramme de squence : reprsentation des interactions entre
objets et ordonnancement des interactions
Diagramme dactivits : dtails des tapes importantes du
traitement
Maude Manouvrier - Univ. Paris Dauphine
10
Trois modles (2/2)
Parties distinctes de la description du systme
mais interdpendantes
Le plus fondamental [BR05] : le modle de
classes
Il est ncessaire de dcrire ce qui change
ou se transforme avant de dcrire quand et
comment les changements ont lieu
Maude Manouvrier - Univ. Paris Dauphine
11
Modlisation oriente objet
Modle : abstraction pour comprendre un problme avant de
mettre en uvre une solution [BR05]
Tester une entit physique avant de la construire
Communiquer avec les clients
Visualiser
Rduire la complexit
Deux dimensions associes un modle :
1. Une vue dun systme (modle de classes, dtats ou dinteractions)
2. Un stade de dveloppement (analyse, conception ou implmentation)
Trois modles en UML
Modle de classes : aspects orients "donnes" du systme
Modle dtats : aspects temporels, comportementaux et de
"contrle " du systme
Modle dinteractions : collaboration entre objets
Un seul aspect du systme trait par chaque modle, mais relations entre les
trois modles
Variation du poids des modles en fonction du problme pos
Maude Manouvrier - Univ. Paris Dauphine
12
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
Maude Manouvrier - Univ. Paris Dauphine
13
Modle de classes (2/20) - Objet
Concept, abstraction ou entit ayant une
signification pour une application [BR05]
Avec une contrepartie dans le monde rel, ou
correspondant une entit conceptuelle ou introduit
pour les besoins de limplmentation
Ex. Maude Manouvrier; la formule pour calculer la
moyenne dun module; le pointeur dsign par la
variable p
Identifi et distinguable des autres objets
Maude Manouvrier - Univ. Paris Dauphine
14
Modle de classes (3/20) - Classe
Description dun groupe dobjets possdant
les mmes proprits (attributs) le mme
comportement (oprations), les mmes
relations et la mme smantique
Objet : instance de classe
Maude Manouvrier - Univ. Paris Dauphine
15
Classe Enseignement
Attributs
intitul
nombreHeures
Oprations
plannifier
Classe Enseignant
Attributs
nom
prnom
dateDeNaissance
Oprations
affecterEnseignement
Modle de classes (4/20)
Diagrammes de classes : Notation graphique
permettant la modlisation des classes et de
leurs relations
Diagrammes dobjets : Reprsentation des
objets individuels et de leurs relations
Maude Manouvrier - Univ. Paris Dauphine
16
Enseignant
Classe
MaudeManouvrier:Enseignant
Objet
Modle de classes (5/20)
Valeur : donne sans identit
Attribut : proprit nomme dune classe
dcrivant le type dune valeur contenue dans
chaque objet de la classe
Un objet est une classe ce quune valeur
est un attribut [BR05]
Maude Manouvrier - 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
didentification ayant une contrepartie dans le monde
rel
Maude Manouvrier - Univ. Paris Dauphine
18
Enseignant
EnseignantID:ID
nom:string
prnom:string
Enseignant
nom:string
prnom:string
Enseignant
NUMEN:integer
nom:string
prnom:string
Modle de classes (7/20)
Opration : fonction ou procdure pouvant tre
applique aux objets ou par les objets dune classe
Mthode : implmentation dune opration pour une
classe donne
Maude Manouvrier - Univ. Paris Dauphine
19
Enseignant
nom:string
prnom:string
affecterEnseignement (e:Enseignement)
nombreHeuresEnseignement: integer
Fichier
nom:string
localisation:string
imprimer
FichierPowerPoint
nombreTransparents:integer
imprimer
Modle de classes (8/20)
Proprit : terme gnrique pour attribut et opration
Notation des classes
Sens de flux (direction) : indication si un argument
est en entre non modifiable (in), une sortie (out) ou
une entre modifiable (inout)
SensDeFlux nomArgument : type = valeurParDfaut
Maude Manouvrier - Univ. Paris Dauphine
20
nomAttribut1 : typeDeDonnes1 = Valeur parDfaut1
nomAttribut2 : typeDeDonnes2 = Valeur parDfaut2

nomOpration1 (listeArguments1) : TypeDuRsultat1


nomOpration2 (listeArguments2) : TypeDuRsultat2

NomDeClasse
[ ] [ ]
Modle 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 smantique commune
Ex. un Enseignant Professe un Enseignement
Maude Manouvrier - Univ. Paris Dauphine
21
Enseignant
nom:string
prnom:string
*
Professe
*
Enseignement
intitul:string
nombreHeures:real
Diagramme de classes :
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
instance dune autre classe / contrainte sur le nombre dobjets lis
un--un
zro--un
plusieurs--plusieurs
Maude Manouvrier - Univ. Paris Dauphine
22
Enseignant
nom:string
prnom:string
1
EstAffectA
1
PosteTlphonique
numro:string
Enseignant
nom:string
prnom:string
0..1
APourBureau
1
Bureau
numro:integer
btiment:char
Enseignant
nom:string
prnom:string
*
Professe
*
Enseignement
intitul:string
nombreHeures:integer
Notation
Implmentation des associations par rfrence
Ex. Implmentation de lassociation Professe par un attribut
Enseignements dans la classe Enseignant et/ou un attribut
Enseignants dans la classe Enseignement
Ne pas confondre implmentation et modlisation
Modle de classes (11/20)
Liens et associations
Maude Manouvrier - Univ. Paris Dauphine
23
NomDeClasse
NomDAssociation
NomDeClasse
unObjet:NomDeClasse
NomDeLien
unObjet:NomDeClasse
!
Modle de classes (12/20) Noms dextrmit
Maude Manouvrier - Univ. Paris Dauphine
24
Transparent
titre:string

*
AppartientA
1
FichierPowerPoint
nom:string

contenu conteneur
*
Transparent
titre:string

*
point
pointant
Possibilit de nommer les extrmits dassociation
Indispensable pour les associations entre objets de
mme classe
Modle de classes (13/20)
Ordonnancement, bags et squences
Maude Manouvrier - Univ. Paris Dauphine
25
Transparent
titre:string

*
AppartientA
1
FichierPowerPoint
nom:string

{ordered}
*
Enseignement
Sance
1..* 1
{sequence}
Polycopi
*
{bag}
Ordonnancement des objets situs lextrmit dune
association plusieurs
Bag (sac) : collection non ordonne avec autorisation de
doublons
Squence : collection ordonne avec autorisation de doublons
Modle de classes (14/20) - Classe-association
Association qui est galement une classe
Caractrise par des attributs et des oprations
Maude Manouvrier - Univ. Paris Dauphine
26
DFR
nom:string
* *
Enseignant
nom:string
prnom:string
*
Enseignement
intitul:string
nombreHeures:integer
*
Professe
PrRequis
obligatoire:boolean
*
*
FaitRfrenceA
PanneauDAffichage
I
n
d
i
q
u
e
*
*
IntervientDans
nombreHeures:integer
imprimerDecompteHeures
Modle de classes (15/20) - Classe-association
Ne pas confondre classe-association et association
promue au rang de classe
Maude Manouvrier - Univ. Paris Dauphine
27
Enseignant
nom:string
prnom:string
*
Enseignement
intitul:string
nombreHeures:integer
*
APourPolycopi
intitul:string
imprimer
Il y a un seul polycopi par couple
Enseignant / Enseignement
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
lextrmit de multiplicit plusieurs dune association
Attribut rduisant la multiplicit plusieurs un
Association qualifie : association contenant un ou
plusieurs attributs qualificateurs
Maude Manouvrier - Univ. Paris Dauphine
28
SeSitueDans
* 1
Salle
numro:integer
capacit:integer
Btiment
nom:char
nbEtages:integer
Association
non
qualifie
Un numro de Salle permet didentifier une salle unique dans
un Btiment donn
Un numro de Salle est relatif un Btiment
Association
qualifie
SeSitueDans
1 1
Salle
capacit:integer
Btiment
nom:char
nbEtages:integer
numroDeSalle
Modle de classes (17/20)
Gnralisation et hritage
Gnralisation : relation hirarchique entre une
classe (la super-classe) et une ou plusieurs
variantes de cette classe (les sous-classes) [BR05]
Super-classe (ou classe-mre) : attributs,
oprations et associations communs
Sous-classe (ou classe fille) : attributs, oprations
et associations spcifiques
Hritage des proprits de la super-classe par ses
sous-classes
Maude Manouvrier - Univ. Paris Dauphine
29
Modle de classes (18/20)
Gnralisation et hritage
Maude Manouvrier - Univ. Paris Dauphine
30
Etudiant
numCarteEtudiant:integer
inscrire(formation:Formation)
Enseignant
grade:string
E
s
t
I
n
s
c
r
i
t
D
a
n
s
Formation
1
*
Tlphone
numro:string
type:string
* 1
Personne
nom:string
prnom:string
dateDeNaissance:date
calculerAge:integer
{Note : Un
enseignant peut
tre tudiant}
Modle de classes (19/20)
Gnralisation et hritage
Objectifs de la gnralisation [BR05] :
Prise en charge du polymorphisme
Structuration de la description des objets
Possibilit de rutiliser du code
Maude Manouvrier - Univ. Paris Dauphine
31
Modle de classes (20/20)
Gnralisation et hritage
Redfinition des proprits :
Maude Manouvrier - Univ. Paris Dauphine
32
Transparent
titre:string

imprimer
TransparentFixe
TransparentAvecAnimation
imprimer
Les signatures des
oprations et les types des
attributs redfinis dans les
sous-classes doivent tre
compatibles avec ceux de la
super-classe
!
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
Maude Manouvrier - Univ. Paris Dauphine
33
Modle de classes - Concepts avancs (1/12)
numration : type de donnes ayant un
ensemble fini de valeurs
Maude Manouvrier - Univ. Paris Dauphine
34
GradeEnseignant
Professeur MatreDeConfrences ATER Vacataire
enumeration
GradeEnseignant
professeur
matreDeConfrence
ater
vacataire
Modle de classes - Concepts avancs (2/12)
Multiplicit des attributs
[1] : une valeur obligatoire
[0..1] : une seule valeur optionnelle
[*] : zro ou plusieurs valeurs
Par dfaut : attribut mono-valu ([1])
Maude Manouvrier - Univ. Paris Dauphine
35
Personne
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
classe
Attribut statique : attribut dont la porte est
la classe
Maude Manouvrier - Univ. Paris Dauphine
36
Enseignant
nom:string
prnom:string
*
Professe
*
Enseignement
nbHeuresEnseignement:integer
dureEnHeures:integer
intitul:string
nombreHeures:integer
Modle de classes - Concepts avancs (4/12)
Visibilit : aptitude dune mthode rfrencer une
proprit depuis une autre classe
public (+) : proprit accessible par nimporte quelle mthode
protected (#) : proprit protge dune classe uniquement
visible par les mthodes de la classe et de ses sous-classes
private (-) : proprit uniquement visible par les mthodes de
la classe o elle a t dfinie
package (~) : proprit accessible par les mthodes dfinies
dans le mme package
Maude Manouvrier - Univ. Paris Dauphine
37
Signification pouvant varier en fonction du langage de
programmation
Possibilit dappliquer la visibilit aux extrmits dassociation
!
Modle de classes - Concepts avancs (5/12)
Association n-aire
Maude Manouvrier - Univ. Paris Dauphine
38
Diagramme de classes
MNUML:Enseignement
A703:Salle
Diagramme dobjets
A viter ! Peut tre dcompose
en associations binaires
MaudeManouvrier:Enseignant
MNBD:Enseignement
*
*
*
Enseignant Enseignement
Salle
Modle de classes - Concepts avancs (6/12)
Agrgation
Maude Manouvrier - Univ. Paris Dauphine
39
Salle Sige
VidoProjecteur
Tableau
1
1
*
1
*
0..1
Objet constitu
Objet constituant
Objet constituant
Objet constituant
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
Maude Manouvrier - Univ. Paris Dauphine
40
Sous-classes dune classe abstraite :
obligatoirement concrtes
Possibilit dutiliser {abstract}
MembreUniversit
tudiant Enseignant Administratif
Modle de classes - Concepts avancs (8/12)
Hritage multiple : hritage permettant une
classe davoir plusieurs super-classes et dhriter
des proprits de tous ses parents
Maude Manouvrier - Univ. Paris Dauphine
41
MembreUniversit
tudiant
Moniteur
Enseignant Administratif
Moniteur hrite des
proprits de Enseignant
et dEtudiant et une seule
fois des proprits de
MembreUniversit.
difficults
dimplmentation
!
Modle de classes - Concepts avancs (9/12)
Contrainte : condition boolenne sappliquant
aux lments dun modle UML
Maude Manouvrier - Univ. Paris Dauphine
42
MembreUniversit
tudiant Enseignant Administratif
{overlapping, incomplete}
Contrainte sur les ensembles de gnralisation :
Enseignement
intitul:string
nombreHeures:real
{nombreHeures 1,5}
Contrainte sur les objets :
EstMembreDe
Contrainte sur les associations :
Dirige
1..*
Laboratoire
0..1
0..1
1
{subset} Enseignant
Modle de classes - Concepts avancs (10/12)
lment driv : donne dfinie en terme
dautres lments
Maude Manouvrier - Univ. Paris Dauphine
43
tudiant
nom
prnom
dateDeNaissance
Enseignement
intitul
nombreHeures
1..*
*
noteCC
notePartiel
noteExam
/noteFinale
valuation
{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 : groupe dlments partageant un thme
commun
Maude Manouvrier - Univ. Paris Dauphine
44
SeSitueDans
1 1
Salle
capacit:integer
numroDeSalle
PlanningCentral
CalendrierPdagogique
Rservation
Btiment
nom:char
nbEtages:integer
Modle de classes - Concepts avancs (12/12)
Package [BR05] :
Utile pour organiser les grands modles
Ne dfinir une classe (i.e. reprsenter ses
proprits) que dans un seul package
Rfrencer une classe dun autre package en
nutilisant que le nom de la classe
Maude Manouvrier - Univ. Paris Dauphine
45
Modle dtats (1/15)
Description des aspects dun systme relatifs la
dure et au squenage des oprations
Compos dautant diagrammes dtats que de
classes dotes dun comportement temporel
significatif pour lapplication
Vocabulaire :
vnements
tats
Transitions et conditions de franchissement
Maude Manouvrier - Univ. Paris Dauphine
46
Modle dtats (2/15) - vnement
Occurrence ou fait ayant lieu un moment donn
Modification intervenue dans lenvironnement
Ex. Rservation annule
Vrification de conditions derreur
Ex. nombre demprunts > 6
Vocabulaire :
vnement concurrents : vnements sans relation de
causalit, sans effet lun sur lautre, dont lexcution peut se
chevaucher dans le temps
vnement de signal
vnement de changement
vnement temporel
Maude Manouvrier - Univ. Paris Dauphine
47
Modle dtats (3/15) vnement de signal
Signal : transmission dinformation explicite et
unidirectionnelle dun objet un autre
Regroupement des signaux dans des classes de signaux
vnement de signal : vnement denvoi ou de
rception dun signal
Maude Manouvrier - Univ. Paris Dauphine
48
signal
RetourLivre
numroLivre
dateRetour
Le livre 055.7 RAMest
retourn le 15/09/2005
Instance de la classe de signaux RetourLivre
signal
DemandeDeRservation
numroSalle
dateResa
heureDbut
heureFin
attribution
Modle dtats (4/15) vnement
vnement de changement : vnement engendr
par la satisfaction dune expression boolenne
Passage de lexpression de faux vrai
dclenchement de lvnement de changement
when (nombre dtudiants > capacit de la salle)
when (nombre dtudiants < 10)
when (nombre dabsences en TD > 3)
vnement temporel : vnement engendr par
loccurrence dun temps absolu ou lcoulement dune
dure
when (date < 18/12/2005)
after (15 minutes)
Maude Manouvrier - Univ. Paris Dauphine
49
Modle dtats (5/15) - tat
Abstraction de valeurs et de liens dun objet
Spcification de la rponse dun objet des
vnements entrants
tat vs vnement :
vnement : reprsentation dun moment prcis
dans le temps
tat : intervalle sparant la rception de deux
vnements par un objet
Maude Manouvrier - Univ. Paris Dauphine
50
LivreEmprunt
Modle dtats (6/15) - tat
Maude Manouvrier - Univ. Paris Dauphine
51
tat : LibreEmprunt
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 :
vnement action tat suivant
retourLivre terminerEmprunt LivreDisponible
Caractrisation dun tat
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Modle dtats (7/15)
Transition et conditions de franchissement
Transition : passage instantan dun tat un autre
Condition de franchissement (guard condition) :
expression boolenne devant tre vraie pour le
franchissement de la transition
Maude Manouvrier - Univ. Paris Dauphine
52
LivreDisponible
[ NbreEmprunt < NbreMaxEmprunt ]
LivreEmprunt
Attention : Condition de franchissement vnement
Condition de franchissement value une seule fois
vnement de changement valu en permanence
Modle dtats (8/15) - Diagramme dtats
Graphe orient dont les sommets sont les tats et les
arcs les transitions entre les tats
Spcification des successions dtats provoqus par
des successions dvnements
Associ une classe
En boucle infinie ou irrversible (one-shot)
Maude Manouvrier - Univ. Paris Dauphine
53
event (attributs) [condition de franchissement] / effet
tat2

Nom du diagramme
tat1
do / activit
event / effet
Modle dtats (9/15) - Diagramme dtats
Maude Manouvrier - 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
LivreDisponible
LivreEmprunt
achat
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
EmpruntDeLivre
Modle dtats (10/15) - Diagramme dtats
Maude Manouvrier - Univ. Paris Dauphine
55
Emprunteur
Inscrit
inscriptionAutorise
E
x
c
l
u
s
A
y
a
n
t
P
r
i
s
Q
u
i
t
u
s
D

b
u
t
demandeDeQuitus
[nbEmprunt=0]
Empruntant
retourLivre
[dateActuelle dateRetour et
nbreEmprunt=1]
emprunt
[nbreEmprunt<nbreMaxEmprunt]
exclusion [Penalit>MaxPnalit]
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
Pnalis
retourLivre
[dateActuelle > dateRetour]
f
i
n
P

n
a
l
i
s
a
t
i
o
n
emprunt
[nbreEmprunt<
nbreMaxEmprunt
et nbEmprunt>1 ]
finPnalisation [nbEmprunt>1]
[
n
b
E
m
p
r
u
n
t
=
0
]
Modle dtats (11/15) Effets et activits
Effet : Rfrence un comportement excut en rponse un
vnement not par / suivi du nom de lactivit
Activit : Comportement rel invoqu par un nombre
quelconque deffets
Effectue suite une transition, lentre ou la sortie dun
tat, ou suite un autre vnement au sein dun tat
Pouvant reprsenter des oprations de contrle internes (Ex.
affectation de valeur un attribut ou gnration dun autre
vnement)
Sans contrepartie dans la monde rel mais pour structurer le
flux de contrle dans une implmentation
Maude Manouvrier - Univ. Paris Dauphine
56
Inscrit
emprunt / nbreEmprunt:= nbreEmprunt + 1
Empruntant
retourLivre / nbreEmprunt:= nbreEmprunt - 1
Modle dtats (12/15)
Activits do - Activits dentre et de sortie
Activit associe au mot-cl do : Activit continue ou
squentielle excute sur une longue dure
Associe uniquement un tat (et non une transition)
Pouvant tre excute sur tout ou partie de la dure pendant
laquelle un objet est dans ltat
Pouvant tre interrompue par un vnement reu pendant
son excution
Activit dentre ou de sortie : excute lentre (entry /) ou
la sortie dun tat (exit /)
Maude Manouvrier - Univ. Paris Dauphine
57
LivreEnRserve
do / clignoter livre non disponible
LivreEmprunt
entry / enregistrer date de retour
Modle dtats (13/15) Activits
Ordre dexcution des activits pour un tat :
1. Activits de la transition entrante
2. Activits dentre
3. Activits do
4. Activits de sortie
5. Activits de la transition sortante
Si vnement provoquant des transitions hors de ltat
Interruption des activits do
Mais excution de lactivit de sortie
Auto-transition
excution des activits dentre et de sortie
Maude Manouvrier - Univ. Paris Dauphine
58
Modle dtats (14/15)
Transitions dachvement et envoi de signaux
Transition dachvement : Transition automatique, sans
vnement associ, excute la fin de lexcution des
activits dun tat
Envoi de signaux : Interaction du systme dobjets par
change de signaux
send cible.S(attributs)
Condition de concurrence critique (race condition) : tat
final affect par lordre dexcution des signaux reus
Maude Manouvrier - Univ. Paris Dauphine
59
!
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
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
diffrents vnements ou ayant plus dun tat
Pas de ncessit de construire un diagramme
dtats 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
Modle dtats - Concepts avancs
Diagrammes dtats imbriqus
tats imbriqus
Concurrence
Relations entre modle de classes et modle
dtats
Maude Manouvrier - Univ. Paris Dauphine
61
Modle dtats - Concepts avancs (1/7)
Diagrammes dtats imbriqus
Possibilit de dtailler un tat par un sous-automate
Maude Manouvrier - Univ. Paris Dauphine
62
LivreDisponible:RangerLivre
Nom de ltat
Nom du sous-automate
RangerLivre
do / mettre jour serveur Web
do / mettre livre en rayon
Diagramme dtats
de plus bas niveau
dtaillant ltat
LivreDisponible
A utiliser de prfrence pour des modles de plus de 10 15 tats [BR05]
Modle dtats - Concepts avancs (2/7)
Diagrammes dtats imbriqus
Possibilit dtats imbriqus
Maude Manouvrier - Univ. Paris Dauphine
63
LivreAuDpot
LivreAu1erSousSol
LivreEnRserve
[dateActuelle>dateDernier
Emprunt+180 jours]
[dateActuelle>dateDernierEmprunt+365 jours]
LivreDisponible
livreDemand
tat imbriqu
tat imbriqu
tat composite
Chacun des tats imbriqus reoit
les transitions sortantes de son tat
composite [BR05]
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
diagrammes dtats de ses sous-parties
Concurrence lintrieur dun objet
Possibilit de partitionner un objet en sous-ensembles
dattributs et de liens, chacun des sous-ensembles ayant un
diagramme dtats
Maude Manouvrier - Univ. Paris Dauphine
64
LivreDisponible
LivreEnRayon LivreDrang
rangement
LivreEnRayon LivreRetourn
rangement
Modle dtats - Concepts avancs (4/7)
Synchronisation du contrle des activits concurrentes
Possibilit pour un mme objet dexcuter des
activits concurrentes
Pas de synchronisation des activits
Mais division du contrle des activits
Et synchronisation du contrle
Maude Manouvrier - Univ. Paris Dauphine
65
RangerLivre
do / mettre jour serveur Web
do / mettre livre en rayon
Division du contrle en deux
parties concurrentes (fork)
Modle dtats - Concepts avancs (5/7)
Maude Manouvrier - Univ. Paris Dauphine
66
Relations modle de classes modle dtats
Modle de classes :
Description des objets, valeurs et liens pouvant exister
dans un systme
Modlisation des diffrences intrinsques entre objets
Modle dtats :
Spcification des squences possibles de modification
des objets du modle de classes
Modlisation des diffrences temporaires entre objets
Diagramme dtats = description de tout ou partie du
comportement des objets dune classe donne
tat = valeurs et liens dtenus par un objet
Modle dtats - Concepts avancs (6/7)
Maude Manouvrier - Univ. Paris Dauphine
67
Relations modle de classes modle dtats (suite)
Agrgation dobjets
Des tats indpendants propres chaque partie dune
agrgation
Ltat de lassemblage = combinaison des tats de
toutes ses parties
Hirarchie de classes dobjets
Hritage par les sous-classes des modle dtats de
leur classe anctre
Possibilit pour les sous-classes davoir leur propre
diagramme dtats, traitant de prfrence uniquement
des attributs propres aux sous-classes
Modle dtats - Concepts avancs (7/7)
Relations modle de classes modle dtats (suite)
Possibilit de dfinir les signaux travers
diffrentes classes - parallles aux classes dobjets
Possibilit dimplmenter les transitions comme des
oprations sur des objets (avec comme nom
dopration : le nom du signal correspondant)
Pouvoir dexpression plus puissant des signaux car
dpendance entre la rponse un vnement et
ltat de lobjet recevant lvnement
Maude Manouvrier - Univ. Paris Dauphine
68
!
Modle dinteractions (1/17)
Modle de classes = reprsentation des objets et de leurs
relations
Modle dtats = description du cycle de vie des objets
Modle dinteractions = expression de la faon dont les
objets interagissent pour produire des rsultats utiles
lapplication [BR05]
Plusieurs niveaux dabstraction du modle dinteractions :
Cas dutilisation : description de linteraction du systme
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
Maude Manouvrier - Univ. Paris Dauphine
69
Modle dinteractions (2/17)
Cas dutilisation
Acteur
= Utilisateur externe direct du systme
= Objet ou ensemble dobjets communiquant directement
avec le systme sans en faire partie
= Tout ce qui interagit directement avec le systme
Ex. Un employ dune bibliothque
Cas dutilisation
Identification des fonctionnalits pouvant tre fournies par
un systme en interagissant avec les acteurs
Ex. Lemploy enregistre un emprunt
Organisation des fonctionnalits selon le point de vue
utilisateur
Maude Manouvrier - Univ. Paris Dauphine
70
Modle dinteractions (3/17) Cas dutilisation
Maude Manouvrier - Univ. Paris Dauphine
71
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
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 : Le systme de gestion de la bibliothque est 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 enregistr pour lemprunteur et le livre, (2) la date de retour
du livre est enregistre et affiche, (3) le nombre de livres pouvant tre encore emprunts
par lemprunteur est mis jour 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.
Caractrisation dun cas dutilisation
Modle dinteractions (4/17) Cas dutilisation
72
Diagramme dun cas dutilisation dun systme de
gestion dune bibliothque
Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf Maude Manouvrier - Univ. Paris Dauphine
Voir la liste des livres de la bibliothque
Chercher un livre
Insrer un livre
Enregistrer un retour de livre
Enregistrer un placement en rserve
Enregistrer un emprunt
Gestionnaire de bibliothque
Membre
Employ
Modle dinteractions (5/17)
Conseils pratiques de [BR05] :
Fixer prcisment les limites du systmes
Limiter un acteur un objectif unique et cohrent quitte
capturer les objectifs dun mme objet rel travers
plusieurs acteurs
Ne pas dfinir trop troitement les cas dutilisation
Lier les acteurs et les cas dutilisation
Ne pas chercher trop formaliser
Structurer les cas dutilisation des grands systmes
Maude Manouvrier - Univ. Paris Dauphine
73
Modle dinteractions (6/17)
Modles de squences
Prcision des thmes fonctionnels introduits par les
cas dutilisation
Ajout de dtails et prcision de la description
informelle des cas dutilisation
Deux modles :
Scnarios : squence dvnements ayant lieu lors
du fonctionnement du systme (ex. excution dun
cas dutilisation) - dcrite sous forme textuelle
Diagrammes de squence : Reprsentation des
participants une interaction et de leurs messages
changs
Maude Manouvrier - Univ. Paris Dauphine
74
Modle dinteractions (7/17) Scnario
Squence dvnements se produisant lors dune excution
particulire dun systme
Reprsentation de lhistorique de lexcution dun systme
rel existant ou dun prototype dexcution dun systme
envisag
De porte varie :
Comprenant tous les vnements du systme
Ou nincluant que les vnements affectant certains objets
ou gnrs par certains objets
tape dun scnario
= Commandes logiques
Simples clics de souris
Maude Manouvrier - Univ. Paris Dauphine
75
Modle dinteractions (8/17) Scnario
Scnario dune session dun systme de gestion de
bibliothque
Maude Manouvrier - Univ. Paris Dauphine
76
Maude Manouvrier se connecte au module de Recherche dun livre
Le systme affiche le formulaire de saisie de recherche dun livre
Maude Manouvrier saisit le terme UML dans le champ Mot-cl
Le systme recherche, parmi les livres, ceux dont la liste de mots-cls
correspondante contient le mot UML
Le systme retourne les titres des livres rpondant la requte
Maude Manouvrier clique sur louvrage intitul Modlisation et
conception orientes objet avec UML 2
Le systme affiche les informations correspondant ce livre
Maude Manouvrier se dconnecte
Modle dinteractions (9/17)
Diagrammes de squence
Reprsentation des participants une interactions
et de leurs messages changs
Maude Manouvrier - Univ. Paris Dauphine
77
:Membre :SystmeDeGestionDeBibliothque
{Recherche des livres rpondant aux
critres de recherche}
Connexion au module Recherche dun livre
Affichage du formulaire de saisie
Saisie des paramtres de la 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 dcrire le comportement de chaque cas dutilisation
Reprsentation dune squence de comportement par
diagramme de squence
Ncessit de tracer un diagramme de squence pour
chaque condition dexception contenue dans un cas
dutilisation
Impossibilit de reprsenter tous les scnarios
Mais ncessit de dtailler tous les cas dutilisation et
tous les types de comportement possibles avec des
diagrammes de squence
Maude Manouvrier - Univ. Paris Dauphine
78
Modle dinteractions (11/17)
Conseils pratiques de [BR05] :
Raliser au moins un scnario par cas dutilisation
Synthtiser les scnarios par des diagrammes de
squence
Subdiviser les interactions complexes
Raliser un diagramme de squence par condition
derreur
Maude Manouvrier - Univ. Paris Dauphine
79
Modle dinteractions (12/17)
Modle dactivits
Diagramme dactivits :
Reprsentation des tapes dun processus complexe (ex.
algorithme ou workflow) et des contraintes de
squencement
Expression du flux de contrle, comme un diagramme de
squences, mais avec une attention particulire sur les
oprations plutt que les objets
Suite dtapes correspondant aux activits dcrites dans
le modle dtats
Maude Manouvrier - Univ. Paris Dauphine
80
Modle dinteractions (13/17) - Modle dactivits
Maude Manouvrier - Univ. Paris Dauphine
81
lire carte membre afficher chec
[membre autoris
emprunter]
lire code barre livre
[
l
i
v
r
e

n
o
n

a
u
t
o
r
i
s

e
m
p
r
u
n
t
]
[livre autoris
lemprunt]
enregistrer Emprunt
modifier NbreEmprunt
[membre exclu ou pnalis ou dont
nbreEmprunt > maxNbreEmprunt]
afficher date de retour et nombre livres pouvant tre emprunts
activits
Point de dcision ou
Branchement conditionnel
Scission ou
fusion de fils
dexcution
(thread)
Modle dinteractions (14/17)
Modle dactivits
Diagramme dactivits :
Possibilit de dcomposer une activit en activits plus
fines
Ncessit davoir un mme niveau de dtail pour toutes
les activits dun mme diagramme
Possibilit dutiliser la condition [else]
Aucune garantie possible sur le choix de lactivit
excute en cas de satisfaction de plusieurs conditions
Possibilit davoir des activits concurrentes
Maude Manouvrier - Univ. Paris Dauphine
82
!
!
Modle dinteractions (15/17)
Modle dactivits
Diagramme dactivits excutables
Possibilit de placer un jeton dactivit sur une
activit pour indiquer son excution
Possibilit davoir plusieurs jetons en cas de
concurrence
Scission de contrle augmentation du nombre
de jetons
Maude Manouvrier - Univ. Paris Dauphine
83
Modle dinteractions (16/17)
Conseils pratiques de [BR05] :
Ne pas se servir des diagramme dactivits comme
dorganigrammes pour dvelopper des logiciels
quilibrer les diagrammes dactivits
Concevoir avec soin les branchements conditionnels et les
conditions
Utiliser avec prudence les activits concurrentes
Excuter les diagrammes dactivits pour comprendre le
droulement dun processus
Maude Manouvrier - Univ. Paris Dauphine
84
Modle dinteractions (17/17)
Cas dutilisation : partition dun systme en
fonctionnalits discrtes et significatives pour les
acteurs (extrieurs au systme)
Possibilit de dtailler les cas dutilisation par des
scnarios et des diagrammes de squence
Diagramme de squence : reprsentation claire
des objets participant une interaction et des
messages mis ou reus par ces objets
Diagramme dactivits : description des dtails
dun traitement
Maude Manouvrier - Univ. Paris Dauphine
85
Modle dinteractions
Concepts avancs
Relations entre cas dutilisation
Modles de squence procdurale
Notation spciales des modles dactivits
Maude Manouvrier - Univ. Paris Dauphine
86
Modle dinteraction
Concepts avancs (1/10)
Maude Manouvrier - Univ. Paris Dauphine
87
Relation include
Insertion dun cas dutilisation dans la squence de
comportements dun autre cas dutilisation
Mise en commun de comportements communs plusieurs cas
dutilisation
Cas dutilisation inclus :
Sous-routine
Unit de comportement significative pour les acteurs
Possibilit dutiliser les cas dutilisation inclus isolment
Modle dinteraction
Concepts avancs (2/10)
Maude Manouvrier - Univ. Paris Dauphine
88
Insrer un livre
Enregistrer un retour de livre
Enregistrer un placement en rserve
Enregistrer un emprunt
Identifier lemploy
include
include
include
include
Relation include
Modle dinteraction
Concepts avancs (3/10)
Maude Manouvrier - Univ. Paris Dauphine
89
Relation extend
Ajout dun comportement incrmental un cas dutilisation
Extension possible dun cas dutilisation de base
Association dune condition la relation extend
Chercher un livre Rserver un livre
extend
Enregistrer un emprunt Vrifier les rservations
extend
Modle dinteraction
Concepts avancs (4/10)
Maude Manouvrier - Univ. Paris Dauphine
90
Gnralisation des cas dutilisation
Reprsentation des variantes dun cas dutilisation
Cas dutilisation parent = reprsentation dune squence de
comportements gnrale
Cas dutilisation enfant = insertion dtapes supplmentaires ou
affinage de certaines tapes du cas dutilisation parent
!
Les cas dutilisation enfant ajoutent des tapes de comportement devant
apparatre la position approprie dans la squence de comportement du parent
Chercher un livre
Rechercher partir
dun nom dauteur
Rechercher partir
dun mot-cl
Rechercher partir
dun identifiant
Conseils pratiques de [BR05] :
Utiliser la gnralisation de cas dutilisation pour
reprsenter un cas dutilisation plusieurs variantes
mais pas pour partager un fragment de comportement
Utiliser la relation include pour partager un fragment
de comportement correspondant une activit
significative
Utiliser la relation extend pour dfinir un cas
dutilisation ayant des caractristiques optionnelles
Maude Manouvrier - Univ. Paris Dauphine
91
Modle dinteraction
Concepts avancs (5/10)
Modle dinteraction
Concepts avancs (6/10)
Maude Manouvrier - Univ. Paris Dauphine
92
Diagramme de squence avec objets passifs
Notation ddie permettant dillustrer les appels de
procdures
Dclenchement dun comportement dun objet passif
activation de lobjet passif
:SystmeDeGestionDeBibliothque
rechercherLivre (listeParamtresDeRecherche)
:BaseDeLivres
livre
P

r
i
o
d
e

d

a
c
t
i
v
a
t
i
o
n
Modle dinteraction
Concepts avancs (7/10)
Maude Manouvrier - Univ. Paris Dauphine
93
Diagramme de squence avec objets temporaires
insrerLivre ()
:SystmeDeGestionDeBibliothque :BaseDeLivres
:Livre
crerLivre()
saisieDonnesDuLivre ()
donnes
insrerNuplet(arg)
Fin de vie de lobjet
!
Ne reprsenter les dtails dimplmentations que pour les diagrammes difficiles
ou particulirement importants [BR05]
{traiter donnes}
Modle dinteraction
Concepts avancs (8/10)
Maude Manouvrier - Univ. Paris Dauphine
94
mission et rception de signaux dans les
diagrammes dactivits
saisir commande de livre
demander validation
systme de
comptabilit
attendre rponse
recevoir confirmation
envoyer commande
mission de signal
rception de signal
Modle dinteraction
Concepts avancs (9/10)
Maude Manouvrier - Univ. Paris Dauphine
95
Couloir dactivits : rpartition des activits aux entits
organisationnelles
insrer livre dans la base
imprimer tiquette
coller tiquette ranger livre en rayon
Personnel des commandes Personnel des prts Personnel des rayons
Modle dinteraction
Concepts avancs (10/10)
Maude Manouvrier - Univ. Paris Dauphine
96
Flux dobjets : visualisation des relations entre une
opration et les objets apparaissant en arguments ou en
rsultat de lopration
enregistrer emprunt acheter livre
:Livre
[disponible]
:Livre
[emprunt]
enregistrer retour livre
:Livre
[disponible]
mettre en rserve
:Livre
[enRserve]
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 : description de la faon dont
les objets interagissent
Maude Manouvrier - 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
oprations
Cadre dinsertion pour les modles dtats et
dinteractions
Concepts importants :
Classe : ensemble dobjets similaires
Association : ensemble de liens similaires entre objets
Gnralisation : structuration de la description des
objets en les organisant en fonction de leurs diffrences
et de leurs similarits
Maude Manouvrier - Univ. Paris Dauphine
98
Rsum (3/7)
Modle dtats
Description des aspects temporels dun objet
vnement :
Marque dun changement
Stimuli externe
tat :
Dfinition du contexte dun vnement
Valeurs dun objet
Diagramme dtats :
Description du comportement gnrique des objets
dune classe
Reprsentation des squences dtats et dvnements
pour une classe dobjets donne
Maude Manouvrier - Univ. Paris Dauphine
99
Rsum (4/7)
Modle dinteractions
Description de la faon dont les objets collaborent pour
obtenir des rsultats
Complment du modle dtats
Diffrents niveaux dabstraction pour modliser les
interactions :
Cas dutilisation : reprsentation des interactions du
systme avec les acteurs extrieurs
Diagrammes de squence : reprsentation des
interactions entre objets et de leur succession dans le
temps
Diagramme dactivits : reprsentation des interactions
avec mise en vidence du flux de contrle entre les
diffrentes tapes de traitement
Maude Manouvrier - Univ. Paris Dauphine
10
+
-
N
i
v
e
a
u

d
e

d

t
a
i
l
s
Rsum (5/7)
Relations entre les 3 modles
Mmes concepts (donnes, squencement et oprations)
mais avec accentuation diffrente
Modle de classes :
Description de la structure des donnes sur lesquelles les modles
dtats et dinteractions oprent
Correspondance entre les oprations du modle de classe et les
vnements, les conditions et les activits
Modle dtats :
Description de la structure du contrle des objets
Reprsentation des dcisions dpendant des valeurs des objets,
entranant les modifications de ces valeurs et les changements
dtats
Modle dinteractions :
Concentration sur les changes entre les objets
Vue globale du systme
Maude Manouvrier - Univ. Paris Dauphine
101
Rsum (6/7)
Relations entre les 3 modles
Gnralisation de classes
Hritage des attributs, oprations, associations, diagrammes dtats
de la super-classe par ses sous-classes
Possibilit dutiliser ou redfinir les proprits de la super-classe
dans les sous-classes
Le diagramme dtats dune sous-classe doit tre une addition
orthogonale au diagramme dtats de la super-classe [BR05]
Gnralisation de signaux
Hritage dattributs de signaux
Signal rel = feuille dun arbre de gnralisation de signaux
Signal entrant franchissement des transitions associes ses
signaux anctres
Gnralisation de cas dutilisation
Cas dutilisation parent = squence gnrale de comportements
Cas dutilisation enfant = spcialisation du cas parent par insertion
dtapes supplmentaires ou redfinition dtapes existantes
Maude Manouvrier - Univ. Paris Dauphine
102
Rsum (7/7)
Relations entre les 3 modles
Agrgation dobjets :
Dcomposition dun assemblage en lments
orthogonaux ayant une interaction limite
Diagramme dtats dun agrgat = collection des
diagrammes dtats de chacun de ses lments
constituants
Agrgation dtats :
Possibilit de dcomposer un tat en tats plus petits,
chacun oprant indpendamment et possdant son
propre diagramme
tat de lobjet constitu dun tat de chaque sous-
diagramme
Maude Manouvrier - Univ. Paris Dauphine
103
Rsum des notations (1/16)
Modles de classes
Maude Manouvrier - Univ. Paris Dauphine
104
NomDeClasse NomDObjet:NomDeClasse
nomAttribut1 [Mult.] : typeDeDonnes1 = Valeur parDfaut1
nomAttribut2 [Mult.] : typeDeDonnes2 = Valeur parDfaut2

nomOpration1 (listeArguments1) : TypeDuRsultat1


nomOpration2 (listeArguments2) : TypeDuRsultat2

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

opration

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

tat Initial tat Final


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

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

S-ar putea să vă placă și