{"beispielaufgaben":[{"artefakt_id":"artefakt.freitextantwort","aufgabe":[{"text":"Ein Onlineshop für Outdoor-Ausrüstung berechnet die Versandkosten je nach gewähltem Versanddienstleister nach jeweils unterschiedlichen Regeln. Weitere Dienstleister sollen sich künftig ergänzen lassen, ohne die eigentliche Bestellabwicklung anzupassen. Das Entwicklungsteam entscheidet sich deshalb für das Strategy-Muster (Strategie). Beschreiben Sie dieses Entwurfsmuster, indem Sie auf die folgenden vier Aspekte eingehen: die grundlegende Absicht des Musters, die daran beteiligten Rollen, die Zusammenarbeit dieser Rollen zur Laufzeit sowie den konkreten Bezug zum geschilderten Versandkosten-Szenario.","typ":"absatz"}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-beschreiben-freitextantwort-01","freigabeart":"maschinell","loesung":[{"text":"Je 1 Punkt je Aspekt (insgesamt 4 Punkte): (1) Absicht: Eine Familie austauschbarer Algorithmen wird gekapselt, sodass das Berechnungsverhalten unabhängig vom nutzenden Code austauschbar ist. (2) Rollen: gemeinsame Strategie-Schnittstelle, konkrete Strategien (je Dienstleister eine Berechnung), Kontext (Bestellabwicklung), der eine Strategie hält. (3) Zusammenarbeit: Der Kontext delegiert die Versandkostenberechnung an die aktuell gesetzte Strategie und kennt nur die Schnittstelle, nicht die konkrete Umsetzung. (4) Bezug: Ein neuer Dienstleister wird als weitere konkrete Strategie ergänzt, die Bestellabwicklung bleibt unverändert. Fachlich gleichwertige Formulierungen sind anzuerkennen.","typ":"absatz"}],"operator_id":"operator.beschreiben","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":4,"punkterahmen":{"max":4,"min":4},"quellen":["ap2-fiae-2024-winter-ae1-a04-b-ba","ap2-fiae-2025-sommer-ae1-a04-d"]},{"artefakt_id":"artefakt.freitextantwort","aufgabe":[{"text":"Eine Buchhaltungssoftware erzeugt Ausgangsbelege wahlweise als PDF-, CSV- oder XML-Datei. Die konkrete Erzeugung des jeweiligen Belegobjekts soll von der aufrufenden Geschäftslogik entkoppelt werden, damit später weitere Ausgabeformate ergänzt werden können, ohne den bestehenden Aufrufcode zu verändern. Das Team wählt dafür das Factory-Method-Muster (Fabrikmethode). Beschreiben Sie dieses Entwurfsmuster, indem Sie die Absicht des Musters, die beteiligten Rollen, deren Zusammenwirken bei der Objekterzeugung sowie den konkreten Bezug zum geschilderten Belegexport erläutern.","typ":"absatz"}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-beschreiben-freitextantwort-02","freigabeart":"maschinell","loesung":[{"text":"Je 1 Punkt je Aspekt (insgesamt 4 Punkte): (1) Absicht: Die Objekterzeugung wird an eine überschreibbare Methode ausgelagert, sodass Unterklassen bzw. Varianten entscheiden, welches konkrete Produkt entsteht. (2) Rollen: abstrakter Erzeuger mit Fabrikmethode, konkrete Erzeuger, gemeinsame Produkt-Schnittstelle (Beleg) und konkrete Produkte (PDF-, CSV-, XML-Beleg). (3) Zusammenwirken: Die Geschäftslogik ruft die Fabrikmethode auf und arbeitet nur mit der Produkt-Schnittstelle, ohne die konkrete Belegklasse zu kennen. (4) Bezug: Ein neues Format wird durch einen weiteren konkreten Erzeuger/Produkt ergänzt, ohne den vorhandenen Code zu ändern. Fachlich gleichwertige Formulierungen sind anzuerkennen.","typ":"absatz"}],"operator_id":"operator.beschreiben","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":4,"punkterahmen":{"max":4,"min":4},"quellen":["ap2-fiae-2024-winter-ae1-a04-b-ba","ap2-fiae-2025-sommer-ae1-a04-d"]},{"artefakt_id":"artefakt.freitextantwort","aufgabe":[{"text":"Eine Wetter-App bezieht Messwerte von einem älteren Fremdsystem, dessen Programmierschnittstelle nicht zur erwarteten internen Schnittstelle der App passt. Statt den bewährten Anwendungscode umzuschreiben, soll eine Zwischenschicht die fremden Aufrufe passend umsetzen. Das Team entscheidet sich für das Adapter-Muster. Beschreiben Sie dieses Entwurfsmuster, indem Sie die Absicht des Musters, die beteiligten Rollen, deren Zusammenarbeit beim Aufrufen der Fremdschnittstelle sowie den konkreten Bezug zum geschilderten Wetterdaten-Szenario darstellen.","typ":"absatz"}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-beschreiben-freitextantwort-03","freigabeart":"maschinell","loesung":[{"text":"Je 1 Punkt je Aspekt (insgesamt 4 Punkte): (1) Absicht: Zwei inkompatible Schnittstellen werden zusammengeführt, indem eine erwartete Schnittstelle auf eine vorhandene abgebildet wird. (2) Rollen: erwartete Zielschnittstelle (Client-Erwartung), Adapter, angepasstes Fremdsystem (Adaptee) sowie der nutzende Client. (3) Zusammenarbeit: Der Client ruft die Zielschnittstelle auf, der Adapter übersetzt die Aufrufe und Datenformate und leitet sie an das Fremdsystem weiter. (4) Bezug: Der Adapter kapselt die Fremd-API des alten Systems, sodass die App unverändert über ihre gewohnte Schnittstelle Messwerte erhält. Fachlich gleichwertige Formulierungen sind anzuerkennen.","typ":"absatz"}],"operator_id":"operator.beschreiben","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":4,"punkterahmen":{"max":4,"min":4},"quellen":["ap2-fiae-2024-winter-ae1-a04-b-ba","ap2-fiae-2025-sommer-ae1-a04-d"]},{"artefakt_id":"artefakt.tabelle","aufgabe":[{"text":"Ein Entwicklungsteam plant die Software einer Smart-Home-Zentrale und möchte bewährte Entwurfsmuster einsetzen. Nennen Sie in der folgenden Tabelle für jede vorgegebene Musterkategorie genau ein passendes, etabliertes Entwurfsmuster. Tragen Sie je Zeile genau einen Musternamen in die leere Zelle ein.","typ":"absatz"},{"kopf":["Musterkategorie","Entwurfsmuster"],"typ":"tabelle","zeilen":[["Strukturmuster",""],["Erzeugungsmuster",""]]}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-nennen-tabelle-01","freigabeart":"maschinell","loesung":[{"text":"Vollständig gefüllte Tabelle:","typ":"ueberschrift"},{"kopf":["Musterkategorie","Entwurfsmuster"],"typ":"tabelle","zeilen":[["Strukturmuster","Adapter-Pattern"],["Erzeugungsmuster","Singleton-Pattern"]]},{"text":"Punkteverteilung: je korrekt zugeordnetem Musternamen 1 Punkt, insgesamt 2 Punkte (Zeile 1: 1 P., Zeile 2: 1 P.).","typ":"absatz"},{"text":"Bewertungshinweis: Bewertet wird ausschließlich der Musternamen, nicht Beschreibung, Begründung oder Wirkung. Fachlich gleichwertige einzelne Muster der jeweiligen Kategorie sind anzuerkennen – Strukturmuster z. B. Facade, Decorator, Composite, Proxy, Bridge, Flyweight; Erzeugungsmuster z. B. Factory Method, Abstract Factory, Builder, Prototype. Bei Mehrfacheinträgen wird nur der erste Eintrag je Zelle gewertet.","typ":"absatz"}],"operator_id":"operator.nennen","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":2,"punkterahmen":{"max":2,"min":2},"quellen":["ap2-fiae-2024-winter-ae1-a04-b-bb"]},{"artefakt_id":"artefakt.tabelle","aufgabe":[{"text":"Für eine Reisebuchungsplattform sind zwei Entwurfsentscheidungen zu treffen. Ordnen Sie jedem beschriebenen Problem genau ein etabliertes Entwurfsmuster zu; tragen Sie je Zeile genau einen Musternamen in die leere Zelle ein.","typ":"absatz"},{"kopf":["Beschriebenes Entwurfsproblem","Entwurfsmuster"],"typ":"tabelle","zeilen":[["Eine externe Hotel-API nutzt andere Methodennamen als die interne Schnittstelle und soll ohne Änderung des Fremdcodes eingebunden werden.",""],["Der Reisepreis soll zur Laufzeit nach austauschbaren Berechnungsverfahren ermittelt werden.",""]]}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-nennen-tabelle-02","freigabeart":"maschinell","loesung":[{"text":"Vollständig gefüllte Tabelle:","typ":"ueberschrift"},{"kopf":["Beschriebenes Entwurfsproblem","Entwurfsmuster"],"typ":"tabelle","zeilen":[["Eine externe Hotel-API nutzt andere Methodennamen als die interne Schnittstelle und soll ohne Änderung des Fremdcodes eingebunden werden.","Adapter-Pattern"],["Der Reisepreis soll zur Laufzeit nach austauschbaren Berechnungsverfahren ermittelt werden.","Strategy-Pattern"]]},{"text":"Punkteverteilung: je passendem Musternamen 1 Punkt, insgesamt 2 Punkte (Zeile 1: 1 P., Zeile 2: 1 P.).","typ":"absatz"},{"text":"Bewertungshinweis: Bewertet wird nur der Musternamen. Ein fachlich gleichwertiges einzelnes Muster wird nur anerkannt, wenn es die beschriebene Struktur bzw. Interaktion trägt (Zeile 1 Anpassung inkompatibler Schnittstellen; Zeile 2 austauschbare Algorithmen zur Laufzeit). Bei Mehrfacheinträgen wird nur der erste Eintrag je Zelle gewertet.","typ":"absatz"}],"operator_id":"operator.nennen","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":2,"punkterahmen":{"max":2,"min":2},"quellen":["ap2-fiae-2024-winter-ae1-a04-b-bb"]},{"artefakt_id":"artefakt.tabelle","aufgabe":[{"text":"In einem Grafikeditor sollen zwei Anforderungen strukturiert umgesetzt werden. Bestimmen Sie zu jedem Problem genau ein etabliertes Entwurfsmuster; tragen Sie je Zeile genau einen Musternamen in die leere Zelle ein.","typ":"absatz"},{"kopf":["Entwurfsproblem","Passendes Entwurfsmuster"],"typ":"tabelle","zeilen":[["Einzelne Grafikelemente und Gruppen aus Grafikelementen sollen einheitlich und beliebig verschachtelt behandelt werden.",""],["Bearbeitungsaktionen wie Ausschneiden sollen als Objekte gekapselt werden, um sie rückgängig zu machen und in einer Warteschlange zu verwalten.",""]]}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-nennen-tabelle-03","freigabeart":"maschinell","loesung":[{"text":"Vollständig gefüllte Tabelle:","typ":"ueberschrift"},{"kopf":["Entwurfsproblem","Passendes Entwurfsmuster"],"typ":"tabelle","zeilen":[["Einzelne Grafikelemente und Gruppen aus Grafikelementen sollen einheitlich und beliebig verschachtelt behandelt werden.","Composite-Pattern"],["Bearbeitungsaktionen wie Ausschneiden sollen als Objekte gekapselt werden, um sie rückgängig zu machen und in einer Warteschlange zu verwalten.","Command-Pattern"]]},{"text":"Punkteverteilung: je passendem Musternamen 1 Punkt, insgesamt 2 Punkte (Zeile 1: 1 P., Zeile 2: 1 P.).","typ":"absatz"},{"text":"Bewertungshinweis: Bewertet wird ausschließlich der Musternamen. Ein fachlich gleichwertiges einzelnes Muster wird nur anerkannt, wenn es die beschriebene Struktur bzw. Interaktion trägt (Zeile 1 einheitliche Behandlung von Einzel- und Gruppenobjekten; Zeile 2 Kapselung von Aktionen als Objekte). Bei Mehrfacheinträgen wird nur der erste Eintrag je Zelle gewertet.","typ":"absatz"}],"operator_id":"operator.nennen","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":2,"punkterahmen":{"max":2,"min":2},"quellen":["ap2-fiae-2024-winter-ae1-a04-b-bb"]},{"artefakt_id":"artefakt.freitextantwort","aufgabe":[{"text":"Ein Softwarehaus entwickelt eine Plattform zur Gebäudeautomation. Für den technischen Entwurf werden drei voneinander unabhängige Teilprobleme betrachtet. Ordnen Sie jedem Teilproblem genau ein geeignetes, bekanntes Entwurfsmuster zu und nennen Sie ausschließlich dessen Namen. (1) Für die zentrale Systemkonfiguration darf im gesamten Programm nur ein einziges Objekt existieren, auf das alle Komponenten gemeinsam zugreifen. (2) Je nach eingelesenem Sensortyp sollen unterschiedliche Sensorobjekte erzeugt werden, ohne dass der aufrufende Programmteil die konkreten Klassen kennt. (3) Ein bestehendes Fremdgerät mit abweichender Schnittstelle soll ohne Änderung an die einheitliche Geräteschnittstelle der Plattform angebunden werden.","typ":"absatz"}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-nennen-freitextantwort-01","freigabeart":"maschinell","loesung":[{"text":"Je 1 Punkt für eine fachlich tragfähige Musterzuordnung; verlangt wird nur der Mustername, keine Beschreibung oder Begründung. (1) Singleton-Pattern (1 Punkt). (2) Factory-Method-Pattern oder Abstract-Factory-Pattern (1 Punkt). (3) Adapter-Pattern (1 Punkt). Fachlich gleichwertige, das jeweilige Problem lösende bekannte Muster sind anzuerkennen. Gesamt: 3 Punkte.","typ":"absatz"}],"operator_id":"operator.nennen","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":3,"punkterahmen":{"max":3,"min":3},"quellen":["ap2-fiae-2025-sommer-ae1-a04-d"]},{"artefakt_id":"artefakt.freitextantwort","aufgabe":[{"text":"Ein Entwicklungsteam programmiert die Bestellabwicklung eines Onlineshops. Drei Entwurfsfragen sind unabhängig voneinander zu klären. Ordnen Sie jeder Frage genau ein geeignetes, bekanntes Entwurfsmuster zu und nennen Sie ausschließlich dessen Namen. (1) Die Berechnung der Versandkosten soll zur Laufzeit zwischen mehreren austauschbaren Berechnungsverfahren umgeschaltet werden können. (2) Einer Bestellung sollen Zusatzleistungen wie Geschenkverpackung oder Expressbearbeitung flexibel und in beliebiger Kombination hinzugefügt werden, ohne für jede Kombination eine eigene Unterklasse anzulegen. (3) Die Artikel eines Warenkorbs sollen unabhängig von der internen Speicherstruktur einheitlich nacheinander durchlaufen werden.","typ":"absatz"}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-nennen-freitextantwort-02","freigabeart":"maschinell","loesung":[{"text":"Je 1 Punkt für eine fachlich tragfähige Musterzuordnung; verlangt wird nur der Mustername, keine Beschreibung oder Begründung. (1) Strategy-Pattern (1 Punkt). (2) Decorator-Pattern (1 Punkt). (3) Iterator-Pattern (1 Punkt). Fachlich gleichwertige, das jeweilige Problem lösende bekannte Muster sind anzuerkennen. Gesamt: 3 Punkte.","typ":"absatz"}],"operator_id":"operator.nennen","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":3,"punkterahmen":{"max":3,"min":3},"quellen":["ap2-fiae-2025-sommer-ae1-a04-d"]},{"artefakt_id":"artefakt.freitextantwort","aufgabe":[{"text":"Ein Studio entwickelt eine Anwendung zur Videobearbeitung. Für den Feinentwurf stehen drei getrennte Probleme an. Ordnen Sie jedem Problem genau ein passendes, bekanntes Entwurfsmuster zu und nennen Sie ausschließlich dessen Namen. (1) Benutzeraktionen wie Schneiden oder Filtern sollen als eigenständige Objekte gekapselt werden, damit sie rückgängig gemacht und wiederholt werden können. (2) Der Zugriff auf mehrere komplexe Teilsysteme für Import, Rendering und Export soll über eine einzige vereinfachte Schnittstelle erfolgen. (3) Ändert sich die aktuelle Zeitposition, sollen mehrere geöffnete Anzeigefenster automatisch über diese Änderung informiert werden.","typ":"absatz"}],"beispiel_id":"bsp-softwarearchitektur-und-entwurfsmuster-nennen-freitextantwort-03","freigabeart":"maschinell","loesung":[{"text":"Je 1 Punkt für eine fachlich tragfähige Musterzuordnung; verlangt wird nur der Mustername, keine Beschreibung oder Begründung. (1) Command-Pattern (1 Punkt). (2) Facade-Pattern (1 Punkt). (3) Observer-Pattern (1 Punkt). Fachlich gleichwertige, das jeweilige Problem lösende bekannte Muster sind anzuerkennen. Gesamt: 3 Punkte.","typ":"absatz"}],"operator_id":"operator.nennen","pruefungszuordnung":{"berufe":["FIAE"],"teil":"AP2"},"punkte":3,"punkterahmen":{"max":3,"min":3},"quellen":["ap2-fiae-2025-sommer-ae1-a04-d"]}],"konzept_id":"fachkonzept.softwarearchitektur-und-entwurfsmuster","schema_version":3}