Aufgabe 21 - Eine Problemstellung modellieren
Aufgabe 21 - Eine Problemstellung modellieren
Abschnitt betitelt „Aufgabe 21 - Eine Problemstellung modellieren“Worum geht es?
Abschnitt betitelt „Worum geht es?“Statik und Dynamik: Sie analysieren eine gegebene Problemstellung und stellen Struktur und Abläufe mit den grafischen Notationen der UML dar, bevor eine einzige Zeile Code entsteht (siehe Kapitel Statik-Modellierung und Dynamik-Modellierung). Das Modell ist hier das Produkt; implementiert wird nichts. Genau diese Kompetenz, Struktur und Ablauf einer Problemstellung zu analysieren und grafisch darzustellen, verlangt der Lehrplan wörtlich.
Was Sie dafür brauchen
Abschnitt betitelt „Was Sie dafür brauchen“- Kapitel Statik-Modellierung (Klassendiagramm, Sichtbarkeiten, Multiplizitäten, abstrakte Klassen) und Dynamik-Modellierung (Sequenz- und Zustandsdiagramm).
- Ein Diagrammwerkzeug: Mermaid, PlantUML oder diagrams.net; Papier ist für Entwürfe ausdrücklich erlaubt.
- Für Teil D eine Partnerin oder einen Partner für die Kreuzprüfung.
Welche Kompetenzen Sie erwerben und zeigen
Abschnitt betitelt „Welche Kompetenzen Sie erwerben und zeigen“- Sie überführen einen Anforderungstext systematisch in ein Klassendiagramm.
- Sie modellieren Abläufe als Sequenzdiagramm und Lebenszyklen als Zustandsdiagramm.
- Sie prüfen Modelle auf innere Widersprüche und kritisieren fremde Modelle begründet.
Pädagogische Einordnung
Abschnitt betitelt „Pädagogische Einordnung“- Reproduktion: Modellelemente im Text identifizieren und benennen (Teil A).
- Reorganisation und Transfer: den Text in die drei Diagrammarten übersetzen (Teile B und C).
- Reflexion, Problemlösung und Urteilsbildung: Diagramme gegeneinander prüfen, Widersprüche aufdecken und Modellentscheidungen verteidigen (Teil D).
Szenario: Getränkeautomat der Schule
Abschnitt betitelt „Szenario: Getränkeautomat der Schule“Der Automat verkauft Getränke (Wasser, Saft, Kakao, jeweils mit Preis und Füllstand). Ein Kauf läuft so ab: Der Nutzer wirft Münzen ein und wählt ein Getränk; der Automat prüft Guthaben und Füllstand, gibt das Getränk und das Wechselgeld aus. Reicht das Guthaben nicht, zeigt er den Fehlbetrag an; ist das Getränk leer, bietet er die Rückgabe des Guthabens an. Der Hausmeister kann den Automaten befüllen und die Tageseinnahmen auslesen; dafür versetzt ihn ein Schlüsselschalter in den Wartungsmodus.
Arbeitsaufträge
Abschnitt betitelt „Arbeitsaufträge“Die Übung ist auf etwa zwei Stunden ausgelegt. Teil D ist der Expertenteil und wird zu zweit bearbeitet.
Teil A - Den Text zerlegen
Abschnitt betitelt „Teil A - Den Text zerlegen“- Markieren Sie im Szenario alle Substantive und sortieren Sie sie in drei Spalten: Klassenkandidat, Attribut, weder noch (mit kurzer Begründung je Eintrag).
- Markieren Sie alle Verben und ordnen Sie jedes einem Klassenkandidaten als mögliche Methode zu.
- Listen Sie alle Zahlen- und Zustandsangaben des Textes (Preis, Füllstand, Guthaben, Wartungsmodus) und notieren Sie je einen sinnvollen Datentyp.
Teil B - Statik: das Klassendiagramm
Abschnitt betitelt „Teil B - Statik: das Klassendiagramm“- Erstellen Sie das Klassendiagramm. Erwartet werden: sinnvolle Klassen (Kandidaten sind unter anderem
VendingMachine,Beverage,CoinBox,Sale), Sichtbarkeiten, Attribute mit Typen, Methoden und Multiplizitäten an allen Assoziationen. - Mindestens eine Stelle des Modells verwendet Vererbung oder eine abstrakte Klasse sinnvoll (etwa Benutzerrollen oder Getränkearten). Begründen Sie die Stelle in einem Satz; falls Sie bewusst keine Vererbung einsetzen, begründen Sie das ebenso.
- Begründen Sie für zwei Multiplizitäten Ihrer Wahl in je einem Satz, warum sie so und nicht anders lauten.
Teil C - Dynamik: Sequenz und Zustand
Abschnitt betitelt „Teil C - Dynamik: Sequenz und Zustand“- Zeichnen Sie das Sequenzdiagramm für den erfolgreichen Kauf (Nutzer, Automat, Getränkespeicher, Münzspeicher): Nachrichten in korrekter Reihenfolge, Antworten gestrichelt, mindestens ein
alt-Fragment für “Guthaben reicht / reicht nicht”. - Zeichnen Sie das Zustandsdiagramm des Automaten mit mindestens den Zuständen
Ready,CoinsInserted,DispensingundMaintenance, mit beschrifteten Ereignissen an allen Übergängen. Kontrollfrage an das eigene Diagramm: Kommt der Automat aus jedem Zustand wieder heraus? - Begründen Sie in zwei Sätzen, warum der Kaufablauf ins Sequenzdiagramm gehört, der Wartungsmodus aber ins Zustandsdiagramm.
Teil D - Expertenteil: Kreuzprüfung und Verteidigung
Abschnitt betitelt „Teil D - Expertenteil: Kreuzprüfung und Verteidigung“- Tauschen Sie Ihre drei Diagramme mit einem anderen Team. Prüfen Sie das fremde Modell systematisch: Kommt jede Nachricht des Sequenzdiagramms als Methode im Klassendiagramm vor? Ist jeder Zustandsübergang durch das Szenario gedeckt? Sind die Multiplizitäten begründbar?
- Notieren Sie mindestens zwei konkrete Unstimmigkeiten im fremden Modell, jeweils mit Fundstelle und Verbesserungsvorschlag. “Gefällt mir nicht” zählt nicht; jede Kritik nennt das verletzte Kriterium.
- Nehmen Sie die Kritik am eigenen Modell entgegen, entscheiden Sie pro Punkt: annehmen und korrigieren, oder mit Begründung ablehnen. Beides ist legitim; unbegründetes Ignorieren nicht.
- Erweiterungsfrage, nur durchdenken: Der Automat soll künftig Kartenzahlung unterstützen. Welche Klassen und welche Diagramme ändern sich, welche bleiben unberührt? Was sagt die Antwort über die Qualität Ihres Modells?
Wissenscheck
Abschnitt betitelt „Wissenscheck“- Woran erkennen Sie im Anforderungstext Klassenkandidaten, woran Attribute, woran Methoden?
- Was bedeutet die Multiplizität
1gegenüber0..*, und wo steht sie am Diagramm? - Welche Frage beantwortet das Sequenzdiagramm, welche das Zustandsdiagramm?
- Warum wird die Regel “ein Getränk kann nur ausgegeben werden, wenn der Füllstand über 0 liegt” nicht durch eine Multiplizität abgebildet, und wo gehört sie hin?
- Nennen Sie drei Kriterien aus der Review-Checkliste für Klassendiagramme.
Die drei Diagramme (Export oder Quelltext), die Zerlegungstabellen aus Teil A und das Protokoll der Kreuzprüfung mit den Entscheidungen zu jeder Kritik. Keine Implementierung; das Modell ist das Produkt.