User Tools

Site Tools


2019_2020:s2:td:td5

TD5 - Diagramme de séquence en analyse

Je comprends (15mn)

Attention en ligne vous trouverez un très grand nombre de diagrammes de séquence incohérents !

Cours sur les diagrammes de séquence

Les diagrammes de séquence en analyse permettent de mieux comprendre l'application à réaliser. Ils restent “superficiels” dans la mesure où ils ne visent pas à mettre en avant l'architecture du système.

Plus tard, nous étudierons ces diagrammes dans un objectif de détermination de l'architecture du système et de “codage”. Dans ce cas, nous parlerons de diagrammes en conception. Ils seront plus détaillés.

“Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le système (pas entre acteurs!!) selon un ordre chronologique”.

Relativement au diagramme de séquence ci-dessus répondez aux questions suivantes :

  1. Quels sont les acteurs?
  2. Comprenez-vous le scénario?
  3. Quelle structure correspond à une boucle? à une condition?
  4. Quel objet est créé?
  5. Qui exécute le comportement de “réserver une chambre à une date donnée” ?
  6. Qui répond à “available(date)” ?
  7. Qui fait appel à “available(date)” ?
  8. Qui exécute “lookForAvailableHotels(Place)” ?
  9. Définissez les classes correspondantes et les méthodes qui leur sont associées.
    1. Que devez-vous modifier pour que les lignes de vie correspondent à des classes ? 1)
    2. Quelles méthodes devraient implémenter ces classes?

Je m'implique, J'apprends (45 mn)

  • Q1 : Représentez le diagramme de séquence Système correspondant au cas d'utilisation

(3) Un internaute s'inscrit sur le site pour devenir client de la galerie d'art

Nous le décomposons ainsi :

  1. L'internaute saisit son nom, son prénom, son adresse email;
  2. Le système vérifie que ces informations sont valides (e.g., email bien formé; le nom et l'email ne sont pas déjà connus, etc.);
  3. Le système crée un client et enregistre le nouveau compte client;
  4. Le système signale au client que tout s'est bien passé.
  • Q2 : Enrichissez le diagramme de séquence Système et visualisez la présence de flots alternatifs par des notes (comme dans le slide 32 par exemple):
    • A1 : Données non valides
    • A2 : Client déjà enregistré

  • Q3 : Représentez le diagramme de séquence Système correspondant au cas d'utilisation Acheter des oeuvres d’art

Nous partons du principe que l'utilisateur a déclenché ce scénario précédemment, ce qui a eu pour conséquence de créer le panier puis de le connecter au début du scénario ci-après.

  1. Le système propose les oeuvres d’art.
  2. Tant que le client ne demande pas à payer
    1. Le client sélectionne une oeuvre d’art.
    2. Le système place l'oeuvre dans le panier
  3. Le client demande à payer.
  4. Le système réserve le contenu du panier dans les stocks2).
  5. Le système demande au système de paiement l’encaissement du panier.
  6. Le système de paiement valide le paiement et retourne une facture.
  7. Le système enregistre le retrait du stock.
  8. Le système confirme l’achat au client
  • Q4 : Complétez le diagramme de classe pour prendre en compte les nouveaux objets apparus par votre analyse du diagramme de séquence.
  • Q5 : Peut-on avoir payé sans que l'oeuvre soit retirée du stock ? Se peut-il qu'une oeuvre dans le panier ne soit plus en Stock au moment où le client demande à payer? au moment du paiement?

Partie Etude Fil Rouge(1h)

Références

1)
mettez “:” devant le nom de la classe par exemple :HotelChain, et si vous voulez identifier le nom de l'objet par exemple “Hilton:HotelChain”
2)
Vous pouvez affiner ici la notion de Stock!!
2019_2020/s2/td/td5.txt · Last modified: 2020/02/03 10:33 by blay