Introductie tot use cases


Published on

Een introductie tot use cases vertrekkende van scenario's zoals beschreven in user centered design

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Introductie tot use cases

  1. 1. Scenarios & Use Cases Frans Van Assche
  2. 2. <ul><li>14u00-14u30: uitleg use cases / scenario's </li></ul><ul><li>14u30-15u30: werken aan scenario in groepje </li></ul><ul><li>15u30-15u45: scenario pitch </li></ul><ul><li>15u45-16u00: break </li></ul><ul><li>16u00-16u30: meer uitleg use cases </li></ul><ul><li>16u30-17u30: werken aan use cases in groepje </li></ul><ul><li>17u30-17u45: use case pitch </li></ul><ul><li>17u45-18u00: consolidatie en planning follow-up </li></ul>
  3. 3. Bezint eer je begint Wat moet onze applicatie doen ? Wie is onze gebruiker ? Wat doet hij ? Hoe kan ons systeem helpen ? Programmeren
  4. 4. How to understand the user ? World Computer System Business BIS Wat gebeurt er in de leefwereld van de student dat we kunnen tracken en die een positieve of negatieve impact hebben op het leren ? Welke zijn de studie inspanningen ? Hoe kunnen we die voorstellen? Wat kunnen we er uit leren?
  5. 5. Scenario Example <ul><li>Professor Donaldson teaches introductory chemistry at a large state university. An analytics program linked to the learning management system (LMS) helps him monitor the progress of the more than 500 students in this lecture class by compiling and analyzing information such as the number of times class notes are viewed, frequency of contributions to the discussion board, and quiz grades . From the application dashboard , Donaldson sees an indicator beside each student’s name, reflecting the program’s assessment of the likelihood that the student is on track to earn a C or better in the course—green denotes high likelihood, yellow suggests possible risk, and red indicates that, statistically, the student is at elevated risk. Donaldson can send e-mail to notify students if they appear at risk, congratulate them for work well done, or suggest ways to get more from the class. </li></ul>
  6. 6. Scenario Example (2) <ul><li>In the third week of the term, Donaldson runs a diagnostic tool from the dashboard . The results show that for the past three years, the work of the 25 most active discussion-board contributors has correlated heavily with the top 25 class performers. Factoring in additional data, including scores on the departmental chemistry exam, Donaldson has quantifiable evidence that increased participation correlates with greater success in the course and with the subject in general. He sends e-mail notices to the top 25 discussion-board contributors, thanking them for their participation and underscoring that their efforts suggest ongoing success in the study of chemistry. He also e-mails alerts to students whose profiles suggest they might be at risk of not earning at least a C in the course, and he includes individual suggestions of campus resources and strategies that, according to data, correlate with better academic performance. </li></ul>
  7. 7. Scenario Example (3) <ul><li>Kelly is pleased to receive a congratulatory note about her high level of discussion-board participation. </li></ul><ul><li>Ben , who never had difficulty in high school, is surprised by the e-mail that says he may be at risk. At the same time, he admits he has felt overwhelmed by the transition to college, and he is relieved to know that his professor cares enough about his success to suggest action. Accordingly, Ben uses his dashboard to schedule an appointment with his instructor, and he looks over the list of options in the e-mail, deciding to attend the help sessions held in the university resource center. He also resolves to take an active role in the discussion board and in class, rather than simply watching the questions other students pose. </li></ul><ul><li> </li></ul>
  8. 8. Persona <ul><li>It is a fictional character with all the characteristics of the user </li></ul><ul><li>Representing stakeholder groups </li></ul><ul><li>Often more than one per stakeholder group </li></ul><ul><li> </li></ul>
  9. 9. Defining a Scenario <ul><li>Narrative (a story) </li></ul><ul><li>Bounded (or scoped) </li></ul><ul><li>Descriptive </li></ul><ul><ul><li>Actors/Persona </li></ul></ul><ul><ul><li>Activities (tasks) </li></ul></ul><ul><ul><li>Things (objects) </li></ul></ul><ul><li>Within a given time-frame </li></ul><ul><li>For a given purpose </li></ul><ul><li>They can describe: </li></ul><ul><ul><li>‘ current/now’ or ‘as is’ </li></ul></ul><ul><ul><li>and/or </li></ul></ul><ul><ul><li>‘ proposed/future’ or ‘what-if’ situations </li></ul></ul>
  10. 11. Self tracking <ul><li>Prime questions </li></ul><ul><ul><li>What can you track that impacts learning ? </li></ul></ul><ul><ul><li>How do you do it ? </li></ul></ul><ul><ul><li>What can you learn from it ? </li></ul></ul><ul><ul><ul><li>Dashboard </li></ul></ul></ul><ul><ul><li>What contextual information do you need ? </li></ul></ul><ul><ul><ul><li>Time, geolocation, weather ? </li></ul></ul></ul><ul><ul><ul><li>Learner profile? </li></ul></ul></ul><ul><ul><ul><li>Lesson schedule ? </li></ul></ul></ul><ul><ul><ul><li>What others do ? </li></ul></ul></ul><ul><li> </li></ul>
  11. 12. 8 Learning Events <ul><li>Imitation – Pronunciation </li></ul><ul><li>Reception – Attending a lecture, reading course material </li></ul><ul><li>Exercising – P & O 1 </li></ul><ul><li>Exploration – Wikipedia Search </li></ul><ul><li>Experimentation – Science lab </li></ul><ul><li>Creation – Writing a thesis </li></ul><ul><li>Self reflexion – P & O 3 </li></ul><ul><li>Debate – Toledo forum </li></ul><ul><li> </li></ul>
  12. 13. Opdracht Maak een paar scenarios Begin met de personas te definiëren
  13. 14. <ul><li> </li></ul><ul><li> </li></ul>
  14. 15. World Computer System Book selling company BIS
  15. 16. Example Use Case The on-line store <ul><li>The customer browses the catalogue and adds desired items to the shopping basket. </li></ul><ul><li>When the customer wishes to pay, the customer describes the shipping and credit card information and confirms the sale. </li></ul><ul><li>The system checks the authorisation on the credit card and confirms the sale both immediately and by email </li></ul><ul><li>What about if the credit card fails ? </li></ul>
  16. 17. World Computer System Book selling company The customer browses the catalogue ... The system checks ...
  17. 18. <ul><li>Different Forms </li></ul><ul><ul><li>Casual </li></ul></ul><ul><ul><li>Terse </li></ul></ul><ul><ul><li>Fully dressed </li></ul></ul><ul><li>No standard template </li></ul>
  18. 19. Example: Buy a product <ul><li>1. Customer browses through catalogue and selects items to buy </li></ul><ul><li>2. Customer goes to check out </li></ul><ul><li>3. Customer fills in shipping information (address; next-day or 3-day delivery) </li></ul><ul><li>4. System presents full pricing information, including shipping </li></ul><ul><li>5. Customer fills in credit card information </li></ul><ul><li>6. System authorises purchase </li></ul><ul><li>7. System confirms sale immediately </li></ul><ul><li>8. System sends confirming email to customer </li></ul>
  19. 20. <ul><li>Use case naam   </li></ul><ul><li>Versie  </li></ul><ul><li>Doel </li></ul><ul><li>Samenvatting </li></ul><ul><li>Actoren  </li></ul><ul><li>Precondities </li></ul><ul><li>Triggers </li></ul><ul><li>Basis verloop van de events  </li></ul><ul><li>Alternatieve wegen </li></ul><ul><li>Post condities </li></ul><ul><li>Business rules </li></ul><ul><li>Notes </li></ul><ul><li>Auteur en datum </li></ul><ul><li>+ Prioriteit </li></ul>
  20. 21. Use case naam <ul><li>Een use case naam levert een unieke identificatie voor de use case </li></ul><ul><ul><li>Validate user </li></ul></ul><ul><ul><li>Submit cost statement </li></ul></ul><ul><ul><li>Admin::Add student </li></ul></ul><ul><li>Syntax: [<package name>::]<name> </li></ul>
  21. 22. Versie <ul><li>Een versie is van belang om de lezer inzicht te geven in het stadium dat de use case heeft bereikt </li></ul><ul><ul><li>Draft </li></ul></ul><ul><ul><li>Final </li></ul></ul>
  22. 23. Doel <ul><li>Een doel beschrijft in het kort, wat de gebruiker met de use case wenst te bereiken </li></ul><ul><li>Describes an observable result(s) of value to an actor </li></ul>
  23. 24. Samenvatting <ul><li>Deze sectie bevat de essentie van de use case, en geeft een overzicht. </li></ul>
  24. 25. Actoren <ul><li>Een actor is iemand of iets buiten het systeem, dat een interactie aangaat met het systeem </li></ul>
  25. 26. Actors and Users <ul><li>A human actor describes a role </li></ul><ul><ul><li>Many-to-many relationship </li></ul></ul><ul><li>Not necessarily correspond to job titles </li></ul><ul><li>Actors carry out use cases </li></ul><ul><ul><li>Many-to-many relationship </li></ul></ul><ul><li>In order to start off, it is sometimes easier to come up with a list of actors instead of a list of use cases </li></ul>
  26. 27. Actors (cont.) <ul><li>Can we find all use cases by tracking the actors ? </li></ul><ul><li>External events </li></ul>
  27. 28. Precondities en Postcondities <ul><li>Een sectie die alle condities definieert, die waar dienen te zijn voor en na het uitvoeren van de use case </li></ul>
  28. 29. Triggers <ul><li>Een sectie beschrijft de gebeurtenissen (events), waardoor de use case geïnitieerd wordt </li></ul>
  29. 30. Basis verloop van de events <ul><li>Een primair scenario, of verloop van de gebeurtenissen </li></ul><ul><li>An outsider should be able to understand it easily </li></ul><ul><li>Include </li></ul><ul><ul><li>how and when the use case starts and ends </li></ul></ul><ul><ul><li>the interaction with the actors </li></ul></ul><ul><ul><li>what objects are exchanged </li></ul></ul><ul><ul><li>basic flow and alternative flows of the behaviour </li></ul></ul>
  30. 31. Example: Buy a product <ul><li>1. Customer browses through catalogue and selects items to buy </li></ul><ul><li>2. Customer goes to check out </li></ul><ul><li>3. Customer fills in shipping information (address; next-day or 3-day delivery) </li></ul><ul><li>4. System presents full pricing information, including shipping </li></ul><ul><li>5. Customer fills in credit card information </li></ul><ul><li>6. System authorises purchase </li></ul><ul><li>7. System confirms sale immediately </li></ul><ul><li>8. System sends confirming email to customer </li></ul>
  31. 32. Alternatieve wegen: Variant <ul><li>Secundaire wegen of alternatieve scenario's </li></ul><ul><li>Beschreven als varianten op het primaire scenario </li></ul>
  32. 33. Example: Buy a product <ul><li>Alternative: Authorisation failure </li></ul><ul><ul><li>Replace step 6 by </li></ul></ul><ul><ul><li>1. System fails to authorise credit purchase </li></ul></ul><ul><ul><li>2. System presents customer opportunity to re-enter credit card information </li></ul></ul><ul><ul><li>3. Customer fills in credit card information </li></ul></ul><ul><ul><li>4. System authorises purchase </li></ul></ul><ul><li>Alternative: Regular customer </li></ul><ul><ul><li>Replace step 3-5 by </li></ul></ul><ul><ul><li>1. System displays current shipping information, pricing information, and Last four digits of credit card information </li></ul></ul><ul><ul><li>2. Customer may accept or override these defaults </li></ul></ul>
  33. 34. Business rules <ul><li>Geschreven of ongeschreven regels of beleid, die bepalen hoe een organisatie dient te reageren op een bepaalde use case </li></ul><ul><ul><li>Constraints </li></ul></ul><ul><ul><li>Derivation (also computational) rules </li></ul></ul><ul><ul><li>Pre & post-conditions </li></ul></ul><ul><ul><li>Stimulus-Response rules </li></ul></ul>
  34. 35. Notes <ul><li>Belangrijke aantekeningen, die niet in de vooropgezette format passen </li></ul>
  35. 36. Use Case Diagrams Fowler: UML Distilled
  36. 37. Use Case Diagrams <ul><li>Names </li></ul><ul><li>Symbols for </li></ul><ul><ul><li>Use Cases </li></ul></ul><ul><ul><li>Actors </li></ul></ul><ul><ul><li>Associations </li></ul></ul><ul><ul><li>Variant relationships </li></ul></ul><ul><ul><ul><li>generalisation </li></ul></ul></ul><ul><ul><ul><li>include </li></ul></ul></ul><ul><ul><ul><li>extend </li></ul></ul></ul><ul><li>You don’t need to draw diagrams to use use cases </li></ul>
  37. 38. How to make use cases <ul><li>UML does not provide a standard way of describing use cases. Variations are possible. </li></ul><ul><li>How to divide use cases: no strict rules </li></ul><ul><li>Amount of detail: </li></ul><ul><ul><li>The more risk, the more detail you need </li></ul></ul><ul><ul><li>During iteration you add more detail </li></ul></ul>
  38. 39. <ul><li>Active sentences </li></ul><ul><li>Subject of the sentence: Actor or ‘The system’ </li></ul><ul><li>What not How </li></ul><ul><ul><li>Put possibly ‘How’ in italics </li></ul></ul><ul><li> </li></ul>
  39. 40. Req.ts Impl. Test Use Cases bind these workflows together Analysis Design
  40. 41. ?
  41. 42. Opdracht <ul><li>Identify Use Cases </li></ul><ul><li>Prioritise use cases </li></ul><ul><li>Make a use case diagram </li></ul><ul><li>Start elaborating use cases </li></ul><ul><ul><li>Everyone one or two </li></ul></ul>