Lektion 2 von 7

Use-Case-Diagramm

Das Use-Case-Diagramm zeigt, wer ein System wofür nutzt, ohne zu verraten, wie es intern funktioniert. Hier lernst du alle Elemente, die Pfeilrichtung bei include und extend, und wie du ein Diagramm aus einem Szenariotext ableitest.

  • Etwa 25 Minuten
  • 2 Zeichenaufgaben, 5 Quizfragen
  • Papier und Stift genügen

Wozu ein Use-Case-Diagramm?

Das Use-Case-Diagramm (use case diagram, auf Deutsch auch Anwendungsfalldiagramm) steht am Anfang eines Projekts. Es beantwortet zwei Fragen: Wer arbeitet mit dem System, und was will diese Person oder dieses System damit erreichen? Wie das technisch umgesetzt wird, spielt hier noch keine Rolle. Genau darin liegt der Wert: Ein Auftraggeber ohne IT-Kenntnisse kann das Diagramm lesen und sagen, ob etwas fehlt.

In der Prüfung ist es deshalb oft die erste Teilaufgabe einer Modellierung: Aus einem Gesprächsprotokoll oder einer Anforderungsliste sollst du Akteure und Anwendungsfälle herausarbeiten. Die Elemente auf einen Blick:

ElementDarstellungBedeutung
Akteur (actor)Strichmännchen mit NamenRolle außerhalb des Systems, die mit ihm arbeitet: Mensch oder anderes System.
Anwendungsfall (use case)Ellipse mit Objekt und Verb im Infinitiv (Lastenrad buchen)Ein Ziel, das ein Akteur mit dem System erreicht und das ihm einen Nutzen bringt.
Systemgrenze (system boundary)Rechteck mit SystemnamenTrennt, was das System leistet (innen), von denen, die es nutzen (außen).
Assoziation (association)durchgezogene LinieDer Akteur ist am Anwendungsfall beteiligt. Keine Pfeilspitze nötig.
Einbindung (include)gestrichelter Pfeil mit «include»Der Basisfall führt den anderen Fall immer mit aus. Pfeil zeigt zum eingebundenen Fall.
Erweiterung (extend)gestrichelter Pfeil mit «extend»Der Fall erweitert den Basisfall nur unter einer Bedingung. Pfeil zeigt zum Basisfall.
Generalisierung (generalization)Linie mit hohlem DreieckEin spezieller Akteur erbt alle Anwendungsfälle des allgemeinen. Dreieck am allgemeinen.

Akteure, Anwendungsfälle und Systemgrenze

Akteure

Ein Akteur (actor) ist eine Rolle, keine konkrete Person. Frau Yilmaz aus dem Kundenservice ist kein Akteur, „Mitarbeiter“ schon. Eine Person kann mehrere Rollen haben: Wer im Verleih arbeitet und privat ein Rad bucht, ist einmal Mitarbeiter und einmal Kunde. Akteure stehen immer außerhalb der Systemgrenze.

Auch ein anderes System kann Akteur sein, etwa ein Zahlungsanbieter, ein SMS-Dienst oder ein Warenwirtschaftssystem. Es wird ebenfalls als Strichmännchen gezeichnet; alternativ ist ein Rechteck mit dem Schlüsselwort «actor» erlaubt, das Fremdsysteme optisch von Menschen abhebt. Beides gibt in der Prüfung volle Punkte, solange du innerhalb eines Diagramms bei einer Form bleibst.

Anwendungsfälle

Ein Anwendungsfall (use case) beschreibt ein Ziel mit erkennbarem Nutzen für den Akteur. Du benennst ihn mit Objekt und Verb im Infinitiv: „Lastenrad buchen“, „Rechnung bezahlen“, „Termin verschieben“. Ein guter Test ist die Frage: Würde der Akteur nach diesem Schritt zufrieden aufhören? Nach „Lastenrad buchen“ ja, nach „Button klicken“ oder „Formular öffnen“ nicht. Solche Einzelschritte gehören in ein Aktivitätsdiagramm (Lektion 5).

Systemgrenze und Assoziation

