Diagramme de séquence

Page 1 sur 43Lecteur de document UniversityLib

Diagramme de séquence

Méthodologies O.O de Conception, Systèmes d'Information, Programmation · course

Voir tous les documents en programmation

Méthodologies O.O de Conception des S.I

CH7. Diagramme de séquence

CH7. Diagramme de séquence

 Présentation générale et

concepts de base

 Eléments syntaxiques  Les fragments d’interaction  Autre utilisation du diagramme

de séquence

2

22/04/2010

CH7. Diagramme de séquence

Présentation générale

 Les DCU: modélisent à QUOI sert le système, en organisant

les interactions possibles avec les acteurs.

 Les DC: spécifient QUI sera à l'oeuvre dans le système pour

réaliser les fonctionnalités décrites par les DCU.

 Les diagrammes de séquences: 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'échangent

des messages.

 Les acteurs interagissent avec le système au moyen d'IHM

(Interfaces Homme-Machine).

3

22/04/2010

CH7. Diagramme de séquence

Présentation générale(2)

 Le diagramme de séquence:

 est un diagramme d’interaction qui fait partie de la famille

des diagrammes de comportement.

 représente la succession chronologique des opérations

réalisées par un acteur.

 Il indique les objets que l’acteur va manipuler et les opérations

qui font passer d’un objet à l’autre.

 Ce diagramme est organisé dans le temps, le temps se déroulant

de haut en bas.

Pour chaque cas d’utilisation , nous pouvons décrire un ou plusieurs scénario, décrit chacun par un diagramme de séquences.

4

22/04/2010

CH7. Diagramme de séquence

Concepts de base

 Les éléments communicants: type de diagramme  Ce

comporte un ensemble d’éléments communicants, qui occupent chacun un couloir vertical dans le diagramme.

 Au dessous de chaque élément, nous trouvons une ligne en pointillés

qui représente la ligne de vie de l’élément

5

22/04/2010

CH7. Diagramme de séquence

Concepts de base

 Les éléments communicants:

 Par défaut l’élément communicant se présente dans un rectangle.

 La syntaxe d’écriture du nom de l’élément peut être assez libre si ce diagramme est utilisé pour la construction d’un modèle des cas d’utilisation.

 Dans ce cas, ce diagramme permet de présenter au client

la dynamique du futur système qui sera mis en place (les noms désignent des acteurs ou des éléments du futur système).

 Il est utilisé pour compléter la description textuelle d’un cas

d’utilisation en présentant de façon visuelle le scénario.

6

22/04/2010

CH7. Diagramme de séquence

Concepts de base

 Ligne de vie: Représente l’ensemble des opérations exécutées par un

objet.

 Message: définit une communication particulière entre des lignes de

vie (objets ou acteurs).

 Activité: La réception des messages provoque une période d'activité (rectangle vertical sur la ligne de vie) marquant le traitement du message (spécication d'exécution dans le cas d'un appel de méthode).

Objet 1

Objet 2

Activité

7

Emission d'un message

Réception d'un message

Sens du temps

22/04/2010

CH7. Diagramme de séquence

Concepts de base

 Message synchrone et asynchrone

 Message synchrone – Dans ce cas l’émetteur reste en

attente de la réponse à son message avant de poursuivre ses actions.  Les messages synchrones correspondent à des

opérations dans le diagramme de classes

 Message asynchrone – Dans ce cas, l’émetteur n’attend

pas la réponse à son message, il poursuit l’exécution de ses opérations.

8

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques

Les différentes sortes de messages  Pour décrire les communications entre les éléments, nous pouvons utiliser

différentes sortes de messages :

 l’invocations d’actions (méthodes) de la part de l’élément distant ;

 le message de retour (la réponse à un envoi de message) ;

 la création d’un nouvel élément communicant ;

 la destruction d’un élément communicant ;

 le message perdu ;

Publicité

 le message trouvé.

9

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques Invocation d’action

• L’émetteur envoie un message vers le récepteur afin que

celui-ci accomplisse une action.

• Si

le diagramme est utilisé dans un modèle de cas d’utilisation, la syntaxe du message est assez libre. On décrit les informations et les ordres échangées entre deux éléments.

10

22/04/2010

InternauteE-Library1: Recherche rapideCH7. Diagramme de séquence

