Aufgabe: Anwendungsfall ausführlich beschreiben
Diese Aufgabe beschreibt, wie einem bestimmten Anwendungsfall Details hinzugefügt werden.
Zweck

Diese Aufgabe hat folgenden Zweck:

  • Einen oder mehrere Ereignisabläufe des Anwendungsfalls so detailliert beschreiben, dass mit der Softwareentwicklung begonnen werden kann.
  • Anwendungsfall zum Verständnis und zur Zufriedenheit des Akteurs oder Kunden ausführlich beschreiben.
Beziehungen
Schritte
Szenarios prüfen und präzisieren

Prüfen und präzisieren Sie zunächst die Szenarios, die im aktuellen Entwicklungszyklus zur Anwendung kommen. Diese wurden möglicherweise bereits in der Aufgabe: Akteure und Anwendungsfälle finden identifiziert. Verwenden Sie die aufgelisteten Szenarios als Ausgangspunkt für die Bestimmung des Umfangs der Abläufe, die beschrieben werden müssen.

Ereignisablauf ausführlich beschreiben

In der Aufgabe: Akteure und Anwendungsfälle finden haben Sie die Ereignisabläufe des Anwendungsfalls möglicherweise bereits skizziert. Verwenden Sie diesen Entwurf als Ausgangspunkt und arbeiten Sie ihn weiter aus.

Storyboards helfen Ihnen beim Verständnis und bei der ausführlichen Beschreibung der Abläufe des Anwendungsfalls. Als weitere Grundlage können Sie den Benutzerschnittstellenprototyp verwenden, sofern bereits einer entwickelt wurde.

Beschreiben Sie den Anwendungsfall entsprechend der Standards, die für das Projekt festgelegt wurden. Treffen Sie Entscheidungen bezüglich der folgenden Punkte, bevor Sie den Anwendungsfall beschreiben, damit Sie in allen Anwendungsfällen konsistent sind:

  • Wie beginnt der Anwendungsfall? Der Start des Anwendungsfalls muss das Signal eindeutig beschreiben, das den Anwendungsfall aktiviert. Schreiben Sie z. B. "Der Anwendungsfall kann starten, wenn ... passiert".
  • Wie endet der Anwendungsfall? Sie müssen eindeutig beschreiben, was im Ablauf passiert, damit der Anwendungsfall beendet wird. Schreiben Sie z. B. "Wenn ... passiert, endet der Anwendungsfall".
  • Wie interagiert der Anwendungsfall mit Akteuren? Um dem Risiko von Missverständnissen vorzubeugen, beschreiben Sie exakt, was sich im System befindet und was außerhalb. Strukturieren Sie die Beschreibung mit Hilfe von Absätzen, die jeweils eine Aktion beschreiben. Verwenden Sie beispielsweise als Einleitung für jeden Absatz "Wenn der Akteur ... tut, tut das System ...". Sie können auch die Interaktion betonen, indem Sie schreiben, dass der Anwendungsfall Signale an Akteure sendet und von diesen empfängt, z. B. "Der Anwendungsfall beginnt, wenn er das Signal 'start' vom Operator empfängt".
  • Wie tauscht der Anwendungsfall Daten mit einem Akteur aus? Wenn Sie mögen, können Sie auf die Argumente der Signale verweisen, aber es empfiehlt sich eher, etwas zu schreiben wie "Der Anwendungsfall beginnt, wenn sich der Benutzer mit seinem Namen und seinem Kennwort am System anmeldet".
  • Wie wiederholt der Anwendungsfall dasselbe Verhalten? Sie müssen versuchen, dies in natürlicher Sprache auszudrücken. In Sonderfällen kann es sich jedoch anbieten, codeähnliche Konstrukte wie "WHILE-END WHILE", "IF-THEN-ELSE" und "LOOP-END LOOP" zu verwenden, wenn der Fall zu kompliziert ist, um ihn in natürlicher Sprache auszudrücken. Im Allgemeinen sollten Sie die Verwendung codeähnlicher Konstrukte in Anwendungsfallbeschreibungen vermeiden, weil sie schwierig zu lesen und zu pflegen sind.
  • Gibt es optionale Situationen im Ereignisablauf eines Anwendungsfalls? Manchmal werden einem Akteur mehrere Optionen angeboten. Dies muss in ähnlicher Weise beschrieben werden. Beispiel:

    "Der Akteur wählt eine der folgenden Optionen ein oder mehrere Male aus:

    a) . . .

    b) . . .

    c) . . ." etc.

  • Wie sollte der Anwendungsfall beschrieben werden, so dass der Kunde und die Benutzer ihn verstehen? Wenn Sie methodenspezifischer Terminologie verwenden, wie z. B. Anwendungsfall, Akteur und Signal, lässt sich der Text unnötigerweise schwerer erfassen. Um den Text leicht verständlich zu machen, können Sie die Aktionen auflisten oder eine andere Strategie wählen. Welche Strategie Sie auch wählen, auf jeden Fall müssen Sie sie in den allgemeinen Richtlinien für die Modellierung von Anwendungsfällen beschreiben, damit Sie ihnen während der Beschreibung der Anwendungsfälle stets gegenwärtig ist.