Die Systemgrenze (system boundary) ist ein Rechteck, oben links steht der Name des Systems. Alle Anwendungsfälle liegen innen, alle Akteure außen. Eine durchgezogene Linie, die Assoziation (association), verbindet einen Akteur mit jedem Anwendungsfall, an dem er beteiligt ist. Pfeilspitzen brauchst du dort nicht; wer den Fall anstößt, geht aus dem Text hervor und nicht aus der Linie.

include und extend: der Klassiker für Fehler

Zwei Beziehungen verbinden Anwendungsfälle untereinander. Beide sind gestrichelte Pfeile mit offener Spitze und einem Stereotyp in französischen Anführungszeichen. Den Unterschied machen die Bedeutung und vor allem die Pfeilrichtung.

Basisfalleingebundener Fall«include»läuft immer mitLastenrad buchenBezahlenErweiterungBasisfall«extend»nur unter BedingungZubehör hinzubuchenLastenrad buchen
Der Pfeil startet immer beim Fall, der den anderen „kennt“: Der Basisfall kennt den eingebundenen Fall, die Erweiterung kennt ihren Basisfall.

include: immer dabei

Bei «include» (einbinden) führt der Basisfall den anderen Fall jedes Mal mit aus. Wer ein Lastenrad bucht, bezahlt immer. Der Pfeil zeigt vom Basisfall zum eingebundenen Fall, denn der Basisfall „ruft“ ihn auf, ähnlich wie eine Methode eine andere aufruft. Sinnvoll ist include vor allem, wenn mehrere Fälle denselben Teil brauchen: „Rad buchen“ und „Buchung verlängern“ binden beide „Bezahlen“ ein, und du beschreibst das Bezahlen nur einmal.

extend: nur unter einer Bedingung

Bei «extend» (erweitern) kommt der erweiternde Fall nur manchmal hinzu, nämlich wenn eine Bedingung erfüllt ist. Der Basisfall funktioniert auch ohne ihn und weiß nichts von ihm. Deshalb zeigt der Pfeil von der Erweiterung zum Basisfall: Die Erweiterung klinkt sich ein. Die Bedingung schreibst du in eine Notiz, die an der extend-Linie hängt. Die Stelle, an der sich die Erweiterung einklinkt, heißt Erweiterungspunkt (extension point) und darf unter dem Namen in der Ellipse stehen, etwa „extension points: Zusatzleistungen“. In Prüfungen wird er selten verlangt.

Generalisierung von Akteuren

Hat ein Akteur alle Rechte eines anderen und dazu weitere, zeichnest du eine Generalisierung (generalization): eine durchgezogene Linie mit hohlem Dreieck, das auf den allgemeineren Akteur zeigt. Die Stationsleitung ist ein Mitarbeiter mit Zusatzrechten. Sie darf alles, was ein Mitarbeiter darf, ohne dass du jede Linie doppelt ziehst, und zusätzlich Räder ausmustern.

Lastenrad-VerleihRad wartenRad ausmusternMitarbeiterStationsleitung

Das Dreieck ist dasselbe Symbol wie bei der Vererbung im Klassendiagramm (Lektion 4). Auch zwischen Anwendungsfällen ist eine Generalisierung erlaubt, etwa „Bezahlen“ mit den Spezialfällen „Per Karte bezahlen“ und „Per Rechnung bezahlen“. In Prüfungen kommt sie aber fast nur bei Akteuren vor.

Beispiel Schritt für Schritt: Lastenrad-Verleih

Dasselbe Szenario wie im Klassendiagramm der Lektion 3, diesmal aus Sicht der Nutzer. Lies den Text einmal ganz, dann gehst du in drei Schritten vor.

Ausgangssituation

Die Stadtwerke Mittelstadt planen einen Online-Verleih für Lastenräder. Kunden sollen ein Lastenrad buchen können; zu jeder Buchung gehört die Bezahlung, die über einen externen Zahlungsanbieter abgewickelt wird. Auf Wunsch kann der Kunde bei der Buchung Zubehör wie einen Kindersitz oder eine Regenplane hinzubuchen. Bis 24 Stunden vor Beginn kann ein Kunde seine Buchung stornieren. Mitarbeiter der Stadtwerke warten die Räder und melden sich dazu am System an.

Aufgabe: Erstellen Sie ein Use-Case-Diagramm mit allen Akteuren, Anwendungsfällen und Beziehungen.

Schritt 1: Akteure und Systemgrenze

