<!-- Slide number: 1 -->
Modélisation Dynamique:
Diagramme de séquences
2ème année Ingénieurs en Informatique
ENIT

Nejib Ben Hadj-Alouane
<!-- Slide number: 2 -->
Introduction
2

Diagramme de séquences
<!-- Slide number: 3 -->
Introduction (DSS Vs DS)
3
Diagramme de Séquences Système
Modélisation fonctionnelle
Représentation graphique d’un scénario
Système = boite noire
Diagramme de Systèmes
Modélisation dynamique
Remplacement du système par des interactions entre les objets

Diagramme de séquences
<!-- Slide number: 4 -->
Introduction
4
Diagramme d’interaction
Utilisé en conception pour la définition et la conception des méthodes des classes
Représentation des interactions entre objets en indiquant la chronologie des échanges
Représentation pouvant se réaliser par cas d’utilisation en considérant les différents scénarios associés
Diagramme de séquences
<!-- Slide number: 5 -->
Concepts de base (Ligne de vie)
5
Représentation de l’ensemble des opérations exécutées par un objet
Exécution d’une opération déclenchée par un message reçu par un objet
Le retour d’information implicite ou explicite à l’aide d’un message de retour
Diagramme de séquences
<!-- Slide number: 6 -->
Concepts de base (Messages)
‹#›
Synchrone
Emetteur en attente de la réponse à son message avant la poursuite de ses actions
Message de retour optionnel car implicitement inclus dans la fin d’exécution de l’opération de l’objet destinataire du Message
Asynchrone
Poursuite de l’exécution des opérations par l’émetteur sans atten5dre la réponse à son message

Publicité
Diagramme de séquences
<!-- Slide number: 7 -->
Concepts de base (Représentation)
7

Diagramme de séquences
<!-- Slide number: 8 -->
Opérations de base
8
Création et destruction d’objet
Apparition d’un objet au moment de sa création par une opération
Destruction d’un objet représenté par « X »
Diagramme de séquences
<!-- Slide number: 9 -->
Opérations de base
9

Diagramme de séquences
<!-- Slide number: 10 -->
Opérations de base
10
Contrainte temporelle
Chronologie
Trait oblique pour la représentation d’un message ayant besoin d’une certaine durée
Indication du pseudo-code exécuté par un objet pendant le déroulement d’une opération
pour la représentation du sous-ensemble
du logiciel à réaliser

Diagramme de séquences
<!-- Slide number: 11 -->
Fragment d’interaction
11
Distinction de sous-ensembles d’interactions constituant des fragments
Fragment d’interaction = Diagramme de séquence dans un rectangle avec indication dans le coin à gauche du nom du fragment
Possibilité de définition d’un port d’entrée et d’un port de sortie pour connaître sa relation avec le reste du diagramme
Diagramme de séquences
<!-- Slide number: 12 -->
Fragment d’interaction
12

Diagramme de séquences
<!-- Slide number: 13 -->
Fragment d’interaction
13
Fragment combiné = ensemble d’interaction auquel on applique un opérateur
Représenté globalement comme un diagramme de séquence avec indication dans le coin à gauche du nom de l’opérateur
Diagramme de séquences
<!-- Slide number: 14 -->
Publicité
Fragment d’interaction
14
Les opérateurs de choix et de boucle: alternative (alt), option (opt), loop
Les opérateurs contrôlant l’envoi en parallèle de messages: parallel (par), critical region
Les opérateurs contrôlant l’envoi de messages: ignore, consider, assertion (assert) et negative
Les opérateurs fixant l’ordre d’envoi des messages: weak sequencing (weak), strict sequencing (strict)
Diagramme de séquences
<!-- Slide number: 15 -->
Fragment d’interaction (alt)
15
Instruction de test avec une ou plusieurs alternatives possibles
Pouvant être utilisées les clauses de type sinon

Diagramme de séquences
<!-- Slide number: 16 -->
Fragment d’interaction (opt)
16
Instruction de test sans alternative (sinon)

Diagramme de séquences
<!-- Slide number: 17 -->
Fragment d’interaction (loop)
17
Instruction de boucle pour l’exécution d’une séquence d’interaction tant qu’une condition est satisfaite
Possibilité d’utiliser une condition portant sur un nombre minimum et maximum d’exécution de la boucle en écrivant : loop min, max

Diagramme de séquences
<!-- Slide number: 18 -->
Fragment d’interaction (par)
18
Représentation de deux séries d’interactions qui se déroulent en parallèle

Diagramme de séquences
<!-- Slide number: 19 -->
Fragment d’interaction (par)
19
Opérateurs strict et weak Représentation d’une série d’interactions dont certaines s’opèrant sur des objets indépendants
Strict : utilisé pour respecter strictement l’ordre d’exécution
Weak : utilisé quand l’ordre d’exécution des opérations n’a pas d’importance

Diagramme de séquences
<!-- Slide number: 20 -->
Fragment d’interaction (break)
20
Représentation d’une situation exceptionnelle correspondant à un scénario de rupture par rapport au scénario général

Diagramme de séquences
<!-- Slide number: 21 -->
Publicité
Fragment d’interaction (ignore et consider)
‹#›
Utilisés pour montrer que certains messages peuvent être soit absents sans avoir d’incidence sur le déroulement des interactions (ignore), soit obligatoirement présents (consider)

Diagramme de séquences
<!-- Slide number: 22 -->
Fragment d’interaction (critical)
22
Indiquer qu’une séquence d’interactions ne peut être interrompue compte tenu du caractère critique des opérations traitées
Traitement atomique des interactions comprises dans la séquence critique

Diagramme de séquences
<!-- Slide number: 23 -->
Fragment d’interaction (negative)
23
Utilisé pour indiquer qu’une séquence d’interactions est invalide

Diagramme de séquences
<!-- Slide number: 24 -->
Fragment d’interaction (assertion)
24
Indiquer qu’une séquence d’interactions est l’unique séquence possible en considérant les messages échangés dans le fragment

Diagramme de séquences
<!-- Slide number: 25 -->
Fragment d’interaction (ref)
25
Appeler une séquence d’interactions décrite par ailleurs constituant ainsi une sorte de sous-diagramme de séquence

Diagramme de séquences
<!-- Slide number: 26 -->
Autre utilisation du diagramme
26
Documenter un cas d’utilisation
Flux d’informations échangés représentés par les interactions entre objets
Messages entre les opérations des objets remplacées par flux d’informations

Diagramme de séquences
<!-- Slide number: 27 -->
Exemple
27

Diagramme de séquences
<!-- Slide number: 28 -->
A force de forger…
28
Diagramme de séquences