Konzentrieren Sie sich darauf zu beschreiben, was im Anwendungsfall getan wird, und nicht, wie spezielle interne Probleme des Systems gelöst werden müssen. Diese Details werden später im Lebenszyklus behandelt. Nehmen Sie deshalb zu diesem Zeitpunkt nicht zu viele Details in die Beschreibung auf. Beschreiben Sie nur das, von dem Sie glauben, dass es später Bestand haben wird.

Wenn der Ereignisablauf eines Anwendungsfalls zu umfassend oder komplex geworden ist oder wenn er Teile enthalten zu scheint, die voneinander unabhängig sind, teilen Sie ihn auf zwei oder mehr Anwendungsfälle auf.

Wenn Sie den beschreibenden Text schreiben, ziehen Sie das Glossar zu Rate. Wenn sich neue Begriffe aus neuen Konzepten herausbilden, fügen Sie sie in das Glossar ein. Ändern Sie die Definition eines Begriffs nicht, ohne zuvor die betroffenen Projektmitarbeiter zu informieren. Weitere Informationen finden Sie in Aufgabe: Gemeinsames Vokabular erfassen.

Der Inhalt der Beschreibung eines Ereignisablaufs

Die Beschreibung eines Ereignisablaufs muss Folgendes enthalten:

  • Wie und wann der Anwendungsfall gestartet wird.
Beispiel:

"Der Anwendungsfall kann beginnen, wenn die Funktion 'Auftrag verwalten' von einem Benutzer aktiviert wird."

  • Wann der Anwendungsfall mit den Akteuren interagiert und welche Daten ausgetauscht werden.
Beispiel:

"Zum Erstellen eines neuen Auftrags aktiviert der Benutzer die Funktion 'Neu' und gibt dann die folgenden verbindlichen Daten zum Auftrag ein: Name, Netzelemente (mindestens eines) und Typ der Messfunktion. Optionale Daten zum Auftrag können auch eingegeben werden: ein Kommentar (eine kurze Beschreibung). Anschließend aktiviert der Benutzer die Funktion 'OK'. Daraufhin wird ein neuer Auftrag im System erstellt."

Anmerkung: Was die Daten, die zwischen den Akteuren und dem Anwendungsfall ausgetauscht werden, betrifft, müssen Sie explizit sein. Andernfalls verstehen Kunde und Benutzer die Anwendungsfallbeschreibung möglicherweise nicht.

  • Wie und wann der Anwendungsfall im System gespeicherte Daten verwendet oder Daten im System speichert.
Beispiel:

"Der Benutzer aktiviert die Funktion 'Ändern', um einen vorhandenen Auftrag zu ändern, und gibt eine Auftragsnummer (kleiner Integer) ein. Daraufhin initialisiert das System ein Auftragsformular mit dem Namen des Auftrags, den Netzelementen und dem Typ der Messfunktion. Diese Daten werden von einer sekundären Speichereinheit abgerufen."

  • Wie und wann der Anwendungsfall endet.
Beispiel:

"Der Anwendungsfall endet, wenn die Funktion 'Beenden' vom Anforderer aktiviert wird."

