Wissen kompakt: Ein Use Case bzw. Anwendungsfall beschreibt das Verhalten eines Systems aus Anwendersicht inkl. aller Szenarien, mit denen ein Akteur versucht, ein Ziel zu erreichen.

Use Case – das Verhalten eines Systems aus Anwendersicht beschreiben

Use Cases beschreiben das Verhalten eines Systems, insbesondere die Interaktion zwischen dem System und seinen Anwendern. Der Anwender ist eine Person, eine Rolle, eine Organisation oder ein anderes System. Er tritt als Akteur mit dem System in Interaktion, um ein bestimmtes Ziel in einer definierten Folge von Aktionen zu erreichen. Aus dem Ziel (bspw. “Fahrzeuggeschwindigkeit regeln” oder “Geld abheben”) ergibt sich normalerweise der Name des Use Cases, so dass auf einen Blick zu erkennen ist, welches Systemverhalten beschrieben wird.

Anwendungsfälle – die deutsche Übersetzung von Use Case – werden bereits seit Anfang 1990 in der Softwareentwicklung, bei der Systemerstellung und auch in der Produktentwicklung genutzt. Auch heutzutage sind sie sehr beliebt, denn sie dokumentieren die Funktionalität eines vorhandenen oder geplanten Systems mit einfachen Modellen.

  • So wird das gemeinsame Verständnis der Interaktion zwischen Akteur und System deutlich erhöht,
  • Szenarien lassen sich identifizieren und
  • aus den Zielen der Akteure lassen sich funktionale Anforderungen sowie entsprechende Testfälle ableiten.

 

Use Case Spezifikation - ein Beispiel

Der Nutzen von Use Cases

Unternehmen entwickeln Produkte, Software oder Systeme, die einen Nutzen stiften sollen. Häufig sollen Aufgaben schneller, besser, sicherer oder einfacher erfüllt werden. Der Kunde soll das Produkt nutzen, um damit sein Ziel zu erreichen. Was passiert aber, wenn das Ziel unklar und nicht eindeutig definiert ist? Im schlimmsten Fall wird der Kunde das Produkt nicht verwenden, da es ihm keinen oder nur einen geringen Nutzen bietet.

Use Cases zeigen das Big Picture eines zu entwickelnden Systems. Ohne dieses Big Picture fehlt es oftmals an Orientierung und in der Folge lassen sich Entscheidungen über den Scope – was ist zu entwickeln, was lässt sich später entwickeln oder was kann sogar weggelassen werden – nur schwer treffen. Unvollständige oder unklare Anforderungen behindern die Entwicklung und den Markterfolg. Änderungen müssen nachträglich implementiert werden. Je später dies geschieht, desto schwieriger und teurer wird die Entwicklung.

Zwei Ansätze im Use Case Konzept

Ivar Jacobson präsentierte 1987 das Konzept der Use Cases. Er definierte einen Anwendungsfall als „a special sequence of transactions, performed by a user and a system in a dialogue“ – frei ins Deutsche übersetzt als “eine spezielle Abfolge von Transaktionen, die von einem Benutzer und einem System in einem Dialog durchgeführt werden”.

Das Konzept umfasst zwei Ansätze, die sich gemeinsam nutzen lassen:

  • Spezifikationen
  • Diagramme

Use Case Spezifikationen

Use Case Spezifikationen enthalten natürlich-sprachliche Informationen zur Systematik der Interaktionen eines Anwendungsfalls (sogenannte “Narratives”). Idealerweise werden diese Informationen mit einer Vorlage textuell erfasst. Diese Vorlage sollte mindestens folgende Elemente umfassen:

  • Name des Use Cases und Use Case Nummer zwecks eindeutiger Identifizierung
  • Akteure
  • Auslöser
  • Kurzbeschreibung
  • Beschreibung der essentiellen Schritte als Standardablauf
  • Beschreibung von alternativen Abfolgen
  • Vorbedingungen und Nachbedingungen
  • Beschreibung der Systemgrenzen

Zusätzlich empfiehlt es sich, Referenzen auf andere Anwendungsfälle oder Dokumente, die Häufigkeit, die Priorität und gegebenenfalls auch Invarianten als nicht abänderbare Bedingungen zu erfassen.

Use Case Diagramme

