FISI-Wiki IHK Rhein-Neckar · Baden-Württemberg
Start › Software & Entwicklungsgrundlagen

08 · Software & Entwicklungsgrundlagen

AP1, AP2

Auch als Systemintegrator musst du Code lesen, Abläufe strukturieren und mit Datenbanken umgehen – SQL und ER-Modelle sind BW-Wiederkehrer.

08.1 · Softwarekategorien

AP1gelegentlich

Software lässt sich zunächst grob nach ihrer Rolle im System einteilen, und für jede Anschaffung stellt sich zusätzlich die Frage, ob eine fertige Standardlösung reicht oder eine Individualentwicklung nötig ist.

  • Systemsoftware (BS, Treiber, Firmware) – Anwendungssoftware (Office, Browser) – Branchenlösungen (ERP = Ressourcenplanung, CRM = Kundenverwaltung, DMS = Dokumentenmanagement).
  • Standard- vs. Individualsoftware – die Klassiker-Abwägung:
    StandardIndividual
    Preisgünstigerhöher
    Verfügbarkeitsofortspäter
    Wartungdurch Herstellerdauerhaft selbst
    Passgenauigkeitpasst nie zu 100 %passt exakt
    Mittelweg: Standard mit Customizing.

08.2 · Programmiergrundlagen & Pseudocode

AP1, AP2regelmäßig

Bausteine jedes Programms: Sequenz (nacheinander), Verzweigung (wenn/sonst), Schleife (kopfgesteuert: solange … / fußgesteuert: wiederhole … bis), dazu Variablen mit Datentypen (Ganzzahl, Gleitkomma, Zeichenkette, Boolesch) und Funktionen mit Parametern/Rückgabe. Darstellung in der Prüfung: Pseudocode, Struktogramm (Nassi-Shneiderman) oder PAP.

Beispiel Pseudocode – Mittelwert gültiger Messwerte: summe ← 0; anzahl ← 0 FÜR jeden wert IN messreihe WENN wert ≥ 0 DANN summe ← summe + wert anzahl ← anzahl + 1 ENDE WENN ENDE FÜR WENN anzahl > 0 DANN ausgabe(summe / anzahl) SONST ausgabe("keine gültigen Werte")

Compiler übersetzt einmal komplett in Maschinencode (C, Go – schnell zur Laufzeit); Interpreter führt Zeile für Zeile aus (Python, Shell – flexibel, langsamer); Zwischenformen mit Bytecode (Java, C#). Aufgabenformat BW: gegebenen Codeausschnitt „ablaufen lassen“ und die Ausgabe bestimmen – üben!

08.3 · UML im Schnelldurchlauf

AP1, AP2gelegentlich

UML-Diagramme stellen unterschiedliche Aspekte eines Softwaresystems grafisch dar – von den Akteuren, die es nutzen, bis zum zeitlichen Ablauf einer Kommunikation.

Diagrammzeigttypische Frage
Use-CaseAkteure + Anwendungsfälle (Ellipsen)„Wer nutzt was?“
KlassendiagrammKlassen, Attribute, Methoden, Beziehungen (Vererbung u. a.)Struktur ergänzen
AktivitätsdiagrammAblauf mit Entscheidungen (Rauten), parallelen ZweigenProzess modellieren
Sequenzdiagrammzeitliche Nachrichtenfolge zwischen ObjektenKommunikationsablauf lesen

08.4 · Datenbanken: ER-Modell & Normalisierung

AP1, AP2regelmäßig

Eine Datenbank wird zunächst als ER-Modell entworfen, das Entitäten und ihre Beziehungen zueinander festhält, bevor daraus die eigentlichen Tabellen abgeleitet werden.

  • ER-Modell: Entitäten (Kunde, Gerät), Attribute, Beziehungen mit Kardinalitäten 1:1, 1:n, n:m. Eine n:m-Beziehung braucht beim Überführen in Tabellen eine Zwischentabelle mit zwei Fremdschlüsseln.
  • Schlüssel: Primärschlüssel identifiziert eindeutig; Fremdschlüssel verweist auf den Primärschlüssel einer anderen Tabelle (referenzielle Integrität).
Normalisierung (Ziel: Redundanz raus, Anomalien vermeiden) 1NF: nur atomare Werte (keine Listen in einer Zelle) 2NF: 1NF + jedes Nicht-Schlüsselattribut hängt vom GANZEN Schlüssel ab 3NF: 2NF + keine Abhängigkeiten zwischen Nicht-Schlüssel- attributen Klassiker: PLZ→Ort in der Kundentabelle verletzt 3NF → eigene Orts-Tabelle

08.5 · SQL-Grundlagen

AP1, AP2regelmäßig

SQL ist die Standardsprache, um Daten aus einer relationalen Datenbank abzufragen und zu verändern – die Reihenfolge, in der eine Abfrage tatsächlich verarbeitet wird, weicht dabei von der Schreibreihenfolge ab.

SELECT k.name, COUNT(g.id) AS anzahl FROM kunde k JOIN geraet g ON g.kunde_id = k.id -- nur Treffer beider Seiten WHERE g.status = 'aktiv' GROUP BY k.name -- verdichten … HAVING COUNT(g.id) >= 2 -- … und Gruppen filtern ORDER BY anzahl DESC; -- sortieren
  • Reihenfolge merken: FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY.
  • JOIN-Arten: INNER (nur Übereinstimmungen), LEFT (alle links, rechts ggf. NULL) – der Unterschied ist eine beliebte Punktefrage.
  • Schreibend: INSERT INTO … VALUES, UPDATE … SET … WHERE (ohne WHERE = alle Zeilen!), DELETE FROM … WHERE.
  • Aggregate: COUNT, SUM, AVG, MIN, MAX.

08.6 · Skripting & Automatisierung

AP2Rahmenplangelegentlich

Wiederkehrende Admin-Aufgaben gehören in Skripte: reproduzierbar, dokumentiert, zeitgesteuert (cron unter Linux, Aufgabenplanung unter Windows). Typische Kandidaten: Backups anstoßen, Logs rotieren, Benutzer anlegen, Berichte erzeugen.

# Bash: alte Logs packen find /var/log/app -name "*.log" \ -mtime +30 -exec gzip {} \; # PowerShell: AD-Benutzer # aus CSV anlegen (Prinzip) Import-Csv neue.csv | ForEach-Object { New-ADUser -Name $_.Name ` -Enabled $true }

Für die Prüfung zählt das Prinzip (Variablen, Schleife, Bedingung, Exit-Codes) und die Begründung: weniger Fehler, Zeitersparnis, Nachvollziehbarkeit – nicht Syntaxdetails.

08.7 · Eigene Notizen

ungeprüft

Platz für das, was in Unterricht und Praktikum dazukommt. Abschnitt kopieren, Inhalt eintragen, später das Belegzeichen austauschen – System siehe Legende.