Archyno
UMLVerhaltensdiagramme

Anwendungsfalldiagramm-Beispiele

Zwei Anwendungsfalldiagramme von Systemen, die jeder kennt, und eines bewusst falsch gezeichnet - denn der Fehler, an dem die meisten dieser Diagramme scheitern, ist leichter zu erkennen als zu definieren.

8 Min. LesezeitUML 2.5.112 von 35

Die kurze Antwort

  • Zwei Akteure, fünf Ellipsen und eine Grenze sind ein vollständiges Diagramm. Ein Bibliothekssystem deckt in dieser Grösse include, extend und beide Akteursarten ab.
  • Anmelden ist meist kein Anwendungsfall. Niemand öffnet eine Anwendung, um sich anzumelden - das Ziel ist das, wofür man sich angemeldet hat.
  • Eine schlichte Linie zwischen zwei Ellipsen ist unzulässig. Assoziationen laufen nur vom Akteur zum Anwendungsfall; dazwischen gelten include, extend und Generalisierung.
  • Drei bis ein Dutzend Anwendungsfälle. Darüber sind die Ellipsen Schritte statt Ziele, oder die Grenze wurde um zwei Systeme gezogen.
Ein UML-Anwendungsfalldiagramm für ein Bibliothekssystem. Der Akteur Member links ist mit Katalog durchsuchen, Buch ausleihen und Buch zurückgeben verbunden. Der Akteur Librarian rechts ist mit Buch ausleihen und Buch zurückgeben verbunden. Buch ausleihen schließt Mitgliedschaft prüfen ein. Mahngebühr zahlen erweitert Buch zurückgeben. Alle fünf Anwendungsfälle liegen innerhalb einer Library-Systemgrenze.
Ein Bibliothekssystem: zwei Akteure, fünf Ziele, eine Grenze. Alles, wofür ein Anwendungsfalldiagramm da ist, und sonst nichts.

01Beispiel 1: ein Bibliothekssystem#

Die Bibliothek ist aus gutem Grund das übliche erste Beispiel: die Domäne kennt jeder schon, also bleibt nur die Notation zum Anschauen. Zwei Akteure, fünf Anwendungsfälle und eine Grenze, die sagt, für welche davon die Software zuständig ist.

Achten Sie darauf, was die Ellipsen sind. Buch ausleihen ist ein Ziel - ein Mitglied will mit einem Buch hinausgehen - und es bleibt ein Ziel, ob hinter dem Tresen ein Mensch, ein Selbstbedienungsterminal oder eine App steht. Genau diese Unabhängigkeit vom Mechanismus ist der Test für einen Anwendungsfall: würde ein Austausch der Oberfläche die Beschriftung ändern, ist die Beschriftung ein Schritt.

Zwei Beziehungen leisten echte Arbeit. Mitgliedschaft prüfen wird von Buch ausleihen eingeschlossen, das heißt, es geschieht immer als Teil davon, und der Pfeil zeigt vom Ausleihen auf das eingeschlossene Verhalten. Es hat keinen eigenen Akteur, und das ist richtig - niemand kommt in die Bibliothek mit dem Wunsch, dass seine Mitgliedschaft geprüft wird. Mahngebühr zahlen erweitert Buch zurückgeben: es geschieht nur manchmal, und der Pfeil zeigt andersherum, vom optionalen Verhalten in die Basis.

02Beispiel 2: ein Onlineshop, mit einem Fremdsystem#

Das zweite Beispiel ergänzt das Stück, das die meisten ersten Diagramme weglassen: ein System, von dem Sie abhängen und das Sie nicht kontrollieren.

Ein UML-Anwendungsfalldiagramm für einen Onlineshop. Der Akteur Customer ist mit Produkte durchsehen und Bestellung aufgeben verbunden. Bestellung aufgeben schließt Bestellung bezahlen ein. Rabattcode einlösen erweitert Bestellung aufgeben. Bestellung bezahlen ist mit Payment gateway verbunden, einem sekundären Akteur rechts außerhalb der Online-store-Grenze.

Das Payment gateway ist ein sekundärer Akteur. Es initiiert nichts - alles auf diesem Diagramm startet die Kundin -, aber das System ruft es auf, also gehört es außerhalb der Grenze, mit einer Linie in den Anwendungsfall, der es braucht. Es zu zeichnen ist, womit sich ein Anwendungsfalldiagramm in einem Scoping-Gespräch bezahlt macht: die Grenze zeigt jetzt genau, für welches Verhalten Sie geradestehen und welches Sie einkaufen.

Rabattcode einlösen erweitert Bestellung aufgeben, weil die meisten Bestellungen keinen haben. Hätte ihn fast jede, wäre es stattdessen ein include. Die Frage ist nicht, ob das Verhalten wichtig ist, sondern ob es immer geschieht.

Vier Ellipsen sind eine vernünftige Größe. Ein echter Shop hat Hunderte von Verhalten, und das Diagramm wächst nicht mit - Sie zeichnen eines je Gespräch, zugeschnitten auf die gestellte Frage, und das ist die Disziplin, um die es bei der Abgrenzung eines Modells geht.

03Beispiel 3: dieselbe Notation, schlecht benutzt#

Die meisten schlechten Anwendungsfalldiagramme sind auf genau eine Weise schlecht, und das lohnt sich einmal zu sehen.

Ein falsch gezeichnetes UML-Anwendungsfalldiagramm. Der Akteur User ist mit vier Ellipsen verbunden, beschriftet mit Anmeldeseite öffnen, Benutzernamen eingeben, Passwort eingeben und auf Absenden klicken. Eine Notiz weist darauf hin, dass dies Oberflächenschritte statt Ziele sind und dass das ganze Diagramm ein einziger Anwendungsfall namens anmelden sein sollte.

Vier Ellipsen, ein Akteur, eine Grenze, überhaupt keine Notationsfehler - und das Diagramm ist wertlos. Jede Beschriftung ist ein Schritt in einer Oberfläche statt eines Ziels, das ein Mensch hat. Niemand will einen Benutzernamen eingeben; man will sich anmelden, und selbst das meist nur im Dienst von etwas anderem.

Das ganze Diagramm fällt auf einen einzigen Anwendungsfall zusammen, und die vier Schritte gehören in seine Textbeschreibung oder, wenn die Verzweigung wirklich zählt, in ein Aktivitätsdiagramm. Das ist die Standardreparatur: Abfolge geht ins Aktivitätsdiagramm, Ziele bleiben hier.

04Diese auf Ihr System übertragen#

Die beiden guten Diagramme oben sind dasselbe Diagramm mit anderen Substantiven, und das ist das Nützliche an dieser Notation - sitzt die Form einmal, dauert das nächste zehn Minuten.

Dazu greifen, wenn

  • Ziele, die ein Nutzer benennen würde, als Verb plus Objekt formuliert: Bestellung aufgeben, Buch ausleihen.
  • Eine Grenze um genau ein System, mit den Akteuren außerhalb.
  • Sekundäre Akteure für jeden externen Dienst, den das System aufruft, damit Abhängigkeiten sichtbar sind.
  • Include für Verhalten, das immer geschieht; extend für Verhalten, das manchmal geschieht.

Zu etwas anderem greifen, wenn

  • Oberflächenschritte - klicken, eingeben, auswählen, absenden. Das sind keine Ziele.
  • Über das Diagramm verteiltes CRUD: etwas anlegen, lesen, ändern und löschen ist ein Anwendungsfall, nicht vier.
  • Schlichte Linien zwischen zwei Ellipsen. Dort sind nur include, extend und Generalisierung legal.
  • Mehr als etwa ein Dutzend Ellipsen. Teilen Sie stattdessen nach Akteur oder Teilsystem.

05Was zu behalten ist#

In je einer Zeile

  1. 01Ein Anwendungsfall ist ein Ziel, das eine Neugestaltung der Oberfläche übersteht. Würde die Beschriftung sich ändern, ist es ein Schritt.
  2. 02Include zeigt von der Basis auf das immer eingeschlossene Verhalten; extend zeigt vom optionalen Verhalten zurück auf die Basis.
  3. 03Eingeschlossene Anwendungsfälle haben keinen eigenen Akteur, und das ist richtig.
  4. 04Sekundäre Akteure sind das, was das Diagramm im Scoping-Gespräch nützlich macht.
  5. 05Drei bis ein Dutzend Ellipsen. Darüber hinaus ist das Diagramm eine Liste von Bildschirmen geworden.

06Häufige Fragen#

Was ist ein gutes Beispiel für ein Anwendungsfalldiagramm?

Ein Bibliothekssystem: Ein Mitglied durchsucht den Katalog, leiht und gibt Bücher zurück; ein Bibliothekar bedient die Thekenseite derselben zwei; das Ausleihen schließt eine Mitgliedsprüfung ein; und das Zahlen einer Mahngebühr erweitert die Rückgabe. Zwei Akteure, fünf Ellipsen, eine Grenze - fertig.

Ist Anmelden ein Anwendungsfall?

Für sich genommen meist nicht. Niemand öffnet eine Anwendung, um sich anzumelden - man meldet sich an, um etwas anderes zu tun, und dieses andere ist das Ziel. Zeichnen Sie es als eingeschlossenen Anwendungsfall, wenn mehrere Ziele es wirklich brauchen, sonst lassen Sie es weg.

Wie viele Anwendungsfälle gehören in ein Diagramm?

Etwa drei bis ein Dutzend. Unter drei hätte ein Satz gereicht; über einem Dutzend sind die Ellipsen Schritte statt Ziele, oder die Systemgrenze wurde um zwei Systeme gezogen.

Dürfen zwei Anwendungsfälle durch eine einfache Assoziation verbunden werden?

Nein. Assoziationen verlaufen nur zwischen Akteur und Anwendungsfall. Zwischen zwei Anwendungsfällen sind include, extend und Generalisierung zulässig; eine schlichte Linie zwischen zwei Ellipsen ist das Zeichen, dass jemand eine Schrittfolge statt einer Zielmenge zeichnet.

Was ist ein Sekundärakteur in einem Anwendungsfalldiagramm?

Eine externe Partei, die das System aufruft, statt selbst etwas anzustoßen: ein Zahlungsdienstleister, ein Identitätsanbieter, ein Mailversand. Sie steht als Akteur auf der anderen Seite der Grenze und zeigt, wovon Sie abhängen, ohne es zu kontrollieren.

In dieser Reihe

Passend dazu

Alle Artikel