UML Diagramm Übung: Zustandsautomat & Sequenzdiagramm

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende mithilfe von bereit gestellten Informationen in Form eines Requirement-Dokuments ein Lückenbild eines Zustandsdiagramms vervollständigen. Die entsprechenden Textbausteine (Trigger, Guards und Actions) für die Fertigstellung des Diagramms werden den Studierenden in Form einer Liste mitgegeben. Zusätzlich ist ein Teil des Zustandsdiagramms eigenständig zu modellieren.
Der zweite der Teil des LLAs besteht aus der Fertigstellung eines Sequenzdiagramms. Auch hier werden den Studenten die Textbausteine zur Verfügung gestellt. Dieses LLA ist eines von zwei LLAs (zuvor kann das LLA zur Modellierung von Use-Case- und Klassendiagrammen eingesetzt werden), das Studierende in die Verwendung der Unified Modeling Language (UML) als eine Sprache zur Modellierung einer Softwarearchitektur und –design einführt.


Übersicht

Ziele:

  • Erstellung eines Zustandsdiagramms
    • Korrekter Einsatz der wesentlichen Elemente (Zustände, Transitionen mit Trigger, Guard und Actions)
    • Semantisches Verständnis von Zustandsfolgen
  • Erstellung eines Sequenzdiagramms
    • Semantisches Verständnis von zeitlichen Abfolgen in einem Anwendungsfall resp. Dem Aufbau eines Sequenzdiagramms
    • Korrekter Einsatz der wesentlichen Elemente, v.a. synchroner und asynchroner Nachrichten

Didaktische Funktion(en):

  • Transfer/Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Einzelarbeit, Partnerarbeit

Anzahl der Lernenden:

Ab 1 Person


Voraussetzungen und Ressourcen

Voraussetzungen:

  • Lehrperson: Erfahrungen in der Modellierung von Sequenzdiagrammen und Zustandsautomaten;
  • Lernende: Software Engineering Studierende, die bereits eine theoretische Grundlagenvorlesung besucht haben; Theoretische Grundlagen in Zustands- und Sequenzdiagrammen

Ausstattung & Medien:


Ablauf
  1. Zu Beginn wiederholt der Dozierende in Form eines Impulsvortrags noch einmal wesentliche Elemente der beiden Diagrammtypen und erläutert diese an einem Beispiel.
  2. Studierende erhalten das Übungsblatt zur Modellierung mit der UML über die Lernplattform. Zentrale Aufgabe ist es auf Basis einer vorhandenen Dokumentation die Lücken eines vorgegebenen Zustandsautomaten mit den korrekten Trigger, Guards und Actions zu vervollständigen.
  3. Die Studierenden bearbeiten (alleine oder in Gruppen) selbstständig die Aufgaben des Übungsblattes.
  4. Während der Übung steht der Lehrende bereit, um aufkommende Fragen zu beantworten oder Hilfestellung bei Problemen zu geben.
  5. Die Studierenden dokumentieren ihre Ergebnisse und geben diese über die Lernplattform in Form einer PDF oder eines Bildes des UML-Diagramms ab.

Beispiele oder Materialien:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Aufgabenstellung – Zustandsautomat:

Ergänzen Sie mit Hilfe der gegeben Requirements das Lückenbild des Zustandsdiagramms. Verwenden Sie dabei jeden Begriff auf den gegebenen Listen genau einmal!

Modellieren Sie den fehlenden Teil des Diagramms. Die Begriffe für den zu modellierenden Teil stehen nicht auf der Liste.

Aufgabenstellung – Zustandsautomat:

Ergänzen Sie das gegebene Lückensequenzdiagramm mit den Texten. Wieder gilt Jeder Text muss genau einmal verwendet werden.

Hinweise zur Vorbereitung:

  • Erstellung eines Lücken-Zustandsdiagramms
  • Erstellung eines Lücken-Sequenzdiagramms
  • Erstellung eines Bewertungsschemas für die Abgaben
  • Erstellung eines Requirement-Dokuments

Hinweise zur Nachbereitung:

  • Korrektur der Abgaben anhand eines Bewertungsschemas
  • Analyse der Abgaben auf Probleme der Studierenden

Hinweise zur Dauer: 90 min + Fertigstellung


Kritische Einordnung

Vorteile und Stärken:

Die Studierenden wenden Faktenwissen praktisch an. Studierende erhalten eine Einführung in die Modellierung von Sequenz- und Zustandsdiagrammen.

