====== TD 1 - Diagrammes de cas d'utilisation - Introduction ======
Les temps sont donnés à titre indicatif.
L'objectif est de terminer une "page" de TD en 2h.\\
Une partie "Fil Rouge" est commencée en TD, et doit être terminée en dehors des séances si nécessaire.
Elle participe à construire le document final qui sera [[2019_2020:s2:notation|noté]].
===== Outil de modélisation =====
Nous vous proposons cette année de travail avec **GenMyModel** : https://app.genmymodel.com/
Son seul inconvénient est qu'il faut être connecté pour l'utiliser.
Si vous préférez pouvoir travailler hors-ligne, il y a [[:modelio|MODELIO]]
===== Identification des cas d'utilisation (55mn) =====
=== Je comprends (10 mn) ===
== Exemple 1 ==
{{ :2018_2019:s2:td:use-case_diagram_example.jpg?direct&500 |}}
**[[http://slideplayer.com/slide/233252/ | Extrait du cours IBM ]]**
- Quels sont les acteurs?
- Le système de paiement représente quel type d'acteur : acteur humain ou système externe? Quelle autre représentation pourriez-vous lui donner?
- Est-ce à vous de mettre en oeuvre le catalogue des cours? En quoi est-ce important pour vous (en tant qu'informaticien) de modéliser cet acteur?
- Quels sont les cas d'utilisation?
- Que peut faire un étudiant ?
- Quels acteurs interviennent dans ces différents cas d'utilisation?
- Que visualise le cadre autour des cas d'utilisation?((Les limites du système, vous voyez par exemple que le système de paiement ne fait pas partie du système à modéliser))
- A quoi sert un diagramme de cas d'utilisation ?
/*
== Exemple 2 ==
Extrait de http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF/
{{ :2015_2016:s2:td:capture_d_e_cran_2015-12-26_a_20.45.58.png?direct&300 |}}
https://www.omg.org/spec/UML/2.5.1/
- Quels sont les acteurs?
- Quelles sont les relations entre les acteurs?
- A votre avis, la banque représente quel type d'acteur : acteur humain ou système externe? Quelle autre représentation pourriez-vous lui donner?
- Est-ce à vous de mettre en oeuvre la banque? En quoi est-ce important pour vous (en tant qu'informaticien) de modéliser cet acteur?
- Quels sont les cas d'utilisation?
- Que peut faire un administrateur?
- Que visualise le cadre autour des cas d'utilisation?((Les limites du système, vous voyez par exemple que le système de paiement ne fait pas partie du système à modéliser))
- Qu'expriment les cardinalités?
- A quoi sert un diagramme de cas d'utilisation ?
*/
/*The purpose of use cases is to identify the required functionality of a system
*/
/* A use case is shown as an ellipse, either containing the name of the use case or with the name of the use case placed below the ellipse.
An optional stereotype keyword may be placed above the name and a list of properties included below the name. If a subject (or system boundary) is displayed, the use case ellipse is visually located inside the system
boundary rectangle. Note that this does not necessarily mean that the subject classifier owns the contained use cases, but
merely that the use case applies to that classifier. For example, the use cases shown in Figure 16.5 on page 608 apply to the “ATMsystem” classifier but are owned by various packages as shown in Figure 16.7.
*/
=== Je m'implique, J'apprends (35mn) ===
Nous prenons l'exemple d'une "galerie d'art virtuelle".
Nous identifions à présent les principaux cas d'utilisation. Pour des raisons de simplification, nous partons de l'énoncé suivant qui est une extraction d'un cahier des charges.
(1) Nous voulons informatiser une galerie d'art, par laquelle nous souhaitons vendre des oeuvres d'arts à des clients((Clients : Internautes **identifiés** par la galerie et sur lesquels nous disposons du nom, de l'adresse mail et de l'adresse postale.)).
Les paiements doivent être sécurisés en utilisant le système de paiement externe "chaimoinscheir".\\
(2) Les oeuvres((oeuvre: produit unique identifié exposé par la galerie.)) et les artistes((artiste: personne identifiée, auteur d'oeuvres. )) sont gérés par les administrateurs((administrateurs : Personne identifiée ayant les droits de modification et maintenance du site)) via des interfaces adaptées. \\
(3) Un internaute doit pouvoir s'inscrire sur le site pour devenir client. Deux clients différents ne peuvent pas avoir la même adresse email. \\
(4) Un internaute peut naviguer sur le site : retrouver un artiste par son nom, visualiser les oeuvres par artiste ou par catégorie((rubriques exposées par la galerie, correspondant en général à une technique caractérisant un artiste (peinture, sculpture, tag…))). \\
(5) Les clients peuvent voter pour les oeuvres ou les artistes qu'ils préfèrent. \\
(6) Une fois par jour, un super-administrateur déclenche une opération de sauvegarde de la galerie.\\
(7) L'identification des clients fait partie du système de la galerie.\\
(8) Un client peut téléphoner à la secrétaire pour demander l'édition d'une facture consécutive à une vente passée.\\
(9) Les auteurs qui le souhaitent peuvent mettre à jour leur propre page les décrivant.
L'énoncé donné décrit votre étude de cas. Vous considérerez cette description comme exhaustive.
- En analysant chacune des phrases de l'énoncé identifiez les acteurs.
- En analysant chacune des phrases de l'énoncé, déterminez les grands cas d'utilisation de la galerie d'art et les dessiner.
=== Fixer le vocabulaire (10mn) ===
Choisir le bon vocabulaire est assurément une étape difficile et essentielle en modélisation des systèmes.
Pour vous aider, vous devez fixer votre vocabulaire, c'est à dire choisir les termes utilisés, leur donner une définition dans le contexte de votre application et ne jamais utiliser des termes différents pour un même concept. Bien sûr il ne s'agit pas de définir tous les mots mais seulement ceux qui sont utiles.
Vous sélectionnez à présent les termes que vous jugez pertinents de préciser et vous les ajoutez à votre glossaire (un document annexe, vous pouvez le faire sur papier si vous le voulez).
===== Partie Etude Fil Rouge (1h) =====
Pour des raisons évidentes d'équité, les intervenants en TD n'aident **que sur ce qui leur est montré en séance**.
* Des rendus en dehors des séances ne seront pas étudiés.
* L'encadreur ne donne pas d'explications "longues" dans cette étape pour lui permettre de voir tous les étudiants.
* La même étude de cas sera utilisée tout au long des TDs. Il est donc conseillé de toujours avoir un projet, le plus "juste" possible.
[[2019_2020:s2:etudefilrouge|Etude Fil Rouge sur les cas d'utilisation]]
===== Je sais répondre à =====
* Quels sont les grands cas d'utilisation d'une application ? Attention, je ne m'intéresse qu'aux parties qui constituent le système informatique. Les systèmes externes que je suis amené à utiliser seront représentés comme des acteurs externes. Je ne représente pas les use cases qu'ils supportent.
* Quels sont les acteurs d'un cas d'utilisation ? Quelles sont les limites de mon système? Les systèmes externes auxquels j'aurais besoin de me connecter sont des acteurs externes. Seuls les acteurs directement impliqués dans les cas d'utilisation sont pris en compte, les discussions extérieures à notre système ne sont pas modélisées. Je ne représente pas les interactions entre les acteurs qui ne passent pas par le système informatique que je modélise (se téléphoner, se parler, s'envoyer des mails etc.)
===== En savoir plus sur les diagrammes de cas d'utilisation =====
* Une bonne synthèse : http://knowhow.visual-paradigm.com/uml/10-use-case-diagram-tips/
* En complément du cours sur les UC :
**Sur le site de la bibliothèque (par ENT), il est en ligne.**
Lire en autonomie les paragraphes suivants de livre :
Pascal Roques
UML 2.5 par la pratique Eyrolles
ISBN : 9782212675658
Date de publication : 2018-04-05
* Etape 6 (pages 50 à 59)
* Vous pouvez aller plus loin en regardant d'autres exemples d'application des cas d'utilisation dans cet excellent livre des pages 66 à 78