Use Case Diagramme visualisieren Anwendungsfälle und Akteure mit ihren jeweiligen Beziehungen. Sie liefern einen guten Überblick über das Gesamtsystem, beschreiben aber im Gegensatz zu den Spezifikationen keine Abläufe, sondern die Zusammenhänge zwischen einer Menge von Anwendungsfällen und den daran beteiligten Akteuren. Sie gelten als grafische Repräsentation von Anwendungsfällen und die Unified Modeling Language (UML) definiert sie als sogenanntes Verhaltensdiagramm. Die wichtigsten Modellelemente sind hierbei:

  • Akteure
  • Anwendungsfälle
  • Beziehungen
  • Systemgrenzen

Spezifikationen und Diagramme lassen sich gemeinsam verwenden und bieten so eine sich ergänzende Sicht auf das Verhalten eines Systems.

Arten von Use Cases

Es gibt zwei Arten von Anwendungsfällen:

  • Bei einem Black-Box Use Case wird dokumentiert, was ein System leisten soll und nichtwie es dies leisten soll. Die Black-Box-Ansicht zeigt, wie ein System von außen aussieht, einschließlich der erforderlichen und bereitgestellten Schnittstellen, sowie der Beziehung zu anderen Systemen. Eine Black-Box-Ansicht beschreibt aber nicht die interne Implementierung eines Systems.
  • Ein White-Box Use Case dokumentiert hingegen, welche Klassen, Schnittstellen und anderen Komponenten einer Komponente helfen, die gewünschte Funktionalität bereitzustellen.

In der Praxis werden Anwendungsfälle meist als Black-Box beschrieben. Darüber hinaus werden sie auch in

  • Geschäftsanwendungsfälle und
  • Systemanwendungsfälle

aufgeteilt. So kann es bspw. für den Geschäftsanwendungsfall “Reise reservieren” mehrere Systemanwendungsfälle wie bspw. “Telefonische Reise reservieren” oder  “Online Reise reservieren” geben.

Anmerkung: Die Verwendung von Black-Box Use Cases stellt Unternehmen vor Herausforderungen bei der Ableitung von Testfällen. Hier können bspw. formale Notationen wie Aktivitätsdiagramme oder Zustandsdiagramme als Ergänzung helfen, denn aus ihnen lassen sich Test Cases relativ leicht ableiten. Zusätzlich sind die Vor- und Nachbedingungen eines Anwendungsfalls eine gute Quelle für Testfälle. Da sie aber untereinander Beziehungen oder parallele Abläufe haben, ist eine getrennte Betrachtung für einen Test des Gesamtsystems nicht ausreichend.

Tipps beim Arbeiten mit Use Cases

Mit Anwendungsfällen lässt sich ein System aus Anwendersicht gut beschreiben und verstehen. Die erste Herausforderung für Unternehmen bei der Nutzung ist das Finden der Themen und Inhalte. Je mehr Mitarbeiter daran beteiligt sind, desto aufwendiger wird dieser Schritt. Gleichzeitig werden die Ergebnisse und die daraus gewonnenen Anforderungen detaillierter. Beim Formulieren sollten Organisationen darauf achten, detaillierte Beschreibungen zu erstellen, die nicht zu kompliziert formuliert werden. Hier ist etwas Übung gefragt.

Die Verwendung von Standardtexten bei der Beschreibung der Auslöser und der Vor- und Nachbedingungen ist nicht zu empfehlen. Oftmals lassen sich auch aus den Vor- und Nachbedingungen Reihenfolgen zur Umsetzung ableiten: ein Use Case mit der Nachbedingungen X  kann vor einem anderen mit der Vorbedingung X umgesetzt werden.

Bei der Umsetzung erweist sich das Zerschneiden von Anwendungsfällen in Slices, die innerhalb eines Sprints realisiert werden, als sehr nützlich. Auch die Verwendung von Misuse Cases trägt in der Praxis aktiv zur Kundenzufriedenheit bei, zumal sie sich auch per Diagramm visualisieren lassen. Durch die Visualisierung können sich Hersteller besser in die Lage Ihrer Anwender versetzen und spezifische Anforderungen ermitteln.

Fragen zur Use Case Erstellung

Es gibt einige Fragen, die bei der Erstellung von Use Cases helfen:

Fragen zum Akteur

  • Wer nutzt das System?
  • Was ist das Ziel des Akteurs?
  • Welche anderen Systeme interagieren mit dem System?
  • Wer liefert dem System Informationen oder erhält Information?

