Anwendungsfall
Wissen kompakt: Ein Anwendungsfall zeigt, wie ein System aus Sicht des Anwenders funktioniert und welche Szenarien ein Akteur durchläuft, um ein Ziel zu erreichen.
Anwendungsfall – das Verhalten eines Systems aus Anwendersicht
Anwendungsfälle beschreiben die Interaktion zwischen einem System und seinen Anwendern. Ivar Jacobson stellte 1987 das Konzept der Anwendungsfälle als “eine spezielle Abfolge von Transaktionen, die ein Benutzer und ein System in einem Dialog durchführen” vor.¹ Der Benutzer kann eine Person, eine Rolle, eine Organisation oder ein anderes System sein. Er agiert als Akteur, um ein bestimmtes Ziel in einer festgelegten Abfolge von Aktionen zu erreichen. Das Ziel (z.B. „Fahrzeuggeschwindigkeit regeln“ oder „Geld abheben“) gibt dem Anwendungsfall seinen Namen und macht sofort klar, welches Systemverhalten beschrieben wird.
Anwendungsfälle bieten einen Überblick über das gesamte System. Unterschieden werden Black-Box- und White-Box-Awendungsfälle. Black-Box Anwendungsfälle dokumentieren, was ein System leisten soll, ohne die interne Implementierung zu beschreiben. Sie zeigen, wie ein System von außen aussieht, einschließlich der erforderlichen Schnittstellen. White-Box-Anwendungsfälle dokumentieren, welche internen Komponenten (Klassen, Schnittstellen) eine Funktionalität bereitstellen. In der Praxis werden meist Black-Box-Anwendungsfälle verwendet, aufgeteilt in Geschäftsanwendungsfälle und Systemanwendungsfälle. Zum Beispiel kann es für den Geschäftsanwendungsfall “Reise reservieren” mehrere Systemanwendungsfälle wie “Telefonische Reise reservieren” oder “Online Reise reservieren” geben.
Ausprägungen von Anwendungsfällen
Es gibt zwei sich ergänzende Ausprägungen von Anwendungsfällen:
- Anwendungsfallspezifikationen und
- Anwendungsfalldiagramme.
Die Anwendungsfallspezifikationen enthalten natürlichsprachliche Informationen zur Systematik der Interaktionen eines Anwendungsfalls (sogenannte “Narratives”). Idealerweise werden diese Informationen mit einer Vorlage textuell erfasst, die mindestens folgende Elemente umfassen sollte:
- Name und Nummer des Anwendungsfalls
- Akteure
- Auslöser
- Kurzbeschreibung
- Standardablauf und alternative Abläufe
- Vor- und Nachbedingungen
- Systemgrenzen
Awendungsfalldiagramme visualisieren Anwendungsfälle und Akteure mit ihren jeweiligen Beziehungen. Sie bieten einen grafischen Überblick über das Gesamtsystem und beschreiben die Zusammenhänge zwischen Anwendungsfällen und Akteuren. Die wichtigsten Modellelemente sind Akteure, Anwendungsfälle, Beziehungen und Systemgrenzen. Es gibt verschiedene Beziehungsarten wie Assoziations-, Include-, Extend- und Generalisierungsbeziehungen.
Vorgehen zur Erstellung von Anwendungsfällen
Zur Beschreibung und zum Verständnis eines Systems aus Anwendersicht sind Anwendungsfälle sehr hilfreich. Beim Formulieren sollten detaillierte, aber nicht zu komplizierte Beschreibungen erstellt werden. Hilfreiche Fragen sind:
Zum Akteur:
- Wer nutzt das System?
- Welches Ziel wird verfolgt?
- Welche anderen Systeme interagieren mit dem System?
- Wer liefert oder erhält Informationen?
Zu den Vor- und Nachbedingungen:
- Welche Bedingung muss erfüllt sein, damit der Anwendungsfall eintritt?
- In welchem Zustand befindet sich das System beim Eintritt und Abschluss des Anwendungsfalls?
Zu den Abläufen:
- Welcher Akteur und welches Ereignis initiieren die Ablauffolge?
- Wie interagiert der Akteur mit dem System und wie reagiert das System?
- Welche alternativen Aktionen oder Fehler können auftreten?
Beispiel eines einfachen Anwendungsfalls
Titel: Artikel in den Warenkorb legen
Akteur: Kunde
Ziel: Der Kunde möchte einen Artikel in den Warenkorb legen.
Vorbedingungen:
Der Kunde ist auf der Produktseite angemeldet.
Der Artikel ist auf Lager und verfügbar.
Der Kunde hat ein Konto und ist angemeldet (optional, falls Gastkäufe nicht erlaubt sind).
Hauptszenario:
Der Kunde navigiert zur Produktseite.
Der Kunde wählt die gewünschte Menge und eventuell weitere Optionen (z. B. Farbe, Größe) aus.
Der Kunde klickt auf “In den Warenkorb”.
Das System überprüft die Verfügbarkeit des Artikels in der ausgewählten Menge.
Das System legt den Artikel in den Warenkorb.
Das System zeigt eine Bestätigungsmeldung an, dass der Artikel erfolgreich in den Warenkorb gelegt wurde.
Alternatives Szenario:
Artikel nicht verfügbar, das das System zeigt eine Fehlermeldung an, dass der Artikel nicht verfügbar ist.
Nachbedingungen:
Der Artikel ist im Warenkorb des Kunden hinzugefügt.
Die Verfügbarkeit des Artikels im Lager wird entsprechend reduziert.
Der Warenkorbinhalt des Kunden wird im System gespeichert.
Vorteile und Nachteile von Anwendungsfällen
Anwendungsfälle beschreiben klar und verständlich die Anforderungen aus der Sicht der Benutzer, was sie für alle Beteiligten nachvollziehbar macht. Sie fördern eine benutzerzentrierte Entwicklung, da sie auf den Interaktionen der Benutzer mit dem System basieren und so helfen, benutzerfreundlichere und relevantere Funktionen zu entwickeln. Zudem erfassen und dokumentieren sie funktionale Anforderungen systematisch.
Ein weiterer Vorteil: Anwendungsfälle dienen als Grundlage für die Entwicklung von Testfällen, wodurch sichergestellt wird, dass alle Benutzerinteraktionen getestet werden. Sie erleichtern auch die Kommunikation zwischen Entwicklern, Kunden und anderen Stakeholdern, indem sie eine gemeinsame Sprache und ein gemeinsames Verständnis schaffen. Darüber hinaus helfen Anwendungsfälle, potenzielle Risiken und Probleme frühzeitig zu erkennen und zu adressieren, indem sie Alternativ- und Ausnahme-Szenarien beschreiben.
Es gibt jedoch auch Nachteile. Bei großen und komplexen Systemen kann die Anzahl der Anwendungsfälle stark ansteigen, was den Verwaltungsaufwand erhöht. Anwendungsfälle müssen kontinuierlich aktualisiert und gepflegt werden, um mit den sich ändernden Anforderungen und Systementwicklungen Schritt zu halten, was zusätzlichen Aufwand bedeutet. Es kann auch schwierig sein, den richtigen Detailgrad zu finden. Zu detaillierte Anwendungsfälle können unübersichtlich werden, während zu grobe Anwendungsfälle wichtige Details übersehen könnten.
Ein weiterer Nachteil ist, dass Anwendungsfälle sich hauptsächlich auf funktionale Anforderungen konzentrieren und nicht immer nicht-funktionale Anforderungen (wie Performance, Sicherheit, Usability) berücksichtigen. Unterschiedliche Stakeholder könnten Anwendungsfälle unterschiedlich interpretieren, was zu Missverständnissen führen kann, wenn die Anwendungsfälle nicht klar und eindeutig formuliert sind. Schließlich erfordert die Erstellung von Anwendungsfällen ein gutes Verständnis der Benutzerbedürfnisse und -prozesse, was manchmal schwierig zu erfassen sein kann.
Zusammengefasst sind Anwendungsfälle ein mächtiges Werkzeug in der Anforderungsanalyse und Systementwicklung, das die Benutzerperspektive in den Mittelpunkt stellt. Ihre Effektivität hängt jedoch stark von der richtigen Anwendung und Pflege ab. Es ist wichtig, die Balance zwischen Detailgrad und Übersichtlichkeit zu finden und sicherzustellen, dass alle Stakeholder ein gemeinsames Verständnis der Anwendungsfälle haben.
Wie stellen Organisationen sicher, dass ihre Anwendungsfälle regelmäßig überprüft und aktualisiert werden, um mit den sich ändernden Anforderungen und Systementwicklungen Schritt zu halten?
Hinweise:
[1] Ivar Jacobson: Use cases – Yesterday, today, and tomorrow, https://link.springer.com/article/10.1007/s10270-004-0060-3
Hier können Sie eine kostenlose Use Case Vorlage herunterladen.
Die Inhalte auf dieser Seite dürfen Sie gerne teilen oder verlinken. Und falls Sie sich für Tipps aus der Praxis interessieren, dann testen Sie gerne unseren wöchentlichen Newsletter mit neuen Beiträgen, Downloads, Empfehlungen und aktuellem Wissen. Vielleicht wird er auch Ihr Lieblings-Newsletter!
Hier finden Sie weitere Informationen aus unserer Rubrik Wissen kompakt: