Archyno
UMLVerhaltensdiagramme

UML-Anwendungsfalldiagramme

Das Diagramm für den Umfang, nicht für den Entwurf. Wer das System nutzt, wofür, und wo die Grenze dessen liegt, was Sie bauen - gezeichnet, bevor eine einzige Klasse existiert.

13 Min. LesezeitUML 2.5.111 von 35

Die kurze Antwort

  • Ein Anwendungsfalldiagramm ist eine Karte des Umfangs: wer mit dem System umgeht, mit welchen Zielen, und wo die Grenze zwischen innen und außen verläuft.
  • Ein Anwendungsfall ist ein Ziel, das einem Akteur Wert liefert - kein Schritt und keine Maske. Akteure sind Rollen und stehen immer außerhalb der Grenze.
  • «include» zeigt vom Basisfall auf Verhalten, das immer abläuft; «extend» zeigt vom optionalen Zusatz zurück auf den Basisfall. Die Richtungen sind entgegengesetzt, und genau das wird verwechselt.
  • Das Diagramm ist das Inhaltsverzeichnis. Die Lieferung ist die Anwendungsfallbeschreibung hinter jeder Ellipse - Hauptakteur, Vorbedingungen, Hauptszenario, Erweiterungen, Nachbedingungen.
Ein UML-Anwendungsfalldiagramm. Ein Akteur Händler steht ausserhalb der Systemgrenze Checkout und ist mit drei Anwendungsfällen verbunden: Zahlung einreichen, Zahlung autorisieren und Zahlung erstatten. Zahlung einreichen und Zahlung erstatten schliessen jeweils Zahlung autorisieren ein. Audit-Spur schreiben erweitert Zahlung erstatten. Zahlung autorisieren ist mit einem Betrugsdienst verbunden, einem sekundären Akteur rechts.
Ein Anwendungsfalldiagramm für ein Kassensystem. Das Rechteck ist die Systemgrenze: alles darin bauen Sie, alles außerhalb ist jemand, mit dem Sie sprechen.

01Was es zeigt und was bewusst nicht#

Ein Anwendungsfalldiagramm ist eine Karte des Umfangs. Es benennt die Menschen und Systeme, die mit dem interagieren, was Sie bauen, die Ziele, mit denen sie kommen, und die Linie zwischen innen und außen. Mehr tut es nicht, und seine Zurückhaltung ist der Punkt.

Es sagt nichts über Reihenfolge. Nichts über Bildschirme, Felder oder Algorithmen. Nichts darüber, wie irgendetwas funktioniert. Jedes davon ist ein anderes Diagramm, und die Versuchung, sie hier hineinzuschmuggeln, erzeugt die wuchernden, nutzlosen Anwendungsfalldiagramme, die dieser Notation ihren Ruf eingebracht haben.

02Akteure und Anwendungsfälle finden#

Niemand reicht Ihnen eine Liste. Das Diagramm oben wirkt fertig gezeichnet selbstverständlich und war es vorher überhaupt nicht; die Lücke zwischen leerem Blatt und diesem Bild füllen vier Fragen, die man in zwanzig Minuten im Raum stellen kann.

  1. Wer stößt hier etwas an? Jede dieser Personen ist ein möglicher primärer Akteur. Fragen Sie nach der Rolle statt nach dem Namen - wer „das mache ich“ gesagt hat, ist ein Träger einer Rolle, die ihn überdauert.
  2. Wer oder was bekommt etwas, ohne danach zu fragen? Berichte, Dateien, Benachrichtigungen, Abrechnungsläufe. Das sind die unterstützenden Akteure rechts von der Grenze, und sie sind die Hälfte des Diagramms, die den meisten ersten Entwürfen fehlt.
  3. Was muss da sein, damit das funktioniert? Zahlungsdienstleister, Identitätsdienste, das Mainframe, eine Betrugserkennung. Alles, wofür Sie bei einem anderen Team ein Ticket aufmachen würden, liegt außerhalb der Grenze und gehört auf das Diagramm - es zu zeichnen ist oft der Moment, in dem jemand merkt, dass die Abhängigkeit nie vereinbart wurde.
  4. Was passiert, weil Zeit vergangen ist? Ein nächtlicher Abgleich, eine Frist von vierzehn Tagen, ein monatlicher Rechnungslauf. Zeit ist ein Akteur, gezeichnet als Strichmännchen mit der Beschriftung Clock oder Scheduler, und Prozesse, die sie weglassen, enden mit Anwendungsfällen, die scheinbar niemand anstößt.

Benennen Sie dann jedes Ziel von der Seite des Akteurs aus, Verb zuerst, in dessen Vokabular: Submit payment, nicht Payment submission handling und ganz sicher nicht PaymentController. Ergibt der Name nur für jemanden Sinn, der den Code gesehen hat, ist es ein Schritt in einem Anwendungsfall statt einer.

03Die vier Zeichen#

