Use Case (Anwendungsfall): Definition, Struktur und Nutzen in der Praxis
Ein Use Case beschreibt die nach außen sichtbare Interaktion zwischen einem Nutzer und einem System. Im Mittelpunkt steht nicht die technische Umsetzung, sondern das beobachtbare Ziel, das ein Akteur durch die Nutzung des Systems erreichen möchte. Das Konzept ist besonders in der Softwareentwicklung verbreitet – etwa im Rahmen der UML (Unified Modeling Language). Projektteams nutzen Use Cases, um Anforderungen früh zu strukturieren und eine gemeinsame Grundlage für Entwicklung und Tests zu schaffen.
Was ist ein Use Case?
Ein Use Case (deutsch: Anwendungsfall) modelliert das Zusammenspiel zwischen einem Akteur und einem System mit Blick auf ein konkretes Ergebnis. Als Akteur kann „eine Person, eine Organisation oder ein anderes System" auftreten. Der Ablauf beginnt mit einem Auslöser: Ein bestimmter Trigger veranlasst den Akteur, mit dem System zu interagieren. Das Ziel dieser Interaktion – also das gewünschte Ergebnis – definiert den Use Case.
In der Praxis besteht ein Use Case häufig aus zwei Artefakten: einem Diagramm als grafische Gesamtübersicht und einer Spezifikation, die eine detaillierte Beschreibung des jeweiligen Anwendungsfalls liefert.
Wie funktioniert ein Use Case?
Ein klassisches Beispiel ist der Geldautomat. Das Gerät ist nicht nur „ein System", sondern bietet mehrere Use Cases, die sich nach dem Ziel des Nutzers unterscheiden: Kontostand einsehen, Geld abheben oder Geld einzahlen. Die Interaktion mit dem System verändert sich je nach gewünschtem Ergebnis.
Zusätzlich lassen sich Use Cases in Geschäftsanwendungsfälle und Systemanwendungsfälle unterteilen. „Essen bestellen" steht für einen Anwendungsfall auf Geschäftsebene, während „Online Essen bestellen" den systemorientierten Anwendungsfall darstellt. Diese Unterscheidung hilft dabei, Ziele auf verschiedenen Abstraktionsebenen zu strukturieren.
In Diagrammen können Beziehungen zwischen Use Cases modelliert werden:
- Include-Beziehungen: Eine regelmäßig benötigte Funktion wird als fester Bestandteil eingebunden. Beispiel: Beim Geld abheben ist die PIN-Abfrage eine wiederkehrende notwendige Komponente.
- Erweiterungsbeziehungen (Extension): Schritte, die nur unter bestimmten Bedingungen auftreten. Beispiel: Das Ausdrucken einer Quittung beim Abheben von Bargeld.
- Spezialisierung/Generalisierung: Use Cases lassen sich verallgemeinern oder spezialisieren, um Varianten abzubilden. Beispiel: Die Entsperrung eines Smartphones kann über PIN oder Fingerabdruck erfolgen.
Vorteile von Use Cases
- Frühe Orientierung: Werden die wichtigsten Anwendungsfälle mit ihren Zielen zu Beginn definiert, erhalten Projektbeteiligte – insbesondere Projektmanager und Teams – eine gemeinsame Grundlage.
- Ableitbarkeit: Aus Use Cases lassen sich funktionale Anforderungen sowie Testfälle systematisch ableiten.
- Marktakzeptanz: Ohne ein klar definiertes Ziel fällt es Kunden schwer, den Nutzen eines Systems zu erkennen. Im schlechtesten Fall wird das System vom Markt nicht akzeptiert.
Use Case vs. User Story
Use Case und User Story werden häufig verwechselt. In agilen Kontexten – etwa im Extreme-Programming-Umfeld – kann der Begriff Use Case so weit auf eine knappe Form reduziert werden, dass er faktisch einer User Story entspricht. Eine User Story ist dabei „quasi eine Kurzbeschreibung eines Anwendungsfalles". Der wesentliche Unterschied liegt im Detailgrad: Ein vollständiger Use Case umfasst Diagramm, Spezifikation, Auslöser und Beziehungen; eine User Story bleibt bewusst knapp.
Fazit
Ein Use Case bildet die Interaktion zwischen Akteur und System zielorientiert ab. Die Kombination aus Diagramm und Spezifikation, die Berücksichtigung von Auslösern und Ergebnissen sowie die strukturierte Modellierung über Include-, Extension- und Spezialisierungsbeziehungen machen das Konzept zu einem verlässlichen Werkzeug in der Anforderungsanalyse. Teams gewinnen damit früh Klarheit über den Softwarezweck und können Anforderungen sowie Testfälle direkt daraus ableiten.