Atelier UML
Diagrammes Use
Case et
SéquencesBCJ9KuJU
MeQ2
Groupe 2 DEV
Diagramme de séquence
Objectif : Représenter les communications avec et au sein du logiciel
❖ Représentation temporelle des interactions entre les objets
❖ Spécifie le comportement d’un cas d’utilisation ou une partie de celui-ci
❖ Chronologie des messages échangés entre les objets et avec les acteurs
Avantages des diagrammes de séquence
Les diagrammes de séquence peuvent constituer des références utiles pour les entreprises et d'autres
organisations. Essayez de dessiner un diagramme de séquence pour :
❖ Représenter les détails d'un cas d'utilisation UML
❖ Modéliser le déroulement logique d'une procédure, fonction ou opération complexe
❖ Voir comment les objets et les composants interagissent entre eux pour effectuer un processus.
❖ Schématiser et comprendre le fonctionnement détaillé d'un scénario existant ou à venir
Formalisme des Diagrammes de
Séquence
Composants Principaux :
❖ Acteurs : Les entités externes avec lesquelles le système interagit.
❖ Objets : Les composants internes du système, tels que les classes ou les instances de classes.
❖ Messages : Les communications entre les acteurs et les objets, représentées par des flèches.
Cas d’utilisation des diagrammes de
séquence
Les scénarios suivants sont idéaux pour utiliser un diagramme de séquence :
❖ Scénario d'utilisation : un scénario d'utilisation est un diagramme décrivant comment votre
système pourrait potentiellement être utilisé. C'est un bon moyen de s'assurer que vous avez pris en
compte la logique de tous les scénarios d'utilisation du système.
❖ Logique de méthode : de la même façon que vous pouvez utiliser un diagramme de séquence
UML pour analyser la logique d'un cas d'utilisation, vous pouvez aussi vous en servir pour
analyser la logique d'une fonction, d'une procédure ou d'un processus complexe.
Cas d’utilisation des diagrammes de
séquence
❖ Logique de service : si vous considérez un service comme étant une méthode
générale utilisée par différents clients, un diagramme de séquence est le moyen idéal
de le schématiser.
Interactions dans les Diagrammes de
Séquence
Représentation des Scénarios :
❖ Les diagrammes de séquence modélisent les étapes d'un scénario ou d'un
processus, montrant comment les objets interagissent au fil du temps.
Flux de Contrôle et de Données :
❖ Les diagrammes de séquence permettent de représenter à la fois le flux de
contrôle (l'ordre des actions) et le flux de données (les informations échangées
entre les objets).
Diagramme de séquence
Principes de base :
❖ Représentation graphique de la chronologie des échanges de messages avec le systèm
Délimitation du diagramme de séquence :
❖ Le diagramme de séquence est placé dans un rectangle qui dispose d’une étiquette sd en haut à gauche (qui
signifie sequence diagram) suivi du nom du diagramme ou au sein du système
L’objet :
❖ Dans un diagramme de séquence, l’objet à la même représentation que dans le diagramme des objets.
C'est-à-dire un rectangle dans lequel figure le nom de l’objet. Le nom de l’objet est
généralement souligné et peut prendre l’une des quatre formes suivantes
Diagramme de séquence
❖ Les diagrammes de séquences représentant les échanges entre les objets mais aussi les échanges
avec les acteurs, nous trouverons aussi la représentation du stickman (qui peut être considéré comme
un objet)
Diagramme de séquence
La ligne de vie :
❖ Comme il représente la dynamique du système, le diagramme de séquence fait entrer en action les
instances de classes intervenant dans la réalisation d'un cas d’utilisation particulier.
❖ A chaque objet est associé une ligne de vie (en trait pointillés à la verticale de l’objet) qui peut être
considéré comme un axe temporel(le temps s’écoule du haut vers le bas).
❖ Dans ce genre de diagramme, la quantification du temps n’a pas d’importance(le diagramme de séquence ne cherche
pas à spécifier des durées précises pour chaque interaction ou chaque étape du processus.)
❖ La ligne de vie indique les
périodes d’activité de l’objet
(généralement, les moments
où l'objet exécute une de ces
méthodes).
❖ Lorsque l’objet est détruit, la
ligne de vie s’achève par un
croix
Formalisme des Diagrammes de
Séquence
Notation des Messages :
❖ Envoi de Message : Flèche orientée vers la droite.
❖ Retour de Message : Flèche orientée vers le bas avec une barre oblique.
❖ Création d'Objet : Message avec une barre oblique au-dessus.
❖ Message conditionnel:Message qui est envoyé sous une condition spécifique
Diagramme de séquence
Les messages
Définition :
❖ Un message définit une communication particulière entre des lignes de vie. Ainsi, un message est
une communication d’un objet vers un autre objet.
❖ La réception d’un message est considérée par l'objet récepteur comme un événement qu’il faut
traiter (ou pas).
Plusieurs types de messages existent, les plus communs sont :
❖ L'invocation d’une opération : message synchrone (appel d’une méthode de l’objet cible).
❖ L’envoi d’un signal : message asynchrone (typiquement utilisé pour la gestion événementielle).
❖ La création ou la destruction d’une instance de classe au cours du cycle principal.
Diagramme de séquence
Les messages synchrones :
❖ La réception d’un message synchrone doit provoquer chez le destinataire le lancement d'une de ses
méthodes (qui souvent porte le même nom que le message).
❖ L’expéditeur du message reste bloqué pendant toute l’exécution de la méthode et attend donc la fin
de celle-ci avant de pouvoir lancer un nouveau message.
❖ C’est le message le plus fréquemment utilisé.
Diagramme de séquence
Les messages Asynchrones :
❖ Dans le cas d’un message asynchrone, l’expéditeur n’attend pas la fin de l'activation de la méthode
invoquée chez le destinataire.
Un message asynchrone peut être :
Un appel de méthode :
❖ Fréquent dans un système multi-threads (multi-tâche). Ainsi, l’objet expéditeur n’étant pas bloqué pendant
l’exécution de la méthode, il peut continuer ainsi à envoyer d'autres messages.
Un signal (cas le plus fréquent) :
❖ L’objet expéditeur transmet juste une information à l’objet destinataire. Souvent, ce sont les acteurs ou les
périphériques qui envoient des signaux, typiquement utilisé dans la gestion événementielle d’une
IHM graphique, comme la librairie QT,(un framework multiplateforme, Il est principalement écrit en C++,
mais offre également des API pour le développement en Python, JavaScript, et d'autres langages.)
Diagramme de séquence
Représentation graphique :
Dans le diagramme de séquence, les envois de messages sont représentés par des flèches horizontales qui vont de la ligne de vie de
l’objet émetteur vers la ligne de vie de l’objet récepteur du message.
❖ Les messages synchrones : (flèche avec un triangle plein à son extrémité).
❖ Les messages asynchrones : (simple flèche)
❖ Les messages de retour (réponses) : (simple flèche en pointillés)
Diagramme de séquence
Si une méthode qui a été activée (par un message) doit retourner des valeurs à la fin de son activation, cela se fait par un message
retour.
❖ Le message de retour n’est donc pas un appel de méthode (il ne provoque donc pas l'activation d’un objet)
❖ Le message retour porte souvent le nom de l’élément retourné
Diagramme de séquence
Création et destruction d’objets :
Une séquence peut aussi contenir la création ou la destruction d’un objet :
❖ La création d’un objet est matérialisée par un message spécifique, appel d’un constructeur, généralement
accompagné du stéréotype « create » qui pointe sur le début (le sommet) de la ligne de vie de l’objet
créé (Le Rectangle de l’instance de la classe est alors surbaissée).
❖ La destruction d’un objet est représentée par une croix à la fin de sa ligne de vie. Souvent l’objet est détruit suite à la
réception d’un message mais ce n’est pas obligatoire. Dans Ce cas là, il porte le stéréotype « destroy ».
Diagramme de séquence
Syntaxe des messages synchrones et asynchrones:
❖ Dans la plupart des cas, la réception d’un message est suivie de l’exécution de la méthode de la classe cible.
Cette méthode peut recevoir des arguments et la syntaxe des messages permet de transmettre ces arguments.
La plupart du temps, dans un diagramme de séquence, nous pouvons nous contenter de définir un message par :
❖ Son nom (qui est le nom de la méthode appelée ou du signal envoyé).Nous pouvons lui adjoindre
facultativement :
➢ Une numérotation devant le nom message (séparé du nom du message par 2 point " : ").
➢ La Numérotation s’effectue séquentiellement à partir de 1.
➢ Les paramètres passés à la méthode ou au signal (entre parenthèses après le nom du message).
Diagramme de séquence
Diagramme de séquence
Syntaxe des réponses (messages retour) : Comme pour les messages synchrones ou asynchrones, nous pouvons
nous contenter de donner au message retour un simple nom, mais nous pouvons aussi les caractériser plus
précisément en utilisant la syntaxe suivante : numéro :attribut = nom Message (paramètres) : valeur Retour.
Remarque sur la syntaxe des
messages dans les diagrammes
de séquence :
La syntaxe que nous venons de
voir est simple et très souvent
largement suffisante pour décrire
les messages des diagrammes de
séquence
Diagramme de séquence
Messages retours implicites et explicites :
Messages de retour explicites : Ces messages sont explicitement représentés dans le diagramme de séquence. Ils indiquent qu'un
objet envoie un message en réponse à un message précédent. Typiquement, les messages de retour explicites sont représentés par des
flèches pointant de l'objet répondant vers l'objet émetteur initial. Ces messages permettent de modéliser les réponses directes à des
actions précédentes. Par exemple, dans un processus de réservation en ligne, après avoir soumis un formulaire de réservation, le
système peut renvoyer un message de confirmation à l'utilisateur.
Messages de retour implicites : Ces messages ne sont pas explicitement représentés dans le diagramme de séquence, mais ils sont
implicites dans le sens où l'interaction entre les objets ou acteurs suggère une réponse ou un comportement attendu. Par exemple, si un
objet envoie un message pour récupérer des données d'une base de données, il est implicite que la base de données répondra avec les
données demandées. Dans de nombreux cas, les messages de retour implicites sont sous-entendus et ne sont pas représentés pour des
raisons de simplification du diagramme.
Diagramme de séquence
Recouvrement des bandes d’activations :
Lorsqu’un objet est déjà activé il peut quand même recevoir d’autres messages (appel d'une autre de ses méthodes), cela
se représente par un dédoublement de la bande d’activation.
Messages récursifs :
Un objet peut s’envoyer un message à lui-même (utilisation d’une autre méthode du même objet). Cela se représente là
aussi par un dédoublement de la bande d’activation
Diagramme de séquence
Messages perdus et trouvés :Le message perdu est un message dont nous connaissons l’émetteur mais pas le récepteur.
Il est 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. Cette sorte de
message permet de modéliser, par exemple, les scénarios de pertes de message sur un réseau.
Le message trouvé est un message dont
nous connaissons 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.
Ce message peut être utilisé pour
modéliser le comportement d’un
élément suite à la réception d’un
message d’exception
Diagramme de séquence
Fragments d’interactions combinés :Un fragment 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 opérandes d’un opérateur d’interaction
sont séparés par une ligne pointillée.
Les Conditions de choix des opérandes
(éventuels) sont données par des
expressions booléennes entre crochets ([ ]).
Les principales modalités sont les boucles,
les branchements conditionnels, les
alternatives, les envois simultanés, etc.
Diagramme de séquence
Fragment d’interaction avec opérateur « opt » :L’opérateur option (opt) comporte un opérande et une condition
de garde associée.
Le sous-fragment s’exécute si la condition de garde est vraie et ne s’exécute pas dans le cas contraire.
Diagramme de séquence
Fragment d’interaction avec opérateur « 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.
Diagramme de séquence
Fragment d’interaction avec opérateur « 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 garde qui lui est associée est vraie.
La garde s’écrit de la façon suivante :loop [min, max, condition] : Chaque paramètre (min, max et condition) est
optionnel.
❖ Le contenu du cadre est exécuté min fois, puis continue à s’exécuter tant que la condition et que le nombre
d’exécution de la boucle ne dépasse pas max fois.
❖ Exemple de gardes :loop[3]→La séquence s’exécute 3 fois.Loop[1, 3, code=faux] La séquence s’exécute 1
fois puis un maximum de 2 autres fois si code=faux
Diagramme de séquence
Diagramme de séquence
Fragment d’interaction avec opérateur « par » :Un fragment d’interaction 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).
Exercice 1
❖ Supposons que vous voulez représenter le processus de réservation d'une chambre
d'hôtel entre un client et un système de réservation (booking)
❖ Identifiez les objets, l’ordre chronologique, les messages possibles du moment ou
vous commencez la réservation, jusqu'à votre arrivé dans l’hôte
Exercice 2
Etablissement d’un devis.
❖ Le client se présente au commercial et lui donne le ‘’travail à réaliser’’ (ou la liste de
produit qu’il compte acheter).
❖ Ce dernier calcul le prix, puis vérifie la catégorie du client pour calculer la ristourne.
❖ Il établit le devis définitif qu’il présente au client.
Modéliser cette situation à l’aide d’un diagramme de séquence.
Exercice 3
Description simplifiée d’une réservation d'un livre :
❖ Le client se présente devant un terminal:
❖ Le système affiche un message d ’accueil.
❖ Le client choisit l’opération réservation parmi les différentes opérations proposées.
❖ Le système lui demande de s'authentifier.
❖ Le client donne son identification (nom, mot de passe).
❖ Le système lui demande de choisir un livre.
❖ Le client précise le livre qu'il désire.
❖ Le système lui précise si un exemplaire du livre lui est réservé.
Question : Donner le diagramme de séquence qui modélise cette situation
Exercice 4
Description simplifiée d’une réservation d'un livre :
❖ Le client se présente devant un terminal:
❖ Le système affiche un message d ’accueil.
❖ Le client choisit l’opération réservation parmi les différentes opérations proposées.
❖ Le système lui demande de s'authentifier.
❖ Le client donne son identification (nom, mot de passe).
❖ Le système lui demande de choisir un livre.
❖ Le client précise le livre qu'il désire.
❖ Le système lui précise si un exemplaire du livre lui est réservé.
Question : Donner le diagramme de séquence qui modélise cette situation

Atelier UML Diagrammes Séquences (2).pdf

  • 1.
    Atelier UML Diagrammes Use Caseet SéquencesBCJ9KuJU MeQ2 Groupe 2 DEV
  • 2.
    Diagramme de séquence Objectif: Représenter les communications avec et au sein du logiciel ❖ Représentation temporelle des interactions entre les objets ❖ Spécifie le comportement d’un cas d’utilisation ou une partie de celui-ci ❖ Chronologie des messages échangés entre les objets et avec les acteurs
  • 3.
    Avantages des diagrammesde séquence Les diagrammes de séquence peuvent constituer des références utiles pour les entreprises et d'autres organisations. Essayez de dessiner un diagramme de séquence pour : ❖ Représenter les détails d'un cas d'utilisation UML ❖ Modéliser le déroulement logique d'une procédure, fonction ou opération complexe ❖ Voir comment les objets et les composants interagissent entre eux pour effectuer un processus. ❖ Schématiser et comprendre le fonctionnement détaillé d'un scénario existant ou à venir
  • 4.
    Formalisme des Diagrammesde Séquence Composants Principaux : ❖ Acteurs : Les entités externes avec lesquelles le système interagit. ❖ Objets : Les composants internes du système, tels que les classes ou les instances de classes. ❖ Messages : Les communications entre les acteurs et les objets, représentées par des flèches.
  • 5.
    Cas d’utilisation desdiagrammes de séquence Les scénarios suivants sont idéaux pour utiliser un diagramme de séquence : ❖ Scénario d'utilisation : un scénario d'utilisation est un diagramme décrivant comment votre système pourrait potentiellement être utilisé. C'est un bon moyen de s'assurer que vous avez pris en compte la logique de tous les scénarios d'utilisation du système. ❖ Logique de méthode : de la même façon que vous pouvez utiliser un diagramme de séquence UML pour analyser la logique d'un cas d'utilisation, vous pouvez aussi vous en servir pour analyser la logique d'une fonction, d'une procédure ou d'un processus complexe.
  • 6.
    Cas d’utilisation desdiagrammes de séquence ❖ Logique de service : si vous considérez un service comme étant une méthode générale utilisée par différents clients, un diagramme de séquence est le moyen idéal de le schématiser.
  • 7.
    Interactions dans lesDiagrammes de Séquence Représentation des Scénarios : ❖ Les diagrammes de séquence modélisent les étapes d'un scénario ou d'un processus, montrant comment les objets interagissent au fil du temps. Flux de Contrôle et de Données : ❖ Les diagrammes de séquence permettent de représenter à la fois le flux de contrôle (l'ordre des actions) et le flux de données (les informations échangées entre les objets).
  • 8.
    Diagramme de séquence Principesde base : ❖ Représentation graphique de la chronologie des échanges de messages avec le systèm Délimitation du diagramme de séquence : ❖ Le diagramme de séquence est placé dans un rectangle qui dispose d’une étiquette sd en haut à gauche (qui signifie sequence diagram) suivi du nom du diagramme ou au sein du système L’objet : ❖ Dans un diagramme de séquence, l’objet à la même représentation que dans le diagramme des objets. C'est-à-dire un rectangle dans lequel figure le nom de l’objet. Le nom de l’objet est généralement souligné et peut prendre l’une des quatre formes suivantes
  • 9.
    Diagramme de séquence ❖Les diagrammes de séquences représentant les échanges entre les objets mais aussi les échanges avec les acteurs, nous trouverons aussi la représentation du stickman (qui peut être considéré comme un objet)
  • 10.
    Diagramme de séquence Laligne de vie : ❖ Comme il représente la dynamique du système, le diagramme de séquence fait entrer en action les instances de classes intervenant dans la réalisation d'un cas d’utilisation particulier. ❖ A chaque objet est associé une ligne de vie (en trait pointillés à la verticale de l’objet) qui peut être considéré comme un axe temporel(le temps s’écoule du haut vers le bas). ❖ Dans ce genre de diagramme, la quantification du temps n’a pas d’importance(le diagramme de séquence ne cherche pas à spécifier des durées précises pour chaque interaction ou chaque étape du processus.) ❖ La ligne de vie indique les périodes d’activité de l’objet (généralement, les moments où l'objet exécute une de ces méthodes). ❖ Lorsque l’objet est détruit, la ligne de vie s’achève par un croix
  • 11.
    Formalisme des Diagrammesde Séquence Notation des Messages : ❖ Envoi de Message : Flèche orientée vers la droite. ❖ Retour de Message : Flèche orientée vers le bas avec une barre oblique. ❖ Création d'Objet : Message avec une barre oblique au-dessus. ❖ Message conditionnel:Message qui est envoyé sous une condition spécifique
  • 12.
    Diagramme de séquence Lesmessages Définition : ❖ Un message définit une communication particulière entre des lignes de vie. Ainsi, un message est une communication d’un objet vers un autre objet. ❖ La réception d’un message est considérée par l'objet récepteur comme un événement qu’il faut traiter (ou pas). Plusieurs types de messages existent, les plus communs sont : ❖ L'invocation d’une opération : message synchrone (appel d’une méthode de l’objet cible). ❖ L’envoi d’un signal : message asynchrone (typiquement utilisé pour la gestion événementielle). ❖ La création ou la destruction d’une instance de classe au cours du cycle principal.
  • 13.
    Diagramme de séquence Lesmessages synchrones : ❖ La réception d’un message synchrone doit provoquer chez le destinataire le lancement d'une de ses méthodes (qui souvent porte le même nom que le message). ❖ L’expéditeur du message reste bloqué pendant toute l’exécution de la méthode et attend donc la fin de celle-ci avant de pouvoir lancer un nouveau message. ❖ C’est le message le plus fréquemment utilisé.
  • 14.
    Diagramme de séquence Lesmessages Asynchrones : ❖ Dans le cas d’un message asynchrone, l’expéditeur n’attend pas la fin de l'activation de la méthode invoquée chez le destinataire. Un message asynchrone peut être : Un appel de méthode : ❖ Fréquent dans un système multi-threads (multi-tâche). Ainsi, l’objet expéditeur n’étant pas bloqué pendant l’exécution de la méthode, il peut continuer ainsi à envoyer d'autres messages. Un signal (cas le plus fréquent) : ❖ L’objet expéditeur transmet juste une information à l’objet destinataire. Souvent, ce sont les acteurs ou les périphériques qui envoient des signaux, typiquement utilisé dans la gestion événementielle d’une IHM graphique, comme la librairie QT,(un framework multiplateforme, Il est principalement écrit en C++, mais offre également des API pour le développement en Python, JavaScript, et d'autres langages.)
  • 15.
    Diagramme de séquence Représentationgraphique : Dans le diagramme de séquence, les envois de messages sont représentés par des flèches horizontales qui vont de la ligne de vie de l’objet émetteur vers la ligne de vie de l’objet récepteur du message. ❖ Les messages synchrones : (flèche avec un triangle plein à son extrémité). ❖ Les messages asynchrones : (simple flèche) ❖ Les messages de retour (réponses) : (simple flèche en pointillés)
  • 16.
    Diagramme de séquence Siune méthode qui a été activée (par un message) doit retourner des valeurs à la fin de son activation, cela se fait par un message retour. ❖ Le message de retour n’est donc pas un appel de méthode (il ne provoque donc pas l'activation d’un objet) ❖ Le message retour porte souvent le nom de l’élément retourné
  • 17.
    Diagramme de séquence Créationet destruction d’objets : Une séquence peut aussi contenir la création ou la destruction d’un objet : ❖ La création d’un objet est matérialisée par un message spécifique, appel d’un constructeur, généralement accompagné du stéréotype « create » qui pointe sur le début (le sommet) de la ligne de vie de l’objet créé (Le Rectangle de l’instance de la classe est alors surbaissée). ❖ La destruction d’un objet est représentée par une croix à la fin de sa ligne de vie. Souvent l’objet est détruit suite à la réception d’un message mais ce n’est pas obligatoire. Dans Ce cas là, il porte le stéréotype « destroy ».
  • 18.
    Diagramme de séquence Syntaxedes messages synchrones et asynchrones: ❖ Dans la plupart des cas, la réception d’un message est suivie de l’exécution de la méthode de la classe cible. Cette méthode peut recevoir des arguments et la syntaxe des messages permet de transmettre ces arguments. La plupart du temps, dans un diagramme de séquence, nous pouvons nous contenter de définir un message par : ❖ Son nom (qui est le nom de la méthode appelée ou du signal envoyé).Nous pouvons lui adjoindre facultativement : ➢ Une numérotation devant le nom message (séparé du nom du message par 2 point " : "). ➢ La Numérotation s’effectue séquentiellement à partir de 1. ➢ Les paramètres passés à la méthode ou au signal (entre parenthèses après le nom du message).
  • 19.
  • 20.
    Diagramme de séquence Syntaxedes réponses (messages retour) : Comme pour les messages synchrones ou asynchrones, nous pouvons nous contenter de donner au message retour un simple nom, mais nous pouvons aussi les caractériser plus précisément en utilisant la syntaxe suivante : numéro :attribut = nom Message (paramètres) : valeur Retour. Remarque sur la syntaxe des messages dans les diagrammes de séquence : La syntaxe que nous venons de voir est simple et très souvent largement suffisante pour décrire les messages des diagrammes de séquence
  • 21.
    Diagramme de séquence Messagesretours implicites et explicites : Messages de retour explicites : Ces messages sont explicitement représentés dans le diagramme de séquence. Ils indiquent qu'un objet envoie un message en réponse à un message précédent. Typiquement, les messages de retour explicites sont représentés par des flèches pointant de l'objet répondant vers l'objet émetteur initial. Ces messages permettent de modéliser les réponses directes à des actions précédentes. Par exemple, dans un processus de réservation en ligne, après avoir soumis un formulaire de réservation, le système peut renvoyer un message de confirmation à l'utilisateur. Messages de retour implicites : Ces messages ne sont pas explicitement représentés dans le diagramme de séquence, mais ils sont implicites dans le sens où l'interaction entre les objets ou acteurs suggère une réponse ou un comportement attendu. Par exemple, si un objet envoie un message pour récupérer des données d'une base de données, il est implicite que la base de données répondra avec les données demandées. Dans de nombreux cas, les messages de retour implicites sont sous-entendus et ne sont pas représentés pour des raisons de simplification du diagramme.
  • 22.
    Diagramme de séquence Recouvrementdes bandes d’activations : Lorsqu’un objet est déjà activé il peut quand même recevoir d’autres messages (appel d'une autre de ses méthodes), cela se représente par un dédoublement de la bande d’activation. Messages récursifs : Un objet peut s’envoyer un message à lui-même (utilisation d’une autre méthode du même objet). Cela se représente là aussi par un dédoublement de la bande d’activation
  • 23.
    Diagramme de séquence Messagesperdus et trouvés :Le message perdu est un message dont nous connaissons l’émetteur mais pas le récepteur. Il est 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. Cette sorte de message permet de modéliser, par exemple, les scénarios de pertes de message sur un réseau. Le message trouvé est un message dont nous connaissons 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. Ce message peut être utilisé pour modéliser le comportement d’un élément suite à la réception d’un message d’exception
  • 24.
    Diagramme de séquence Fragmentsd’interactions combinés :Un fragment 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 opérandes d’un opérateur d’interaction sont séparés par une ligne pointillée. Les Conditions de choix des opérandes (éventuels) sont données par des expressions booléennes entre crochets ([ ]). Les principales modalités sont les boucles, les branchements conditionnels, les alternatives, les envois simultanés, etc.
  • 25.
    Diagramme de séquence Fragmentd’interaction avec opérateur « opt » :L’opérateur option (opt) comporte un opérande et une condition de garde associée. Le sous-fragment s’exécute si la condition de garde est vraie et ne s’exécute pas dans le cas contraire.
  • 26.
    Diagramme de séquence Fragmentd’interaction avec opérateur « 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.
  • 27.
    Diagramme de séquence Fragmentd’interaction avec opérateur « 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 garde qui lui est associée est vraie. La garde s’écrit de la façon suivante :loop [min, max, condition] : Chaque paramètre (min, max et condition) est optionnel. ❖ Le contenu du cadre est exécuté min fois, puis continue à s’exécuter tant que la condition et que le nombre d’exécution de la boucle ne dépasse pas max fois. ❖ Exemple de gardes :loop[3]→La séquence s’exécute 3 fois.Loop[1, 3, code=faux] La séquence s’exécute 1 fois puis un maximum de 2 autres fois si code=faux
  • 28.
  • 29.
    Diagramme de séquence Fragmentd’interaction avec opérateur « par » :Un fragment d’interaction 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).
  • 30.
    Exercice 1 ❖ Supposonsque vous voulez représenter le processus de réservation d'une chambre d'hôtel entre un client et un système de réservation (booking) ❖ Identifiez les objets, l’ordre chronologique, les messages possibles du moment ou vous commencez la réservation, jusqu'à votre arrivé dans l’hôte
  • 31.
    Exercice 2 Etablissement d’undevis. ❖ Le client se présente au commercial et lui donne le ‘’travail à réaliser’’ (ou la liste de produit qu’il compte acheter). ❖ Ce dernier calcul le prix, puis vérifie la catégorie du client pour calculer la ristourne. ❖ Il établit le devis définitif qu’il présente au client. Modéliser cette situation à l’aide d’un diagramme de séquence.
  • 32.
    Exercice 3 Description simplifiéed’une réservation d'un livre : ❖ Le client se présente devant un terminal: ❖ Le système affiche un message d ’accueil. ❖ Le client choisit l’opération réservation parmi les différentes opérations proposées. ❖ Le système lui demande de s'authentifier. ❖ Le client donne son identification (nom, mot de passe). ❖ Le système lui demande de choisir un livre. ❖ Le client précise le livre qu'il désire. ❖ Le système lui précise si un exemplaire du livre lui est réservé. Question : Donner le diagramme de séquence qui modélise cette situation
  • 33.
    Exercice 4 Description simplifiéed’une réservation d'un livre : ❖ Le client se présente devant un terminal: ❖ Le système affiche un message d ’accueil. ❖ Le client choisit l’opération réservation parmi les différentes opérations proposées. ❖ Le système lui demande de s'authentifier. ❖ Le client donne son identification (nom, mot de passe). ❖ Le système lui demande de choisir un livre. ❖ Le client précise le livre qu'il désire. ❖ Le système lui précise si un exemplaire du livre lui est réservé. Question : Donner le diagramme de séquence qui modélise cette situation