Uml & cas d'utilisation
Upcoming SlideShare
Loading in...5
×
 

Uml & cas d'utilisation

on

  • 15,900 views

Les diagrammes de cas d’utilisation ...

Les diagrammes de cas d’utilisation
IUT

- Utilisation d’un dictionnaire du domaine
- Des cas d’utilisations (Use-cases/UC)
- Acteurs, use-cases, system UML
- Processus de construction des Uses-case
- Compléments

Statistics

Views

Total Views
15,900
Views on SlideShare
15,900
Embed Views
0

Actions

Likes
7
Downloads
503
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Uml & cas d'utilisation Uml & cas d'utilisation Presentation Transcript

  • Analyse et Conception avec UML Les diagrammes de cas d’utilisation blay@unice.fr www.polytech.unice.fr/~blay IUT Nice-Sophia Antipolis Septembre 2010 Site web du module : http://anubis.polytech.unice.fr/iut/ 1 mercredi 15 septembre 2010
  • Bibliographie Principalement : • cours IBM : Writing Good Use Cases (2006) •Voir sur le site web les autres cours. 2 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Plan du cours  Utilisation d’un dictionnaire du domaine  Des cas d’utilisations (Use-cases/UC)  Acteurs, use-cases, system UML  Processus de construction des Uses-case  Compléments 3 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Système d’inscriptions L’université ESU désire automatiser son système d’inscription ‣ Le chef du service des inscriptions établit le programme des cours pour un semestre ‣ Un cours peut être offert plusieurs fois ‣ Les étudiants doivent sélectionner 4 cours primaires et 2 cours secondaires dans le catalogue des cours proposés ‣ Dès qu’un étudiant s’est inscrit pour un semestre, le système de facturation est notifié ‣ Les étudiants peuvent utiliser le système pour modifier leurs choix pendant une certaine période de temps après leur inscription ‣ Les enseignants utilisent le système pour consulter leur emploi du temps (tableau d’activités en fonction des cours qui tournent) ‣ Les utilisateurs du système d’inscription reçoivent des mots de passe qui sont nécessaire à la procédure d’identification 4 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Intérêt du dictionnaire  Outil de dialogue  Informel, évolutif, simple a réaliser  Etablir et figer la terminologie – Permet de figer la terminologie du domaine d'application. – Constitue le point d'entrée et le référentiel initial de l'application ou du système. Homonymie Synonymie Polysémie 5 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Capturer un Vocabulaire commun ✗ Le nom de la donnée : le plus proche de celui utilisé dans l’entreprise. ✗ La définition : celle-ci doit être libellée de façon compréhensible pour tout le monde. ✗ La structure : c’est le « type » de la donnée alphabétique, numérique, date, … ✗ Le type : élémentaire ou calculable ✗ La quantification : une estimation si possible du nombre de valeurs différentes que peut prendre la donnée. ✗ Des exemples : de valeurs que peut prendre la donnée. ✗ Les commentaires : tout ce qui est intéressant de savoir sur la donnée et que l’on n’a pas mis dans une autre rubrique. 6 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Système d’inscriptions L’université ESU désire automatiser son système d’inscription ‣ Le chef du service des inscriptions établit le programme des cours pour un semestre ‣ Un cours peut être offert plusieurs fois ‣ Les étudiants doivent sélectionner 4 cours primaires et 2 cours secondaires dans le catalogue des cours proposés ‣ Dès qu’un étudiant s’est inscrit pour un semestre, le système de facturation est notifié ‣ Les étudiants peuvent utiliser le système pour modifier leurs choix pendant une certaine période de temps après leur inscription ‣ Les enseignants utilisent le système pour consulter leur emploi du temps (tableau d’activités en fonction des cours qui tournent) ‣ Les utilisateurs du système d’inscription reçoivent des mots de passe qui sont nécessaire à la procédure d’identification 7 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Les diagrammes de cas d ’utilisation Une des notations d ’UML (use-cases) But : ‣ définir le système du point de vue des utilisateurs ‣ définir les limites précises du système Notation très simple, compréhensible par tous Permet de structurer : ‣ les besoins (cahier des charges) ‣ le reste du développement ‣la progression d ’un cycle en spirale Les cas d'utilisation sont nommés en utilisant la terminologie décrite dans le dictionnaire Jean-Marie Favre 8 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Les diagrammes de cas d ’utilisation Une Notation très simple, compréhensible par tous cf. http://linformalibre.f2lt.fr/index.php?title=Comprendre_Joomla_%C3%A0_l%27aide_d%27UML 9 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓acteurs Process. Compléments. Définir le périmètre du SI : Acteurs Définir les acteurs externes ‣ physiques et logiques ‣ rôle et entité concrète « Un acteur est une personne ou une chose qui va interagir avec le système » Enseignant Etudiant Chef du Service des Système inscriptions de facturation 10 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓acteurs Process. Compléments. Client Acteurs Un Acteur = ‣ élément externe qui interagit avec le système ‣ rôle qu’un utilisateur joue par rapport au système ex: un enseignant, un guichetier Une même personne peut jouer plusieurs rôles ex: Marie est enseignante et étudiante Maurice est directeur mais peut faire le guichetier Plusieurs personnes peuvent jouer un même rôle ex: Paul et Pierre sont deux clients Un acteur n’est pas forcément un être humain ex: un distributeur de billet peut être vu comme un acteur; un gestionnaire de mot de passes 11 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Système d’inscriptions L’université ESU désire automatiser son système d’inscription ‣ Le chef du service des inscriptions établit le programme des cours pour un semestre ‣ Un cours peut être offert plusieurs fois ‣ Les étudiants doivent sélectionner 4 cours primaires et 2 cours secondaires dans le catalogue des cours proposés ‣ Dès qu’un étudiant s’est inscrit pour un semestre, le système de facturation est notifié ‣ Les étudiants peuvent utiliser le système pour modifier leurs choix pendant une certaine période de temps après leur inscription ‣ Les enseignants utilisent le système pour consulter leur emploi du temps (tableau d’activités en fonction des cours qui tournent) ‣ Les utilisateurs du système d’inscription reçoivent des mots de passe qui sont nécessaire à la procédure d’identification 12 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Système d’inscriptions L’université ESU désire automatiser son système d’inscription ‣ Le chef du service des inscriptions établit le programme des cours pour un semestre ‣ Un cours peut être offert plusieurs fois ‣ Les étudiants doivent sélectionner 4 cours primaires et 2 cours secondaires dans le catalogue des cours proposés Dès qu’un étudiant s’est inscrit pour un semestre, le système de facturation est notifié ‣ Les étudiants peuvent utiliser le système pour modifier leurs choix pendant une certaine période de temps après leur inscription ‣Les enseignants utilisent le système pour consulter leur emploi du temps (tableau d’activités en fonction des cours qui tournent) ‣ Les utilisateurs du système d’inscription reçoivent des mots de passe qui sont nécessaire à la procédure d’identification 13 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓acteurs Process. Compléments. Description des acteurs Client Pour chaque acteur : ‣ choisir un identificateur représentatif de son rôle (un bon nom décrit la responsabilité des acteurs) ‣ donner une brève description textuelle Un guichetier est un employé de la banque chargé de faire lʼinterface entre le système informatique et les clients quʼil reçoit au comptoir. Le guichetier peut réaliser les opérations courantes : création d ʼun Guichetier compte, dépôt et retrait d ʼargent, etc. Jean-Marie Favre 14 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. Cas d’utilisation (UC) Un cas d’utilisation est un motif cohérent de comportement ‣ réalisé par le système. Chaque cas d’utilisation est décrit par une séquence d’actions connectées, effectuées par un dialogue entre des acteurs et le système ‣ qui produit un résultat observable ‣ d’intérêt pour un ou plusieurs acteurs du système. ‣ ne révèle pas la structure interne du système. Chaque cas d’utilisation est un flot complet et faisant du sens du point de vue d’un acteur particulier. 15 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Système d’inscriptions L’université ESU désire automatiser son système d’inscription ‣ Le chef du service des inscriptions établit le programme des cours pour un semestre ‣ Un cours peut être offert plusieurs fois ‣ Les étudiants doivent sélectionner 4 cours primaires et 2 cours secondaires dans le catalogue des cours proposés Dès qu’un étudiant s’est inscrit pour un semestre, le système de facturation est notifié ‣ Les étudiants peuvent utiliser le système pour modifier leurs choix pendant une certaine période de temps après leur inscription ‣Les enseignants utilisent le système pour consulter leur emploi du temps (tableau d’activités en fonction des cours qui tournent) ‣ Les utilisateurs du système d’inscription reçoivent des mots de passe qui sont nécessaire à la procédure d’identification 16 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. UML au travail : Système d’inscriptions L’université ESU désire automatiser son système d’inscription ‣ Le chef du service des inscriptions établit le programme des cours pour un semestre ‣ Un cours peut être offert plusieurs fois Les étudiants doivent sélectionner 4 cours primaires et 2 cours secondaires dans le catalogue des cours proposés Dès qu’un étudiant s’est inscrit pour un semestre, le système de facturation est notifié Les étudiants peuvent utiliser le système pour modifier leurs choix pendant une certaine période de temps après leur inscription Les enseignants utilisent le système pour consulter leur emploi du temps (tableau d’activités en fonction des cours qui tournent) ‣ Les utilisateurs du système d’inscription reçoivent des mots de passe qui sont nécessaire à la procédure d’identification 17 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. Diagramme des UC Objectif : visualiser les relations entre acteurs et cas d’utilisation (communication) Enregistrer ses cours Consulter tableau de service Etudiant Enseignant S’inscrire Système de Etablir le facturation Programme Scolaire Chef du Service Des Inscriptions 18 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. Nommer un use-case Le nom doit être unique, intuitif et auto-explicatif Il doit commencer par un verbe et utiliser une simple combinaison verbe-nom Définir clairement et sans ambiguïté le gain des résultats observables Placez vous du point de vue de l'acteur qui déclenche le cas d'utilisation Décrire le comportement fournit par le cas d'utilisation  Enregistrer des Cours ?  Enregistrement de cours  Cours  Utiliser le système d’enregistrement  Accuser réception des cours 19 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. Communication : un dialogue L’étudiant se connecte au système Le système approuve la connexion. L’étudiant requiert des informations Enregistrer Etudiant ses cours Catalogue des cours Le système affiche la liste des cours Le système transmet la requête L’étudiant selectionne les cours Le Catalogue des cours retourne des informations sur les cours. Le système affiche l’edt approuvé 20 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. Un modèle de use-case Une description du flot d'événements décrivant les interactions entre les acteurs et le système. D’autres informations, telles que: Preconditions Postconditions Exigences Speciales requirements Scenarios clefs Sous flots 21 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓Système Process. Compléments. Le système Le système est un ensemble de cas d’utilisation Le système contient : ‣ les cas d ’utilisation, ‣ mais pas les acteurs. Un modèle de cas d ’utilisation permet de définir : ‣ les fonctions essentielles du système, ‣ les limites du système, ‣ le système par rapport à son environnement. 22 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓Système Process. Compléments. System Frontière du système Etablir un emploi du temps Etudiant Enregistrer ses cours Catalogue S’inscrire des cours Demander Système de un tableau de facturation service Système de Enseignant facturation Maintenir le Programme Chef du Service 23 /82 Des Inscriptions mercredi 15 septembre 2010
  • Dict. U.C. ✓Conclusion Process. Compléments. Bénéfices des use-cases Organisent les exigences d’un point de vue utilisateur Définissent les exigences du système comme des séquences logiques, Permettent de vérifier que toutes les exigences sont capturées et qu’elles correspondent à ce qu’attend le demandeur. Facilitent l’adéquation des demandeurs ‣ mais aussi des cas de tests, la documentation et la réutilisation des exigences. 24 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓Conclusion Process. Compléments. Des use-cases, pour qui? Demandeurs (décrire et approuver) Utilisateurs (comprendre) Architectes logiciels (identification des fonctions) Concepteurs et développeurs Testeurs (identifier les tests) Managers (Planifier) Rédacteurs de documentation (prendre un point de vue utilisateur) 25 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓Conclusion Process. Compléments. Dev. logiciel dirigé par les use-cases 26 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Processus d’écriture des UC Trouver les acteurs Etudiant Catalogue des cours Enregistrer des cours Brève description: Ce UC permet à un étudiant Trouver les UC d’enregistrer ses cours... Seuls les formations bien construites sont acceptés. Le catalogue des cours est notifié des inscriptions. Description de «Enregistrer des cours» Décrire les UC -Flot d’évènements -Pas à pas Specification de «Enregistrer des cours» Détailler les UC - Flot d’évènements détaillés - Exigences spéciales - Pre/Postconditions 27 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Processus d’écriture des UC Trouver les acteurs Important Trouver les UC C’est un processus itératif Décrire les UC Détailler les UC 28 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Guichet automatique de banque Le guichet automatique d’une banque (GAB) offre les services suivants : Distribution d’argent à partir d’une carte de la banque ou d’une carte Visa. Consultation de solde de compte, dépôt en numéraire et dépôt de chèques pour les clients de la banque porteurs d’une carte de la banque. De plus, Toutes les transactions sont sécurisées. Il est parfois nécessaire de recharger le distributeur, . 29 /82 Voir UML2 par la pratique mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓1. acteurs Compléments. Processus d’écriture des UC Trouver les acteurs Nommer et brièvement décrire les Trouver les UC acteurs trouvés Décrire les UC Détailler les UC 30 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓1. acteurs Compléments. Trouver les acteurs Qui ou quoi utilise le système? Qui ou quoi obtient de l'information de ce système ? Qui ou quoi fournit des informations au système ? Où dans la compagnie le système est-il utilisé ? Qui ou quoi supporte et maintient le système? Quels autres systèmes utilisent ce système? 31 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓1. acteurs Compléments. Décrire les acteurs Student : A person who signs up for a course Student - Qu'est-ce ou que l'acteur représente - Pourquoi l'acteur est nécessaire Professor Registrar - Quel est l’intérêt de l’acteur dans le UC ? Course Catalog System 32 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Guichet automatique de banque Le guichet automatique d’une banque (GAB) offre les services suivants : Distribution d’argent à partir d’une carte de la banque ou d’une carte Visa. Consultation de solde de compte, dépôt en numéraire et dépôt de chèques pour les clients de la banque porteurs d’une carte de la banque. De plus, Toutes les transactions sont sécurisées. Il est parfois nécessaire de recharger le distributeur, . 33 /82 Voir UML2 par la pratique mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓2. U.C. Compléments. Processus d’écriture des UC Trouver les acteurs Nommer et brièvement décrire les UC trouvés Trouver les UC Créer un diagramme de UC Etablir la plus- value métier et les Décrire les UC risques techniques des UC Détailler les UC 34 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓2. U.C. Compléments. Trouver les use-cases Quels sont les objectifs de chaque acteur? ‣ Pourquoi l'acteur utiliserait-il le système? ‣ Est-ce que l'acteur créera, stockera, modifiera, supprimera ou lira des données dans le système? Si oui, pourquoi? ‣ Est-ce que l'acteur nécessite d'informer le système sur des événements externes ou des changements? ‣ Est-ce que l'acteur doit être informé de certains événements dans le système? Quels buts dois-je atteindre en utilisant le système? Acteur 35 /82 mercredi 15 septembre 2010
  • Dict. U.C. ✓cas d’utilisat. Process. Compléments. Nommer un use-case Le nom doit être unique, intuitif et auto-explicatif Il doit commencer par un verbe et utiliser une simple combinaison verbe-nom Définir clairement et sans ambiguïté le gain des résultats observables Placez vous du point de vue de l'acteur qui déclenche le cas d'utilisation Décrire le comportement fournit par le cas d'utilisation  Enregistrer des Cours ?  Enregistrement de cours  Cours  Utiliser le système d’enregistrement  Accuser réception des cours 36 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. UML au travail : Guichet automatique de banque Le guichet automatique d’une banque (GAB) offre les services suivants : Distribution d’argent à partir d’une carte de la banque ou d’une carte Visa. Consultation de solde de compte, dépôt en numéraire et dépôt de chèques pour les clients de la banque porteurs d’une carte de la banque. De plus, Toutes les transactions sont sécurisées. Il est parfois nécessaire de recharger le distributeur, . 37 /82 Voir UML2 par la pratique mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 38 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓2. U.C. Compléments. Faire le point sur les acteurs Est-ce chacun des acteurs est impliqué dans au moins un cas d'utilisation? Est-ce que des acteurs jouent des rôles similaires du point de vue du système? Dans l'affirmative, les fusionner en un seul acteur. «Avez-vous trouvé tous les acteurs?» «Avez-vous pris en compte et modélisé tous les rôles dans l'environnement du système?» 39 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓2. U.C. Compléments. Faire le point sur les Use-cases(1) Le modèle de cas d'utilisation présente le comportement du système, il est facile de comprendre ce que le système fait en passant en revue le modèle. Tous les cas d'utilisation ont été identifiés; les cas d'utilisation représentent l’ensemble des comportements requis. Le modèle de cas d'utilisation ne contient pas de comportement superflu; A chaque cas d'utilisation correspond une exigence fonctionnelle. 40 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓2. U.C. Compléments. Faire le point sur les Use-cases(2) Le cas d'utilisation ont des noms uniques, intuitifs, et des noms explicites de sorte qu'ils ne peuvent pas être confondus à un stade ultérieur. Sinon, changer leurs noms. Les demandeurs et les utilisateurs comprennent les noms et les descriptions des cas d'utilisation. La brève description donne une image fidèle du cas d'utilisation. Chaque cas d'utilisation implique au moins un acteur. Les cas d'utilisation n’ont pas de comportements ou des flux d'événements très similaires. 41 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓2. U.C. Compléments. Évaluer la valeur commerciale et les risques Pour chaque cas d'utilisation identifié, obtenir un consensus avec les parties prenantes quant à sa valeur commerciale et les risques techniques ‣ L’équipe métier décide ce qui a de l’importance et ce qui n’en a pas. ‣ L'équipe technique décide de ce qui est risqué - Degré de complexité de dev. pressentie, intégration, indéterminisme. Utilisez : haute, moyen, faible En déduire les use cases à détailler en premier 42 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Processus d’écriture des UC Trouver les acteurs Décrire les flots d’évènements (bref) Trouver les UC Saisir les scenarii Collecter les exigences additionnelles Décrire les UC Détailler les UC 43 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Décrire les UC Un processus itératif : ne pas tout détailler, pas trop tôt Un processus de découverte : Décrire vous aide à découvrir ce que vous ne connaissez pas. Une brève description sert de point de départ. Un processus d’évaluation : UC trop petit ou trop gros ? partagé? 44 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Décrire une UC Décrire chaque étape du UC par des phrases courtes, organisées séquentiellement. Use Case Name Brief Description Structurer Basic Flow le flot de Numéroter base en 1. First step et nommer 2. Second step étapes les étapes. 3. Third step majeures Alternative Flows 1. Alternative flow 1 Identifier 2. Alternative flow 2 les flots 3. Alternative flow 3 alternatifs. 45 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Décrire les flots d'événements Flot de base ‣ Quel événement déclenche le cas d'utilisation? ‣ Comment le cas d'utilisation se termine-t-il? ‣ Comment le cas d'utilisation répète-t-il certains comportements? Flots d’exceptions ‣ Y-a-t-il des situations facultatives dans le cas d'utilisation? ‣ Quel cas étrange pourrait se produire? Etape de ‣ Quelles variantes pourraient arriver? communication avec Qu’est-ce qui peut mal tourner? les utilisateurs ‣ ‣ Qu’est-ce qui peut pas se produire? ‣ Quels types de ressources peuvent être bloqués? Pas dans le détail 46 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Pas à pas : enregistrer ses cours Basic Flow ‣ 1. L’étudiant se connecte. ‣ 2. L’étudiant choisit d’enregistrer ces choix de cours. ‣ 3. L’étudiant obtient des informations sur les cours. ‣ 4. L’étudiant sélectionne les cours. ‣ 5. L’étudiant soumet ses choix. D’autres ‣ 6. Le système valide les choix. alternatives? Alternative Flows ‣ A1. Etudiant non identifié ‣ A2. L’étudiant quitte l’application avant soumission ‣ A3. Les choix ne sont pas valides ‣ A4. Le catalogue des Cours est non accessible. 47 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Des scénario de UC Une instance nommée de use case Un ensemble ordonné de flots du début à une fin possible.  Aide à identifier en termes concrets ce que le system devra faire lors de l’exécution du UC  Prépare d’excellentes suites de tests  Aide à préparer le planning du projet 48 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓3.décrire. Compléments. Un Scenario est une Instance de UC Register for Courses Course Catalog Student System Scenario 1 Scenario 2 Log on to system. Log on to system. Approve log on. Approve log on. Enter subject in search. Enter subject in search. Get course list. Invalid subject. Display course list. Re-enter subject. Select courses. Get course list. Question: How many scenarios do you need? Display course list. Confirm availability. Display final schedule. many as you need to understand the system that Simple answer: As Select courses. you are developing. Confirm availability. Display final schedule. 49 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Exigences additionnelles Collecter les exigences système qui ne peuvent pas être allouées à des UC spécifiques dans des documents additionnel. 50 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Processus d’écriture des UC Trouver les acteurs Détailler les flots d'événements Structurer les flots Trouver les UC d'événements Spécifier les propriétés additionnelles Décrire les UC Détailler les UC 51 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Détailler un UC Etape de communication avec <Use-Case Name> les utilisateurs 1. Brief Description 2. Basic Flow of Events 3. Alternative Flows 4. Subflows 5. Key Scenario 6. Preconditions Ajouter des 7. Postconditions 8. Extension Points Détails 9. Special Requirements 10. Additional Information 52 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Détailler le flot de base Register for Courses 1.1 Basic Flow 1. Log On. This use case starts when someone accesses the Décrire les étapes. Course Registration System and chooses to register for courses. The system validates that the person accessing the system is an authorized student. 2. Select “Create a Schedule ”. The system displays the functions available to the <Acteur> student. The student selects “Create a Schedule ”. 3. Obtain Course Information. <fait> The system retrieves a list of available course offerings from the Course Catalog System and displays the list to the student .The student can search the list by department, professor, or topic to obtain the desired course information . <Système> 4. Select Courses. The student selects four primary course offerings and <fait> two alternate course offerings from the list of available offerings course offerings. 53 /82 … mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Formulation  Utilisez la voix active  Dire: “Le Professeur attribue des notes à chaque étudiant”  Au lieu de : “Quand le Professeur a attribué les notes”  Dire ce qui déclenche l’étape  Dire: “Le UC commence quand le Prof. choisit de donner une note.”  Au lieu de : “Le UC commence quand le Prof. décide de ....  Dire qui fait quoi (utiliser le nom d'acteur)  Dire: “L'étudiant choisit ... …”  Au lieu de: "L'utilisateur choisit ...…"  Dire: “Le Système valide …”  Au lieu de: "Le choix est validé …" 54 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Des «sous-flots» Utiliser des références explicites. Structure 55 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Préconditions  Décrire l'état dans lequel doit être le système avant que le UC puisse commencer.  Simples déclarations qui définissent l'état du système, exprimées comme ses conditions qui doivent être remplies  Il ne faut jamais se référer à d'autres UC qui doivent être effectuées avant cet UC  Devraient être énoncées clairement et devraient être facilement vérifiables  Facultatif: Utilisez uniquement si nécessaire pour clarifier  Exemple  UC «Inscription à des cours»  Préconditions  La liste des offres de cours pour le semestre a été créé et est disponible au service d’inscription.  L'élève a ouvert une session d’inscription dans le système 56 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Postconditions  Décrire l'état dans lequel doit être le système à la fin du UC puisse commencer.  Utilisez lorsque l'état du système est une condition préalable à un autre UC, ou lorsque les résultats possibles du UC ne sont pas évidents pour le lecteur  Il ne faut jamais se référer à d'autres UC qui doivent être effectuées avant cet UC  Devraient être énoncées clairement et devraient être facilement vérifiables  Facultatif: Utilisez uniquement si nécessaire pour clarifier  Exemple on peut commencer par les  UC «Inscription à des cours» postconditions avant même  Postconditions les flots.  À la fin de ce cas d'utilisation, soit l'étudiant a été inscrit à des cours, soit l’inscription a échoué et aucune modification n'a été apportée à aux cours... 57 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Exemple de description détaillée d’un UC Précondition : Le distributeur contient des billets, il est en attente d ʼune opération, il nʼest ni en panne, ni en maintenance Retirer Début : lorsqu ʼun client introduit sa carte bancaire dans le DeLArgent distributeur. AuDistributeur Fin : lorsque la carte bancaire et les billets sont sortis. Postcondition : Si de l ʼargent a pu être retiré la somme dʼargent sur le compte est égale à la somme d ʼargent quʼil y avait avant, moins le montant du retrait. Sinon la somme d ʼargent sur le compte est la même quʼavant. Jean-Marie Favre 58 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Exemple de description détaillée d’un UC Déroulement normal : (1) le client introduit sa carte bancaire (2) le système lit la carte et vérifie si la carte est valide (3) le système demande au client de taper son code (4) le client tape son code confidentiel Retirer (5) le système vérifie que le code correspond à la carte DeLArgent AuDistributeur (6) le client choisi une opération de retrait (7) le système demande le montant à retirer … Variantes : (A) Carte invalide : au cours de l ʼétape (2) si la carte est jugée invalide, le système affiche un message d ʼerreur, rejète la carte et le cas d ʼutilisation se termine. (B) Code erroné : au cours de l ʼétape (5) ... Jean-Marie Favre 59 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Exemple de description détaillée d’un UC Contraintes non fonctionnelles : (A) Performance : le système doit réagir dans un délai inférieur à 4 secondes, quelque soit l ʼaction de l ʼutilisateur. Retirer DeLArgent AuDistributeur (B) Résistance aux pannes : si une coupure de courant ou une autre défaillance survient au cours du cas d ʼutilisation, la transaction sera annulée, l ʼargent ne sera pas distribué. Le système doit pouvoir redémarrer automatiquement dans un état cohérent et sans intervention humaine. (C) Résistance à la charge : le système doit pouvoir gérer plus de 1000 retraits d ʼargent simultanément ... Jean-Marie Favre 60 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Faire le point sur les UC Les interactions entre le système et les acteurs sont claires Les séquence de communication sont conformes aux attentes de l'utilisateur Quand/comment les UC commencent/se terminent est clair Le flot de base de base donne un résultat observable pour un ou plusieurs acteurs 61 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. ✓4.détailler Compléments. Quel niveau de détail? ✓ Saisir toutes les X Pas de détail des exigences pour tous les interfaces utilisateurs demandeurs X Pas de détail des processus internes non liés à une exigence ✓ Informations et événements X Pas les formats de données, ni les contrôles How much detail in a use case? Enough to satisfy all stakeholders that their interests (requirements) will be satisfied in the delivered system. 62 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Ecrire des UC : Défis 1. Comment garder les UC précis et concis? 2. Comment traiter les interfaces utilisateur? 3. Comment traiter un flux quand a. Un acteur doit choisir parmi différentes options? b. Un acteur peut répéter des actions avant de passer à la suite? c. Les étapes ne sont pas nécessairement séquentielles? 4. Comment gérer le comportement conditionnelle dans les cas d'utilisation? 63 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 1.Comment garder les UC précis et concis?(1) ✓ Capturer le vocabulaire commun dans un glossaire ➡ Définir les termes utilisés dans le projet dans le glossaire, pas dans les flux ➡ Aide à éviter les malentendus Use Case Glossary 5. Enter Customer Information Customer Details Information that uniquely identifies and The system prompts the Customer to provides contact information enter their Customer Details. for a customer located in the The Customer enters the Customer U.S.A. The information consists of Name, two address Details. lines, city, state, ZIP code, and The Customer creates the account. daytime phone number. Implementation 64 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 1.Comment garder les UC précis et concis? (2) ✓ Visualiser le glossaire par un modèle du domaine Student 1 0..* Schedule 0..* 0..4 Course Offering 0..* 0..* 0..1 1 Part-time Student Full-time Student Professor Course 65/82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Relations entre UC : Include et Extend Au fur et à mesure que les cas d’utilisation sont documentés, des relations peuvent apparaître ‣ Une relation include : utilisation systématique ‣ Une relation extend dénote un comportement optionnel 66 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 2. Comment traiter les interfaces utilisateur? ✓Laissez l'interface utilisateur hors des UC ➡ Les UC sont indépendants de l'interface utilisateur ➡ Décrire les interfaces utilisateur avec des modèles dédiés ou des prototypes Words to Avoid Words to Use Click Drag Form Prompts Chooses Open Close Drop Initiates Button Field Drop-down Specifies Pop-up Scroll Browse Submits Selects Record Window Starts Displays Informs “Le système fait sonner le téléphone.” notifie 67 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 3.a Comment traiter un flux quand un acteur doit choisir parmi différentes options? ✓Inclure un choix dans le flot de base et placer les autres dans des flots alternatifs. Register for Courses CRUD use cases 68 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 3.b Comment traiter un flux quand un acteur peut répéter des actions ...?(1) ✓Les comportements simples répétitifs sont capturés dans les flots de base. Register for Courses 69 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 3.b Comment traiter un flux quand un acteur peut répéter des actions ...? (2) ✓Les comportements répétitifs peuvent être représentés par des sous-flots Basic Flow 1. Log On. Register for Courses … 2. Perform Subflow Select Courses 2. Submit Schedule … Alternative Flows 1. Modify Schedule. 1.1 In the Create Schedule step of the Basic Flow,....... 1.2 Perform Subflow Select Courses. 1.3 The use case resumes at the Submit Schedule step of the Basic Flow. … Subflows 1. Select Courses. 1.1 The system retrieves a list of available course offerings from the Course Catalog System and displays the list to the student. 70 /82 mercredi 15 septembre 2010 Student selects up to 4 primary course offerings and 2 alternative course 1.2 The
  • Dict. U.C. Process. Compléments. 3.c Comment traiter un flux non séquentiel? ✓Le préciser. 71 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 4. Comment gérer les comportements conditionnels?(1) ✓Expliciter les cond. direct. dans les flots.  Pros Basic Flow Register for Courses  Familier aux 1. Log On. programmeurs … 2. Create Schedule.  Plus facile de gérer The student chooses to create a schedule. The system de petites variations retrieves a list of available course offerings from the Course Catalog System and displays the list to the student.  Cons  peut être dur à If the student has an existing schedule and chooses to modify suivre a schedule, the system retrieves and displays the student’s current schedule (e.g., the schedule for the current semester)  + difficile d’identifier and allows him/her to use it as a starting point. des scénarii.  + difficile à If the student has an existing schedule and chooses to delete implémenter & tester it, the system retrieves and displays the Student current schedule. The system prompts the Student to verify the deletion. The Student verifies the deletion. The system deletes the schedule. … 72 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. 4. Comment gérer les comportements conditionnels?(2) ✓Utiliser des flots alternatifs Register for Courses Basic Flow  Pros 1. Log On. … peut toujours être 2. Create Schedule. utilisé The system displays the functions available to the student. These functions are Create A Schedule, Modify a Schedule and Delete a + claire.... Schedule. The student selects ‘Create a Schedule’. 3. Select Courses + facile à lire … Alternative Flows + facile d’écrire les 1. Modify Schedule. scenarii In the Create Schedule step of the Basic Flow, if the student has an  Cons existing, the system retrieves and displays the student’s current schedule (e.g., the schedule for the current semester) and allows + de flots alternatifs him/her to use it as a starting point. The use case resumes at the Basic Flow Select Courses. Accroît la complexité 2. Delete a Schedule par les références In the Create Schedule step of the Basic Flow, if the student has an existing schedule and chooses to delete it, the system retrieves and croisées. displays the student current schedule. . The system prompts the Student to verify the deletion. The student verifies the deletion. The system deletes the schedule. The use case ends 73 /82 mercredi 15 septembre 2010
  • Résumés 74 mercredi 15 septembre 2010
  • Writing Good Use Cases summary  An actor represents a role that a human, hardware device, or another system can play in relation to the system  A use case is… the specification of a set of actions performed by a system, which yields an observable result that is, typically, of value for one or more actors or other stakeholders of the system. (Unified Modeling Language - UML 2.0)  A use-case model is composed of  Use-case diagrams (visual representation)  Use-case specifications (text representation) 75 mercredi 15 septembre 2010
  • Writing Good Use Cases summary (cont.) Find actors Name and briefly describe the actors you have found. Name and briefly describe the use cases you have found. Find use cases Create a use-case diagram. Assess business values and technical risks for use cases. Outline the flow of events. Outline a Capture use case scenarios. use case Collect additional requirements. Detail the flow of events. Structure the flow of events. Detail a Specify additional use case properties. use case 76 mercredi 15 septembre 2010
  • Writing Good Use Cases summary (cont.)  Requirements of a use case Must provide value to an actor/stakeholder  Goal orientation Must be a complete narrative describing how the value is provided  Must have basic and alternative flows Must stand alone  No sequencing of use cases Must not describe internal processing unrelated to a stakeholder requirement  Focus on what, not how 77 mercredi 15 septembre 2010
  • Use cases and legacy systems  If you are maintaining or enhancing a legacy system that is not documented using use cases, it is still beneficial to find actors and use cases for the legacy system  Provide an overview of what the system does for its actors and stakeholders  Help understand change impact and test coverage  Rather than detail all use cases, focus on new requirements 78 mercredi 15 septembre 2010
  • Additional resources  Use and Abuse Cases, Martin Fowler, 1998 http://www.martinfowler.com/distributedComputing/abuse.pdf  Why use cases are not functions, Kurt Bittner, 2000 http://www-128.ibm.com/developerworks/rational/library/content/ RationalEdge/dec00/WhyUseCasesAreNotFunctionsDec00.pdf  Hunting for use-case scenarios, Pan-Wei Ng, 2003 http://www-106.ibm.com/developerworks/rational/library/content/ RationalEdge/oct03/m_hunting_ng.pdf  Use Cases: Yesterday, Today, and Tomorrow, Ivar Jacobson, 2003 http://www-128.ibm.com/developerworks/rational/library/775.html  Traceability from Use Cases to Test Cases, Peter Zielczynski, 2006 http://www-128.ibm.com/developerworks/rational/library/04/r-3217/ index.html 79 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Cas d’utilisation : résumé  Se servir des Cas d’Utilisation UML pour identifier les exigences fonctionnelles. 80 /82 mercredi 15 septembre 2010
  • Dict. U.C. Process. Compléments. Cas d’utilisation : résumé 81 /82 mercredi 15 septembre 2010