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

Einsatz von Deep-Learning-Technologien für die Lehre von UML-Klassendiagrammen

Kurzzusammenfassung:

Für Studierende in Informatikstudiengängen stellt das Erlernen und selbstständige Erstellen von UML-Klassendiagrammen eine Grundvoraussetzung für das erfolgreiche Absolvieren des Studiums dar. Jedoch stellen diese Aufgaben Studierende immer wieder vor Herausforderungen. Da studentische Lösungen von einer Musterlösung abweichen und dennoch korrekt sein können, ist die Korrektur studentischer Klassendiagramme für Lehrende oft mit einem gewissen Zeitaufwand verbunden. Um Studierende bei ihrem Lernprozess und Lehrende bei der Korrektur zu unterstützen, wurde ein Prototyp für die Erkennung und syntaktische Analyse von UML-Klassendiagrammen erstellt. Während den Übungsstunden erhalten Studierende textuelle Beschreibungen (Anforderungen) und erstellen anhand dieser ein Klassendiagramm. Der Prototyp kann Studierenden während den Übungsstunden ein erstes Feedback zu den von ihnen erstellten Klassendiagrammen liefern.


Übersicht

Ziele:

  • Die Studierenden erhalten einen Prototypen, der ihnen ein erstes Feedback zu erstellten Lösungen gibt.
  • Die Studierenden können ihre Lösungen durch individuelles Feedback verbessern.
  • Die Studierenden können anhand des individuellen Feedbacks langfristig ihre Kompetenzen bei der Erstellung von UML-Klassendiagrammen verbessern.
  • Lehrpersonal kann entlastet werden.
  • Studierende können auch zuhause, wo kein Lehrpersonal anwesend ist, üben und Feedback erhalten.

Didaktische Funktion(en):

  • Wiederholung & Festigung
  • Transfer & Anwendung
  • Beurteilung
  • Rückmeldung & Feedback

Hintergrund / didaktisch-methodische Einordnung:

Die in der Kurzzusammenfassung angeführten Punkte motivierten die Entwicklung eines Prototyps zur Erkennung und syntaktischen Analyse von UML-Klassendiagrammen. Da sich Deep-Learning-Technologien aufgrund ihrer rasanten Entwicklung in Bereichen wie Bild- und Texterkennung bewähren konnten, wurden diese für die Entwicklung herangezogen.

Sozialform(en):

Einzelarbeit

Anzahl der Lernenden:

ab 1 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lernende benötigen Vorkenntnisse zu den einzelnen Diagrammelementen der UML-Klassendiagramme und deren mögliche Beziehungen zueinander.
Eine Lehrperson ist nicht zwingend erforderlich, aber dennoch hilfreich, falls es auf Seite der Studierenden zu weiterführenden Fragen kommt.

Ausstattung & Medien:

PC mit Grafikkarte, 1 Beamer


Ablauf
Abb. 1: Beispiel für ein textuelles Feedback an Studierende

Beispiele oder Materialien:

Beispiel einer textuellen Aufgabe:

Ein Spieler meldet sich mit Name und Passwort beim Spiel an.
Dann kann er aus drei verschiedenen Charakteren seine Spielfigur wählen: 
Zauberer, Fee, Zwerg. Diese können zwei 
Waffen besitzen, die der Spieler aus der Menge 
Axt, Lanze, Dreizack und Pfeil und Bogen wählen 
kann. Waffen haben einen Schadenswert und einen
 Verteidigungswert. Außerdem kann ein Character
 eine Tasche mitführen, in der verschiedene 
Gegenstände gesammelt werden können, die man im 
Laufe des Spiels findet (Zauberbuch, Stein, 
Feder, Urkunde). Feinde des Character können 
Ork, Magier und Ritter sein. Diese können 
ebenfalls bis zu zwei der obigen Waffen besitzen.


a.) Beschreiben Sie die Klassen in UML-Notation mit sinnvollen Attributen und Methoden.
b.) Fügen Sie sinnvolle Vererbungsbeziehungen ein.
c.) Fügen Sie weitere Beziehungen zwischen den Klassen mit Multiplizitäten ein.
Abb. 2: Beispiel für die Erkennung von UML-Elementen innerhalb eines Diagramms

Hinweise zur Vorbereitung:

Konzeption von textuellen Beschreibungen.
Vorbereitung einer Beispiellösung, mit der der Prototyp studentische Lösungen vergleichen kann.

Hinweise zur Nachbereitung:

Am Ende der Übungsstunde sollte mit den Studierenden eine gemeinsame Beispiellösung erstellt werden.

Hinweise zur Dauer: Insgesamt ca. 50 Minuten


Kritische Einordnung

Vorteile und Stärken:

Studierende erhalten ein erstes und individuelles Feedback zu ihren erstellten UML-Klassendiagrammen.

Grenzen und Schwächen:

PC mit Grafikkarte muss verfügbar sein. Erstellte studentische Lösungen können bisher nur mit einer Beispiellösung verglichen und Differenzen an Studierende kommuniziert werden.

