MINT lernen

Übungen: Klassendiagramm entwerfen

Tierheim, Fahrschule, Kino, Musikschule: Aus jedem Text wird ein Klassendiagramm — wenn man die Signalwörter kennt.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Zehn Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung; wenn du hängst, helfen dir die gestuften Tipps.

A1
Das Tierheim
AFB I

„Die Software des Tierheims verwaltet Tiere und Pflegestellen. Jedes Tier hat einen Namen und ein Aufnahmedatum und kann vermittelt werden. Eine Pflegestelle hat eine Adresse und kann ein Tier aufnehmen.“ Ordnen Sie jedes markierte Wort dem passenden Bestandteil des Klassendiagramms zu.

Ziehe jede Karte in den passenden Korb — oder wähle sie mit Enter aus und drücke dann die Ziffer des Korbs (0 legt sie zurück).
1Klasse
2Attribut
3Methode
4fällt weg
Tier und Pflegestelle haben eigene Eigenschaften und eigenes Verhalten — Klassen. Name, Datum und Adresse sind einfache Werte — Attribute. Die Verben werden Methoden der Klasse, die handelt: Tier.vermitteln(), Pflegestelle.aufnehmen(t: Tier). „Software“ ist das System selbst und wird keine Klasse.
Ansatz: Frage bei jedem Substantiv: Hat es selbst Eigenschaften? Dann Klasse, sonst Attribut.
Weiter: Verben werden Methoden. Und das Programm, um das es geht, ist keine Klasse in seinem eigenen Diagramm.
A2
Der Weg zum Entwurf
AFB I

Nennen Sie die Arbeitsschritte beim Entwurf eines Klassendiagramms aus einem Anforderungstext in einer sinnvollen Reihenfolge.

Ziehe die Karten in die richtige Reihenfolge — mit der Tastatur: ↑/↓ verschiebt, Shift+↑/↓ wechselt nur den Fokus.
1Substantive und Verben im Text markieren.
2Kandidaten prüfen: Synonyme zusammenfassen, das System selbst streichen.
3Klassen festlegen und ihnen Attribute mit Datentyp und Methoden zuordnen.
4Beziehungen festlegen: Assoziationen mit Richtung und Kardinalität, Vererbung.
5Den Entwurf mit jeder Anforderung durchspielen, z. B. als Objektdiagramm.
Erst wenn feststeht, welche Klassen es gibt, kann man sagen, wer wen kennt. Und erst ein fertiger Entwurf lässt sich gegen die Anforderungen prüfen — Fehler dort führen dann zurück zu einem früheren Schritt.
Ansatz: Beziehungen kann man erst zeichnen, wenn die Klassen feststehen.
Weiter: Das Prüfen steht am Ende — aber es kann zum Anfang zurückführen.
A3
Ein Satz, eine Entscheidung
AFB I

Anforderungen an die Software einer Fahrschule: Geben Sie für jeden Satz an, wie er im Klassendiagramm umgesetzt wird.

Ansatz: Suche die Signalwörter: „ist ein“, „hat“, „genau einem“, „beliebig viele“.
Weiter: Eine Telefonnummer hat keine eigenen Eigenschaften — sie bleibt ein Wert.
A4
Die Fahrstunde modellieren
AFB II

„Eine Fahrstunde hat ein Datum, findet mit genau einem Fahrschüler und genau einem Fahrzeug statt und kann verschoben werden. Die Fahrschule kennt alle Fahrstunden.“ Erstellen Sie die passenden Zeilen des Klassendiagramms — drei Bausteine bleiben übrig.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Klasse Fahrstunde
  - datum:
  - schueler:
  - fahrzeug:
  + (neuesDatum: Zeichenkette)
Klasse Fahrschule
  - stunden:

„Mit genau einem Fahrschüler“ wird eine einzelne Referenz vom Typ Fahrschueler, nicht dessen Name. „Kennt alle Fahrstunden“ heißt beliebig viele → dynamische Reihung. Ein Fahrlehrer kommt im Satz nicht vor; er gehört zum Fahrschüler, nicht zur Fahrstunde.
Ansatz: Jedes „mit genau einem …“ wird ein Attribut vom Typ dieser Klasse.
Weiter: „Alle“ ohne Obergrenze → DynArray. Das Verb liefert den Methodennamen.
A5
Die ganze Fahrschule zählen
AFB II Mix

