Studiewijzer module 02
Van requirements naar usecases


Wanneer je weet aan wat voor eisen je systeem moet voldoen kan je deze uitwerken in procesbeschrijvingen. Een semi formele notatie hiervoor zijn use cases, zoals beschreven in de UML (Unified Modelling Language).

In de praktijk zal je waarschijnlijk weinig fully dressed use cases meer tegenkomen, behalve als je je carriere voortzet bij een meer formelere organisatie. Use cases zijn nog wel relevant om te leren om zo je analyse van het systeem te verduidelijken.

Modernere, meer lichtgewicht varianten van use cases zijn User Stories. Deze worden o.a. in Scrum gebruikt en beschrijven functionaliteit volgens het formaat:

Als rol wil ik eis zodat gevolg.

Bijvoorbeeld: Als pizzakoerier wil ik het afleveradres duidelijk zien zodat ik de pizza makkelijk kan bezorgen op het juiste adres.

In de leesstof vind je meer informatie over Use Cases en User Stories.

Lezen

Lees uit [LAR] de volgende delen:

  • Hoofdstuk 6: Use-case Model: Writing Requirements in Context

Lees de volgende introductie artikelen over User Stories:

Er zijn hele boeken geschreven over hoe je use cases en user stories het beste kan schrijven. Het is geen exacte wetenschap en het enige dat we kunnen doen is deze vaker te schrijven om er zo beter in te worden.

Opdrachten

Hieronder vind je een aantal casussen die je moet uitwerken naar use cases en user stories.

Casus 1: Cursusomgevingen beheren

Wanneer er een cursus voor ParnasSys of SOMtoday gegeven wordt door een trainer heeft deze voor haar studenten een omgeving nodig waarin de studenten kunnen werken. Voor de cursus wil de trainer de omgeving kunnen inrichten zodat de studenten goed kunnen starten met de training. De cursusomgeving wordt aangemaakt wanneer de trainer vraagt om de omgeving. Hiervoor wordt door Robin een database server en een daaraan gekoppelde applicatie server ingericht. Wanneer Robin klaar is met de inrichting stuurt hij een email naar de trainer met daarin de gegevens van de omgeving (URL naar de applicatie). Als de training gegeven is moet de omgeving ook weer opgeruimd worden om zo ruimte te maken op de server voor volgende trainingen. Robin stuurt een mailtje naar de trainer een dag voordat de omgeving opgeruimd wordt ter bevestiging dat ze gaan verdwijnen. Het kan zo zijn dat de trainer de cursusomgeving nog wat langer nodig heeft, om een vervolg training te geven of omdat de cursus uitgesteld is.

  1. Identificeer de actor(en) en de use-case(s). Geef duidelijke namen en omschrijvingen.

    Actor(en):

    + Alle use-case(s):

  2. Teken een use-case diagram

    (bijv. met https://draw.io, of https://plantuml.com)

  3. Beschrijf alle gevonden use-case(s) in brief format

    (gebruik bijv. Google Docs)

  4. Beschrijf (één van) de gevonden use-case(s) in full format

    Gebruik het single column formaat

  5. Beschrijf de gevonden use-cases ook in User Stories formaat

    Gebruik dus Als rol wil ik eis zodat gevolg. als formaat.

Casus 2: Kaaswinkel

De kaaswinkel "Op de Brink" uit Deventer wil graag het assortiment ook online kunnen verkopen. Een bezoeker moet dus kunnen zien welke kazen er allemaal in de winkel aanwezig zijn. Wanneer de bezoeker een kaas gevonden heeft die haar lekker lijkt, voegt ze deze kaas toe aan de winkelmand. De kaas kan in eenheden van 100gr toegevoegd worden. Pas wanneer er meer dan 300gr besteld is kan er afgerekend worden om zo niet te weinig te hoeven versturen. Per honderd gram komt er €0,50 aan verzendkosten bij met een minimum van €3,-. Wanneer de bezoeker klaar is met het toevoegen van kazen aan de winkelwagen en overgaat tot bestellen moet er natuurlijk een verzendadres ingevoerd worden en moet er betaald worden.

Betaling kan via iDEAL, Bitcoin of onder rembours bij aflevering. In het geval van iDEAL wordt er een iDEAL transactie gestart bij Currence. In deze transactie wordt het ID van de winkel, de transactie ID van de order en het bedrag verzonden. Hierna krijgt de winkel verder geen inzage in de transactie, anders dan dat aan het eind een bericht gestuurd wordt naar de winkel dat er betaald is. Bij Bitcoin betaling wordt er een QR-code gegenereerd met daarin versleuteld het bedrag dat afgerekend moet worden en het Bitcoin id van de winkel. De klant scant de QR-code met haar Bitcoin Wallet en bevestigt de betaling. Het Bitcoin systeem stuurt dan een bericht naar de winkel dat de betaling gelukt is. Betaling onder rembours kost €3,- extra.

  1. Identificeer de actor(en) en de use-case(s). Geef duidelijke namen en omschrijvingen.

    Actor(en):

    + Alle use-case(s):

  2. Teken een use-case diagram

    (bijv. met https://draw.io, of https://plantuml.com)

  3. Beschrijf alle gevonden use-case(s) in brief format

    (gebruik bijv. Google Docs)

  4. Beschrijf (één van) de gevonden use-case(s) in full format

    Gebruik het single column formaat

  5. Beschrijf de gevonden use-cases ook in User Stories formaat

    Gebruik dus Als rol wil ik eis zodat gevolg. als formaat.

Casus 3: Pakketbedrijf

Het pakketbedrijf "Van Hot naar Her" bouwt een systeem waarmee pakketten on-line getraceerd kunnen worden. Een klant registreert het ophaaladres, ophaaldatum en afleveradres bij het systeem. Als het pakket zwaarder is dan 100kg moet er €100 extra betaald worden en kan het alleen met een vrachtwagen vervoerd worden. De klant ontvangt een track’n’trace nummer waarmee in het systeem de status van het pakket kan worden uitgelezen. Een pakketbezorger krijgt dan een melding dat het pakket opgehaald moet worden en als deze bij het ophaaladres gekomen is wordt geregistreerd dat het pakket opgehaald is. De bezorger gaat dan zijn ronde afmaken en rijdt naar het distributiecentrum. Daar wordt de wagen uitgeladen en krijgen de pakketjes de status "In distributiecentrum".

De volgende dag wordt door de bezorger een vrachtwagen volgeladen met pakketjes die bezorgd moeten worden. Wanneer de bezorger een pakketje laadt wordt de status weer aangepast naar "Onderweg". De bezorger gaat dan z’n ronde doen en wanneer een pakketje bij een afleverpunt bezorgd is verandert de status naar "Bezorgd". Als het pakketje niet afgeleverd kon worden gaat deze terug naar het distributiecentrum en wordt de volgende dag geprobeerd het pakketje te bezorgen.

  1. Identificeer de actor(en) en de use-case(s). Geef duidelijke namen en omschrijvingen.

    Actor(en):

    + Alle use-case(s):

  2. Teken een use-case diagram

    (bijv. met https://draw.io, of https://plantuml.com)

  3. Beschrijf alle gevonden use-case(s) in brief format

    (gebruik bijv. Google Docs)

  4. Beschrijf (één van) de gevonden use-case(s) in full format

    Gebruik het single column formaat

  5. Beschrijf de gevonden use-cases ook in User Stories formaat

    Gebruik dus Als rol wil ik eis zodat gevolg. als formaat.


« Vorige module Volgende module »