UML
Diagrammes d’interaction :
- Diagrammes de séquences
- Diagrammes de communication
UML
Processus de développement logiciel
Diagrammes d’UML 2
Diagrammes structurels / statiques (UML Structure)
diagramme de classes (Class diagram)
diagramme d’objets (Object diagram)
diagramme de composants (Component diagram)
diagramme de déploiement (Deployment diagram)
diagramme de paquetages (Package diagram)
diagramme de structures composites (Composite structure diagram)
Diagrammes comportementaux / dynamiques (UML Behavior)
diagramme de cas d’utilisation (Use case diagram)
diagramme d’activités (Activity diagram)
diagramme d’états-transitions (State machine diagram)
diagrammes d’interaction (Interaction diagram)
• diagramme de séquence (Sequence diagram)
• diagramme de communication (Communication diagram)
• diagramme global d’interaction (Interaction overview diagram)
• diagramme de temps (Timing diagram)
Diagrammes d'interaction
Objectif :
Représenter les communications avec le logiciel et
au sein du logiciel.
Diagramme de communication :
● Représentation spatiale des objets et de leurs
interactions
● Diagramme d'objet dont les associations sont
étiquetées par les messages envoyés
Diagrammes d'interaction
Objectif :
Représenter les communications avec le logiciel et
au sein du logiciel.
Diagramme de séquence :
● Représentation temporelle des interactions entre
les objets
Advertisement
● Chronologie des messages échangés entre les
objets et avec les acteurs
Diagrammes d'interaction
Diagramme de communication :
● Représentation spatiale des objets et de leurs
interactions
Diagramme de séquence :
● Représentation temporelle des interactions entre les
objets
Diagrammes équivalents en phase de conception :
Description du lien entre cas d'utilisation et diagramme
de classes
Diagrammes d'interaction
Exemple : À partir d'un diagramme de classes et d'un cas d'utilisation
Diagramme de communication
Diagramme de séquence
Diagrammes d'interaction
Objectif : Décrire la réalisation des cas d'utilisation sur le
système décrit par le diagramme de classes
● Point de vue interne sur le fonctionnement du système
● Description au niveau de l'instance (état du système à un
instant)
● Description de scénarios particuliers
● Représentation des échanges de messages :
● Entre les acteurs et le système, entre les objets du système
● De façon chronologique
Diagrammes
de
séquences
Diagrammes de séquence
Éléments du diagramme de séquence :
● Acteurs
● Objets (instances)
● Messages (cas d'utilisation, appels d’opération)
Principes de base :
Représentation graphique de la chronologie des
échanges de messages avec le système ou au sein du
système :
Advertisement
● « Vie » de chaque entité représentée verticalement
● Échanges de messages représentés horizontalement
Utilisation en phase de conception
Utilisation en phase de conception
Éléments de base
Types de messages
Message synchrone :
Émetteur bloqué en attente du retour
Types de messages
Message asynchrone :
Émetteur non bloqué, continue son exécution
Création et destruction d’objet
Message réflexif
Alternative
Principe : Condition à l'envoi d'un message
Notation : Deux diagrammes
Alternative
Principe : Condition à l'envoi d'un message
Notation : Deux diagrammes
Boucle
Principe : Répéter un enchaînement de messages
Notation : Note
Boucle
Principe : Répéter un enchaînement de messages
Notation : Note + Bloc de boucle loop
Référence à un autre diagramme
Exemple - Analyse
Exemple - Conception
Exemple - Conception
Exemple - Conception
Diagramme de classe complété avec les opérations nécessaires
Diagrammes d’interaction :
Diagrammes
de
communication
Diagramme de séquences - communication
Diagrammes de communication
Représentation graphique de l’évolution d’un
Advertisement
ensemble d’objets pour effectuer une action
Différences avec diagrammes de séquence :
pas d’axe temporel
temps modélisé par numérotation
Diagrammes de communication
Éléments d’une interaction:
Instances
qui collaborent avec d'autres objets en échangeant des
informations
Représentés par
liens
qui sont des supports de messages
Représentés comme des associations
messages
déclenchant les opérations
Indiqués par des flèches
:ClasseObjet:Classe
Diagrammes de communication
Exemple : Appel téléphonique
1. Décrocher
:Appelant
2. Tonalité
4.1b. Sonnerie
:Ligne
5. Décrocher
:Appelé
6.1b. Arrêt sonnerie
3. Numérotation
4.1a. Tonalité sonnerie
6.1a. Arrêt tonalité
Diagrammes de communication
Aspect temporel
modélisé par numérotation des messages
Type et Sémantique des numérotations
1, 2, 3, 4 : Numérotation simple
séquencement des messages
1, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.3 : Dot notation
séquencement + un point : ne peut être terminé que si ses
Advertisement
sous points le sont aussi
1, 1.1a, 1.1b, 1.2, 1.3 : Dot notation + concurrence
idem dot notation, mais les points 1.1a et 1.1b peuvent être
effectués en parallèle
Diagrammes de communication
Mêmes types contraintes que pour les diagrammes
de séquence
Itération : *[condition]
Conditions : [condition]
Exemple : réservation d’articles
1. commander(n, item)
2. vérifier(n, item)
:Client
:Vendeur
:Stock
4. livrer(n, item)
3. [disponible]réserver(n, item)
Diagrammes de communication
Les objets crées ou détruits au cours d’une
interaction peuvent respectivement porter les
contraintes :
{Nouveau}
{Détruit}
<<{Détruit}>>Objet_1<<{Nouveau}>>Objet_2Diagrammes de communication
Conclusion :
Représentation spatiale
Aspect temporel plus difficile à suivre que pour les
diagramme de séquence
Durée d’exécution d’une contrainte difficile à évaluer
Diagramme niveau instance
Limite : taille des diagrammes
Plus d’instances peuvent être représentées sur un même
diagramme que pour les diagrammes de séquence
Exemple : Ascenseur (Séquence)
Exemple : Ascenseur (Collaboration)
38