Eléments syntaxiques message de retour

• Dans certains cas, l’envoi d’un message entraîne l’envoi représentée par une flèche en

d’une réponse qui est pointillés orientée dans l’autre sens.

11

22/04/2010

InternauteE-Library1: Recherche_rapide()2: Ouvrages trouvésCH7. Diagramme de séquence

Eléments syntaxiques

Création d’objet

 Création d’objet

 Si dans le cadre de son fonctionnement un élément a besoin d’un autre élément pour effectuer un traitement particulier, il peut le créer grâce à un message de création (qui correspond à l’invocation d’un constructeur).

 Est matérialisée par une flèche qui pointe sur le sommet d'une

ligne de vie.

 On peut aussi utiliser un message asynchrone ordinaire

portant le nom create.

 Une fois que l’élément a été créé, il peut échanger des

messages avec les autres entités.

12

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques

Création d’objet

13

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques

Création d’objet

 Création d’objet

 Si dans le cadre de son fonctionnement un élément a besoin d’un autre élément pour effectuer un traitement particulier, il peut le créer grâce à un message de création (qui correspond à l’invocation d’un constructeur).

 Est matérialisée par une flèche qui pointe sur le sommet d'une

ligne de vie.

 On peut aussi utiliser un message asynchrone ordinaire

portant le nom create.

 Une fois que l’élément a été créé, il peut échanger des

messages avec les autres entités.

14

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques

le message perdu

• Le message perdu est un message dont on connaît

l’émetteur mais pas le récepteur.

•

Il représenté par une flèche partant de la ligne de vie d’un élément vers un disque noir.

• Le message perdu pouvant être, à l’origine, synchrone ou asynchrone, nous avons donc les types de pointes de flèches.

15

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques

le message perdu

 Cette sorte de message permet de modéliser, par exemple,

les scénarii de pertes de message sur un réseau:

16

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques le message trouvé

• Le message trouvé est le pendant du message perdu, il correspond à un message dont on connaît le destinataire mais pas l’émetteur.

•

Il est représenté par une flèche partant d’un disque noir vers la ligne de vie d’un élément.

17

22/04/2010

CH7. Diagramme de séquence

Eléments syntaxiques le message trouvé

 Ce message

le comportement d’un élément suite à la réception d’un message d’exception:

pour modéliser

utilisé

peut

être

18

22/04/2010

CH7. Diagramme de séquence

Récap

19

22/04/2010

CH7. Diagramme de séquence

Les fragments d’interaction

 Le DS fait apparaître des interactions  Il est possible de

découper ce diagramme en fragments afin de s’intéresser à un sous-ensemble d’interactions qui seraient spécifiques à une exécution concurrente ou résultant d’une prise de décision …

Publicité

 Ce système permet donc de construire des diagrammes de

séquence compacts tout en gardant un haut niveau de clarté d’un point de vue sémantique

20

22/04/2010

CH7. Diagramme de séquence

Les fragments d’interaction

 Un fragment d’interaction se représente globalement comme un diagramme de séquence dans un rectangle avec indication dans le coin à gauche du nom du fragment.

21

22/04/2010

CH7. Diagramme de séquence

Les fragments d’interaction

 Les fragments d’interaction imbriqués

 Il est également possible (et même souvent pratiqué)

d’imbriquer des fragments d’interaction

22

22/04/2010

CH7. Diagramme de séquence

Les fragments d’interaction Types de fragment

 UML propose différents types de fragments qui sont identifiés

par l’opérateur inscrit dans l’encart.  Les opérateurs de choix et de boucle : Alt (alternatives) ; Opt

(option) ; Break (break); Loop

 Les opérateurs contrôlant l'envoi en parallèle de messages :

Par (parallel); Critical region (critical);

 Les opérateurs contrôlant l’envoi de messages :

Ignore/Consider; Assert; Neg (negative);

 Les opérateurs fixant l’ordre d’envoi des messages :Strict

(strict sequencing) / Seq (weak sequencing) ;

 L'opérateur: Ref.

23

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur alt

 Opérateur alt

 L’opérateur alt correspond à une instruction de test avec une ou plusieurs alternatives possibles. Il est aussi permis d’utiliser les clauses de type sinon.

 Formalisme et exemple

 L’opérateur alt se représente dans un fragment possédant au

