0% ont trouvé ce document utile (0 vote)
146 vues28 pages

Exemples de diagrammes de séquence

Le document décrit les diagrammes de séquences UML. Il explique les concepts clés des diagrammes de séquences tels que les objets, les interactions, les messages synchrones et asynchrones.

Transféré par

Imane Ch'atoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
146 vues28 pages

Exemples de diagrammes de séquence

Le document décrit les diagrammes de séquences UML. Il explique les concepts clés des diagrammes de séquences tels que les objets, les interactions, les messages synchrones et asynchrones.

Transféré par

Imane Ch'atoui
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Diagramme de séquences

Pr Badraddine AGHOUTANE
Diagramme de séquence
• Le diagramme de séquence (DS) décrit le déroulement de chaque cas d’utilisation,
• Il montre la façon dont interagissent et collaborent, dans le temps, les diverses entités
mises en œuvres dans le cas d’utilisation afin de réaliser les fonctionnalités attendues.
• Le but est de déterminer :
• les divers entités, appelées objets, mises en jeu dans la réalisation d’une
fonctionnalité ;
• les interactions entre ces divers objets ;
• le déroulement dans le temps de ces interactions.
Diagramme de Séquence: les objets
Un objet mis en œuvre dans un diagramme de séquence peut symboliser :
• un acteur, humain ou non-humain ;
• le système, ou une partie ou composante de celui-ci.
Représentation graphique
• Un objet est représenté par un rectangle, ainsi qu’une ligne verticale pointillée qui
représente sa ligne de vie.
• Dans le cas d’un objet symbolisant un acteur, le rectangle peut être remplacé par un
personnage.
Diagramme de Séquence: les interactions

• Une interaction permet d’exprimer une communication entre objets nécessaire à la mise
en œuvre du cas d’utilisation étudié.
• Elle est vue comme l’envoi d’un message entre un objet émetteur et un objet
destinataire.
• Une interaction est représentée par une flèche horizontale, de l’émetteur vers le
récepteur, précisée de l’intitulé du message.
Les interactions : Événements et messages
Le diagramme de séquence permet de séparer clairement les différents évènements
correspondant à une interaction: l'envoi du message, sa réception, ainsi que le début de
l'exécution de la réaction et sa fin.
Diagramme de Séquence : Chronologie
• Le diagramme de séquence met l’accent sur la chronologie des interactions entre les
différents objets,
• La dimension verticale du diagramme, permet de préciser l’ordre des messages échangés.
 Les messages peuvent être éventuellement numérotés.
• La position horizontale des objets les uns par rapport aux autres est sans importance.
Diagramme de Séquence : Période d’activité
• Une période d’activité est le temps durant lequel un objet effectue une action, soit
directement par l’objet, soit par l’intermédiaire d’un autre objet (sous-traitant)
• L’activité d’un objet est généralement déclenchée par la réception d’un message (stimuli
d’activation), et ne correspond pas à sa durée de vie,

Un même objet peut être en


activité plusieurs fois
pendant le déroulement d’un
cas d’utilisation s’il reçoit
plusieurs stimuli d’activation.
Diagramme de Séquence: les interactions
• Une interaction peut être interne (message réflexif), si le message est envoyé par l’objet à
lui-même (composants de même objet)
• Un message est synchrone ou asynchrone, selon que l’objet émetteur soit ou pas bloqué
durant la prise en compte du message par l’objet destinataire.
• Un message minuté (timeout) bloque l'expéditeur pendant un temps donné (contrainte), en
attendant la prise en compte du message par le récepteur, sinon l'expéditeur est libéré
Messages synchrones et asynchrones
• Une interaction peut être synchrone ou asynchrone en fonction du message qu’elle
véhicule :
• Messages synchrone : bloque l'émetteur jusqu'à prise en compte du message par le
destinataire. Le flot de contrôle passe de l'émetteur au récepteur (i.e.: l'émetteur
devient passif et le récepteur actif à la prise en compte du message).

• Message asynchrone : n'interrompt pas l'exécution de l'émetteur. Le message envoyé


peut être pris en compte par le récepteur à tout moment ou ignoré (jamais traité).

• Le message de retour est sous forme d’une ligne pointillée


Messages asynchrones
• :Classe1 envoi un premier message asynchrone à l’objet :Classe2. Il n’est pas bloqué,
• Donc, il continu son exécution (envoie d’un deuxième message à l’objet :Classe3).
• Dans le cas des envois asynchrones, le retour doit être explicite
Messages synchrones
• L’objet : Classe1 est bloqué en attente d’une valeur de retour (un résultat)
• L’objet : Classe1 n'envoi le deuxième message à l’objet :Classe3 que lorsqu'une valeur de
retour (fin d’exécution) de l’objet :Classe2 est récupérée
• Dans le cas des envois synchrones, le retour peut être implicite en fin d'activités et ne
nécessitera pas de représentation particulière
Messages de création et de destruction d’instance
• Les objets présentés sur un Diagramme de séquence ont généralement une ligne de vie qui s’étend
sur toute la hauteur du diagramme.
• Une interaction peut désigner explicitement la création ou la destruction d’instance lors du
déroulement du DS.
• La création d’objet se représente par message précisé du stéréotype <<create>> pointant sur le
rectangle du nom de l’objet.
• La destruction d’objet se représente par un message précisé par le prototype <<destroy>> à la suite
et marqué d’une croix.
Exercice 1 : Borne automatique
Cahier des charges
Lorsque la borne est active, l’utilisateur sélectionne, grâce au clavier, sa destination, puis la
classe du billet (première ou seconde). Ensuite, il paie le montant demandé en utilisant soit
sa carte bleue qu’il insère dans la borne et en composant son code, soit en utilisant de la
monnaie. Puis le billet est imprimé par la borne et l’utilisateur peut alors le retirer. Par
défaut, on considère que la gare de départ est la gare où l’on se trouve, mais l’utilisateur
peut éventuellement décider de modifier la gare de départ. Un administrateur est
nécessaire pour la configuration de la borne automatique.

