Lektion 7 von 7

Prüfungstraining

Drei komplette Aufgaben wie in der Abschlussprüfung: erst ein Szenario, dann Teilaufgaben mit Punkten. Du bearbeitest sie unter Zeitdruck, vergleichst mit der Musterlösung und bewertest dich selbst nach dem Schema der Prüfer.

  • Etwa 85 Minuten
  • 3 Prüfungsaufgaben mit Bewertungsschema
  • Papier und Stift genügen

So nutzt du das Training

Jede Aufgabe ist aufgebaut wie ein Handlungsschritt der IHK: Ein Unternehmen, eine Situation, mehrere Teilaufgaben. Rechne mit etwa einer Minute pro Punkt, das entspricht dem Tempo der schriftlichen Prüfung. Bearbeite eine Aufgabe am Stück, ohne in frühere Lektionen zu schauen, und bewerte dich danach ehrlich nach der Tabelle.

  • Aufgabe 1 (Grundlagen, AP1/AP2): Use-Case- und Klassendiagramm zu einem kleinen System. Grundlage sind Lektion 2 und Lektion 3.
  • Aufgabe 2 (AP2 Anwendungsentwicklung): Klassendiagramm mit Vererbung aus einem Text ableiten und eine Methode in Pseudocode schreiben. Grundlage ist Lektion 4.
  • Aufgabe 3 (AP2): Aktivitätsdiagramm mit Verzweigung und Parallelität. Grundlage ist Lektion 5.

Aufgabe 1: Terminverwaltung einer Fahrradwerkstatt

Prüfungsaufgabe 1
Ausgangssituation

Die Radwerk Brandt GmbH in Kassel betreibt eine Fahrradwerkstatt mit sechs Mechanikern. Reparaturtermine werden bisher telefonisch vergeben und in einen Papierkalender eingetragen. Ihr Ausbildungsbetrieb, die NordIT Solutions GmbH, soll dafür eine Terminverwaltung entwickeln, und Sie übernehmen die Modellierung.

Kunden sollen online einen Termin buchen und ihn auch wieder absagen können. Bei der Buchung kann der Kunde auf Wunsch zusätzlich ein Ersatzrad für die Dauer der Reparatur reservieren. Ein Mechaniker schließt nach der Reparatur den Auftrag ab; dabei wird jedes Mal eine Rechnung erstellt. Gespeichert werden Kunden mit Kundennummer, Name und Telefonnummer. Jeder Kunde meldet mindestens ein Fahrrad mit Rahmennummer, Marke und Typ an. Ein Termin gilt für genau ein Fahrrad und hat einen Beginn, eine Dauer in Minuten und einen Status; er kann abgesagt und auf einen neuen Zeitpunkt verschoben werden; Kunden können einen gebuchten Termin auch selbst verschieben. Mechaniker haben eine Personalnummer und einen Namen, und es soll prüfbar sein, ob ein Mechaniker zu einem Zeitpunkt frei ist. Einem Termin wird höchstens ein Mechaniker zugeordnet, bei der Buchung noch keiner; die Zuordnung nimmt die Werkstattleitung vor.

a) Erstellen Sie ein Use-Case-Diagramm für die Terminverwaltung. Berücksichtigen Sie die Beziehungen «include» und «extend». (10 Punkte)

b) Erstellen Sie ein Klassendiagramm für die Klassen Kunde, Fahrrad, Termin und Mechaniker mit Attributen, Datentypen, Methoden, Beziehungen und Multiplizitäten. (12 Punkte)

c) Erläutern Sie an diesem Szenario den Unterschied zwischen «include» und «extend». (3 Punkte)

Zeitempfehlung: etwa 25 Minuten für 25 Punkte. Stell dir einen Timer und schau erst danach in die Lösung.

Zeichne auf Papier oder im Diagramm-Tool nachzeichnen: Es steckt in den Übungsprüfungen und öffnet sich dort bei jeder Zeichenaufgabe.

Musterlösung und Bewertung anzeigen

Lösung a) Use-Case-Diagramm

Werkstatt-Terminverwaltung«extend»«include»Bedingung: Kundewünscht ErsatzradTermin buchenErsatzrad reservierenTermin absagenAuftrag abschließenRechnung erstellenKundeMechaniker

