Introductie tot use cases

Post on 08-Dec-2014

1.130 views 0 download

Tags:

description

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

Transcript of 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