Unified Modeling Language (UML)

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

image-1663744846604.png

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.


image-1664091438196.png

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

  1. Anwendungsfall: Name
  2. Ziel: Zielsetzung des Anwendungsfalls
  3. Kategorie: primär, sekundär oder optional
  4. Vorbedingung: erwarteter Zustand, bevor Anwendungsfall beginnt
  5. Nachbedingung (Erfolg): erreichter Zustand bei erfolgreicher Ausführung des Anwendungsfalls
  6. Nachbedingung (Fehlschlag): erreichter Zustand bei fehlerhafter Ausführung des Anwendungsfalls
  7. Akteure: Personengruppen oder Systeme, die den Anwendungsfall auslösen oder daran beteiligt sind
  8. Auslösendes Ereignis: Wenn dieses Ereignis eintritt, dann wird der  Geschäftsprozess initiiert
  9. 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.

image-1664092213147.pngMultiplizität – Definition der Kardinalität (d.h. Anzahl von Elementen) durch ein inklusives Intervall nicht-negativer Ganzzahlwerte zur Spezifikation der erlaubten Anzahl von Instanzen.

image-1664187335714.png

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 Akteurenimage-1664187564638.png

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-Beziehungimage-1664187728360.png

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-Beziehungimage-1664192944806.png

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


Generalisierungimage-1664193175840.png

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

image-1664198036966.png

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

Zusammenfassung

image-1664198633475.png