Das Ersatzrad ist ein Zusatz, den der Kunde nur manchmal wählt: «extend», der Pfeil zeigt auf den erweiterten Fall „Termin buchen“. Die Rechnung entsteht bei jedem Abschluss: «include», der Pfeil zeigt auf den eingebundenen Fall „Rechnung erstellen“. Die Bedingung für das extend steht in einer Notiz an der Beziehung. Das System selbst und die Datenbank sind keine Akteure. Zusätzliche Fälle wie „Termin verschieben“ (Kunde) oder „Mechaniker zuordnen“ (Werkstattleitung als dritter Akteur) sind vertretbar und geben keinen Abzug.

So wird bewertet, a) (Richtwerte)

Bewertet wirdPunkte
Systemgrenze als Rechteck mit Namen1
Akteure Kunde und Mechaniker außerhalb der Systemgrenze, je 1 Punkt2
Anwendungsfälle Termin buchen, Termin absagen, Auftrag abschließen mit Assoziationen zum richtigen Akteur, je 1 Punkt3
Ersatzrad reservieren mit «extend», Pfeil zu Termin buchen1
Bedingung am extend angegeben, etwa als Notiz „Kunde wünscht Ersatzrad“1
Rechnung erstellen mit «include», Pfeil von Auftrag abschließen2
Summe10

Lösung b) Klassendiagramm

11..*besitzt10..*0..10..*führt ausKunde- kundenNr: int- name: String- telefon: StringFahrrad- rahmenNr: String- marke: String- typ: StringTermin- beginn: DateTime- dauerMin: int- status: String+ absagen(): void+ verschieben(neu: DateTime): voidMechaniker- personalNr: int- name: String+ istFrei(am: DateTime): boolean

Am Mechaniker steht 0..1, weil ein Termin bei der Buchung noch keinen Mechaniker hat. Die Rahmennummer ist ein String, weil Rahmennummern meist Buchstaben enthalten. Der Termin hängt am Fahrrad und nicht direkt am Kunden: Über das Fahrrad ist der Kunde eindeutig. Eine zusätzliche Assoziation Kunde zu Termin ist ebenfalls vertretbar, wenn du sie begründest.

So wird bewertet, b) (Richtwerte)

Bewertet wirdPunkte
Klassen Kunde, Fahrrad, Termin, Mechaniker, je 0,5 Punkte2
Attribute vollständig mit Sichtbarkeit und passendem Datentyp3
Methoden absagen(), verschieben(neu: DateTime) und istFrei(am: DateTime): boolean mit Parametern und Rückgabetyp3
Assoziationen zwischen den richtigen Klassen1
Multiplizitäten an beiden Enden, je Beziehung 1 Punkt3
Summe12

Lösung c) include und extend

Mögliche Antwort: „Ein mit «include» eingebundener Anwendungsfall wird immer mit ausgeführt: Jeder Abschluss eines Auftrags erstellt eine Rechnung. Ein mit «extend» angebundener Anwendungsfall ergänzt den Basisfall nur unter einer Bedingung: Ein Ersatzrad wird nur reserviert, wenn der Kunde es bei der Buchung wünscht.“

So wird bewertet, c) (Richtwerte)

Bewertet wirdPunkte
include als Pflichtbestandteil erklärt, mit Beispiel aus dem Szenario1,5
extend als optionale Erweiterung erklärt, mit Beispiel aus dem Szenario1,5
Summe3

Typische Punktabzüge

  • Pfeilrichtung bei «include» oder «extend» vertauscht. Eselsbrücke aus Lektion 2: include zeigt weg, extend zeigt hin. Der Pfeil startet beim Fall, der den anderen kennt, bei extend also bei der Erweiterung und zeigt auf den Basisfall.
  • Einzelne Bedienschritte als Anwendungsfall, etwa „Button Buchen klicken“. Ein Anwendungsfall ist ein Ziel des Akteurs.
  • Fahrrad als Attribut im Kunden statt als eigene Klasse, obwohl es eigene Daten hat.
  • Am Mechaniker eine 1 statt 0..1, obwohl der Text sagt, dass bei der Buchung noch keiner zugeordnet ist.

Aufgabe 2: Carsharing mit Vererbung und Pseudocode

Prüfungsaufgabe 2
Ausgangssituation

Die Weserland Mobil GmbH in Bremen betreibt ein Carsharing mit E-Autos und Transportern. Sie arbeiten im Entwicklungsteam an einer neuen Abrechnungssoftware, die objektorientiert umgesetzt wird.

