Ein Anwendungsfall beschreibt, wie ein Benutzer ein System verwendet, um ein bestimmtes Ziel zu erreichen. Ein Anwendungsfalldiagramm besteht aus dem System, den zugehörigen Anwendungsfällen und Akteuren und setzt diese zueinander in Beziehung, um zu visualisieren: Was wird beschrieben? ( System ), wer verwendet das System? ( Schauspieler ) und was wollen die Schauspieler erreichen? ( Use Cases ), Anwendungsfälle helfen also sicherzustellen, dass das richtige System entwickelt wird, indem sie die Anforderungen aus Sicht des Benutzers erfassen.
Ursprung des Anwendungsfalls
Heutzutage wird die Modellierung von Anwendungsfällen oft mit UML in Verbindung gebracht, obwohl sie eingeführt wurde, bevor UML existierte. Seine kurze Geschichte ist wie folgt:
- 1986 formulierte Ivar Jacobson erstmals textuelle und visuelle Modellierungstechniken zum Spezifizieren von Anwendungsfällen.
- 1992 trug sein mitverfasstes Buch Object-Oriented Software Engineering – A Use Case Driven Approach dazu bei, die Technik zur Erfassung funktionaler Anforderungen, insbesondere in der Softwareentwicklung, bekannt zu machen.
Zweck des Anwendungsfalldiagramms
Anwendungsfalldiagramme werden in der Regel in einem frühen Entwicklungsstadium entwickelt, und Benutzer wenden die Anwendungsfallmodellierung häufig für die folgenden Zwecke an:
- Geben Sie den Kontext eines Systems an
- Erfassen Sie die Anforderungen eines Systems
- Validieren einer Systemarchitektur
- Treiben Sie die Implementierung voran und generieren Sie Testfälle
- Entwickelt von Analysten zusammen mit Domänenexperten
Was ist ein Anwendungsfalldiagramm in UML?
Ein Anwendungsfall ist eine Liste von Aktionen oder Ereignisschritten, die typischerweise die Interaktionen zwischen einer Rolle eines Akteurs und einem System definieren, um ein Ziel zu erreichen. Ein Anwendungsfall ist eine nützliche Technik zum Identifizieren, Klären und Organisieren von Systemanforderungen. Ein Anwendungsfall besteht aus einer Reihe möglicher Abfolgen von Interaktionen zwischen Systemen und Benutzern, die die zu implementierenden Funktionen und die Lösung eventuell auftretender Fehler definieren.
Während ein Anwendungsfall selbst viele Details (z. B. Ablauf von Ereignissen und Szenarien) zu jeder Möglichkeit aufschlüsseln kann, kann ein Anwendungsfalldiagramm dazu beitragen, eine übergeordnete Ansicht des Systems bereitzustellen, indem es eine vereinfachte und grafische Darstellung bietet was das System eigentlich leisten muss.
Ein Anwendungsfall (oder eine Reihe von Anwendungsfällen) hat folgende Eigenschaften:
- Organisiert funktionale Anforderungen
- Modelliert die Ziele von Interaktionen zwischen System und Akteur (Benutzer).
- Beschreibt einen Hauptablauf von Ereignissen (Hauptszenarien) und möglicherweise andere außergewöhnliche Abläufe (Alternativen), die auch als Pfade oder Benutzerszenarien bezeichnet werden
Notationen von Anwendungsfalldiagrammen
Anwendungsfälle definieren Interaktionen zwischen externen Akteuren und dem System, um bestimmte Ziele zu erreichen. Ein Anwendungsfalldiagramm enthält vier Hauptkomponenten
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.
Vorteile des Anwendungsfalldiagramms
- Anwendungsfälle sind eine leistungsstarke Technik zur Erhebung und Dokumentation von Black-Box-Funktionsanforderungen.
- Denn Anwendungsfälle sind leicht verständlich und bieten eine hervorragende Möglichkeit, mit Kunden und Benutzern zu kommunizieren, da sie in natürlicher Sprache geschrieben sind.
- Anwendungsfälle können dabei helfen, die Komplexität großer Projekte zu bewältigen, indem sie das Problem in Hauptmerkmale des Benutzers (dh Anwendungsfälle) unterteilen und Anwendungen aus der Perspektive des Benutzers spezifizieren.
- Ein Anwendungsfall-Szenario, das oft durch ein Sequenzdiagramm dargestellt wird, beinhaltet die Zusammenarbeit mehrerer Objekte und Klassen. Anwendungsfälle helfen dabei, die Nachrichten (Operationen und die erforderlichen Informationen oder Daten – Parameter) zu identifizieren, die die Objekte und Klassen zusammenfügen.
- Anwendungsfälle bieten eine gute Grundlage für die Verknüpfung zwischen der Überprüfung der Modelle auf höherer Ebene (dh Interaktion zwischen Akteuren und einer Reihe von kollaborativen Objekten) und anschließend für die Validierung der funktionalen Anforderungen (dh Blueprint des White-Box-Tests).
- Der anwendungsfallgesteuerte Ansatz bietet nachvollziehbare Links für die Projektverfolgung, bei denen die wichtigsten Entwicklungsaktivitäten wie die implementierten, getesteten und gelieferten Anwendungsfälle die Ziele aus Benutzersicht erfüllen.
Wie zeichnet man ein Anwendungsfalldiagramm?
Ein Anwendungsfallmodell kann entwickelt werden, indem Sie die folgenden Schritte ausführen.
- Identifizieren Sie die Akteure (Rolle der Benutzer) des Systems.
- Identifizieren Sie für jede Benutzerkategorie alle Rollen, die von den für das System relevanten Benutzern gespielt werden.
- Identifizieren Sie, welche Benutzer das System ausführen müssen, um diese Ziele zu erreichen.
- Erstellen Sie Anwendungsfälle für jedes Ziel.
- Strukturieren Sie die Anwendungsfälle.
- Priorisieren, überprüfen, schätzen und validieren Sie die Benutzer.
Beachten Sie Folgendes: Um den Use-Case-Ansatz „agiler“ zu machen, nicht alle Use-Cases zu detaillieren, sondern sie in Ihrem Product Backlog zu priorisieren, sollten Sie den Use-Case je nach Entwicklungsphase mit Just-in-Time in unterschiedlichen Detaillierungsgraden verfeinern und gerade genug Weise.
Du kannst auch:
- Zeichnen Sie Pakete für die logische Kategorisierung von Anwendungsfällen in verwandte Subsysteme.
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:
Geschäftlicher Anwendungsfall
Ein Geschäftsanwendungsfall wird in einer technologiefreien Terminologie beschrieben , die den Geschäftsprozess als Black Box behandelt und den Geschäftsprozess beschreibt, der von seinen Geschäftsakteuren verwendet wird, während ein gewöhnlicher Anwendungsfall normalerweise auf der Ebene der Systemfunktionalität beschrieben wird und die Funktion spezifiziert oder der Dienst, den das System für den Benutzer bereitstellt. Mit anderen Worten, der Geschäftsanwendungsfall stellt dar, wie die Arbeit in der aktuellen Situation manuell ausgeführt werden muss und nicht unbedingt vom System ausgeführt wird oder im Rahmen des Zielsystems automatisiert werden soll.
So identifizieren Sie Akteure
Oft ist es am einfachsten, den Prozess der Anforderungserhebung mit der Identifizierung der Akteure zu beginnen. Die folgenden Fragen können Ihnen helfen, die Akteure Ihres Systems zu identifizieren (Schneider und Winters — 1998):
- Wer nutzt das System?
- Wer installiert das System?
- Wer startet das System?
- Wer wartet das System?
- Wer schaltet das System ab?
- Welche anderen Systeme verwenden dieses System?
- Wer bekommt Informationen von diesem System?
- Wer liefert Informationen an das System?
- Passiert derzeit irgendetwas automatisch?
Wie identifiziere ich Anwendungsfälle?
Die Anwendungsfälle identifizieren und dann den szenariobasierten Erhebungsprozess fortsetzen, indem gefragt wird, welchen extern sichtbaren, beobachtbaren Wert jeder Akteur wünscht. Die folgenden Fragen können gestellt werden, um Anwendungsfälle zu identifizieren, nachdem Ihre Akteure identifiziert wurden (Schneider und Winters – 1998):
- Welche Funktionen wünscht sich der Akteur von dem System?
- Speichert das System Informationen? Welche Akteure werden diese Informationen erstellen, lesen, aktualisieren oder löschen?
- Muss das System einen Akteur über Chancen im internen Zustand benachrichtigen?
- Gibt es externe Ereignisse, über die das System Bescheid wissen muss? Welcher Akteur informiert das System über diese Ereignisse?
Anwendungsfalldiagramm-Tipps
Sehen Sie sich nun die folgenden Tipps an, um zu sehen, wie Sie Anwendungsfälle effektiv in Ihrem Softwareprojekt anwenden können.
- Strukturieren und organisieren Sie das Anwendungsfalldiagramm immer aus Sicht der Akteure.
- Anwendungsfälle sollten einfach und mit der höchstmöglichen Ansicht beginnen. Erst dann können sie weiter verfeinert und detailliert werden.
- Anwendungsfalldiagramme basieren auf Funktionalität und sollten sich daher auf das „Was“ und nicht auf das „Wie“ konzentrieren.
Anwendungsfall-Detailebenen
Die Granularität von Anwendungsfällen bezieht sich auf die Art und Weise, wie Informationen innerhalb von Anwendungsfallspezifikationen organisiert sind, und bis zu einem gewissen Grad auf die Detailebene, auf der sie geschrieben werden. Das Erreichen der richtigen Granularität der Anwendungsfälle erleichtert die Kommunikation zwischen Stakeholdern und Entwicklern und verbessert die Projektplanung.
Alastair Cockburn in Writing Effective Use Cases gibt uns eine einfache Möglichkeit, verschiedene Ebenen der Zielebene zu visualisieren, indem wir in Bezug auf das Meer denken:
Beachten Sie, dass:
- Während ein Anwendungsfall selbst viele Details zu jeder Möglichkeit aufzeigen kann, wird ein Anwendungsfalldiagramm oft für eine übergeordnete Ansicht des Systems als Blaupause verwendet.
- Es ist vorteilhaft, Anwendungsfälle auf einer gröberen Granularitätsebene mit weniger Details zu schreiben, wenn dies nicht erforderlich ist.
Ich hoffe, Sie können jetzt beantworten, was ein Anwendungsfalldiagramm ist, und Anwendungsfälle in Ihrem Projekt anwenden. Wenn Sie mehr über andere UML-Diagrammtypen erfahren möchten, lesen Sie bitte den UML-Leitfaden: Übersicht über die 14 UML-Diagrammtypen .
Es reicht nicht aus , nur das Anwendungsfalldiagramm in UML- Notation darzustellen. Jeder Anwendungsfall wird von einem Text begleitet, der den Zweck des Anwendungsfalls erklärt und welche Funktionalität erreicht wird, wenn ein Anwendungsfall ausgeführt wird.
Die Use-Case-Spezifikation wird typischerweise in der Analyse- und Designphase iterativ erstellt.
- Zuerst wird nur eine kurze Beschreibung der Schritte geschrieben, die erforderlich sind, um den normalen Ablauf des Anwendungsfalls auszuführen (dh welche Funktionalität durch den Anwendungsfall bereitgestellt wird).
- Mit fortschreitender Analyse werden die Schritte konkretisiert, um weitere Details hinzuzufügen.
- Schließlich werden die außergewöhnlichen Flüsse dem Anwendungsfall hinzugefügt
- Jedes Projekt kann eine Standard-Use-Case-Vorlage für die Erstellung der Use-Case-Spezifikation übernehmen.
Anwendungsfall vs. Anwendungsfallspezifikation
Ein Anwendungsfall beschreibt eine Aufgabe, die von einem Akteur ausgeführt wird und zu einem Ergebnis mit geschäftlichem Wert für ein Unternehmen führt. Ein Anwendungsfall kann als Anwendungsfalldiagramm und/oder in einem strukturierten Textspezifikationsformat visualisiert werden:
Anwendungsfall (Aufgabe – die ein Kunde ausführen möchte) kann sein:
- Interaktiv – Ein Systemanwendungsfall beschreibt die Interaktion eines Akteurs mit einem System zur Verfolgung des definierten Geschäftsziels
- Manuell – Eine Abfolge von Aktionen, die von einem Akteur ausgeführt werden
- Automatisiert – Eine Abfolge von Schritten, die von einem Programm oder Skript ausgeführt werden
Merkmale von Anwendungsfällen
Ein Anwendungsfall hat:
- Nur ein Ziel
- Ein einziger Ausgangspunkt
- Ein einziger Endpunkt
- Mehrere Wege, um vom Anfang bis zum Ende zu gelangen
- dh Spezifizieren Sie das Verhalten für eine Vielzahl möglicher Bedingungen
- Jede Bedingung kann bestimmte Maßnahmen erfordern
Zum Beispiel – Kunde zahlt Rechnung:
Es gibt mehrere Wege zum Ziel:
- Telefonische Zahlung
- Per Mail
- Persönlich
- per Scheck
- per Bargeld usw.
Ein Weg, der nicht zum Ziel führt:
- Kreditkarte wird abgelehnt
Agiler Use-Case-Ansatz
Das Anwendungsfallmodell und seine einzelnen Anwendungsfälle entwickeln sich im Laufe der Zeit Ebene für Ebene weiter. Nicht alle Anwendungsfälle eines Modells müssen zwangsläufig im gleichen Detaillierungsgrad spezifiziert werden.
Just-in-Time und Just-Enough
Anwendungsfälle können auf unterschiedlichen Daten- und Umfangsebenen geschrieben werden, wobei jeder einem bestimmten Zweck dient:
- Zusammenfassung: Allgemeine Beschreibungen und umfassende Übersichten über Systemfunktionen oder Geschäftsprozesse.
- Benutzerebene: Aufgabenbezogene Beschreibungen von Benutzern und wie sie mit dem System interagieren; Beschreibungen eines bestimmten Geschäftsprozesses. Anwendungsfälle auf Benutzerebene werden normalerweise auf der Aufgabenebene betrachtet, die die Hauptarbeit des Benutzers darstellt.
- Unterfunktion: Beschreibungen von Aktivitäten auf niedrigerer Ebene, die verwendet werden, um Unterteile eines Kernanwendungsfalls abzuschließen.
Hinweis: Einige Anwendungsfälle können bis zur Ebene II ausreichend spezifiziert sein. Sie hören auf, wenn mit Just-in-Time und Just-Enough-Weise genügend Details erreicht sind.
Eine detaillierte Anwendungsfallspezifikation
Der detaillierte Anwendungsfall ist eine Textdarstellung, die eine Abfolge von Ereignissen zusammen mit anderen verwandten Anwendungsfallinformationen in einem bestimmten Format darstellt. Menschen verwenden typischerweise eine Standard-Use-Case-Vorlage zum Aufzeichnen der detaillierten Informationen für die Use-Cases
Use Case Template – Fallbeispiel für Geldautomatenabhebungen
Wie bereits erwähnt, gibt es mehrere Notationsstile für Anwendungsfälle (z. B. Diagrammstil, einheitliche Modellierungssprache, textuelles Format). Welche Notation auch immer verwendet wird, sie sollte leicht verständlich sein. Sie können Vorlagen wie die von Alistair Cockburn verwenden , aber es ist auch eine Option, das zu verwenden, was am besten zu Ihrem Team passt.
Erstellen Sie einfache Anwendungsfalldiagramme
Wenn Sie zufällige Falldiagramme zeichnen möchten, ist Visual Paradigm Online die beste Wahl. Da es für immer völlig kostenlos ist, gibt es keine Einschränkungen, keine Einrichtung und Konfiguration.
Sie können auch Visual Paradigm Community Edition verwenden , es ist auch kostenlos, um Anwendungsfälle für verschiedene Plattformen zu erstellen.
Führen Sie formale Modellierung und Analyse von Anwendungsfällen durch
Wenn Sie eine Anwendungsfallmodellierung durchführen und entwickeln möchten, wird empfohlen, die kostenpflichtige Version von Visual Paradigm zu verwenden, mit der Sie eine ordnungsgemäße und vollständige Anwendungsfallspezifikation wie oben erwähnt entwickeln können.
Do-it-yourself jetzt mit Visual Paradigm Online
Probieren Sie es jetzt aus und haben Sie Spaß mit all diesen fertig bearbeitbaren Beispielen und Vorlagen, die wie folgt aufgeführt sind:
Use Case Strukturierungsvorlage
Anwendungsfälle mit Stereotypen strukturieren
Mehrere Projekte mit Systemgrenzen ausdrücken
Management der Softwareentwicklung
Anwendungsfall Generalisierung
Anwendungsfälle einbeziehen und erweitern
Website (Use Cases strukturieren mit Extend and Include Use Case)
Mega888 is a fantastic Best Online Casino Mega888 casino with a
grea selection of games and secure transactions.