Professional Documents
Culture Documents
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
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
Historique
OMT (Object Modeling Technique - 1991) de James Rumbaugh OOSE de Ivar Jacobson Notation de Grady Booch
10
: le modle de
Il est ncessaire de dcrire ce qui change ou se transforme avant de dcrire quand et comment les changements ont lieu
11
12
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
14
15
16
16
MaudeManouvrier:Enseignant Objet 16
MaudeManouvrier:Enseignant
nom="Manouvrier" prnom="Maude"
18
18
18
Enseignant
nom:string prnom:string
18
Enseignant
nom:string prnom:string
Enseignant
NUMEN:integer nom:string prnom:string
Maude Manouvrier - Univ. Paris Dauphine
18
Fichier
nom:string localisation:string imprimer
Maude Manouvrier - Univ. Paris Dauphine
FichierPowerPoint
nombreTransparents:integer imprimer
19
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
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
Association : description dun groupe de liens qui partagent une structure et une smantique commune
Ex. un Enseignant Professe un Enseignement
Diagramme de classes :
Enseignant
nom:string prnom:string
Professe *
Enseignement
intitul:string * nombreHeures:real
Diagramme dobjets :
MaudeManouvrier:Enseignant
nom="Manouvrier" prnom="Maude"
Maude Manouvrier - Univ. Paris Dauphine
MiseANiveauUML:Enseignement
Intitul="Mise niveau UML" nombreHeures=12
21
EstAffectA 1 1
PosteTlphonique
numro:string
zro--un
Enseignant
nom:string prnom:string
APourBureau 0..1 1
Bureau
numro:integer btiment:char
plusieurs--plusieurs
Enseignant
nom:string prnom:string
Maude Manouvrier - Univ. Paris Dauphine
Professe *
Enseignement
intitul:string * nombreHeures:integer
22
unObjet:NomDeClasse
unObjet:NomDeClasse
23
unObjet:NomDeClasse
unObjet:NomDeClasse
point *
pointant *
Maude Manouvrier - Univ. Paris Dauphine
24
{ordered} * AppartientA
FichierPowerPoint 1
nom:string
Bag (sac) : collection non ordonne avec autorisation de doublons Squence : collection ordonne avec autorisation de doublons
Enseignement *
Maude Manouvrier - Univ. Paris Dauphine
25
Enseignant
nom:string prnom:string
DFR
nom:string
* *
Professe
FaitRfrenceA
Enseignement
intitul:string * nombreHeures:integer
PrRequis
obligatoire:boolean
* PanneauDAffichage
Indique
26
Enseignement * * intitul:string
nombreHeures:integer
APourPolycopi
intitul:string imprimer
Enseignant
nom:string prnom:string
Polycopi
APourSupport
Enseignement *
intitul:string * nombreHeures:integer
27
Enseignement * * intitul:string
nombreHeures:integer
Enseignant
nom:string prnom:string
Polycopi
APourSupport
Enseignement *
intitul:string * nombreHeures:integer
27
Enseignement * * intitul:string
nombreHeures:integer
Enseignant
nom:string prnom:string
Polycopi
APourSupport
Enseignement *
intitul:string * nombreHeures:integer
27
SeSitueDans 1 *
Salle
numro:integer capacit:integer
Btiment
nom:char nbEtages:integer
numroDeSalle
SeSitueDans
Salle
1 capacit:integer
numroDeSalle
SeSitueDans
Salle
1 capacit:integer
Association qualifie 28
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
Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine
Enseignant
grade:string
30
Tlphone
1
numro:string * type:string
Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine
Enseignant
grade:string
30
Tlphone
1
numro:string * type:string
Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine
Enseignant
grade:string
30
Personne
nom:string prnom:string dateDeNaissance:date calculerAge:integer
Tlphone
1
numro:string * type:string
Formation
EstInscritDans 1
Etudiant
numCarteEtudiant:integer inscrire(formation:Formation)
Maude Manouvrier - Univ. Paris Dauphine
Enseignant
grade:string
30
31
TransparentFixe
TransparentAvecAnimation
imprimer
32
!
Les signatures des oprations et les types des attributs redfinis dans les sous-classes doivent tre compatibles avec ceux de la super-classe
TransparentFixe
TransparentAvecAnimation
imprimer
32
33
Professeur
MatreDeConfrences ATER
Vacataire
34
Professeur
MatreDeConfrences ATER
Vacataire
34
Professeur
Vacataire
34
35
Professe * *
36
37
37
* * Salle
Enseignement
MNBD:Enseignement
MNUML:Enseignement
Maude Manouvrier - Univ. Paris Dauphine
Diagramme dobjets 38
Enseignement
MNUML:Enseignement
Maude Manouvrier - Univ. Paris Dauphine
Diagramme dobjets 38
* 0..1 VidoProjecteur
Objet constituant
Salle 1 1 Tableau
* Sige
Objet constituant
Objet constituant
Composition
Domaine 1 1..* Mention 1 * Spcialit
39
Enseignant
tudiant
Administratif
40
Enseignant
tudiant
Administratif
Moniteur
Maude Manouvrier - Univ. Paris Dauphine
41
Enseignant
Moniteur hrite des proprits de Enseignant et dEtudiant et une seule fois des proprits de MembreUniversit.
Maude Manouvrier - Univ. Paris Dauphine
tudiant
Administratif
Moniteur 41
Enseignant
Moniteur hrite des proprits de Enseignant et dEtudiant et une seule fois des proprits de MembreUniversit.
Maude Manouvrier - Univ. Paris Dauphine
tudiant
Administratif
Moniteur
difficults dimplmentation 41
42
{nombreHeures 1,5}
42
Enseignant
1
Laboratoire
0..1
{nombreHeures 1,5}
42
Enseignant
1
Laboratoire
0..1
{nombreHeures 1,5}
MembreUniversit
{overlapping, incomplete}
Enseignant
Maude Manouvrier - Univ. Paris Dauphine
tudiant
Administratif 42
1..*
Enseignement
intitul nombreHeures
valuation
noteCC notePartiel noteExam /noteFinale {noteFinale=noteCC*0,3+notePartiel*0,3+noteExam*0,4}
43
1..*
Enseignement
intitul nombreHeures
valuation
noteCC notePartiel noteExam /noteFinale {noteFinale=noteCC*0,3+notePartiel*0,3+noteExam*0,4}
43
numroDeSalle
SeSitueDans
Salle
1 capacit:integer
Rservation
Maude Manouvrier - Univ. Paris Dauphine
44
45
47
Regroupement des signaux dans des classes de signaux vnement de signal : vnement denvoi ou de rception dun signal signal DemandeDeRservation signal RetourLivre
numroLivre dateRetour numroSalle dateResa heureDbut heureFin attribution Instance de la classe de signaux RetourLivre
48
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
50
51
LivreEmprunt
52
LivreEmprunt
Attention : Condition de franchissement vnement Condition de franchissement value une seule fois vnement de changement valu en permanence
Maude Manouvrier - Univ. Paris Dauphine
52
tat2
53
LivreEmprunt
retourLivre
LivreEnRserve
Entre dans ltat initial la cration de lobjet Destruction de lobjet ltat final
Maude Manouvrier - Univ. Paris Dauphine Exemple inspir de http://www-inf.int-evry.fr/COURS/IO21/COURS/CoursENSTBr.pdf
54
AyantPrisQuitus
Dbut
inscriptionAutorise finPnalisation
[nbEmprunt=0]
Inscrit
emprunt
[nbreEmprunt<nbreMaxEmprunt]
retourLivre
[dateActuelle dateRetour et nbreEmprunt=1]
emprunt
Pnalis
Empruntant
Exclus
exclusion [Penalit>MaxPnalit]
55
Empruntant 56
Activit dentre ou de sortie : excute lentre (entry /) ou la sortie dun tat (exit /) LivreEmprunt
entry / enregistrer date de retour
Maude Manouvrier - Univ. Paris Dauphine
57
58
59
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 change de signaux send cible.S(attributs) Condition de concurrence critique (race condition) : tat final affect par lordre dexcution des signaux reus
59
61
62
LivreDisponible:RangerLivre
Nom de ltat
62
LivreDisponible:RangerLivre
Nom de ltat
RangerLivre
Diagramme dtats de plus bas niveau dtaillant ltat LivreDisponible
62
LivreDisponible:RangerLivre
Nom de ltat
RangerLivre
Diagramme dtats de plus bas niveau dtaillant ltat LivreDisponible
62
LivreAuDpot
[dateActuelle>dateDernierEmprunt+365 jours]
LivreAu1erSousSol
63
LivreAuDpot
tat imbriqu
[dateActuelle>dateDernierEmprunt+365 jours]
LivreAu1erSousSol
tat imbriqu
63
LivreAuDpot
tat imbriqu
[dateActuelle>dateDernierEmprunt+365 jours]
LivreAu1erSousSol
tat imbriqu
63
LivreDisponible livreDemand
LivreAuDpot
tat imbriqu
[dateActuelle>dateDernierEmprunt+365 jours]
LivreAu1erSousSol
tat imbriqu
63
LivreDisponible livreDemand
LivreAuDpot
tat imbriqu
[dateActuelle>dateDernierEmprunt+365 jours]
LivreAu1erSousSol
tat imbriqu
63
LivreRetourn
Maude Manouvrier - Univ. Paris Dauphine
rangement
LivreEnRayon
64
65
65
66
67
68
Pouvoir dexpression plus puissant des signaux car dpendance entre la rponse un vnement et ltat de lobjet recevant lvnement
68
69
70
71
Membre
Employ 72
73
74
75
76
77
78
79
80
afficher chec
nt] u r p em l
enregistrer Emprunt
modifier NbreEmprunt
81
afficher chec
nt] u r p em l
activits
enregistrer Emprunt
modifier NbreEmprunt
81
afficher chec
nt] u r p em l
activits
enregistrer Emprunt
modifier NbreEmprunt
81
afficher chec
nt] u r p em l
activits
enregistrer Emprunt
modifier NbreEmprunt
81
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 82
! !
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 82
83
84
85
86
87
Identifier lemploy
include include
88
Chercher un livre
Rserver un livre
Enregistrer un emprunt
extend
89
90
Les cas dutilisation enfant ajoutent des tapes de comportement devant apparatre la position approprie dans la squence de comportement du parent
90
91
92
92
:BaseDeLivres :Livre
saisieDonnesDuLivre () donnes
{traiter donnes}
insrerNuplet(arg)
93
:BaseDeLivres :Livre
saisieDonnesDuLivre () donnes
{traiter donnes}
insrerNuplet(arg)
93
:BaseDeLivres :Livre
saisieDonnesDuLivre () donnes
{traiter donnes}
insrerNuplet(arg)
Ne reprsenter les dtails dimplmentations que pour les diagrammes difficiles ou particulirement importants [BR05]
93
demander validation
attendre rponse
systme de comptabilit
recevoir confirmation
envoyer commande
94
mission de signal
demander validation
attendre rponse
systme de comptabilit
recevoir confirmation
envoyer commande
94
mission de signal
demander validation
attendre rponse
systme de comptabilit
rception de signal
recevoir confirmation
envoyer commande
94
coller tiquette
95
:Livre [disponible]
enregistrer emprunt
:Livre [enRserve]
mettre en rserve
:Livre [emprunt]
:Livre [disponible]
Maude Manouvrier - Univ. Paris Dauphine
96
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
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
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 10
Niveau de dtails
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
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 sousdiagramme
Maude Manouvrier - Univ. Paris Dauphine
103
104
104
104
104
104
105
NomDeClasse2
105
105
objet2:Classe2
105
objet2:Classe2
Exactement 1 Plusieurs (zro ou plus) Optionnel (zro ou un) Un ou plus
1 * 0..1 1 ..*
Maude Manouvrier - Univ. Paris Dauphine
105
NomDAssociation
attribut opration
Classe-Association
Maude Manouvrier - Univ. Paris Dauphine
106
107
Classe2
Association qualifie
107
Classe2
Association qualifie
107
108
108
SuperClasseAbstraite
oprationAbstraite1 oprationConcrte2
SousClasseConcrte1
oprationConcrte1 oprationConcrte2
Maude Manouvrier - Univ. Paris Dauphine
SousClasseConcrte2
oprationConcrte1 oprationConcrte3
108
109
109
1 * ClassePartie2 109
Classe1
1
Classe2
*
{attribut1 > = 0}
110
Classe1
1
Classe2
*
{attribut1 > = 0}
SuperClasse
{overlapping, incomplete}
SousClasse1
Maude Manouvrier - Univ. Paris Dauphine
SousClasse2
SousClasse3 110
111
Visibilit
111
Visibilit
lment driv :
111
Visibilit
111
Visibilit
111
Visibilit
/NomDeClasse
/attribut
/NomDAssociation
Classe2 111
tat2
112
tat2
tat Initial
tat Final
112
tat2
tat Initial
tat Final
Nom du diagramme
tat1
112
113
vnement1
113
vnement1 vnement2
SousEtat3 SousEtat4
vnement3
113
114
SousEtat2 vnement2
SousEtat4
114
SousEtat2 vnement2
SousEtat4
Etat
114
Acteur2
115
116
CUEnfant1
CUEnfant2
116
CUEnfant1
include
CUEnfant2
CUDeBase
CUInclus
116
CUEnfant1
include
CUEnfant2
CUDeBase CUDeBase
Maude Manouvrier - Univ. Paris Dauphine
extend
ObjetB ObjetC
Diagramme de squence
Opration2(c,d) rsultat1
rsultat2
117
Diagramme dactivits
activit3
activit5
activit4
activit6
Maude Manouvrier - Univ. Paris Dauphine
118
119
Acteur2
Acteur3
activit2
activit3
119
Acteur2
Acteur3
activit2
activit3
activit1
activit2
activit1
activit2
119