Sie müssen auch ungewöhnliche oder außergewöhnliche Ereignisabläufe beschreiben. Ein außergewöhnlicher Ereignisablauf ist ein untergeordneter Ablauf des Anwendungsfalls, der nicht dem normalen oder Basisverhalten des Anwendungsfalls entspricht. Dieser Ablauf kann trotzdem in jeder vollständigen Beschreibung des Anwendungsfalls erforderlich sein. Ein typisches Beispiel für einen außergewöhnlichen Ablauf ist der aus dem ersten Beispiel. Wenn der Anwendungsfall unerwartete Daten empfängt (z. B. dass der Akteur nicht der in einem bestimmten Kontext erwartete Akteur ist), wird er beendet. Ein falscher Akteur und die vorzeitige Beendigung eines Anwendungsfalls gehören nicht in den typischen Ereignisablauf.

Was man bei der Beschreibung eines Anwendungsfall tun und nicht tun sollte:

  • Beschreiben Sie den Ereignisablauf und nicht nur die Funktionalität oder den Zweck des Anwendungsfalls.
  • Beschreiben Sie nur Abläufe, die zum Anwendungsfall gehören, und nicht, was in anderen Anwendungsfällen vorgeht, die parallel ausgeführt werden.
  • Erwähnen Sie keine Akteure, die nicht mit dem fraglichen Anwendungsfall kommunizieren.
  • Gehen Sie bei der Beschreibung der Interaktion zwischen Anwendungsfall und Akteuren nicht zu sehr ins Detail.
  • Wenn die Reihenfolge der für den Anwendungsfall beschriebenen Unterabläufe nicht fest sein muss, machen Sie dies in Ihrer Beschreibung deutlich.
  • Verwenden Sie die Begriffe im allgemeinen Glossar und halten Sie sich beim Schreiben des Textes an folgende Richtlinien:
  • Verwenden Sie einfaches Vokabular. Verwenden Sie keine komplexen Begriffe, wenn es auch mit einfachen getan ist.
  • Schreiben Sie kurze und präzise Sätze.
  • Vermeiden Sie Adverbien wie sehr, mehr, eher u.ä.
  • Verwenden Sie eine korrekte Interpunktion.
  • Vermeiden Sie Satzgefüge.

Weitere Informationen hierzu finden Sie in Richtlinie: Anwendungsfall. In diesem Abschnitt werden Inhalt und Stil des Ereignisablaufs beschrieben.

Ereignisablauf strukturieren

Der Ereignisablauf eines Anwendungsfalls kann in mehrere Unterabläufe unterteilt werden. Wenn der Anwendungsfall aktiviert wird, können die untergeordneten Abläufe auf verschiedene Arten kombiniert werden, sofern Folgendes zutrifft:

  • Der Anwendungsfall kann je nach Eingabe eines bestimmten Akteurs oder den Werten eines Attributs oder Objekts auf verschiedenen Pfaden fortgesetzt werden. Ein Akteur kann aus mehreren Optionen wählen, was als nächstes zu tun ist. Der Ereignisablauf kann auch variieren, wenn ein Wert kleiner oder größer ist als ein bestimmter Wert.
Beispiel:

Ein Teil der Beschreibung des Anwendungsfalls "Bargeld abheben" in einem Geldautomatensystem könnte wie folgt lauten: "Der Geldbetrag, den der Kunde vom Konto abheben möchte, wird mit dem Kontostand verglichen. Wenn der Geldbetrag durch den Kontostand nicht gedeckt ist, wird der Kunde informiert und der Anwendungsfall wird beendet. Andernfalls wird das Geld vom Konto abgehoben."

  • Der Anwendungsfall kann einige untergeordnete Abläufe in optionaler Reihenfolge ausführen.
  • Der Anwendungsfall kann mehrere untergeordnete Abläufe gleichzeitig ausführen.

Sie müssen alle optionalen bzw. alternativen Abläufe beschreiben. Es wird empfohlen, jeden untergeordneten Ablauf in einer separaten Ergänzung zum Abschnitt Ereignisablauf zu beschreiben. Dies sollte für die folgenden Fälle verbindlich sein:

  • Untergeordnete Abläufe, die einen großen Teil eines bestimmten Ereignisablaufs ausmachen.
  • Außergewöhnliche Ereignisabläufe. Damit bleibt die Übersichtlichkeit des Basisereignisablaufs des Anwendungsfalls erhalten.
  • Jeder untergeordnete Ablauf, der in verschiedenen Intervallen in demselben Ereignisablauf ausgeführt werden kann.

Wenn ein untergeordneter Ablauf nur einen kleinen Teil des gesamten Ereignisablaufs ausmacht, ist es besser, ihn im Hauptteil des Textes zu beschreiben.

Beispiel:

"Dieser Anwendungsfall wird aktiviert, wenn die Funktion 'Auftrag verwalten' von den Akteuren Anforderer oder Administrator für Leistungsverwaltung aufgerufen wird. Wenn das Signal nicht von einem dieser Akteure stammt, beendet der Anwendungsfall die Operation und zeigt dem Benutzer eine entsprechende Nachricht an. Wird der Akteur jedoch erkannt, fährt der Anwendungsfall mit...fort."

Sie können die Struktur der Ereignisablaufs mit einem Aufgabendiagram veranschaulichen (siehe Richtlinie: Aktivitätsdiagramm im Anwendungsfallmodell).  

Weitere Informationen finden Sie im Abschnitt zur Struktur in Richtlinie: Anwendungsfall.

Beziehungen zwischen Akteuren und anderen Anwendungsfällen veranschaulichen

Erstellen Sie Anwendungsfalldiagramme, die den Anwendungsfall und seine Beziehungen zu Akteuren und anderen Anwendungsfällen zeigen. Ein Diagramm dieses Typs dient als lokales Diagramm des Anwendungsfalls und muss mit diesem in Zusammenhang gesetzt werden. Diese Art von lokalem Anwendungsfalldiagramm ist normalerweise nur dann von Wert, wenn der Anwendungsfall Anwendungsfallbeziehungen hat, die erläutert werden müssen, oder wenn es eine ungewöhnliche hohe Komplexität in Bezug auf die beteiligten Akteure gibt.

Weitere Informationen hierzu finden Sie in Richtlinie: Anwendungsfalldiagramm.

Sonderanforderungen beschreiben

Alle Anforderungen, die mit dem Anwendungsfall in Zusammenhang stehen, aber im Ereignisablauf des Anwendungsfalls nicht berücksichtigt werden, müssen in den Sonderanforderungen für den Anwendungsfall beschrieben werden. Solche Anforderungen sind in der Regel nicht funktional.

Weitere Informationen hierzu finden Sie im Abschnitt über Sonderanforderungen in Richtlinie: Anwendungsfall.

Kommunikationsprotokolle definieren

Definieren Sie das Kommunikationsprotokoll, das für jeden Akteur verwendet werden soll, der ein anderes System oder externe Hardware darstellt. Wenn ein vorhandenes Protokoll (spezielle bekannte Protokolle oder Standardprotokolle) verwendet werden soll, muss in der Beschreibung des Anwendungsfalls nur der Name des Protokolls angegeben werden. Wenn es sich um ein neues Protokoll handelt, müssen Sie darlegen, wo die Protokolldefinition verfügbar ist, die während der Entwicklung des Objektmodells vollständig beschrieben werden muss.

Vorbedingungen beschreiben

Eine Vorbedingung in einem Anwendungsfall beschreibt den Zustand, den das System haben muss, damit der Anwendungsfall gestartet werden kann.

Beispiel:

Damit ein Geldautomatensystem Bargeld ausgeben kann, müssen die folgenden Vorbedingungen erfüllt sein:

  • Das Geldautomatennetz muss zugänglich sein.
  • Der Geldautomat muss bereit sein, Transaktionen zu verarbeiten.
  • Der Geldautomat muss Geld haben, das er ausgeben kann.
  • Der Geldautomat muss genug Papier haben, um mindestens für eine Transaktion einen Beleg zu drucken.

Dies sind gültige Vorbedingungen für den Anwendungsfall "Bargeld ausgeben".

Gehen Sie bei der Beschreibung des Systemzustands mit Sorgfalt vor. Vermeiden Sie es, Details zu anderen zugehörigen Aufgaben zu beschreiben, die vor diesem Anwendungsfall ausgeführt wurden.

Vorbedingungen werden nicht verwendet, um eine Reihenfolge von Anwendungsfällen zu erstellen. Es gibt keinen Fall, in dem Sie zuerst einen Anwendungsfall und dann einen anderen ausführen müssen, um einen aussagefähigen Ereignisablauf zu beschreiben. Wenn Sie das Gefühl haben, dass dies erforderlich ist, haben Sie das Anwendungsfallmodell wahrscheinlich zu weit zerlegt. Sie können dieses Problem beheben, indem Sie die sequenziell abhängigen Anwendungsfälle zu einem Anwendungsfall zusammenfassen. Sollte der kombinierte Anwendungsfall zu komplex werden, können Sie Techniken zur Strukturierung von Anwendungsfällen anwenden, die im vorherigen Schritt "Ereignisablauf des Anwendungsfalls strukturieren" bzw. in Aufgabe: Anwendungsfallmodell strukturieren beschrieben werden.