Sonstige Hinweise:

Das hier beschriebene Lehr-Lern-Arrangement beschreibt, wie ein erstellter Prototyp Studierenden während den Übungsstunden ein erstes und individuelles Feedback zu den von ihnen erstellten Klassendiagrammen liefern kann. Der Prototyp verwendet hierfür Deep-Learning-Technologien. Dadurch können sowohl Studierende unterstützt als auch Lehrpersonen entlastet werden.


Literatur und weiterführende Hinweise

Huber, F.; Hagel, G. (2020): Work-in-Progress: Towards detection and syntactical analysis in UML class diagrams for software engineering education, In: Global Engineering Education Conference (EDUCON), Porto, IEEE.

Redmon, J.; Farhadi, A. (2018): YOLOv3: An Incremental Improvement, arXiv, https://arxiv.org/abs/1804.02767

Modellierung von UML Klassendiagrammen mithilfe von Augmented Reality

Kurzzusammenfassung:

In diesem Lehr-Lern-Arrangement geht es darum, dass Studierende das Modellieren von UML (Unified Modeling Language) (Klassen-) Diagrammen kennenlernen. UML dient der grafischen Darstellung von Softwarebestandteilen.
Das Ziel ist es, den Studierenden mithilfe von Augmented-Reality (AR) eine Modellierumgebung bereitzustellen, die beim Erwerb von Modellier- und damit verbundenen Abstraktionsfähigkeiten unterstützt und die Studierenden motiviert. Hierfür sollen die Studierenden Modellieraufgaben mit einer Augmented Reality Brille bearbeiten.


Übersicht

Ziele:

  • Bereitstellung einer Modellierumgebung, die einerseits einfach benutzbar ist und andererseits die Möglichkeit bietet, Teile des UML-Diagramms einfach im dreidimensionalen Raum hinzuzufügen, zu löschen, zu bearbeiten und zu verschieben
  • Motivieren der Studierenden
  • Verbesserung der Fähigkeit zu modellieren, im Vergleich zu herkömmlichen Modellierumgebungen

Didaktische Funktion(en):

  • Einstieg & Aktivierung
  • Motivation

Hintergrund / didaktisch-methodische Einordnung:

UML spielt in der Softwareentwicklung eine große Rolle und ist Bestandteil vieler Modulkataloge von Studiengängen im Bereich Software Engineering. Es gibt im Rahmen der UML verschiedene Diagrammtypen, welche sich in Struktur- und Verhaltensdiagrammtypen aufteilen lassen.
Dieses LLA befasst sich besonders mit Klassendiagrammen, also einem Diagrammtyp, der die Struktur eines Systems beschreibt. Es wird besonders häufig eingesetzt.
Die Domäne Software Engineering beinhaltet oft abstrakte Konzepte, was Abstraktionsfähigkeiten der Studierenden voraussetzt. Um den Studierenden das Erlernen des Modellierens (und damit Abstrahierens) von UML Klassendiagrammen zu ermöglichen, können Diagrammbestandteile im dreidimensionalen Raum mithilfe von AR dargestellt werden. Die Anordnung der Bestandteile im dreidimensionalen Raum soll so einfacher auszudrücken und zu verstehen sein und Bestandteile können tiefgründiger visualisiert werden (vgl. L.  Feijs  and  R.  De  Jong (1998), H. Sanatnama and F. Brahimi (2010)). Durch einen, technologisch gesehen, neuen Zugang, sollen Studierende im Rahmen des Technology-Enhanced-Learning Ansatzes mit einer neuen Technologie unterstützt bzw. für diese Lehrinhalt motiviert werden (Manouselis et al., 2011).

Sozialform(en):

Einzelarbeit

Anzahl der Lernenden:

1 – 2 Personen


Voraussetzungen und Ressourcen

Voraussetzungen:

Lehrperson muss AR Brille bedienen können und hinreichende Kenntnisse in UML haben

Ausstattung & Medien:

Seminarraum, Mind. eine Augmented Reality Brille, Ariadne (Modellierungssoftware die sowohl zweidimensional als auch dreidimensional verfügbar ist), PCs für die Studierenden


Ablauf

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.

Beispiel 1:

  • In einem Softwaresystem sollen die folgenden Informationen zu Olympischen Spielen eingegeben, verarbeitet und angefragt werden können:
  • An den Olympischen Spielen sind verschiedene Länder beteiligt, die durch ihren jeweiligen Namen identifiziert werden.
  • Für jedes Land starten Athleten bei den Spielen, die in verschiedenen Wettkämpfen gegeneinander antreten.
  • Ein Athlet kann dabei auch an mehreren Wettkämpfen teilnehmen.
  • Für jeden Wettkampf werden der (Austragungs)-Ort und das (Wettkampf)-Datum festgehalten.
  • Für jeden Sportler werden Nachname, Vorname, Geburtstag, Gewicht, Größe und sein (Herkunfts)-land im System erfasst.
  • Die Sportler werden von verschiedenen Betreuern versorgt. So können sich beliebig viele Trainer, Ärzte und Physiotherapeuten um einen oder mehrere Athleten kümmern.
  • Für jeden Betreuer sollen Nachname, Vorname, Geburtstag und Herkunftsland gespeichert werden.

