• Aucun résultat trouvé

Diagramme de séquences – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Diagramme de séquences – Cours et formation gratuit"

Copied!
24
0
0

Texte intégral

(1)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Diagramme de

séquences

(2)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Définitions

Le diagramme de séquences est une documentation des cas d’utilisation.

Le diagramme de séquences représente la succession chronologique des opérations réalisées par un acteur.

Une interaction est la description d’un comportement qui se focalise sur l’échange observable d’informations entre instances (acteurs ou objets) connectables.

Le diagramme de séquences est un diagramme

d'interaction qui représente les objets participant à une interaction particulière.

Il représente les messages échangés entre les objets.

Ces messages seront transformés en opérations de classe lors de la phase de conception.

(3)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Les composants du diagramme

La ligne de vie d‘un objet Le message

Barre d’activation d’un objet Exemple

Création et suppression d’un objet

(4)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

La ligne de vie d‘un objet

C’est un composant qui représente la vie d'un objet dans le contexte de la séquence d'événements.

Par convention, le temps est représenté comme s'écoulant du haut vers le bas le long des "lignes de vie" des instances.

Les objets qui sont créés vers la fin de la séquence n'apparaissent pas toujours en haut du diagramme, mais peuvent apparaître à l'endroit où ils sont créés.

:Instance A

Ligne de vie de l’objet A

:Instance B

Décalage de temps

(5)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Le message

:Instance A

Un message est une information circulant entre

deux instances selon l’ordre chronologique (du haut vers le bas). Il existe plusieurs types de messages.

:Instance B

Message 1 Message 2 Message 3

(6)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Barre d’activation d’un objet

On représente les différentes périodes d'activité d'un

objet au moyen d'une barre rectangulaire superposée à la ligne de vie de l'objet.

:Instance A

Barre d’activation

de l’objet

Durée de vie de l’objet

(7)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Exemple

Ligne de vie De l’objet A

:Instance A :Instance B

Message

Ligne de vie De l’objet B

Barre d’activation

de l’objet

Durée de vie de l’objet

(8)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Création et suppression d'objet

On représente la création d'un objet au moyen d'une ligne pointillée allant de l'objet source vers l'objet destination, ou bien avec une flèche simple et le stéréotype «créer».

La mort (suppression) d'un objet est représentée par une "croix" sur sa « ligne de vie » et le stéréotype «détruire».

Création d’un objet

Destruction de l’instance C

:Instance B :Instance A

:Instance C

«créer»

«détruire»

:Instance D

Création d’un objet

(9)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Types de messages

(1/5)

Message minuté

C’est un message qui bloque l'expéditeur pendant un temps donné en attendant la prise en compte du message par le récepteur. L'expéditeur est libéré si la prise en compte n'a pas eu lieu pendant le délai spécifié.

Message simple

C’est un message dont on ne spécifie aucune caractéristique d'envoi ou de réception particulière

(10)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Types de messages

(2/5) Message synchrone:

C’est un message qui bloque l'expéditeur jusqu'à prise en compte du message par le destinataire.

:Instance A :Instance B

A est bloqué en attente

d’une réponse de l’instance B

message 1

message 2

:Instance C

message 2 n’est envoyé

qu’après retour du message 1

message retour

(11)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Types de messages

(3/5)

Message asynchrone:

C’est un message qui n’interrompe pas l'exécution de l'expéditeur.

Le message envoyé peut être pris en compte par le récepteur à tout moment ou ignoré.

:Instance A :Instance B :Instance C

message 1

message 2

(12)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Types de messages (4/5)

Message réflexif:

Il représente un message qu’envoie un objet à une instance de cet objet.

Objet : classe

:Instance

Message envoyé a l’objet lui

même

Message réflexif

(13)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Types de messages (5/5)

Messages perdus / trouvés

Ils permettent de représenter respectivement la perte d'un message (destinataire non contacté) et l'arrivée d'un

message (expéditeur non identifié).

:Instance A :Instance B

Message perdu

Message trouvé

(14)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Les fragments combinés

Un fragment combiné définit une expression de fragments d’interaction.

L’utilisation des fragments combinés permet de décrire de manière concise plusieurs traces d’exécution d’actions.

Un fragment combiné est défini par un opérateur d’interaction et les opérandes d’interactions

correspondants

Il est représenté dans un rectangle dont le coin supérieur gauche contient un pentagone où figure le type de la

combinaison, appelé opérateur d’interaction.

1/5

(15)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

L'opérateur "alt" désigne un choix, une alternative.

C'est l'équivalent du SI...ALORS...SINON.