Jedes Fahrzeug hat ein Kennzeichen, ein Modell und einen Preis pro Minute. Ein Fahrzeug ist immer entweder ein E-Auto oder ein Transporter. Bei E-Autos werden der Akkustand in Prozent und die Reichweite in Kilometern gespeichert, und es soll abfragbar sein, ob das Auto geladen werden muss. Bei Transportern wird das Ladevolumen in Kubikmetern gespeichert. Der Preis eines Fahrzeugs für eine Anzahl Minuten ergibt sich aus Minuten mal Minutenpreis; bei Transportern kommt eine Reinigungspauschale von 5,00 Euro hinzu. Kunden mit Kundennummer und Namen können beliebig viele Fahrten machen. Eine Fahrt speichert Start, Ende und die gefahrenen Kilometer und bezieht sich auf genau ein Fahrzeug; die Fahrt muss ihr Fahrzeug kennen, umgekehrt nicht. Die Kosten einer Fahrt ergeben sich aus dem Zeitpreis des Fahrzeugs; der Zeitpreis wird auf höchstens 79,00 Euro begrenzt. Danach kommt für jeden Kilometer über 100 km ein Zuschlag von 0,30 Euro hinzu.

a) Erstellen Sie ein Klassendiagramm mit Attributen, Datentypen, Methoden, Beziehungen und Multiplizitäten. Nutzen Sie Vererbung. (12 Punkte)

b) Implementieren Sie die Methode berechneKosten(): double der Klasse Fahrt in Pseudocode. Die Funktion minutenZwischen(von: DateTime, bis: DateTime): int steht zur Verfügung. (8 Punkte)

c) Erläutern Sie, warum die Klasse Fahrzeug abstrakt ist und was beim Aufruf von berechnePreis() passiert, wenn die Fahrt mit einem Transporter stattfand. (5 Punkte)

Zeitempfehlung: etwa 25 bis 30 Minuten für 25 Punkte. Stell dir einen Timer und schau erst danach in die Lösung.

Zeichne auf Papier oder im Diagramm-Tool nachzeichnen: Es steckt in den Übungsprüfungen und öffnet sich dort bei jeder Zeichenaufgabe.

Musterlösung und Bewertung anzeigen

Lösung a) Klassendiagramm

10..*0..*1fahrzeugAbstrakt: Es gibt nur E-Autosund Transporter. Von Hand:Name kursiv oder {abstract}.Kunde- kundenNr: int- name: StringFahrt- start: DateTime- ende: DateTime- km: int+ berechneKosten(): doubleFahrzeug{abstract}- kennzeichen: String- modell: String# preisProMinute: double+ berechnePreis(minuten: int): doubleEAuto- akkustand: int- reichweiteKm: int+ mussLaden(): booleanTransporter- ladevolumen: double+ berechnePreis(minuten: int): double

„Immer entweder ein E-Auto oder ein Transporter“ heißt: Von Fahrzeug selbst gibt es keine Objekte, die Klasse ist abstrakt. Die Unterklassen wiederholen die geerbten Attribute nicht. Transporter überschreibt berechnePreis(), weil die Pauschale dazukommt, und braucht dafür Zugriff auf den Minutenpreis; deshalb ist preisProMinute geschützt (#). Privat mit einem Getter wäre ebenso richtig. Ebenfalls richtig: berechnePreis() in Fahrzeug abstrakt lassen und in beiden Unterklassen umsetzen. Der Pfeil von Fahrt zu Fahrzeug folgt aus „die Fahrt muss ihr Fahrzeug kennen, umgekehrt nicht“; der Rollenname fahrzeug am Pfeilende ist zugleich der Attributname für den Pseudocode.

So wird bewertet, a) (Richtwerte)

Bewertet wirdPunkte
Klassen Kunde, Fahrt, Fahrzeug, EAuto, Transporter2
Fahrzeug als abstrakt gekennzeichnet (kursiv oder {abstract})1
Vererbung mit leerem Dreieck an Fahrzeug, geerbte Attribute nicht wiederholt2
Attribute mit Sichtbarkeit und Datentyp, Zugriff der Unterklasse auf den Minutenpreis gelöst3
Methoden berechnePreis() in Fahrzeug und Transporter (alternativ abstrakt in Fahrzeug und in beiden Unterklassen umgesetzt), mussLaden(), berechneKosten()2
Assoziationen mit Multiplizitäten, Navigierbarkeit von Fahrt zu Fahrzeug2
Summe12

Lösung b) Pseudocode

METHODE berechneKosten(): double
    minuten = minutenZwischen(start, ende)
    kosten = fahrzeug.berechnePreis(minuten)
    WENN kosten > 79.00 DANN
        kosten = 79.00
    ENDE WENN
    WENN km > 100 DANN
        kosten = kosten + (km - 100) * 0.30
    ENDE WENN
    RUECKGABE kosten
ENDE METHODE

Der entscheidende Punkt ist die zweite Zeile: Die Fahrt rechnet den Zeitpreis nicht selbst aus, sondern fragt ihr Fahrzeug. Ob dabei die Pauschale dazukommt, entscheidet das Fahrzeug. Zur Kontrolle ein Rechenbeispiel: Transporter mit 0,25 Euro pro Minute, 300 Minuten, 180 km. Zeitpreis 75,00 plus 5,00 Pauschale ergibt 80,00, gedeckelt auf 79,00. Dazu 80 km mal 0,30 gleich 24,00, zusammen 103,00 Euro. Die überschriebene Methode im Transporter sieht so aus (nicht gefordert, aber hilfreich zum Verständnis):

// in der Klasse Transporter
METHODE berechnePreis(minuten: int): double
    RUECKGABE minuten * preisProMinute + 5.00
ENDE METHODE

So wird bewertet, b) (Richtwerte)

Bewertet wirdPunkte
Minuten mit minutenZwischen(start, ende) ermittelt1
Zeitpreis über fahrzeug.berechnePreis(minuten), nicht selbst berechnet2
Deckelung auf 79,00 Euro korrekt und vor dem Kilometerzuschlag2
Zuschlag nur für die Kilometer über 100, richtig berechnet2
Rückgabe des Ergebnisses, Methode vollständig und lesbar strukturiert1
Summe8

Lösung c) Abstrakte Klasse und Polymorphie

Mögliche Antwort: „Fahrzeug ist abstrakt, weil es kein Fahrzeug gibt, das weder E-Auto noch Transporter ist. Die Klasse bündelt nur die gemeinsamen Attribute und Methoden, damit sie nicht doppelt gepflegt werden. Beim Aufruf fahrzeug.berechnePreis(minuten) wird zur Laufzeit geprüft, welches Objekt tatsächlich dahintersteht. Ist es ein Transporter, läuft dessen überschriebene Methode mit Pauschale, bei einem E-Auto die geerbte aus Fahrzeug. Die Klasse Fahrt muss den genauen Typ dafür nicht kennen (Polymorphie).“

So wird bewertet, c) (Richtwerte)

Bewertet wirdPunkte
Abstrakt: keine eigenen Objekte, gemeinsame Eigenschaften zentral2
Überschriebene Methode des Transporters wird zur Laufzeit gewählt2
Begriff Polymorphie oder dynamische Bindung sinnvoll verwendet1
Summe5

Typische Punktabzüge

  • Vererbungspfeil mit offener Spitze oder am falschen Ende: Das leere Dreieck sitzt an der Oberklasse.
  • kennzeichen, modell und preisProMinute in EAuto und Transporter wiederholt.
  • In berechneKosten() eine Fallunterscheidung nach dem Fahrzeugtyp statt des polymorphen Aufrufs. Das rechnet richtig, verfehlt aber den Kern der Aufgabe und bringt meist nur Teilpunkte.
  • Deckel erst nach dem Kilometerzuschlag angewendet oder Zuschlag auf alle Kilometer statt nur auf die über 100.

Aufgabe 3: Onboarding neuer Mitarbeiter

Prüfungsaufgabe 3
Ausgangssituation

Die Hanse Logistik AG in Hamburg stellt jeden Monat mehrere neue Mitarbeiter ein. Bisher läuft die Vorbereitung ihrer Arbeitsplätze in der IT uneinheitlich, oft fehlt am ersten Arbeitstag das Notebook oder das Konto. Sie sind in der IT-Abteilung beauftragt, den Onboarding-Prozess zu dokumentieren.

Die Personalabteilung legt für jeden neuen Mitarbeiter ein Onboarding-Ticket an, das die IT zuerst prüft. Danach laufen zwei Arbeiten gleichzeitig. Für die Hardware prüft die IT, ob ein passendes Notebook auf Lager ist. Ist eines vorhanden, wird es reserviert; andernfalls wird es beim Lieferanten bestellt, und die IT wartet auf die Lieferung. Parallel dazu wird das Benutzerkonto angelegt, das Postfach eingerichtet und anschließend werden die Berechtigungen für die Abteilung vergeben. Erst wenn beides erledigt ist, wird das Notebook eingerichtet und dem Mitarbeiter mit einem Übergabeprotokoll übergeben.

