Anwendungsfall (Use Case)

https://bildung.social/@oerinformatik/112084338768562808

https://oer-informatik.de/anwendungsfall

tl/dr; _(ca. 4 min Lesezeit): Anwendungsfälle stellen den Nutzen, den ein System für Benutzer*innen bereitstellt, in das Zentrum der Betrachtung. Mit ihnen können Anforderungen identifiziert und (tabellarisch oder als Diagramm) dokumentiert werden. (Zuletzt geändert am 12.03.2024)_

Dieser Artikel ist Teil einer Artikelreihe über Use-Cases: Anwendungsfälle und deren tabellarische Erfassung, Grundlagen zu Anwendungsfall-Diagramm (Use Case) / Tutorial zur Erstellung von UML-Anwendungsfalldiagrammen mit PlantUML / Übungsaufgaben zu UML-Use-Case-Diagrammen.

Was ist ein Anwendungsfall?

“A use case is all the ways of using a system to achieve a particular goal for a particular user. Taken together the set of all the use cases gives you all of the useful ways to use the system, and illustrates the value that it will provide.” (Ivar Jacobson) 1

Ein Anwendungsfall (Use Case) ist eine abgeschlossene Aufgabe des beschriebenen Systems. Jeder Anwendungsfall wird durch einen Akteur ausgelöst. Anwendungsfälle müssen so geschnitten werden, dass sie selbst einen eigenen Nutzen (ein messbares Ergebnis) produzieren.

Anwendungsfälle haben folgende Eigenschaften:

  • Anwendungsfälle beschreiben den Nutzen, den ein Benutzer von einem System erwarten kann. Sie können nur funktionale Anforderungen beschreiben, Qualitätsanforderungen (nicht funktionale Anforderungen) müssen anderweitig dokumentiert werden.

  • Sie sind für Anwender (Nutzer) in der Sprache der Problemdomäne und aus ihrer Perspektive geschrieben. Use-Cases enthalten somit keine Implementierungsdetails.

  • Sie dienen zur Abstimmung der Systemgrenzen und somit des Projektumfangs.

Die Übersicht von Anwendungsfällen eines Systems wird häufig übersichtlich in einem UML-Anwendungsfalldiagramm dargestellt. Der Aufbau jedes einzelnen Anwendungsfalls wird gesondert formuliert - z.B. tabellarisch (wie unten dargestellt), oder als Flussdiagramm (z.B. EPK oder UML-Aktivitätsdiagramm).

Was ist ein Akteur in Anwendungsfällen?

Akteure stehen außerhalb des modellierten Systems und tauschen Informationen mit diesem aus. Es kann sich um menschliche Benutzer oder andere Systeme handeln. Oft werden diese über Rollen dargestellt, die die Eigenschaften gegenüber dem System beschreiben (z.B. Admin, Anwender, Besucher).

Was sind Szenarien in Anwendungsfällen?

Szenarien präzisieren Anwendungsfälle:

  • Sie beschreiben aus Nutzersicht, was Akteure in einem Anwendungsfall tun, sehen, erleben.

  • Die für den Anwendungsfall relevanten Systemmerkmale werden konkret, fokussiert und informell beschreiben.

  • Szenarien enthalten keine Fallunterscheidungen (“Wenn…dann…”), da jeder Weg durch das System ein eigenes Szenario darstellt.

Wie erstelle ich einen Anwendungsfall?

  1. Identifizierung der Akteure:
  • Wer nutzt das System direkt (=> Hauptakteure) oder wird vom System indirekt unterstützt (=> Nebenakteure)?

  • Auf wen ist das System angewiesen, um die Anforderungen erfüllen zu können (z.B. Administration) (=> Nebenakteure)

  • Können diese Akteure in Gruppen/Rollen zusammengefasst werden?

  1. Identifizierung der Szenarien:
  • Welche Szenarien führen die oben identifizierten Akteure aus?

  • Zu welchen Anwendungsfällen können diese Szenarien zusammengefasst werden?

Tabellarische Darstellung eines Anwendungsfalls

