Unified Modeling Language (UML): Interaction and Communication Diagrams

Page 1 sur 38Lecteur de document UniversityLib

Unified Modeling Language (UML): Interaction and Communication Diagrams

Software Engineering · notes

Voir tous les documents en génie logiciel

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

Publicité

● 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 :

Publicité

● « 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

Publicité

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

Publicité

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