UML 2.5
Initiation, exemples et exercices corrigés
5e édition
Chapitre 1
Introduction
1. Pourquoi ce livre ?11
2. Le monde équin12
3. Le contenu de l'ouvrage14
Chapitre 2
À propos d'UML
1. Introduction17
2. La genèse d'UML17
3. Le Processus Unifié19
4. L'architecture guidée par les modèles : MDA22
Chapitre 3
Les concepts de l'approche par objets
1. Introduction23
2. L'objet24
3. L'abstraction25
4. Les classes d'objets25
5. L'encapsulation27
6. La spécialisation et la généralisation28
7. L'héritage30
8. Les classes abstraites et concrètes31
9. Le polymorphisme32
10. La composition33
11. La spécialisation des éléments : la notion de stéréotype en UML35
12. Conclusion37
Chapitre 4
La modélisation des exigences
1. Introduction39
2. Les cas d'utilisation40
3. Les acteurs40
4. Les scénarios41
5. L'association entre un acteur et un cas d'utilisation41
6. Le diagramme des cas d'utilisation42
7. Les cardinalités de l'association acteur/cas d'utilisation45
8. Les relations entre les cas d'utilisation46
8.1 La relation d'inclusion46
8.2 La relation d'extension49
8.3 La spécialisation et la généralisation des cas d'utilisation51
9. La représentation textuelle des cas d'utilisation54
10. Conclusion57
11. Exercices57
11.1 L'hippodrome57
11.2 Le club équestre57
11.3 Le manège de chevaux de bois58
Chapitre 5
La modélisation de la dynamique
1. Introduction59
2. Le diagramme de séquence60
2.1 Introduction60
2.2 La ligne de vie d'un objet60
2.3 L'envoi de message62
2.4 La création et la destruction d'objets68
2.5 La description de la dynamique69
3. Les cadres d'interaction71
4. Les fragments combinés76
4.1 Introduction76
4.2 L'option76
4.3 L'alternative77
4.4 La boucle77
4.5 L'opérateur break78
4.6 Le parallélisme79
4.7 La séquence faible80
4.8 La séquence stricte81
4.9 La négation82
4.10 La section critique83
4.11 L'assertion83
4.12 Utilisation des fragments combinés84
5. Le diagramme de communication86
5.1 La représentation des objets86
5.2 Le message et l'ordre des messages86
5.3 Les messages parallèles88
5.4 Les messages itératifs88
5.5 Les messages itératifs et parallèles89
6. Découvrir les objets du système90
7. Conclusion94
8. Exercices95
8.1 L'hippodrome95
8.2 La centrale d'achat des chevaux95
Chapitre 6
La modélisation des objets
1. Introduction97
2. Découvrir les objets du système par décomposition98
3. La représentation des classes102
3.1 La forme simplifiée de représentation des classes102
3.2 L'encapsulation104
3.3 Les types106
3.4 La cardinalité107
3.5 Les propriétés des variables108
3.6 La signature des méthodes109
3.7 La forme complète de représentation des classes111
3.8 Les attributs et les méthodes de classe111
3.9 Les attributs calculés114
4. Les associations entre objets114
4.1 Les liens entre objets114
4.2 La représentation des associations entre les classes115
4.3 La cardinalité des associations118
4.4 La navigation120
4.5 L'association réflexive120
4.6 Les propriétés des extrémités des associations123
4.7 Les classes-associations124
4.8 La qualification des associations125
4.9 L'expression de contraintes sur les associations126
4.10 Les objets composés130
4.10.1 La composition forte ou composition130
4.10.2 La composition faible ou agrégation132
4.10.3 Les différences entre composition et agrégation134
4.11 La relation de dépendance134
5. La relation de généralisation/spécialisation entre les classes136
5.1 Les classes plus spécifiques et les classes plus générales136
5.2 L'héritage137
5.3 Les classes concrètes et abstraites139
5.4 L'expression de contraintes sur la relation d'héritage141
5.5 L'héritage multiple143
5.6 La factorisation des relations entre objets144
5.7 L'interface146
6. Les différents stéréotypes de classe150
7. Les classes template151
8. Les objets ou instances154
8.1 La représentation des objets154
8.2 La relation d'instanciation155
8.3 Les liens entre objets156
9. Le diagramme de structure composite157
9.1 La description d'un objet composé157
9.2 La collaboration163
10. Conclusion166
11. Exercices166
11.1 La hiérarchie des chevaux166
11.2 Les produits pour chevaux167
Chapitre 7
La structuration des éléments de modélisation
1. Introduction169
2. Les paquetages et le diagramme de paquetage169
3. Les relations d'importation et d'accès entre les paquetages173
4. La relation de fusion entre deux paquetages174
5. Les paquetages template179
6. Conclusion182
Chapitre 8
La modélisation du cycle de vie des objets
1. Introduction183
2. La notion d'état184
3. Le changement d'état185
3.1 La notion d'événement185
3.2 La transition187
4. L'élaboration du diagramme d'états-transitions188
4.1 La représentation graphique des éléments de base188
4.2 Les conditions de garde192
4.3 Les activités liées à un état ou à un franchissement de transition193
4.4 La jonction et l'alternative195
4.5 Les états composés199
5. Le diagramme de timing206
6. Conclusion208
7. Exercices208
7.1 Le ticket de course de tiercé208
7.2 La course de chevaux208
7.3 Le manège de bois208
Chapitre 9
La modélisation des activités
1. Introduction209
2. Les activités et les enchaînements d'activités210
2.1 Les activités210
2.2 Les enchaînements d'activités211
3. Les couloirs216
4. Les flux d'objets218
5. L'émission et la réception de signaux220
6. Les activités composées222
7. Les activités d'alternative et de boucle225
8. Les régions d'activités interruptibles227
9. Les régions d'expansion229
10. Le diagramme de vue d'ensemble des interactions231
11. Conclusion232
12. Exercices232
12.1 Le spectacle équestre232
12.2 Le tiercé232
Chapitre 10
La modélisation de l'architecture du système
1. Introduction233
2. Le diagramme de composants234
2.1 Les composants234
2.2 Les ports237
2.3 Les stéréotypes des composants237
2.4 L'architecture logicielle par composants238
3. Le diagramme de déploiement240
4. Conclusion242
Chapitre 11
Métamodélisation
1. Introduction243
2. Les stéréotypes244
2.1 Les métaclasses244
2.2 Les notions de stéréotype et d'association d'extension246
2.2.1 Introduction246
2.2.2 Les stéréotypes requis248
2.2.3 L'extension de plusieurs métaclasses par un même stéréotype249
2.2.4 La généralisation et la spécialisation des stéréotypes250
3. Les tagged values (valeurs étiquetées)252
3.1 Introduction252
3.2 Les associations entre stéréotypes253
4. Les autres éléments d'un profil255
4.1 Les contraintes255
4.2 Les classes, les types et les énumérations256
5. Les profils257
5.1 La représentation d'un profil257
5.2 La relation de référence257
5.3 L'application d'un profil à un paquetage259
6. Un exemple de domaine : les équidés260
6.1 Le profil260
6.2 Le modèle262
7. Un exemple de profil de plateforme : un profil pour EJB265
8. Le métamodèle d'UML266
8.1 Présentation266
9. Exemples270
10. Représentation des stéréotypes dans le métamodèle273
11. Introduction au MOF274
12. Conclusion276
Annexe 1 - L'architecture MDA : l'outil DB-MAIN
1. Introduction277
2. La transformation du modèle objet vers le modèle relationnel278
2.1 La transformation des classes278
2.2 La transformation des associations280
2.2.1 Les clés étrangères280
2.2.2 Les associations dont une extrémité a pour cardinalité 0..1 ou 1..1280
2.2.3 Les autres associations282
2.3 La transformation de l'héritage283
2.3.1 Le mécanisme de transformation283
2.3.2 La prise en compte des contraintes liées à la relation d'héritage284
2.4 Conclusion287
Annexe 2 - Correction des exercices
1. Chapitre La modélisation des exigences289
1.1 L'hippodrome289
1.2 Le club équestre290
1.3 Le manège de chevaux de bois291
2. Chapitre La modélisation de la dynamique293
2.1 L'hippodrome293
2.2 La centrale d'achat des chevaux295
3. Chapitre La modélisation des objets296
3.1 La hiérarchie des chevaux296
3.2 Les produits pour chevaux297
4. Chapitre La modélisation du cycle de vie des objets298
4.1 Le ticket de course de tiercé298
4.2 La course de chevaux299
4.3 Le manège de bois300
5. Chapitre La modélisation des activités301
5.1 Le spectacle équestre301
5.2 Le tiercé302
Annexe 3 : Glossaire303
Annexe 4 - Lexique
1. Français-anglais315
2. Anglais-français318
Annexe 5 : Notation graphique323
Annexe - Bibliographie329
Index331