Weitere Informationen finden Sie im Abschnitt über Vorbedingungen in Richtlinie: Anwendungsfall.

Nachbedingungen beschreiben

Eine Nachbedingung in einem Anwendungsfall listet die möglichen Zustände auf, in denen sich das System am Ende des Anwendungsfalls befinden kann. Das System muss nach der Ausführung des Anwendungsfalls einen dieser Zustände haben. Eine Nachbedingung wird auch verwendet, um Aktionen zu beschreiben, die das System am Ende des Anwendungsfalls ausführt, unabhängig davon, welche Ereignisse im Anwendungsfall eingetreten sind.

Beispiel:

Wenn der Geldautomat am Ende eines Anwendungsfalls immer die Nachricht 'Willkommen' anzeigt, kann dies in der Nachbedingung des Anwendungsfalls dokumentiert werden.

Wenn der Geldautomat die Transaktion des Kunden am Ende eines Anwendungsfalls wie "Bargeld abheben" unabhängig vom Verlauf der Ereignisse schließt, muss diese Tatsache als Nachbedingung für den Anwendungsfall beschrieben werden.

Nachbedingungen werden verwendet, um Abläufe zu vereinfachen und die Lesbarkeit des Ereignisablaufs des Anwendungsfalls zu verbessern.

Unter keinen Umständen dürfen Anwendungsfälle verwendet werden, um eine Reihenfolge von Anwendungsfällen festzulegen. Es darf keinen Fall geben, in dem Sie zuerst einen Anwendungsfall und dann einen anderen ausführen müssen, um einen aussagefähigen Ereignisablauf zu beschreiben. Wenn Sie das Gefühl haben, dies tun zu müssen, sollten Sie die sequenziell abhängigen Anwendungsfälle zu einem Anwendungsfall zusammenfassen. Sollte der kombinierte Anwendungsfall zu komplex werden, können Sie Techniken zur Strukturierung von Anwendungsfällen anwenden, die im vorherigen Schritt "Ereignisablauf des Anwendungsfalls strukturieren" bzw. in der Aufgabe: Anwendungsfallmodell strukturieren beschrieben werden.

Weitere Informationen finden Sie im Abschnitt über Nachbedingungen in Richtlinie: Anwendungsfall.

Erweiterungspunkte beschreiben

Wenn der Anwendungsfall durch einen anderen Anwendungsfall erweitert werden muss (siehe Richtlinie: Erweiterungsbeziehung), müssen Sie die Erweiterungspunkte beschreiben (siehe Abschnitt über Erweiterungspunkte in Richtlinie: Anwendungsfall).

Ergebnisse auswerten

Prüfen und besprechen Sie den Anwendungsfall mit den Stakeholdern, so dass diese ein klares Verständnis vom Anwendungsfall erhalten und der Beschreibung zustimmen.

Die Anwendungsfallbeschreibung ist nur vollständig, wenn sie von Anfang bis Ende alles beschreibt, was der Anwendungsfall ausführt, implementiert oder zulässt. Bevor Sie die Anwendungsfallbeschreibung abschließen, sollten Sie prüfen, ob der Anwendungsfall die Eigenschaften aufweist, die einen "guten" Anwendungsfall ausmachen. Weitere Informationen hierzu finden Sie in Prüfliste: Anwendungsfall.

Eigenschaften
Mehrere Vorkommen
Ereignisgesteuert
Fortlaufend
Optional
Geplant
Wiederholt anwendbar
Wichtige Hinweise
Für eine detaillierte Beschreibung eines Anwendungsfalls können Sie eine Anwendungsfallspezifikation generieren. Mit einer solchen Spezifikation wird der Anwendungsfall überprüfbar. Weitere Informationen hierzu enthalten die Berichte, Vorlagen und Beispiele sowie die Toolmentoren für das Generieren der Berichte zum Arbeitsergebnis: Anwendungsfall.
Weitere Informationen