← Zurück zum Dashboard Lernfeld 5

AP1 Modul 06: Software- & Anwendungsentwicklung

UML-Modellierung (Use Case, Klassen, Aktivität, Sequenz), Pseudocode-Logik & zeilenweise Trace-Tabellen nach ZPA 2. Auflage (kein PAP/Struktogramm mehr!).

💻 LF 5: Algorithmen, UML & Strukturierter Pseudocode

Im Lernfeld 5 wird das algorithmische Grundverständnis für die Softwareentwicklung geprüft.
⚠️ Wichtiger Reformhinweis (ZPA 2. Auflage): Veraltete Nassi-Shneiderman Struktogramme (DIN 66261) und Programmablaufpläne (PAP) wurden aus den IHK-Prüfungen gestrichen. Algorithmen werden nun ausschließlich über strukturierten Pseudocode und UML-Aktivitätsdiagramme dargestellt!

1. Trace-Tabellen & Schleifenlogik

In IHK-Prüfungen müssen Variablenwerte schrittweise für jeden Schleifendurchlauf exakt tabelliert werden. Typische Grundoperationen:

  • Ganzzahldivision (DIV bzw. //): Schneidet Nachkommastellen ab (z. B. 384 DIV 10 = 38).
  • Modulo / Restwert (MOD bzw. %): Liefert den Rest einer Division (z. B. 384 MOD 10 = 4). Ideal zur Zifferntrennung oder zur Prüfung auf gerade/ungerade Zahlen.
  • Kopfgesteuerte Schleife (WHILE): Prüft die Bedingung vor dem Rumpf (kann 0-mal ausgeführt werden).
  • Fußgesteuerte Schleife (DO-WHILE): Prüft am Fuß (wird mindestens 1-mal garantiert durchlaufen).

2. UML-Diagramme nach OMG-Standard

Diagramm-TypFokusWesentliche Symbole & Regeln
Klassendiagramm Statische Struktur Dreiteiliger Kasten (Name, Attribute, Methoden). Sichtbarkeiten: + public, - private, # protected, ~ package.
Aktivitätsdiagramm Dynamischer Kontrollfluss Startknoten ⬤, Aktionen [Abgerundet], Entscheidungsknoten/Raute ⬦ mit [Guards], Fork/Join-Balken ❚ zur Parallelisierung, Endknoten ⨂.
Sequenzdiagramm Zeitliche Interaktion Lebenslinien (gestrichelt), Aktivierungsbalken, synchrone Aufrufe (ausgefüllte Pfeilspitze ──►), asynchrone Signale (offener Pfeil ──▷), Antworten (gestrichelt ┄┄►).
Use-Case-Diagramm Funktionale Anforderungen Akteure (Strichmännchen), Anwendungsfälle (Ellipsen), <<include>> (verpflichtender Teilschritt), <<extend>> (optionale Erweiterung).

UML-Klassenbeziehungen im Detail:

  • Generalisierung / Vererbung: Geschlossene Dreiecksspitze zur Oberklasse (Subklasse ──▷ Superklasse).
  • Assoziation: Einfache Linie (optional mit Navigationspfeil). Zwei Klassen kennen sich.
  • Aggregation: Teil-Ganzes-Beziehung mit leerer Raute am Ganzen (◇──). Das Teil kann auch ohne das Ganze existieren (z. B. Raum in Gebäude).
  • Komposition: Strenge existenzielle Abhängigkeit mit ausgefüllter Raute am Ganzen (◆──). Wird das Ganze zerstört, sterben auch alle Teile (z. B. Rechnungsposition in Rechnung).

🔍 Interaktiver Trace-Tabellen-Trainer

Vollziehen Sie den Quersummen-Algorithmus schrittweise nach und tragen Sie die Werte in die Trace-Tabelle ein:

GANZZAHL zahl = 384
GANZZAHL quersumme = 0
SOLANGE zahl > 0 WIEDERHOLE:
    quersumme = quersumme + (zahl MOD 10)
    zahl = zahl DIV 10
ENDE_SOLANGE
Durchlauf zahl (Start) zahl MOD 10 quersumme zahl DIV 10 Bedingung (zahl > 0)
Initial 384 - 0 - wahr (384 > 0)
1. Durchlauf
2. Durchlauf
3. Durchlauf

📝 Authentische IHK-Prüfungsaufgaben zu Lernfeld 5

Offizielle Prüfungsaufgaben nach dem neuen ZPA-Raster (Pseudocode, Trace-Tabellen und UML).

UML-Aktivitätsdiagramm & Pseudocode Schleifenlogik (Neu 2025) 6 Punkte
Für einen automatisierten Backup-Prozess soll die Kontrolllogik modelliert werden: Es wird geprüft, ob ausreichend Speicherplatz frei ist. Wenn ja, werden Dateien kopiert und eine Erfolgsmeldung gesendet. Wenn nein, wird ein Fehler protokolliert und der Vorgang abgebrochen.

Vergleichen Sie die Modellierung von Kontrollstrukturen im UML-Aktivitätsdiagramm (Entscheidungsknoten / Raute, Guards) mit strukturiertem Pseudocode (WENN-DANN-SONST) und erläutern Sie die Funktion von Fork- und Join-Knoten (Synchronisationsbalken) bei parallelen Abläufen.

💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung
Entscheidungsknoten & Guards: Im UML-Aktivitätsdiagramm stellt eine Raute eine Verzweigung dar; die ausgehenden Kanten tragen Bedingungen in eckigen Klammern [Guards], von denen exakt eine wahr sein muss (äquivalent zu WENN-DANN-SONST im Pseudocode). (3 Pkt.) Fork- und Join-Knoten: Ein Fork-Knoten (dicker Balken) teilt einen eingehenden Kontrollfluss in mehrere nebenläufig/parallel ausgeführte Pfade auf. Ein Join-Knoten synchronisiert diese parallelen Pfade wieder und lässt den Kontrollfluss erst weiterlaufen, wenn ALLE eingehenden Aktionen abgeschlossen sind. (3 Pkt.)
Trace-Tabelle Quersumme Algorithmus 10 Punkte
Gegeben ist folgender Pseudocode zur Berechnung der Quersumme einer Zahl:
GANZZAHL zahl = 384 | GANZZAHL quersumme = 0
SOLANGE zahl > 0 WIEDERHOLE:
    quersumme = quersumme + (zahl MOD 10)
    zahl = zahl DIV 10
ENDE_SOLANGE

Erstellen Sie eine vollständige Trace-Tabelle für alle Schleifendurchläufe mit den Spalten: Durchlauf, zahl, (zahl MOD 10), quersumme, (zahl DIV 10) und Bedingung (zahl > 0).

💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung
Initial: zahl=384, quersumme=0 Durchlauf 1: zahl=384 -> 384>0 (wahr) -> MOD 10 = 4 -> quersumme = 0 + 4 = 4 -> zahl = 384 DIV 10 = 38. (3 Pkt.) Durchlauf 2: zahl=38 -> 38>0 (wahr) -> MOD 10 = 8 -> quersumme = 4 + 8 = 12 -> zahl = 38 DIV 10 = 3. (3 Pkt.) Durchlauf 3: zahl=3 -> 3>0 (wahr) -> MOD 10 = 3 -> quersumme = 12 + 3 = 15 -> zahl = 3 DIV 10 = 0. (3 Pkt.) Ende: zahl=0 -> 0>0 (falsch) -> Schleifenabbruch. Endergebnis quersumme = 15. (1 Pkt.)
Trace-Tabelle Lineare Suche 8 Punkte
Gegeben ist das Array werte = [14, 27, 42, 55, 68] und gesucht = 42.
GANZZAHL pos = -1
FÜR i VON 0 BIS 4 SCHRITT 1:
    WENN werte[i] == gesucht DANN
        pos = i
        VERLASSE_SCHLEIFE
    ENDE_WENN
ENDE_FÜR

Führen Sie die Trace-Tabelle bis zum Schleifenabbruch und geben Sie den Endwert von pos und die Anzahl der Vergleiche an.

💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung
Initial: pos = -1 Durchlauf 0: i=0, werte[0]=14, 14==42 (falsch) Durchlauf 1: i=1, werte[1]=27, 27==42 (falsch) Durchlauf 2: i=2, werte[2]=42, 42==42 (wahr) -> pos = 2, Schleife wird sofort verlassen. (5 Pkt.) Endwert pos = 2; Anzahl Vergleiche = 3. (3 Pkt.)
UML-Klassendiagramm Sichtbarkeiten und Syntax 8 Punkte
Für ein Ticketsystem soll eine Klasse Ticket entworfen werden.

Erläutern Sie die vier Sichtbarkeitsmodifikatoren (+, -, #, ~) nach UML-Standard und geben Sie die korrekte UML-Syntax für ein privates Attribut id (Ganzzahl) und eine öffentliche Methode schliessen(bemerkung: Text) an.

💡 Offizieller IHK-Erwartungshorizont & Punkteverteilung
Sichtbarkeiten: + (public): Öffentlich, von allen Klassen aus sichtbar und aufrufbar. (1 Pkt.) - (private): Nur innerhalb der eigenen Klasse sichtbar. (1 Pkt.) # (protected): Nur innerhalb der eigenen Klasse und deren abgeleiteten Subklassen sichtbar. (1 Pkt.) ~ (package): Nur innerhalb desselben Pakets sichtbar. (1 Pkt.) UML-Syntax: Attribut: - id: Integer (2 Pkt.) Methode: + schliessen(bemerkung: String): Boolean (bzw. void) (2 Pkt.)
← Vorheriges Modul 🏠 Kursübersicht Nächstes Modul →