Back to overview

Fachinformatiker Anwendungsentwicklung AP2

Anwendungsentwickler pruefung AP2

Subject
No category / Others
Language of creation
German
105 flashcards No ratings yet 0 views
Add to my sets

Sign in to add this set to your collection. You will return here afterwards.

Cards in this set

Card 81

Question

Was ist das Factory-Pattern?


Answer

Ein Objekt wird erzeugt, ohne dass das Programm genau wissen muss, welche Klasse dahintersteckt.

Zum Beispiel: Eine Fabrik baut unterschiedliche Autos, aber der Besteller muss die Bauweise nicht kennen.

Merksatz:

Erzeuge Objekte flexibel – ohne Details zu kennen.


Card 82

Question

Was ist das Observer-Pattern?


Answer

Wenn sich ein Objekt ändert, werden automatisch alle angemeldeten Beobachter benachrichtigt.

Zum Beispiel: In WhatsApp bekommst du sofort eine Nachricht, wenn dir jemand schreibt.

Merksatz:

Änderungen automatisch an alle Abonnenten melden.


Card 83

Question

Was ist das MVC-Pattern?


Answer

Teilt ein Programm in drei klare Bereiche:

  • Model: Verwalten der Daten (z. B. Nutzerdaten).
  • View: Anzeigen der Daten (z. B. die Webseite oder App-Oberfläche).
  • Controller: Steuert, was bei Aktionen passiert (z. B. Button-Klicks).

Merksatz:

Daten, Anzeige und Logik sind sauber getrennt.


Card 84

Question

Was ist Routing?



Answer

Weiterleiten von Datenpaketen über verschiedene Netzwerke hinweg.

Card 85

Question

Was ist Switching?



Answer

Direktes Weiterleiten von Daten im selben Netzwerk (Switch).

Card 86

Question

Was ist ARP (Address Resolution Protocol)?



Answer

Findet die MAC-Adresse zu einer IP-Adresse im lokalen Netzwerk.

Card 87

Question

Was bedeutet Vertraulichkeit?



Answer

Nur berechtigte Personen dürfen auf Daten zugreifen.

Card 88

Question

Liste alle Hersteller auf, die mehr als 50 nicht rezeptpflichtige Arzneimittel haben, sortiert absteigend nach der Anzahl.

Answer

SELECT h.Name AS Hersteller, COUNT(*) AS Anzahl
FROM Hersteller AS h
JOIN Arzneimittel AS a ON h.HerstellerID = a.HerstellerID
WHERE a.rezeptpflichtig = false
GROUP BY h.Name
HAVING COUNT(*) > 50
ORDER BY Anzahl DESC;


Erklärung:

• JOIN: Verknüpft Hersteller und Arzneimittel über HerstellerID.

• WHERE a.rezeptpflichtig = false: Nur nicht rezeptpflichtige Medikamente zählen.

• GROUP BY h.Name: Gruppiert nach Herstellername.

• HAVING COUNT(*) > 50: Nur Hersteller mit mehr als 50 Medikamenten.

• ORDER BY Anzahl DESC: Absteigende Sortierung (Größter zuerst).


Merksatz:

Immer HAVING verwenden, wenn auf Gruppenergebnisse (z.B. COUNT) gefiltert wird!


Card 89

Question

Rechte der Personen laut DSGVO 


Answer

  1. Auskunftsrecht –  dürfen erfahren, welche Daten über sie gespeichert sind.
  2. Recht auf Berichtigung – Unrichtige Daten müssen berichtigt werden.
  3. Recht auf Löschung (“Recht auf Vergessenwerden”) – können die Löschung ihrer Daten verlangen.
  4. Recht auf Datenübertragbarkeit – dürfen ihre Daten in einem strukturierten Format erhalten.



Card 90

Question

Nenne je vier Aufgabenstellungen einer Kick-off-Sitzung auf der Sach- und Beziehungsebene.

Answer

Sachebene:

  1. Projektziele und -umfang vorstellen
  2. Zeitplan und Meilensteine abstimmen
  3. Rollen und Verantwortlichkeiten klären
  4. Risiken, Ressourcen und offene Punkte besprechen

Beziehungsebene:

  1. Vertrauen zwischen den Beteiligten aufbauen
  2. Teamgeist und Motivation fördern
  3. Erwartungshaltungen klären
  4. Kommunikationsregeln festlegen



Card 91

Question