Grenzen und Schwächen:

Es wird nicht eigenständig ein Sequenzdiagramm modelliert, sondern nur vervollständigt.


Literatur und weiterführende Hinweise
  • H.G. Schmidt (1983). Problem‐based learning: rationale and description. In: Medical Education, Vol. 17, pp. 11-16
  • M. J. Prince, R. M. Felder (2006). Inductive teaching and learning methods: Definitions, comparisons, and research bases. In: Journal of Engineering Education, vol. 95, no. 2, pp. 123-138

UML Diagramm Übung: Use Case- & Klassendiagramm

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende aus einer bestehenden Anforderungsbeschreibung ein Use-Case-Diagramm und ein Klassendiagramm mittels einer Modellierungssoftware ihrer Wahl (z.B. Astah, Enterprise Architect o.Ä.) modellieren. Studierende werden in diesem LLA mit der Aufgabe konfrontiert, aus einem mitgelieferten Requirement-Dokument die wichtigsten Informationen zu extrahieren und in ein erstes Software Grobdesign zu abstrahieren. Dazu wird ihnen die Methode der Substantiv-Verb-Analyse vorgestellt, mit der die Identifikation von Klassenkandidaten für das Klassendiagramm unterstützt werden soll. Dieses LLA ist eines von zwei LLAs, das Studierende in die Verwendung der Unified Modeling Language (UML) als eine Sprache zur Modellierung von Softwarearchitektur und –design einführt.


Übersicht

Ziele:

  • Erstellung eines Use-Case-Diagramm auf Basis einer Anforderungsbeschreibung
    • Identifkation und Formulierung von Use-Cases
    • Korrekter Einsatz der Elemente des Use-Case-Diagramms
  • Einstieg in eine Modellierungssoftware
  • Erstellung eines Klassendiagramms auf Basis einer Anforderungsbeschreibung
    • Identifkation und Modellierung von geeigneten Klassen (sowie Methoden und Attributen)
    • Korrekter Einsatz der Elemente des Klassendiagramms (v.a. Assoziationstypen)
  • Anwendung der Substantiv-Verb-Analyse

Didaktische Funktion(en):

  • Transfer / Anwendung

Hintergrund / didaktisch-methodische Einordnung:

Sozialform(en):

Einzelarbeit, Partnerarbeit

Anzahl der Lernenden:

Ab 1 Person


Voraussetzungen und Ressourcen

Voraussetzungen:

  • Lehrperson: Erfahrungen in der Modellierung von Klassen- & Use-Case-Diagrammen und dem Einsatz verschiedener Modellierungssoftware;
  • Lernende: Software Engineering Studierende, die bereits eine theoretische Grundlagenvorlesung besucht haben; Theoretische Grundlagen in Klassen- und Use-Case-Diagrammen

Ausstattung & Medien:


Ablauf
  1. Studierende erhalten das Übungsblatt zur Modellierung des Use-Case- und Klassendiagramms über die Lernplattform. Zentrale Aufgabe ist es auf Basis einer Anforderungsbeschreibung Anwendungsfälle für den Coff-E Kaffeeautomaten zu modellieren. Außerdem ist für die Modellierung des Klassendiagramms ein ausführlicheres Requirement-Dokument enthalten, anhand dessen das Diagramm modelliert werden soll.
  2. Es folgt eine kurze einführende Präsentation in die möglichen Modellierungssoftware
  3. Zudem werden in einem Impulsvortrag noch einmal wesentliche Elemente der beiden Diagrammtypen wiederholt und beispielhaft erläutert.
  4. Die Studierenden bearbeiten (alleine oder in Gruppen) selbstständig die Aufgaben des Übungsblattes.
  5. Während der Übung steht der Lehrende bereit, um aufkommende Fragen zu beantworten oder Hilfestellung bei Problemen zu geben.
  6. Die Studierenden dokumentieren ihre Ergebnisse mit Hilfe einer Modellierungssoftware und geben die Diagramme über die Lernplattform in Form einer PDF oder eines Bildes des UML-Diagramms ab.

Beispiele oder Materialien:

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Nicht-kommerziell – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Aufgabenstellung Use Case-Diagramm:

