====== 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 évaluation est réalisée par TD.
===== Pour Modelio =====
Toutes les informations sont ici :
[[:modelio|MODELIO]]
===== Pour Slack =====
Afin de favoriser les discussions et de faciliter les échanges avec vos enseignants,
[[https://join.slack.com/t/dut-info-nice-m331/shared_invite/enQtMzAwMTU3NTE2ODg0LTlkNmExYmNhZDkwOGQwNjVhOWM1YWM2ZGMyYzRmNjBjMjc5NzNjYzM4ODk4NDlhZGIzZGI1M2M2ZDM4ZjRhMTg|Slack inscription dans le groupe IUT]]
inscrivez vous sur Slack et en particulier le canal : #basesdecooS2T
===== Identification des cas d'utilisation (55mn) =====
=== Je comprends (10 mn) ===
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 |}}
- 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?
- 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 la banque 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…))). \\
(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.
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 évaluation du TD (1h) =====
Pour des raisons évidentes d'équité, les intervenants en TD n'évaluent **que ce qui leur est montré en séance**.
* Aucun rendu ultérieur ne sera pris en compte.
* Les étudiants les plus rapides auront un bonus.
* Les erreurs constatées sont sanctionnées. On ne revient pas sur les erreurs constatées, donc il est conseillé de ne pas faire faire son devoir par l'enseignant!
* L'encadreur ne donne pas d'explications "longues" dans cette étape pour lui permettre de voir tous les rendus.
* 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. L'encadreur ne peut que noter ce qu'il voit... s'il n'y a rien à voir, quelque soit l'excuse, il y a un 0.
[[2017_2018:s2:td:devoirs:tduc|Devoir 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/