SEG 3601 Élaboration de cas d'utilisation avec UCEd Stéphane S. Somé SITE, Université d' Ottawa Use Case Editor (UCEd) •Objectif: aider à la capture/validation de cas d'utilisation ― Edition de cas d'utilisation ― Edition du modèle de domaine ― Edition de scénarios ― Validation de cas d'utilisation du modèle de domaine ― Combinaison de cas d'utilisation en modèles à états ― Simulation de modèles exécutables dérivés de cas d'utilisation ― Génération de scénarios Éléments d'UCEd Édition de domaine Édition de cas d’usage Synthèse de modèles à états UCED (Use Case Editor) Édition de scénarios Simulateur Édition de cas d'utilisation Modèle de cas d'utilisation Description de cas d'utilisation Modèle de cas d'utilisation Inclus Cas d'utilisation cas normal cas d'extension Relations “include” “extend” condition d'extension Acteurs Description de cas d'utilisation (1) Cas d'utilisation normal Description de cas d'utilisation (2) • Title: label identifiant le cas d'utilisation de façon unique • Description: texte qui fait un sommaire du cas d’usage • System Under Design: spécifie le système (l’entité qui réagi aux stimuli des acteurs externes) • Primary Actor: l'acteur qui initie le cas d'utilisation • Participants: autre acteurs participant au cas d'utilisation • Goal: énoncé de l'attente de l'acteur primaire lors de la complétion du cas d'utilisation Description de cas d'utilisation (3) • Following Use Cases: une liste des cas d’usage qui peuvent suivre directement • Invariant: condition devant être vérifiée tout au long de l'exécution d'une instance du cas d'utilisation • Precondition: condition devant être vérifiée avant l'exécution • Success Postcondition: condition devant être vérifiée à la fin de l'exécution sans faute • Steps: séquence d'étapes (blocs répétés et de steps) constituant le cas d'utilisation • Alternatives: étapes alternatives • Alternative Postcondition: condition devant être vérifiée à la fin d’une alternative. Description de cas d'utilisation - Conditions •Plusieurs types ― Conditions simples – Entity bound conditions: basées sur les entités du domaine – Non-Entity bound conditions: déclarées verbatim dans le modèle du domaine ― Conditions complexes – négation, conjonction, disjonction de conditions simples Description de cas d'utilisation - Conditions • Condition simple (entity-bound) ' [déterminant] entité verbe valeur ● Déterminant: a, an, ou the ● Entité: séquence de mots nommant une entité du modèle du domaine (voir plus loin) ● Verbe: un parmi is, isn't, is not, are, aren't, are not, has, hasn't, has not, have, haven't, have not ● Valeur: – séquence de mots définie comme une valeur possible de l'entité dans le modèle du domaine – comparaison Description de cas d'utilisation - Conditions •Exemples de conditions simples The User Card is not valid User number of attempts is > 3 The System Display is blinking System registered users are less than 10 .... Description de cas d'utilisation - Conditions •Conditions complexes ― Négation NO condition NOT condition ex: Not User identification is valid. ― Conjonction condition AND condition ― Disjonction condition OR condition Description de cas d'utilisation - Étapes • Exécution d’opération ― Phrase décrivant une action faite par un acteur ou le système ― Au présent ― Exemples: – The User inserts a card – ATM ejects the user's card – The system displays a pin enter prompt • Branchement à une étape du scénario principal ― GOTO 5. Description de cas d'utilisation - Étapes •Spécification de délai before valeur unité after valeur unité •Peuvent être combinés •Exemples ― after 10 sec ― before 60 sec AND after 20 sec •Expression conditionnelle IF condition THEN Description de cas d'utilisation - Étapes •Exemples ― before 60 sec, the user inserts a card ― IF the system is ON THEN, the operator turns the system OFF ― System displays pin enter prompt to Customer ― after 2 min, the ATM ejects the user card Description de cas d'utilisation – Étapes alternatives • Une alternative peut suivre une étape (step) • Par exemple: ―alternative condition – condition under which the extension takes place ―steps Alternative steps can not have further alternatives ―alternative postcondition postcondition when the alternative is taken Description de cas d'utilisation – Étapes alternatives • Conditions alternatives: ―Un délai ―Une condition, ou ―Combinaison de délais et conditions • Exemples ―after 30 sec ―before 2 min AND after 20 sec ―The User identification is not valid ―after 60 sec, IF Bank hasn't responded Exemple de description de cas d'utilisation Title: User login System Under Design: PMSystem Description: This use case describes a login process in the PMSystem. The use case is executed by a User (Doctor or Nurse). Primary Actor: User Participants: Goal: A User want to identify herself in order to use a PM system. Precondition: System is ON AND NO user is logged in Follows Use Cases: turn system on Steps: 1: The User inserts a Card in the card slot 2: The PMSystem asks for PIN 3: The User types a PIN 4: The PMSystem validates the USER identification 5: IF the USER identification is valid THEN The PMSystem displays a welcome message to the USER 6: After 60 sec The PMSystem ejects the Card Success Postcondition: User is logged in Alternatives: 1a: User Card is inserted 1a1: User presses cancel button 1a2: PMSystem ejects Card Alternative Postcondition: User is not logged in 1b: The Card is not regular 1b1: The PMSystem emits an alarm 1b2: After 20 sec The System ejects the Card Alternative Postcondition: User is not logged in 2a: after 60 seconds 2a1: PMSystem emits alarm 2a2: After 20 sec PMSystem ejects Card Alternative Postcondition: User is not logged in 4a: The user identification is invalid AND number of attempts is less than 4 4a1: Goto Step 2 4b: User identification is invalid AND number of attempts is equal to 4 4b1: The PMSystem emits an alarm 4b2: After 20 sec PMSystem ejects the Card Alternative Postcondition: User is not logged in Sources •Pour ― Télécharger UCEd ― Obtenir le guide de l’utilisateur ― Obtenir des articles sur UCEd http://www.site.uottawa.ca/~ssome/Use_Case_Editor_UCEd.html