a) Stellen Sie den beschriebenen Ablauf als UML-Aktivitätsdiagramm dar. (15 Punkte)

b) Erläutern Sie an diesem Ablauf den Unterschied zwischen einer Verzweigung und einer Gabelung. (4 Punkte)

c) Nennen Sie drei Maßnahmen, mit denen die IT bei der Vergabe der Berechtigungen die Informationssicherheit berücksichtigt, und erläutern Sie eine davon. (6 Punkte)

Zeitempfehlung: etwa 25 Minuten für 25 Punkte. Stell dir einen Timer und schau erst danach in die Lösung.

Zeichne auf Papier oder im Diagramm-Tool nachzeichnen: Es steckt in den Übungsprüfungen und öffnet sich dort bei jeder Zeichenaufgabe.

Musterlösung und Bewertung anzeigen

Lösung a) Aktivitätsdiagramm

[auf Lager][nicht auf Lager]Onboarding-Ticket anlegenOnboarding-Ticket prüfenLagerbestand prüfenNotebook reservierenNotebook bestellenLieferung abwartenBenutzerkonto anlegenPostfach einrichtenBerechtigungen vergebenNotebook einrichtenNotebook mit Protokoll übergeben

Die erste Aktion „Onboarding-Ticket anlegen“ gehört der Personalabteilung, erst danach prüft die IT das Ticket. „Gleichzeitig“ im Text ist das Signal für eine Gabelung (Balken). Im Hardware-Strang steht vor der Raute die Aktion „Lagerbestand prüfen“, denn die Entscheidung braucht ein Ergebnis, das sie auswerten kann; dann folgt die Entscheidung (Raute mit zwei Wächtern), die vor der Vereinigung wieder zusammengeführt wird. „Erst wenn beides erledigt ist“ ist die Vereinigung: Sie wartet, bis beide Stränge angekommen sind. Schwimmbahnen für Personalabteilung und IT wären möglich, sind hier aber nicht gefordert.

So wird bewertet, a) (Richtwerte)

Bewertet wirdPunkte
Startknoten und Endknoten1
Aktionen vollständig (mit Onboarding-Ticket anlegen und Lagerbestand prüfen), als Tätigkeit formuliert und in sinnvoller Reihenfolge5
Gabelung und Vereinigung als Balken an der richtigen Stelle3
Verzweigung mit Wächtern [auf Lager] und [nicht auf Lager]2
Zusammenführung der beiden Hardware-Wege vor der Vereinigung2
Kontrollflüsse mit Pfeilrichtung, keine offenen Enden2
Summe15

Lösung b) Verzweigung und Gabelung

Mögliche Antwort: „An einer Verzweigung (Raute) wird genau ein Weg gewählt, abhängig vom Wächter: Das Notebook wird entweder reserviert oder bestellt. An einer Gabelung (Balken) laufen alle ausgehenden Wege unabhängig voneinander los (parallel, die Reihenfolge ist egal): Hardware und Konten werden parallel vorbereitet. Die zugehörige Vereinigung wartet, bis alle Wege fertig sind.“

So wird bewertet, b) (Richtwerte)

Bewertet wirdPunkte
Verzweigung: genau ein Weg nach Bedingung, mit Beispiel2
Gabelung: alle Wege parallel, Vereinigung wartet auf alle, mit Beispiel2
Summe4

Lösung c) Sichere Vergabe der Berechtigungen

Mögliche Maßnahmen, drei davon sind gefordert:

  • Minimalprinzip (least privilege): nur die Rechte, die für die Aufgabe nötig sind.
  • Rollenbasierte Vergabe über Gruppen der Abteilung statt Einzelrechte pro Person.
  • Initialpasswort, das bei der ersten Anmeldung geändert werden muss.
  • Mehr-Faktor-Authentifizierung für Fernzugriff und Postfach.
  • Freigabe durch die Führungskraft und Dokumentation der vergebenen Rechte.
  • Befristung der Konten bei befristeten Verträgen.

Beispiel für eine Erläuterung: „Nach dem Minimalprinzip bekommt ein neuer Mitarbeiter im Lager nur Zugriff auf die Lagerverwaltung, nicht auf Personaldaten. Wird sein Konto kompromittiert, bleibt der Schaden auf diesen Bereich begrenzt, und personenbezogene Daten sind nach DSGVO nur für Berechtigte zugänglich.“

