Unified Modeling Language (UML) Unified Modeling Language Bestandteile: Modell: Festlegung gültiger Begriffe und der Beziehungen zwischen diesen BegriffenNotation: Graphische Sicht auf Ausschnitte dieser ModelleAustausch: Vorschalg von Formaten für die Werkezugunterstützung Eigentlicher Nutzen: Gemeinsame Arbeit an nicht-trivialen Softwareprojekten: Übersicht und Kommunikation 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ügenVorgehen zur Modellierung 1. Akteure ermitteln:Personen ermitteln, die die Aufgaben durchführen. Welche Rollen spielen diese Personen?Welche externen Systeme werden durch das Produkt genutzt bzw. was gehört nicht mehr zum System? 2. Anwendungsfälle ermitteln:Mittels Akteuren: (Personen bzw. deren Rollen): Welche Arbeitsabläufe lösen sie aus? An welchen Arbeitsabläufen wirken sie mit?Mittels Ereignissen: Externe und zeitliche Ereignisse auflisten. Für jedes Ereignis einen Anwendungsfall identifizieren.Mittels Aufgabenbeschreibungen: Was sind die Gesamtziele des Systems / wichtigsten Aufgaben? Ziele jeder Aufgabe ermitteln. 3. Anwendungsfälle für Sonderfälle formulieren: Erweiterungen und Alternativen der Standard-Anwendungsfälle formulieren. -> Mittels die Sonderfälle modellieren. 4. Aufteilen komplexer Anwendungsfälle Komplexe Schritte als eigene Use Cases modellieren, z.B. per . Komplexe Use Cases in mehrere Use Cases zerlegen und Gemeinsamkeiten mit modellieren. 5. Gemeinsamkeiten von Anwendungsfällen ermitteln Auf redundanzfreie Beschreibung achten, insbesondere bei 6. Verfeinerungen von Anwendungsfällen vornehmen (falls nötig):UML Aktivitätsdiagramme: falls Anwendungsfall komplexes Verhalten modelliertUML Interaktionsdiagramme (Sequenzdiagramme): falls Anwendungsfall komplexe Interaktionen mit Akteuren beinhaltet Tipps: Verständlichkeit | Beschreibung extern wahrnehmbaren Verhaltens | Fachliche Beschreibung | Vollständige Beschreibung des Standardablaufs |Separate Beschreibung von Sonderfällen | eine Seite langEin Beispiel - Krankenhausempfang Die Rezeptionistin plant die Termine des Patienten und die Aufnahme in das Krankenhaus, sammelt Informationen vom Patienten bei der Ankunft des Patienten und/oder telefonisch. Für den Patienten, der im Krankenhaus bleibt, sollte er oder sie ein Bett auf einer Station erhalten. Empfangsmitarbeiter erhalten möglicherweise auch Zahlungen des Patienten, zeichnen sie in einer Datenbank auf und stellen Quittungen, Versicherungsansprüche und medizinische Berichte zur VerfügungZusammenfassung