Anwendungsfall-Tutorial für Dummies

Was ist ein Anwendungsfall?

Ein Anwendungsfall ist eine Methodik, die in der Systemanalyse verwendet wird, um Systemanforderungen zu identifizieren, zu klären und zu organisieren.

Anwendungsfalldiagramm

Ein  Anwendungsfalldiagramm  modelliert verschiedene Arten von Benutzern, die mit dem System interagieren, um ein Problem zu lösen. Als solches beschreibt es die Ziele der Benutzer, die Interaktionen zwischen den Benutzern und dem System und das erforderliche Verhalten des Systems zur Erfüllung dieser Ziele.

Anwendungsfälle  definieren Interaktionen zwischen externen Akteuren und dem System, um bestimmte Ziele zu erreichen. Ein Anwendungsfalldiagramm enthält vier Hauptkomponenten

Bearbeiten Sie das Beispiel des Anwendungsfalldiagramms oben )

Ein Anwendungsfalldiagramm besteht aus einer Reihe von Modellelementen. Die wichtigsten Modellelemente sind:

Schauspieler

Akteure sind in der Regel Personen, die entsprechend ihrer Rollen am System beteiligt sind. Der Akteur kann ein Mensch oder ein anderes externes System sein.

Anwendungsfall

Ein Anwendungsfall beschreibt, wie Akteure ein System nutzen, um ein bestimmtes Ziel zu erreichen. Anwendungsfälle werden typischerweise von einem Benutzer initiiert, um Ziele zu erfüllen, wobei die Aktivitäten und Varianten beschrieben werden, die zum Erreichen des Ziels erforderlich sind.

Beziehung

Die Beziehungen zwischen und zwischen den Akteuren und den Anwendungsfällen.

Systemgrenze

Die Systemgrenze definiert das interessierende System in Bezug auf die Welt um es herum.

Use-Case-Eigenschaften

Ein Anwendungsfall (oder eine Reihe von Anwendungsfällen) hat folgende Eigenschaften:

  • Organisiert funktionale Anforderungen
  • Modelliert die Ziele von Interaktionen zwischen System und Akteur (Benutzer).
  • Zeichnet Pfade (sogenannte  Szenarien ) von Triggerereignissen zu Zielen auf
  • Beschreibt einen Hauptablauf von Ereignissen (auch als grundlegende Vorgehensweise bezeichnet) und möglicherweise andere, die als  außergewöhnliche  Abläufe von Ereignissen bezeichnet werden (auch als alternative Vorgehensweisen bezeichnet).
  • Ist mehrstufig, sodass ein Anwendungsfall die Funktionalität eines anderen nutzen kann.

Anwendungsfall und Anwendungsfall-Szenario?

Der Anwendungsfall besteht aus einer Reihe möglicher Abfolgen von Interaktionen zwischen Systemen und Benutzern in einer bestimmten Umgebung und in Bezug auf ein bestimmtes Ziel.

Was in einem Anwendungsfall?

Es besteht aus einer Gruppe von Elementen (z. B. Klassen und Schnittstellen), die zusammen so verwendet werden können, dass sie einen größeren Effekt haben als die Summe der einzelnen Elemente zusammen. Der Anwendungsfall sollte alle Systemaktivitäten enthalten, die für die Benutzer von Bedeutung sind.

Art der Anwendungsfälle

Wesentliche Anwendungsfälle  werden in einer idealen Form ausgedrückt, die relativ frei von Technologie- und Implementierungsdetails bleibt; Designentscheidungen werden aufgeschoben und abstrahiert, insbesondere solche, die sich auf die Benutzeroberfläche beziehen.

Konkreter oder realer Anwendungsfall  beschreibt konkret den Prozess in Bezug auf sein reales aktuelles Design, festgelegt auf bestimmte Eingabe- und Ausgabetechnologien und so weiter. Wenn es um eine Benutzeroberfläche geht, zeigen sie oft Screenshots und diskutieren die Interaktion mit den Widgets.

Der abstrakte Anwendungsfall  ist nicht vollständig und hat keinen Akteur, der ihn initiiert, sondern von anderen Anwendungsfällen verwendet wird.

Anwendungsfälle strukturieren

UML definiert drei Assoziationsstereotypen zwischen Anwendungsfällen:

<<einschließen>> Anwendungsfall

Der Zeitpunkt für die Verwendung der <<include>>-Beziehung ist, nachdem Sie die erste Schnittbeschreibung aller Ihrer Hauptanwendungsfälle abgeschlossen haben. Sie können sich jetzt die Anwendungsfälle ansehen und allgemeine Sequenzen der Benutzer-System-Interaktion identifizieren.

<<erweitern>> Anwendungsfall

Ein erweiterter Anwendungsfall ist effektiv ein alternativer Verlauf des Basisanwendungsfalls. Der Anwendungsfall <<Erweitern>> erreicht dies durch das konzeptionelle Einfügen zusätzlicher Aktionssequenzen in die Basis-Anwendungsfallsequenz.

Abstrakter und verallgemeinerter Anwendungsfall

Der allgemeine Anwendungsfall ist abstrakt. Es kann nicht instanziiert werden, da es unvollständige Informationen enthält. Der Titel eines abstrakten Anwendungsfalls wird kursiv dargestellt.

