Interactions chronologiques

Introduction

Une fois le système modélisé par le diagramme de classes nous décrivant l'intégrité du système de manière exhaustive, nous allons représenter les intéractions entre les acteurs (des cas d'utilisations) et le système (par le biais des différentes classes et méthodes associées). Ces interactions suivent un ordre chronologique, et c'est ce que permet le diagramme de séquence. La dimension verticale du diagramme représente le temps, permettant de visualiser l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages.

Notions

  • Message : action représenté par une courte phrase, provenant d'un acteur envers un autre acteur ou un élément du système. La phrase doit contenir au minimum un verbe.

  • Ligne de vie : une ligne de vie représente un objet dans l'interaction. Elle peut être une représentation d'une instance.

  • Fragment composé : un fragment composé représente une expressions spécifique dans la séquence. Leur signification dépend fortement de l'opérateur d'interaction utilisé, selon ce dernier, le fragment sera exécuté ou non.

  • Opérateur d'interaction : il définit le type du fragment composé, parmi eux, il y a le Alt, offrant une ou plusieurs séquences alternatives à celles initiales, le Opt, proposant une option facultative à une ou plusieurs séquences, ou encore le Loop, représentant une boucle exécuté un certain nombre de fois selon une condition. D'autres opérateurs existent.

À noter : le diagramme de séquence à besoin de son contexte, car il représente une interaction entre un acteur et une partie du système selon une situation précise, il est très important d'avoir défini le diagramme de cas d'utilisation au préalable afin de se positionner dans le système.

Exercices d'entraînements

La galerie d'art

Nous allons représenter le diagramme de séquence correspondant au cas d'utilisation suivant : Un internaute s'inscrit sur le site pour devenir client de la galerie d'art.

Décomposition : Inscription d'un internaute

  1. L'internaute saisit son nom, son prénom, son adresse email ;
  2. Le système valide ces informations (bien construites) ;
  3. Le système enregistre le nouveau client ;
  4. Le système signale au client que tout s'est bien passé.

Questions à se poser :Passez la souris sur une des étapes pour en voir la réponse.

  • Qui interagit avec qui ?

  • Quel est l’information transmise ?

  • Quel type de message est-ce ?


Diagramme de séquence correspondant au cas d'utilisation :


Ensuite nous allons enrichir le diagramme par l'ajout de deux flots alternatifs : Cliquez sur un des flots pour en voir la représentation.

  • A1 : Données non valides

  • A2 : Client déjà enregistré


Une des erreurs les plus courantes que la plupart d'entre nous faisons est de perdre un temps précieux par la conception de diagrammes de séquence pour chaque cas d'utilisation simple. Il est préférable de concevoir un diagramme de séquence que lorsque vous avez une logique complexe à traiter. Si la logique est simple et facile à assimiler, un diagramme de séquence ne serait pas vraiment une valeur ajoutée.

Nous allons représenter un autre cas d'utilisation, plus complet, celui correspondant au cas Acheter des oeuvres d’art.

Décomposition : Acheter des oeuvres d’art

  1. Le système vérifie la disponibilité des oeuvres.
  2. Le système propose les oeuvres d’art.
  3. Le client sélectionne des oeuvres d’art.
  4. Chaque oeuvre est placée dans le panier par le système
  5. Le client demande à acheter.
  6. Le contenu du panier est réservé dans les stocks
  7. Le système demande au système de paiement l’encaissement du panier.
  8. Le système de paiement valide le paiement et retourne une facture.
  9. Le système enregistre le retrait du stock.
  10. Le système confirme l’achat au client.

Diagramme de séquence correspondant au cas d'utilisation :