Du rufst bei einer Hundepension an und fragst: „Was kann ich bei euch eigentlich alles machen?“ Die Antwort wird ungefähr so klingen: „Sie können Ihren Hund anmelden, ihn bringen, abholen und bei Bedarf einen Gesundheitscheck durchführen lassen.“ Niemand am Telefon erklärt dir, wie die Mitarbeiter das intern organisieren, welche Formulare sie ausfüllen oder welche Software sie benutzen. Du erfährst nur, was du als Kunde mit der Pension tun kannst.
Genau dieses Prinzip – die Sicht von außen auf das, was ein System leistet – steckt hinter dem Anwendungsfalldiagramm. Es ist eines der bekanntesten Diagramme der UML und eignet sich hervorragend, um mit Fachabteilungen, Kunden oder Auftraggebern über Anforderungen zu sprechen, ohne technische Details vorwegzunehmen.
Ein Anwendungsfall beschreibt eine abgeschlossene Handlung oder eine Reihe von Handlungen, die ein System für einen Benutzer ausführt und die für diesen Benutzer einen erkennbaren Nutzen hat. Ein Anwendungsfalldiagramm sammelt mehrere solcher Anwendungsfälle und zeigt, welche Benutzergruppen – die sogenannten Akteure – mit welchen Anwendungsfällen in Beziehung stehen.
Dabei gilt eine klare Grenze:
| Wird dargestellt | Wird nicht dargestellt |
|---|---|
| Welche Funktionen das System nach außen anbietet | Wie diese Funktionen intern umgesetzt werden |
| Wer mit dem System interagiert (Akteure) | Der genaue Programmcode oder Datenbankaufbau |
| Grobe Beziehungen zwischen Anwendungsfällen | Die exakte zeitliche Reihenfolge einzelner Schritte |
Diese Tabelle macht deutlich, wie bewusst die Beschränkung auf das „Was“ gewählt ist: Ein Anwendungsfalldiagramm ist explizit nicht dafür gedacht, technische Details einer Implementierung darzustellen. Es zeigt keine Datenstrukturen, keine Systemarchitektur und keine Programmlogik, sondern beschreibt ausschließlich eine funktionale Anforderung aus der Sicht des Anwenders – also das, was jemand von außen mit dem System tun möchte.
Genau diese bewusste Oberflächlichkeit macht Anwendungsfalldiagramme zu einer der leichtverständlichsten Diagrammarten der UML überhaupt. Kein anderes UML-Diagramm lässt sich so schnell auch Personen ohne technisches Hintergrundwissen erklären. Deshalb eignen sie sich hervorragend für die Kommunikation mit nicht-technisch versierten Menschen – etwa mit Kunden oder Auftraggebern, die konkret beschreiben möchten, was sie am Ende mit einer App oder einem System tun wollen können, ohne dabei irgendetwas über die technische Umsetzung verstehen zu müssen.
Diese Beschränkung auf das „Was“ ist also kein Mangel, sondern die eigentliche Stärke des Diagramms: Es bleibt auch für Personen ohne technisches Hintergrundwissen verständlich und eignet sich damit ideal für die erste Abstimmung zwischen Auftraggebern und Entwicklungsteam.
In der Praxis begleitet dich ein Anwendungsfalldiagramm meist am Anfang eines Projekts. Typische Einsatzzwecke sind:
Um die Notationselemente in dieser Lektion Schritt für Schritt einzuführen, begleiten wir eine kleine Hundepension, die ein digitales Verwaltungssystem einführen möchte. Drei Personengruppen werden mit diesem System arbeiten:
Diese drei Rollen und ihre Handlungen werden uns durch das gesamte Kapitel begleiten und dabei helfen, jedes neue Notationselement direkt an einem konkreten Fall zu verstehen.
Einsteiger verwechseln Anwendungsfalldiagramme häufig mit Ablauf- oder Aktivitätsdiagrammen und versuchen, eine zeitliche Reihenfolge oder interne Prozessschritte einzuzeichnen. Ein Anwendungsfalldiagramm kennt keine Pfeile für „zuerst“, „danach“ oder „gleichzeitig“ – es zeigt ausschließlich Beziehungen zwischen Akteuren und Anwendungsfällen.
Damit dieser Unterschied hängen bleibt, lohnt sich ein kurzer Merksatz zum Abschluss dieser Lektion:
Ein Anwendungsfalldiagramm beantwortet die Frage „Was kann das System für wen tun?“ – niemals die Frage „Wie macht es das?“
Mit diesem Grundverständnis im Gepäck kannst du dich jetzt der praktischen Seite zuwenden.
In der nächsten Lektion schauen wir uns genauer an, in welchem Kontext Anwendungsfalldiagramme entstehen und welche Rolle sie bei der Erhebung funktionaler Anforderungen spielen – bevor wir ab Lektion 4.2 die einzelnen Notationselemente Schritt für Schritt am Beispiel der Hundepension einführen.