Unified Modeling Language (UML)
- Unified Modeling Language
- UML Anwendungsfalldiagramme
- Vorgehen zur Modellierung
- Ein Beispiel - Krankenhausempfang
- Zusammenfassung
Unified Modeling Language
Bestandteile:
Modell: Festlegung gültiger Begriffe und der Beziehungen zwischen diesen Begriffen
Notation: Graphische Sicht auf Ausschnitte dieser Modelle
Austausch: 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 Systems
2. 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 Anwenders
Kö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 |
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)
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
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
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
Vorgehen 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 <extend> die Sonderfälle modellieren.
4. Aufteilen komplexer Anwendungsfälle
Komplexe Schritte als eigene Use Cases modellieren, z.B. per <include> .
Komplexe Use Cases in mehrere Use Cases zerlegen und Gemeinsamkeiten mit <include> modellieren.
5. Gemeinsamkeiten von Anwendungsfällen ermitteln
Auf redundanzfreie Beschreibung achten, insbesondere bei <include>
6. Verfeinerungen von Anwendungsfällen vornehmen (falls nötig):
UML Aktivitätsdiagramme: falls Anwendungsfall komplexes Verhalten modelliert
UML 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 lang
Ein 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ügung