Beispiel 2:

  • Sie entwickeln Software für ein Computerschachspiel. Entwerfen Sie ein Spielbrett mit den Figuren. Die folgenden Informationen sollen dargestellt werden.
  • Ein Schach-Spiel besteht aus einem Schachbrett und 2 Spielern. Das Schachbrett besteht aus 64 Feldern, die jeweils eine x- und eine y-Koordinaten haben.
  • Jeder Spieler verfügt über insgesamt 16 Figuren. Das sind 8 Bauern, 2 Türme, 2 Läufer, 2 Springer, 1 Dame und 1 König.
  • Die Spielfiguren der jeweiligen Spieler sind farblich gekennzeichnet (Spieler 1 hat weiße Figuren, Spieler 2 schwarze).
  • Diese Spielfigurtypen schließen sich gegenseitig aus, eine Spielfigur ändert ihren Typen während des Spiels nicht (Die Sonderregel bzgl. des Umwandelns von Bauern zu Damen ist ein zukünftiges Feature der Software und soll nicht beachtet werden).
  • Jede Figur steht entweder auf einem Feld oder wurde bereits geschlagen.
  • In den Feldern soll vermerkt werden, ob es zum aktuellen Spielzeitpunkt frei ist (keine Figur steht darauf) oder ob dort eine Figur steht – und welche Figur das ist. Zusätzlich weiß jede Figur auf welchem Feld sie steht.
  • Jede Figur soll eine Methode moveTo(Feld) bieten, die es erlaubt die Figur auf ein anderes Zielfeld zu bewegen.

Hinweise zur Vorbereitung:

Vorbereitung von Szenarien für die Anwendungsaufgaben

Hinweise zur Nachbereitung:

Die modellierten Diagramme können in einer zentralen Datenbank abgespeichert und ggfs. bewertet werden.

Hinweise zur Dauer: Flexibel / In einer 90 minütigen Übungseinheit können beispielsweise mehrere Zeitslots eingeplant werden, in welchen Studierende mit der AR Brille arbeiten können.


Kritische Einordnung

Vorteile und Stärken:

Wecken des Interesses Studierender gegenüber den Lehrmethoden: Ein Vergleich zwischen Studierenden, welche mit herkömmlicher (zweidimensionaler) und AR (dreidimensionaler) Modellierumgebung arbeiteten zeigte, dass die Studierenden, die mit den AR Brillen Klassendiagramme modellierten, signifikant mehr Interesse gegenüber der eingesetzten Lehrmethodik, also der AR Brille, zeigten. Generell wiesen die Studierenden, welche mit der AR Brille modellierten, ein höheres Maß an Motivation auf (siehe Reuter, R.; Hauser F.; Muckelbauer, D.; Stark, T.; , Antoni, A.; Mottok J. and Wolff, C. (2019)).

Grenzen und Schwächen:

Die Bedienung der Modellierungssoftware ist besonders für Novizen fordernd, denn sie müssen sich nicht nur mit neuen Lehrinhalten, sondern auch mit einem neuen Tool auseinandersetzen. Der Einsatz von AR in der Lehre steckt noch in den Kinderschuhen. Der Aufwand zum Einsatz von AR Brillen ist mit Einarbeitung und der Implementierung von notwenigen AR Applikationen verbunden. Der Einsatz im Feld ist aufwändig, da auch die Lernenden sich mit der neuen Technologie erst auseinandersetzen müssen.

Sonstige Hinweise:

Die Teilnehmer benötigen noch keine spezifischen Kompetenzen in der Modellierung, es ist jedoch sinnvoll, wenn diese bereits eine Vorlesungseinheit zum Thema Modellierung mit UML Klassendiagrammen besucht haben.


Literatur und weiterführende Hinweise
  • Reuter, R.; Hauser F.; Muckelbauer, D.; Stark, T.; , Antoni, A.; Mottok J. and Wolff, C. (2019): Using augmented reality in software engineering education? First insights to a comparative study of 2D and AR UML modeling. In: HICSS & IEEE Conference on software engineering education and teaching (CSEE&T). Honolulu, USA.
  • Feijs, L. and De Jong, R. (1998): “3d visualization of software architectures,” Commun. ACM, vol. 41, no. 12, S. 73–78.
  • Sanatnama, H. and Brahimi, F. (2010): “Graph Drawing Algorithms: Using in Software Tools, ”Journal of Applied Sciences (Faisalabad), vol. 10, no. 17, S. 1894–1901.
  • Manouselis, N., Drachsler, H., Vuorikari, R., Hummel, H. & Koper, R. (2011): Recommender Systems in Technology Enhanced Learning. Recommender Systems Handbook, S. 387–415.