(letzte Änderung an dieser Seite: 21.09.2016)
(letzte Synchronisation der PDF-Präsentation: 02.08.2017)
Falls keine PDF-Präsentation zu sehen ist, klicken Sie zum Download hier: Direktdownload PDF-Präsentation
Use-Case-Diagramme (deutsch: Anwendungsfalldiagramme) dienen dazu, die Mensch-Maschine-Interaktion zu veranschaulichen. Welche Akteure gibt es, welche Prozesse muss das System bewältigen, wie interagieren die Akteure und die Prozesse?
Use-Case-Diagramme beschreiben das System aus SICHT DES BENUTZERS. Die inneren Abläufe der Use-Cases werden NICHT abgebildet, das geschieht bspw. durch Aktivitätsdiagramme oder in textlicher Form (Pflichtenheft).
Die Begriffe "Use-Case" und "Anwendungsfall" sind vollständig synonym zu verstehen und zu gebrauchen.
Als grundlegendes Vorgehen empfiehlt sich diese Abfolge:
Akteure werden als Strichmännchen gezeichnet, Anwendungsfälle als Ellipsen, die Beziehungen (= Assozationen) zwischen Akteuren und Anwendungsfällen als (beschriftete) Linie:
Als Akteure verstehen wir erst mal nur Menschen, es können aber auch andere Systeme, Ereignisse ... sein.
Es wird grundsätzlich zwischen Akteuren und dem System (oder: den Systemen; den Subsystemen ...) unterschieden. Das System (also die zu entwickelnde Software) befindet sich in einem Rechteck, die Akteure interagieren von außerhalb:
Es ist wichtig zu verstehen, dass bei Use-Case-Diagrammen auch die Übersichtlichkeit eine wichtige Rolle spielt. Man sollte nicht zu detailliert ans Werk gehen (siehe Beispiel "Soziales Netzwerk" unten).
Die Beziehungen zwischen Akteur und Use-Case werden durch eine durchgezogene, optional beschriftete Linie dargestellt. Der Akteur löst einen Use-Case (also einen Prozess, eine Funktion) aus:
Der Use-Case, auf den der Pfeil zeigt, ist zwangsläufig und immer (!) Teil des auslösenden Use-Cases. Im folgenden Beispiel: Nach korrekter Eingabe der Geheimzahl wird immer die Sperrliste abgefragt:
Der Use-Case, bei dem die Linie startet, erweitert möglicherweise (!) den Use-Case, auf den die Pfeilspitze zeigt, allerdings (im Gegensatz zum include) nicht immer. Die Bedingung dafür wird über eine Notiz an die Verbindungslinie angeheftet (mit einem sog. "Connector", einer gestrichelten Linie). In der Notiz wird die Bedingung im Format "Condition: {Bedingung}" festgehalten, außerdem wird der Extension Point angegeben (s.u.).
Die Bedingung kann als Pseudocode oder in Freitext / Stichwörtern angegeben werden. Wichtig ist, dass die Situation klar abgebildet wird.
Wenn ein Use-Case mehrere mögliche Erweiterungen enthält, werden Extension Points angegeben. Im (evtl.) erweiterten Use-Case kann man so sehen, welche Erweiterungen möglicherweise eintreten, in den Bedingungsnotizen zeigt der Extension Point, welcher Use-Case beim Eintreten der Bedingung als Erweiterung verwendet wird.
Ein sehr einfaches Use-Case-Diagramm ist hier zu sehen:
Man sieht, dass das geplante Soziale Netzwerk 5 wesentliche Use-Cases hat, die realisiert werden müssen. Das Diagramm ist überaus grob, wie detailliert man es macht, hängt von zahlreichen Faktoren ab: Brauchen wir das Diagramm als verbindliche Grundlage für ein Pflichtenheft? Arbeiten wir für uns selbst oder für einen Auftraggeber? Ist es ein Einzel- oder Gruppenprojekt? Welchen Erfahrungshorizont haben wir? Gibt es evtl. vorgefertigte Bausteine, die wir verwenden können (z.B. Login-Routine, Profilverwaltungsroutine ...).