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:
- Der Kunde durchsucht den Katalog und wählt den gewünschten Artikel aus.
- Der Kunde geht zur Kasse.
- Der Kunde gibt Versandinformationen ein
- Das System präsentiert vollständige Preisinformationen
- Der Kunde gibt Kreditkarteninformationen ein
- System autorisiert den Kauf
- System bestätigt Verkauf
- 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
- Überblick über die 14 UML-Diagrammtypen
- Was ist ein Klassendiagramm?
- Was ist Komponentendiagramm?
- Was ist ein Bereitstellungsdiagramm?
- Was ist ein Objektdiagramm?
- Was ist ein Paketdiagramm?
- Was ist ein zusammengesetztes Strukturdiagramm?
- Was ist ein Profildiagramm?
- Was ist ein Anwendungsfalldiagramm?
- Was ist ein Aktivitätsdiagramm?
- Was ist ein Zustandsmaschinendiagramm?
- Was ist ein Sequenzdiagramm?
- Was ist ein Kommunikationsdiagramm?
- Was ist das Interaktionsübersichtsdiagramm?
- Was ist ein Zeitdiagramm
- 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.