„Eine Fahrschule verwaltet ihre Fahrlehrer, Fahrschüler und Fahrzeuge. Fahrlehrer und Fahrschüler sind Personen mit Name und Telefonnummer. Ein Fahrlehrer hat zusätzlich eine Lizenznummer, ein Fahrschüler die gewünschte Führerscheinklasse. Jeder Fahrschüler hat genau einen Fahrlehrer. Jede Fahrstunde findet mit genau einem Fahrschüler und genau einem Fahrzeug statt; die Fahrschule kennt alle Fahrstunden.“ Bestimmen Sie für einen vollständigen Entwurf die Anzahlen.

Arbeite die Kette Schritt für Schritt ab: Erst wenn ein Schritt stimmt, wird der nächste freigeschaltet. Enter prüft.
  1. Klassen (die Fahrschule selbst mitgezählt) Klassen
  2. Vererbungsbeziehungen
  3. Assoziationen
  4. Attribute eines Fahrlehrer-Objekts, geerbte eingeschlossen Attribute
Klassen: Fahrschule, Person, Fahrlehrer, Fahrschueler, Fahrzeug, Fahrstunde. „sind Personen mit …“ → gemeinsame Oberklasse Person mit zwei Vererbungen. Assoziationen: Fahrschule kennt Fahrlehrer, Fahrschüler, Fahrzeuge und Fahrstunden (4 × *), Fahrschüler → 1 Fahrlehrer, Fahrstunde → 1 Fahrschüler und → 1 Fahrzeug. Ein Fahrlehrer hat name und telefon (geerbt, 4.3.2) und lizenz — auf ihn zeigt nur ein Pfeil, er selbst kennt niemanden.
Ansatz: Gemeinsame Attribute zweier Klassen deuten auf eine Oberklasse hin.
Weiter: Zähle bei den Assoziationen jedes „verwaltet/kennt“ und jedes „genau einem“ als eigene Linie.
A6
Fehlersuche: Der Kino-Entwurf
AFB II

„Ein Kino zeigt Vorstellungen. Jede Vorstellung zeigt genau einen Film in genau einem Saal und hat eine Beginnzeit. Ein Saal hat eine Nummer und eine Anzahl Plätze. Ein Film hat einen Titel und eine Dauer.“ Überprüfen Sie den Entwurf einer Mitschülerin: Drei Zeilen passen nicht zu den Anforderungen oder zu den Entwurfsregeln.

In diesem Text stecken Fehler. Klicke genau die falschen Zeilen an — die richtigen musst du stehen lassen.
Drei typische Entwurfsfehler: ein Name als Ersatz für eine Referenz (Datenbank-Denken), eine Beziehung, die der Text nicht verlangt, und ein Wert, der zur Klasse aufgebläht wurde. Die Kardinalitäten folgen aus „genau einen Film in genau einem Saal“: zweimal 1, beide Pfeile gehen von der Vorstellung aus.
Ansatz: Prüfe jede Zeile gegen den Text: Wird sie verlangt? Ist der Typ sinnvoll?
Weiter: Hat „Dauer“ eigene Eigenschaften? Und wer muss wen kennen, damit eine Vorstellung vollständig ist?
A7
Zwei Entwürfe für eine Hausverwaltung
AFB II

„Eine Wohnung hat eine Adresse und genau einen Vermieter. Ein Vermieter kann mehrere Wohnungen besitzen.“ Vergleichen Sie die beiden Entwürfe und markieren Sie alle zutreffenden Aussagen.

Entwurf A

Wohnung
  • - adresse: Zeichenkette
  • - vermieterName: Zeichenkette

Entwurf B

Wohnung
  • - adresse: Zeichenkette
  • - vermieter: Vermieter
vermieter / wohnungen*1
Vermieter
  • - name: Zeichenkette
  • - wohnungen: DynArray<Wohnung>
Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Auswahl prüfen“.
Entwurf A speichert nur einen Namen — mehrfach, fehleranfällig und nicht eindeutig. Entwurf B modelliert den Vermieter als eigenes Objekt; die Linie trägt an der Vermieter-Seite 1 (jede Wohnung hat genau einen) und an der Wohnungs-Seite *. Der Preis dafür: Bei einer Beziehung in beide Richtungen müssen immer beide Attribute zusammen gepflegt werden.
Ansatz: Was passiert in Entwurf A, wenn ein Vermieter heiratet und den Namen ändert?
Weiter: Die Kardinalität steht an der Seite der gezählten Klasse: Wie viele Vermieter hat eine Wohnung?
A8
Entwurf für die Musikschule
AFB III

„Eine Musikschule hat Lehrkräfte und Schüler. Lehrkräfte und Schüler sind Personen mit Name und Telefonnummer. Jede Lehrkraft unterrichtet ein Instrument und betreut höchstens 20 Schüler. Jeder Schüler hat genau eine Lehrkraft, und beide sollen einander kennen.“ Entwerfen Sie das Klassendiagramm, indem Sie die fünf Entwurfsentscheidungen treffen.

Wähle in jedem Menü den passenden Eintrag und prüfe dann alle auf einmal.
Oberklasse:                     
Kardinalität Lehrkraft → Schueler: 
Kardinalität Schueler → Lehrkraft: 
instrument ist                  
0..20 wird umgesetzt als        
„sind Personen mit Name und Telefonnummer“ → Oberklasse Person mit diesen zwei Attributen. „höchstens 20“ → 0..20 an der Schüler-Seite, umgesetzt als Reihung der Länge 20 (freie Plätze null). „genau eine Lehrkraft“ → 1. Das Instrument ist ein einfacher Wert der Lehrkraft — gehörte es zu Person, hätten auch Schüler eines.
Ansatz: Suche zuerst gemeinsame Eigenschaften zweier Klassen, dann die Mengenwörter.
Weiter: „höchstens 20“ schließt 0 ein. Eine Obergrenze passt zu einer Reihung fester Länge.
A9
Stimmt's? — Wenn sich Anforderungen ändern
AFB III

Grundlage ist ein vollständiger Entwurf der Fahrschule aus A5. Beurteilen Sie die Aussagen zu möglichen Änderungen.

5 Aussagen nacheinander. Eine falsche Einschätzung reicht — dann startest du die Serie mit „Neue Runde“ neu.
Aussage 1 von 5

Ein guter Entwurf zeigt sich bei Änderungen: Referenzen statt Namen, Vererbung nur bei „ist ein“ und Beziehungen gegen die allgemeinste passende Klasse machen Erweiterungen lokal — meist ändert sich nur eine Stelle.
Ansatz: Stell dir zu jeder Änderung vor, welche Zeilen im Diagramm anders aussehen müssten.
Weiter: Oberklasse = allgemeiner. Ein Name ist kein eindeutiger Schlüssel.
A10
Trickaufgabe: Wie viele Klassen?
AFB III Trick

„Die App eines Sportvereins verwaltet Mitglieder. Jedes Vereinsmitglied hat einen Namen und ein Eintrittsjahr. Ein Trainer ist ein Mitglied mit Übungsleiterlizenz; er leitet Mannschaften. Jedes Team hat einen Namen und beliebig viele Spieler. Spieler sind Mitglieder mit einer Rückennummer.“ Ermitteln Sie die Zahl der Klassen eines sinnvollen Entwurfs.

Überlege selbst und trage das Ergebnis ein — Enter prüft direkt.
Die Klassen sind Mitglied, Trainer, Mannschaft und Spieler. Die Falle: „Vereinsmitglied“ ist dasselbe wie „Mitglied“, „Team“ dasselbe wie „Mannschaft“ — Synonyme werden zusammengefasst. „App“ ist das System, „Name“, „Eintrittsjahr“, „Lizenz“ und „Rückennummer“ sind Attribute. Trainer und Spieler erben von Mitglied.
Ansatz: Streiche zuerst alle Synonyme und das System selbst.
Weiter: Prüfe bei jedem übrigen Substantiv, ob es nur ein Wert ist.