So wird bewertet, c) (Richtwerte)

Bewertet wirdPunkte
Drei passende Maßnahmen, je 1 Punkt3
Eine Maßnahme nachvollziehbar erläutert, mit Bezug zum Szenario3
Summe6

Typische Punktabzüge

  • Parallelität mit einer Raute statt mit einem Balken gezeichnet. Damit ist die Aussage falsch, dieser Teil bringt meist keine Punkte.
  • Beide Wege der Verzweigung direkt in die Vereinigung geführt. Die Vereinigung wartet dann auf beide, obwohl nur einer kommt: Der Ablauf bleibt hängen. Erst mit einer Raute zusammenführen.
  • Wächter ohne eckige Klammern oder nur an einem Ausgang der Raute.
  • Aktionen als Zustand formuliert, etwa „Notebook bestellt“ statt „Notebook bestellen“.

So gehst du in der Prüfung vor

Egal welches Diagramm gefragt ist, dieser Ablauf funktioniert immer. Er kostet am Anfang zwei Minuten und spart dir am Ende die hektische Suche nach vergessenen Details.

  1. Lesen

    Lies die Aufgabe zweimal: einmal ganz, einmal langsam mit Stift. Markiere das Signalwort für den Diagrammtyp und die Punktzahl jeder Teilaufgabe. Die Punkte sagen dir, wie viel Zeit und Detail erwartet wird.

  2. Nomen markieren

    Nomen werden zu Klassen, Akteuren oder Attributen. Was eigene Daten hat und mehrfach vorkommt, ist eine Klasse; was von außen mit dem System arbeitet, ein Akteur; eine einfache Eigenschaft ist ein Attribut.

  3. Verben markieren

    Verben werden zu Methoden, Anwendungsfällen oder Aktionen. Achte auf „immer“ und „auf Wunsch“ (include oder extend), „wenn, sonst“ (Raute), „gleichzeitig“ (Balken) und „mindestens“ oder „beliebig viele“ (Multiplizitäten).

  4. Zeichnen

    Erst das Gerüst mit Bleistift und viel Platz: Klassen oder Aktionen, dann die Linien. Danach die Details, also Datentypen, Multiplizitäten, Wächter und Beschriftungen. So hast du Teilpunkte sicher, auch wenn die Zeit knapp wird.

  5. Kontrollieren

    Geh den Aufgabentext Satz für Satz durch und hake ab, was im Diagramm steht. Lies jede Beziehung in beide Richtungen und prüf jede Pfeilspitze. Was nicht im Text steht, streichst du wieder.

Deine Selbst-Checkliste

Bevor du den Kurs abhakst, prüf ehrlich, ob du das hier ohne Nachschlagen kannst:

  • Ich erkenne am Aufgabentext, welches Diagramm gefragt ist.
  • Ich schreibe Attribute und Methoden mit Sichtbarkeit, Parametern und Datentyp.
  • Ich setze Multiplizitäten an das richtige Ende und prüfe sie mit Lesesätzen.
  • Ich unterscheide Assoziation, Aggregation, Komposition und Vererbung am Symbol.
  • Ich weiß, wohin die Pfeile bei «include» und «extend» zeigen.
  • Ich setze Raute und Balken im Aktivitätsdiagramm richtig ein, mit Wächtern.
  • Ich unterscheide synchrone, asynchrone und Antwortnachrichten.
  • Ich beschrifte Übergänge nach dem Muster Ereignis [Bedingung] / Aktion.
  • Ich schaffe eine 25-Punkte-Aufgabe in etwa 25 Minuten.

Wo du noch zögerst, geh zurück in die passende Lektion. Danach übst du am besten unter echten Bedingungen: In den Übungsprüfungen warten weitere UML-Aufgaben mit Diagramm-Tool und Bewertung. Und wenn du sehen willst, wie aus einem Klassendiagramm lauffähiger Code wird, schau in Lektion 10 des Python-Kurses zu Klassen und Vererbung.

Jetzt unter Prüfungsbedingungen üben.

In der Lernarena bearbeitest du komplette Prüfungen im IHK-Stil mit Zeitlimit, zeichnest UML-Diagramme direkt im Browser und bekommst von der KI-Tutorin Ada Feedback zu jeder Lösung.