Introductie tot use cases

42
Scenarios & Use Cases Frans Van Assche

description

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

Transcript of Introductie tot use cases

Page 1: Introductie tot use cases

Scenarios & Use Cases

Frans Van Assche

Page 2: Introductie tot use cases

• 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

Page 3: Introductie tot use cases

Bezint eer je begint

Wat moet onze applicatie doen ?Wie is onze gebruiker ?Wat doet hij ?Hoe kan ons systeem helpen ?

Programmeren

Page 4: Introductie tot use cases

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?

Page 5: Introductie tot use cases

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.

Page 6: Introductie tot use cases

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.

Page 7: Introductie tot use cases

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

Page 8: Introductie tot use cases

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/

Page 9: Introductie tot use cases

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

Page 10: Introductie tot use cases
Page 11: Introductie tot use cases

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

Page 12: Introductie tot use cases

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

Page 13: Introductie tot use cases

Opdracht

Maak een paar scenariosBegin met de personas te

definiëren

Page 14: Introductie tot use cases

• http://www.w3.org/WAI/EO/2003/ucd • http://en.wikipedia.org/wiki/User-centered_

design

Page 15: Introductie tot use cases

World

ComputerSystem

Book selling company

BIS

Page 16: Introductie tot use cases

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 ?

Page 17: Introductie tot use cases

World

ComputerSystem

Book selling company

The customer browses the catalogue ...The system

checks ...

Page 18: Introductie tot use cases

•Different Forms–Casual–Terse–Fully dressed

•No standard template

Page 19: Introductie tot use cases

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

Page 20: Introductie tot use cases

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

Page 21: Introductie tot use cases

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>

Page 22: Introductie tot use cases

VersieEen versie is van belang om de lezer inzicht te geven in het stadium dat de use case heeft bereikt

– Draft– Final

Page 23: Introductie tot use cases

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

Page 24: Introductie tot use cases

Samenvatting

Deze sectie bevat de essentie van de use case, en geeft een overzicht.

Page 25: Introductie tot use cases

ActorenEen actor is iemand of iets buiten het systeem, dat een interactie aangaat met het systeem

Page 26: Introductie tot use cases

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

Page 27: Introductie tot use cases

Actors (cont.)• Can we find all use cases by tracking

the actors ?

• External events

Page 28: Introductie tot use cases

Precondities en Postcondities

• Een sectie die alle condities definieert, die waar dienen te zijn voor en na het uitvoeren van de use case

Page 29: Introductie tot use cases

TriggersEen sectie beschrijft de gebeurtenissen (events), waardoor de use case geïnitieerd wordt

Page 30: Introductie tot use cases

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

Page 31: Introductie tot use cases

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

Page 32: Introductie tot use cases

Alternatieve wegen: Variant

Secundaire wegen of alternatieve scenario's

Beschreven als varianten op het primaire scenario

Page 33: Introductie tot use cases

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

Page 34: Introductie tot use cases

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

Page 35: Introductie tot use cases

Notes

Belangrijke aantekeningen, die niet in de vooropgezette format passen

Page 36: Introductie tot use cases

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

Page 37: Introductie tot use cases

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

Page 38: Introductie tot 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

Page 39: Introductie tot use cases

• 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

Page 40: Introductie tot use cases

Req.ts Impl. Test

Use Cases bind these workflows together

Analysis Design

Page 41: Introductie tot use cases

?

Page 42: Introductie tot use cases

Opdracht• Identify Use Cases• Prioritise use cases• Make a use case diagram• Start elaborating use cases

– Everyone one or two