Ihnen liegt nun folgende Anforderungsbeschreibung für „Coff-E“ vor. Erstellen Sie ein Use Case Diagramm, das auch die Abhängigkeiten der Elemente darstellt. Beachten Sie, dass für ein Use Case Diagramm möglicherweise Verallgemeinerungen nötig sind und/oder nicht alle beschriebenen Informationen relevant sind. Modellieren Sie das Diagramm in Modelio oder einer anderen Modellierungssoftware Ihrer Wahl.
Hinweis: Benutzen Sie bitte bei der Modellierung Generalisierungen, „include“ und „extend“ Beziehungen.

Ihre Firma hat sich entschieden den ersten Prototypen von „Coff-E“ im eigenen Haus zu betreiben. Im Büro ihrer Firma solle daher der neue Kaffeevollautomat „Coff-E“ installiert werden. Um ein fachliches Ziel zu erreichen werden die folgenden Anwendungsfälle definiert.

  • Der Benutzer kann sich auf der App mit Benutzername und Passwort in sein Profil einloggen
  • Der Benutzer kann verschiedene Getränke über die App auswählen:
    • Kaffee schwarz, Kaffee weiß, Cappuccino, Heißes Wasser, Heiße Milch
  • Der Benutzer kann verschiedene Getränke am Kaffeeautomaten auswählen:
    • Kaffee schwarz, Kaffee weiß, Cappuccino, Heißes Wasser, Heiße Milch
  • Nach der Getränkeauswahl kann der Benutzer die Zuckermenge bestimmen:
    • Kein Zucker, Standard Zucker, viel Zucker
    • Falls der Benutzer keine Option wählt, wird per Default Standard Zucker gewählt.
  • Der Benutzer muss nach der Auswahl mit Münzen bezahlen.
  • Bei der Auswahl von viel Zucker muss der Benutzer extra bezahlen.
  • Der Benutzer kann die Scheine im Erdgeschoß wechseln, falls er keine Münzen hat.
  • Der Benutzer kann seine Bankdaten in der App hinterlegen.
  • Der Benutzer kann nach der Auswahl per App bezahlen.
  • Der Benutzer kann die fehlenden Zutaten holen, falls die entsprechende Anzeige auf dem Bildschirm steht.
  • Der Benutzer kann den Techniker anrufen, falls der Kaffeeautomat kaputt ist.
  • Der Techniker repariert den Automaten.
  • Der Techniker kann auch Getränke bestellen.

Aufgabenstellung Klassendiagramm:

Modellieren Sie anhand des Requirements-Dokuments ein Klassendiagramm Kaffeeautomat.

Vorgehensweise um mögliche Klassen zu identifizieren:

  1. Vereinfachen Sie das Requirements- Dokument, extrahieren Sie die wichtigsten Informationen, um einen besseren Überblick über die Requirements zu bekommen.
  2. Führen Sie eine Substantivanalyse des RQ-Dokuments durch.
  3. Erstellen Sie mögliche Klassenkandidaten.
  4. Modellieren Sie das Diagramm in Modelio oder einer anderen Modellierungssoftware Ihrer Wahl.

Hinweise zur Vorbereitung:

  • Erstellung einer Anforderungsbeschreibung für die Erstellung des Use-Case-Diagramms
  • Erstellung eines Requirement-Dokuments für die Erstellung des Klassendiagramms
  • Konzeption von Aufgaben für die Studierenden
  • Erstellung eines Bewertungsschemas für die Abgaben

Hinweise zur Nachbereitung:

  • Korrektur der Abgaben anhand des Bewertungsschemas
  • Analyse der Abgaben auf Probleme der Studierenden

Hinweise zur Dauer: 90-minütige Übung


Kritische Einordnung

Vorteile und Stärken:

Die Studierenden bauen selbstständig ein vertieftes theoretisches und praktisches Wissen in dem Gebiet der UML-Diagramme auf.
Sie lernen das Erstellen von Use-Case-Diagrammen und Klassendiagrammen. Außerdem verstehen sie nach dieser Übung die Generalisierungs-Beziehungen „include“ und „extend“.

Grenzen und Schwächen:

Keine


Literatur und weiterführende Hinweise
  • H.G. Schmidt (1983). Problem‐based learning: rationale and description. In: Medical Education, Vol. 17, pp. 11-16
  • M. J. Prince, R. M. Felder (2006). Inductive teaching and learning methods: Definitions, comparisons, and research bases. In: Journal of Engineering Education, vol. 95, no. 2, pp. 123-138