UML Anwendungsfalldiagramme Jeder Player nimmt an genau einem Spiel teil.Jedes Spiel wird von mindestens zwei Playern gespieltDiagrammtyp der UML zur Beschreibung der Interaktion von Akteuren mit einem betrachteten Systemen. Ausgangspunkt einer Anforderungsdefinition Initiale, grobe Sicht auf Funktionalität eines Systems Keine Spezifikation innerer Strukturen Zusammenhänge zwischen einer Menge von Anwendungsfällen und den beteiligten Akteuren Kontext und Gliederung für Beschreibung des Umgangs mit einem Geschäftsvorfall z.B. schriftliche Schadensmeldung eines Hausratversicherten Zweck von Anwendungsfalldiagrammen 1. Dienen der abstrakten Beschreibung der Leistung sowie der Umgebung eines Systems2. Strukturieren Anforderungen an System mit Spezifikation Akteure, Anwendungsfälle und Beziehungen Anwendungsfall (engl. use case) – Eine von einem betrachteten System bereitgestellte Funktion. Beschreiben, was System leisten muss: Funktionalität des Systems und Interaktion eines AnwendersKönnen um extension points erweitert werden und können mit eigenen Stereotypen zur Nutzung fachspezifischer Begriffe versehen werden Vorlage für Dokumentation von Anwendungsfällen Anwendungsfall: Name Ziel: Zielsetzung des Anwendungsfalls Kategorie: primär, sekundär oder optional Vorbedingung: erwarteter Zustand, bevor Anwendungsfall beginnt Nachbedingung (Erfolg): erreichter Zustand bei erfolgreicher Ausführung des Anwendungsfalls Nachbedingung (Fehlschlag): erreichter Zustand bei fehlerhafter Ausführung des Anwendungsfalls Akteure: Personengruppen oder Systeme, die den Anwendungsfall auslösen oder daran beteiligt sind Auslösendes Ereignis: Wenn dieses Ereignis eintritt, dann wird der  Geschäftsprozess initiiert Beschreibung: vom durch den Anwendungsfall beschriebenen Geschäftsprozess auszuführende Aktionen Akteur  – Gruppe von Personen oder Systemen, die mit einem zu betrachtenden System interagieren (Student) Subjekt – Grenz eines zu betrachtenden Systems in Bezug auf das Sammeln und Analysieren von Anforderungen (Bank). Assoziation – Interaktion zwischen einem Akteur und einem Anwendungsfall. Multiplizität – Definition der Kardinalität (d.h. Anzahl von Elementen) durch ein inklusives Intervall nicht-negativer Ganzzahlwerte zur Spezifikation der erlaubten Anzahl von Instanzen. Multiplizität Kurzform Kardinalität 0..0 0 Collection must be empty 0..1 No instances or one instance 1..1 1 Exactly one instance 0..* * Zero or more instances 1..* At least one instance 5..5 5 Exactly 5 instances m..n At least but no more than instances Generalisierung von Akteuren Beziehung, die jede Instanz des spezifischen Akteurs indirekt als Instanz des Akteurs definiert → Spezielle Akteure nehmen indirekt an gleichen Anwendungsfällen teil ("Ist ein"-Beziehung) include-Beziehung Beziehung zwischen zwei Anwendungsfällen, die das Verhalten des eingeschlossenen Anwendungsfalls in das Verhalten des übergeordneten Basis-Anwendungsfalls einfügt. → Ausführung eines Anwendungsfalls innerhalb eines anderen Anwendungsfalls→ Strukturierung komplexer Anwendungsfälle→ Wiederverwendung vorhandener Funktionen und Vermeidung von Redundanz extend-Beziehung Bedingte Erweiterung eines Anwendungsfalls durch einen eigenständigen anderen. → erweiternde Anwendungsfall ist unabhängig vom weiteren Anwendungsfall und für sich gesehen sinnvoll → Erweiterungspunkt (extension point ) definiert die Erweiterung im Anwendungsfall Generalisierung Beziehung zwischen Anwendungsfällen, die jede Instanz des spezifischen Anwendungsfalls indirekt auch als Instanz des generelleren Anwendungsfalls definiert. → Vererbung von Verhalten und Bedeutung eines generellen Anwendungsfalls an einen speziellen→ Speziellerer Anwendungsfall kann: Geerbtes Verhalten partiell überschreiben ODER Neues Verhalten hinzufügen