ElementNotationWas es bedeutet
AkteurStrichmännchenEine Rolle außerhalb des Systems - eine Person, ein anderes System oder eine Uhr. Eine Rolle, keine benannte Einzelperson: Merchant, nie Anna.
AnwendungsfallEllipseEin Ziel, das das System liefert, mit dem Verb zuerst benannt.
SystemgrenzeRechteckDas Subjekt. Anwendungsfälle nach innen, Akteure immer nach außen. Ihr Name ist das, was Sie bauen.
AssoziationDieser Akteur nimmt an diesem Anwendungsfall teil. Keine Pfeilspitze nötig.
IncludeGestrichelter Pfeil vom Basisfall zum eingebundenen Fall. Das eingebundene Verhalten läuft immer.
ExtendGestrichelter Pfeil von der Erweiterung zum Basisfall. Das Verhalten läuft nur manchmal.
GeneralisierungHohles Dreieck am allgemeineren Element. Funktioniert zwischen Akteuren und zwischen Anwendungsfällen.

04Include und extend, ohne Verwirrung#

Diese beiden sind der Grund, warum Anwendungsfalldiagramme falsch gezeichnet werden. Beide sind gestrichelte Pfeile mit einem Schlüsselwort, und sie zeigen in entgegengesetzte Richtungen.

«include» zeigt vom Basisfall zu dem, was er immer tut. Lesen Sie es als „ruft auf“. Im Diagramm oben bindet Submit payment den Fall Authorize payment ein: einreichen ohne autorisieren geht nicht. Es existiert, um Verhalten herauszuziehen, das mehrere Fälle teilen - genau deshalb bindet Refund payment es ebenfalls ein.

«extend» zeigt von der optionalen Ergänzung zurück zum Basisfall. Lesen Sie es als „kann unterbrechen“. Log audit trail erweitert Refund payment: Rückerstattungen funktionieren auch ohne, und es passiert unter einer Bedingung. Der Basisfall weiß nichts von seinen Erweiterungen.

Akteur-Generalisierung. Ein Akteur Händler-Administrator und ein Akteur Händler-Mitarbeiter zeigen beide mit hohlen Dreiecken auf einen allgemeinen Akteur Händler-Benutzer, was bedeutet, dass jeder eine Art Händler-Benutzer ist.
Generalisierung gilt auch für Akteure. Beide konkreten Rollen zeigen auf die allgemeine, was heißt, dass jede alles kann, was ein Händler-Benutzer kann.

05Hinter der Blase: die Anwendungsfallbeschreibung#

Das Diagramm ist das Inhaltsverzeichnis. Woraus tatsächlich gebaut wird, ist die Anwendungsfallbeschreibung hinter jeder Ellipse - und ein Projekt, das das Diagramm zeichnet und die Beschreibungen nie schreibt, hat ein Bild von Arbeit statt einer Spezifikation davon erzeugt. Genau dazu sagt die Notation nichts, weshalb so viele Teams beim Bild aufhören.

Es gibt drei brauchbare Tiefen, und die Wahl ist eine Projekt-, keine Modellierungsentscheidung. Eine knappe Beschreibung sind zwei Sätze im Backlog. Eine lockere ist ein Absatz je Szenario. Eine voll ausgearbeitete hat die Felder unten und lohnt sich für die Handvoll Fälle, an denen echtes Geld oder echtes Risiko hängt.

  • Name. Die Beschriftung der Ellipse, Verb zuerst: Authorize payment.
  • Primärer Akteur. Wer das Ergebnis will. Merchant.
  • Stakeholder und Interessen. Wen es sonst betrifft und was er daraus braucht. Der Acquirer will einen gültigen Autorisierungscode; das Betrugsteam will den Versuch protokolliert haben, ob er gelingt oder nicht. In diesem Feld tauchen die meisten übersehenen Anforderungen auf.
  • Vorbedingungen. Was vor dem Start bereits gilt - der Händler ist authentifiziert, die Bestellung existiert. Keine Liste von Schritten, eine Liste von Zusicherungen.
  • Hauptszenario. Der nummerierte Erfolgspfad, Akteurschritt, dann Systemschritt, in der Sprache des Fachbereichs. Irgendwo zwischen fünf und zwölf Schritten; mehr, und der Anwendungsfall sind in Wahrheit zwei.
  • Erweiterungen. Nummeriert nach dem Schritt, von dem sie abzweigen - 4a, 4b, 7a - jeweils mit Bedingung und Folge. Dieses Feld rechtfertigt das Format, denn es ist eine systematische Aufforderung für jede Art, wie der Erfolgspfad scheitert.
  • Nachbedingungen. Was danach gilt, bei Erfolg und bei jedem Fehlschlag. „Eine Autorisierung ist erfasst und der Betrag ist reserviert“ lässt sich prüfen, „die Zahlung ist verarbeitet“ nicht.

Klein ausgearbeitet für Authorize payment: das Hauptszenario ist (1) der Händler reicht die Zahlung ein, (2) das System prüft die Bestellsumme, (3) das System fordert die Autorisierung beim Acquirer an, (4) der Acquirer gibt frei, (5) das System erfasst die Reservierung und bestätigt. Die Arbeit steckt in den Erweiterungen - 3a der Acquirer antwortet nicht, 4a der Acquirer lehnt ab, 4b der Acquirer verlangt eine zusätzliche Prüfung - und jede davon ist ein Gespräch, das sonst sechs Wochen später in einer Fehlertriage geführt worden wäre.