Beispiel

Dieses Beispiel zeigt ein Modell mehrerer Geschäftsanwendungsfälle (Ziele), das die Interaktionen zwischen einem Restaurant (dem Geschäftssystem) und seinen Hauptakteuren darstellt.

Nachdem die grundlegenden Anwendungsfälle im ersten Schnitt identifiziert wurden, könnten wir diese Anwendungsfälle vielleicht mit <<erweitern>> und <<einschließen>> Anwendungsfällen in der zweiten Runde weiter strukturieren, wie in der folgenden Abbildung gezeigt:

Bearbeiten Sie das Beispiel des Anwendungsfalldiagramms oben )

Anwendungsfälle mit Paketen strukturieren

Das Anwendungsfalldiagramm kann Pakete enthalten, die zur Strukturierung von Anwendungsfällen verwendet werden, um die Analyse, Entwicklung und Wartung eines Systems zu vereinfachen.

Bearbeiten Sie das Beispiel des Anwendungsfalldiagramms oben )

Anwendungsfallmodell vs. Anwendungsfalldiagramm

Ein Großteil des Anwendungsfallmodells ist tatsächlich textuell, wobei der Text in den  Anwendungsfallspezifikationen erfasst ist, die  jedem Element des Anwendungsfallmodells zugeordnet sind. Diese Spezifikationen beschreiben den Ablauf der Ereignisse des Anwendungsfalls.

Das Use-Case-Modell dient als roter Faden durch die gesamte Systementwicklung. Es wird als primäre Spezifikation der funktionalen Anforderungen an das System, als Grundlage für Analyse und Entwurf, als Eingabe für die Iterationsplanung, als Grundlage für die Definition von Testfällen und als Grundlage für die Benutzerdokumentation verwendet.

Beispiel: Anwendungsfallbeschreibung

  • Um den Inhalt eines Anwendungsfalls zu schreiben, wählen Sie zunächst eines der Szenarien als Hauptszenario aus.
  • Sie beginnen den Hauptteil des Anwendungsfalls, indem Sie das Haupterfolgsszenario als eine Folge von nummerierten Schritten schreiben.
  • Dann nehmen Sie die anderen Szenarien und schreiben sie als Erweiterungen. Verlängerungen können Erfolge sein, wie in 3a unten, oder Misserfolge, wie in 6b unten.
  • Jeder Anwendungsfall hat einen primären Akteur, der das System auffordert, einen Dienst bereitzustellen.
  • Jeder Schritt in einem Anwendungsfall ist ein Element der Interaktion zwischen dem Benutzer und dem System.
  • Ein geteilter Lastwagen mit Aktivitäten in einem Anwendungsfall kann durch einen anderen Anwendungsfall durch den <include>-Anwendungsfall wiederverwendet werden.
  • In UML-Begriffen sagen wir, dass der erste Anwendungsfall den zweiten beinhaltet.

Produkt kaufen  (entnommen aus UML Distilled p101)

Wichtigstes Erfolgsszenario:

  1. Der Kunde durchsucht den Katalog und wählt den gewünschten Artikel aus.
  2. Der Kunde geht zur Kasse.
  3. Der Kunde gibt Versandinformationen ein
  4. Das System präsentiert vollständige Preisinformationen
  5. Der Kunde gibt Kreditkarteninformationen ein
  6. System autorisiert den Kauf
  7. System bestätigt Verkauf
  8. Das System sendet eine Bestätigungs-E-Mail an den Kunden

Erweiterungen

3a: Kunde ist Stammkunde

.1 Das System zeigt aktuelle Versandinformationen an

.2 Der Kunde kann akzeptieren oder außer Kraft setzen

6a: Das System kann Kreditkäufe nicht autorisieren

.1 Der Kunde kann Kreditkarteninformationen erneut eingeben oder stornieren

Anwendungsfallbeschreibung illustriert durch Visual Paradigm

Ablauf von Ereignissen und Erweiterung

  • Zeichnet Pfade (sogenannte  Szenarien ) von Triggerereignissen zu Zielen auf

Anwendungsfall- und UML-Modellierung

Anwendungsfälle können in mehreren Phasen der Softwareentwicklung eingesetzt werden, z. B. bei der Planung von Systemanforderungen, der Validierung des Designs, dem Testen von Software und der Erstellung eines Entwurfs für Online-Hilfe und Benutzerhandbücher. In welcher Beziehung stehen also Anwendungsfalldiagramme zu anderen UML-Diagrammen in SDLC?

Die Wahl des Modells ist wichtig

Die Wahl der zu erstellenden Modelle hat einen tiefgreifenden Einfluss darauf, wie ein Problem angegangen und wie eine Lösung gestaltet wird. Wir müssen Ihre Modelle gut auswählen.

  • Die richtigen Modelle werden die kritischsten Entwicklungsprobleme hervorheben.
  • Falsche Modelle werden Sie in die Irre führen und dazu führen, dass Sie sich auf irrelevante Themen konzentrieren.

Zum Beispiel: Wir können verschiedene Arten von Diagrammen für verschiedene Phasen in der Softwareentwicklung verwenden.

Verweise

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht.