UML:
Aktivitätsdiagramm
Use-Case-Diagramm

Lokaler Computer-Experte …


Kein echtes UML!






Quelle: xkcd.com/627/

UML Diagramm-Übersicht

Quelle: esb-dev.github.io

Ein “echtes” Aktivitätsdiagramm

  • bildet die von einem System ausgeführten Aktivitäten ab
  • zählt zu den Verhaltensdiagrammen in der UML

Startknoten

Aktion


Konnektor

Endknoten

Aufgabe: Bibliothek

Stellen Sie sich vor, Sie besuchen die Bibliothek, um ein Buch auszuleihen.

Erstellen Sie ein Aktivitätsdiagramm, das den gesamten Ablauf Ihres Besuchs in der Bibliothek beschreibt.

  • Sie betreten die Bibliothek.
  • Sie gehen zur Buchabteilung und suchen ein Buch.
  • Sie prüfen, ob das Buch ausleihbar ist.
  • Sie verlassen die Bibliothek.

Erstellen Sie das Aktivitäts-Diagramm mit draw.io. Speichern Sie es so, dass Sie es in der Folge weiter nutzen und verändern können.

Lösung: Bibliothek

Aktivitätsdiagramm: Verzweigung

Aufgabe: Bibliothek, Verzweigung

Sie besuchen die Bibliothek, um ein Buch auszuleihen.

Erstellen Sie ein Aktivitätsdiagramm mit Verzweigung.

  • Sie betreten die Bibliothek.
  • Sie suchen und finden ein Buch.
  • Sie prüfen, ob es ausleihbar ist.
  • Wenn ja (Buch ausleihbar):
    • Sie gehen zur Ausleihtheke.
    • Sie leihen das Buch aus.
    • Sie verlassen die Bibliothek.
  • Wenn nein (Buch nicht ausleihbar):
    • Prüfen, ob Sie noch ein anderes Buch suchen
    • Falls ja:
      • Buch suchen
    • Falls nein:
      • Sie verlassen die Bibliothek.

Lösung: Bibliothek, Verzweigung

Aktivitätsdiagramm: Parallele Verarbeitung

Aufgabe: Bibliothek, parallel

Wie zuletzt

Sie besuchen die Bibliothek, um ein Buch auszuleihen.

  • Sie betreten die Bibliothek.
  • Sie suchen und finden ein Buch.
  • Sie prüfen, ob es ausleihbar ist.
  • Wenn ja (Buch ausleihbar):
    • Sie gehen zur Ausleihtheke.
    • Sie leihen das Buch aus.
    • Sie verlassen die Bibliothek.
  • Wenn nein (Buch nicht ausleihbar):
    • Prüfen, ob Sie noch ein anderes Buch suchen
    • Falls ja:
      • Buch suchen
    • Falls nein:
      • Sie verlassen die Bibliothek.

Neu

Nach der Ausleihe laufen vor dem Verlassen der Bibo zwei Prozesse parallel:

  • Bibliotheksdatenbank muss das ausgeliehene Buch registrieren
  • Arbeitskraft am Schalter stellt Ausleihbeleg aus.

Lösung: Bibliothek, parallel

Aktivitätsdiagramm: Swimlanes für Akteure

Swimlanes zeigen in Spaltenform, wer oder welches System für die jeweilige Aktivität zuständig ist.

Aufgabe: Bibliothek mit Swimlanes




Diagramm wie bisher, mit parallelen Prozessen vor dem Verlassen der Bibliothek.

Neu: Kennzeichnen Sie die Verantwortlichkeiten anhand von Swimlanes.

Lösung: Bibliothek mit Swimlanes

Aktivitätsdiagramm: Übersicht

Anwendungsfalldiagramme

Was ist ein Anwendungsfall?

  • Verhalten, das ein modelliertes System nach außen anbietet
  • Perspektive: Nutzer

Was ist ein Anwendungsfall-Diagramm (Use-Case-Diagramm)?

  • Zeigt das externe Verhalten eines Systems aus Sicht der Nutzer
  • Beantwortet die Frage:
    Was soll mein geplantes System eigentlich leisten?

Anwendungsfalldiagramm: Yachthafen

Liegeplatzverwaltung

  • Projekt: Softwarekomponente für Vermietung von Liegeplätzen
  • Teil des Yachthafen-Managements

