CSC4002 : Introduction à la conception et à la programmation orientées objet illustrées avec UML et JAVA
4 Analyse et conception, aspects statiques de la vue logique 52
4.1 Diagrammes communs à l’analyse et à la conception . . . . . . . . . . . . . . . . . . . . . . 53
4.2Diagrammedeclasses ....................................... 54
4.2.1 Modéliser la structure logique du système dans un diagramme de classes . . . . . . . 55
4.2.2Classe ............................................ 56
4.2.3 Instanciation : création d’un objet d’une classe . . . . . . . . . . . . . . . . . . . . . 57
4.2.4 Attributs et opérations de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.2.5Attributdérivé ....................................... 59
4.2.6 Association entre classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.7 Nom de rôle et multiplicité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.8 Généralisation spécialisation ou héritage . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.2.9 Généralisation spécialisation : vision ensembliste . . . . . . . . . . . . . . . . . . . . 64
4.2.10 Généralisation spécialisation : vision encapsulation . . . . . . . . . . . . . . . . . . 65
4.2.11 Généralisation et redéfinition d’opérations . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.12 Méthode Polymorphique et liaison dynamique . . . . . . . . . . . . . . . . . . . . . 67
4.2.13Agrégation......................................... 69
4.2.14 Exemple de diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2.15 Éléments de méthodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.3Diagrammed’objets ........................................ 73
QCM .................................................. 74
4.4 Concepts avancés du diagramme de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.4.1Navigabilité......................................... 76
4.4.2Classed’association .................................... 77
4.4.3 Composition : agrégation forte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.4Classeabstraite....................................... 79
4.4.5Interface........................................... 80
4.4.6 Classe paramétrée / générique * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4.7 Exemple de diagramme de classes avancé . . . . . . . . . . . . . . . . . . . . . . . . 83
5 Analyse et conception, aspects dynamiques de la vue logique 84
5.1 Rappel : diagrammes communs à l’analyse et à la conception . . . . . . . . . . . . . . . . . 85
5.2 Modélisation des aspects dynamiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.1 Algorithme : orientations procédurale et objet . . . . . . . . . . . . . . . . . . . . . . 87
5.2.2 Modèle dynamique de l’analyse et de la conception . . . . . . . . . . . . . . . . . . . 88
5.3Diagrammedeséquence...................................... 89
5.3.1 Modéliser l’ordre des interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.3.2 Participant, temps et message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.3.3 Exemple de diagramme de séquence « Ouvrir un scrutin » . . . . . . . . . . . . . . . 92
5.3.4 Syntaxe et types de messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.3.5 Création et suppression d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3.6 Fragments de séquence « ref » et « opt » . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3.7 Fragment de séquence « loop » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
QCM .................................................. 97
5.4 Diagramme de communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.4.1 Modéliser les liens d’interactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.4.2 Participant, lien d’interaction, message . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.4.3 Message conditionné, messages en séquence . . . . . . . . . . . . . . . . . . . . . . . 101
5.4.4Messagesemboîtés ..................................... 102
5.4.5Itérationdemessages ................................... 103
5.4.6 Collection et recherche dans une collection . . . . . . . . . . . . . . . . . . . . . . . . 104
5.4.7Messagesconcurrents* .................................. 105
5.4.8 Choix entre séquence et communications* . . . . . . . . . . . . . . . . . . . . . . . . 106
QCM .................................................. 107
5.5 Diagramme de machine à états . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.5.1 Modéliser l’état des objets d’une classe . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.5.2 Types d’états, événement et transition . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.5.3 Événement, condition et action d’une transition . . . . . . . . . . . . . . . . . . . . . 111
Télécom SudParis — Denis Conan et Jean-Luc Raffy — Octobre 2015 — CSC 4002 2