06Wann man eines zeichnet#

Dazu greifen, wenn

  • Umfang zu Projektbeginn abstimmen, mit Leuten, die keinen Code lesen
  • Herausfinden, von welchen externen Systemen Sie tatsächlich abhängen
  • Eine Checkliste erzeugen, aus der sich Testplan oder Backlog ableiten lassen
  • Zeigen, dass eine Anforderung zum System eines anderen gehört, nicht zu Ihrem

Zu etwas anderem greifen, wenn

  • Sie wollen eine Schrittfolge zeigen - das ist ein Aktivitäts- oder Sequenzdiagramm
  • Das System hat einen Akteur und vier Anwendungsfälle; eine Liste ist klarer
  • Sie sind versucht, Anwendungsfälle drei Ebenen tief zu zerlegen
  • Das Publikum sind Entwickler, die den Entwurf brauchen, nicht den Umfang

Ein brauchbares Anwendungsfalldiagramm passt auf eine Seite und hat zwischen drei und zehn Ellipsen. Es ist ein Inhaltsverzeichnis, nicht das Buch. Das Detail gehört in Anwendungsfallbeschreibungen - den nummerierten Hauptablauf und seine Alternativen - oder, wenn der Ablauf verzweigt genug ist, in ein Aktivitätsdiagramm je Anwendungsfall.

07Häufige Fehler#

  1. Funktionale Zerlegung. Zwanzig Ellipsen, benannt nach Schaltflächen. Anwendungsfälle sind Ziele; was kein Akteur will, gehört nicht hin.
  2. Akteure nach Personen oder Stellenbezeichnungen benannt. Modellieren Sie die Rolle. Eine Person kann mehrere Akteure sein, und ein Akteur kann ein Batchjob sein.
  3. «include»- und «extend»-Pfeile vertauscht. Sie zeigen entgegengesetzt. Wenden Sie den Entfernungstest oben an.
  4. Akteure innerhalb der Grenze. Die Grenze ist das, was Sie bauen. Ein Akteur liegt per Definition außerhalb.
  5. Reihenfolge durch vertikale Position suggeriert. Ein Anwendungsfalldiagramm hat keine Zeitachse. Nichts am Layout sagt, was zuerst passiert.

In je einer Zeile

  1. 01Anwendungsfalldiagramme beantworten wer und wofür - nie wie oder in welcher Reihenfolge.
  2. 02Ein Anwendungsfall ist ein Ziel mit Wert für einen Akteur, mit dem Verb zuerst benannt.
  3. 03Akteure sind Rollen und stehen immer außerhalb des Grenzrechtecks.
  4. 04«include» zeigt vom Basisfall zu Verhalten, das immer läuft.
  5. 05«extend» zeigt von der optionalen Ergänzung zurück zum Basisfall.
  6. 06Drei bis zehn Anwendungsfälle auf einer Seite; das Detail lebt in Beschreibungen.

08Häufige Fragen#

Was ist der Unterschied zwischen include und extend?

Include heisst, der Basis-Anwendungsfall führt den eingebundenen immer aus - es ist ausgelagertes Verhalten, und der Pfeil zeigt von der Basis zum eingebundenen. Extend heisst, der erweiternde Fall läuft nur unter einer Bedingung, und der Pfeil zeigt umgekehrt, von der Erweiterung zur Basis. Die Richtung ist genau das, was am häufigsten verdreht wird.

Was ist ein Akteur im Anwendungsfalldiagramm?

Alles ausserhalb des Systems, das mit ihm interagiert: eine Person in einer Rolle, ein anderes System oder ein zeitgesteuerter Auslöser. Ein Akteur ist eine Rolle und keine Einzelperson, also kann eine Person zwei Akteure sein und ein Akteur viele Personen.

Was gehört nicht in ein Anwendungsfalldiagramm?

Reihenfolge, Daten und Entwurf. Ein Anwendungsfalldiagramm beantwortet, wer das benutzt und wofür, nicht in welcher Reihenfolge oder mit welchen Feldern. Wer Schritte zeichnet, will ein Aktivitätsdiagramm.

Wozu dient der Systemgrenzen-Kasten?

Das Rechteck um die Anwendungsfälle markiert, was Sie bauen. Akteure stehen ausserhalb, Anwendungsfälle innerhalb. Es ist das Element, das aus dem Diagramm eine Aussage über den Umfang macht - der Hauptgrund, überhaupt eines zu zeichnen.

Was gehört in eine Anwendungsfallbeschreibung?

Eine ausformulierte hat einen Namen, den Primärakteur, die Stakeholder samt ihren Bedürfnissen, Vorbedingungen, ein nummeriertes Hauptszenario, Erweiterungen nummeriert nach dem Schritt, von dem sie abzweigen, und Nachbedingungen. Das Feld der Erweiterungen rechtfertigt das Format, denn es fordert systematisch jeden Weg ein, auf dem der Gutfall scheitern kann.

In dieser Reihe

Passend dazu

Alle Artikel