Fragen zu den Vor- und Nachbedingungen

  • Welche Bedingung muss erfüllt sein, damit der Anwendungsfall eintritt?
  • In welchem Zustand befindet sich das System, wenn der Anwendungsfall eintritt?
  • Wie und unter welcher Bedingung wird der Use Case abgeschlossen?
  • In welchem Zustand muss sich das System befinden, so dass der Anwendungsfall abgeschlossen wird?

Fragen zu den Abläufen

  • Welcher Akteur und welches Event initiiert die Ablauffolge?
  • Wie interagiert der Akteur mit dem System und wie reagiert das System?
  • Welche alternativen Aktionen kann der Akteur bei jedem Schritt initiieren?
  • Welche Unterbrechungen oder Fehler können bei jedem Schritt des Anwendungsfalls auftreten?
  • Was passiert, wenn der Akteur den Vorgang abbricht?

Sonstige Fragen

  • Mit welcher Frequenz wird der Anwendungsfall ausgeführt?
  • Welche Beziehungen gibt es zu anderen Anwendungsfällen?

 

Use Case Vorteile

Die Nutzung von Anwendungsfällen bietet eine Reihe von Vorteilen:

  • Sie sind leicht zu verstehen und relativ einfach zu erstellen, denn sowohl die Interaktion zwischen Akteur und System als auch die Beziehung zwischen verschiedenen Anwendungsfälle lassen sich gut abstrahieren.
  • Sie eignen sich als gute Quelle für die Ermittlung von Anforderungen, die sich aus diesen Interaktionen ergeben.
  • Umfangreiche Anforderungen lassen sich mittels Zerlegung der Interaktionen zwischen Akteur und System verfeinern. Damit steigt das Verständnis der Beteiligten.
  • Durch die Kombination von textuellen Beschreibungen in Spezifikationsdokumenten und der Visualisierung per Diagramm gewinnen Organisationen gleichzeitig nützliche Detailinformationen und einen guten Überblick über das gesamte System.
  • Sie können auf verschiedenen Abstraktionsebenen eingesetzt werden, z.B. auf der Ebene von Software und Systemen oder der Geschäftsebene als Business Use Cases.¹

 

Use Case Whitepaper - Downloads - t2informatik

Wollen Sie das Use Case Whitepaper kostenlos downloaden?

Alles Wichtige über Use Cases auf einen Blick.

  • Was sind Anwendungsfälle und wie werden sie erstellt?
  • Welche Bestandteile haben Anwendungsfalldiagramme?
  • Was ist Use Case 2.0 und was sind Misuse Cases?
  • Herausforderungen und Tipps

Wissen auf 15 Seiten zum Mitnehmen.

Impuls zum Diskutieren:

Es gibt eine breite Auswahl an Tools, um Anwendungsfälle zu definieren und zu visualisieren (bspw. Enterprise Architect, Visual Paradigm oder Case Complete). Wann ist es sinnvoll, professionelle Tools in der Praxis zu nutzen?

Hinweise:

Haben Sie Lust auf einen neuen Lieblings-Newsletter?

Die Inhalte auf dieser Seite dürfen Sie gerne teilen oder verlinken.

Ivar Jacobson begründet den Erfolg des Konzepts wie folgt: “The reason for the success of the use-case approach is not just that it is a very practical technique to capture requirements from a usage perspective or to design practical user experiences, but it impacts the whole development lifecycle.”² Frei ins Deutsche übersetzt: “Der Grund für den Erfolg des Use-Case-Ansatzes liegt nicht nur darin, dass es eine sehr praktische Technik ist, um Anforderungen aus der Nutzungsperspektive zu erfassen oder praktische Nutzererlebnisse zu entwerfen, sondern sie wirkt sich auf den gesamten Entwicklungslebenszyklus aus.”

[1] Business Use Cases – Da ist noch jede Menge Musik drin
[2] Use-Case 2.0 – The Hub of Software Development

Eine Empfehlung zum praktischen Umgang mit Anwendungsfällen in Backlogs finden Sie im Beitrag: Boost your Backlog.

Hier können Sie eine kostenlose Use Case Vorlage herunterladen.

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Welche Elemente kennt ein Use Case Diagramm?

Welche Elemente kennt ein Use Case Diagramm?

Wissen kompakt: Wie funktioniert Use Case 2.0?

Wie funktioniert Use Case 2.0?

Wissen kompakt: Wie lassen sich Misuse Cases visualisieren?

Wie lassen sich Misuse Cases visualisieren?