Suche alle, die mit dem System arbeiten, und frage jeweils: Steht er innerhalb oder außerhalb? Kunde und Mitarbeiter sind Menschen außerhalb. Der Zahlungsanbieter ist ein fremdes System, mit dem der Verleih Daten austauscht, also ebenfalls ein Akteur. Die Stadtwerke sind nur der Auftraggeber; sie arbeiten nicht selbst mit dem System und werden kein Akteur. Das System bekommt einen kurzen Namen: Lastenrad-Verleih.

Lastenrad-VerleihKundeZahlungsanbieterMitarbeiter
Schritt 1: Systemgrenze und die drei Akteure

Schritt 2: Anwendungsfälle und Assoziationen

Jetzt sammelst du die Ziele. Aus den markierten Verben werden „Lastenrad buchen“, „Buchung stornieren“ und „Rad warten“. Das Anmelden des Mitarbeiters ist kein eigenständiger Anwendungsfall: Es ist eine Voraussetzung, kein Ziel. Niemand meldet sich an, um danach zufrieden aufzuhören. Als per «include» eingebundener Fall „Anmelden“ ist es dagegen üblich und wird in IHK-Lösungen akzeptiert. Jeder Fall bekommt eine Linie zu seinem Akteur.

Lastenrad-VerleihLastenrad buchenBuchung stornierenRad wartenKundeZahlungsanbieterMitarbeiter
Schritt 2: die Ziele der Akteure

Schritt 3: include, extend und die Fremdsysteme

Jetzt prüfst du jeden Nebensatz auf „immer“ oder „auf Wunsch“:

  • „Zu jeder Buchung gehört die Bezahlung“: immer, also «include» von „Lastenrad buchen“ zu „Bezahlen“. Der Zahlungsanbieter hängt am Fall „Bezahlen“, denn nur dort ist er beteiligt.
  • „Auf Wunsch Zubehör hinzubuchen“: nur manchmal und nur während einer Buchung, also «extend» von „Zubehör hinzubuchen“ zu „Lastenrad buchen“, mit der Bedingung in einer Notiz.
  • Und das Stornieren? Es ist kein extend von „Lastenrad buchen“, obwohl es mit der Buchung zu tun hat. Der Kunde storniert später, in einem eigenen Vorgang mit eigenem Ziel. Darum ist „Buchung stornieren“ ein eigenständiger Anwendungsfall mit eigener Linie zum Kunden.
Lastenrad-VerleihLastenrad buchenBuchung stornierenRad warten«include»«extend»Bedingung: Kundewünscht ZubehörBezahlenZubehör hinzubuchenKundeZahlungsanbieterMitarbeiter
Schritt 3: das fertige Use-Case-Diagramm

Zeichenaufgaben

Zeichne erst selbst, dann klapp die Musterlösung auf und vergleiche Punkt für Punkt. Die Punkte sind Richtwerte im Stil der IHK; die tatsächliche Verteilung legt jede Prüfung selbst fest.

Zeichenaufgabe 2.1
Stadtbibliothek, Richtwert 10 Punkte

Die Stadtbibliothek führt ein neues Bibliothekssystem ein. Leser leihen Medien an Selbstbedienungsterminals aus und können laufende Ausleihen online verlängern. Vor jeder Ausleihe und jeder Verlängerung prüft das System das Leserkonto auf Sperren und offene Gebühren. Zurückgegebene Medien nimmt ein Bibliothekar an der Theke entgegen und bucht sie im System zurück. Ist die Leihfrist dabei überschritten, erhebt er zusätzlich eine Mahngebühr.

Aufgabe: Erstellen Sie ein Use-Case-Diagramm mit Systemgrenze, Akteuren, Anwendungsfällen sowie den include- und extend-Beziehungen.

Zeichne auf Papier oder im Diagramm-Tool nachzeichnen: Es steckt in den Übungsprüfungen und öffnet sich dort bei jeder Zeichenaufgabe.

Musterlösung anzeigen
Bibliothekssystem«include»«include»«extend»Bedingung: LeihfristüberschrittenMedium ausleihenAusleihe verlängernLeserkonto prüfenRückgabe entgegennehmenMahngebühr erhebenLeserBibliothekar

„Leserkonto prüfen“ steckt in beiden Leser-Fällen, deshalb lohnt sich hier ein include: Du beschreibst die Prüfung einmal und nutzt sie zweimal. Die Mahngebühr kommt nur bei verspäteter Rückgabe dazu, das ist ein extend mit Pfeil zur Rückgabe. Eine zusätzliche Linie vom Leser zur Rückgabe ist vertretbar, weil er das Medium ja abgibt; entscheidend ist, dass der Bibliothekar die Rückgabe im System erfasst.

So wird typischerweise bewertet

  • 2 Punkte: Akteure Leser und Bibliothekar außerhalb der Systemgrenze, je 1 Punkt.
  • 1 Punkt: Systemgrenze mit Namen.
  • 3 Punkte: Anwendungsfälle Medium ausleihen, Ausleihe verlängern, Rückgabe entgegennehmen mit den richtigen Assoziationen.
  • 2 Punkte: Leserkonto prüfen per «include» aus beiden Fällen, Pfeile zum eingebundenen Fall.
  • 2 Punkte: Mahngebühr erheben per «extend», Pfeil zur Rückgabe, Bedingung angegeben.
  • Richtwert gesamt: 10 Punkte.
Zeichenaufgabe 2.2
Tierarztpraxis, Richtwert 10 Punkte

Eine Tierarztpraxis bekommt ein Terminsystem. Tierhalter buchen Termine online und können gebuchte Termine verschieben. Bei jeder Buchung und jeder Verschiebung plant das System automatisch eine Erinnerung per SMS ein, die über einen externen SMS-Dienst verschickt wird. Praxismitarbeiter sehen den Tagesplan ein. Tierärztinnen sind Praxismitarbeiter und dokumentieren zusätzlich die Behandlungen.

Aufgabe: Erstellen Sie ein Use-Case-Diagramm. Berücksichtigen Sie dabei auch die Beziehung zwischen Praxismitarbeiter und Tierärztin.

Zeichne auf Papier oder im Diagramm-Tool nachzeichnen: Es steckt in den Übungsprüfungen und öffnet sich dort bei jeder Zeichenaufgabe.

Musterlösung anzeigen
Terminsystem Tierarztpraxis«include»«include»Termin buchenTermin verschiebenSMS-Erinnerung sendenTagesplan einsehenBehandlung dokumentierenTierhalterSMS-DienstPraxismitarbeiterTierärztin

Der SMS-Dienst ist ein fremdes System und damit ein Akteur außerhalb der Grenze. Er hängt nur an „SMS-Erinnerung senden“, nicht an den Terminfällen. Die Erinnerung wird bei jeder Buchung und jeder Verschiebung eingeplant, deshalb include aus beiden Fällen. Die Tierärztin erbt vom Praxismitarbeiter: Sie darf den Tagesplan einsehen, ohne dass du eine zweite Linie ziehst, und dokumentiert zusätzlich Behandlungen.

So wird typischerweise bewertet

  • 3 Punkte: Akteure Tierhalter, Praxismitarbeiter und SMS-Dienst, der SMS-Dienst als Akteur außerhalb der Systemgrenze.
  • 1 Punkt: Tierärztin mit Generalisierung, Dreieck am Praxismitarbeiter.
  • 3 Punkte: Anwendungsfälle Termin buchen, Termin verschieben, Tagesplan einsehen, Behandlung dokumentieren mit richtigen Assoziationen.
  • 2 Punkte: SMS-Erinnerung senden per «include» aus beiden Terminfällen, Pfeile zur SMS-Erinnerung.
  • 1 Punkt: Systemgrenze mit Namen.
  • Richtwert gesamt: 10 Punkte.

Typische Fehler

Jetzt selbst testen

Fünf Fragen zur Notation. Du hast so viele Versuche, wie du willst.

1 / 5

„Beim Buchen eines Termins wird immer die Versicherungskarte geprüft.“ Wie modellierst du das?

2 / 5

Wohin zeigt der gestrichelte Pfeil bei einer «extend»-Beziehung?

3 / 5

Ein Onlineshop fragt Lieferzeiten automatisch beim System eines Paketdienstes ab. Wie stellst du den Paketdienst dar?

4 / 5

Welcher Name ist als Anwendungsfall am besten geeignet?

5 / 5

Zwischen den Akteuren Administrator und Benutzer steht eine Linie mit hohlem Dreieck am Benutzer. Was bedeutet das?