Anforderungen:

  • Kunden können Liegeplatz mieten und kündigen
  • Kunden können sich im Yachthafen mit Yacht an- und abmelden
  • Mitarbeiter können einzelne Liegeplätze für Wartung sperren
  • Nutzer des Programms können aktuelle Liegeplatzbelegung ansehen

Projektteam:

  • objektorientierte Entwicklung
  • UML zur Planung

Quelle: PaterMcFly, Wikimedia Commons

Nächster Schritt in Softwareentwicklung?
Wie können sich Entwickler einen Überblick über alle Anwendungsfälle verschaffen?

Anwendungsfalldiagramm: Yachthafen

Use-Case-Diagramm: Grundelemente

Use-Case-Diagramm: Generalisierung

Generalisierung / Spezialisierung

  • zeigt Beziehung zwischen allgemeinem und spezialisiertem Element
  • kann sowohl zwischen Anwendungsfällen als auch zwischen Akteuren dargestellt werden
  • Pfeilrichtung beachten:
    Vom speziellen zum generellen Element!

Aufgabe: Use-Case-D. Bibliothek

Bibliothek möchte neues System einführen zur Automatisierung:

  • Ausleihe von Büchern
  • Benutzerverwaltung
  • Bücherverwaltung

Aufgabe: Use-Case-Diagramm

Anforderungen

  • Benutzer kann Bücher ausleihen, Bücher zurückgeben und seinen Kontostand für ausgeliehene Bücher überprüfen
  • Premium-Benutzer kann zusätzlich Bücher vorbestellen
  • Bibliothekar kann neue Benutzer registrieren, Bücher hinzufügen und Bücher entfernen
  • Chef-Bibliothekar kann zusätzlich Berichte über die Ausleihe erstellen und die Verwaltung der Bibliothek übernehmen

Lösung: Use-Case-D. Bibliothek

Use-Case-D.: <<include>>

  • Ein Anwendungsfall führt immer einen anderen mit aus
  • Pflicht-Einbindung
  • includierter Use Case ist wiederverwendbar
  • Pfeilrichtung:
    vom Basis-Use-Case zum inkludierten Use-Case

Aufgabe: Use-Case-D., include

Bibliothek, wie zuletzt

Neue Beziehungen

  • Ausleihen von Büchern enthält immer Berechtigungs-Prüfung
  • Registrieren eines Benutzers: immer Bestätigungs-Email

Use-Case-Diagramm zeichnen.

Lösung: Use-Case-D., include

Use-Case-D.: <<extend>>

  • Ein Anwendungsfall führt optional einen anderen mit aus
  • Erweiterung unter bestimmten Bedingungen
  • Achtung: Pfeilrichtung
    vom erweiternden Anwendungsfall zum Basis-Use-Case
  • Anders als bei <<include>>!!
  • B ist Basis-Use-Case, A ist extended use case

Aufgabe: Use-Case-D., extend

Bibliothek, wie zuletzt, mit include

Neue Sonderfälle

  • Bücher zurückgeben: manchmal müssen Gebühren erhoben werden
    -> erweitert den Use Case “Bücher zurückgeben”
  • Wenn Bibliothekar ein Buch hinzufügt:
    manchmal müssen Buchinformationen validiert werden,
    wenn sie unvollständig sind

Aufgabe: Use-Case-Diagramm mit zwei Conditions

Lösung: Use-Case-D., extend

Use-Case-Diagramm: So klappt’s

  • Include (zwingende Folge) und extend (optionale Folge) gut unterscheiden
  • Pfeilrichtungen beachten:
    • Generalisierung / Spezialisierung: Vom speziellen zum generellen Element
      Beispiel: vom Premium-Benutzer zum Benutzer
    • <<include>>: vom Basis-Use-Case zum inkludierten Use-Case
      Beispiel: von Bücher ausleihen zu Berechtigung prüfen
    • <<extend>>: vom erweiternden Anwendungsfall zum Basis-Use-Case
      Beispiel: von Gebühren erheben zu Bücher zurückgeben
  • Use-Case-Diagramm ist statisch
    Nicht für Abläufe verwenden!

Vielen Dank!

Viel Erfolg mit UML!

Zurück zur Übersicht LF5