commit eb4a13ef7c70e5f78a93e697e5099375245ac549 Author: Jan-Marlon Leibl Date: Fri Mar 13 11:46:08 2026 +0100 Initial commit: IHK Ausbildung materials diff --git a/00-Inhaltsverzeichnis.md b/00-Inhaltsverzeichnis.md new file mode 100644 index 0000000..0ec54ec --- /dev/null +++ b/00-Inhaltsverzeichnis.md @@ -0,0 +1,159 @@ +# IHK Ausbildung - Fachinformatiker Anwendungsentwicklung + +> Index für die Ausbildungsunterlagen | [[00-Inhaltsverzeichnis|🔗 Direkt zum Inhaltsverzeichnis]] + +## Überblick + +Diese Vault enthält alle Lernunterlagen für die 3-jährige Ausbildung zum/zur Fachinformatiker/in Anwendungsentwicklung gemäß Rahmenlehrplan KMK (13.12.2019) und Ausbildungsverordnung FIAusbV (28.02.2020). + +### Zeitlicher Ablauf + +| Jahr | Lernfelder | Gesamtstunden | +| ------------------ | ---------- | ------------- | +| 1. Ausbildungsjahr | LF 1-5 | 320 Stunden | +| 2. Ausbildungsjahr | LF 6-9 | 280 Stunden | +| 3. Ausbildungsjahr | LF 10a-12a | 280 Stunden | +| | | | + +### Prüfungsübersicht + +- **Teil 1 der Abschlussprüfung**: Nach dem 4. Ausbildungshalbjahr (nach LF 1-6) +- **Teil 2 der Abschlussprüfung**: Am Ende der Ausbildung + +--- + +## Ordnerstruktur + +``` +IHK-Ausbildung/ +├── 📚 1-Ausbildungsjahr/ +│ ├── 📖 LF1-Unternehmen-Rolle/ +│ ├── 📖 LF2-Arbeitsplätze-ausstatten/ +│ ├── 📖 LF3-Datenbanken/ +│ ├── 📖 LF4-IT-Sicherheit/ +│ └── 📖 LF5-Analyse-Design/ +│ +├── 📚 2-Ausbildungsjahr/ +│ ├── 📖 LF6-Webanwendungen/ +│ ├── 📖 LF7-Service/ +│ ├── 📖 LF8-Daten-integration/ +│ └── 📖 LF9-Netzwerke-Dienste/ +│ +├── 📚 3-Ausbildungsjahr/ +│ ├── 📖 LF10a-Benutzeroberflächen/ +│ ├── 📖 LF11a-Funktionalität-realisiren/ +│ └── 📖 LF12a-Kundenspezifische-Entwicklung/ +│ +├── 📝 Prüfungsvorbereitung/ +│ ├── 📖 Teil1-Prüfung/ +│ ├── 📖 Teil2-Projekt/ +│ └── 📖 Wirtschafts-Sozialkunde/ +│ +├── 🏢 Betriebliche-Ausbildung/ +│ ├── 📖 Ausbildungsnachweis/ +│ ├── 📖 Projekt-doku-Vorlagen/ +│ └── 📖 Betriebliche-Themen/ +│ +├── 📚 Wissen/ +│ ├── 📖 Programmiersprachen/ +│ ├── 📖 Datenbanken/ +│ ├── 📖 Netzwerk-Technik/ +│ ├── 📖 IT-Sicherheit/ +│ └── 📖 Projektmanagement/ +│ +└── 📋 Notizen/ + +``` + +--- + +## Lernfeld-Übersicht mit Kompetenzen + +### 1. Ausbildungsjahr + +#### LF 1: Das Unternehmen und die eigene Rolle im Betrieb beschreiben +- **Zeitrichtwert**: 40 Stunden +- **Kernkompetenz**: Unternehmen hinsichtlich Wertschöpfungskette präsentieren und eigene Rolle beschreiben +- **Themen**: Unternehmensleitbild, Marktstruktur, Rechtsform, Wertschöpfungskette, Organisationsstruktur + +#### LF 2: Arbeitsplätze nach Kundenwunsch ausstatten +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Ausstattung eines Arbeitsplatzes nach Kundenwunsch dimensionieren, anzubieten, zu beschaffen und zu übergeben +- **Themen**: Hard-/Software-Auswahl, Nutzwertanalyse, Angebotserstellung, Beschaffung, Inbetriebnahme + +#### LF 3: Clients in Netzwerke einbinden +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Netzwerkinfrastruktur analysieren und Clients integrieren +- **Themen**: Netzwerkkomponenten, IP-Konfiguration, DHCP, DNS, WLAN, Netzwerkprotokolle + +#### LF 4: Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen +- **Zeitrichtwert**: 40 Stunden +- **Kernkompetenz**: Schutzbedarfsanalyse zur Ermittlung der Informationssicherheit auf Grundschutzniveau +- **Themen**: Schutzziele (Vertraulichkeit, Integrität, Verfügbarkeit), Bedrohungen, Sicherheitsleitlinie, BSI-Grundschutz + +#### LF 5: Software zur Verwaltung von Daten anpassen +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Informationen mittels Daten abbilden, Daten verwalten und Software anpassen +- **Themen**: Datenbankmodelle, ER-Diagramme, SQL, Datenformate, Softwareanpassung + +--- + +### 2. Ausbildungsjahr + +#### LF 6: Serviceanfragen bearbeiten +- **Zeitrichtwert**: 40 Stunden +- **Kernkompetenz**: Serviceanfragen einordnen, Fehlerursachen ermitteln und beheben +- **Themen**: ITIL-Grundlagen, Ticket-Systeme, Support-Levels, Kommunikation, Dokumentation + +#### LF 7: Cyber-physische Systeme ergänzen +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Physische Welt und IT-Systeme funktional zu einem CPS zusammenführen +- **Themen**: Sensoren, Aktoren, Mikrocontroller, IoT-Kommunikation, MQTT + +#### LF 8: Daten systemübergreifend bereitstellen +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Daten aus dezentralen Quellen zusammenführen, aufbereiten und zur Verfügung stellen +- **Themen**: Datenbanken, APIs, Schnittstellen, Datenformate, Datenintegration + +#### LF 9: Netzwerke und Dienste bereitstellen +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Netzwerke und Dienste planen, konfigurieren und erweitern +- **Themen**: Serverdienste, VPN, Firewall, Netzwerksicherheit, Dienste (HTTP, DNS, DHCP, etc.) + +--- + +### 3. Ausbildungsjahr (Fachrichtung Anwendungsentwicklung) + +#### LF 10a: Benutzerschnittstellen gestalten und entwickeln +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Benutzeroberflächen für softwarebasierte Arbeitsabläufe und Geschäftsprozesse gestalten und entwickeln +- **Themen**: UI/UX-Design, Responsive Design, Benutzerfreundlichkeit, agile Methoden + +#### LF 11a: Funktionalität in Anwendungen realisieren +- **Zeitrichtwert**: 80 Stunden +- **Kernkompetenz**: Modulare Komponenten zur informationstechnischen Verarbeitung entwickeln und Qualität sichern +- **Themen**: OOP, Modularisierung, Schnittstellen, Tests, Qualitätssicherung + +#### LF 12a: Kundenspezifische Anwendungsentwicklung durchführen +- **Zeitrichtwert**: 120 Stunden +- **Kernkompetenz**: Kundenauftrag zur Anwendungsentwicklung vollständig durchführen und bewerten +- **Themen**: Projektmanagement, Anforderungsanalyse, Implementierung, Tests, Dokumentation, Übergabe + +--- + +## Wichtige Ressourcen + +### Gesetzliche Grundlagen +- [[Rahmenlehrplan-KMK|Fachinformatiker Rahmenlehrplan KMK]] +- [[Ausbildungsverordnung|FIAusbV - Verordnung über die Berufsausbildung]] +- [[Liste-der-Entsprechungen|KMK/BIBB Liste der Entsprechungen]] + +### Externe Links +- [KMK Rahmenlehrpläne](http://www.kmk.org) +- [BIBB Ausbildungsprofile](http://www.bibb.de) +- [Fachinformatiker Prüfungsvorbereitung](https://fachinformatikerpruefungsvorbereitung.de) + +--- + +*Zuletzt aktualisiert: 2024* +*Ausbildung: Fachinformatiker Anwendungsentwicklung | IHK Bremen* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-00-Übersicht.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-00-Übersicht.md new file mode 100644 index 0000000..54755ea --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-00-Übersicht.md @@ -0,0 +1,79 @@ +# LF 1: Das Unternehmen und die eigene Rolle im Betrieb beschreiben + +> **1. Ausbildungsjahr** | Zeitrichtwert: **40 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, ihr Unternehmen hinsichtlich seiner Wertschöpfungskette zu präsentieren und ihre eigene Rolle im Betrieb zu beschreiben. + +--- + +## Themenübersicht + +1. [[LF1-01-Unternehmensziele|Unternehmensziele und Leitbild]] +2. [[LF1-02-Marktstruktur|Marktstruktur und Wettbewerb]] +3. [[LF1-03-Rechtsformen|Rechtsformen]] +4. [[LF1-04-Organisation|Organisationsstruktur]] +5. [[LF1-05-Wertschoepfungskette|Wertschöpfungskette]] +6. [[LF1-06-Eigene-Rolle|Eigene Rolle im Betrieb]] + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Die ökonomischen, ökologischen und sozialen Zielsetzungen deines Unternehmens erläutern +- [ ] Die Marktstruktur in deiner Branche analysieren +- [ ] Das Unternehmen als komplexes System mit Markt- und Kundenbeziehungen einordnen +- [ ] Die Wertschöpfungskette beschreiben und die eigene Rolle darin darstellen +- [ ] Die Organisationsstruktur und Rechtsform des Unternehmens erklären +- [ ] Den eigenen Handlungs- und Entscheidungsspielraum (Vollmachten) beschreiben + +--- + +## Kompetenzbereiche + +### Fachkompetenz +- Unternehmensziele und Leitbild verstehen +- Wertschöpfungskette analysieren +- Rechtsformen unterscheiden (GmbH, UG, OHAG, KG, AG, etc.) +- Organisationsstrukturen interpretieren + +### Selbstkompetenz +- Eigene Rolle reflektieren +- Stärken und Entwicklungsbereiche identifizieren +- Perspektiven für die berufliche Entwicklung aufzeigen + +### Sozialkompetenz +- Im Team präsentieren +- Kommunikationsregeln anwenden +- Feedback geben und annehmen + +--- + +## Handlungsphasen (vollständige Handlung) + +1. **Informieren**: Unternehmensleitbild, Ziele, Struktur erkunden +2. **Planen**: Präsentation vorbereiten, Inhalte strukturieren +3. **Durchführen**: Präsentation erstellen und vortragen +4. **Überprüfen**: Qualität des Produkts bewerten +5. **Reflektieren**: Eigene Rolle und Handeln bewerten + +--- + +## Prüfungsrelevanz + +- Basis für die gesamte Ausbildung +- Wird in Teil 1 der Abschlussprüfung vorausgesetzt +- Grundlagen für WISO-Prüfung + +--- + +## Querverweise + +- [[LF2-Arbeitsplätze-ausstatten|Nachher: LF 2 - Arbeitsplätze nach Kundenwunsch ausstatten]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO - Wirtschaft und Soziales]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-01-Unternehmensziele.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-01-Unternehmensziele.md new file mode 100644 index 0000000..00f3cff --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-01-Unternehmensziele.md @@ -0,0 +1,85 @@ +# 1.1 Unternehmensziele und Leitbild + +## Ökonomische Ziele + +| Ziel | Beschreibung | Beispiel | +|------|-------------|----------| +| Gewinnmaximierung | Erzielung maximalen Gewinns | 10% Umsatzrendite | +| Umsatzwachstum | Steigerung des Umsatzes | +15% jährlich | +| Marktanteil | Vergrößerung des Marktanteils | 25% Marktanteil | +| Liquidität | Sicherstellung der Zahlungsfähigkeit | positiver Cashflow | + +## Ökologische Ziele + +- **Umweltschutz**: Reduktion von CO2-Emissionen +- **Nachhaltigkeit**: Nutzung erneuerbarer Energien +- **Ressourceneffizienz**: Weniger Verbrauch pro Einheit +- **Recycling**: Kreislaufwirtschaft fördern + +## Soziale Ziele + +- **Mitarbeiterzufriedenheit**: Gutes Betriebsklima +- **Work-Life-Balance**: Flexible Arbeitszeiten +- **Ausbildung**: Ausbildungsplätze anbieten +- **Gesellschaftliches Engagement**: CSR-Projekte + +--- + +## Unternehmensleitbild + +### Was ist ein Leitbild? + +Das Leitbild ist eine schriftliche Grundsatzerklärung, die die **Identität** und **philosophie** des Unternehmens darstellt. + +### Elemente eines Leitbildes + +``` +Leitbild-Komponenten +├── Vision (langfristiges Ziel) +├── Mission (Auftrag/Zweck) +├── Werte (Grundsätze) +└── Ziele (konkret, messbar) +``` + +### Beispiel-Leitbild + +> *"Unser Unternehmen bietet innovative IT-Lösungen, die das Leben unserer Kunden vereinfachen. Wir stehen für Qualität, Nachhaltigkeit und partnerschaftliche Zusammenarbeit."* + +--- + +## SMART-Ziele + +Ziele sollten nach der SMART-Formel formuliert werden: + +| Buchstabe | Bedeutung | Beispiel | +|-----------|----------|----------| +| **S**pezifisch | Klar definiert | "Umsatz steigern" | +| **M**essbar | Quantifizierbar | "um 20%" | +| **A**ttraktiv | Erstrebenswert | für alle Beteiligten | +| **R**ealistisch | Erreichbar | im Rahmen der Möglichkeiten | +| **T**erminiert | Mit Zeitpunkt | "bis 31.12.2025" | + +--- + +## Übung + +Formuliere ein SMART-Ziel für deinen Ausbildungsbetrieb: + +```markdown +Spezifisch: _______________ +Messbar: _______________ +Attraktiv: _______________ +Realistisch: _______________ +Terminiert: _______________ +``` + +--- + +## Querverweise + +- [[LF1-02-Marktstruktur|Nächstes Thema: Marktstruktur]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Unternehmensziele]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-02-Marktstruktur.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-02-Marktstruktur.md new file mode 100644 index 0000000..c510354 --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-02-Marktstruktur.md @@ -0,0 +1,98 @@ +# 1.2 Marktstruktur und Wettbewerb + +## Marktanalyse + +### Marktsegmente + +Ein Markt besteht aus verschiedenen Segmenten: + +``` +Markt +├── Geografische Segmente +│ ├── Regional +│ ├── National +│ └── International +├── Produktbezogene Segmente +│ ├── Premium +│ ├── Standard +│ └── Discount +└── Kundenbezogene Segmente + ├── B2B (Business to Business) + ├── B2C (Business to Consumer) + └── B2G (Business to Government) +``` + +### Wettbewerbsanalyse (5-Kräfte-Modell nach Porter) + +``` + ┌─────────────────────┐ + │ Verhandlungsmacht │ + │ der Lieferanten │ + └──────────┬──────────┘ + │ + ┌──────────────┼──────────────┐ + │ │ │ + ▼ ▼ ▼ +┌─────────┐ ┌──────────┐ ┌─────────┐ +│ Bedrohung│ │ STATUS │ │ Bedrohung│ +│ durch │ │ QUO │ │ durch │ +│ neue │ │ │ │ Substit- │ +│ Konkurrenz│ │ Konkurrenz│ │ ute │ +└────┬─────┘ └────┬─────┘ └────┬─────┘ + │ │ │ + └──────────────┼──────────────┘ + │ + ┌────────┴────────┐ + │ Verhandlungsmacht│ + │ der Kunden │ + └─────────────────┘ +``` + +## Wettbewerbsstrategien + +| Strategie | Beschreibung | Beispiel | +|----------|-------------|----------| +| **Kostenführerschaft** | Günstigstes Angebot | Aldi, Lidl | +| **Differenzierung** | Einzigartiges Produkt | Apple | +| **Fokussierung** | Nische bedienen | Luxusmarken | + +--- + +## Kundenbeziehungen + +### Kundensegmente + +``` +Kunden +├── Bestandskunden (treu, regelmäßig) +├── Neukunden (gewinnen) +├── Potenzielle Kunden (ansprechen) +└── Verlorene Kunden (zurückgewinnen) +``` + +### Kundenbindung + +- **Qualität**: Hohe Produktqualität +- **Service**: Guter Kundenservice +- **Preis**: Faire Preise +- **Kommunikation**: Regelmäßiger Kontakt + +--- + +## Übung: Marktanalyse für deinen Betrieb + +1. Wer sind die Hauptwettbewerber? +2. Welche Produkte/Dienstleistungen bieten sie? +3. Was sind deren Stärken und Schwächen? +4. Wie positioniert sich dein Unternehmen? + +--- + +## Querverweise + +- [[LF1-03-Rechtsformen|Nächstes Thema: Rechtsformen]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Marketing]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-03-Rechtsformen.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-03-Rechtsformen.md new file mode 100644 index 0000000..e8a03c0 --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-03-Rechtsformen.md @@ -0,0 +1,109 @@ +# 1.3 Rechtsformen + +## Übersicht der Rechtsformen + +### Privatrechtliche Rechtsformen + +``` +Rechtsformen +├── Einzelunternehmen +│ +├── Personengesellschaften +│ ├── OHG (Offene Handelsgesellschaft) +│ ├── KG (Kommanditgesellschaft) +│ └── GbR (Gesellschaft bürgerlichen Rechts) +│ +└── Kapitalgesellschaften + ├── GmbH (Gesellschaft mit beschränkter Haftung) + ├── UG (haftungsbeschränkt) + ├── AG (Aktiengesellschaft) + └── GmbH & Co. KG +``` + +## Im Detail + +### Einzelunternehmen + +| Merkmal | Beschreibung | +|---------|--------------| +| Gründer | Natürliche Person | +| Haftung | Unbegrenzt, persönlich | +| Mindestkapital | Keines | +| Gewinn | Einkommensteuer | + +### GmbH (Gesellschaft mit beschränkter Haftung) + +| Merkmal | Beschreibung | +|---------|--------------| +| Gründer | 1+ Personen (natürlich/juristisch) | +| Haftung | Auf Gesellschaftsvermögen beschränkt | +| Mindestkapital | 25.000€ (bei Gründung) | +| Organe | Geschäftsführer, Gesellschafterversammlung | + +### UG (haftungsbeschränkt) + +| Merkmal | Beschreibung | +|---------|--------------| +| Besonderheit | "Mini-GmbH" | +| Mindestkapital | 1€ | +| Pflicht | 25% Gewinn in Rücklage bis 25.000€ | + +### AG (Aktiengesellschaft) + +| Merkmal | Beschreibung | +|---------|--------------| +| Mindestkapital | 50.000€ | +| Organe | Vorstand, Aufsichtsrat, Hauptversammlung | +| Aktien | Anteile frei handelbar | + +### OHG (Offene Handelsgesellschaft) + +| Merkmal | Beschreibung | +|---------|--------------| +| Gründer | 2+ Personen | +| Haftung | Alle Gesellschafter unbegrenzt | +| Vertretung | Jeder Gesellschafter vertritt | + +### GbR (Gesellschaft bürgerlichen Rechts) + +| Merkmal | Beschreibung | +|---------|--------------| +| Gründer | 2+ Personen | +| Zweck | Beliebig (nicht gewerblich) | +| Haftung | Alle Gesellschafter persönlich | + +--- + +## Vergleichstabelle + +| Rechtsform | Mindestkapital | Haftung | Steuer | +|-----------|----------------|---------|--------| +| Einzelunternehmen | - | Unbegrenzt | ESt | +| OHG | - | Persönlich | ESt | +| KG | - | KG: unbegrenzt, K: begrenzt | ESt | +| GmbH | 25.000€ | Begrenzt | KSt + GewSt | +| UG | 1€ | Begrenzt | KSt + GewSt | +| AG | 50.000€ | Begrenzt | KSt + GewSt | + +--- + +## Wahl der Rechtsform + +### Kriterien + +1. **Haftung**: Persönliche Haftung vermeiden? +2. **Kapital**: Wie viel Geld ist verfügbar? +3. **Steuern**: Welche Steuerbelastung? +4. **Flexibilität**: Wie einfach Änderungen? +5. **Image**: Welche Rechtsform passt? + +--- + +## Querverweise + +- [[LF1-04-Organisation|Nächstes Thema: Organisationsstruktur]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Rechtsformen]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-04-Organisation.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-04-Organisation.md new file mode 100644 index 0000000..4822aef --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-04-Organisation.md @@ -0,0 +1,113 @@ +# 1.4 Organisationsstruktur + +## Aufbauorganisation + +### Organigramm + +``` +Organigramm - Beispiel IT-Unternehmen + + ┌─────────────────┐ + │ Geschäftsführer │ + └────────┬────────┘ + │ + ┌────────────┼────────────┐ + │ │ │ +┌───▼───┐ ┌────▼────┐ ┌───▼───┐ +│ Leiter│ │ Leiter │ │ Leiter│ +│Vertrieb│ │Entwickl.│ │Support│ +└───┬───┘ └────┬───┘ └───┬───┘ + │ │ │ +┌───▼───┐ ┌────▼────┐ ┌───▼───┐ +│Team 1 │ │Team 2 │ │Team 3 │ +│ │ │ │ │ │ +└───────┘ └─────────┘ └───────┘ +``` + +## Organisationsformen + +### Funktionale Organisation + +``` + ┌──────────┐ + │ CEO │ + └────┬─────┘ + ┌──────┴──────┬──────┐ + │ │ │ +┌────▼────┐ ┌────▼──┐ ┌─▼─────┐ +│Produktion│ │Vertrieb│ │Finanzen│ +└─────────┘ └───────┘ └───────┘ +``` + +### Hierarchische Ebenen + +| Ebene | Titel | Aufgabe | +|-------|-------|----------| +| 1 | Geschäftsführung | Strategie, Führung | +| 2 | Abteilungsleitung | Operative Führung | +| 3 | Teamleitung | Teamkoordination | +| 4 | Mitarbeiter | Aufgabenerfüllung | + +--- + +## Ablauforganisation + +### Geschäftsprozesse + +``` +Prozessmodell + +┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ +│ Input │ → │ Aktivität│ → │ Aktivität│ → │ Output │ +└─────────┘ └─────────┘ └─────────┘ └─────────┘ + │ + ▼ + ┌─────────────┐ + │ Entscheidung │ + └─────────────┘ +``` + +### Prozessarten + +| Prozess | Beschreibung | +|---------|-------------| +| ** Kernprozesse** | Wertschöpfend (z.B. Produktion) | +| **Supportprozesse** | Unterstützend (z.B. IT) | +| **Managementprozesse** | Steuernd (z.B. Controlling) | + +--- + +## Schnittstellen + +### Horizontale Schnittstellen + +- Zwischen Abteilungen +- Gleiche Hierarchieebene + +### Vertikale Schnittstellen + +- Zwischen Hierarchieebenen +- Vorgesetzte ↔ Mitarbeiter + +--- + +## Organigramm erstellen + +### Schritte + +1. Alle Mitarbeiter erfassen +2. Hierarchieebenen definieren +3. Abteilungen bilden +4. Zuständigkeiten zuweisen +5. Visualisieren + +--- + +## Querverweise + +- [[LF1-05-Wertschoepfungskette|Nächstes Thema: Wertschöpfungskette]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Unternehmen]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-05-Wertschoepfungskette.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-05-Wertschoepfungskette.md new file mode 100644 index 0000000..6042f4f --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-05-Wertschoepfungskette.md @@ -0,0 +1,118 @@ +# 1.5 Wertschöpfungskette + +## Definition + +Die Wertschöpfungskette beschreibt alle Aktivitäten, die ein Unternehmen durchführt, um aus **Input** (Rohstoffe, Informationen) ein **Output** (Produkt/Dienstleistung) zu erstellen. + +## Klassische Wertschöpfungskette (Porter) + +``` +┌─────────────────────────────────────────────────────────────┐ +│ WERTSCHÖPFUNGSKETTE │ +├───────────────────────┬─────────────────────────────────────┤ +│ UNTERSTÜTZUNG │ HAUPTAKTIVITÄTEN │ +├───────────────────────┼─────────────────────────────────────┤ +│ │ │ +│ 1. Beschaffung │ 5. Marketing & Vertrieb │ +│ (Einkauf) │ (Kunden gewinnen) │ +│ │ │ +├───────────────────────┼─────────────────────────────────────┤ +│ 2. Personal- │ 4. Absatz / Vertrieb │ +│ verwaltung │ (verkaufen) │ +│ │ │ +├───────────────────────┼─────────────────────────────────────┤ +│ 3. Technologie │ 6. Service │ +│ (IT, F&E) │ (Kundendienst) │ +│ │ │ +├───────────────────────┴─────────────────────────────────────┤ +│ │ +│ 7. Produktion / Leistungserstellung │ +│ (Herstellung der Produkte/Dienstleistungen) │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +## Wertschöpfung im IT-Bereich + +``` +IT-Wertschöpfungskette + +┌─────────────┐ +│ ANALYSE │ ← Kundenanforderungen verstehen +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ DESIGN │ ← Lösungskonzepte entwickeln +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ ENTWICKLUNG │ ← Software programmieren +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ TESTING │ ← Qualität sichern +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ ROLLOUT │ ← Auslieferung & Installation +└──────┬──────┘ + │ + ▼ +┌─────────────┐ +│ SUPPORT │ ← Wartung & Betreuung +└─────────────┘ +``` + +--- + +## Wertschöpfungskette analysieren + +### Fragen zur Analyse + +1. Welche Aktivitäten erzeugen den größten Wert? +2. Welche Aktivitäten kosten am meisten? +3. Wo können wir effizienter werden? +4. Welche Aktivitäten können wir auslagern? + +--- + +## Eigene Rolle in der Wertschöpfung + +### Einordnung + +| Position | Beitrag zur Wertschöpfung | +|----------|---------------------------| +| Support | Hilft Kunden, Produkt zu nutzen | +| Entwicklung | Erstellt das Produkt | +| Vertrieb | Bringt Produkt zum Kunden | +| Beratung | Schafft Mehrwert | + +--- + +## Übung + +Zeichne die Wertschöpfungskette deines Ausbildungsbetriebes: + +``` +1. _______________ +2. _______________ +3. _______________ +4. _______________ +5. _______________ +6. _______________ +``` + +--- + +## Querverweise + +- [[LF1-06-Eigene-Rolle|Nächstes Thema: Eigene Rolle]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Wertschöpfung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-06-Eigene-Rolle.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-06-Eigene-Rolle.md new file mode 100644 index 0000000..82bf4f5 --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-06-Eigene-Rolle.md @@ -0,0 +1,105 @@ +# 1.6 Eigene Rolle im Betrieb + +## Ausbildungsvertrag + +### Rechte und Pfflichten + +**Auszubildende/r hat Recht auf:** +- Ausbildung nach Ausbildungsplan +- Vergütung (Ausbildungsentgelt) +- Urlaub (mindestens 24 Werktage/Jahr) +- Berufsschulunterricht +- Nachhilfe bei Problemen + +**Auszubildende/r ist verpflichtet:** +- Lernpflicht (Berufsschule, Betrieb) +- Sorgfaltspflicht +- Schweigepflicht +- Betriebsordnung einhalten + +--- + +## Handlungsspielraum + +### Vollmachten + +| Bereich | Typische Grenzen | +|---------|------------------| +| Einkauf | Bis 100€ ohne Genehmigung | +| Support | Grundlegende Supporttätigkeiten | +| Konfiguration | Standardkonfigurationen | +| Kundenkontakt | Nur unter Aufsicht | + +### Entscheidungsspielraum + +``` +Entscheidungsspielraum +├── Kein Spielraum +│ └── Kritische Entscheidungen (immer Rücksprache) +│ +├── Begrenzter Spielraum +│ └── Standardentscheidungen (innerhalb von Regeln) +│ +└── Freier Spielraum + └── Eigenverantwortliche Entscheidungen +``` + +--- + +## Kommunikation + +### Ansprechpartner + +| Rolle | Aufgabe | +|-------|---------| +| Ausbilder | Betreuung im Betrieb | +| Berufsschullehrer | Unterricht | +| Azubi-Vertreter | Interessenvertretung | +| Betriebsrat | Mitarbeitervertretung | + +### Kommunikationswege + +- **Formell**: Meetings, E-Mail, Tickets +- **Informell**: Pausengespräch, Slack, Teams + +--- + +## Fort- und Weiterbildung + +### Während der Ausbildung + +- Berufsschule +- Überbetriebliche Lehrgänge +- innerbetriebliche Schulungen + +### Nach der Ausbildung + +- Weiterbildung zum/zur: + - Fachwirt/in + - Techniker/in + - Meister/in + - Bachelor/Master + +--- + +## Reflexion + +### Selbsteinschätzung + +Beantworte für dich: + +1. Was sind meine Stärken? +2. Was muss ich noch lernen? +3. Welche Ziele habe ich für die Ausbildung? +4. Wo sehe ich mich nach der Ausbildung? + +--- + +## Querverweise + +- [[LF2-Arbeitsplätze-ausstatten|Nächstes Lernfeld: LF 2]] +- [[Prüfungsübersicht|Prüfungsvorbereitung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-Notizen.md b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-Notizen.md new file mode 100644 index 0000000..0d78eec --- /dev/null +++ b/1-Ausbildungsjahr/LF1-Unternehmen-Rolle/LF1-Notizen.md @@ -0,0 +1,121 @@ +# LF 1: Das Unternehmen und die eigene Rolle im Betrieb beschreiben + +> **1. Ausbildungsjahr** | Zeitrichtwert: **40 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, ihr Unternehmen hinsichtlich seiner Wertschöpfungskette zu präsentieren und ihre eigene Rolle im Betrieb zu beschreiben. + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Die ökonomischen, ökologischen und sozialen Zielsetzungen deines Unternehmens erläutern +- [ ] Die Marktstruktur in deiner Branche analysieren +- [ ] Das Unternehmen als komplexes System mit Markt- und Kundenbeziehungen einordnen +- [ ] Die Wertschöpfungskette beschreiben und die eigene Rolle darin darstellen +- [ ] Die Organisationsstruktur und Rechtsform des Unternehmens erklären +- [ ] Den eigenen Handlungs- und Entscheidungsspielraum (Vollmachten) beschreiben +- [ ] Fort- und Weiterbildungsmaßnahmen im Unternehmen darstellen +- [ ] Adressatengerechte multimediale Präsentationen erstellen + +--- + +## Kompetenzbereiche + +### Fachkompetenz +- Unternehmensziele und Leitbild verstehen +- Wertschöpfungskette analysieren +- Rechtsformen unterscheiden (GmbH, UG, OHG, KG, AG, etc.) +- Organisationsstrukturen interpretieren + +### Selbstkompetenz +- Eigene Rolle reflektieren +- Stärken und Entwicklungsbereiche identifizieren +- Perspektiven für die berufliche Entwicklung aufzeigen + +### Sozialkompetenz +- Im Team präsentieren +- Kommunikationsregeln anwenden +- Feedback geben und annehmen + +--- + +## Zentrale Themen + +### 1. Das Unternehmen kennenlernen +``` +Unternehmensleitbild → Marktstruktur → Rechtsform → +Organisationsstruktur → Wertschöpfungskette → Rolle im Betrieb +``` + +### 2. Unternehmensziele +- **Ökonomische Ziele**: Gewinn, Umsatz, Marktanteil +- **Ökologische Ziele**: Umweltschutz, Nachhaltigkeit, Ressourceneffizienz +- **Soziale Ziele**: Mitarbeiterzufriedenheit, Ausbildung, Gesellschaftliches Engagement + +### 3. Rechtsformen (Überblick) +| Rechtsform | Merkmale | Haftung | +|------------|----------|---------| +| GmbH | Juristische Person, min. 25.000€ Stammkapital | Gesellschaftsvermögen | +| UG (haftungsbeschränkt) | Juristische Person, min. 1€ Stammkapital | Gesellschaftsvermögen | +| OHG | Natürliche Personen | Persönlich, unbegrenzt | +| KG | Mind. ein Komplementär, min. ein Kommanditist | Komplementär: unbegrenzt | +| AG | Juristische Person, min. 50.000€ Grundkapital | Gesellschaftsvermögen | +| Einzelunternehmen | Natürliche Person | Persönlich, unbegrenzt | + +### 4. Organisationsstruktur +- **Aufbauorganisation**: Hierarchie, Abteilungen, Zuständigkeiten +- **Ablauforganisation**: Prozesse, Workflows, Schnittstellen +- **Organigramme**: Visualisierung der Struktur + +### 5. Wertschöpfungskette +``` +Beschaffung → Produktion → Vertrieb → Marketing → +Kundenservice → Buchhaltung/Controlling +``` + +### 6. Eigene Rolle im Betrieb +- Ausbildungsvertrag und Rechte/Pflichten +- Handlungsspielraum und Vollmachten +- Kommunikationswege +- Ansprechpartner und Hierarchie + +--- + +## Handlungsphasen (vollständige Handlung) + +1. **Informieren**: Unternehmensleitbild, Ziele, Struktur erkunden +2. **Planen**: Präsentation vorbereiten, Inhalte strukturieren +3. **Durchführen**: Präsentation erstellen und vortragen +4. **Überprüfen**: Qualität des Produkts bewerten +5. **Reflektieren**: Eigene Rolle und Handeln bewerten + +--- + +## Prüfungsrelevanz + +- Basis für die gesamte Ausbildung +- Wird in Teil 1 der Abschlussprüfung vorausgesetzt +- Grundlagen für WISO-Prüfung + +--- + +## Tipps für die Prüfung + +1. **Mündliche Prüfung**: Übe Präsentationen vorzustellen +2. **Unternehmensanalyse**: Kenntnisse über deinen eigenen Ausbildungsbetrieb +3. **Rechtsformen**: Unterschiede können in WISO abgefragt werden +4. **Wertschöpfung**: Verstehe die Prozesse im Unternehmen + +--- + +## Querverweise + +- [[LF2-Arbeitsplätze-ausstatten|Anschließend: LF 2 - Arbeitsplätze nach Kundenwunsch ausstatten]] +- [[Wirtschafts-Sozialkunde|WISO - Wirtschaft und Soziales]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-00-Übersicht.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-00-Übersicht.md new file mode 100644 index 0000000..f4382e9 --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-00-Übersicht.md @@ -0,0 +1,66 @@ +# LF 2: Arbeitsplätze nach Kundenwunsch ausstatten + +> **1. Ausbildungsjahr** | Zeitrichtwert: **80 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, die Ausstattung eines Arbeitsplatzes nach Kundenwunsch zu dimensionieren, anzubieten, zu beschaffen und den Arbeitsplatz an die Kunden zu übergeben. + +--- + +## Themenübersicht + +1. [[LF2-01-Kundenanforderungen|Kundenanforderungen aufnehmen]] +2. [[LF2-02-Hardwareauswahl|Hardware auswählen]] +3. [[LF2-03-Softwareauswahl|Software auswählen]] +4. [[LF2-04-Nutzwertanalyse|Nutzwertanalyse durchführen]] +5. [[LF2-05-Angebot|Kalkulation und Angebot]] +6. [[LF2-06-Beschaffung|Beschaffung und Inbetriebnahme]] + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Kundenwünsche für Arbeitsplatz-Ausstattung aufnehmen und Anforderungen ermitteln +- [ ] Auswahlkriterien für Hard- und Software ableiten +- [ ] Technische Merkmale von Produkten vergleichen (Nutzwertanalyse) +- [ ] Angebote erstellen und Preise kalkulieren +- [ ] Beschaffungsprozess organisieren +- [ ] IT-Arbeitsplatz konfigurieren und in Betrieb nehmen + +--- + +## Handlungsphasen + +``` +1. Kundenwunsch aufnehmen + ↓ +2. Anforderungen analysieren + ↓ +3. Produkte vergleichen + ↓ +4. Angebot erstellen + ↓ +5. Beschaffen und konfigurieren + ↓ +6. Übergeben und dokumentieren +``` + +--- + +## Prüfungsrelevanz + +- **Teil 1 der Abschlussprüfung** (Gewichtung: 20%) +- Schwerpunktthema für den praktischen Teil + +--- + +## Querverweise + +- [[LF1-Unternehmen-Rolle|Vorher: LF 1]] +- [[LF3-Datenbanken|Nachher: LF 3]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-01-Kundenanforderungen.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-01-Kundenanforderungen.md new file mode 100644 index 0000000..2fdf233 --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-01-Kundenanforderungen.md @@ -0,0 +1,111 @@ +# 2.1 Kundenanforderungen aufnehmen + +## Kundengespräch + +### Vorbereitung + +``` +Gesprächsvorbereitung +├── Termin vereinbaren +├── Unterlagen vorbereiten (Firmenpräsentation, Produktkataloge) +├── Fragen formulieren +└── Gesprächsziel definieren +``` + +### Fragetechniken + +| Fragentyp | Beispiel | Zweck | +|-----------|---------|-------| +| **Offen** | "Was sind Ihre Wünsche?" | Informationen sammeln | +| **Geschlossen** | "Brauchen Sie Windows?" | Bestätigung | +| **Zurückfragend** | "Warum ist das wichtig?" | Tiefes Verständnis | +| **Zusammenfassend** | "Also benötigen Sie..." | Verständnis sichern | + +--- + +## Anforderungen erfassen + +### Lastenheft (vom Kunden) + +Das Lastenheft enthält alle Anforderungen des Kunden: + +```markdown +# Lastenheft - Arbeitsplatzausstattung + +## 1. Anlass +Neueinstellung von 5 Mitarbeitern + +## 2. Nutzerprofil +- Büroarbeit +- E-Mail, Office-Anwendungen +- Videokonferenzen +- gelegentlich Bildbearbeitung + +## 3. Anforderungen Hardware +- Leistungsstarker PC (Office + Bildbearbeitung) +- 2 Monitore (24") +- Headset für Videokonferenzen + +## 4. Anforderungen Software +- Windows 11 Pro +- Microsoft 365 Business +- Adobe Photoshop (Lizenz vorhanden) + +## 5. Budget +max. 2.000€ pro Arbeitsplatz + +## 6. Zeitrahmen +Lieferung bis zum 15. des Folgemonats +``` + +--- + +## Anforderungskategorien + +### Funktionale Anforderungen + +| Kategorie | Beispiele | +|-----------|-----------| +| Leistung | Schnell genug für alle Anwendungen | +| Speicher | Ausreichend für Projektdaten | +| Display | Für Videokonferenzen geeignet | + +### Nicht-funktionale Anfordermen + +| Kategorie | Beispiele | +|-----------|-----------| +| Zuverlässigkeit | 3 Jahre Garantie | +| Ergonomie | TÜV-zertifiziert | +| Nachhaltigkeit | Energy Star | + +--- + +## Übung: Anforderungen aufnehmen + +Führe ein Rollenspiel durch: + +- Person A: Kunde (beschreibt Wünsche) +- Person B: Azubi (notiert Anforderungen) + +Dokumentiere die Ergebnisse: + +``` +Kundenwunsch: _________________ + +Ermittelte Anforderungen: +- Hardware: _______________ +- Software: _______________ +- Budget: _______________ +- Zeitrahmen: _______________ +``` + +--- + +## Querverweise + +- [[LF2-02-Hardwareauswahl|Nächstes Thema: Hardware auswählen]] +- [[LF1-06-Eigene-Rolle|Kommunikation]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-02-Hardwareauswahl.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-02-Hardwareauswahl.md new file mode 100644 index 0000000..723bc0a --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-02-Hardwareauswahl.md @@ -0,0 +1,102 @@ +# 2.2 Hardware auswählen + +## PC-Komponenten + +### Prozessor (CPU) + +| Kriterium | Bedeutung | +|-----------|-----------| +| Kerne | Mehr Kerne = parallel arbeiten | +| Taktfrequenz | Höher = schneller | +| Cache | Mehr = schnellerer Datenzugriff | +| Generation | Aktueller = effizienter | + +**Aktuelle Generationen (2024):** +- Intel: Core i3/i5/i7/i9 (14. Gen) +- AMD: Ryzen 3/5/7/9 (5000-7000er) + +### Arbeitsspeicher (RAM) + +| Typ | Geschwindigkeit | +|-----|----------------| +| DDR4 | 2133-3200 MT/s | +| DDR5 | 4800-7200 MT/s | + +**Empfehlung:** +- Office: 8-16 GB +- Bildbearbeitung: 32 GB +- Video/3D: 64+ GB + +### Speicher + +| Typ | Geschwindigkeit | Einsatz | +|-----|----------------|----------| +| SSD NVMe | Sehr schnell (3000+ MB/s) | System | +| SSD SATA | Schnell (500 MB/s) | Programme | +| HDD | Langsam (100 MB/s) | Datenarchiv | + +### Grafikkarte (GPU) + +| Typ | Einsatz | +|-----|---------| +| Integriert | Office, Surfen | +| Dediziert (GTX/RTX) | Bildbearbeitung, Gaming | +| Professionell (Quadro) | CAD, 3D | + +--- + +## Peripherie + +### Monitor + +| Kriterium | Empfehlung | +|-----------|-------------| +| Größe | 24-27" | +| Auflösung | Full HD (1920x1080) oder mehr | +| Panel | IPS (betroffene Farben) | +| Ergonomie | Höhenverstellbar, Pivot | + +### Tastatur/Maus + +- **Tastatur**: Tastatur-Layout (QWERTZ), mechanisch/sch Membrane +- **Maus**: Ergonomisch, Kabel/Wireless + +### Headset + +- Für Videokonferenzen: Mit Mikrofon +- Aktive Geräuschunterdrückung (ANC) + +--- + +## Checkliste Hardware + +``` +☐ Prozessor: _______________ +☐ RAM: _______________ +☐ Speicher (SSD): _______________ +☐ Grafikkarte: _______________ +☐ Monitor: _______________ +☐ Tastatur: _______________ +☐ Maus: _______________ +☐ Headset: _______________ +☐ Gesamtpreis: _______________ +``` + +--- + +## Normen und Vorschriften + +- **CE-Kennzeichnung**: EU-Sicherheitsstandard +- **RoHS**: Beschränkung gefährlicher Stoffe +- **Energy Star**: Energieeffizienz + +--- + +## Querverweise + +- [[LF2-03-Softwareauswahl|Nächstes Thema: Software auswählen]] +- [[LF4-IT-Sicherheit|IT-Sicherheit]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-03-Softwareauswahl.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-03-Softwareauswahl.md new file mode 100644 index 0000000..c8b8031 --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-03-Softwareauswahl.md @@ -0,0 +1,96 @@ +# 2.3 Software auswählen + +## Betriebssysteme + +### Optionen + +| OS | Vorteile | Nachteile | Einsatz | +|----|----------|-----------|----------| +| **Windows 11** | Kompatibel, weit verbreitet | Lizenzkosten | Büro, privat | +| **Linux (Ubuntu)** | Kostenlos, sicher | Weniger Software | Server, Developer | +| **macOS** | Design, Ökosystem | Teuer, Apple-Hardware | Design, Media | + +### Lizenzierung + +``` +Lizenzmodelle +├── Kauf (perpetual) +├── Subscription (Mietmodell) +├── Open Source (kostenlos) +└── OEM (an Hardware gebunden) +``` + +--- + +## Anwendungssoftware + +### Office-Pakete + +| Produkt | Kosten | Features | +|---------|--------|----------| +| Microsoft 365 | ~12-15€/Monat | Word, Excel, PowerPoint, Teams | +| LibreOffice | Kostenlos | Word, Calc, Impress | +| Google Workspace | ~6-12€/Monat | Docs, Sheets, Drive | + +### Branchensoftware + +- ERP-Systeme (SAP, Lexware) +- CRM-Systeme (Salesforce) +- Buchhaltung (DATEV) + +--- + +## Softwarekriterien + +### Auswahlkriterien + +| Kriterium | Gewichtung | Beispiel | +|-----------|------------|-----------| +| Funktionalität | Hoch | Alle benötigten Features | +| Kompatibilität | Hoch | Mit bestehender IT | +| Benutzerfreundlichkeit | Mittel | Einfache Bedienung | +| Support | Mittel |Deutscher Ansprechpartner | +| Kosten | Mittel | Budget einhalten | +| Datenschutz | Hoch | DSGVO-Konformität | + +--- + +## Lizenzmanagement + +### Lizenzarten + +``` +Lizenzarten +├── Einzelplatzlizenz +├── Volumenlizenz (Site License) +├── OEM-Lizenz (an Hardware gebunden) +├── Subscription (zeitlich begrenzt) +└── Concurrent License (gleiche Nutzer) +``` + +### Compliance + +- Lizenzen dokumentieren +- Audit-Fähigkeit sicherstellen +- Schulung der Nutzer + +--- + +## Datenschutz (DSGVO) + +### Anforderungen + +- **Auftragsverarbeitung**: Vertrag mit Anbieter +- **Datenspeicherung**: Wo werden Daten gespeichert? +- **Löschkonzept**: Was passiert bei Vertragsende? + +--- + +## Querverweise + +- [[LF2-04-Nutzwertanalyse|Nächstes Thema: Nutzwertanalyse]] +- [[LF4-IT-Sicherheit|DSGVO]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-04-Nutzwertanalyse.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-04-Nutzwertanalyse.md new file mode 100644 index 0000000..6442301 --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-04-Nutzwertanalyse.md @@ -0,0 +1,113 @@ +# 2.4 Nutzwertanalyse durchführen + +## Definition + +Die Nutzwertanalyse (NWA) ist ein **systematisches Bewertungsverfahren** zur Auswahl zwischen verschiedenen Alternativen. + +## Schritte + +``` +Nutzwertanalyse - Ablauf + +1. Kriterien festlegen + ↓ +2. Gewichtung definieren + ↓ +3. Bewertung durchführen + ↓ +4. Nutzwert berechnen + ↓ +5. Entscheidung treffen +``` + +--- + +## Schritt-für-Schritt + +### 1. Kriterien definieren + +| Nr. | Kriterium | Beispiel | +|-----|----------|----------| +| 1 | Preis | günstigster Preis | +| 2 | Leistung | Prozessor-Rating | +| 3 | Qualität | Garantiezeit | +| 4 | Design | Optik | +| 5 | Service | Support-Qualität | + +### 2. Gewichtung (Summe = 100%) + +| Kriterium | Gewichtung | +|-----------|-------------| +| Preis | 25% | +| Leistung | 30% | +| Qualität | 20% | +| Design | 10% | +| Service | 15% | +| **Summe** | **100%** | + +### 3. Bewertung (1-10 Punkte) + +| Kriterium | Gewichtung | Laptop A | Laptop B | +|-----------|------------|----------|----------| +| Preis | 25% | 7 (70%) | 8 (80%) | +| Leistung | 30% | 8 (80%) | 9 (90%) | +| Qualität | 20% | 8 (80%) | 7 (70%) | +| Design | 10% | 6 (60%) | 9 (90%) | +| Service | 15% | 7 (70%) | 8 (80%) | + +### 4. Nutzwert berechnen + +``` +Nutzwert = Σ (Bewertung × Gewichtung) + +Laptop A: += 0,25 × 7 + 0,30 × 8 + 0,20 × 8 + 0,10 × 6 + 0,15 × 7 += 1,75 + 2,40 + 1,60 + 0,60 + 1,05 += 7,40 + +Laptop B: += 0,25 × 8 + 0,30 × 9 + 0,20 × 7 + 0,10 × 9 + 0,15 × 8 += 2,00 + 2,70 + 1,40 + 0,90 + 1,20 += 8,20 +``` + +### 5. Ergebnis + +| Laptop | Nutzwert | Rang | +|--------|----------|------| +| Laptop B | 8,20 | 1 | +| Laptop A | 7,40 | 2 | + +--- + +## Vorlage + +### Nutzwertanalyse - Vorlage + +| Kriterium | Gewichtung (%) | Lösung A | Lösung B | Lösung C | +|-----------|-----------------|----------|----------|----------| +| Kriterium 1 | | | | | +| Kriterium 2 | | | | | +| Kriterium 3 | | | | | +| Kriterium 4 | | | | | +| Kriterium 5 | | | | | +| **Summe** | **100%** | | | | + +--- + +## Tipps + +- **Objektiv bewerten**: Nicht von persönlichen Präferenzen leiten lassen +- **Kriterien dokumentieren**: Warum wurde welches Kriterium gewichtet? +- **Alternativen vergleichen**: Mindestens 2-3 Optionen + +--- + +## Querverweise + +- [[LF2-05-Angebot|Nächstes Thema: Kalkulation und Angebot]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Entscheidungsfindung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-05-Angebot.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-05-Angebot.md new file mode 100644 index 0000000..a38061e --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-05-Angebot.md @@ -0,0 +1,131 @@ +# 2.5 Kalkulation und Angebot + +## Angebotskalkulation + +### Handelskalkulation + +``` +Listeneinkaufspreis (LEP) ++ Bezugskosten (Fracht, Verpackung) += Einstandspreis (EP) + ++ Handlungskosten (Gemeinkosten, z.B. 30%) += Selbstkosten (SK) + ++ Gewinnmarge (z.B. 15%) += Netto-Angebotspreis + ++ Umsatzsteuer (19%) += Brutto-Angebotspreis +``` + +### Beispielrechnung + +``` +Hardware: +- PC-System: 800,00 € +- Monitor: 300,00 € +- Peripherie: 150,00 € +--------------------------------- +Summe Hardware: 1.250,00 € + +Bezugskosten (2%): 25,00 € +--------------------------------- +Einstandspreis: 1.275,00 € + ++ Gemeinkosten (30%): 382,50 € +--------------------------------- +Selbstkosten: 1.657,50 € + ++ Gewinn (15%): 248,63 € +--------------------------------- +Netto-Angebotspreis: 1.906,13 € + ++ Umsatzsteuer (19%): 362,16 € +--------------------------------- +Brutto-Angebotspreis: 2.268,29 € +``` + +--- + +## Angebotsstruktur + +### Angebotsvorlage + +``` +Angebot Nr.: [Nummer] +Datum: [Datum] + +An: +[Firmenname] +[Ansprechpartner] +[Adresse] + +Angebot für: [Projektname/Beschreibung] + +Sehr geehrte/r [Name], + +wir bieten Ihnen如下: + +Position | Beschreibung | Menge | Einzelpreis | Gesamtpreis +---------|--------------|-------|-------------|------------- +1 | [Produkt 1] | 1 | [Preis] | [Preis] +2 | [Produkt 2] | 1 | [Preis] | [Preis] +... | | | | + +Zwischensumme (netto) | [Summe] ++ Umsatzsteuer 19% | [MwSt] +--------------------------------- +Gesamtbetrag (brutto) | [Gesamt] + +Lieferzeit: [Zeit] +Zahlungsbedingungen: [sofort/30 Tage/etc.] +Gültigkeit: [Datum] + +Mit freundlichen Grüßen, +[Name] +[Firma] +``` + +--- + +## Angebotsvergleich + +### Quantitative Kriterien + +| Kriterium | Angebot A | Angebot B | +|-----------|------------|------------| +| Gesamtpreis | 2.268€ | 2.350€ | +| Lieferzeit | 5 Tage | 3 Tage | +| Garantie | 2 Jahre | 3 Jahre | + +### Qualitative Kriterien + +| Kriterium | Angebot A | Angebot B | +|-----------|------------|------------| +| Support | Deutsch | Deutsch + Englisch | +| Referenzen | 5 | 10 | + +--- + +## Wichtige Begriffe + +| Begriff | Erklärung | +|---------|-----------| +| **LEP** | Listeneinkaufspreis | +| **EP** | Einstandspreis | +| **SK** | Selbstkosten | +| **Anfrage** | Anforderung des Kunden | +| **Angebot** | Verbindliches Angebot des Lieferanten | +| **Auftragsbestätigung** | Annahme des Angebots | + +--- + +## Querverweise + +- [[LF2-06-Beschaffung|Nächstes Thema: Beschaffung und Inbetriebnahme]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Kalkulation]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-06-Beschaffung.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-06-Beschaffung.md new file mode 100644 index 0000000..07b4da0 --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-06-Beschaffung.md @@ -0,0 +1,169 @@ +# 2.6 Beschaffung und Inbetriebnahme + +## Beschaffungsprozess + +### Bestellung + +``` +Beschaffungsablauf +├── Bedarfsanalyse +├── Lieferantenauswahl +├── Bestellung auslösen +├── Lieferung prüfen +└── Einbuchen +``` + +### Lieferantenmanagement + +| Kriterium | Bedeutung | +|-----------|-----------| +| Lieferzeit | Schnelle Verfügbarkeit | +| Preis | Wettbewerbsfähig | +| Support | Technische Hilfe | +| Zuverlässigkeit | Pünktliche Lieferung | + +--- + +## Konfiguration + +### Hardware + +``` +Konfigurationsschritte +├── BIOS/UEFI Einstellungen +├── RAID-Konfiguration +├── Boot-Reihenfolge +├── Energieeinstellungen +└── Hardwaretests +``` + +### Software + +``` +Installationsreihenfolge +├── Betriebssystem +├── Updates und Patches +├── Treiber +├── Anwendungssoftware +└── Virenschutz +``` + +### Imaging + +``` +Systemabbild erstellen +├── Referenzsystem aufsetzen +├── Treiber sammeln +├── Sysprep durchführen +├── Image erstellen (z.B. Clonezilla) +└── Auf Clients verteilen +``` + +--- + +## Inbetriebnahme + +### Prüfungen + +| Prüfung | Beschreibung | +|---------|-------------| +| Sichtprüfung | Keine Transportschäden | +| Funktionstest | Alle Komponenten funktionieren | +| Performance | Benchmark durchführen | +| Sicherheit | Virenschutz, Updates | + +### Dokumentation + +``` +Konfigurationsdokumentation +├── Seriennummern +├── IP-Adressen +├── Installierte Software +├── Benutzerkonten +└── Passwörter (sicher gespeichert) +``` + +--- + +## Übergabe an Kunden + +### Abnahme + +``` +Übergabeprozedur +├── Installation beim Kunden +├── Funktionsprüfung +├── Einweisung des Kunden +├── Übergabedokumentation +└── Abnahme durch Kunden +``` + +### Einweisung + +| Thema | Inhalt | +|-------|--------| +| Grundfunktionen | System starten/herunterfahren | +| Software | Wichtige Programme erklären | +| Support | Ansprechpartner nennen | +| Support | Notfallkontakte | + +### Übergabedokumentation + +```markdown +# Übergabeprotokoll + +## Auftraggeber +Name: _______________ +Datum: _______________ + +## Gelieferte Hardware +- Gerät 1: _______________ +- Gerät 2: _______________ + +## Installierte Software +- _______________ + +## Übergabeprüfung +- [ ] Alle Geräte funktionieren +- [ ] Software installiert +- [ ] Kunde eingewiesen + +## Unterschriften +Kunde: _______________ +Techniker: _______________ +``` + +--- + +## Garantie und Support + +### Garantiebedingungen + +| Typ | Dauer | +|-----|-------| +| Herstellergarantie | 2-3 Jahre | +| Bring-in | Kunde sendet ein | +| Vor-Ort | Techniker kommt vorbei | +| Pick-up & Return | Abholung durch Hersteller | + +### Supportstufen + +``` +Support-Level +├── Level 1: First-Level (Hotline) +├── Level 2: Technischer Support +├── Level 3: Entwicklung/Hersteller +└── Eskalation bei Bedarf +``` + +--- + +## Querverweise + +- [[LF2-05-Angebot|Zurück: Kalkulation und Angebot]] +- [[LF3-Datenbanken|Nächstes Lernfeld: Datenbanken]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Vertragsrecht]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-Notizen.md b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-Notizen.md new file mode 100644 index 0000000..b7a9b5c --- /dev/null +++ b/1-Ausbildungsjahr/LF2-Arbeitsplätze-ausstatten/LF2-Notizen.md @@ -0,0 +1,165 @@ +# LF 2: Arbeitsplätze nach Kundenwunsch ausstatten + +> **1. Ausbildungsjahr** | Zeitrichtwert: **80 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, die Ausstattung eines Arbeitsplatzes nach Kundenwunsch zu dimensionieren, anzubieten, zu beschaffen und den Arbeitsplatz an die Kunden zu übergeben. + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Kundenwünsche für Arbeitsplatz-Ausstattung aufnehmen und Anforderungen ermitteln +- [ ] Auswahlkriterien für Hard- und Software ableiten +- [ ] Technische Merkmale von Produkten vergleichen (Nutzwertanalyse) +- [ ] Angebote erstellen und Preise kalkulieren +- [ ] Beschaffungsprozess organisieren +- [ ] IT-Arbeitsplatz konfigurieren und in Betrieb nehmen +- [ ] Übergabeprotokoll erstellen +- [ ] Den gesamten Prozess reflektieren und bewerten + +--- + +## Handlungsphasen + +### 1. Kundenwunsch aufnehmen +``` +Kundengespräch → Anforderungen ermitteln → Dokumentation → Auswahlkriterien +``` + +**Wichtige Fragen:** +- Welche Software wird benötigt? +- Welche Leistungsanforderungen bestehen? +- Ergonomische Anforderungen? +- Budgetvorstellungen? + +### 2. Produkte vergleichen + +**Kriterien für Hardware:** +| Kriterium | Beschreibung | +|-----------|-------------| +| Prozessor | Kerne, Taktfrequenz, Cache | +| Arbeitsspeicher | Kapazität, Typ (DDR4/DDR5) | +| Festplatte | SSD/HDD, Kapazität | +| Grafikkarte | Dediziert/integriert, Speicher | +| Display | Auflösung, Größe, Paneltyp | +| Anschlüsse | USB, HDMI, etc. | + +**Kriterien für Software:** +- Lizenzmodell (Kauf, Subscription, Open Source) +- Kompatibilität mit bestehender Infrastruktur +- Benutzerfreundlichkeit +- Support/Updates +- Datenschutz (DSGVO) + +### 3. Nutzwertanalyse + +**Beispiel-Matrix:** + +| Kriterium | Gewichtung | Laptop A | Laptop B | +|-----------|------------|----------|----------| +| Performance | 25% | 8 (80%) | 9 (90%) | +| Preis | 20% | 7 (70%) | 6 (60%) | +| Akkulaufzeit | 15% | 9 (90%) | 7 (70%) | +| Display | 15% | 8 (80%) | 9 (90%) | +| Ergonomie | 15% | 7 (70%) | 8 (80%) | +| Support | 10% | 8 (80%) | 7 (70%) | +| **Gesamt** | **100%** | **7,9** | **7,8** | + +**Berechnung:** +``` +Nutzwert = Σ (Bewertung × Gewichtung) +``` + +### 4. Angebotskalkulation + +``` +Listeneinkaufspreis ++ Bezugskosten (Versand, Zoll) += Einstandspreis ++ Gemeinkosten/Zuschlag (z.B. 30%) ++ Gewinnmarge (z.B. 15%) += Angebotspreis ++ MwSt. (19%) += Brutto-Angebotspreis +``` + +### 5. Beschaffung und Inbetriebnahme + +**Ablauf:** +1. Bestellung auslösen +2. Lieferung prüfen (Mängel dokumentieren!) +3. Komponenten installieren +4. Software konfigurieren +5. Funktion testen +6. Kunden einweisen +7. Übergabeprotokoll erstellen + +--- + +## Zentrale Inhalte + +### Hard- und Software +- Desktop-PC, Laptop, Workstation +- Peripherie (Monitor, Tastatur, Maus, Drucker) +- Betriebssysteme (Windows, Linux, macOS) +- Anwendungssoftware (Office, Branchensoftware) +- Cloud-Lösungen (SaaS, IaaS) + +### Normen und Vorschriften +- CE-Kennzeichnung +- Ergonomie (Bildschirmarbeitsplätze) +- Datenschutz (DSGVO) +- IT-Sicherheit +- Nachhaltigkeit (Green IT, Recycling) + +### Elektrotechnik (Grundlagen) +- Spannung, Strom, Leistung +- Schutzmaßnahmen +- Energieeffizienz + +--- + +## Wichtige Begriffe + +| Begriff | Erklärung | +|---------|-----------| +| **Lastenheft** | Vom Kunden erstellte Anforderungsbeschreibung | +| **Pflichtenheft** | Vom Anbieter erstellte Umsetzungsbeschreibung | +| **Nutzwertanalyse** | Systematisches Bewertungsverfahren für Alternativen | +| **Angebotsvergleich** | Quantitative und qualitative Gegenüberstellung von Angeboten | +| **Übergabeprotokoll** | Dokumentation der übergebenen Leistungen | + +--- + +## Prüfungsrelevanz + +- **Teil 1 der Abschlussprüfung** (Gewichtung: 20%) +- Schwerpunktthema für den praktischen Teil +- Projektarbeit: "Einrichten eines IT-gestützten Arbeitsplatzes" + +--- + +## Typische Prüfungsaufgaben + +1. Anforderungen aus Kundenwunsch ableiten +2. Hardwarekomponenten auswählen und begründen +3. Nutzwertanalyse durchführen +4. Angebotskalkulation erstellen +5. Konfiguration dokumentieren +6. Störungen beheben + +--- + +## Querverweise + +- [[LF1-Unternehmen-Rolle|Vorher: LF 1 - Das Unternehmen]] +- [[LF3-Netzwerke-einbinden|Nachher: LF 3 - Clients in Netzwerke einbinden]] +- [[IT-Sicherheit|IT-Sicherheit und Datenschutz]] +- [[Wirtschafts-Sozialkunde|WISO - Kalkulation]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF3-Datenbanken/LF3-00-Übersicht.md b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-00-Übersicht.md new file mode 100644 index 0000000..c34361d --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-00-Übersicht.md @@ -0,0 +1,43 @@ +# Lernfeld 3: Datenbanken entwickeln + +## Übersicht + +Dieses Lernfeld behandelt die Entwicklung und Verwaltung von Datenbanken. + +## Themen + +| Nr. | Thema | Beschreibung | +|-----|-------|-------------| +| 3.1 | [[LF3-01-Datenbankgrundlagen|Datenbankgrundlagen]] | Grundbegriffe, DBMS, Datenmodelle | +| 3.2 | [[LF3-02-Datenmodellierung|Datenmodellierung]] | ER-Modell, Normalisierung | +| 3.3 | [[LF3-03-SQL-Grundlagen|SQL-Grundlagen]] | SELECT, INSERT, UPDATE, DELETE | +| 3.4 | [[LF3-04-SQL-Abfragen|SQL-Abfragen]] | JOINs, Aggregatfunktionen, Unterabfragen | +| 3.5 | [[LF3-05-Datenbankmanagement|Datenbankmanagement]] | Rechte, Sicherheit, Backup | + +## Lernziele + +- Datenbanken konzipieren und modellieren +- SQL-Abfragen erstellen +- Datenbanken verwalten und absichern + +## Voraussetzungen + +- LF1: Unternehmen und Rolle +- LF2: Arbeitsplätze ausstatten + +## Prüfungsrelevanz + +- Teil 1 Abschlussprüfung (schriftlich) +- Teil 2 Abschlussprüfung (praktisch) + +--- + +## Querverweise + +- [[LF2-06-Beschaffung|Zurück: Beschaffung und Inbetriebnahme]] +- [[LF4-IT-Sicherheit|Nächstes Lernfeld: IT-Sicherheit]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Datenschutz]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF3-Datenbanken/LF3-01-Datenbankgrundlagen.md b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-01-Datenbankgrundlagen.md new file mode 100644 index 0000000..2b6aefc --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-01-Datenbankgrundlagen.md @@ -0,0 +1,127 @@ +# 3.1 Datenbankgrundlagen + +## Was ist eine Datenbank? + +Eine Datenbank ist eine **strukturierte Sammlung von Daten**, die elektronisch gespeichert und verwaltet werden. + +### Vorteile gegenüber Dateisystem + +| Dateisystem | Datenbank | +|-------------|-----------| +| Redundanz | Keine/reduzierte Redundanz | +| Inkonsistenzen | Datenkonsistenz | +| Zugriffskontrollle | Integrierte Rechteverwaltung | +| Parallelzugriff | Concurrent Access | +| Datensicherung | Backup/Recovery | + +--- + +## Datenbankmanagementsystem (DBMS) + +### Funktionen + +``` +DBMS - Kernfunktionen +├── Datendefinition (DDL) +├── Datenmanipulation (DML) +├── Zugriffskontrolle +├── Transaktionsmanagement +├── Datenintegrität +└── Datensicherung +``` + +### DBMS-Typen + +| Typ | Beispiele | Einsatz | +|-----|-----------|----------| +| Relational | MySQL, PostgreSQL, Oracle | Standard | +| Dokumentenorientiert | MongoDB | Unstrukturierte Daten | +| Key-Value | Redis | Caching | +| Graph | Neo4j | Netzwerke | + +### Relationale Datenbanken + +``` +Relationales Modell +├── Tabelle (Relation) +├── Zeile (Tupel/Datensatz) +├── Spalte (Attribut) +├── Primärschlüssel +└── Fremdschlüssel +``` + +--- + +## Datenbankarchitektur + +### Dreischichtenarchitektur + +``` +Architektur +├── Externe Ebene (Benutzersicht) +├── Konzeptionelle Ebene (logisches Modell) +└── Interne Ebene (physikalische Speicherung) +``` + +### ANSI-SPARC-Architektur + +| Ebene | Beschreibung | +|-------|-------------| +| Extern | Benutzeransichten | +| Konzeptuell | Gesamtsicht der DB | +| Intern | Speicherstrukturen | + +--- + +## Datenmodelle + +### Hierarchisches Modell + +``` +Baumstruktur +Root +├── Kind1 +│ └── Enkel1 +└── Kind2 +``` + +### Netzwerkmodell + +``` +Netzstruktur +Knoten1 ←→ Knoten2 ←→ Knoten3 +``` + +### Relationales Modell + +``` +Tabellenmodell +Kunde (ID, Name, Adresse) + ↓ +Bestellung (ID, Kunde_ID, Datum) +``` + +--- + +## Wichtige Begriffe + +| Begriff | Erklärung | +|---------|-----------| +| **Tabelle** | Sammlung von Datensätzen | +| **Datensatz** | Eine Zeile in einer Tabelle | +| **Attribut** | Eine Spalte in einer Tabelle | +| **Primärschlüssel** | Eindeutige ID eines Datensatzes | +| **Fremdschlüssel** | Verweis auf andere Tabelle | +| **Index** | Beschleunigt den Zugriff | +| **Sicht (View)** | Gespeicherte Abfrage | + +--- + +## Querverweise + +- [[LF3-02-Datenmodellierung|Nächstes Thema: Datenmodellierung]] +- [[LF5-03-Programmierung|Programmierung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF3-Datenbanken/LF3-02-Datenmodellierung.md b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-02-Datenmodellierung.md new file mode 100644 index 0000000..cbb4e8e --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-02-Datenmodellierung.md @@ -0,0 +1,174 @@ +# 3.2 Datenmodellierung + +## ER-Modell (Entity-Relationship) + +Das ER-Modell ist ein **konzeptionelles Datenmodell** zur Beschreibung von Datenstrukturen. + +### Grundbegriffe + +``` +ER-Modell - Komponenten +├── Entitäten (Entities) +├── Beziehungen (Relationships) +└── Attribute (Eigenschaften) +``` + +### Entitäten + +Eine Entität ist ein **Objekt der realen Welt**, das eindeutig identifizierbar ist. + +| Entität | Beispiel | +|---------|----------| +| Person | Kunde, Mitarbeiter | +| Ding | Produkt, Auto | +| Konzept | Bestellung, Rechnung | + +### Attribute + +Attribute beschreiben **Eigenschaften** von Entitäten. + +``` +Attribute - Typen +├── Einfachwertig +├── Mehrwertig (z.B. Telefonnummern) +├── Zusammengesetzt (z.B. Adresse) +└── Abgeleitet (z.B. Alter aus Geburtsdatum) +``` + +### Beziehungen (Relationships) + +Beziehungen verknüpfen Entitäten miteinander. + +``` +Beziehungsgrade +├── 1:1 (One-to-One) +├── 1:n (One-to-Many) +└── n:m (Many-to-Many) +``` + +--- + +## ER-Diagramm + +### Symbole + +``` +Notation (Chen-Notation) +Rechteck → Entität +Raute → Beziehung +Ellipse → Attribut +Unterstrich → Primärschlüssel +Doppel ellipse → Mehrwertiges Attribut +``` + +### Kardinalitäten + +| Symbol | Bedeutung | +|--------|-----------| +| 1 | Genau eins | +| N | Eins bis viele | +| 0..1 | Null bis eins | +| 0..N | Null bis viele | + +### Beispiel: Webshop + +``` +ER-Diagramm - Webshop + + Kunde ──────── Bestellung ──────── Produkt + (1) (1..n) (1) (1..n) (1) (1..n) + +Kunde: {Kunden_ID (PK), Name, E-Mail, Adresse} +Bestellung: {Bestell_ID (PK), Kunden_ID (FK), Datum, Status} +Produkt: {Produkt_ID (PK), Name, Preis, Kategorie} +BestellPosition: {Bestell_ID (FK), Produkt_ID (FK), Menge} +``` + +--- + +## Normalisierung + +Normalisierung reduziert **Redundanz** und vermeidet **Anomalien**. + +### Normalformen + +``` +Normalisierungsstufen +├── 1. Normalform (1NF) +├── 2. Normalform (2NF) +├── 3. Normalform (3NF) +└── Boyce-Codd-Normalform (BCNF) +``` + +### 1. Normalform (1NF) + +**Bedingung**: Jedes Attribut enthält nur atomare (unteilbare) Werte. + +``` +Nicht 1NF: +Bestellung | Produkte +-----------|------------------ +1 | A, B, C + +1NF: +Bestellung | Produkt +-----------|---------- +1 | A +1 | B +1 | C +``` + +### 2. Normalform (2NF) + +**Bedingung**: 1NF erfüllt + jedes Nicht-Schlüssel-Attribut ist vom gesamten Primärschlüssel abhängig. + +### 3. Normalform (3NF) + +**Bedingung**: 2NF erfüllt + keine transitiven Abhängigkeiten. + +``` +Nicht 3NF: +{Student_ID, Kurs_ID} → {Note} → {Bewertungstext} + +3NF: +{Student_ID, Kurs_ID} → {Note} +{Note} → {Bewertungstext} +``` + +--- + +## Übung: Datenmodell erstellen + +### Aufgabenstellung + +Erstelle ein ER-Diagramm für eine Bibliothek: + +- Bücher können ausgeliehen werden +- Kunden leihen Bücher aus +- Ein Buch hat mehrere Exemplare + +### Lösung + +``` +Entitäten: +- Kunde (Kunden_ID, Name, Adresse) +- Buch (ISBN, Titel, Autor, Verlag) +- Exemplar (Exemplar_ID, ISBN, Status) +- Ausleihe (Ausleihe_ID, Kunden_ID, Exemplar_ID, Datum) + +Beziehungen: +- Kunde (1) ─── (0..n) Ausleihe +- Exemplar (1) ─── (0..1) Ausleihe +- Buch (1) ─── (1..n) Exemplar +``` + +--- + +## Querverweise + +- [[LF3-01-Datenbankgrundlagen|Zurück: Datenbankgrundlagen]] +- [[LF3-03-SQL-Grundlagen|Nächstes Thema: SQL-Grundlagen]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF3-Datenbanken/LF3-03-SQL-Grundlagen.md b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-03-SQL-Grundlagen.md new file mode 100644 index 0000000..b324fff --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-03-SQL-Grundlagen.md @@ -0,0 +1,235 @@ +# 3.3 SQL-Grundlagen + +## Was ist SQL? + +**SQL** (Structured Query Language) ist die Standardsprache für die Kommunikation mit relationalen Datenbanken. + +### SQL-Teilsprachen + +``` +SQL - Kategorien +├── DDL (Data Definition Language) +│ ├── CREATE → Objekte erstellen +│ ├── ALTER → Objekte ändern +│ └── DROP → Objekte löschen +├── DML (Data Manipulation Language) +│ ├── SELECT → Daten abfragen +│ ├── INSERT → Daten einfügen +│ ├── UPDATE → Daten ändern +│ └── DELETE → Daten löschen +├── DCL (Data Control Language) +│ ├── GRANT → Rechte vergeben +│ └── REVOKE → Rechte entziehen +└── TCL (Transaction Control Language) + ├── COMMIT → Transaktion abschließen + ├── ROLLBACK → Transaktion zurücksetzen + └── SAVEPOINT → Speicherpunkt +``` + +--- + +## Datentypen + +### Numerisch + +| Datentyp | Beschreibung | Bereich | +|----------|-------------|---------| +| INT | Ganzzahl | -2 Mrd. bis 2 Mrd. | +| DECIMAL(p,s) | Dezimalzahl | p= Stellen, s= Nachkommastellen | +| FLOAT | Gleitkommazahl | ~7 Stellen | +| DOUBLE | Doppelte Präzision | ~15 Stellen | + +### Zeichenketten + +| Datentyp | Beschreibung | max. Länge | +|----------|-------------|-------------| +| CHAR(n) | Festlänge | 255 | +| VARCHAR(n) | Variable Länge | 65.535 | +| TEXT | Langer Text | 65.535+ | +| LONGTEXT | Sehr langer Text | 4 GB | + +### Datum/Zeit + +| Datentyp | Beschreibung | +|----------|-------------| +| DATE | Datum (JJJJ-MM-TT) | +| TIME | Zeit (HH:MM:SS) | +| DATETIME | Datum + Zeit | +| TIMESTAMP | Unix-Zeitstempel | + +--- + +## DDL - Datenbankobjekte erstellen + +### Tabelle erstellen (CREATE TABLE) + +```sql +CREATE TABLE Kunde ( + Kunden_ID INT PRIMARY KEY, + Vorname VARCHAR(50) NOT NULL, + Nachname VARCHAR(50) NOT NULL, + E-Mail VARCHAR(100) UNIQUE, + Geburtsdatum DATE, + Erstellt_AM TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); +``` + +### Tabelle ändern (ALTER TABLE) + +```sql +-- Spalte hinzufügen +ALTER TABLE Kunde ADD Telefon VARCHAR(20); + +-- Spalte ändern +ALTER TABLE Kunde MODIFY E-Mail VARCHAR(150); + +-- Spalte löschen +ALTER TABLE Kunde DROP COLUMN Telefon; +``` + +### Tabelle löschen (DROP TABLE) + +```sql +DROP TABLE Kunde; +``` + +--- + +## DML - Daten bearbeiten + +### Daten einfügen (INSERT) + +```sql +-- Einzelne Zeile +INSERT INTO Kunde (Kunden_ID, Vorname, Nachname, E-Mail) +VALUES (1, 'Max', 'Mustermann', 'max@example.com'); + +-- Mehrere Zeilen +INSERT INTO Kunde (Kunden_ID, Vorname, Nachname) +VALUES + (2, 'Anna', 'Schmidt'), + (3, 'Peter', 'Müller'); +``` + +### Daten ändern (UPDATE) + +```sql +-- Ein Datensatz +UPDATE Kunde +SET E-Mail = 'max.neu@example.com' +WHERE Kunden_ID = 1; + +-- Mehrere Datensätze +UPDATE Kunde +SET Nachname = 'Meier' +WHERE Nachname = 'Müller'; +``` + +### Daten löschen (DELETE) + +```sql +-- Bestimmte Zeilen +DELETE FROM Kunde WHERE Kunden_ID = 1; + +-- Alle Zeilen (Tabelle bleibt) +DELETE FROM Kunde; +``` + +--- + +## SELECT - Daten abfragen + +### Grundstruktur + +```sql +SELECT -- Was? + Spalten +FROM -- Woher? + Tabelle +WHERE -- Filter + Bedingung +ORDER BY -- Sortierung + Spalte; +``` + +### Einfache Abfragen + +```sql +-- Alle Spalten +SELECT * FROM Kunde; + +-- Bestimmte Spalten +SELECT Vorname, Nachname FROM Kunde; + +-- Mit Alias +SELECT Vorname AS 'Vorname', Nachname AS 'Nachname' FROM Kunde; +``` + +### WHERE-Klausel + +```sql +-- Einfache Bedingung +SELECT * FROM Kunde WHERE Nachname = 'Mustermann'; + +-- Vergleichsoperatoren +SELECT * FROM Kunde WHERE Alter >= 18; +SELECT * FROM Produkt WHERE Preis > 100 AND Preis < 500; + +-- LIKE (Mustervergleich) +SELECT * FROM Kunde WHERE Name LIKE 'M%'; -- beginnt mit M +SELECT * FROM Kunde WHERE Name LIKE '%er%'; -- enthält 'er' +SELECT * FROM Kunde WHERE Name LIKE '___'; -- genau 3 Zeichen + +-- IN (in Liste) +SELECT * FROM Kunde WHERE Stadt IN ('Berlin', 'Hamburg', 'München'); + +-- BETWEEN (Bereich) +SELECT * FROM Produkt WHERE Preis BETWEEN 100 AND 500; +``` + +--- + +## Übung: SQL-Grundlagen + +### Aufgaben + +1. Erstelle eine Tabelle "Produkt" mit ID, Name, Preis, Kategorie +2. Füge 3 Produkte ein +3. Ändere den Preis des ersten Produkts auf 99,99 +4. Lösche das teuerste Produkt + +### Lösung + +```sql +-- 1. Tabelle erstellen +CREATE TABLE Produkt ( + Produkt_ID INT PRIMARY KEY, + Name VARCHAR(100), + Preis DECIMAL(10,2), + Kategorie VARCHAR(50) +); + +-- 2. Daten einfügen +INSERT INTO Produkt VALUES +(1, 'Laptop', 1299.99, 'Elektronik'), +(2, 'Maus', 29.99, 'Zubehör'), +(3, 'Tastatur', 79.99, 'Zubehör'); + +-- 3. Preis ändern +UPDATE Produkt SET Preis = 99.99 WHERE Produkt_ID = 1; + +-- 4. Teuerstes löschen +DELETE FROM Produkt WHERE Preis = (SELECT MAX(Preis) FROM Produkt); +``` + +--- + +## Querverweise + +- [[LF3-02-Datenmodellierung|Zurück: Datenmodellierung]] +- [[LF3-04-SQL-Abfragen|Nächstes Thema: SQL-Abfragen]] +- [[LF6-04-Sicherheit-Web|Sicherheit: SQL-Injection]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF3-Datenbanken/LF3-04-SQL-Abfragen.md b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-04-SQL-Abfragen.md new file mode 100644 index 0000000..05c3bd8 --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-04-SQL-Abfragen.md @@ -0,0 +1,263 @@ +# 3.4 SQL-Abfragen + +## JOINs - Tabellen verknüpfen + +JOINs verbinden Daten aus mehreren Tabellen. + +### Arten von JOINs + +``` +JOIN-Typen +├── INNER JOIN +├── LEFT OUTER JOIN +├── RIGHT OUTER JOIN +├── FULL OUTER JOIN +└── CROSS JOIN +``` + +### INNER JOIN + +Gibt nur übereinstimmende Zeilen zurück. + +```sql +-- Syntax +SELECT spalten +FROM tabelle1 +INNER JOIN tabelle2 ON tabelle1.spalte = tabelle2.spalte; + +-- Beispiel: Kunden mit Bestellungen +SELECT Kunde.Name, Bestellung.Datum +FROM Kunde +INNER JOIN Bestellung ON Kunde.Kunden_ID = Bestellung.Kunden_ID; + +-- Kurzschreibweise (impliziter Join) +SELECT Kunde.Name, Bestellung.Datum +FROM Kunde, Bestellung +WHERE Kunde.Kunden_ID = Bestellung.Kunden_ID; +``` + +### LEFT OUTER JOIN + +Gibt alle Zeilen der linken Tabelle zurück. + +```sql +-- Alle Kunden, auch ohne Bestellung +SELECT Kunde.Name, Bestellung.Datum +FROM Kunde +LEFT OUTER JOIN Bestellung ON Kunde.Kunden_ID = Bestellung.Kunden_ID; +``` + +### RIGHT OUTER JOIN + +Gibt alle Zeilen der rechten Tabelle zurück. + +```sql +-- Alle Bestellungen, auch ohne Kunden +SELECT Kunde.Name, Bestellung.Datum +FROM Kunde +RIGHT OUTER JOIN Bestellung ON Kunde.Kunden_ID = Bestellung.Kunden_ID; +``` + +### Mehrere JOINs + +```sql +SELECT + Kunde.Name, + Bestellung.Datum, + Produkt.Name AS Produkt +FROM Kunde +INNER JOIN Bestellung ON Kunde.Kunden_ID = Bestellung.Kunden_ID +INNER JOIN BestellPosition ON Bestellung.Bestell_ID = BestellPosition.Bestell_ID +INNER JOIN Produkt ON BestellPosition.Produkt_ID = Produkt.Produkt_ID; +``` + +--- + +## Aggregatfunktionen + +Aggregatfunktionen fassen mehrere Zeilen zu einem Ergebnis zusammen. + +| Funktion | Beschreibung | Beispiel | +|----------|-------------|----------| +| COUNT() | Anzahl der Zeilen | COUNT(*) | +| SUM() | Summe | SUM(Preis) | +| AVG() | Durchschnitt | AVG(Preis) | +| MIN() | Minimum | MIN(Preis) | +| MAX() | Maximum | MAX(Preis) | + +### Beispiele + +```sql +-- Anzahl der Kunden +SELECT COUNT(*) AS AnzahlKunden FROM Kunde; + +-- Summe aller Bestellungen +SELECT SUM(Gesamtbetrag) AS Gesamtumsatz FROM Bestellung; + +-- Durchschnittspreis +SELECT AVG(Preis) AS Durchschnittspreis FROM Produkt; + +-- Minimale/Maximale Bestellung +SELECT MIN(Gesamtbetrag) AS KleinsteBestellung, + MAX(Gesamtbetrag) AS GrößteBestellung +FROM Bestellung; +``` + +--- + +## GROUP BY - Gruppierung + +Gruppiert Ergebnisse nach bestimmten Kriterien. + +```sql +-- Umsatz pro Kunde +SELECT Kunden_ID, SUM(Gesamtbetrag) AS Umsatz +FROM Bestellung +GROUP BY Kunden_ID; + +-- Anzahl Bestellungen pro Kunde +SELECT Kunden_ID, COUNT(*) AS AnzahlBestellungen +FROM Bestellung +GROUP BY Kunden_ID; + +-- Umsatz pro Kategorie +SELECT Kategorie, SUM(Preis) AS Gesamtumsatz +FROM Produkt +GROUP BY Kategorie; +``` + +### HAVING - Filter nach Aggregation + +```sql +-- Kunden mit mehr als 3 Bestellungen +SELECT Kunden_ID, COUNT(*) AS Anzahl +FROM Bestellung +GROUP BY Kunden_ID +HAVING COUNT(*) > 3; +``` + +--- + +## Unterabfragen (Subqueries) + +Unterabfragen sind verschachtelte SELECT-Anweisungen. + +### Skalar-Unterabfrage + +Gibt einen einzelnen Wert zurück. + +```sql +-- Alle Produkte, die teurer als der Durchschnitt sind +SELECT Name, Preis +FROM Produkt +WHERE Preis > (SELECT AVG(Preis) FROM Produkt); +``` + +### Unterabfrage mit IN + +```sql +-- Kunden, die mindestens eine Bestellung haben +SELECT Name +FROM Kunde +WHERE Kunden_ID IN (SELECT Kunden_ID FROM Bestellung); +``` + +### Korrelierte Unterabfrage + +Referenziert Spalten der äußeren Abfrage. + +```sql +-- Produkte mit dem höchsten Preis pro Kategorie +SELECT Name, Preis, Kategorie +FROM Produkt p1 +WHERE Preis = ( + SELECT MAX(Preis) + FROM Produkt p2 + WHERE p1.Kategorie = p2.Kategorie +); +``` + +--- + +## ORDER BY - Sortierung + +```sql +-- Aufsteigend (Standard) +SELECT * FROM Produkt ORDER BY Preis; + +-- Absteigend +SELECT * FROM Produkt ORDER BY Preis DESC; + +-- Mehrere Sortierspalten +SELECT * FROM Bestellung +ORDER BY Datum DESC, Gesamtbetrag DESC; +``` + +--- + +## LIMIT / TOP - Ergebnismenge begrenzen + +```sql +-- MySQL/MariaDB +SELECT * FROM Produkt ORDER BY Preis DESC LIMIT 10; + +-- SQL Server +SELECT TOP 10 * FROM Produkt ORDER BY Preis DESC; + +-- PostgreSQL +SELECT * FROM Produkt ORDER BY Preis DESC LIMIT 10; +``` + +--- + +## Übung: Komplexe Abfragen + +### Ausgangsdaten + +```sql +-- Kunden (ID, Name, Stadt) +-- Bestellungen (ID, Kunden_ID, Datum, Gesamtbetrag) +-- BestellPositionen (Bestell_ID, Produkt_ID, Menge, Preis) +``` + +### Aufgaben + +1. Finde die 5 umsatzstärksten Kunden +2. Liste alle Bestellungen mit Kundenname +3. Zeige den durchschnittlichen Bestellwert pro Stadt + +### Lösungen + +```sql +-- 1. Top 5 Kunden +SELECT K.Name, SUM(B.Gesamtbetrag) AS Umsatz +FROM Kunde K +JOIN Bestellung B ON K.Kunden_ID = B.Kunden_ID +GROUP BY K.Kunden_ID, K.Name +ORDER BY Umsatz DESC +LIMIT 5; + +-- 2. Bestellungen mit Kundenname +SELECT B.Bestell_ID, K.Name, B.Datum, B.Gesamtbetrag +FROM Bestellung B +JOIN Kunde K ON B.Kunden_ID = K.Kunden_ID +ORDER BY B.Datum DESC; + +-- 3. Durchschnittsbestellwert pro Stadt +SELECT K.Stadt, AVG(B.Gesamtbetrag) AS Durchschnitt +FROM Kunde K +JOIN Bestellung B ON K.Kunden_ID = B.Kunden_ID +GROUP BY K.Stadt; +``` + +--- + +## Querverweise + +- [[LF3-03-SQL-Grundlagen|Zurück: SQL-Grundlagen]] +- [[LF3-05-Datenbankmanagement|Nächstes Thema: Datenbankmanagement]] +- [[LF5-03-Programmierung|Programmierung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF3-Datenbanken/LF3-05-Datenbankmanagement.md b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-05-Datenbankmanagement.md new file mode 100644 index 0000000..8b1848e --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Datenbanken/LF3-05-Datenbankmanagement.md @@ -0,0 +1,245 @@ +# 3.5 Datenbankmanagement + +## Benutzerverwaltung + +### Benutzer erstellen + +```sql +-- MySQL/MariaDB +CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort'; + +-- PostgreSQL +CREATE USER benutzer WITH PASSWORD 'passwort'; +``` + +### Rechte vergeben (GRANT) + +```sql +-- Alle Rechte auf eine Datenbank +GRANT ALL PRIVILEGES ON datenbank.* TO 'benutzer'@'localhost'; + +-- Nur Leserechte +GRANT SELECT ON datenbank.tabelle TO 'benutzer'@'localhost'; + +-- Mehrere Rechte +GRANT SELECT, INSERT, UPDATE ON datenbank.tabelle TO 'benutzer'@'localhost'; +``` + +### Rechte entziehen (REVOKE) + +```sql +REVOKE INSERT ON datenbank.tabelle FROM 'benutzer'@'localhost'; +``` + +### Rollen (PostgreSQL) + +```sql +-- Rolle erstellen +CREATE ROLE leser; + +-- Rechte zuweisen +GRANT SELECT ON tabelle TO leser; + +-- Rolle zu Benutzer +GRANT leser TO benutzer; +``` + +--- + +## Transaktionen + +Transaktionen garantieren die **ACID-Eigenschaften**. + +``` +ACID - Eigenschaften +├── Atomicity (Atomarität) +├── Consistency (Konsistenz) +├── Isolation (Isolierung) +└── Durability (Dauerhaftigkeit) +``` + +### Transaktionssteuerung + +```sql +-- Transaktion starten (implizit bei vielen DBMS) +START TRANSACTION; + +-- Änderungen speichern +COMMIT; + +-- Änderungen zurücknehmen +ROLLBACK; + +-- Sicherungspunkt setzen +SAVEPOINT speicherpunkt1; +``` + +### Beispiel: Überweisung + +```sql +START TRANSaktion; + +-- Geld abbuchen +UPDATE Konto SET Kontostand = Kontostand - 100 +WHERE Konto_ID = 1; + +-- Geld gutschreiben +UPDATE Konto SET Kontostand = Kontostand + 100 +WHERE Konto_ID = 2; + +-- Wenn alles OK, speichern +COMMIT; + +-- Bei Fehler: alles zurücksetzen +ROLLBACK; +``` + +--- + +## Datensicherung (Backup) + +### Backup-Typen + +| Typ | Beschreibung | +|-----|-------------| +| Vollbackup | Alle Daten sichern | +| Inkrementell | Nur Änderungen seit letztem Backup | +| Differentiell | Änderungen seit Vollbackup | + +### MySQL/MariaDB + +```bash +# Vollbackup +mysqldump -u root -p datenbank > backup.sql + +# Mehrere Datenbanken +mysqldump -u root -p --databases db1 db2 > backup.sql + +# Wiederherstellen +mysql -u root -p datenbank < backup.sql +``` + +### PostgreSQL + +```bash +# Vollbackup +pg_dump -U benutzer datenbank > backup.sql + +# Wiederherstellen +psql -U benutzer datenbank < backup.sql +``` + +### Backup-Strategie + +``` +Backup-Plan +├── Täglich: Inkrementelles Backup +├── Wöchentlich: Vollbackup +├── Monatlich: Archivierung +└── Offsite: Externe Speicherung +``` + +--- + +## Datenbankoptimierung + +### Indizes + +Indizes beschleunigen den Zugriff auf Daten. + +```sql +-- Index erstellen +CREATE INDEX idx_name ON tabelle (spalte); + +-- Zusammengesetzter Index +CREATE INDEX idx_name ON tabelle (spalte1, spalte2); + +-- Eindeutiger Index +CREATE UNIQUE INDEX idx_email ON tabelle (email); + +-- Index löschen +DROP INDEX idx_name ON tabelle; +``` + +### EXPLAIN - Abfrage analysieren + +```sql +-- Ausführungsplan anzeigen +EXPLAIN SELECT * FROM tabelle WHERE spalte = 'wert'; + +-- MySQL +EXPLAIN FORMAT=JSON SELECT * FROM tabelle WHERE spalte = 'wert'; +``` + +### Optimierungstipps + +| Tipp | Beschreibung | +|------|-------------| +| INDEX verwenden | Für WHERE-Joins und -Spalten | +| SELECT * vermeiden | Nur benötigte Spalten | +| JOINs minimieren | Nicht mehr als nötig | +| Wildcards vermeiden | `LIKE '%wert'` ist langsam | + +--- + +## Datensicherheit + +### SQL Injection verhindern + +```sql +-- NICHT SO: Direkte Eingabe +SELECT * FROM benutzer WHERE name = '" + eingabe + "' + +-- BESSER: Prepared Statements +PREPARE stmt FROM 'SELECT * FROM benutzer WHERE name = ?'; +SET @name = eingabe; +EXECUTE stmt USING @name; +``` + +### Verschlüsselung + +``` +Verschlüsselungsebenen +├── Transport Layer Security (TLS) +├── Transparent Data Encryption (TDE) +└── Spaltenweise Verschlüsselung +``` + +--- + +## Monitoring + +### MySQL/MariaDB + +```sql +-- Aktuelle Verbindungen +SHOW PROCESSLIST; + +-- Statusvariablen +SHOW STATUS LIKE 'Connections'; +SHOW STATUS LIKE 'Threads%'; + +-- Langsame Abfragen +SHOW VARIABLES LIKE 'slow_query_log'; +``` + +### Wichtige Metriken + +| Metrik | Beschreibung | +|--------|-------------| +| Connection Usage | Aktive Verbindungen | +| Query Cache | Cache-Trefferquote | +| Lock Waits | Warteschlangen | +| Buffer Pool | Speicherauslastung | + +--- + +## Querverweise + +- [[LF3-04-SQL-Abfragen|Zurück: SQL-Abfragen]] +- [[LF4-IT-Sicherheit|Sicherheit: Zugriffskontrolle]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Datenschutz]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF3-Netzwerke-einbinden/LF3-Notizen.md b/1-Ausbildungsjahr/LF3-Netzwerke-einbinden/LF3-Notizen.md new file mode 100644 index 0000000..fba8a80 --- /dev/null +++ b/1-Ausbildungsjahr/LF3-Netzwerke-einbinden/LF3-Notizen.md @@ -0,0 +1,226 @@ +# LF 3: Clients in Netzwerke einbinden + +> **1. Ausbildungsjahr** | Zeitrichtwert: **80 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, eine Netzwerkinfrastruktur zu analysieren sowie Clients zu integrieren. + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Anforderungen an die Client-Integration im Kundengespräch erfassen +- [ ] Netzwerkkomponenten und deren Eigenschaften beschreiben +- [ ] Physische und logische Netzwerkpläne lesen und erstellen +- [ ] Clients für Netzwerke konfigurieren (IP, DNS, DHCP, etc.) +- [ ] Clients in bestehende Netzwerke einbinden +- [ ] Funktionstests durchführen und dokumentieren +- [ ] Wirtschaftlichkeit und Ökologie berücksichtigen + +--- + +## Netzwerk-Grundlagen + +### OSI-Schichtenmodell (7 Layer) + +| Layer | Name | Beispiele | Protokolle | +|-------|------|-----------|-------------| +| 7 | Application | HTTP, FTP, SMTP | DNS, DHCP | +| 6 | Presentation | SSL/TLS | JPEG, GIF | +| 5 | Session | RPC, NetBIOS | - | +| 4 | Transport | TCP, UDP | - | +| 3 | Network | IP, ICMP | Router | +| 2 | Data Link | Ethernet, Wi-Fi | Switch | +| 1 | Physical | Kabel, Glasfaser | Hub | + +### TCP/IP-Modell (4 Layer) + +``` ++------------------------+ +| Application Layer | ← HTTP, FTP, SMTP, DNS, DHCP ++------------------------+ +| Transport Layer | ← TCP, UDP ++------------------------+ +| Internet Layer | ← IP, ICMP, ARP ++------------------------+ +| Network Access Layer | ← Ethernet, Wi-Fi ++------------------------+ +``` + +--- + +## Netzwerkkomponenten + +### Aktive Komponenten + +| Komponente | OSI-Layer | Funktion | +|-----------|-----------|----------| +| **Hub** | Layer 1 | Signal verstärken, Broadcast | +| **Switch** | Layer 2 | MAC-Adressen lernen, VLANs | +| **Router** | Layer 3 | IP-Routing zwischen Netzen | +| **Gateway** | Layer 3-7 | Protokollübersetzung | +| **Access Point** | Layer 1-2 | WLAN-Verbindung | + +### Kabeltypen + +| Typ | max. Länge | max. Geschwindigkeit | +|-----|------------|---------------------| +| CAT5e | 100m | 1 Gbit/s | +| CAT6 | 100m | 10 Gbit/s (55m) | +| CAT6a | 100m | 10 Gbit/s | +| CAT7/7a | 100m | 10+ Gbit/s | + +--- + +## IP-Konfiguration + +### IPv4 + +**Aufbau:** 4 Oktette (0-255), maximal 32 Bit + +**IP-Adresse Beispiel:** `192.168.1.100` + +**Subnetzmaske:** `255.255.255.0` (/24) + +**私有 IP-Bereiche (RFC 1918):** +- 10.0.0.0/8 +- 172.16.0.0/12 +- 192.168.0.0/16 + +### IPv6 + +**Aufbau:** 8 Gruppen à 16 Bit, Hexadezimal + +**Beispiel:** `2001:0db8:85a3:0000:0000:8a2e:0370:7334` + +**Abkürzung:** +- Führende Nullen können weggelassen werden +- Doppelter Doppelpunkt (::) für aufeinanderfolgende Nullgruppen + +--- + +## DHCP (Dynamic Host Configuration Protocol) + +### Ablauf (DORA) + +``` +Client Server + | 1. DISCOVER | + |------------------>| + | 2. OFFER | + |<------------------| + | 3. REQUEST | + |------------------>| + | 4. ACK | + |<------------------| +``` + +### DHCP-Pool Beispiel + +``` +Network: 192.168.1.0/24 +Range: 192.168.1.100 - 192.168.1.200 +Gateway: 192.168.1.1 +DNS: 192.168.1.1, 8.8.8.8 +Lease Time: 24 hours +``` + +--- + +## DNS (Domain Name System) + +### Aufbau + +``` +Beispiel: www.example.com + │ │ + │ └─> TLD (Top Level Domain) + └──────────> Domain +``` + +### DNS-Einträge + +| Typ | Verwendung | +|-----|------------| +| A | IPv4-Adresse | +| AAAA | IPv6-Adresse | +| CNAME | Alias | +| MX | Mailserver | +| NS | Nameserver | +| TXT | Textinfo | + +--- + +## Netzwerkplanung + +### Logischer Netzwerkplan + +- IP-Adressierung +- Subnetze +- Routing +- Dienste + +### Physischer Netzwerkplan + +- Kabelwege +- Rack-Belegung +- Port-Belegung +- Switch-Ports + +--- + +## Sicherheit + +### Netzwerksicherheit + +- Firewall-Regeln +- VLAN-Trennung +- Port-Security +- VPN für Remote-Zugriff + +### Energiesparen + +- Energy Efficient Ethernet (EEE) +- Wake-on-LAN +- Zeitschaltuhren + +--- + +## Handlungsphasen + +1. **Informieren**: Anforderungen erfassen, Netzwerk analysieren +2. **Planen**: Konzept erstellen, Komponenten auswählen +3. **Durchführen**: Konfiguration durchführen, Clients einbinden +4. **Überprüfen**: Funktionstests, Dokumentation +5. **Reflektieren**: Wirtschaftlichkeit, Optimierung + +--- + +## Prüfungsrelevanz + +- **Teil 1 der Abschlussprüfung** +- Praktische Netzwerkkonfiguration +- IP-Planung und Subnetting + +--- + +## Übungsaufgaben + +1. IP-Adresse für Client konfigurieren (statisch/DHCP) +2. Kleinen Netzwerkplan erstellen (max. 10 Clients) +3. DHCP-Server konfigurieren +4. DNS-Auflösung testen + +--- + +## Querverweise + +- [[LF2-Arbeitsplätze-ausstatten|Vorher: LF 2]] +- [[LF4-Schutzbedarfsanalyse|Nachher: LF 4 - Schutzbedarfsanalyse]] +- [[Netzwerk-Technik|Netzwerktechnik]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-00-Übersicht.md b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-00-Übersicht.md new file mode 100644 index 0000000..1467153 --- /dev/null +++ b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-00-Übersicht.md @@ -0,0 +1,43 @@ +# Lernfeld 4: IT-Sicherheit gewährleisten + +## Übersicht + +Dieses Lernfeld behandelt die Grundlagen der IT-Sicherheit und des Datenschutzes. + +## Themen + +| Nr. | Thema | Beschreibung | +|-----|-------|-------------| +| 4.1 | [[LF4-01-Gefahren-Analyse|Gefahren und Bedrohungen]] | Malware, Hacker, Social Engineering | +| 4.2 | [[LF4-02-Schutzmassnahmen|Schutzmaßnahmen]] | Virenschutz, Firewall, Verschlüsselung | +| 4.3 | [[LF4-03-Sicherheitskonzepte|Sicherheitskonzepte]] | BSI, ISO 27001 | +| 4.4 | [[LF4-04-Datenschutz|Datenschutz (DSGVO)]] | Rechtliche Anforderungen | + +## Lernziele + +- Bedrohungen für IT-Systeme erkennen +- Schutzmaßnahmen implementieren +- Datenschutzanforderungen umsetzen + +## Voraussetzungen + +- LF1: Unternehmen und Rolle +- LF2: Arbeitsplätze ausstatten +- LF3: Datenbanken entwickeln + +## Prüfungsrelevanz + +- Teil 1 Abschlussprüfung (schriftlich) +- Teil 2 Abschlussprüfung (praktisch) + +--- + +## Querverweise + +- [[LF3-05-Datenbankmanagement|Zurück: Datenbankmanagement]] +- [[LF5-Analyse-Design|Nächstes Lernfeld: Analyse und Design]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Datenschutz]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-01-Gefahren-Analyse.md b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-01-Gefahren-Analyse.md new file mode 100644 index 0000000..11e9048 --- /dev/null +++ b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-01-Gefahren-Analyse.md @@ -0,0 +1,197 @@ +# 4.1 Gefahren und Bedrohungen + +## Bedrohungskategorien + +``` +Bedrohungen - Übersicht +├── Malware (Schadsoftware) +├── Hacker-Angriffe +├── Social Engineering +├── Physische Bedrohungen +└── Insider-Bedrohungen +``` + +--- + +## Malware (Schadsoftware) + +### Arten von Malware + +| Typ | Beschreibung | Beispiel | +|-----|-------------|----------| +| **Virus** | Benötigt Wirt, verbreitet sich | Dateivirus | +| **Wurm** | Selbstständig, Netzwerk | Conficker | +| **Trojaner** | Tarnung als nützliches Programm | Emotet | +| **Ransomware** | Verschlüsselt Daten | WannaCry | +| **Spyware** | Spioniert Nutzer aus | Keylogger | +| **Adware** | Werbung anzeigen | Browser-Hijacker | +| **Rootkit** | Versteckt Eindringlinge | Kernel-Rootkit | + +### Schadfunktionen + +``` +Malware-Funktionen +├── Datenspionage +├── Datenzerstörung +├── Systemübernahme +├── Botnetz-Erstellung +├── Erpressung +└── Kryptomining +``` + +### Angriffsvektoren + +| Vektor | Beschreibung | +|--------|-------------| +| E-Mail | Phishing, infizierte Anhänge | +| Web | Drive-by-Downloads | +| USB | Infizierte Wechselmedien | +| Netzwerk | Exploits, Schwachstellen | +| Social Engineering | Benutzer täuschen | + +--- + +## Hacker-Angriffe + +### Angriffsarten + +``` +Angriffstechniken +├── Denial of Service (DoS) +├── Distributed DoS (DDoS) +├── Man-in-the-Middle +├── SQL Injection +├── Cross-Site Scripting (XSS) +├── Buffer Overflow +└── Brute Force +``` + +### DoS/DDoS + +``` +DoS - Denial of Service +Ziel: Dienst unerreichbar machen + +Methoden: +├── Überlastung (Traffic-Flood) +├── Ausnutzung von Schwachstellen +└── Ressourcenerschöpfung +``` + +### SQL Injection + +```sql +-- Bösartige Eingabe +' OR '1'='1 + +-- Resultat (alle Daten werden zurückgegeben) +SELECT * FROM benutzer WHERE name = '' OR '1'='1' +``` + +### Brute-Force + +``` +Brute-Force - Ausprobieren aller Möglichkeiten + +Schutz: +├── Sperrung nach X Versuchen +├── Captcha +├── Zwei-Faktor-Authentifizierung +└── Starke Passwörter +``` + +--- + +## Social Engineering + +### Psychologische Angriffe + +| Technik | Beschreibung | Beispiel | +|---------|-------------|----------| +| **Phishing** | Gefäuschte E-Mails | Bank-Fake-Mails | +| **Spear Phishing** | Gezielt auf Opfer | CEO-Fraud | +| **Vishing** | Telefon-Phishing | Support-Anruf | +| **Pretexting** | Erfundene Szenarien | Polizei-Anruf | +| **Baiting** | Köder | USB-Stick liegen lassen | + +### Erkennung + +``` +Phishing-Merkmale +├── Absender-Adresse verdächtig +├── Dringlichkeit / Drohungen +├── Rechtschreibfehler +├── Unerwartete Anhänge +├── Fehlerhafte Links +└── Ungewöhnliche Anfragen +``` + +--- + +## Physische Bedrohungen + +### Risiken + +``` +Physische Bedrohungen +├── Diebstahl (Laptop, Handy) +├── Hardware-Beschädigung +├── Umgebungseinflüsse (Feuer, Wasser) +├── Stromausfall +└── unbefugter Zutritt +``` + +### Gegenmaßnahmen + +| Maßnahme | Beschreibung | +|----------|-------------| +| Zutrittskontrolle | Türschlüssel, Chipkarte | +| Alarmanlagen | Bewegungsmelder | +| Brandschutz | Rauchmelder, Löschgeräte | +| USV | Unterbrechungsfreie Stromversorgung | +| Datensicherung | Regelmäßige Backups | + +--- + +## Schadensarten + +### Vertraulichkeit + +``` +Vertraulichkeitsverletzung +├── Unbefugter Datenzugriff +├── Datenklau +├── Spionage +└── Veröffentlichung +``` + +### Integrität + +``` +Integritätsverletzung +├── Datenänderung +├── Manipulation +├── Sabotage +└── Fälschung +``` + +### Verfügbarkeit + +``` +Verfügbarkeitsverletzung +├── Systemausfall +├── Datenverlust +├── DDoS-Angriff +└── Ransomware +``` + +--- + +## Querverweise + +- [[LF4-02-Schutzmassnahmen|Nächstes Thema: Schutzmaßnahmen]] +- [[LF5-03-Programmierung|Programmierung: Sichere Softwareentwicklung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-02-Schutzmassnahmen.md b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-02-Schutzmassnahmen.md new file mode 100644 index 0000000..f07fecd --- /dev/null +++ b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-02-Schutzmassnahmen.md @@ -0,0 +1,235 @@ +# 4.2 Schutzmaßnahmen + +## Sicherheitsmaßnahmen - Überblick + +``` +Sicherheitsebenen (Defense in Depth) +├── Physische Sicherheit +├── Netzwerksicherheit +├── System­sicherheit +├── Anwendungs­sicherheit +└── Datensicherheit +``` + +--- + +## Virenschutz + +### Antivirus-Software + +| Komponente | Funktion | +|------------|----------| +| Echtzeitschutz | Scannt Dateien beim Zugriff | +| On-Demand-Scan | Manuelle Prüfung | +| Signatur-Erkennung | Bekannte Schadsoftware | +| Heuristik | Verdachtsverhalten erkennen | +| Sandbox | Ausführung in isolierter Umgebung | + +### Antiviren-Programme + +| Produkt | Typ | Eigenschaften | +|---------|-----|---------------| +| Windows Defender | Integriert | Kostenlos, gut | +| Bitdefender | Kommerziell | Top-Schutz | +| Kaspersky | Kommerziell | Umfassend | +| ClamAV | Open Source | Linux-Server | + +### Konfiguration + +``` +Antivirus-Einstellungen +├── Echtzeitschutz aktiviert +├── Automatische Updates +├── Geplante Vollscans +├── Quarantäne bei Fund +└── Reporting aktivieren +``` + +--- + +## Firewall + +### Firewall-Typen + +| Typ | Ebene | Beschreibung | +|-----|-------|-------------| +| Paketfilter | Netzwerk | Nach IP/Port filtern | +| Stateful Inspection | Netzwerk | Verbindungsstatus prüfen | +| Application Layer | Netzwerk | Anwendungsprotokolle | +| Host-Based | System | Einzelner PC | +| Web Application (WAF) | Anwendung | HTTP/HTTPS | + +### Windows Firewall + +```powershell +# Status abfragen +Get-NetFirewallProfile + +# Regel erstellen (PowerShell) +New-NetFirewallRule -DisplayName "HTTP-Allow" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow + +# Regel deaktivieren +Set-NetFirewallRule -DisplayName "HTTP-Allow" -Enabled False +``` + +### Firewall-Regeln + +``` +Regelstruktur +├── Aktion: Erlauben/Blockieren +├── Richtung: Eingehend/Ausgehend +├── Protokoll: TCP/UDP/ICMP +├── Port: Nummer oder Bereich +├── IP-Adresse: Quelle/Ziel +└── Programm: Pfad zur Anwendung +``` + +--- + +## Verschlüsselung + +### Verschlüsselungsarten + +| Art | Verwendung | Beispiele | +|-----|------------|----------| +| **Symmetrisch** | Gleicher Schlüssel | AES, 3DES | +| **Asymmetrisch** | Schlüsselpaar | RSA, ECC | +| **Hashing** | Einwegfunktion | SHA-256, MD5 | + +### Symmetrische Verschlüsselung + +``` +Verschlüsselung mit AES +Klartext → AES (Schlüssel) → Chiffretext +Chiffretext → AES (Schlüssel) → Klartext +``` + +### Asymmetrische Verschlüsselung + +``` +Schlüsselpaar +├── Öffentlicher Schlüssel (Public Key) +│ └── Verschlüsselung, Verifizierung +└── Privater Schlüssel (Private Key) + └── Entschlüsselung, Signatur +``` + +### Verschlüsselungsbereiche + +| Bereich | Technologie | Beispiel | +|---------|-------------|----------| +| Festplatte | Full Disk Encryption (FDE) | BitLocker, FileVault | +| Datei | Transparent Encryption | EFS, VeraCrypt | +| E-Mail | S/MIME, PGP | Gpg4win | +| Web | TLS/SSL | HTTPS | +| Datenbank | Transparent Data Encryption | TDE | + +--- + +## Authentifizierung + +### Authentifizierungsfaktoren + +``` +Authentifizierungsfaktoren +├── Wissen (Something you know) +│ └── Passwort, PIN +├── Besitz (Something you have) +│ └── Chipkarte, Token, Handy +└── Eigenschaft (Something you are) + └── Fingerabdruck, Face ID +``` + +### Starke Authentifizierung (2FA/MFA) + +| Typ | Beschreibung | +|-----|-------------| +| **2FA** | Zwei Faktoren | +| **MFA** | Mehrere Faktoren | +| **TOTP** | Zeitbasiert (Google Authenticator) | +| **SMS** | Einmalcode per SMS (unsicherer) | +| **Hardware-Token** | Physischer Schlüssel (YubiKey) | + +### Passwort-Richtlinien + +``` +Sichere Passwörter +├── Mindestens 12 Zeichen +├── Groß- und Kleinbuchstaben +├── Zahlen und Sonderzeichen +├── Keine Wörterbuchwörter +├── Keine Wiederverwendung +└── Regelmäßig ändern +``` + +### Passwort-Manager + +| Produkt | Plattform | Typ | +|---------|----------|-----| +| Bitwarden | Alle | Open Source | +| 1Password | Alle | Kommerziell | +| KeePass | Windows/Linux | Open Source | +| iCloud Keychain | Apple | Integriert | + +--- + +## Updates und Patches + +### Patch-Management + +``` +Patch-Prozess +├── Identifikation → Sicherheitslücken melden +├── Bewertung → Schweregrad prüfen +├── Entwicklung → Patch erstellen +├── Test → In Testumgebung prüfen +├── Verteilung → Rollout planen +└── Dokumentation → Änderungen festhalten +``` + +### Patch-Stufen + +| Stufe | Priorität | Zeitrahmen | +|-------|----------|------------| +| Kritisch | Sofort | 24-72 Stunden | +| Hoch | Bald | 1 Woche | +| Mittel | Geplant | 1 Monat | +| Niedrig | Bei Gelegenheit | Quartal | + +--- + +## Netzwerksicherheit + +### VPNs (Virtual Private Network) + +``` +VPN - Tunnel durch unsicheres Netzwerk +Lokaler PC → Verschlüsselter Tunnel → Unternehmensnetzwerk +``` + +| VPN-Typ | Beschreibung | +|---------|-------------| +| Site-to-Site | Netzwerk-zu-Netzwerk | +| Remote Access | Einzelner Benutzer | +| SSL-VPN | Browser-basiert | +| IPsec | Standard-basiert | + +### WLAN-Sicherheit + +| Standard | Sicherheit | Empfehlung | +|----------|------------|-------------| +| WEP | Unsicher | Nicht nutzen | +| WPA | Schwach | Nicht nutzen | +| **WPA2** | Sicher | Empfohlen | +| WPA3 | Sehr sicher | Neuinstallation | + +--- + +## Querverweise + +- [[LF4-01-Gefahren-Analyse|Zurück: Gefahren und Bedrohungen]] +- [[LF4-03-Sicherheitskonzepte|Nächstes Thema: Sicherheitskonzepte]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-03-Sicherheitskonzepte.md b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-03-Sicherheitskonzepte.md new file mode 100644 index 0000000..d7890d4 --- /dev/null +++ b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-03-Sicherheitskonzepte.md @@ -0,0 +1,236 @@ +# 4.3 Sicherheitskonzepte + +## IT-Sicherheitsstandards + +### BSI-Grundschutz + +Das **BSI (Bundesamt für Sicherheit in der Informationstechnik)** definiert den **IT-Grundschutz**. + +``` +BSI-Grundschutz - Bausteine +├── SYS +│ ├── SYS.1.1 Allgemeiner Server +│ ├── SYS.1.2 Windows Server +│ ├── SYS.1.3 Linux Server +│ ├── SYS.2.1 Client +│ └── ... +├── APP +├── NET +├── INF +├── ORG +└── OPS +``` + +### ISO 27001 + +Internationaler Standard für **Informationssicherheits-Managementsysteme (ISMS)**. + +``` +ISO 27001 - PDCA-Zyklus +├── Plan (Planen) +├── Do (Umsetzen) +├── Check (Prüfen) +└── Act (Verbessern) +``` + +--- + +## Schutzbedarfsanalyse + +### Schutzziele + +``` +Schutzziele - CIA +├── Vertraulichkeit (Confidentiality) +├── Integrität (Integrity) +└── Verfügbarkeit (Availability) +``` + +### Schutzbedarfsfeststellung + +``` +Schutzbedarfsanalyse - Schritte +1. Assets identifizieren +2. Bedrohungen analysieren +3. Schwachstellen identifizieren +4. Schadensszenarien bewerten +5. Schutzbedarf festlegen +``` + +### Schutzbedarfskategorien + +| Kategorie | Beschreibung | Beispiel | +|----------|-------------|----------| +| **Normal** | Geringe Auswirkungen | Internes Wiki | +| **Hoch** | Erhebliche Auswirkungen | Kunden-Daten | +| **Sehr hoch** | Existenzielle Auswirkungen | Passwörter, Finanzen | + +### Beispiel: Schutzbedarfsanalyse + +``` +Beispiel: Online-Shop + +Asset: Kunden-Datenbank +- Vertraulichkeit: Hoch (personenbezogene Daten) +- Integrität: Hoch (keine Manipulation) +- Verfügbarkeit: Hoch (24/7 Betrieb) + +Schutzmaßnahmen: +- TLS-Verschlüsselung +- Regelmäßige Backups +- Redundante Systeme +``` + +--- + +## Risikomanagement + +### Risikobewertung + +``` +Risiko = Wahrscheinlichkeit × Schadensausmaß + +Matrix: + | gering | mittel | hoch +----------|--------|--------|------ +gering | niedrig| niedrig| mittel +mittel | niedrig| mittel | hoch +hoch | mittel| hoch | kritisch +``` + +### Risikobehandlung + +``` +Risikobehandlung - Optionen +├── Vermeiden → Risiko eliminieren +├── Reduzieren → Maßnahmen implementieren +├── Versichern → Risiko übertragen +└── Akzeptieren → Risiko bewusst hinnehmen +``` + +--- + + ## Sicherheitsrichtlinien + +### Informationssicherheitsrichtlinie + +```markdown +# Informationssicherheitsrichtlinie + +## 1. Zweck +Diese Richtlinie definiert die Grundsätze... + +## 2. Geltungsbereich +Diese Richtlinie gilt für alle Mitarbeiter... + +## 3. Verantwortlichkeiten +- CISO: Gesamtverantwortung +- IT-Abteilung: Technische Umsetzung +- Mitarbeiter: Einhaltung + +## 4. Regelungen +- Passwortrichtlinie +- Datensicherungsrichtlinie +- Zugangsberechtigungen +- Nutzung von IT-Systemen +``` + +### Berechtigungskonzept + +``` +Berechtigungskonzept - Grundsätze +├── Need-to-know → Nur was nötig ist +├── Least Privilege → Minimale Rechte +├── Segregation of Duties → Aufgabentrennung +└── Regelmäßige Prüfung → Rechte überprüfen +``` + +--- + +## Business Continuity Management (BCM) + +### Notfallplanung + +``` +Notfallmanagement-Prozess +├── Prävention → Risiken minimieren +├── Detektion → Störung erkennen +├── Reaktion → Sofortmaßnahmen +├── Wiederherstellung → Systeme wiederherstellen +└── Nachbereitung → Lessons Learned +``` + +### Notfalltypen + +| Typ | Beispiel | Reaktionszeit | +|-----|----------|---------------| +| Kritisch | Ransomware | Sofort | +| Hoch | Server-Ausfall | 4 Stunden | +| Mittel | E-Mail-Probleme | 24 Stunden | +| Niedrig | Druckerdefekt | 1 Woche | + +--- + +## Datensicherungskonzept + +### Backup-Strategie + +``` +Backup-Regel 3-2-1 +├── 3 Kopien der Daten +├── 2 verschiedene Medien +└── 1 Kopie extern (offsite) +``` + +### Backup-Typen + +| Typ | Zeitpunkt | Wiederherstellung | +|-----|-----------|-------------------| +| Vollbackup | Wöchentlich | Schnell | +| Differentiell | Täglich | Mittel | +| Inkrementell | Stündlich | Langsam | + +### Aufbewahrung + +``` +Aufbewahrungsfristen +├── Täglich: 7 Tage +├── Wöchentlich: 4 Wochen +├── Monatlich: 12 Monate +└── Jährlich: 10 Jahre (gesetzlich) +``` + +--- + +## Schulung und Sensibilisierung + +### Security-Awareness + +``` +Schulungsprogramm +├── Neue Mitarbeiter: Grundlagen +├── Jährlich: Auffrischung +├── Bei Bedarf: Spezialthemen +└── Phishing-Simulationen +``` + +### Themen + +| Bereich | Inhalt | +|---------|--------| +| Passwörter | Starke Passwörter, 2FA | +| E-Mail | Phishing erkennen | +| Social Engineering | Betrugsversuche | +| Datenschutz | DSGVO-Grundlagen | +| Mobile Geräte | Sicherheitsrichtlinien | + +--- + +## Querverweise + +- [[LF4-02-Schutzmassnahmen|Zurück: Schutzmaßnahmen]] +- [[LF4-04-Datenschutz|Nächstes Thema: Datenschutz (DSGVO)]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-04-Datenschutz.md b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-04-Datenschutz.md new file mode 100644 index 0000000..8937c15 --- /dev/null +++ b/1-Ausbildungsjahr/LF4-IT-Sicherheit/LF4-04-Datenschutz.md @@ -0,0 +1,245 @@ +# 4.4 Datenschutz (DSGVO) + +## DSGVO - Grundlagen + +Die **Datenschutz-Grundverordnung (DSGVO)** ist seit dem 25. Mai 2018 EU-weit gültig. + +### Grundprinzipien + +``` +DSGVO - Grundsätze (Art. 5) +├── Rechtmäßigkeit, Transparenz +├── Zweckbindung +├── Datenminimierung +├── Richtigkeit +├── Speicherbegrenzung +└── Integrität und Vertraulichkeit +``` + +### Anwendungsbereich + +| Bereich | Geltung | +|---------|---------| +| EU-Bürger | Weltweit | +| EU-Unternehmen | Weltweit | +| Drittland-Unternehmen | Bei Angebot in EU | + +--- + +## Personenbezogene Daten + +### Definition + +> Alle Informationen, die sich auf eine **identifizierte** oder **identifizierbare** natürliche Person beziehen. + +### Kategorien + +| Kategorie | Beispiele | +|-----------|----------| +| Stammdaten | Name, Adresse, Geburtsdatum | +| Kontaktdaten | Telefon, E-Mail | +| Vertragsdaten | Kunden-Nr., Vertragsinhalt | +| Nutzungsdaten | Logfiles, Cookies | +| Gesundheitsdaten | Krankheit, Behinderung | +| Biometrische Daten | Fingerabdruck, Face ID | +| Politische Meinungen | Parteizugehörigkeit | +| Religiöse Überzeugung | Konfession | + +### Besondere Kategorien + +``` +Art. 9 DSGVO - Besondere personenbezogene Daten +├── Gesundheitsdaten +├── Biometrische Daten +├── Politische Meinungen +├── Religiöse Überzeugung +├── Gewerkschaftszugehörigkeit +├── Ethnische Herkunft +├── Sexualleben +└── Strafrechtliche Verurteilungen +``` + +--- + +## Betroffenenrechte + +### Rechte der Betroffenen + +| Recht | Beschreibung | +|-------|-------------| +| **Auskunft** (Art. 15) | Informationen über verarbeitete Daten | +| **Berichtigung** (Art. 16) | Falsche Daten korrigieren | +| **Löschung** (Art. 17) | "Recht auf Vergessenwerden" | +| **Einschränkung** (Art. 18) | Verarbeitung sperren | +| **Datenübertragung** (Art. 20) | Daten in maschinenlesbarem Format | +| **Widerspruch** (Art. 21) | Widerspruch gegen Verarbeitung | +| **Automatisierte Entscheidungen** (Art. 22) | Keine rein automatisierten Entscheidungen | + +### Informationspflichten + +``` +Art. 13, 14 DSGVO - Bei Erhebung mitzuteilen +├── Verantwortlicher +├── Datenschutzbeauftragter +├── Zweck der Verarbeitung +├── Rechtsgrundlage +├── Empfänger oder Kategorien +├── Speicherdauer +├── Betroffenenrechte +└── Beschwerderecht bei Behörde +``` + +--- + +## Verantwortliche + +### Verantwortlicher + +> Natürliche oder juristische Person, die über die **Zwecke und Mittel** der Verarbeitung entscheidet. + +### Auftragsverarbeitung (Art. 28) + +``` +Auftragsverarbeiter (AV) +├── Externe Dienstleister (Cloud, Hosting) +├── Weisungsgebunden +├── Auftragsverarbeitungsvertrag (AVV) erforderlich +└── Kontroll- und Überwachungspflichten +``` + +### Datenschutzbeauftragter (DSB) + +| Unternehmen | Pflicht | +|-------------|----------| +| > 20 Mitarbeiter | Pflicht | +| Verarbeitung besonderer Daten | Pflicht | +| Öffentliche Stelle | Immer | + +--- + +## Technische und organisatorische Maßnahmen (TOM) + +### Mindestanforderungen + +``` +Art. 32 DSGVO - Sicherheit der Verarbeitung +├── Pseudonymisierung +├── Verschlüsselung +├── Vertraulichkeit +├── Integrität +├── Verfügbarkeit +└── Rasche Wiederherstellbarkeit +``` + +### Beispiele für TOM + +| Maßnahme | Beschreibung | +|----------|-------------| +| Zutrittskontrolle | Zugang zum Serverraum | +| Zugriffskontrolle | Berechtigungskonzept | +| Weitergabekontrolle | TLS-Verschlüsselung | +| Eingabekontrolle | Protokollierung | +| Verfügbarkeitskonzept | Backup, USV | +| Trennungsgebot | Test-/Produktivumgebung | + +--- + +## Datenschutz-Folgenabschätzung (DSFA) + +### Wann erforderlich? + +``` +Art. 35 DSGVO - Pflicht zur DSFA +├── Verarbeitung besonderer Kategorien +├── Umfangreiches Profiling +├── Systematisches Monitoring +├── Neue Technologien +└── Risikoreiche Verarbeitung +``` + +### Durchführung + +``` +DSFA-Schritte +1. Beschreibung der Verarbeitung +2. Bewertung der Erforderlichkeit +3. Risiken für Betroffene identifizieren +4. Maßnahmen zur Risikominimierung +5. Stellungnahme DSB +6. Dokumentation +``` + +--- + +## Datenschutzverletzungen + +### Meldepflicht + +``` +Art. 33 DSGVO - Meldung an Behörde +├── Innerhalb von 72 Stunden +├── Beschreibung der Verletzung +├── Kategorien betroffener Daten +├── Anzahl Betroffener +├── Wahrscheinliche Folgen +└── Ergriffene Maßnahmen +``` + +### Benachrichtigungspflicht + +``` +Art. 34 DSGVO - Benachrichtigung Betroffener +├── Wenn hohe Risiken für Rechte +├── Sofortige Benachrich­tigung +└── In verständlicher Sprache +``` + +--- + +## Bußgeld und Strafen + +### DSGVO-Bußgelder + +``` +Art. 83 DSGVO - Geldbußen +├── Bis zu 20 Mio. EUR oder +├── Bis zu 4% des weltweiten Jahresumsatzes +└── Je nach Schwere des Verstoßes +``` + +### Bußgeld-Kategorien + +| Verstoß | Maximales Bußgeld | +|----------|-------------------| +| Grundprinzipien | 10 Mio. oder 2% | +| Rechte der Betroffenen | 10 Mio. oder 2% | +| Übermittlung in Drittland | 20 Mio. oder 4% | +| Sonstige Verstöße | 20 Mio. oder 4% | + +--- + +## Checkliste Datenschutz + +``` +□ Verarbeitungsverzeichnis (Art. 30) +□ Datenschutzbeauftragter benannt (falls nötig) +□ Auftragsverarbeitungsverträge (Art. 28) +□ Technische Maßnahmen implementiert +□ Mitarbeiter geschult +□ Datenschutz-Folgenabschätzung (falls nötig) +□ Prozesse für Betroffenenrechte +□ Datenschutzerklärung auf Website +□ Verletzungsmanagement dokumentiert +``` + +--- + +## Querverweise + +- [[LF4-03-Sicherheitskonzepte|Zurück: Sicherheitskonzepte]] +- [[LF3-Datenbanken|Datenbanken: Datensicherheit]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Rechtliche Grundlagen]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF4-Schutzbedarfsanalyse/LF4-Notizen.md b/1-Ausbildungsjahr/LF4-Schutzbedarfsanalyse/LF4-Notizen.md new file mode 100644 index 0000000..18b8d59 --- /dev/null +++ b/1-Ausbildungsjahr/LF4-Schutzbedarfsanalyse/LF4-Notizen.md @@ -0,0 +1,183 @@ +# LF 4: Schutzbedarfsanalyse im eigenen Arbeitsbereich durchführen + +> **1. Ausbildungsjahr** | Zeitrichtwert: **40 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, mit Hilfe einer bestehenden Sicherheitsleitlinie eine Schutzbedarfsanalyse zur Ermittlung der Informationssicherheit auf Grundschutzniveau in ihrem Arbeitsbereich durchzuführen. + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Die Schutzziele der Informationssicherheit erklären +- [ ] Rechtliche Regelungen zum Datenschutz anwenden (DSGVO, BDSG) +- [ ] Bedrohungen für IT-Systeme identifizieren +- [ ] Eine Schutzbedarfsanalyse durchführen +- [ ] Schutzmaßnahmen vorschlagen und umsetzen +- [ ] Den IT-Sicherheitsprozess reflektieren + +--- + +## Schutzziele (CIA) + +``` +┌─────────────────────────────────────────────────────────────┐ +│ SCHUTZZIELE │ +├─────────────────┬─────────────────┬─────────────────────┤ +│ VERTRAULICHKEIT │ INTEGRITÄT │ VERFÜGBARKEIT │ +│ (Confidentiality)│ (Integrity) │ (Availability) │ +├─────────────────┼─────────────────┼─────────────────────┤ +│ Nur befugte │ Daten müssen │ Systeme und Daten │ +│ Personen können │ korrekt und │ sind bei Bedarf │ +│ Daten lesen │ unverändert │ verfügbar │ +│ │ sein │ │ +├─────────────────┴─────────────────┴─────────────────────┤ +│ Weitere Schutzziele: │ +│ - Authentizität (Echtheit nachweisen) │ +│ - Verbindlichkeit (Nicht-Abstreitbarkeit) │ +│ - Zurechenbarkeit (Rückverfolgbarkeit) │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## Bedrohungen + +### Kategorien + +| Kategorie | Beispiele | +|-----------|-----------| +| **Technisch** | Hardware-Ausfall, Software-Fehler, Malware | +| **Natürlich** | Hochwasser, Feuer, Blitzschlag | +| **Menschlich** | Fahrlässigkeit, Vorsatz, Social Engineering | +| **Organisatorisch** | Prozessfehler, Personalmangel | + +### Häufige Angriffe + +``` +Angriffsvektoren: +├── Phishing +├── Ransomware +├── DDoS +├── SQL Injection +├── Cross-Site Scripting (XSS) +├── Man-in-the-Middle +├── Brute Force +└── Zero-Day-Exploits +``` + +--- + +## Schutzmaßnahmen + +### Organisatorisch +- Sicherheitsrichtlinien +- Schulungen/Awareness +- Zugriffskontrollen +- Incident-Response-Prozess + +### Technisch +- Firewall +- Antivirensoftware +- Verschlüsselung +- Backup/Recovery +- Updates/Patches + +### Physisch +- Zutrittskontrolle +- Brandschutz +- USV (unterbrechungsfreie Stromversorgung) + +--- + +## Rechtliche Grundlagen + +### DSGVO (Datenschutz-Grundverordnung) +- seit 25.05.2018 wirksam +- Personenbezogene Daten schützen +- Betroffenenrechte stärken +- Bußgelder bis 20 Mio. € oder 4% des Jahresumsatzes + +### BDSG (Bundesdatenschutzgesetz) +- Ergänzt DSGVO für Deutschland +- Regelungen für öffentliche Stellen + +### Wichtige Begriffe + +| Begriff | Erklärung | +|---------|-----------| +| **Personenbezogene Daten** | Alle Informationen, die sich auf eine identifizierte Person beziehen | +| **Verarbeitung** | Speichern, Übermitteln, Löschen, etc. | +| **Einwilligung** | Freiwillige, informierte Zustimmung | +| **Datenschutzbeauftragter** | Pflicht bei >20 Mitarbeitern mit Datenverarbeitung | + +--- + +## BSI-Grundschutz + +### Vorgehen + +1. **Strukturanalyse**: IT-Systeme erfassen +2. **Schutzbedarfsfeststellung**: Schutzniveau bestimmen +3. **Modellierung**: Geeignete Bausteine auswählen +4. **Umsetzung**: Maßnahmen umsetzen +5. **Erprobung**: Basis-Check durchführen + +### Schutzbedarfskategorien + +| Kategorie | Normal | Hoch | Sehr Hoch | +|-----------|--------|------|-----------| +| Vertraulichkeit | begrenzt | erheblich | existenzbedrohend | +| Integrität | begrenzt | erheblich | existenzbedrohend | +| Verfügbarkeit | begrenzt | erheblich | existenzbedrohend | + +--- + +## Verschlüsselung + +### Symmetrisch +- Ein Schlüssel für Ver- und Entschlüsselung +- Bsp.: AES, DES, 3DES +- Schnell, aber Schlüsselaustausch problematisch + +### Asymmetrisch +- Schlüsselpaar: öffentlich + privat +- Bsp.: RSA, ECC +- Langsamer, sicherer Schlüsselaustausch + +### Hybride Verfahren +- Asymmetrisch für Schlüsselaustausch +- Symmetrisch für Datenverschlüsselung +- Bsp.: TLS/SSL, PGP + +--- + +## Handlungsphasen + +1. **Informieren**: Sicherheitsleitlinie, Schutzziele +2. **Planen**: Schutzbedarfsanalyse vorbereiten +3. **Durchführen**: Analyse durchführen, Maßnahmen ableiten +4. **Überprüfen**: Ergebnisse bewerten +5. **Reflektieren**: Prozess bewerten + +--- + +## Prüfungsrelevanz + +- Wichtiges Grundlagen-Lernfeld für IT-Sicherheit +- Wird in Teil 1 und Teil 2 der Prüfung vorausgesetzt +- Basis für LF 11b/d (Betrieb und Sicherheit vernetzter Systeme) + +--- + +## Querverweise + +- [[LF3-Netzwerke-einbinden|Vorher: LF 3]] +- [[LF5-Datenbanken-anpassen|Nachher: LF 5]] +- [[IT-Sicherheit|Vertiefung IT-Sicherheit]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-00-Übersicht.md b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-00-Übersicht.md new file mode 100644 index 0000000..f6caad3 --- /dev/null +++ b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-00-Übersicht.md @@ -0,0 +1,45 @@ +# Lernfeld 5: Softwareentwicklung analysieren und planen + +## Übersicht + +Dieses Lernfeld behandelt die Analyse und Planung von Softwareprojekten. + +## Themen + +| Nr. | Thema | Beschreibung | +|-----|-------|-------------| +| 5.1 | [[LF5-01-Anforderungsanalyse|Anforderungsanalyse]] | Anforderungen erheben und dokumentieren | +| 5.2 | [[LF5-02-Softwaremodellierung|Softwaremodellierung]] | UML, Struktogramme, Flussdiagramme | +| 5.3 | [[LF5-03-Programmierung|Programmierung]] | Algorithmen, Datenstrukturen | +| 5.4 | [[LF5-04-Testverfahren|Testverfahren]] | Unit Tests, Integrationstests | + +## Lernziele + +- Anforderungen analysieren und dokumentieren +- Softwaremodelle erstellen +- Algorithmen entwickeln +- Tests planen und durchführen + +## Voraussetzungen + +- LF1: Unternehmen und Rolle +- LF2: Arbeitsplätze ausstatten +- LF3: Datenbanken entwickeln +- LF4: IT-Sicherheit + +## Prüfungsrelevanz + +- Teil 1 Abschlussprüfung (schriftlich) +- Teil 2 Abschlussprüfung (praktisch) + +--- + +## Querverweise + +- [[LF4-04-Datenschutz|Zurück: Datenschutz (DSGVO)]] +- [[LF6-Webanwendungen|Nächstes Lernfeld: Webanwendungen entwickeln]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Projektmanagement]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-01-Anforderungsanalyse.md b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-01-Anforderungsanalyse.md new file mode 100644 index 0000000..3d00d37 --- /dev/null +++ b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-01-Anforderungsanalyse.md @@ -0,0 +1,220 @@ +# 5.1 Anforderungsanalyse + +## Anforderungsmanagement + +### Was sind Anforderungen? + +``` +Anforderungen - Definition +Anforderung = Bedürfnis oder Erwartung eines Stakeholders +``` + +### Arten von Anforderungen + +``` +Anforderungstypen +├── Funktionale Anforderungen +│ └── Was das System tun muss +└── Nicht-funktionale Anforderungen + └── Qualitätsanforderungen (Performance, Sicherheit, etc.) +``` + +--- + +## Funktionale Anforderungen + +### Beispiele + +| Anforderung | Beschreibung | +|-------------|-------------| +| F01 | Das System muss Benutzer anmelden können | +| F02 | Das System muss Daten speichern können | +| F03 | Das System muss Berichte erstellen können | + +### Anforderungskategorien + +``` +Funktionale Anforderungen +├── Geschäftsregeln +├── Schnittstellen +├── Datenverarbeitung +├── Reporting +└── Administrationsfunktionen +``` + +--- + +## Nicht-funktionale Anforderungen + +### Kategorien + +| Kategorie | Beschreibung | Beispiele | +|-----------|-------------|----------| +| **Performance** | Geschwindigkeit | < 2 Sek. Ladezeit | +| **Skalierbarkeit** | Wachstum | 1000 Benutzer | +| **Verfügbarkeit** | Laufzeit | 99,9% | +| **Sicherheit** | Schutz | TLS-Verschlüsselung | +| **Benutzerfreundlichkeit** | Bedienung | Intuitiv | +| **Wartbarkeit** | Änderungen | Modulare Struktur | +| **Kompatibilität** | Plattformen | Windows, macOS, Linux | + +--- + +## Anforderungen erheben + +### Methoden + +``` +Erhebungsmethoden +├── Interviews +├── Workshops +├── Beobachtung +├── Dokumentenanalyse +├── Fragebögen +└── Prototyping +``` + +### Interview-Leitfaden + +``` +Interview-Vorbereitung +├── Ziele definieren +├── Fragen vorbereiten +├── Teilnehmer auswählen +├── Zeitrahmen planen +└── Dokumentation vorbereiten +``` + +### Fragetechniken + +| Fragetyp | Beispiel | Zweck | +|----------|---------|-------| +| Offen | "Wie arbeiten Sie heute?" | Verständnis | +| Geschlossen | "Welches System nutzen Sie?" | Fakten | +| Zurückfragend | "Warum ist das wichtig?" | Tiefe | +| Hypothetisch | "Was würde passieren, wenn...?" | Szenarien | + +--- + +## Anforderungen dokumentieren + +### Lastenheft (Requirements Specification) + +```markdown +# Lastenheft - Projekt [Name] + +## 1. Zielsetzung +[Beschreibung des Projekts] + +## 2. Funktionale Anforderungen +- F01: [Beschreibung] +- F02: [Beschreibung] + +## 3. Nicht-funktionale Anforderungen +- NF01: [Beschreibung] +- NF02: [Beschreibung] + +## 4. Schnittstellen +- [Externe Systeme] + +## 5. Abnahmekriterien +- [Testfälle] +``` + +### User Stories + +``` +User Story - Format +Als [Rolle] möchte ich [Ziel], um [Nutzen]. + +Beispiel: +Als Kunde möchte ich mein Passwort zurücksetzen, +um wieder Zugriff auf mein Konto zu haben. +``` + +### User Story - Akzeptanzkriterien + +```markdown +User Story: Passwort zurücksetzen + +Akzeptanzkriterien: +- [ ] E-Mail-Adresse wird validiert +- [ ] Link ist 24 Stunden gültig +- [ ] Neues Passwort muss Mindestlänge haben +- [ ] Bestätigungs-E-Mail wird gesendet +- [ ] Nach Reset ist Login möglich +``` + +--- + +## Anforderungen priorisieren + +### Priorisierungsmethoden + +``` +Priorisierungs-Methoden +├── MoSCoW-Methode +├── Kano-Modell +├── WSJF (Weighted Shortest Job First) +└── Stack Ranking +``` + +### MoSCoW-Methode + +| Priorität | Bedeutung | Beispiel | +|-----------|-----------|----------| +| **Must have** | Unbedingt erforderlich | Login | +| **Should have** | Sehr wichtig | Passwort vergessen | +| **Could have** | Wünschenswert | Dark Mode | +| **Won't have** | Dieses Release nicht | Export PDF | + +--- + +## Anforderungen validieren + +### Prüfkriterien + +``` +Anforderungsprüfung - Checkliste +├── Vollständig? +├── Konsistent? +├── Realisierbar? +├── Testbar? +├── Verständlich? +└── Abgestimmt? +``` + +### Review-Prozess + +``` +Anforderungsreview +├── Peer-Review +├── Stakeholder-Abnahme +├── Änderungsmanagement +└── Versionierung +``` + +--- + +## Werkzeuge + +### Anforderungsmanagement-Tools + +| Tool | Typ | Einsatz | +|------|-----|---------| +| Jira | Professionell | Große Projekte | +| Azure DevOps | Professionell | Microsoft-Umgebung | +| YouTrack | Professionell | Flexible Projekte | +| Trello | Einfach | Kanban-Boards | +| Markdown | Einfach | Dokumentation | + +--- + +## Querverweise + +- [[LF5-02-Softwaremodellierung|Nächstes Thema: Softwaremodellierung]] +- [[LF2-01-Kundenanforderungen|Kundengespräch]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-02-Softwaremodellierung.md b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-02-Softwaremodellierung.md new file mode 100644 index 0000000..9d6efea --- /dev/null +++ b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-02-Softwaremodellierung.md @@ -0,0 +1,335 @@ +# 5.2 Softwaremodellierung + +## Modellierungssprachen + +### Übersicht + +``` +Modellierung - Sprachen +├── UML (Unified Modeling Language) +├── Struktogramme (Nassi-Shneiderman) +├── Flussdiagramme (Flowcharts) +├── Entity-Relationship (ER) +└── Aktivitätsdiagramme +``` + +--- + +## UML - Unified Modeling Language + +### UML-Diagrammtypen + +``` +UML 2.5 - Diagrammübersicht +├── Strukturdiagramme +│ ├── Klassendiagramm +│ ├── Objektdiagramm +│ ├── Komponentendiagramm +│ ├── Verteilungsdiagramm +│ └── Paketdiagramm +└── Verhaltensdiagramme + ├── Anwendungsfalldiagramm + ├── Aktivitätsdiagramm + ├── Zustandsdiagramm + └── Sequenzdiagramm +``` + +--- + +## Klassendiagramm + +### Elemente + +``` +Klassendiagramm - Symbole +┌─────────────────────────┐ +│ Klassenname │ +├─────────────────────────┤ +│ - attribut: Typ │ ← Eigenschaften +├─────────────────────────┤ +│ + methode(): Rückgabetyp│ ← Methoden +└─────────────────────────┘ + +Sichtbarkeit: ++ public (öffentlich) +- private (privat) +# protected (geschützt) +~ package (Paket) +``` + +### Beziehungen + +``` +Beziehungsarten +├── Assoziation ─────── +├── Aggregation ◇─────── (hat ein, kann auch ohne existieren) +├── Komposition ◆────── (hat ein, existiert nicht ohne) +├── Vererbung △─────── +└── Implementierung ▷─── +``` + +### Beispiel + +``` +┌─────────────┐ ┌─────────────┐ +│ Kunde │ 1 * │ Bestellung │ +├─────────────┤─────────│─────────────┤ +│ -name │* │ -datum │ +│ -adresse │ │ -status │ +├─────────────┤ ├─────────────┤ +│ +bestellen()│ │ +erstellen()│ +└─────────────┘ └─────────────┘ +``` + +--- + +## Anwendungsfalldiagramm (Use Case) + +### Elemente + +``` +Anwendungsfall-Diagramm +┌─────────────┐ +│ Akteur │ +└──────┬──────┘ + │ + │ (Verbindung) + ▼ +┌─────────────────┐ +│ Anwendungsfall │ +└─────────────────┘ +``` + +### Beispiel + +``` + ┌────────┐ + │ Kunde │ + └────┬───┘ + │ + ┌────┴────┐ + │ │ + ▼ ▼ +┌─────────┐ ┌─────────────────┐ +│ Suchen │ │ Bestellen │ +└─────────┘ └─────────────────┘ + │ + ┌───┴───┐ + │ │ + ▼ ▼ + ┌────────┐ ┌──────────┐ + │ Bezahlen│ │ Zurückgeben│ + └────────┘ └──────────┘ +``` + +--- + +## Aktivitätsdiagramm + +### Elemente + +``` +Aktivitätsdiagramm - Symbole +┌─────────┐ ◇──────► +│ Start │ (Objekt) +└─────────┘ + +▭ Entscheidung ▢ Parallel + +┌─────────┐ ╱ ╲ +│ Aktion │ ╱ Merge ╲ +└─────────┘ ╲ ╱ + +┌─────────┐ +│ Ende │ +└─────────┘ +``` + +### Beispiel + +``` + ▭ + ▼ +┌───────────┐ +│ Bestellung │ +│ starten │ +└─────┬─────┘ + │ + ▼ +┌───────────┐ +│ Ware │ +│ verfügbar?│ +└─────┬─────┘ + │ + ╱ ╲ + Ja Nein + ╲ ╱ + ▼ ▼ +┌────────┐ ┌──────────┐ +│Liefern │ │Benachrich-│ +│ │ │tigen │ +└───┬────┘ └────┬─────┘ + │ │ + └─────┬─────┘ + ▼ + ┌────────┐ + │ Ende │ + └────────┘ +``` + +--- + +## Sequenzdiagramm + +### Elemente + +``` +Sequenzdiagramm - Elemente +┌──────┐ ┌──────┐ +│ Actor│ │ System│ +└──┬───┘ └──┬───┘ + │ │ + │ Nachricht ──► + │ │ + │ ◄─────── Rückmeldung + │ │ +``` + +### Beispiel + +``` +┌────────┐ ┌────────┐ ┌────────┐ +│ Client │ │ Server │ │ Daten- │ +│ │ │ │ │ bank │ +└───┬────┘ └───┬────┘ └───┬────┘ + │ │ │ + │──Login()───►│ │ + │ │──Query()───►│ + │ │◄─────────── │ + │◄─────────── │ │ + │ │ │ +``` + +--- + +## Struktogramme (Nassi-Shneiderman) + +### Grundelemente + +``` +Struktogramme +┌──────────────────┐ +│ Anweisung │ ← einfache Anweisung +└──────────────────┘ + +┌──────────────────┐ +│ Verzweigung │ +│ │ +│ Wenn Bedingung │ +│ dann Anweisung │ +│ sonst Anweisung│ +└──────────────────┘ + +┌──────────────────┐ +│ Schleife │ +│ │ +│ solange Bed. │ +│ Anweisung │ +└──────────────────┘ +``` + +### Beispiel + +``` +┌──────────────────────────────────────┐ +│ Eingegebene Zahl ist negativ? │ +├──────────────────────────────────────┤ +│ JA NEIN │ +│ │ │ │ +│ ┌─────┴─────┐ ┌────┴────┐ │ +│ │ "Zahl ist │ │ "Zahl │ │ +│ │ negativ" │ │ ist pos.│ │ +│ └───────────┘ └─────────┘ │ +└──────────────────────────────────────┘ +``` + +--- + +## Flussdiagramme (Flowchart) + +### Symbole + +``` +Flussdiagramm - Symbole +┌─────────┐ +│ Oval │ → Start/Ende +└─────────┘ + +┌─────────┐ +│ Rechteck│ → Aktion/Prozess +└─────────┘ + +┌────┐ +│Raute│ → Entscheidung +└────┘ + +→ → Verbindungslinie +``` + +### Beispiel + +``` + ┌───────┐ + │ Start │ + └───┬───┘ + │ + ▼ + ┌────────┐ + │ Zahl │ + │ einlesen│ + └───┬────┘ + │ + ▼ + ┌───────────┐ + │negativ? │ + └─────┬─────┘ + ╱ ╲ + Ja Nein + ╲ ╱ + ▼ ▼ + ┌─────────┐ ┌─────────┐ + │ negativ │ │ positiv │ + └────┬────┘ └────┬────┘ + │ │ + └─────┬──────┘ + ▼ + ┌───────┐ + │ Ende │ + └───────┘ +``` + +--- + +## Werkzeuge + +### Modellierungs-Tools + +| Tool | Typ | Plattform | +|------|-----|----------| +| PlantUML | Text-basiert | Alle | +| Mermaid | Text-basiert | Alle | +| draw.io | Visuell | Web | +| Lucidchart | Professionell | Web | +| Enterprise Architect | Professionell | Windows | +| Visual Paradigm | Professionell | Alle | + +--- + +## Querverweise + +- [[LF5-01-Anforderungsanalyse|Zurück: Anforderungsanalyse]] +- [[LF5-03-Programmierung|Nächstes Thema: Programmierung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-03-Programmierung.md b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-03-Programmierung.md new file mode 100644 index 0000000..aa17432 --- /dev/null +++ b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-03-Programmierung.md @@ -0,0 +1,302 @@ +# 5.3 Programmierung + +## Algorithmen + +### Was ist ein Algorithmus? + +> Ein **Algorithmus** ist eine endliche Folge von eindeutigen Anweisungen zur Lösung eines Problems. + +### Eigenschaften + +``` +Algorithmus-Eigenschaften +├── Endlichkeit → Endlich viele Schritte +├── Eindeutigkeit → Jeder Schritt klar definiert +├── Ausführbarkeit → Jeder Schritt ausführbar +├── Terminiertheit → Algorithmus endet +└── Korrektheit → Liefert richtiges Ergebnis +``` + +--- + +## Grundlegende Programmstrukturen + +### Sequenz + +``` +Anweisungen werden nacheinander ausgeführt + +Schritt 1 + ↓ +Schritt 2 + ↓ +Schritt 3 +``` + +### Selektion (Verzweigung) + +``` +Wenn-Dann-Sonst + +┌───────────────┐ +│ Bed. erfüllt? │ +└───────┬───────┘ + ╱ ╲ + Ja Nein + ╲ ╱ + ▼ ▼ +┌────────┐ ┌────────┐ +│ Block A│ │ Block B│ +└────────┘ └────────┘ +``` + +### Iteration (Schleife) + +``` +Wiederholung + +┌───────────────┐ +│ Bedingung │ +└───────┬───────┘ + ╱ ╲ + wahr falsch + ╲ ╱ + ▼ ▼ +┌─────────┐ ┌──────┐ +│ Block │──►│ Ende │ +│ ausführen│ └──────┘ +└─────────┘ +``` + +--- + +## Datenstrukturen + +### Grundlegende Datentypen + +| Typ | Beispiel | Speicher | +|-----|----------|----------| +| Integer | 42 | 4 Byte | +| Float | 3.14 | 8 Byte | +| Boolean | true/false | 1 Byte | +| Char | 'A' | 1 Byte | +| String | "Hallo" | variabel | + +### Arrays + +``` +Array - eindimensional +[0] [1] [2] [3] [4] + 10 20 30 40 50 + +Zugriff: array[2] → 30 +``` + +### Listen + +``` +Liste - dynamisch +Liste namen = ["Max", "Anna", "Peter"] + +Operationen: +- add(Element) → Hinzufügen +- remove(Index) → Entfernen +- get(Index) → Abrufen +- size() → Größe +``` + +### Schlüssel-Wert-Paare (Dictionary/Map) + +``` +Map - Schlüssel-Wert +{ + "Name": "Max", + "Alter": 25, + "Stadt": "Berlin" +} +``` + +--- + +## Algorithmen + +### Suchen + +#### Lineare Suche + +``` +Suche in ungeordneter Liste +Schleife durch alle Elemente +→ O(n) Zeitkomplexität +``` + +#### Binäre Suche + +``` +Suche in sortierter Liste +Teile und Herrsche +→ O(log n) Zeitkomplexität +``` + +### Sortieren + +#### Bubble Sort + +``` +Vergleiche benachbarte Elemente +Tausche wenn in falscher Reihenfolge + +Beispiel: +[5, 3, 8, 1] → [3, 5, 1, 8] → [3, 1, 5, 8] → ... + +→ O(n²) Zeitkomplexität +``` + +#### Quick Sort + +``` +Pivot-Element wählen +Kleine links, große rechts +Rekursiv wiederholen + +→ O(n log n) Durchschnitt +``` + +--- + +## Komplexität + +### Big O Notation + +| Notation | Name | Beispiel | +|----------|------|----------| +| O(1) | Konstant | Array-Zugriff | +| O(log n) | Logarithmisch | Binäre Suche | +| O(n) | Linear | Lineare Suche | +| O(n log n) | Linearithmisch | Quick Sort | +| O(n²) | Quadratisch | Bubble Sort | +| O(2^n) | Exponentiell | Brute Force | + +--- + +## Programmiersprachen + +### Übersicht + +| Sprache | Typ | Einsatz | +|---------|-----|----------| +| **Python** | Interpretiert | Data Science, Web | +| **Java** | Kompiliert | Enterprise | +| **JavaScript** | Interpretiert | Web, Frontend | +| **C#** | Kompiliert | Windows, .NET | +| **C/C++** | Kompiliert | Systemnah | + +### Sprachkonzepte + +``` +Programmierparadigmen +├── Imperativ → Anweisungen +├── Prozedural → Funktionen +├── Objektorientiert → Klassen/Objekte +├── Funktional → Funktionen ohne Zustand +└── Logisch → Regeln und Fakten +``` + +--- + +## Objektorientierte Programmierung (OOP) + +### Grundkonzepte + +``` +OOP - Prinzipien +├── Kapselung (Encapsulation) +├── Vererbung (Inheritance) +├── Polymorphie +└── Abstraktion +``` + +### Klasse und Objekt + +```python +# Klasse (Bauplan) +class Auto: + # Konstruktor + def __init__(self, marke, farbe): + self.marke = marke + self.farbe = farbe + self.geschwindigkeit = 0 + + # Methode + def beschleunigen(self, wert): + self.geschwindigkeit += wert + + def __str__(self): + return f"{self.marke}, {self.farbe}" + +# Objekt (Instanz) +mein_auto = Auto("BMW", "rot") +mein_auto.beschleunigen(50) +``` + +### Vererbung + +```python +class Tier: + def __init__(self, name): + self.name = name + + def essen(self): + print("Tier isst") + +class Hund(Tier): # Vererbung + def bellen(self): + print("Wuff!") + +hund = Hund("Bello") +hund.essen() # Von Tier geerbt +hund.bellen() # Eigene Methode +``` + +--- + +## Qualitätskriterien + +### Clean Code Prinzipien + +``` +Gute Software +├── Lesbarkeit → Gut verständlich +├── Wartbarkeit → Einfach zu ändern +├── Effizienz → Schnell genug +├── Zuverlässigkeit → Keine Fehler +└── Sicherheit → Vor Angriffen geschützt +``` + +### Namenskonventionen + +``` +Variablen: camelCase +meinName = "Max" + +Konstanten: UPPER_CASE +MAX_ALTER = 100 + +Funktionen: camelCase +def holeDaten(): + +Klassen: PascalCase +class Benutzer: +``` + +--- + +## Querverweise + +- [[LF5-02-Softwaremodellierung|Zurück: Softwaremodellierung]] +- [[LF5-04-Testverfahren|Nächstes Thema: Testverfahren]] +- [[LF4-01-Gefahren-Analyse|Sicherheit: Sichere Programmierung]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-04-Testverfahren.md b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-04-Testverfahren.md new file mode 100644 index 0000000..2f0e3ba --- /dev/null +++ b/1-Ausbildungsjahr/LF5-Analyse-Design/LF5-04-Testverfahren.md @@ -0,0 +1,274 @@ +# 5.4 Testverfahren + +## Softwaretests - Grundlagen + +### Warum testen? + +``` +Testziele +├── Fehler finden +├── Qualität sichern +├── Vertrauen schaffen +├── Risiken minimieren +└── Dokumentation +``` + +### Testprinzipien + +``` +Grundsätze des Testens +├── Vollständig unmöglich → 100% Test nicht möglich +├── Frühzeitig → Tests von Anfang an +├── Defektclustering → Fehler häufen sich +├── Pestizid-Paradox → Tests wiederholen +├── Fehlerfreiheitsirrtum → Keine Fehler ≠ Qualität +└── Kontextabhängig → Projektabhängig +``` + +--- + +## Testarten + +### Nach Sichtweise + +| Testart | Beschreibung | +|---------|-------------| +| **White Box** | Inneres bekannt, strukturbasiert | +| **Black Box** | Inneres unbekannt, funktional | +| **Gray Box** | Teilweise bekannt | + +### Nach Zeitpunkt + +``` +Testphasen +├── Statische Tests (vor Ausführung) +│ └── Code-Review, Analyse +└── Dynamische Tests (bei Ausführung) + └── Unit, Integration, System, Abnahme +``` + +--- + +## Teststufen + +### Pyramide + +``` +Testpyramide + ╱╲ + ╱ ╲ End-to-End (wenige) + ╱────╲ + ╱ ╲ Integration (mittel) + ╱────────╲ + ╱ ╲ Unit-Tests (viele) + ╱────────────╲ +``` + +### Unit Tests + +> Test einzelner Funktionen/Klassen + +```python +import unittest + +class TestRechner(unittest.TestCase): + + def test_addition(self): + ergebnis = addieren(2, 3) + self.assertEqual(ergebnis, 5) + + def test_division_durch_null(self): + with self.assertRaises(ZeroDivisionError): + dividieren(10, 0) + +if __name__ == '__main__': + unittest.main() +``` + +### Integrationstests + +> Test der Zusammenarbeit von Komponenten + +``` +Integration - Strategien +├── Big Bang → Alles gleichzeitig +├── Top-Down → Oberste Ebene zuerst +├── Bottom-Up → Unterste Ebene zuerst +└── Sandwich → Beide Richtungen +``` + +### Systemtests + +> Test des gesamten Systems + +``` +Systemtest - Prüfbereiche +├── Funktionale Anforderungen +├── Nicht-funktionale Anforderungen +├── Schnittstellen +├── Datenintegration +└── Performance +``` + +### Abnahmetests + +> Test durch den Kunden + +``` +Abnahmetest - Arten +├── Alpha (beim Hersteller) +├── Beta (bei Anwendern) +└── Operational (im Echtbetrieb) +``` + +--- + +## Testmethoden + +### Black-Box-Tests + +``` +Techniken +├── Äquivalenzklassen +├── Grenzwertanalyse +├── Entscheidungstabellen +├── Zustandsübergänge +└── Anwendungsfall-basiert +``` + +### Äquivalenzklassen + +``` +Beispiel: Alterseingabe (0-120) + +Gültige Klasse: 0 bis 120 +Ungültige Klassen: < 0, > 120 + +Testfälle: +- 25 (gültig) +- 0 (Grenzwert) +- 120 (Grenzwert) +- -1 (ungültig) +- 121 (ungültig) +``` + +### White-Box-Tests + +``` +Techniken +├── Anweisungsabdeckung +├── Zweigabdeckung +├── Pfadabdeckung +└── Bedingungsabdeckung +``` + +--- + +## Testmanagement + +### Testplan + +```markdown +# Testplan - [Projekt] + +## 1. Testobjekt +[Was wird getestet] + +## 2. Testumgebung +[System, Tools] + +## 3. Testfälle +| ID | Beschreibung | Erwartung | +|----|--------------|-----------| +| T1 | Login gültig | Erfolg | +| T2 | Login ungültig | Fehler | + +## 4. Zeitplan +[Termine] + +## 5. Kriterien +[Abnahme] +``` + +### Testfall-Struktur + +``` +Testfall - Elemente +├── Testfall-ID +├── Titel/Beschreibung +├── Vorbedingungen +├── Testschritte +├── Erwartetes Ergebnis +├── Tatsächliches Ergebnis +├── Status (Pass/Fail) +└── Tester +``` + +--- + +## Testautomatisierung + +### Werkzeuge + +| Zweck | Tools | +|-------|-------| +| Unit Tests | JUnit (Java), pytest (Python), NUnit (.NET) | +| UI Tests | Selenium, Playwright, Cypress | +| API Tests | Postman, RestAssured | +| Lasttests | JMeter, k6 | + +### Beispiel: pytest + +```python +# test_calculator.py + +import pytest + +def test_addition(): + assert add(2, 3) == 5 + +def test_subtraktion(): + assert sub(5, 3) == 2 + +@pytest.mark.parametrize("a,b,expected", [ + (1, 1, 2), + (0, 0, 0), + (-1, 1, 0), +]) +def test_add_param(a, b, expected): + assert add(a, b) == expected +``` + +--- + +## Fehlermanagement + +### Fehlerverfolgung + +``` +Fehlerlebenszyklus +Neu → Bestätigt → In Bearbeitung → Gelöst → Geschlossen + ↓ + Abgelehnt +``` + +### Fehlerprioritäten + +| Priorität | Beschreibung | Reaktionszeit | +|-----------|-------------|---------------| +| Kritisch | System nicht nutzbar | Sofort | +| Hoch | Wichtige Funktion | 24h | +| Mittel | Kleinere Probleme | 1 Woche | +| Niedrig | kosmetisch | Bei Zeit | + +--- + +## Querverweise + +- [[LF5-03-Programmierung|Zurück: Programmierung]] +- [[LF6-Webanwendungen|Nächstes Lernfeld: Webanwendungen]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: Qualitätsmanagement]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF5-Datenbanken-anpassen/LF5-Notizen.md b/1-Ausbildungsjahr/LF5-Datenbanken-anpassen/LF5-Notizen.md new file mode 100644 index 0000000..b954d1f --- /dev/null +++ b/1-Ausbildungsjahr/LF5-Datenbanken-anpassen/LF5-Notizen.md @@ -0,0 +1,253 @@ +# LF 5: Software zur Verwaltung von Daten anpassen + +> **1. Ausbildungsjahr** | Zeitrichtwert: **80 Stunden** + +## Kernkompetenz + +Die Schülerinnen und Schüler verfügen über die Kompetenz, Informationen mittels Daten abzubilden, diese Daten zu verwalten und dazu Software anzupassen. + +--- + +## Lernziele + +Nach diesem Lernfeld kannst du: +- [ ] Informationen als Daten abbilden und strukturieren +- [ ] Datenbankmodelle unterscheiden und anwenden +- [ ] ER-Diagramme erstellen +- [ ] SQL-Abfragen erstellen und ausführen +- [ ] Datenformate unterscheiden +- [ ] Software zur Datenverwaltung anpassen +- [ ] Testfälle entwickeln und Tests durchführen + +--- + +## Datenbank-Grundlagen + +### Datenbankmodelle + +``` +Datenbankmodelle +├── Hierarchisch +├── Netzwerkartig +├── Relational (am häufigsten) +├── Objektorientiert +└── NoSQL +``` + +### Relationales Datenbankmodell + +**Grundbegriffe:** + +| Begriff | Erklärung | +|---------|-----------| +| **Tabelle (Relation)** | Sammlung von Datensätzen | +| **Spalte (Attribut)** | Eigenschaft eines Datensatzes | +| **Zeile (Tupel)** | Ein Datensatz | +| **Primärschlüssel** | Eindeutige Identifikation | +| **Fremdschlüssel** | Verweis auf andere Tabelle | + +--- + +## ER-Diagramm (Entity-Relationship) + +### Elemente + +``` +┌─────────────┐ ┌─────────────┐ +│ Entity │ │ Entity │ +│ (Typ) │ │ (Typ) │ +├─────────────┤ ├─────────────┤ +│ Attribute │ │ Attribute │ +│ PK: id │ │ PK: id │ +└─────┬───────┘ └──────┬──────┘ + │ N │ M + │ │ + └──────────┬───────────┘ + │ + ┌──────┴──────┐ + │ Relationship │ + │ (Beziehung) │ + └──────────────┘ +``` + +### Beziehungsgrade + +- **1:1** (One-to-One) +- **1:N** (One-to-Many) - am häufigsten +- **M:N** (Many-to-Many) + +--- + +## Normalisierung + +### Normalformen + +| NF | Regel | Ziel | +|----|-------|------| +| 1NF | Atomare Werte | Keine wiederholenden Gruppen | +| 2NF | Keine partielle Abhängigkeit | Vollständige funktionale Abhängigkeit vom PK | +| 3NF | Keine transitiven Abhängigkeiten | Keine Abhängigkeiten zwischen Nicht-Schlüsselattributen | + +### Beispiel: 1NF → 2NF + +**Nicht normalisiert:** +``` +Bestellung(BestellID, Kunde, {Artikel, Menge}) +``` + +**Normalisiert (1NF/2NF):** +``` +Bestellung(BestellID, Kunde) +Bestellposition(BestellID, Artikel, Menge) +``` + +--- + +## SQL (Structured Query Language) + +### DDL (Data Definition Language) + +```sql +-- Tabelle erstellen +CREATE TABLE Kunde ( + KundenID INT PRIMARY KEY, + Name VARCHAR(100) NOT NULL, + Email VARCHAR(255) UNIQUE, + ErstelltAm DATETIME DEFAULT CURRENT_TIMESTAMP +); + +-- Tabelle ändern +ALTER TABLE Kunde ADD Telefon VARCHAR(20); + +-- Tabelle löschen +DROP TABLE Kunde; +``` + +### DML (Data Manipulation Language) + +```sql +-- Daten einfügen +INSERT INTO Kunde (Name, Email) +VALUES ('Max Mustermann', 'max@example.com'); + +-- Daten aktualisieren +UPDATE Kunde +SET Email = 'neue@email.de' +WHERE KundenID = 1; + +-- Daten löschen +DELETE FROM Kunde WHERE KundenID = 1; + +-- Daten abfragen +SELECT * FROM Kunde; +``` + +### DQL (Data Query Language) + +```sql +-- Einfache Abfrage +SELECT Name, Email FROM Kunde; + +-- Mit Bedingung +SELECT * FROM Kunde +WHERE Name LIKE 'M%' +ORDER BY Name ASC; + +-- Mit JOIN +SELECT b.BestellID, k.Name, a.Artikelname +FROM Bestellung b +JOIN Kunde k ON b.KundenID = k.KundenID +JOIN Bestellposition bp ON b.BestellID = bp.BestellID +JOIN Artikel a ON bp.ArtikelID = a.ArtikelID; + +-- Aggregatfunktionen +SELECT COUNT(*) AS Anzahl, + SUM(Betrag) AS Gesamt +FROM Bestellung +WHERE YEAR(Datum) = 2024; +``` + +--- + +## Datenformate + +### Strukturierte Daten + +| Format | Beschreibung | +|--------|--------------| +| CSV | Komma-separierte Werte | +| JSON | JavaScript Object Notation | +| XML | eXtensible Markup Language | +| YAML | YAML Ain't Markup Language | + +### Beispiel: CSV + +```csv +ID;Name;Email +1;Max Mustermann;max@example.com +2;Anna Schmidt;anna@example.com +``` + +### Beispiel: JSON + +```json +{ + "kunden": [ + { + "id": 1, + "name": "Max Mustermann", + "email": "max@example.com" + } + ] +} +``` + +--- + +## Software-Anpassung + +### Vorgehen + +1. **Anforderungen analysieren** +2. **Datenmodell erweitern** +3. **SQL-Skripte erstellen** +4. **Anwendung anpassen** +5. **Testfälle definieren** +6. **Testen und dokumentieren** + +### Testmethoden + +- **Unit-Tests**: Einzelne Komponenten testen +- **Integrationstests**: Zusammenspiel testen +- **Systemtests**: Gesamtsystem testen +- **Abnahmetests**: Mit Kunden testen + +--- + +## Handlungsphasen + +1. **Informieren**: Daten analysieren, Anforderungen erheben +2. **Planen**: Datenmodell entwerfen, Testfälle definieren +3. **Durchführen**: Software anpassen, Tests durchführen +4. **Überprüfen**: Funktion prüfen, Qualität sichern +5. **Reflektieren**: Prozess evaluieren + +--- + +## Prüfungsrelevanz + +- Fundament für LF 8 (Daten bereitstellen) +- Wichtig für Teil 1 der Abschlussprüfung +- SQL-Kenntnisse werden vorausgesetzt + +--- + +## Querverweise + +- [[LF4-Schutzbedarfsanalyse|Vorher: LF 4]] +- [[LF8-Daten-bereitstellen|Nachher: LF 8]] +- [[Datenbanken|Datenbanken-Vertiefung]] + +--- + +*Stand: 2024 | Quelle: KMK Rahmenlehrplan 13.12.2019* diff --git a/1-Ausbildungsjahr/LF6-Webanwendungen/LF6-00-Übersicht.md b/1-Ausbildungsjahr/LF6-Webanwendungen/LF6-00-Übersicht.md new file mode 100644 index 0000000..c3c99f0 --- /dev/null +++ b/1-Ausbildungsjahr/LF6-Webanwendungen/LF6-00-Übersicht.md @@ -0,0 +1,42 @@ +# Lernfeld 6: Webanwendungen entwickeln + +## Übersicht + +Dieses Lernfeld behandelt die Entwicklung von Webanwendungen. + +## Themen + +| Nr. | Thema | Beschreibung | +| --- | --- | --- | +| 6.1 | [[LF6-01-Web-Grundlagen]] | HTTP, HTML, CSS | +| 6.2 | [[LF6-02-Frontend]] | JavaScript, Frameworks | +| 6.3 | [[LF6-03-Backend]] | Server, APIs, Datenbanken | +| 6.4 | [[LF6-04-Sicherheit-Web]] | XSS, CSRF, SQL Injection | + +## Lernziele + +- Webanwendungen entwickeln +- Frontend und Backend verbinden +- Sicherheitslücken erkennen und vermeiden + +## Voraussetzungen + +- LF3: Datenbanken +- LF4: IT-Sicherheit +- LF5: Analyse und Design + +## Prüfungsrelevanz + +- Teil 2 Abschlussprüfung (praktisch) + +--- + +## Querverweise + +- [[LF5-04-Testverfahren|Zurück: Testverfahren]] +- [[LF9-Netzwerke-Dienste|Nächstes Lernfeld: Netzwerke]] +- [[Wissen/Wirtschafts-Sozialkunde/WISO-Zusammenfassung|WISO: E-Commerce]] + +--- + +*Stand: 2024* diff --git a/1-Ausbildungsjahr/LF6-Webanwendungen/LF6-01-Web-Grundlagen.md b/1-Ausbildungsjahr/LF6-Webanwendungen/LF6-01-Web-Grundlagen.md new file mode 100644 index 0000000..2341e30 --- /dev/null +++ b/1-Ausbildungsjahr/LF6-Webanwendungen/LF6-01-Web-Grundlagen.md @@ -0,0 +1,225 @@ +# 6.1 Web-Grundlagen + +## Internet und WWW + +### Grundbegriffe + +``` +Internet - Netzwerk der Netzwerke +WWW (World Wide Web) - Dienst im Internet +``` + +### Funktionsweise + +``` +Client-Server-Modell +┌─────────┐ ┌─────────┐ +│ Browser │ ───────►│ Server │ +│ (Client)│ ◄───────│ │ +└─────────┘ └─────────┘ +``` + +--- + +## HTTP - Hypertext Transfer Protocol + +### HTTP-Ablauf + +``` +HTTP - Kommunikation +1. Client sendet Request +2. Server verarbeitet +3. Server sendet Response +``` + +### HTTP-Methoden + +| Methode | Beschreibung | idempotent | +|---------|-------------|------------| +| **GET** | Daten abrufen | Ja | +| **POST** | Daten senden | Nein | +| **PUT** | Daten ersetzen | Ja | +| **PATCH** | Daten teilweise ändern | Nein | +| **DELETE** | Daten löschen | Ja | + +### HTTP-Statuscodes + +| Code | Bedeutung | Beispiel | +|------|-----------|----------| +| **200** | OK | Erfolgreich | +| **201** | Created | Erstellt | +| **301** | Moved Permanently | Umleitung | +| **400** | Bad Request | Fehlerhafte Anfrage | +| **401** | Unauthorized | Nicht angemeldet | +| **403** | Forbidden | Keine Berechtigung | +| **404** | Not Found | Nicht gefunden | +| **500** | Internal Server Error | Serverfehler | + +### HTTPS + +``` +HTTPS = HTTP + TLS-Verschlüsselung + +Vorteile: +├── Vertraulichkeit +├── Integrität +└── Authentifizierung +``` + +--- + +## HTML - HyperText Markup Language + +### Grundstruktur + +```html + + + + + Titel + + + + + +``` + +### HTML-Elemente + +| Element | Bedeutung | +|---------|----------| +| `

` bis `

` | Überschriften | +| `

` | Absatz | +| `` | Link | +| `` | Bild | +| `