Académique Documents
Professionnel Documents
Culture Documents
Uml Cours Slides
Uml Cours Slides
Pierre
Grard
Introduction UML 2
1 / 342
Plan
UML et mthododologie
Pierre
Grard
Introduction UML 2
2 / 342
Bibliographie UML
UML 2.0
Pierre
Grard
Introduction UML 2
3 / 342
Bibliographie OCL
http://megaplanet.org/jean-marie-favre
Pierre
Grard
Introduction UML 2
4 / 342
Matriel et logiciel
Systmes informatiques :
80 % de logiciel ;
20 % de matriel.
Pierre
Grard
Introduction UML 2
5 / 342
La crise du logiciel
Succs : 16 % ;
Problmatique : 53 % (budget ou dlais non respects, dfaut de
fonctionnalits) ;
chec : 31 % (abandonn).
Pierre
Grard
Introduction UML 2
6 / 342
Utilisabilit
Fiabilit
Interoprabilit
Performance
Portabilit
Rutilisabilit
Facilit de maintenance
Pierre
Grard
Introduction UML 2
7 / 342
Poids de la maintenance
Dnition
des besoins
Conception
Codage
Intgration
Tests
Maintenance
Pierre
Grard
Rartition
eort dv.
Origine des
erreurs
Cot de la
maintenance
5%
7%
15%
27%
7%
10%
13%
1%
4%
6%
56%
82%
67%
(Zeltovitz, De Marco)
Introduction UML 2
8 / 342
Cycle de vie
Pierre
Grard
Introduction UML 2
9 / 342
Etapes du dveloppement
tude de faisabilit
Spcication
Conception
Codage
Tests
Maintenance
Pierre
Grard
Introduction UML 2
10 / 342
Modlisation
Pierre
Grard
Introduction UML 2
11 / 342
Modle
Pierre
Grard
Introduction UML 2
12 / 342
Langages de modlisation
Un langage de modlisation doit dnir :
Grard
Introduction UML 2
13 / 342
Pierre
Grard
Introduction UML 2
14 / 342
Pierre
Grard
Introduction UML 2
15 / 342
Grard
Introduction UML 2
16 / 342
Plan
UML et mthododologie
Pierre
Grard
Introduction UML 2
17 / 342
d'utilsation.
Pierre
Grard
Introduction UML 2
18 / 342
Pierre
Grard
Introduction UML 2
19 / 342
Cas d'utilisation
Grard
Introduction UML 2
20 / 342
Pierre
Grard
Introduction UML 2
21 / 342
Pierre
Grard
Introduction UML 2
22 / 342
Pierre
Grard
Introduction UML 2
23 / 342
dpendances.
Attention
Pierre
Grard
Introduction UML 2
24 / 342
Pierre
Grard
Introduction UML 2
25 / 342
Pierre
Grard
Introduction UML 2
26 / 342
Gnralisation
Grard
Introduction UML 2
27 / 342
Pierre
Grard
Introduction UML 2
28 / 342
Attention
Grard
Introduction UML 2
29 / 342
L'acteur est dit principal pour un cas d'utilisation lorsque l'acteur est
l'initiative des changes ncessaires pour raliser le cas d'utilisation.
Les acteurs secondaires sont sollicits par le systme alors que le plus
souvent, les acteurs principaux ont l'initiative des interactions.
Le plus souvent, les acteurs secondaires sont d'autres ystmes
informatiques avec lesquels le systme dvelopp est inter-connect.
Pierre
Grard
Introduction UML 2
30 / 342
Trouver le bon niveau de dtail pour les cas d'utilisation est un problme
dicile qui ncessite de l'exprience.
Pierre
Grard
Introduction UML 2
31 / 342
Pierre
Grard
Introduction UML 2
32 / 342
Description textuelle
Identication :
Pierre
Grard
Introduction UML 2
33 / 342
Description textuelle
Squencements :
Pr-conditions
Enchanement nominal
1
2
3
4
5
Enchanements alternatifs
1
2
Post-conditions
Pierre
Grard
Introduction UML 2
33 / 342
Description textuelle
Rubriques optionnelles
Pierre
Grard
Introduction UML 2
33 / 342
Plan
Diagrammes de classes
UML et mthododologie
Pierre
Grard
Introduction UML 2
34 / 342
Objectif
Diagrammes de classes
Pierre
Grard
Introduction UML 2
35 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
36 / 342
Concepts et instances
Diagrammes de classes
Concept : Stylo
Instance : le stylo que vous utilisez ce moment prcis est une instance
du concept stylo : il a sa propre forme, sa propre couleur, son propre
niveau d'usure, etc.
Classe : Vido
Objets : Pink Floyd (Live Pompey), 2001 Odysse de l'Espace etc.
Une classe dcrit un type d'objets concrets.
Une classe spcie la manire dont tous les objets de mme type seront
dcrits (dsignation, label, auteur, etc).
Pierre
Grard
Introduction UML 2
37 / 342
Classes et objets
Diagrammes de classes
Grard
Introduction UML 2
38 / 342
Diagrammes de classes
Les attributs et les oprations sont les proprits d'une classe. Leur
nom commence par une minuscule.
Un attribut dcrit une donne de la classe.
Les types des attributs et leurs initialisations ainsi que les modicateurs
d'accs peuvent tre prciss dans le modle
Les attributs prennent des valeurs lorsque la classe est instancie : ils
sont en quelque sorte des variables attaches aux objets.
Une opration est un service oert par la classe (un traitement que les
objets correspondant peuvent eectuer).
Pierre
Grard
Introduction UML 2
39 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
40 / 342
Diagrammes de classes
Une opration est dnie par son ainsi que par les types de ses paramtres
et le type de sa valeur de retour.
La syntaxe de la dclaration d'une opration est la suivante :
modifAcces nomOperation ( parametres ): ClasseRetour
Pierre
Grard
Introduction UML 2
41 / 342
Mthodes et Oprations
Diagrammes de classes
Grard
Introduction UML 2
42 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
43 / 342
Association
Diagrammes de classes
Une association est souvent utilise pour reprsenter les liens posibles
entre objets de classes donnes.
Elle est reprsente par un trait entre classes.
Pierre
Grard
Introduction UML 2
44 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
45 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
46 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
47 / 342
Implantation
Diagrammes de classes
Pierre
Grard
Introduction UML 2
48 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
49 / 342
Implantation
Diagrammes de classes
Grard
Introduction UML 2
50 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
51 / 342
Implantation
Diagrammes de classes
Pierre
Grard
Introduction UML 2
52 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
53 / 342
Associations rexives
Diagrammes de classes
Pierre
Grard
Introduction UML 2
54 / 342
Classe-association
Diagrammes de classes
Une association peut tre rane et avoir ses propres attributs, qui ne
sont disponibles dans aucune des classes qu'elle lie.
Comme, dans le modle objet, seules les classes peuvent avoir des
attributs, cette association devient alors une classe appele
classe-association .
Pierre
Grard
Introduction UML 2
55 / 342
Associations n-aires
Diagrammes de classes
Les associations n-aires sont peu frquentes et concernent surtout les cas
o les multplicits sont toutes * . Dans la plupart des cas, on utilisera
plus avantageusement des classes-association ou plusieurs relations binaires.
Pierre
Grard
Introduction UML 2
56 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
57 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
58 / 342
Diagrammes de classes
Composition et agrgation
Grard
Introduction UML 2
59 / 342
Relation d'hritage
Diagrammes de classes
d'Article, un livre a
d'oce un prix, une
dsignation et une
opration acheter(), sans
qu'il soit ncessaire de le
prciser
Pierre
Grard
Introduction UML 2
60 / 342
Diagrammes de classes
Attention
Les extends Java n'a rien voir avec le extend UML vu pour les
cas d'utilisation
Pierre
Grard
Introduction UML 2
61 / 342
Encapsulation
Diagrammes de classes
Package (paquetage)
Pierre
Grard
Introduction UML 2
62 / 342
Exemple d'encapsulation
Diagrammes de classes
Grard
Introduction UML 2
63 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
64 / 342
Diagrammes de classes
Terminologie de l'hritage
Pierre
Grard
Introduction UML 2
65 / 342
Classes abstraites
Diagrammes de classes
Une mthode est dite abstraite lorsqu'on connat son entte mais pas
la manire dont elle peut tre ralise.
Il appartient aux classes enfant de dnir les methodes abstraites.
Une classe est dite abstraite lorsqu'elle dnit au moins une mthode
abstraite ou lorsqu'une classe parent contient une mthode abstraite
non encore ralise.
Pierre
Grard
Introduction UML 2
66 / 342
Hritage multiple
Diagrammes de classes
Pierre
Grard
Introduction UML 2
67 / 342
Interface
Diagrammes de classes
Grard
Introduction UML 2
68 / 342
Diagrammes de classes
Pierre
Grard
Introduction UML 2
69 / 342
Exemple d'interface
Pierre
Grard
Diagrammes de classes
Introduction UML 2
70 / 342
Elments drivs
Diagrammes de classes
Les attributs drivs sont symboliss par l'ajout d'un / devant leur
nom.
Lors de la conception, un attribut driv peut tre utilis comme
marqueur jusqu' ce que vous puissiez dterminer les rgles lui
appliquer.
Pierre
Grard
Introduction UML 2
71 / 342
Attributs de classe
Diagrammes de classes
Par dfaut, les valeurs des attributs dnis dans une classe dirent
d'un objet un autre. Parfois, il est ncessaire de dnir un attribut
de classe qui garde une valeur unique et partage par toutes les
instances.
Graphiquement, un attribut de classe est soulign
Pierre
Grard
Introduction UML 2
72 / 342
Oprations de classe
Diagrammes de classes
Pierre
Grard
Introduction UML 2
73 / 342
Classe paramtre
Diagrammes de classes
Java5 :
gnricit
C++ :
templates
Pierre
Grard
Introduction UML 2
74 / 342
Diagrammes de classes
Grard
Introduction UML 2
75 / 342
Diagrammes de classes
4
5
6
Pierre
Grard
Introduction UML 2
76 / 342
Plan
Diagrammes d'objets
UML et mthododologie
Pierre
Grard
Introduction UML 2
77 / 342
Objectif
Diagrammes d'objets
Pierre
Grard
Introduction UML 2
78 / 342
Diagrammes d'objets
Pierre
Grard
Introduction UML 2
79 / 342
Diagrammes d'objets
Pierre
Grard
Introduction UML 2
80 / 342
Diagrammes d'objets
Pierre
Grard
Introduction UML 2
80 / 342
Liens
Diagrammes d'objets
Attention
Pierre
Grard
Introduction UML 2
81 / 342
Diagrammes d'objets
Pierre
Grard
Introduction UML 2
82 / 342
Plan
Diagrammes de squences
UML et mthododologie
Pierre
Grard
Introduction UML 2
83 / 342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
84 / 342
Exemple d'interaction
Diagrammes de squences
Cas d'utilisation :
Diagramme de squences correspondant :
Pierre
Grard
Introduction UML 2
85 / 342
Exemple d'interaction
Diagrammes de squences
Pierre
Grard
Introduction UML 2
85 / 342
Ligne de vie
Diagrammes de squences
Pierre
Grard
Introduction UML 2
86 / 342
Messages
Diagrammes de squences
Pierre
Grard
Introduction UML 2
87 / 342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
88 / 342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
89 / 342
Diagrammes de squences
class B {
C c;
op1 ( p : Type ){
c . op2 ( p );
c . op3 ();
}
}
Pierre
Grard
class C {
op2 ( p : Type ){
...
}
op3 (){
...
}
}
Introduction UML 2
90 / 342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
91 / 342
Diagrammes de squences
La destruction d'un objet est matrialise par une croix qui marque la
n de la ligne de vie de l'objet.
Pierre
Grard
Introduction UML 2
92 / 342
Diagrammes de squences
Un message complet est reprsent par une che partant d'une ligne
de vie et arrivant une autre ligne de vie.
Un message perdu est tel que l'vnement d'envoi est connu, mais
pas l'vnement de rception.
La che part d'une ligne de vie mais arrive sur un cercle indpendant
marquant la mconnaissance du destinataire.
Exemple : broadcast.
Grard
Introduction UML 2
93 / 342
Diagrammes de squences
Exemples :
Pierre
Grard
Introduction UML 2
94 / 342
Messages de retour
Diagrammes de squences
Grard
Introduction UML 2
95 / 342
Diagrammes de squences
ou
nomParam : valeurParam
Pierre
Grard
Introduction UML 2
96 / 342
Fragment combin
Diagrammes de squences
Pierre
Grard
Introduction UML 2
97 / 342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
98 / 342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
99 / 342
Oprateur de boucle
Pierre
Grard
Diagrammes de squences
Introduction UML 2
100 /
342
Diagrammes de squences
Notations :
Pierre
Grard
Introduction UML 2
101 /
342
Oprateur parallle
Diagrammes de squences
Pierre
Grard
Introduction UML 2
102 /
342
Diagrammes de squences
Grard
Introduction UML 2
103 /
342
Diagrammes de squences
Grard
Introduction UML 2
104 /
342
Diagrammes de squences
Pierre
Grard
Introduction UML 2
105 /
342
Plan
UML et mthododologie
UML et mthododologie
Pierre
Grard
Introduction UML 2
106 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
107 /
342
UML et mthododologie
Processus de dveloppement
Pierre
Grard
Introduction UML 2
108 /
342
UML et mthododologie
ET
Pierre
Grard
Introduction UML 2
109 /
342
UML et mthododologie
Mthode minimale
Objectif
Pierre
Grard
Introduction UML 2
110 /
342
UML et mthododologie
Mthode minimale
Objectif
Inspire de
UML 2 - Modliser une application web
Pascal Roques
Pierre
Grard
Introduction UML 2
110 /
342
UML et mthododologie
Mthode minimale
Objectif
Pierre
Grard
Introduction UML 2
110 /
342
UML et mthododologie
Cas d'utilsation
Pierre
Grard
Introduction UML 2
111 /
342
UML et mthododologie
Exemple de classement
Cas d'utilisation
Priorit
Risque
Haute
Moyen
Moyen Moyen
Bas
Moyen
... etc ... ... etc ...
Grard
Introduction UML 2
112 /
342
UML et mthododologie
Modle du domaine
Etapes de la dmarche :
1
2
3
4
Grard
Introduction UML 2
113 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
114 /
342
UML et mthododologie
Structuration en packages
Pierre
Grard
Introduction UML 2
115 /
342
UML et mthododologie
Squences systme
Grard
Introduction UML 2
116 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
117 /
342
UML et mthododologie
Oprations systme
Les oprations systme sont des oprations qui devront tre ralises
par l'une ou l'autre des classes du systme.
Elles correspondent tous les messages qui viennent des acteurs vers
le systme dans les dirents DSS.
Pierre
Grard
Introduction UML 2
118 /
342
UML et mthododologie
Classes participantes
Elles font le lien entre les classes dialogue et les classes mtier.
Elles permettent de contrler la cinmatique de l'application, cad
l'ordre dans lequel les choses doivent se drouler.
Pierre
Grard
Introduction UML 2
119 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
120 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
121 /
342
UML et mthododologie
Diagrammes d'interaction
Grard
Introduction UML 2
122 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
123 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
123 /
342
UML et mthododologie
Grard
Introduction UML 2
124 /
342
Plan
UML et mthododologie
UML et mthododologie
Pierre
Grard
Introduction UML 2
125 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
126 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
126 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
127 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Spcication ;
Conception ;
Implmentation ;
Tests.
Introduction UML 2
128 /
342
UML et mthododologie
Grard
Introduction UML 2
129 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
130 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
131 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
132 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
133 /
342
UML et mthododologie
Vues du systme
Vue logique :
Vue composants :
Vue dploiement :
Vue implmentation :
Pierre
Grard
Introduction UML 2
134 /
342
UML et mthododologie
Dnition du problme.
Elaboration :
Construction :
Transition :
Recettage et dploiement.
Grard
Introduction UML 2
135 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
136 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
137 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
138 /
342
UML et mthododologie
Un consensus sur :
La planication ;
L'estimation des cots ;
La dnition de l'ensemble des projets des parties concernes.
Pierre
Grard
Introduction UML 2
139 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
140 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
141 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
142 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
143 /
342
UML et mthododologie
Le maintien de la qualit ;
Ralisation des versions excutables.
Pierre
Grard
Introduction UML 2
144 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
145 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
146 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
147 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
148 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
149 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
150 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
151 /
342
UML et mthododologie
Grard
Introduction UML 2
152 /
342
UML et mthododologie
Modlisation mtier
Pierre
Grard
Introduction UML 2
153 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
154 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
154 /
342
Analyse
UML et mthododologie
Principaux livrables :
Pierre
Grard
Introduction UML 2
155 /
342
Conception
UML et mthododologie
Pierre
Grard
Introduction UML 2
156 /
342
UML et mthododologie
Impmentation
Le systme est dvelopp par morceaux dpendant les uns des autres.
Optimisation de l'utilisation des ressources selon leurs expertises.
Pierre
Grard
Introduction UML 2
157 /
342
UML et mthododologie
Test
Mthode :
Pierre
Grard
Introduction UML 2
158 /
342
Dploiement
UML et mthododologie
L'architecture physique ;
Les choix technologiques.
Pierre
Grard
Introduction UML 2
159 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
160 /
342
UML et mthododologie
Analyse
Conception
Diagramme
Diagramme
Diagramme
Diagramme
Pierre
Grard
Introduction UML 2
161 /
342
UML et mthododologie
Pierre
Grard
Introduction UML 2
162 /
342
Plan
UML et mthododologie
eXtreme programming
UML et mthododologie
Pierre
Grard
Introduction UML 2
163 /
342
UML et mthododologie
Mthodes agiles
eXtreme programming
Pierre
Grard
Introduction UML 2
164 /
342
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
165 /
342
UML et mthododologie
eXtreme Programming
eXtreme programming
eXtreme Programming, une mthode base sur des pratiques qui sont
autant de boutons pousss au maximum .
Grard
Introduction UML 2
166 /
342
Valeurs d'XP
UML et mthododologie
eXtreme programming
Communication :
Feedback :
Simplicit :
Du processus ;
Du code.
Courage :
Pierre
Grard
Introduction UML 2
167 /
342
UML et mthododologie
Pratiques d'XP
eXtreme programming
XP est fond sur des valeurs, mais surtout sur 13 pratiques rparties
en 3 catgories :
Gestion de projets ;
Programmation ;
Collaboration.
Pierre
Grard
Introduction UML 2
168 /
342
UML et mthododologie
eXtreme programming
Planication itrative :
Rythme durable :
Pierre
Grard
Introduction UML 2
169 /
342
UML et mthododologie
eXtreme programming
Pratiques de programmation
Conception simple :
Remaniement :
Tests unitaires :
Tests de recette :
Les testeurs mettent en place des tests automatiques qui vrient que
le logiciel rpond aux exigences du client.
Ces tests permettent des recettes automatiques du logiciel.
Pierre
Grard
Introduction UML 2
170 /
342
UML et mthododologie
eXtreme programming
Pratiques de collaboration
Programmation en binmes :
Rgles de codage :
Mtaphore :
Intgration continue :
Pierre
Grard
Introduction UML 2
171 /
342
UML et mthododologie
Cycle de vie XP
Pierre
Grard
eXtreme programming
Introduction UML 2
172 /
342
Exploration
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
173 /
342
Planning
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
174 /
342
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
175 /
342
UML et mthododologie
Mise en production
eXtreme programming
Pierre
Grard
Introduction UML 2
176 /
342
Maintenance
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
177 /
342
Mort
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
178 /
342
Equipe XP
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
179 /
342
Dveloppeur
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
180 /
342
Client
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
181 /
342
Testeur
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
182 /
342
Tracker
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
183 /
342
Manager
UML et mthododologie
eXtreme programming
Pierre
Grard
Introduction UML 2
184 /
342
Coach
UML et mthododologie
eXtreme programming
Garant du processus XP :
Pierre
Grard
Introduction UML 2
185 /
342
UML et mthododologie
Spcication avec XP
eXtreme programming
Pierre
Grard
Introduction UML 2
186 /
342
XP vs RUP
UML et mthododologie
eXtreme programming
Inconvnients de XP :
Inconvnients de RUP :
Pierre
Grard
Introduction UML 2
187 /
342
Plan
UML et mthododologie
Pierre
Grard
Introduction UML 2
188 /
342
Pierre
Grard
Introduction UML 2
189 /
342
Pierre
Grard
Introduction UML 2
190 /
342
Indispensable :
Probmlatique
Ambigu, imprcis,
Pierre
Grard
Introduction UML 2
191 /
342
Pierre
Grard
Introduction UML 2
192 /
342
Pierre
Grard
Introduction UML 2
193 /
342
Pierre
Grard
Introduction UML 2
194 /
342
context CarteBleue
inv : distributeur
= compte . banque . consortium . distributeur
Pierre
Grard
Introduction UML 2
195 /
342
Smantique d'UML crite en OCL : tous les schmas UML produits ont
une traduction en OCL
En pleine expansion
Pierre
Grard
Introduction UML 2
196 /
342
Caractristiques d'OCL
Pierre
Grard
Introduction UML 2
197 /
342
Points forts
Pierre
Grard
Introduction UML 2
198 /
342
context CarteBleue
inv : compte . titulaires - > includes ( signataire )
inv : code >0 and code <=9999
inv : retraitMax >10
Pierre
Grard
Introduction UML 2
199 /
342
OCL peut tre utilis pour dcrire trois types de prdicats avec les
mots cl :
inv: invariants de classes
inv : solde < dMax
Pierre
Grard
Introduction UML 2
200 /
342
OCL peut galement tre utilis pour dcrire des expressions avec les
mots cls :
def: dclarer des attributs ou des oprations
def : nbEnfants : Integer
Pierre
Grard
Introduction UML 2
201 /
342
... )
Ex : self.impots(1998)
Pierre
Grard
Introduction UML 2
202 /
342
Set(X)
OrderedSet(X)
Pierre
Grard
Introduction UML 2
203 /
342
Grard
Introduction UML 2
204 /
342
p . evaluation [ chefs ]
p . evaluation [ employes ]
p . evaluation [ chefs ]. note -> sum ()
Pierre
Grard
Introduction UML 2
205 /
342
b . compte [4029]
b . compte
compte
Pierre
Grard
Introduction UML 2
206 /
342
Invariant (inv)
context Personne
inv pasTropVieux ~: age < 110
inv ~: self . age >= 0
Pierre
Grard
Introduction UML 2
207 /
342
Exemples d'invariants
context Personne
inv ~: age >0 and self . age <110
inv mariageLegal ~: marie implies age > 16
inv enfantsOk ~: enfants - > size () < 20
inv ~: not enfants - > includes ( self )
inv ~: enfants - > includesAll ( filles )
inv ~: enfants - > forall ( e | self . age - e . age <14)
Pierre
Grard
Introduction UML 2
208 /
342
Pr-condition et post-condition
Prdicats associs une opration
Pierre
Grard
Introduction UML 2
209 /
342
Exemples de pr et post-conditions
Pierre
Grard
Introduction UML 2
210 /
342
Pierre
Grard
Introduction UML 2
211 /
342
Pierre
Grard
Introduction UML 2
212 /
342
constantes
identificateur
self
expr op expr
exprobjet.propobjet
exprobjet.propobjet ( parametres )
exprcollection -> propcollection(parametres)
package::package::element
if cond then expr else expr endif
let var : type = expr in expr
Pierre
Grard
Introduction UML 2
213 /
342
Pierre
Grard
Introduction UML 2
214 /
342
Integer
Real
Pierre
Grard
Introduction UML 2
215 /
342
Type boolen
Boolean
Pierre
Grard
Introduction UML 2
216 /
342
Chanes de caractres
String
=
s.size()
s1.concat(s2), s1.substring(i1,i2)
s.toUpper(), s.toLower()
Pierre
Grard
Introduction UML 2
217 /
342
Jour::Mardi
not #Mardi avant UML2.0
Oprations
=, <>
Pas de relation d'ordre
Pierre
Grard
Introduction UML 2
218 /
342
Elments et singletons
Pierre
Grard
Introduction UML 2
219 /
342
Collections
Ensembles : Set(T)
Sac : Bag(T)
Sequence : Sequence(T)
Pierre
Grard
Introduction UML 2
220 /
342
Pierre
Grard
Introduction UML 2
221 /
342
Oprations ensemblistes
Union : ens->union(ens)
Dierence : ens1-ens2
Ajout d'un lment : ens->including(elem)
Suppression d'un lment : ens->excluding(elem)
Conversion vers une liste : ens->asSequence()
Conversion vers un sac : ens->asBag()
Conv.vers un ens. ord. : ens->asOrderedSet()
Pierre
Grard
Introduction UML 2
222 /
342
Filtrage
self . enfants - > select ( age >10 and sexe = Sexe :: Masculin )
Pierre
Grard
Introduction UML 2
223 /
342
Pierre
Grard
Introduction UML 2
224 /
342
Quanticateurs
Il est possible
de nommer la variable
d'expliciter son type
de parcourir plusieurs variables la fois
self . enfants
-> exists ( e1 , e2 | e1 . age = e2 . age and e1 < > e2 )
Pierre
Grard
Introduction UML 2
225 /
342
Unicit
Pierre
Grard
Introduction UML 2
226 /
342
T-uples
Pierre
Grard
Introduction UML 2
227 /
342
Collections imbriques
Collections imbriques
Jusqu' UML 2.0 pas de collections de collections car peu utilis et plus
complexe comprendre
Mise plat intuitive lors de la navigation
Pierre
Grard
Introduction UML 2
228 /
342
Pierre
Grard
Introduction UML 2
229 /
342
Itrateur gnral
Les autres itrateurs (forall, exist, select, etc.) en sont des cas
particulier
coll -> iterate(
Exemple
enfants - > iterate (
e : Enfant ;
ac : Integer =0
| acc + e . age )
Pierre
Grard
Introduction UML 2
230 /
342
Collections ordonnes
Sequence
OrderedSet
. . . mais pas forcment tries
Squence trie :
Sequence { 5, 5, 12, 12, 23 }
Pierre
Grard
Introduction UML 2
231 /
342
Pierre
Grard
Introduction UML 2
232 /
342
Plan
Diagrammes d'tats-transitions
UML et mthododologie
Pierre
Grard
Introduction UML 2
233 /
342
Automates
Diagrammes d'tats-transitions
Grard
Introduction UML 2
234 /
342
Etat et transition
Diagrammes d'tats-transitions
Grard
Introduction UML 2
235 /
342
Diagrammes d'tats-transitions
Diagramme d'tat-transition
Attention
Pierre
Grard
Introduction UML 2
236 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
237 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
238 /
342
Evnement dclencheur
Diagrammes d'tats-transitions
Grard
Introduction UML 2
239 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
240 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
241 /
342
Transition simple
Diagrammes d'tats-transitions
Une transition entre deux tats est reprsente par un arc qui les lie
l'un l'autre.
Elle indique qu'une instance peut changer d'tat et excuter certaines
activits, si un vnement dclencheur se produit et que les conditions
de garde sont vries.
Pierre
Grard
Introduction UML 2
242 /
342
Point de dcision
Diagrammes d'tats-transitions
Les points de choix (losange) sont plus que des raccourcis d'criture.
Pierre
Grard
Introduction UML 2
243 /
342
Diagrammes d'tats-transitions
Grard
Introduction UML 2
244 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
244 /
342
Diagrammes d'tats-transitions
Reprsentation d'alternatives
avec les points de jonction
Pierre
Grard
Introduction UML 2
245 /
342
Diagrammes d'tats-transitions
Contrairement aux points de jonction, les points de choix ne sont pas de simples
racourcis d'criture.
Pierre
Grard
Introduction UML 2
246 /
342
Transition interne
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
247 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
248 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
249 /
342
Etat composite
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
250 /
342
Etat composite
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
250 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
251 /
342
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
252 /
342
Historique
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
253 /
342
Diagrammes d'tats-transitions
Grard
Introduction UML 2
254 /
342
Etat concurrent
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
255 /
342
Transition concurrente
Diagrammes d'tats-transitions
Pierre
Grard
Introduction UML 2
256 /
342
Plan
Digrammes d'activits
UML et mthododologie
Pierre
Grard
Introduction UML 2
257 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
258 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
259 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
260 /
342
Activit
Digrammes d'activits
Pierre
Grard
Introduction UML 2
261 /
342
Transition
Digrammes d'activits
Pierre
Grard
Introduction UML 2
262 /
342
Digrammes d'activits
conditionnelles
Pierre
Grard
Introduction UML 2
263 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
264 /
342
Activits structures
Digrammes d'activits
Pierre
Grard
Introduction UML 2
265 /
342
Partitions
Digrammes d'activits
Pierre
Grard
Introduction UML 2
266 /
342
Digrammes d'activits
Partitions multidimensionnelles
Pierre
Grard
Introduction UML 2
267 /
342
Partitions explicites
Digrammes d'activits
Pierre
Grard
Introduction UML 2
268 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
269 /
342
Pin
Digrammes d'activits
Pierre
Grard
Introduction UML 2
270 /
342
Flot de donnes
Digrammes d'activits
Pierre
Grard
Introduction UML 2
271 /
342
Digrammes d'activits
selection
Pierre
Grard
Introduction UML 2
272 /
342
Concurrence
Digrammes d'activits
Pierre
Grard
Introduction UML 2
273 /
342
Barre de synchronisation
Digrammes d'activits
Pierre
Grard
Introduction UML 2
274 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
275 /
342
Digrammes d'activits
Actions de communication
Les actions de
communication grent
le passage et le retour de
paramtres,
les mcanismes d'appels
d'oprations synchrones et
asynchrones.
Pierre
Grard
Introduction UML 2
276 /
342
Digrammes d'activits
Actions de communication
Pierre
Grard
Introduction UML 2
276 /
342
Appel asynchrone
Digrammes d'activits
Pierre
Grard
Introduction UML 2
277 /
342
Exceptions
Digrammes d'activits
Grard
Introduction UML 2
278 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
279 /
342
Rgions interruptibles
Digrammes d'activits
Pierre
Grard
Introduction UML 2
280 /
342
Digrammes d'activits
Pierre
Grard
Introduction UML 2
281 /
342
Digrammes d'activits
Iterative
Stream
Pierre
Grard
Introduction UML 2
282 /
342
Plan
Diagrammes de communication
UML et mthododologie
Pierre
Grard
Introduction UML 2
283 /
342
Diagrammes de squence
Diagrammes de communication
Grard
Introduction UML 2
284 /
342
Diagrammes d'interaction
Diagrammes de communication
de timing.
Pierre
Grard
Introduction UML 2
285 /
342
Diagrammes de communication
Pierre
Grard
Introduction UML 2
286 /
342
Diagrammes de communication
Pierre
Grard
Introduction UML 2
286 /
342
Rles et connecteurs
Diagrammes de communication
Pierre
Grard
Introduction UML 2
287 /
342
Types de messages
Diagrammes de communication
Pierre
Grard
Introduction UML 2
288 /
342
Diagrammes de communication
Attention
Pierre
Grard
Introduction UML 2
289 /
342
Diagrammes de communication
Grard
Introduction UML 2
290 /
342
Diagrammes de communication
1.1, 1.2, ... pour des messages appels par une mthode dont l'appel
portait le numro 1
2.a.1, 2.a.2, ... pour des messages appels par une mthode dont
l'appel portait le numro 2.a
Pierre
Grard
Introduction UML 2
291 /
342
Diagrammes de communication
Pierre
Grard
Introduction UML 2
292 /
342
Diagrammes de communication
Pierre
Grard
Introduction UML 2
292 /
342
Messages simultans
Diagrammes de communication
Pierre
Grard
Introduction UML 2
293 /
342
Diagrammes de communication
Pierre
Grard
Introduction UML 2
294 /
342
Diagrammes de communication
Exemples :
Pierre
Grard
Introduction UML 2
295 /
342
Collaboration
Diagrammes de communication
Pierre
Grard
Introduction UML 2
296 /
342
Exemple de collaboration
Pierre
Grard
Diagrammes de communication
Introduction UML 2
297 /
342
Diagrammes de communication
Diagramme de collaboration
Pierre
Grard
Introduction UML 2
298 /
342
Diagrammes de communication
Collaborations et interactions
Pierre
Grard
Introduction UML 2
299 /
342
Plan
UML et mthododologie
Pierre
Grard
Introduction UML 2
300 /
342
Composant
Pierre
Grard
Introduction UML 2
301 /
342
Diagramme de composant
dpendances
de dlgation.
Pierre
Grard
Introduction UML 2
302 /
342
Pierre
Grard
Introduction UML 2
303 /
342
Pierre
Grard
Introduction UML 2
304 /
342
Architecture matrielle
Pierre
Grard
Introduction UML 2
305 /
342
Noeud
Un noeud est une ressource sur laquelle des artefacts peuvent tre
dploys pour tre excuts.
C'est un classeur qui peut prendre des attributs.
Pierre
Grard
Introduction UML 2
306 /
342
Artefact
Un artefact dploy sur un noeud est symbolis par une che en trait
pointill qui porte le strotype dploy et qui pointe vers le noeud.
L'artefact peut aussi tre inclus directement dans le cube reprsentant
le noeud.
Pierre
Grard
Introduction UML 2
307 /
342
Pierre
Grard
Introduction UML 2
308 /
342
Pierre
Grard
Introduction UML 2
309 /
342
Plan
Design Patterns
UML et mthododologie
Pierre
Design Patterns
Grard
Introduction UML 2
310 /
342
Design Patterns
Addison-Wesley, 1995
Pierre
Grard
Introduction UML 2
311 /
342
Design Patterns
Ce n'est pas
Pierre
Grard
Introduction UML 2
312 /
342
Design Patterns
Attention
Pierre
Grard
Introduction UML 2
313 /
342
Design Patterns
Pierre
Grard
Introduction UML 2
314 /
342
Design Patterns
Pierre
Grard
Introduction UML 2
315 /
342
Design Patterns
Patrons de structure
Ils dnissent l'usage des classes et des objets dans des grandes
structures ainsi que la sparation entre l'interface et l'implmentation.
Patrons de comportement
Pierre
Grard
Introduction UML 2
316 /
342
Design Patterns
Structure :
Classes : Adapter
Comportement :
Pierre
Grard
Introduction UML 2
317 /
342
Creational patterns
Design Patterns
Pierre
Grard
Introduction UML 2
318 /
342
Design Patterns
Pierre
Grard
Introduction UML 2
319 /
342
Singleton
Design Patterns
Intention :
Indications :
Motivation :
Pierre
Grard
Introduction UML 2
320 /
342
Singleton : Structure
Pierre
Grard
Design Patterns
Introduction UML 2
321 /
342
Design Patterns
Singleton : Implmentation
A ajouter :
Pierre
Grard
Introduction UML 2
322 /
342
Structural patterns
Design Patterns
Formes de structure :
Pierre
Grard
Introduction UML 2
323 /
342
Design Patterns
Pierre
Grard
Introduction UML 2
324 /
342
Adapter
Design Patterns
Intention :
Convertir l'interface d'une classe en une autre qui soit conforme aux
attentes d'un client. L'adaptateur permet des classes de collaborer
malgr des interfaces incompatibles.
Indications :
On veut utiliser une classe existante, mais son interface ne concide pas
avec celle escompte.
On souhaite crer une classe rutilisable qui collaborera avec des
classes encore inconnues, mais qui n'auront pas ncessairement
l'interface escompte
Pierre
Grard
Introduction UML 2
325 /
342
Adapter : Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
326 /
342
Adapter : Structure
Pierre
Grard
Design Patterns
Introduction UML 2
327 /
342
Bridge
Design Patterns
Intention :
Indications :
Pierre
Grard
Introduction UML 2
328 /
342
Bridge : Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
329 /
342
Bridge : Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
329 /
342
Bridge : Structure
Pierre
Grard
Design Patterns
Introduction UML 2
330 /
342
Composite
Design Patterns
Intention :
Indications :
Pierre
Grard
Introduction UML 2
331 /
342
Composite : Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
332 /
342
Composite : Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
332 /
342
Composite : Structure
Pierre
Grard
Design Patterns
Introduction UML 2
333 /
342
Behavioural patterns
Design Patterns
des algorithmes
des comportements entre objets
des formes de communication entre objet
Pierre
Grard
Introduction UML 2
334 /
342
Design Patterns
Grard
Design Patterns.
Catalogue de modles de
conception rutilisables.
Richard Helm, Ralph
Johnson, John Lissides,
Eric Gamma
Introduction UML 2
335 /
342
Observer
Design Patterns
Intention :
Indications :
Pierre
Grard
Introduction UML 2
336 /
342
Observer Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
337 /
342
Observer Structure
Pierre
Grard
Design Patterns
Introduction UML 2
338 /
342
Strategy
Design Patterns
Intention :
Indications :
Pierre
Grard
Introduction UML 2
339 /
342
Strategy : Motivation
Pierre
Grard
Design Patterns
Introduction UML 2
340 /
342
Strategy : Structure
Pierre
Grard
Design Patterns
Introduction UML 2
341 /
342
Design Patterns
pour l'volution
Abuser des patrons de conception peut parfois nuire la lisibilit des solutions de
conception proposes
et Strategy
Observer
Grard
Introduction UML 2
342 /
342