moins deux parties séparées par des pointillés.

 L’exemple: diapo suivante:

24

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur alt

 Exemple: Librairie en ligne / DS: Chercher des ouvrages

25

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur alt

 Exemple: Librairie en ligne / DS: Editer fiche client

26

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur opt

 Opérateur opt

 L’opérateur opt (optional) correspond à une instruction de

test sans alternative (sinon).

 Formalisme et exemple

 L’opérateur opt se représente dans un fragment possédant

une seule partie.

27

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur opt

 Exemple: Librairie en ligne / DS: Chercher des ouvrages

28

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction

Opérateur break

 Opérateur break

 Représenter une situation exceptionnelle correspondant à

un scénario de rupture par rapport au scénario général.

 Le scénario de rupture s’exécute si la condition de garde est

satisfaite.

 Formalisme et exemple:

29

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction

Opérateur break

 Exemple: Librairie en ligne / DS: Chercher des ouvrages

30

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur loop

 Opérateur loop

 Correspond à une instruction de boucle qui permet

d’exécuter une séquence d’interaction tant qu’une condition est satisfaite.

 Il est possible aussi d’utiliser une condition portant sur un

nombre minimum et maximum d’exécution de la boucle en écrivant : loop min, max.

 Il est aussi possible de combiner l’option min/max avec la

Publicité

condition associée à la boucle.

 Formalisme et exemple:

31

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur loop

 Exemple: Librairie en ligne / Une partie du DS: Gérer son panier

32

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur par

 Opérateur par

 L’opérateur par (parallel) permet de représenter deux

séries d’interactions qui se déroulent en parallèle.

 Formalisme et exemple:

 L’opérateur par se représente dans un fragment possédant

deux parties séparées par une ligne en pointillé.

33

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur par

34

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction

Opérateur critical

 Opérateur critical

 L’opérateur critical permet d’indiquer qu’une séquence d’interactions ne peut être interrompue compte tenu du caractère critique des opérations traitées.

 On considère que le traitement des interactions comprises

dans la séquence critique est atomique.

 Formalisme et exemple:

35

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction

Opérateur critical

 On suppose que plusieurs éléments fonctionnent de manière parallèle et qu’ils partagent une ressource critique comme une base de donnée (par exemple).

 L’accès en écriture à cette ressource doit se faire dans une

section critique qui garantie que l’élément « écrivain » a un accès exclusif à la base de données :  on doit éviter qu’un autre élément écrive ou lise pendant cet accès ;  on ne doit pas interrompre l’écriture qui s’effectue de façon

« atomique ».

36

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction

Opérateur critical

37

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur ref

 L’opérateur ref permet d’appeler une séquence d’interactions

décrite par ailleurs constituant ainsi une sorte de sous- diagramme de séquence.

 Cette référence est une sorte de « #include » du sous-

diagramme de séquence invoqué, cela signifie que ce sous- diagramme est virtuellement collé à la place du cadre référence

 Formalisme et exemple

38

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur ref

39

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur ref

Le passage d’information entre deux séquences  La référence à un sous-diagramme de séquence est un

moyen commode de produire des diagrammes de séquence clairs et compacts.

 Cependant, le diagramme de séquence principal et le sous-

diagramme (celui qui est référencé) doivent pouvoir s’échanger des messages.

 Cet échange peut s’effectuer au moyen de portes (gates) qui sont placés à la frontière des cadres de type sd ou ref : les message entrent et sortent par ces portes.

40

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur ref

 Exemple: Le sous-diagramme

41

22/04/2010

CH7. Diagramme de séquence

Fragment d’interaction Opérateur ref

 Exemple: Utilisation du sous-diagramme

42

22/04/2010

CH7. Diagramme de séquence

Autre utilisation du DS

 Le diagramme de séquence peut être aussi utilisé pour

documenter un cas d’utilisation.

 Les interactions entre objets représentent, dans ce cas, des flux

d’informations échangés et non pas de véritables messages entre les opérations des objets.

 Un diagramme de séquence « système » traite le système comme une « boîte noire » représente les interactions entre les acteurs et le système illustre la succession temporelle des événements qui influencent le fonctionnement du système met en évidence les responsabilités élémentaires du système permet de bien délimiter les frontières du système

43

22/04/2010