====== Diagramme de séquence ====== Attention en ligne vous trouverez un très grand nombre de diagrammes de séquence incohérent ! ===== Je comprends (15mn) ===== "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". Ces diagrammes doivent vous aider à mieux comprendre qui "fait quoi" et par conséquence qui dans votre code portera les comportements. {{:2016_2017:s2:td:sequence_2017-02-08_a_15.47.14.png?500|}} Relativement au diagramme de séquence ci-dessus répondez aux questions suivantes : - Quels sont les acteurs? - Comprenez-vous le scénario? - Quelle structure correspond à une boucle? à une condition? - Quel objet est créé? - Qui exécute le comportement de "réserver une chambre à une date donnée" ? - Qui répond à "available(date)" ? - Qui fait appel à "available(date)" ? - Qui exécute "lookForAvailableHotels(Place)" ? - Définissez les classes correspondantes et les méthodes qui leur sont associées. - Que devez-vous modifier pour que les "éléments" clef correspondent à des classes ? - Quelles méthodes devraient implémenter ces classes? ===== Je m'implique, J'apprends (60 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 : - L'internaute saisit son nom, son prénom, son adresse email; - Le système vérifie que ces informations sont bien construites; - Le système enregistre le nouveau client; - 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 28 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. - Le système propose les oeuvres d’art. - Le client sélectionne des oeuvres d’art. - Chaque oeuvre est placée dans le panier par le système - Le client demande à acheter. - Le contenu du panier est réservé dans les stocks((Vous pouvez affiner ici la notion de Stock!!)). - Le système demande au système de paiement l’encaissement du panier. - Le système de paiement valide le paiement et retourne une facture. - Le système enregistre le retrait du stock. - Le système confirme l’achat au client * Q4 : **Complétez le diagramme de classe** du [[2015_2016:s2:td:td_domaine|TD 3]] 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 ? * Q6 : Quel est le meilleur moment pour ajouter de la pub sur le site des galerie d'art relativement à ce diagramme de séquence ? ====== Partie évaluation du TD (1h) ===== [[2016_2017:s2:td:devoirs:sequence|Devoir sur les diagrammes de séquence à faire seul en séance]]