t2informatik » Wissen kompakt » Use Case

Was ist ein Use Case?

Welche Arten von Use Cases gibt es, welche Fragen helfen bei der Erstellung und welche Vorteile bieten sie?

Use Case Definition

Mit einem Use Case – auch Anwendungsfall genannt – wird das Verhalten eines Systems aus Anwendersicht beschrieben. Use Cases dokumentieren die Funktionalität eines vorhandenen oder geplanten Systems mit einfachen Modellen. Der Anwender bzw. Nutzer ist eine Person, eine Rolle, eine Organisation oder ein anderes System. Er tritt als Akteur mit einem System in Interaktion, um ein bestimmtes Ziel in einer definierten Folge von Aktionen zu erreichen. Aus dem Ziel ergibt sich normalerweise der Name des Anwendungsfalls.

Use Cases werden bereits seit Anfang der 90er Jahr in der Softwareentwicklung, bei der Systemerstellung und auch in der Produktentwicklung genutzt. Auch heutzutage sind sie sehr beliebt, denn das gemeinsame Verständnis der Interaktion zwischen Akteur und System wird durch ihre Verwendung deutlich erhöht und aus den Zielen der Akteure lassen sich funktionale Anforderungen und entsprechende Testfälle ableiten.

Arten von Use Cases

Es gibt zwei Arten von Use Cases: Black-Box und White-Box Use Cases. 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 Use Cases meist als Black-Box beschrieben.

Use Cases werden 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.

\

Das Systemverhalten

Mit einem Use Case wird das Verhalten eines Systems aus Sicher eines Anwenders beschrieben. Zur Beschreibung eignen sich sowohl Spezifikationsdokumente wie hier im Beispiel oder Use Case Diagramme.

\

Die Dokumentation

Hier sehen Sie eine Vorlage mit Teilen eines beispielhaften Anwendungsfalls. Die Erfassung mithilfe einer Vorlage macht die Dokumentation relativ einfach.

Use Case Vorteile

Ein Use Case ist leicht zu verstehen und relativ einfach zu erstellen, denn sowohl die Interaktion zwischen Akteur und System als auch die Beziehung zwischen verschiedenen Use Cases lassen sich gut abstrahieren. Dabei eignen sich Anwendungsfälle als Quelle für die Ermittlung von Anforderungen, die sich aus diesen Interaktionen ergeben. Zusätzlich nutzen Unternehmen Use Cases auch oft für Verfeinerungen von umfangreichen Anforderungen mittels Zerlegung der Interaktionen zwischen Akteur und System, denn dadurch steigt das Verständnis der Beteiligten. Und mit der 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. 

Use Case Whitepaper - t2informatik Download Vorschau

Jetzt das Use Case Whitepaper kostenlos downloaden.

Alles Wichtige über Use Cases, Use Case Diagramme, Use Case Diagramme und Misuse Case auf 14 Seiten zum Mitnehmen.

Hier klicken »

Use Cases in der Praxis

Use Case Konzept

Ivar Jacobson präsentierte 1987 das Konzept der Use Cases. Er definierte einen Use Case als „a special sequence of transactions, performed by a user and a system in a dialogue“. Das Konzept umfasst zwei Ansätze, die sich gemeinsam nutzen lassen:

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 Use Cases oder Dokumente, die Häufigkeit, die Priorität und gegebenenfalls auch Invarianten als nicht abänderbare Bedingungen zu erfassen. Hier finden Sie eine Use Case Vorlage zum Download »

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 Use Case Spezifikationen keine Abläufe, sondern die Zusammenhänge zwischen einer Menge von Anwendungsfällen und den daran beteiligten Akteuren. Sie gelten damit als grafische Repräsentation von Use Cases und die Unified Modeling Language (UML) definiert sie als 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.

Testen mit Use Cases

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äts- oder Zustandsdiagramme als Ergänzung helfen, denn aus ihnen lassen sich Test Cases relativ leicht ableiten. Zusätzlich sind die Vor- und Nachbedingungen eines Use Cases eine gute Quelle für Testfälle. Da Anwendungsfälle aber untereinander Beziehungen oder parallele Abläufe haben, reicht es nicht aus, jeden Use Case getrennt zu betrachten, um ein Gesamtsystem zu testen.

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.

Anwendungsfälle 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.

Hilfreiche Fragen für die 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 Use Case eintritt?
  • In welchem Zustand befindet sich das System, wenn der Use Case eintritt?
  • Wie und unter welcher Bedingung wird der Anwendungsfall 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 Use Cases 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?

Wollen Sie mehr über Use Cases erfahren?

Dann schauen Sie sich einfach die Visualisierung mit Use Case Diagrammen, die Idee von Use Case 2.0 oder die Vorteile von Misuse Cases an.

Herausforderungen für Unternehmen

Die Nutzung von Use Cases in verschiedenen Facetten

Mit Use Cases lässt sich ein System aus Anwendersicht gut beschreiben und verstehen. Die erste Herausforderung für Unternehmen beim Arbeiten mit Use Cases 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 von Anwendungsfällen 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 Use Case mit der Vorbedingung X  umgesetzt werden. Bei der Umsetzung erweist sich Use Case 2.0 mit dem 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 Anwendungsfalldiagramm visualisieren lassen. Durch die Visualisierung können sich Hersteller besser in die Lage Ihrer Anwender versetzen und spezifische Anforderungen ermitteln. 

 

Gerne stellen wir Ihnen Wissen, Erfahrung und 100% Leidenschaft für Ihre Softwareentwicklung und Anforderungsanalyse zur Verfügung. Wir helfen Ihnen bei der Beschreibung von Use Cases und der Erhebung, Strukturierung und Verwaltung von Anforderungen. Dabei achten wird auf Konsistenz, Vollständigkeit und Nachvollziehbarkeit. Wir unterstützen Sie beim Identifizieren von technischen Zusammenhängen und berücksichtigen Stakeholder, Ziele und Randbedingungen. Und wir planen und steuern Ihre Projekte mit diesen Anforderungen auf Basis definierter Prozesse.

Hier erfahren Sie mehr zum Thema Softwareentwicklung »

Weitere Details und Hintergründe ...
Share This