Anforderungsanalyse in Informatik
    Ziel ?
    Arten von Anforderungen ?
    Methoden zur Erhebung ?
    Dokumente ?
   Qualitätskriterien (nach IEEE 830) ?
   Verwaltung ?

​


​​​

Answer

Ziel:
Ermittlung und Dokumentation der Anforderungen an ein Softwaresystem – was es leisten soll, nicht wie.

Arten von Anforderungen:

  • Funktional: Systemverhalten (z. B. Login-Funktion)

  • Nicht-funktional: Qualitätsmerkmale (z. B. Sicherheit, Performance)

  • Rahmenbedingungen: Vorgaben (z. B. Budget, Gesetze, Plattformen)

Methoden zur Erhebung:

  • Interviews

  • Fragebögen

  • Beobachtung

  • Workshops

  • Prototyping

  • Use Cases / User Stories

📄 Dokumente:

  • Lastenheft: Was der Kunde will

  • Pflichtenheft: Wie der Entwickler es umsetzt

Qualitätskriterien (nach IEEE 830):

  • Vollständig

  • Eindeutig

  • Konsistent

  • Überprüfbar

  • Änderbar

  • Nachverfolgbar

  • Verständlich

Verwaltung:

  • Priorisierung

  • Versionskontrolle

  • Änderungsmanagement

Card 92

Question

MVC – Model View Controller
    Ziel ?
    Komponenten ?
    Vorteile ? 
    Beispiel ?

Answer

Ziel:
Architektur zur Trennung von Daten (Model), Darstellung (View) und Steuerung (Controller).

Komponenten:

  • Model:

    • Verwaltet Daten und Geschäftslogik

    • Unabhängig von Benutzeroberfläche

  • View:

    • Zeigt Daten an

    • Reagiert auf Änderungen des Models

  • Controller:

    • Verarbeitet Benutzereingaben

    • Steuert, welche View angezeigt wird und wie das Model reagiert

Vorteile:

  • Klare Trennung der Verantwortlichkeiten

  • Bessere Wartbarkeit & Testbarkeit

  • Ermöglicht parallele Entwicklung (Frontend ↔ Backend)

Beispiel:
Benutzer klickt auf "Speichern" → Controller empfängt Klick → speichert Daten im Model → View wird aktualisiert

Card 93

Question

Observer Pattern (Beobachter-Muster)
    Ziel ?
     Ablauf ?
    Beteiligte
    Klassen ?
    Beispiel?
    Vorteile?

Answer

Ziel:
Automatische Benachrichtigung von Objekten (Beobachtern), wenn sich der Zustand eines anderen Objekts (Subjekt) ändert.

Ablauf:

  1. Subjekt (Subject) speichert Liste von Beobachtern

  2. Beobachter registrieren sich beim Subjekt

  3. Bei Änderung ruft Subjekt notify() → alle Beobachter werden benachrichtigt

  4. Beobachter reagieren auf die Änderung

Beteiligte Klassen:

  • Subject (z. B. Wetterstation)

  • Observer (z. B. Anzeigeelement)

  • Konkrete Implementierungen von beiden

Beispiel:
Eine Wetterstation (Subject) meldet Temperaturänderungen → Displays (Observer) aktualisieren sich automatisch.

Vorteile:

  • Lose Kopplung zwischen Subjekt und Beobachtern

  • Einfache Erweiterbarkeit (neue Observer ohne Änderungen am Subjekt)

 

Card 94

Question

Objektorientierung (OOP)
    Ziel ?
    Grundprinzipien ?
    Zentrale Begriffe ?
    Beispiel ?

Answer

Ziel:
Strukturierung von Programmen durch Objekte, die Daten (Attribute) und Verhalten (Methoden) kapseln.

Grundprinzipien:

  1. Kapselung (Encapsulation):

    • Daten sind privat

    • Zugriff nur über Methoden (Getter/Setter)

    • → Schutz vor unkontrollierten Zugriffen

  2. Vererbung (Inheritance):

    • Klassen können Eigenschaften & Methoden von Oberklassen erben

    • → Wiederverwendung von Code

  3. Polymorphie (Polymorphism):

    • Objekte können unterschiedliche Formen annehmen

    • Methoden können überladen oder überschrieben werden

    • → Flexibles Verhalten zur Laufzeit

  4. Abstraktion (Abstraction):

    • Reduktion auf das Wesentliche

    • Komplexität verbergen durch Schnittstellen/abstrakte Klassen