Opérateur « alt »

:Instance A :Instance B

Alt

else

message 1 message 2

message 3 message 4

Opérande

opérateur Selon les

opérandes une seule phase est réalisée

Seq n

2/5

Condition vraie

(16)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Il désigne un fragment combiné optionnel.

Un fragment optionnel est équivalent à un fragment "alt" qui ne posséderait pas d'opérande else.

Opérateur « opt »

Instance A Instance B

opt msg1

msg2

msg3

msg4 Seq n

Cette interaction est

optionnelle

opérateur

3/5

Condition vraie

(17)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

C’est un opérateur utilisé pour décrire un ensemble d'interactions qui s'exécutent en boucle.

Opérateur « loop »

Instance A Instance B

Loop[3] msg1

msg2

msg3 msg4 Seq n

Répétition 3 fois de l’interaction

4/5

(18)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

La référence

C’est un raccourci ou renvoi vers un autre diagramme de séquence existant.

Ce fragment permet de factoriser des parties de comportement utilisées dans plusieurs scénarios.

ref

authentification

:client :distributeur

taper le code() Appel au

scénario authentification

5/5

(19)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Les étiquettes des messages (1/3)

Les étiquettes décrivent les messages auxquels elles sont attachées.

La syntaxe d'une étiquette de message est la suivante :

[[pré "/"] [ [cond] [séq] ["*"["||"] ["iter"] ] :] [r :=]

msg ([par])

pré : liste de numéros de séquence de messages qui vont précéder l’envoi du message.

cond : garde, expression booléenne. Permet de conditionner l'envoi du message, à l'aide d'une clause exprimée en langage naturel.

(20)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

séq:

numéro de séquence du message. Indique le rang du message

iter :

récurrence du message. Permet de spécifier en langage naturel l'envoi séquentiel de messages

.

||

indique l’envoi parallèle de ces messages.

r : valeur de retour du message.

msg : nom du message.

par : paramètres (optionnels) du message.

Les étiquettes des messages (2/3)

(21)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Exercice d’application (3/3)

5 : tapercode()

Ce message sans paramètre (de nom tapercode) a pour numéro de séquence 5

[heure = 17h] 1 : quittersalledecours()

Ce message (ayant 1 comme numéro de séquence) n'est envoyé que s'il est 17h.

2 / || [i := 1..3] : remercier()

Représente l'envoi en parallèle de 3 messages qui ne seront envoyés qu'après l'envoi du message 2.

1.3 , 2.1 / [t < 10s] 2.5 : age := demanderAge()

Ce message (numéro 2.5) ne sera envoyé qu'après

envoi des messages 1.3 et 2.1 et que si "t < 10s". Il aura age comme type de retour.

(22)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Contraintes temporelles

Pour modéliser les délais de transmission non négligeables, on utilise les deux notations suivantes:

une flèche oblique,

ou des notations temporelles dans la marge.

N

{M-N<5s}

:Objet A :Objet B :Objet C

Contrainte temporelle: msg2

ne sera émis qu’après 5s maximum de l’envoi de msg1.

Flèche oblique indiquant un retard de temps

X

{Y-X<3s} Y

msg1

msg2 M

msg3

(23)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Exemple complet

(24)

Définitions Composants Messages Fragments combinés

Formateur:Y.Naji

Analyse et conception orientée objet (UML)

Unité: Diagramme de séquences

Étiquettes

Références

Documents relatifs

Le diagramme d’état représente le cycle de vie pour les objets d’une même classe.. On utilisera les diagrammes d’état pour les objets ayant des changements

Vous pouvez utiliser cette palette pour insérer par glisser-déposer une référence de couleur SVG dans l'éditeur de méthodes de 4D.. La couleur est insérée sous forme de

Evaluer la prévalence des mutations de résistance chez des enfants infectés par le VIH-1, traités et en échec virologique de leur traitement antirétroviral au

- Use case Use case : ensemble d’actions réalisées par le système, en réponse à une action d’un acteur... La représentation des

• Un objet quelconque soumis à deux forces est donc en équilibre si les forces ont la même direction et la même intensité mais sont de sens contraires.. Si l’une de

– Le Design Pattern Façade consiste à avoir une classe comme point d'entrée unique d'une partie d'une programme... Janvier 2008 Programmation Orientée

A use case use case is a kind of classifier representing a coherent is a kind of classifier representing a coherent unit of functionality provided by a system, a subsystem,

UML est une notation, pas une méthode UML est une notation, pas une méthode UML est un langage de modélisation objet UML est un langage de modélisation objet UML convient pour