Elaborer un diagramme de cas d’utilisation du système, implanté dans une borne


automatique, permettant d’acheter un billet (métro, train, etc.), qui est située à l’intérieur
même d’une gare.
Exercice 1 : Diagramme de cas d’utilisation d’une Borne
automatique
Exercice 2 : Diagramme de séquence (Forme simplifiée)
Description textuelle du flot d’évènements principal (Acheter un billet de train en
utilisant une borne automatique)
1. l’utilisateur sélectionne, grâce au clavier, sa destination
2. l’utilisateur sélectionne ensuite la classe du billet (première ou seconde),
3. l’utilisateur insère sa carte bleue et paie le montant demandé,
4. la borne imprime le billet
5. l’utilisateur retire le billet imprimé.

Elaborer le diagramme de séquence


du scénario principal?
Exercice 2 : Diagramme de séquence (Forme simplifiée)
Description des flots d’évènements alternatifs (modifier la gare de départ):
1. l’utilisateur modifie la gare de départ,
2. puis suit le fonctionnement principal (sélection de la destination, etc.).

Elaborer le diagramme de séquence


du scénario alternatif?
Forme détaillée d’un DS : éclatement du système en classes
Dans la forme simplifiée d’un diagramme de séquence, le système était vu comme une
boîte noire. Sa forme détaillée permet de :
• mettre en évidence les différentes composantes du système,
• décrire plus précisément les interactions entre les objets.

Cette forme détaillée se déduit de la forme simplifiée, sachant que :


• Les acteurs et les différentes composantes du système seront représentées par
des objets de classe ;
• Les interactions seront représentées par des messages échangés (appels de
méthodes) entre les objets de classes;
Eclatement du système: Recherche des classes
• Décomposer le système revient à déterminer les différentes classes qui le composent.
• Pour chaque classe potentielle, il faut rechercher ses responsabilités et ses
collaborations (en utilisant la technique CRC (Classe / Responsabilité / Collaboration)).

Exemples:
Forme détaillée : éclatement du système en classes
• Les interactions correspondent à des appels de méthodes d’objets
• L’objet émetteur du message est celui qui réalise l’appel de méthode; la méthode
appartient à l’objet de destination.
 : Classe1. Pas de nom pour l’objet, on ne connaît que la classe à laquelle elle appartient.
 objet2 : Classe2. On donne un nom à une instance (ex. objet2 de la classe Classe2).

L’«objet2» de la classe «Classe2» effectue un appel de la méthode autre_message


(paramètre ) de l’objet anonyme de la classe «Classe3 » et lui passe un paramètre.
Modification du diagramme de séquence simplifié
Une fois les classes potentielles analysées et validées, il suffit de:
1. les insérer dans le DS dans sa forme simplifiée, à la place de l’objet «système»,
2. compléter les messages nécessaires à la description du fonctionnement du cas
d’utilisation.
Comportements non séquentiels : tests et boucles
Les comportements non séquentiels dans le temps, peuvent être représentés par des
annotations en marge du Diagramme de Séquence.
 Permet de décrire des structures conditionnelles et itératives (tests, boucles,…).

UML v2 a introduit la notion de cadres d’interaction (fragments) qui permet de


représenter de manière standard le comportement non linaire (tests, boucles, …)
Comportements non séquentiels : fragments combinés

• Un fragment ou un cadre d’interactions est une partie du diagramme de séquence


(délimitée par un rectangle) associée à une étiquette (dans le coin supérieur gauche).
• L’étiquette contient un opérateur d’interaction qui permet de décrire des modalités
d’exécution des messages à l’intérieur du cadre.

• Les principales modalités sont : les boucles, les branchements conditionnels, les
alternatives, les envois simultanés, etc.
Fragment d’interaction avec l’opérateur opt
• L’opérateur option (opt) comporte un opérande et une condition de garde associée.
• Le fragment s’exécute si la condition de garde est vraie et ne s’exécute pas dans le cas
contraire.
Fragment d’interaction avec operateur alt
• L’opérateur alternatives (alt) est un opérateur conditionnel possédant plusieurs opérandes
séparés par des pointillés.
• C’est l’équivalent d’une exécution à choix multiples. Chaque opérande détient une
condition de garde. Seul le sous-fragment dont la condition est vraie est exécuté.
• La condition else est exécutée que si aucune autre condition n’est valide.
Fragment d’interaction avec operateur loop
• L’opérateur de boucle (loop) exécute une itérative dont la séquence qu’elle contient
est exécutée tant que la condition de garde est vraie.

Exemple:
Loop[1, 3, code=faux] La séquence s’exécute 1 fois puis au maximum 2 autres fois si
code=faux.
Fragment d’interaction avec operateur par
• Un fragment avec l’opérateur de traitements parallèles (par) contient au moins deux
sous fragments (opérandes) séparés par des pointillés qui s’exécutent simultanément
(traitements concurrents).
Fragment d’interaction avec operateur ref
• Le fragment de séquence ref permet d’inclure une sous-séquence du diagramme de
séquence, la sous-séquence étant décrite dans un autre diagramme de séquence.
• Référencement (ref ) ou réutilisation est un ”Appel” à une interaction décrite dans un
autre diagramme de séquence existant
Exemples de fragments combinés

Vous aimerez peut-être aussi