Zentrale Begriffe:

  • Klasse: Bauplan für Objekte

  • Objekt: Instanz einer Klasse

  • Attribut: Eigenschaft eines Objekts

  • Methode: Verhalten eines Objekts

  • Konstruktor: Methode zur Initialisierung

Beispiel:
Klasse Auto mit Attributen Farbe, Leistung und Methode fahre()

Card 95

Question

Normalisierung in relationalen Datenbanken

 

Answer

📶 Normalformen:

  1. 1. Normalform (1NF):

    • Nur atomare Werte (keine Listen/Feldgruppen)

    • Jede Zelle enthält nur einen Wert

  2. 2. Normalform (2NF):

    • 1NF erfüllt

    • Alle Nicht-Schlüsselattribute hängen voll funktional vom Primärschlüssel ab
      → Teilschlüsselabhängigkeiten vermeiden

  3. 3. Normalform (3NF):

    • 2NF erfüllt

    • Keine transitiven Abhängigkeiten (Nicht-Schlüsselattribut → Nicht-Schlüsselattribut)

📘 Beispiel (vereinfachte Sicht):

KundeNr KundeName PLZ Ort BestellungNr

 

→ Nach 3NF aufgeteilt in:

  • Tabelle Kunde: KundeNr, KundeName, PLZ

  • Tabelle Ort: PLZ, Ort

  • Tabelle Bestellung: BestellungNr, KundeNr

 

Card 96

Question

Polymorphie anhand des Entwurfsmusters

Answer

Im Zustand-Entwurfsmuster wird Polymorphie genutzt, da das Ladegerät eine gemeinsame Oberklasse Zustand verwendet, aber zur Laufzeit mit konkreten Unterklassen (NichtLadend, NormalLadend, SchnellLadend) arbeitet.

Durch die Variable zustand vom Typ Zustand kann das Ladegerät dynamisch zwischen verschiedenen Zustandsobjekten wechseln. Die Methode zustand.bearbeiten(this) ruft je nach aktuellem Objekt automatisch die überschriebene Methode der konkreten Klasse auf – das ist Polymorphie in Aktion.



Card 97

Question

Vergleich Datenschutz und Datensicherheit


Kriterium

Datenschutz

Datensicherheit

Fokus



Ziel



Grundlage



Beispielmaßnahme




Answer


Kriterium

Datenschutz

Datensicherheit

Fokus

personenbezogene Daten

alle Arten von Daten

Ziel

Rechte und Privatsphäre schützen

Integrität, Verfügbarkeit, Vertraulichkeit sichern

Grundlage

rechtlich (z. B. DSGVO)

technisch und organisatorisch

Beispielmaßnahme

Zugriffsrechte, Einwilligungen

Firewalls, Backups, Virenschutz


Card 98

Question

Was versteht man unter Data Binding und wie unterscheidet es sich vom Observer-Muster?

Answer

Data Binding ist die automatische Verknüpfung von Daten (z. B. aus einem Modell) mit einem UI-Element (View). Änderungen am Modell wirken sich direkt auf die View aus – ohne zusätzlichen Code.

Im Gegensatz zum Observer-Muster, bei dem Views manuell über notify-Mechanismen aktualisiert werden müssen, geschieht dies beim Data Binding automatisch.


Card 99

Question

Was bedeutet die Fehlermeldung

Cannot delete or update a parent row: a foreign key constraint fails

und wodurch wird sie verursacht?



Answer

Die Fehlermeldung bedeutet, dass ein Datensatz nicht gelöscht oder geändert werden kann, weil ein anderer Datensatz über einen Fremdschlüssel davon abhängt.

Solange eine Verbindung besteht, verhindert die Datenbank aus Gründen der Datenintegrität die Änderung oder Löschung.

Card 100

Question

Was kann man tun, wenn beim Löschen eines Datensatzes ein foreign key constraint fails-Fehler auftritt?

Answer

Es gibt drei Möglichkeiten:

  1. Abhängige Daten vorher löschen.
  2. Fremdschlüsselwerte ändern oder auf NULL setzen, sofern erlaubt.
  3. „ON DELETE CASCADE“ verwenden, damit abhängige Daten beim Löschen automatisch mitgelöscht werden (vorsichtig verwenden!).



How to use this set

Read the preview and check whether the content and answers suit your learning goal. You can add the public set to your sets to study it. Your account shows the available actions.

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.