Informatietechnologie
nog eens goed uitgelegd
softwareontwikkeling | analyse | laatst bijgewerkt op 2022-11-04

use-casediagram

Een schematische weergave van de functionaliteiten in een informatiesysteem en de gebruikers die geautoriseerd zijn om deze functionaliteiten te gebruiken.

Een use-casediagram is een schematische weergave van de functionaliteiten in een informatiesysteem en de verschillende soorten gebruikers die geautoriseerd zijn om deze functionaliteiten te gebruiken. Het geeft in 1 oogopslag aan welke rollen er in het systeem aanwezig zijn, en wat deze rollen mogen. Het diagram adresseert dus de vragen over het informatiesysteem die gaan over functionele eisen (wat kan er?), authenticatie (wie zijn er?) en autorisatie (wat mag ieder?). Het use-casediagram is een weergave vanaf de positie van de gebruiker. De gebruiker kijkt naar het informatiesysteem en ziet welke functionaliteiten er beschikbaar zijn. Het maakt verder niet uit hoe deze functionaliteiten geïmplementeerd gaan worden, alleen dat ze bestaan.

Notatie

In de meest eenvoudige vorm bestaat een use-casediagram uit 2 verschillende symbolen (poppetje en ovaal) en een kader. Het kader geeft de systeemgrens aan, dat wil zeggen dat alle use-cases die binnen hetzelfde kader staan door hetzelfde informatiesysteem voorzien worden. Meestal wordt een use-casediagram gemaakt voor 1 specifiek informatiesysteem en vallen alle use-cases dus binnen het kader, echter in theorie kunnen meerdere systemen ook samen in 1 diagram weergegeven worden. Gebruikelijker is echter om daar verschillende use-casediagrammen voor te maken.

Actor

Een actor heeft een naam, dit is de rolnaam van deze actor in het informatiesysteem, en staat onder de actor genoteerd. Denk hierbij aan Klant, Beheerder enz. Aan het popje zitten 1 of meerdere ovalen verbonden, dit zijn de use-cases die door deze actor uitgevoerd kunnen worden.

full fig.1: Een actor Klant kan in het informatiesysteem met de naam Webwinkel een bestelling plaatsen en kan de artikelenlijst bekijken.

Uiteraard is het ook mogelijk dat een bepaalde use-case door meer dan 1 actor uitgevoerd zou kunnen worden, in dat geval zit dezelfde ovaal vast aan meerdere popjes, elk met een andere rolnaam. In alle gevallen is het zo dat de actor de use-case aanroept en de geïmplementeerde functionaliteit in het informatiesysteem dus weet wie de actor is die de use-case aangeroepen heeft.

full fig.2: De use-case Artikelenlijst bekijken kan gebruikt worden door zowel de actor Klant als de actor Beheerder.

Use-case

Een use-case is een bepaalde functionaliteit die door het informatiesysteem geleverd wordt. De use-case is altijd omschreven vanuit de actor en bevat altijd een werkwoord dat de activiteit omschrijft. Een actor kan het informatiesysteem gebruiken om de use-case uit te voeren. Om tot een goede naamgeving voor de use-case te komen, zou je het volgende zinnetje kunnen gebruiken: "De Klant (actor), kan de Artikelenlijst bekijken (use-case)". Tevens is het vaak zo dat het zelfstandige naamwoord in de naam van de use-case een concept is dat in het conceptueel model voor komt. Hierboven zijn dat dan de concepten Artikel en Bestelling.

Inloggen als use-case?

In sommige andere bronnen lees je dat inloggen wellicht een use-case is. Het argument dat je daarbij leest is dan vaak dat dit een functionaliteit is die door het informatiesysteem geleverd wordt en dus door een actor aangeroepen kan worden. Uiteraard is dat waar, maar dit is heel erg vanuit het informatiesysteem gedacht. De bedoeling van het use-casediagram is om vanuit de actor te denken, en alleen dat te modelleren wat de actor aan functionaliteit verwacht van het informatiesysteem (en niet anders om). In dit geval is inloggen geen use-case want de actor vindt dat helemaal geen interessante functionaliteit van het informatiesysteem. Bovendien is het zo dat wanneer er meer dan 1 actor getekend staat in het use-casediagram, er altijd een manier moet zijn om in te loggen, omdat het informatiesysteem anders niet weet met welke actor het te maken heeft. Mocht je echter een situatie hebben waarin sommige use-cases ook gebruikt kunnen worden door een niet ingelogde gebruiker, bijvoorbeeld een Bezoeker, dan kun je deze als expliciete actor opnemen in het use-casediagram.

full fig.3: De actor Bezoeker vertegenwoordigt een niet ingelogde gebruiker, deze mag de artikelenlijst bekijken, maar geen bestelling plaatsen.

Conclusie

Het use-casediagram geeft in 1 oogopslag een goed overzicht over de gebruikers van het informatiesysteem en welke functionaliteiten deze gebruikers van het informatiesysteem verwachten. Het omvat actoren die gebruikersrollen vertegenwoordigen, en use-cases die beschikbare functionaliteit vertegenwoordigt. Daarnaast zijn de actoren verbonden met de use-cases om aan te geven wie wat mag doen.