Einzelne Anwendungsfälle können strukturiert als Tabelle dargestellt werden. Wenn es für einen Anwendungsfall viele Nebenszenarien gibt empfiehlt es sich, diese an gesonderter Stelle zu dokumentieren.

Name Anzeige des Warenkorbs
Kurzbeschreibung Stellt alle zum Kauf reservierten Artikel dar
Hauptakteur
löst den UseCase aus
Nutzer des Shops (angemeldeter Kunde oder Gast)
Nebenakteur
wird beim UseCase
einbezogen
(Im konkreten Bespiel kein Nebenakteur, denkbar wäre im Bestellprozess z.B. ein Bezahldienstleister oder ein Versanddienstleister als Nebenakteur)
Auslöser
Was macht der Hauptakteur,
damit der Anwendungsfall
getriggert wird?
Das Warenkorb-Symbol wird angeklickt
Vorbedingung
Welche Voraussetzung müssen
für einen fehlerfreien Ablauf
gegeben sein?
Auswahl “gewerblich/privat” muss getroffen sein
Nachbedingungen
kennzeichnen den
Erfolgszustand
/ das Hauptszenario
Ausgabeseite mit der Liste aller reservierten Waren wird ausgegeben
Fehlerzustand
kennzeichnen ein
Nebenszenario
Dialoge, die weitere Daten erfordern (Land (VAT), Währung, privat/gewerblich) oder mit Infos zu aufgetretenen Problemen werden angezeigt
Hauptszenario 1. Der Nutzer klickt auf den Warenkorb
2. das Pop-Up erscheint mit einer Zusammenfassung
3. Der Nutzer klickt auf “Details anzeigen”
4. Die Gesamtliste der erfassten reservierten Artikel wird ausgegeben
5. die reservierte Menge, Preise, Nettosumme, Steuer, Bruttosumme und Versandkosten werden ausgegeben
Nebenszenarien
die Abfolgen werden in
gesonderten Listen erfasst -
hier nur die Nennung
Leere Liste, Abfrage Währung, Abfrage privat/gewerblich, Cookies/Javascript nicht zugelassen, Artikel nicht mehr verfügbar, Preisänderung seit Bestellung, Artikel nicht gefunden

Mithilfe des UML-Anwendungsfall-Diagramms lässt sich eine Übersicht aller Anwendungsfälle darstellen. Die Schritte einzelner Anwendungsfälle lassen sich beispielsweise mit dem UML-Aktivitätsdiagramm, dem UML-Sequenzdiagramm oder dem UML-Zustandsautomaten darstellen.

Haupt- und Nebenszenarien und deren Nutzen im weiteren Verlauf

Es empfiehlt sich, die einzelnen Szenarien im Team gemeinsam durchzugehen, um so fehlende Abläufe zu identifizieren. Werden die Szenarien gut dokumentiert, so ist bereits ein guter Teil der Arbeit der Systemanalyse abgeschlossen.

Die Szenarien können beispielsweise genutzt werden, um per Nominalextraktion bei Datenbankmodellierung und objektorientierter Analyse zu helfen.


Hinweis zur Nachnutzung als Open Educational Resource (OER)

Dieser Artikel und seine Texte, Bilder, Grafiken, Code und sonstiger Inhalt sind - sofern nicht anders angegeben - lizenziert unter CC BY 4.0. Nennung gemäß TULLU-Regel bitte wie folgt: Anwendungsfall (Use Case)” von Hannes Stein, Lizenz: CC BY 4.0. Der Artikel wurde unter https://oer-informatik.de/anwendungsfall veröffentlicht, die Quelltexte sind in weiterverarbeitbarer Form verfügbar im Repository unter https://gitlab.com/oer-informatik/uml/umlanwendungsfall. Stand: 12.03.2024.

[Kommentare zum Artikel lesen, schreiben] / [Artikel teilen] / [gitlab-Issue zum Artikel schreiben]


  1. Ivar Jacobson, der Initiator der UseCase-Diagramme, in “Use-Case 2.0”: https://www.ivarjacobson.com/sites/default/files/field_iji_file/article/use-case_2_0_jan11.pdf

Kommentare gerne per Mastodon, Verbesserungsvorschläge per gitlab issue (siehe oben). Beitrag teilen: