User stories en use cases Frans Van Assche Nick Vannieuwenhoven
Overzicht 14u10-14u20: uitleg user stories / use cases 14u20-15u30: werken aan user story in groepje 15u30-15u50: user story pitch 15u50-16u00: break 16u00-16u15: meer uitleg use cases 16u15-17u45: werken aan use cases in groepje 17u45-18u00: consolidatie en planning follow-up
User stories: doelstelling Illustreren belangrijkste functionaliteit en typische interacties tussen gebruikers en het systeem in eenvoudige verhaalvorm
Welke zijn de studie How to understand the user? inspanningen? Hoe kunnen we die voorstellen? World Wat kunnen we er uit leren? Business BIS Computer System Wat gebeurt er in de leefwereld van de student dat we kunnen tracken en die een positieve of negatieve impact hebben op het leren?
User Story Example 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.
User Story 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.
Eigenschappen user stories Beperkte omvang (tijd, functionaliteit, gebruikers) Verhalend (actieve zinnen) Beschrijft: Actoren/Persona, hun activiteiten en taken, en Interacties met objecten en het systeem
Actoren/persona Een fictionele gebruiker of stakeholder van het systeem http://thinkvitamin.com/design/how-to-understand-your-users-with-personas/ Bijvoorbeeld: Ann: wil voornamelijk tot zelfreflectie komen door het bestuderen van statistieken over haar studievoortgang en haar relatieve positie t.o.v. de studentenpopulatie. Bart: wil gestimuleerd worden door het systeem, om zich beter in te spannen voor Numerieke Modellering en Benadering. Erik: wil nagaan hoeveel tijd studenten spenderen aan P&O3.
Opdracht Identificeer de belangrijkste stakeholders en beschrijf hun interactie met het systeem in user stories We verwachten 3 uitgewerkte user stories. Werk per twee.
Use case: doelstelling Een lijst van stappen die de interactie definieert tussen een actor en het systeem ten einde een doel te bereiken.
Use case Een use case legt functionele vereisten vast, in overleg met de klant. Testbaarheid: implementatie moet voldoen aan UC beschrijving Formele vereiste eindbeoordeling: implementatie van 3 volledig uitgewerkte UCs wordt op correctheid gecontroleerd.
Use cases Verschillende detailniveaus Casual -> user stories Beknopt Uitgewerkt Volledig uitgewerkt Formele vereiste eindverslag : 3 volledig uitgewerkte UCs
World Book selling company Computer System The system checks... The customer browses the catalogue...
Example: Buy a product 1. Customer browses through catalogue and selects items to buy 2. Customer goes to check out 3. Customer fills in shipping information (address; next-day or 3-day delivery) 4. System presents full pricing information, including shipping 5. Customer fills in credit card information 6. System authorises purchase 7. System confirms sale immediately 8. System sends confirming email to customer
http://nl.wikipedia.org/wiki/use_case Use case naam Versie Doel Samenvatting Prioriteit Actoren Precondities Triggers Basisverloop Alternatieve wegen Post condities Business rules Notes Auteur en datum
Use case naam Een use case naam levert een unieke identificatie voor de use case. Altijd actief. Validate user Submit cost statement Add student
Versie Een versie is van belang om de lezer inzicht te geven in het stadium dat de use case heeft bereikt Draft Final
Doel Een doel beschrijft beknopt, wat de actor met de use case wenst te bereiken.
Samenvatting Deze sectie bevat de essentie van de use case, en geeft een overzicht.
Actoren Een actor is iemand of iets buiten het systeem, dat een interactie aangaat met het systeem. Heeft altijd een actieve participatie. Tip: stel een lijst met actoren op en ga na in welke UCs zij participeren.
Basisverloop Een primair scenario, of verloop van de gebeurtenissen, in lijstvorm. Bevat geen technische details; een UC is een communicatiemiddel tussen klant, ontwerpers, ontwikkelaars en testers. Bevat wel: Hoe en onder welke voorwaarden een UC start; de interactie tussen actoren; concrete informatie en objecten die worden uitgewisseld tussen systeem en actor.
Req.ts Analysis Design Impl. Test Use Cases bind these workflows together
Example: Buy a product 1. Customer browses through catalogue and selects items to buy 2. Customer goes to check out 3. Customer fills in shipping information (address; next-day or 3-day delivery) 4. System presents full pricing information, including shipping 5. Customer fills in credit card information 6. System authorises purchase 7. System confirms sale immediately 8. 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 by 1. System fails to authorise credit purchase 2. System presents customer opportunity to re-enter credit card information 3. Customer fills in credit card information 4. System authorises purchase Alternative: Regular customer Replace step 3-5 by 1. System displays current shipping information, pricing information, and Last four digits of credit card information 2. Customer may accept or override these defaults
Aantekeningen Belangrijke aantekeningen, die niet in de vooropgezette format passen. Kan mogelijk belangrijke technische beslissingen bevatten.
Use Case Diagrams S e t L i m i t s U p d a t e A c c o u n t s T r a d i n g M a n a g e r A n a l y z e R i s k «include» A c c o u n t i n g S y s t e m P r i c e D e a l «include» V a l u a t i o n A c t o r T r a d e r C a p t u r e D e a l i n c l u d e G e n e r a l i s a t i o n S a l e s p e r s o n U s e C a s e E L i m i t s x c e e d e d 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
Opdracht Identificeer use cases Ken een prioriteit toe aan de UCs Begin met het uitwerken van de 3 belangrijkste UCs per twee.