Download - Introductie tot use cases
Scenarios & Use Cases
Frans Van Assche
• 14u00-14u30: uitleg use cases / scenario's• 14u30-15u30: werken aan scenario in groepje• 15u30-15u45: scenario pitch• 15u45-16u00: break• 16u00-16u30: meer uitleg use cases• 16u30-17u30: werken aan use cases in groepje• 17u30-17u45: use case pitch• 17u45-18u00: consolidatie en planning follow-up
Bezint eer je begint
Wat moet onze applicatie doen ?Wie is onze gebruiker ?Wat doet hij ?Hoe kan ons systeem helpen ?
Programmeren
How to understand the user ?
World
ComputerSystem
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?
Scenario ExampleProfessor 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.
Scenario Example (2)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.
Scenario Example (3)Kelly is pleased to receive a congratulatory note about her high level of discussion-board participation.
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.
http://net.educause.edu/ir/library/pdf/ELI7059.pdf
Persona
• It is a fictional character with all the characteristics of the user
• Representing stakeholder groups• Often more than one per stakeholder
group• http://thinkvitamin.com/design/how-t
o-understand-your-users-with-personas/
Defining a Scenario• Narrative (a story)• Bounded (or scoped)• Descriptive
– Actors/Persona– Activities (tasks) – Things (objects)
• Within a given time-frame• For a given purpose • They can describe:
– ‘current/now’ or ‘as is’and/or– ‘proposed/future’ or ‘what-if’ situations
Self tracking• Prime questions
– What can you track that impacts learning ?– How do you do it ?– What can you learn from it ?
• Dashboard– What contextual information do you need ?
• Time, geolocation, weather ?• Learner profile?• Lesson schedule ?• What others do ?
• http://ariadne.cs.kuleuven.be/mediawiki2/index.php/Quantified_learning
8 Learning Events• Imitation – Pronunciation• Reception – Attending a lecture, reading
course material• Exercising – P & O 1• Exploration – Wikipedia Search• Experimentation – Science lab• Creation – Writing a thesis• Self reflexion – P & O 3• Debate – Toledo forum
http://www.labset.net/media/prod/8LEM.pdf
Opdracht
Maak een paar scenariosBegin met de personas te
definiëren
• http://www.w3.org/WAI/EO/2003/ucd • http://en.wikipedia.org/wiki/User-centered_
design
World
ComputerSystem
Book selling company
BIS
Example Use CaseThe on-line store
The customer browses the catalogue and adds desired items to the shopping basket. When the customer wishes to pay, the customer describes the shipping and credit card information and confirms the sale. The system checks the authorisation on the credit card and confirms the sale both immediately and by email
What about if the credit card fails ?
World
ComputerSystem
Book selling company
The customer browses the catalogue ...The system
checks ...
•Different Forms–Casual–Terse–Fully dressed
•No standard template
Example: Buy a product 1. Customer browses through catalogue and selects
items to buy2. Customer goes to check out3. Customer fills in shipping information (address;
next-day or 3-day delivery)4. System presents full pricing information, including
shipping5. Customer fills in credit card information6. System authorises purchase7. System confirms sale immediately8. System sends confirming email to customer
http://nl.wikipedia.org/wiki/Use_case• Use case naam • Versie • Doel• Samenvatting• Actoren • Precondities• Triggers• Basis verloop van de
events • Alternatieve wegen• Post condities• Business rules• Notes• Auteur en datum
• + Prioriteit
Use case naamEen use case naam levert een unieke identificatie voor de use case
– Validate user– Submit cost statement– Admin::Add student
Syntax: [<package name>::]<name>
VersieEen versie is van belang om de lezer inzicht te geven in het stadium dat de use case heeft bereikt
– Draft– Final
DoelEen doel beschrijft in het kort, wat de gebruiker met de use case wenst te bereiken
Describes an observable result(s) of value to an actor
Samenvatting
Deze sectie bevat de essentie van de use case, en geeft een overzicht.
ActorenEen actor is iemand of iets buiten het systeem, dat een interactie aangaat met het systeem
Actors and Users• A human actor describes a role
– Many-to-many relationship• Not necessarily correspond to job titles• Actors carry out use cases
– Many-to-many relationship• In order to start off, it is sometimes easier
to come up with a list of actors instead of a list of use cases
Actors (cont.)• Can we find all use cases by tracking
the actors ?
• External events
Precondities en Postcondities
• Een sectie die alle condities definieert, die waar dienen te zijn voor en na het uitvoeren van de use case
TriggersEen sectie beschrijft de gebeurtenissen (events), waardoor de use case geïnitieerd wordt
Basis verloop van de eventsEen primair scenario, of verloop van de gebeurtenissen
• An outsider should be able to understand it easily
• Include – how and when the use case starts and ends– the interaction with the actors– what objects are exchanged– basic flow and alternative flows of the behaviour
Example: Buy a product 1. Customer browses through catalogue and selects
items to buy2. Customer goes to check out3. Customer fills in shipping information (address;
next-day or 3-day delivery)4. System presents full pricing information, including
shipping5. Customer fills in credit card information6. System authorises purchase7. System confirms sale immediately8. System sends confirming email to customer
Alternatieve wegen: Variant
Secundaire wegen of alternatieve scenario's
Beschreven als varianten op het primaire scenario
Example: Buy a product• Alternative: Authorisation failure
Replace step 6 by1. System fails to authorise credit purchase2. System presents customer opportunity to re-enter credit card
information3. Customer fills in credit card information4. System authorises purchase
• Alternative: Regular customerReplace step 3-5 by1. System displays current shipping information, pricing
information, and Last four digits of credit card information2. Customer may accept or override these defaults
Business rulesGeschreven of ongeschreven regels of beleid, die bepalen hoe een organisatie dient te reageren op een bepaalde use case– Constraints– Derivation (also computational) rules– Pre & post-conditions– Stimulus-Response rules
Notes
Belangrijke aantekeningen, die niet in de vooropgezette format passen
Use Case Diagrams
C aptureD eal
L im itsExceeded
SetL im its
AnalyzeR isk
PriceD eal
UpdateAccounts
Valuation
T rad ing M anager
T rader
AccountingSystem
Salesperson
A c to r
U se C a se
in c lu d e
G en era lisa tio n
«include»
«include»
Fowler: UML Distilled
Use Case Diagrams• Names • Symbols for
– Use Cases– Actors– Associations– Variant relationships
• generalisation• include• extend
• You don’t need to draw diagrams to use use cases
How to make use cases• UML does not provide a standard way
of describing use cases. Variations are possible.
• How to divide use cases: no strict rules
• Amount of detail:– The more risk, the more detail you need– During iteration you add more detail
• Active sentences• Subject of the sentence: Actor or
‘The system’• What not How
– Put possibly ‘How’ in italics
http://ariadne.cs.kuleuven.be/mediawiki/index.php/Aandachtspunten_Use_Cases
Req.ts Impl. Test
Use Cases bind these workflows together
Analysis Design
?
Opdracht• Identify Use Cases• Prioritise use cases• Make a use case diagram• Start elaborating use cases
– Everyone one or two