3.
VUE DYNAMIQUE
3.1 DIAGRAMMES DE CAS D’UTILISATION
Modélisation Objet avec UML
DIAGRAMME DE CAS D’UTILISATION
Modélisation Objet avec UML 98
DIAGRAMME DE CAS D’UTILISATION
Modélisation Objet avec UML 99
DIAGRAMME DE CAS D’UTILISATION
Modélisation Objet avec UML 100
ACTEUR
Modélisation Objet avec UML 101
IDENTIFIER LES ACTEURS
Un acteur correspond à un rôle, et non à une personne physique
Les principaux acteurs sont les utilisateurs du système.
o Une même personne physique peut être représentée par plusieurs acteurs si elle a
plusieurs rôles.
o Si plusieurs personnes jouent le même rôle vis-à-vis du système, elles seront
représentées par un seul acteur.
En plus des utilisateurs, les acteurs peuvent être :
o Des périphériques manipulés par le système (imprimantes...)
o Des logiciels déjà disponibles à intégrer dans le projet
o Des systèmes informatiques externes au système mais qui interagissent avec lui, etc.
Pour faciliter la recherche des acteurs, on se fonde sur les frontières du système.
Modélisation Objet avec UML 102
CAS D’UTILISATION
Modélisation Objet avec UML 103
DIAGRAMME DE CAS D’UTILISATION
Modélisation Objet avec UML 104
RELATIONS ENTRE ACTEURS ET CAS D’UTILISATION
Modélisation Objet avec UML 105
RELATIONS ENTRE ACTEURS ET CAS D’UTILISATION
Multiplicité
Modélisation Objet avec UML 106
ACTEURS PRINCIPAUX ET SECONDAIRES
Modélisation Objet avec UML 107
RELATIONS ENTRE ACTEURS
Modélisation Objet avec UML 108
RELATIONS ENTRE ACTEURS
Modélisation Objet avec UML 109
RELATIONS ENTRE CAS D’UTILISATION : INCLUSION
Modélisation Objet avec UML 110
RELATIONS ENTRE CAS D’UTILISATION : INCLUSION
Modélisation Objet avec UML 111
RELATIONS ENTRE CAS D’UTILISATION : EXTENSION
Modélisation Objet avec UML 112
RELATIONS ENTRE CAS D’UTILISATION : EXTENSION
Modélisation Objet avec UML 113
RELATIONS ENTRE CAS D’UTILISATION : GÉNÉRALISATION
Motivations
o Transmettre les propriétés et le comportement d’un cas d’utilisation à un autre;
o Eviter la duplication;
o Encourager la réutilisation
Le cas A est une généralisation du cas B B est un cas particulier (une sorte) de A.
Modélisation Objet avec UML 114
RECENSER LES CAS D’UTILISATION
Trouver le bon niveau de détail pour les cas d’utilisation est un
problème difficile qui nécessite de l’experience.
Modélisation Objet avec UML 115
SCÉNARIO (1)
Modélisation Objet avec UML 116
SCÉNARIO (2)
Modélisation Objet avec UML 117
SCÉNARIO (3)
Modélisation Objet avec UML 118
DESCRIPTION TEXTUELLE DES CAS D’UTILISATION
1. Identifier le cas (obligatoire)
Nom :
utiliser une tournure à l'infinitif (ex. : Réceptionner un colis).
Objectif :
une description résumée permettant de comprendre l'intention principale du cas
d'utilisation. Cette partie est souvent renseignée au début du projet dans la phase de
découverte des cas d'utilisation.
Acteurs principaux :
ceux qui vont réaliser le cas d'utilisation (la relation avec le cas d'utilisation est illustrée
par le trait liant le cas d'utilisation et l'acteur dans un diagramme de cas d'utilisation).
Acteurs secondaires :
ceux qui ne font que recevoir des informations à l'issue de la réalisation du cas
d'utilisation.
Dates :
les dates de création et de mise à jour de la description courante.
Responsable :
le nom des responsables.
Version :
le numéro de version.
Modélisation Objet avec UML 119
DESCRIPTION TEXTUELLE DES CAS D’UTILISATION
2. Séquencement (obligatoire)
Les préconditions :
elles décrivent dans quel état doit être le système (l'application) avant que ce cas
d'utilisation puisse être déclenché.
Des scénarii :
ces scénarii sont décrits sous la forme d'échanges d'événements entre l'acteur et le
système. On distingue le scénario nominal, qui se déroule quand il n'y a pas d'erreur, des
scénarii alternatifs qui sont les variantes du scénario nominal et enfin les scénarii
d'exception qui décrivent les cas d'erreurs.
Des postconditions :
elles décrivent l'état du système à l'issue des différents scénarii.
3. Rubrique optionnelle
Elle contient généralement des spécifications non fonctionnelles (spécifications
techniques…). Elle peut éventuellement contenir une description des besoins en termes
d'interface graphique.
Modélisation Objet avec UML 120
ACTIVITÉ
Description textuelle possible du cas d’utilisation “Paiement CB“ du diagramme ci-dessous.
Modélisation Objet avec UML 121
ACTIVITÉ - SOLUTION
Modélisation Objet avec UML 122
ACTIVITÉ - SOLUTION
Modélisation Objet avec UML 123
ACTIVITÉ - SOLUTION
Modélisation Objet avec UML 124
3. VUE DYNAMIQUE
3.1 DIAGRAMMES D’INTERACTION
Modélisation Objet avec UML
DIAGRAMME D’INTERACTION
Objectif : modéliser la communication entre les objets du système.
Diagrammes de séquence:
o Mettre l’accent sur le classement chronologique des messages de collaboration
d’instance
o Représentation temporelle des interactions entre les objets
o Représentation orientée client
Diagrammes de communication
o Mettre l’accent sur l’organisation structurelle des éléments qui envoient et reçoivent
des messages
o Représentation spatiale des objets et de leurs interactions
o Représentation orientée développeur
Les diagrammes de séquence et les diagrammes de communication d’instances sont
isomorphes : l’un peut-être transformé en l’autre.
Modélisation Objet avec UML Diagramme d’interaction 126
DIAGRAMME D’INTERACTION
Modélisation Objet avec UML Diagramme d’interaction 127
3. VUE DYNAMIQUE
3.1 DIAGRAMMES D’INTERACTION
3.1.1 DIAGRAMME DE SÉQUENCES
Modélisation Objet avec UML
DIAGRAMME DE SÉQUENCES
Les diagrammes de cas d'utilisation modélisent à QUOI sert le système, en organisant les
interactions possibles avec les acteurs.
Les diagrammes de classes permettent de spécifier la structure et les liens entre les objets
dont le système est composé : ils spécifient QUI sera à l'oeuvre dans le système pour
réaliser les fonctionnalités décrites par les diagrammes de cas d'utilisation.
Les diagrammes de séquences permettent de décrire COMMENT les
éléments du système interagissent entre eux et avec les acteurs.
Les objets au coeur d'un système interagissent en s'échangeant des messages.
Les acteurs interagissent avec le système au moyen d'IHM (Interfaces Homme-Machine).
Modélisation Objet avec UML Diagramme de séquences 129
DIAGRAMME DE SÉQUENCES
Modélisation Objet avec UML Diagramme de séquences 130
DIAGRAMME DE SÉQUENCE
Modélisation Objet avec UML Diagramme de séquences 131
MESSAGES
Un message définit une communication particulière entre des lignes de vie:
o l'envoi d'un signal
o l'invocation d'une opération
o la création ou la destruction d'une instance
La réception des messages provoque une période d'activité marquant le traitement du
message.
Modélisation Objet avec UML Diagramme de séquences 132
MESSAGES SYNCHRONES
Modélisation Objet avec UML Diagramme de séquences 133
CORRESPONDANCE MESSAGES/OPÉRATIONS
Les messages synchrones correspondent à des opérations dans le diagramme de classes.
Envoyer un message et attendre la réponse pour poursuivre son activité revient à invoquer
une méthode et attendre le retour pour poursuivre ses traitements.
class C {
class B {
C c; op2(param:Type){
...
op1(param:Type){
}
c.op2(p);
op3(){
c.op3();
...
}
}
}
}
Modélisation Objet avec UML Diagramme de séquences 134
MESSAGES ASYNCHRONES
Modélisation Objet avec UML Diagramme de séquences 135
MESSAGES ASYNCHRONES
Modélisation Objet avec UML Diagramme de séquences 136
CORRESPONDANCE MESSAGES/SIGNAUX
Les messages asynchrones correspondent à des signaux dans le diagramme de classes.
Les signaux sont des objets dont la classe est stéréotypée “signal” et dont les attributs
correspondent aux paramètres du message.
Modélisation Objet avec UML Diagramme de séquences 137
SYNTAXE DES MESSAGES ET RÉPONSES
Syntaxe des messages: nomMessage(arguments)
Syntaxe des réponses
[attribut =] <nomMessage>(arguments) [: <valeur_de_retour>]
Syntaxe des paramètres
o nomArguments = valeurArguments
o Paramètres modifiables: nomArguments : valeurArguments
Modélisation Objet avec UML Diagramme de séquences 138
MESSAGE TROUVÉ ET PERDU
Modélisation Objet avec UML Diagramme de séquences 139
MESSAGES DE CRÉATION ET DESTRUCTION D’INSTANCE
Modélisation Objet avec UML Diagramme de séquences 140
MESSAGE RÉFLEXIF
Modélisation Objet avec UML Diagramme de séquences 141
REPRÉSENTATION DE LA RÉCURSIVITÉ
Modélisation Objet avec UML Diagramme de séquences 142
OBJETS ACTIFS ET PASSIFS
Un objet actif initie et contrôle le flux d'activités
Représentation : un rectangle à la place de la ligne de vie vertical
Objet passif a besoin d'un flux d'activités pour pouvoir exécuter une méthode
À l'exécution d'une méthode, un rectangle blanc est placé sur la ligne de vie en pointillés
Exécution simultanée
Modélisation Objet avec UML Diagramme de séquences 143
FRAGMENTS D’INTERACTION COMBINÉS
Un fragment combiné représente des articulations d'interactions.
Il est défini par un opérateur qui conditionne la signification du fragment combiné, et des
opérandes.
Opérateurs d'interaction par fonctions :
o Opérateurs de choix et de boucle :
Alternatives (alt), Option (opt), Break (break), et Loop (loop)
o Opérateurs contrôlant l'envoi en parallèle de messages :
Parallel (par) et Critical Region (critical)
o Opérateurs contrôlant l'envoi de messages :
Ignore (ignore), Consider (consider), Assertion (assert) et Negative (neg)
o Opérateurs fixant l'ordre d'envoi des messages :
Weak Sequencing (seq), Strict Sequencing (strict)
Modélisation Objet avec UML Diagramme de séquences 144
OPÉRATEUR OPT
L'opérateur option, ou opt, comporte un opérande et une condition de garde associée.
Le sous-fragment s'exécute si la condition de garde est vraie et ne s'exécute pas dans le cas
contraire.
Modélisation Objet avec UML Diagramme de séquences 145
OPÉRATEUR ALT
L'opérateur alternative, ou alt, est un opérateur conditionnel possédant plusieurs
opérandes.
C'est un peu l'équivalent d'une exécution à choix multiple (switch en C++, Java).
Chaque opérande détient une condition de garde; l'absence de condition de garde
implique une condition vraie (true).
OPÉRATEUR LOOP
Un fragment combiné de type loop possède un sous-fragment et spécifie un compte
minimum et maximum (boucle) ainsi qu'une condition de garde.
Modélisation Objet avec UML Diagramme de séquences 147
OPÉRATEUR PAR
Un fragment combiné de type parallel, ou par, possède au moins deux sous-fragments
exécutés simultanément.
La concurrence est logique et n'est pas nécessairement physique : les exécutions
concurrentes peuvent s'entrelacer sur un même chemin d'exécution dans la pratique.
Modélisation Objet avec UML Diagramme de séquences 148
UTILISATION D’INTERACTION
L’utilisation d’interaction consiste à placer un fragment portant la référence ref là où
l'interaction est utile.
On spécifie le nom de l'interaction dans le fragment.
Modélisation Objet avec UML Diagramme de séquences 149
3. VUE DYNAMIQUE
3.1 DIAGRAMMES D’INTERACTION
3.1.1 DIAGRAMME DE COMMUNICATION
Modélisation Objet avec UML
DIAGRAMME DE COMMUNICATION
Modélisation Objet avec UML Diagramme de communication 151
DIAGRAMME DE COMMUNICATION
Modélisation Objet avec UML Diagramme de communication 152
DIAGRAMME DE COMMUNICATION
Modélisation Objet avec UML Diagramme de communication 153
DIAGRAMME DE COMMUNICATION
Modélisation Objet avec UML Diagramme de communication 154
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 155
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 156
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 157
REPRÉSENTATION DES MESSAGES
1.3.1 : trouve("Hadock") : appel emboîté.
Modélisation Objet avec UML Diagramme de communication 158
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 159
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 160
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 161
REPRÉSENTATION DES MESSAGES
Modélisation Objet avec UML Diagramme de communication 162
ISOMORPHISME
Modélisation Objet avec UML Diagramme de communication 163
ISOMORPHISME
DIAGRAMME DE COMMUNICATION OU DE SÉQUENCE?
Modélisation Objet avec UML Diagramme de communication 165
DIAGRAMME DE COMMUNICATION
Le diagramme de communication privilégie l'organisation spatiale des participants à
l'interaction.
Modélisation Objet avec UML Diagramme de communication 166