509 lines
18 KiB
Markdown
509 lines
18 KiB
Markdown
# MYP – Manage Your Printer
|
||
## Vernetzte 3D-Druck-Reservierungsplattform mit IoT-Anbindung und zentraler Verwaltungsoberfläche
|
||
|
||
**Dokumentation der betrieblichen Projektarbeit**
|
||
|
||
**Fachinformatiker für digitale Vernetzung**
|
||
|
||
---
|
||
|
||
**Prüfungsbewerber:** Till Tomczak
|
||
**Ausbildungsbetrieb:** Mercedes-Benz AG
|
||
**Prüfungstermin:** Sommer 2025
|
||
**Bearbeitungszeitraum:** 15. April – 20. Mai 2025
|
||
**Projektumfang:** 35 Stunden
|
||
|
||
---
|
||
|
||
## Inhaltsverzeichnis
|
||
|
||
1. [Einleitung](#1-einleitung)
|
||
2. [Projektplanung](#2-projektplanung)
|
||
3. [Analyse und Bewertung](#3-analyse-und-bewertung)
|
||
4. [Systemarchitektur und Schnittstellenkonzeption](#4-systemarchitektur-und-schnittstellenkonzeption)
|
||
5. [Umsetzung](#5-umsetzung)
|
||
6. [Test und Optimierung](#6-test-und-optimierung)
|
||
7. [Projektabschluss](#7-projektabschluss)
|
||
8. [Anlagen](#anlagen)
|
||
|
||
---
|
||
|
||
## 1. Einleitung
|
||
|
||
### 1.1 Ausgangssituation und Problemstellung
|
||
|
||
Die Technische Berufsausbildungsstätte (TBA) der Mercedes-Benz AG am Standort Berlin verfügt über sechs 3D-Drucker verschiedener Hersteller (Prusa, Anycubic), die als wichtige Ressource für die praktische Ausbildung dienen. Diese Geräte weisen jedoch erhebliche technische Limitierungen auf: Sie verfügen weder über Netzwerkschnittstellen noch über einheitliche Steuerungsmöglichkeiten.
|
||
|
||
Das bestehende Reservierungssystem basierte auf einem analogen Whiteboard, was zu systematischen Problemen führte:
|
||
|
||
- **Doppelbuchungen** durch unkoordinierte Reservierungen
|
||
- **Ineffiziente Energienutzung** durch vergessene manuelle Aktivierung/Deaktivierung
|
||
- **Fehlende Dokumentation** der Nutzungszeiten und Verantwortlichkeiten
|
||
- **Keine zentrale Übersicht** über Verfügbarkeiten und Auslastung
|
||
|
||
Ein vorhandener Frontend-Prototyp des ehemaligen Auszubildenden Torben Haack bot eine moderne Benutzeroberfläche, verfügte jedoch über keine funktionsfähige Backend-Anbindung zur praktischen Nutzung.
|
||
|
||
### 1.2 Projektziele
|
||
|
||
Das Projekt "MYP – Manage Your Printer" zielt auf die **vollständige Digitalisierung des 3D-Drucker-Reservierungsprozesses** durch die Etablierung cyberphysischer Kommunikation mit den Hardwarekomponenten ab.
|
||
|
||
**Primäre Ziele:**
|
||
- Entwicklung einer webbasierten Reservierungsplattform
|
||
- Integration automatischer Hardware-Steuerung via IoT-Komponenten
|
||
- Implementierung einer zentralen Verwaltungsoberfläche
|
||
- Etablierung robuster Authentifizierung und Rechteverwaltung
|
||
|
||
**Sekundäre Ziele:**
|
||
- Optimierung der Energieeffizienz durch automatisierte Steuerung
|
||
- Bereitstellung von Nutzungsstatistiken und Monitoring
|
||
- Gewährleistung herstellerunabhängiger Lösung
|
||
- Einhaltung unternehmensinterner Sicherheitsrichtlinien
|
||
|
||
### 1.3 Projektabgrenzung
|
||
|
||
**Im Projektumfang enthalten:**
|
||
- Webportal-Entwicklung (Frontend und Backend)
|
||
- WLAN-Integration der Raspberry Pi-Plattform
|
||
- Datenbankaufbau für Reservierungsverwaltung
|
||
- IoT-Integration via Smart-Plug-Technologie
|
||
- Authentifizierung und Autorisierung
|
||
- Test der Schnittstellen und Netzwerkverbindungen
|
||
|
||
**Ausgeschlossen aus dem Projektumfang:**
|
||
- Direkte Kommunikation mit 3D-Druckern (fehlende Schnittstellen)
|
||
- Integration in das unternehmensweite Intranet (Zeitrestriktionen)
|
||
- Übertragung von Druckdaten oder Statusüberwachung der Drucker
|
||
- Umfangreiche Hardware-Modifikationen der bestehenden Geräte
|
||
|
||
### 1.4 Projektumfeld und betriebliche Schnittstellen
|
||
|
||
Das Projekt wurde im Rahmen der Ausbildung zum Fachinformatiker für digitale Vernetzung in der TBA durchgeführt. Die organisatorischen Rahmenbedingungen wurden durch konzerninternen Sicherheitsrichtlinien und IT-Governance-Prozesse geprägt.
|
||
|
||
**Zentrale Schnittstellen:**
|
||
- **IT-Abteilung:** Genehmigung von Netzwerkkonfigurationen und SSL-Zertifikaten
|
||
- **Ausbildungsleitung:** Fachliche Betreuung und Ressourcenbereitstellung
|
||
- **Endanwender:** Auszubildende und Ausbildungspersonal der TBA
|
||
- **Hardware-Integration:** Smart-Plug-Systeme als IoT-Gateway zu den 3D-Druckern
|
||
|
||
---
|
||
|
||
## 2. Projektplanung
|
||
|
||
### 2.1 Zeitplanung nach V-Modell
|
||
|
||
Die Projektplanung folgte dem V-Modell mit agilen Elementen, unterteilt in fünf Sprints à eine Woche:
|
||
|
||
| Phase | Zeitraum | Aufwand | Schwerpunkt |
|
||
|-------|----------|---------|-------------|
|
||
| **Sprint 1** | 15.-19. April | 6h | Projektplanung und Analyse |
|
||
| **Sprint 2** | 22.-26. April | 12h | Analyse und Bewertung der Systemarchitektur |
|
||
| **Sprint 3** | 29. April - 3. Mai | 6h | Entwicklung der Systemarchitektur |
|
||
| **Sprint 4** | 6.-10. Mai | 14h | Umsetzung (Implementation) |
|
||
| **Sprint 5** | 13.-17. Mai | 10h | Test, Optimierung und Dokumentation |
|
||
|
||
### 2.2 Ressourcenplanung
|
||
|
||
**Hardware-Komponenten:**
|
||
- Raspberry Pi 5 (8GB RAM, 128GB Speicher) als zentrale Serverplattform
|
||
- 6× TP-Link Tapo P110 Smart-Plugs für IoT-Integration
|
||
- 19-Zoll-Serverschrank für professionelle Unterbringung
|
||
- Netzwerk-Infrastruktur (Switch, Verkabelung)
|
||
|
||
**Software-Stack:**
|
||
- **Backend:** Python 3.11, Flask 2.3, SQLAlchemy 2.0, SQLite
|
||
- **Frontend:** Next.js (Prototyp-Basis), TailwindCSS, JavaScript
|
||
- **System:** Raspbian OS, systemd-Services, OpenSSL
|
||
- **IoT-Integration:** PyP100-Bibliothek für Smart-Plug-Kommunikation
|
||
|
||
**Kostenrahmen:** Unter 600 Euro (inklusive privat finanzierter Ergänzungskomponenten)
|
||
|
||
### 2.3 Qualitätssicherungsplanung
|
||
|
||
**Testumgebung:**
|
||
- VirtualBox-basierte Entwicklungsumgebung für Backend-Tests
|
||
- Hardware-in-the-Loop-Tests mit echten Smart-Plugs
|
||
- Separate Produktionsumgebung auf Raspberry Pi
|
||
|
||
**Teststrategien:**
|
||
- **Unit-Tests:** Isolierte Tests kritischer Komponenten (85% Code-Coverage)
|
||
- **Integrationstests:** Schnittstellen zwischen Frontend, Backend und IoT
|
||
- **Systemtests:** End-to-End-Szenarien mit kompletten Anwendungsfällen
|
||
- **Sicherheitstests:** Penetrationstests gegen OWASP Top 10
|
||
|
||
---
|
||
|
||
## 3. Analyse und Bewertung
|
||
|
||
### 3.1 Bewertung der vorhandenen Systemarchitektur
|
||
|
||
**Ist-Zustand:**
|
||
- Frontend-Prototyp (Next.js) ohne Backend-Anbindung
|
||
- Isolierte 3D-Drucker ohne Netzwerkfähigkeit
|
||
- Analoge Reservierungsverwaltung (Whiteboard)
|
||
- Raspberry Pi 4 als ungenutzter Server
|
||
|
||
**Identifizierte Defizite:**
|
||
- Fehlende cyberphysische Integration
|
||
- Keine zentrale Datenhaltung
|
||
- Ineffiziente manuelle Prozesse
|
||
- Sicherheitslücken durch analoge Verwaltung
|
||
|
||
### 3.2 Bewertung der heterogenen IT-Landschaft
|
||
|
||
Die IT-Infrastruktur der TBA präsentierte sich als segmentierte Umgebung mit verschiedenen VLANs und Sicherheitszonen. Die 3D-Drucker verschiedener Hersteller erforderten eine herstellerunabhängige Abstraktionsebene.
|
||
|
||
**Lösungsansatz:** IoT-Integration über Smart-Plugs ermöglicht universelle Steuerung unabhängig vom Druckermodell durch Abstraktion auf Stromversorgungsebene.
|
||
|
||
### 3.3 Analyse der IT-sicherheitsrelevanten Bedingungen
|
||
|
||
**Sicherheitsanforderungen:**
|
||
- Keine permanente Internetverbindung
|
||
- Isoliertes Netzwerksegment für IoT-Komponenten
|
||
- Selbstsignierte SSL-Zertifikate (kein Let's Encrypt möglich)
|
||
- Compliance mit Mercedes-Benz IT-Sicherheitsrichtlinien
|
||
|
||
**Implementierte Sicherheitsmaßnahmen:**
|
||
- bcrypt-Passwort-Hashing (Cost-Faktor 12)
|
||
- CSRF-Schutz und Session-Management
|
||
- Rate-Limiting gegen Brute-Force-Angriffe
|
||
- Firewall-Regeln mit Port-Beschränkung
|
||
- Input-Validation nach OWASP-Standards
|
||
|
||
### 3.4 Anforderungsgerechte Auswahl der Übertragungssysteme
|
||
|
||
**Evaluierte Optionen:**
|
||
1. **Direkte 3D-Drucker-Integration:** Nicht möglich (fehlende Schnittstellen)
|
||
2. **Cloud-basierte Lösung:** Ausgeschlossen (Offline-Anforderung)
|
||
3. **Smart-Plug-Integration:** Gewählte Lösung
|
||
|
||
**Technische Herausforderung:** TP-Link Tapo P110 verfügen über keine dokumentierte API. Reverse-Engineering mittels Wireshark-Protokollanalyse war erforderlich.
|
||
|
||
**Lösung:** PyP100-Python-Bibliothek implementiert das proprietäre Kommunikationsprotokoll und ermöglicht lokale Steuerung ohne Cloud-Abhängigkeit.
|
||
|
||
---
|
||
|
||
## 4. Systemarchitektur und Schnittstellenkonzeption
|
||
|
||
### 4.1 Gesamtsystemarchitektur
|
||
|
||
```
|
||
┌─────────────────┐ HTTPS ┌─────────────────┐ WLAN ┌─────────────────┐
|
||
│ Web-Client │◄────────────►│ Raspberry Pi │◄───────────►│ Smart-Plugs │
|
||
│ (Browser) │ │ MYP-Server │ │ (IoT-Layer) │
|
||
└─────────────────┘ └─────────────────┘ └─────────────────┘
|
||
│ │
|
||
┌────▼────┐ ┌────▼────┐
|
||
│ SQLite │ │3D-Drucker│
|
||
│Database │ │(6 Geräte)│
|
||
└─────────┘ └─────────┘
|
||
```
|
||
|
||
### 4.2 Technische Systemarchitektur
|
||
|
||
**Schichtenmodell:**
|
||
1. **Präsentationsschicht:** Web-Frontend (HTTPS/Port 443)
|
||
2. **Anwendungsschicht:** Flask-Backend mit REST-API
|
||
3. **Geschäftslogikschicht:** Reservierungsmanagement, Scheduler
|
||
4. **Datenhaltungsschicht:** SQLite-Datenbank
|
||
5. **IoT-Integrationsschicht:** Smart-Plug-Kommunikation
|
||
6. **Hardwareschicht:** 3D-Drucker (stromgesteuert)
|
||
|
||
### 4.3 Schnittstellenkonzeption
|
||
|
||
**REST-API-Design:**
|
||
- **Authentifizierung:** `/api/auth/` (Login, Logout, Session-Management)
|
||
- **Benutzerverwaltung:** `/api/users/` (CRUD-Operationen)
|
||
- **Druckerverwaltung:** `/api/printers/` (Status, Konfiguration)
|
||
- **Reservierungen:** `/api/jobs/` (Buchung, Verwaltung, Scheduling)
|
||
- **Monitoring:** `/api/monitoring/` (Energieverbrauch, Statistiken)
|
||
|
||
**IoT-Schnittstelle:**
|
||
- **Protokoll:** HTTP/TCP über WLAN
|
||
- **Authentifizierung:** Session-basiert mit dynamischen Tokens
|
||
- **Operationen:** Power On/Off, Status-Abfrage, Energiemessung
|
||
- **Fehlerbehandlung:** Retry-Mechanismen, Timeout-Handling
|
||
|
||
### 4.4 Datenmodell
|
||
|
||
**Kernentitäten:**
|
||
- `User`: Benutzerkonten mit Rollen und Berechtigungen
|
||
- `Printer`: 3D-Drucker-Definitionen mit Smart-Plug-Zuordnung
|
||
- `Job`: Reservierungen mit Zeitfenstern und Status
|
||
- `SmartPlug`: IoT-Geräte-Konfiguration und Zustandsverwaltung
|
||
- `EnergyLog`: Energieverbrauchsdaten für Monitoring
|
||
|
||
---
|
||
|
||
## 5. Umsetzung
|
||
|
||
### 5.1 Implementierung der Backend-Infrastruktur
|
||
|
||
**Flask-Anwendungsstruktur:**
|
||
```python
|
||
# Modulare Blueprint-Architektur
|
||
├── app.py # Hauptanwendung mit HTTPS-Konfiguration
|
||
├── models.py # SQLAlchemy-Datenmodelle
|
||
├── blueprints/ # Funktionale Module
|
||
│ ├── auth.py # Authentifizierung
|
||
│ ├── users.py # Benutzerverwaltung
|
||
│ ├── printers.py # Druckerverwaltung
|
||
│ └── jobs.py # Reservierungslogik
|
||
└── utils/ # Hilfsfunktionen
|
||
├── scheduler.py # Zeitgesteuerte Operationen
|
||
└── smart_plug.py # IoT-Integration
|
||
```
|
||
|
||
**Zentrale Implementierungsherausforderungen:**
|
||
|
||
1. **Smart-Plug-Integration:** PyP100-Bibliothek erwies sich als einzige funktionsfähige Lösung nach mehreren gescheiterten Ansätzen
|
||
|
||
2. **Thread-sichere Scheduler-Implementation:**
|
||
```python
|
||
class SmartPlugScheduler:
|
||
def __init__(self):
|
||
self.scheduler = BackgroundScheduler()
|
||
self.lock = threading.Lock()
|
||
|
||
def schedule_job(self, job_id, start_time, duration):
|
||
with self.lock:
|
||
# Thread-sichere Jobplanung
|
||
self.scheduler.add_job(...)
|
||
```
|
||
|
||
3. **Robuste Fehlerbehandlung:**
|
||
```python
|
||
@retry(stop=stop_after_attempt(3), wait=wait_exponential(multiplier=1, min=4, max=10))
|
||
def toggle_smart_plug(plug_ip, state):
|
||
try:
|
||
plug = Tapo(plug_ip, username, password)
|
||
return plug.on() if state else plug.off()
|
||
except Exception as e:
|
||
logger.error(f"Smart-Plug-Fehler: {e}")
|
||
raise
|
||
```
|
||
|
||
### 5.2 IoT-Integration und Hardware-Steuerung
|
||
|
||
**Smart-Plug-Konfiguration:**
|
||
- Statische IP-Adressen: 192.168.0.100-105
|
||
- Lokale Authentifizierung ohne Cloud-Service
|
||
- Energiemonitoring für Verbrauchsoptimierung
|
||
|
||
**Kommunikationsprotokoll:**
|
||
```python
|
||
# Vereinfachte Smart-Plug-Abstraktion
|
||
class SmartPlugManager:
|
||
def __init__(self, plug_configs):
|
||
self.plugs = {id: Tapo(ip, user, pass) for id, ip in plug_configs.items()}
|
||
|
||
async def control_printer(self, printer_id, action):
|
||
plug = self.plugs[printer_id]
|
||
return await plug.on() if action == 'start' else await plug.off()
|
||
```
|
||
|
||
### 5.3 Sicherheitsimplementierung
|
||
|
||
**Authentifizierung und Autorisierung:**
|
||
```python
|
||
# bcrypt-Passwort-Hashing
|
||
password_hash = bcrypt.generate_password_hash(password, rounds=12)
|
||
|
||
# Session-Management mit Flask-Login
|
||
@login_required
|
||
def protected_endpoint():
|
||
return jsonify({"user_id": current_user.id})
|
||
|
||
# CSRF-Schutz
|
||
csrf.init_app(app)
|
||
```
|
||
|
||
**Rate-Limiting:**
|
||
```python
|
||
# Brute-Force-Schutz
|
||
@limiter.limit("5 per minute")
|
||
@app.route('/api/auth/login', methods=['POST'])
|
||
def login():
|
||
# Login-Logik mit Begrenzung
|
||
```
|
||
|
||
### 5.4 Systemkonfiguration und Deployment
|
||
|
||
**Systemd-Service-Konfiguration:**
|
||
```ini
|
||
[Unit]
|
||
Description=MYP HTTPS Backend Service
|
||
After=network.target
|
||
|
||
[Service]
|
||
Type=simple
|
||
User=myp
|
||
WorkingDirectory=/opt/myp
|
||
ExecStart=/usr/bin/python3 app.py --production
|
||
Restart=always
|
||
RestartSec=10
|
||
|
||
[Install]
|
||
WantedBy=multi-user.target
|
||
```
|
||
|
||
**SSL-Zertifikat-Management:**
|
||
```bash
|
||
# Selbstsignierte Zertifikate für Offline-Betrieb
|
||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
|
||
```
|
||
|
||
---
|
||
|
||
## 6. Test und Optimierung
|
||
|
||
### 6.1 Testdurchführung und -ergebnisse
|
||
|
||
**Unit-Tests (85% Code-Coverage):**
|
||
- Datenbankoperationen: Alle CRUD-Operationen erfolgreich
|
||
- API-Endpunkte: Validierung und Fehlerbehandlung getestet
|
||
- Smart-Plug-Integration: Mock-Tests für Hardware-Abstraktion
|
||
|
||
**Integrationstests:**
|
||
- Frontend-Backend-Kommunikation: HTTPS/REST-API vollständig funktional
|
||
- IoT-Hardware-Integration: Alle 6 Smart-Plugs erfolgreich ansteuerbar
|
||
- Scheduler-Funktionalität: Zeitgesteuerte Operationen präzise ausgeführt
|
||
|
||
**Systemtests:**
|
||
- End-to-End-Reservierungsszenarien: Vollständig automatisiert
|
||
- Gleichzeitige Benutzerzugriffe: Bis zu 10 parallele Sessions stabil
|
||
- Energiemonitoring: Verbrauchsdaten korrekt erfasst und visualisiert
|
||
|
||
**Performance-Optimierungen:**
|
||
- Hardware-Upgrade von Raspberry Pi 4 auf Pi 5 (Speicher: 4GB → 8GB)
|
||
- Datenbankindizierung für häufige Abfragen
|
||
- Caching-Strategien für Smart-Plug-Status
|
||
|
||
### 6.2 Sicherheitstests
|
||
|
||
**Penetrationstests:**
|
||
- SQL-Injection-Versuche: Erfolgreich abgewehrt durch Parameterisierung
|
||
- XSS-Angriffe: Input-Sanitization funktional
|
||
- CSRF-Attacken: Token-basierter Schutz wirksam
|
||
- Brute-Force-Tests: Rate-Limiting nach 5 Versuchen aktiv
|
||
|
||
### 6.3 Systemstabilität und Monitoring
|
||
|
||
**Monitoring-Implementation:**
|
||
```python
|
||
# Systemüberwachung mit Logging
|
||
import logging
|
||
from logging.handlers import RotatingFileHandler
|
||
|
||
# Strukturiertes Logging für Debugging
|
||
logging.basicConfig(
|
||
handlers=[RotatingFileHandler('app.log', maxBytes=10000000, backupCount=10)],
|
||
level=logging.INFO,
|
||
format='%(asctime)s %(levelname)s %(name)s %(message)s'
|
||
)
|
||
```
|
||
|
||
**Erkannte und behobene Probleme:**
|
||
- Memory-Leaks bei lang laufenden Smart-Plug-Operationen
|
||
- Race Conditions im Scheduler bei simultanen Zugriffen
|
||
- SSL-Zertifikat-Probleme durch inkorrekte SAN-Konfiguration
|
||
|
||
---
|
||
|
||
## 7. Projektabschluss
|
||
|
||
### 7.1 Soll-Ist-Vergleich
|
||
|
||
**Vollständig erreichte Ziele:**
|
||
✅ Webbasierte Reservierungsplattform implementiert
|
||
✅ Automatische Hardware-Steuerung via IoT realisiert
|
||
✅ Zentrale Verwaltungsoberfläche bereitgestellt
|
||
✅ Robuste Authentifizierung und Rechteverwaltung
|
||
✅ WLAN-Integration der Raspberry Pi-Plattform
|
||
✅ Datenbankaufbau für Reservierungsverwaltung
|
||
✅ Test der Schnittstellen und Netzwerkverbindungen
|
||
|
||
**Zusätzlich realisierte Features:**
|
||
🔋 Energiemonitoring und Verbrauchsoptimierung
|
||
📊 Nutzungsstatistiken und Dashboard
|
||
🔒 Erweiterte Sicherheitsfeatures (Rate-Limiting, CSRF-Schutz)
|
||
🏗️ Kiosk-Modus für Werkstatt-Terminals
|
||
|
||
**Abweichungen vom ursprünglichen Plan:**
|
||
- Konsolidierung auf einen statt zwei Raspberry Pis (Kostenoptimierung)
|
||
- Hardware-Upgrade Pi 4 → Pi 5 (Performance-Anforderungen)
|
||
- Verschiebung der Intranet-Integration (Zeitrestriktionen)
|
||
|
||
### 7.2 Wirtschaftlichkeitsbetrachtung
|
||
|
||
**Investitionskosten:** < 600 Euro
|
||
**Amortisation:** < 6 Monate durch Energieeinsparungen
|
||
**ROI:** Eliminierung von Reservierungskonflikten und automatisierte Abschaltung
|
||
|
||
### 7.3 Nachhaltigkeit und Erweiterbarkeit
|
||
|
||
**Modulare Systemarchitektur** ermöglicht einfache Erweiterungen:
|
||
- Integration weiterer Gerätetypen (Lasercutter, CNC-Fräsen)
|
||
- Active Directory-Anbindung für Enterprise-Integration
|
||
- Machine Learning für Auslastungsprognosen
|
||
|
||
### 7.4 Projektergebnisse und Erkenntnisse
|
||
|
||
Das MYP-System transformiert erfolgreich die analoge 3D-Drucker-Verwaltung in ein modernes cyberphysisches System. Die Lösung demonstriert, wie durch kreative IoT-Integration auch legacy Hardware in moderne Systemlandschaften integriert werden kann.
|
||
|
||
**Zentrale Erfolgsfaktoren:**
|
||
- Pragmatische Abstraktion komplexer Hardware-Probleme
|
||
- Robuste Softwarearchitektur mit umfassender Fehlerbehandlung
|
||
- Berücksichtigung von Sicherheitsanforderungen von Projektbeginn an
|
||
|
||
**Lessons Learned:**
|
||
- Hardware-Kompatibilitätsprüfung vor Projektstart essentiell
|
||
- Backup-Strategien für kritische Konfigurationen unerlässlich
|
||
- Agile Anpassungsfähigkeit bei unvorhergesehenen Problemen
|
||
|
||
### 7.5 Formale Projektabnahme
|
||
|
||
**Abnahmedatum:** 2. Juni 2025
|
||
**Abnehmer:** Ausbildungsleitung TBA Mercedes-Benz AG
|
||
**Status:** Erfolgreich abgenommen und in Produktivbetrieb überführt
|
||
|
||
**Bewertung der Ausbildungsleitung:**
|
||
- Innovative Lösungsansätze für komplexe Integration
|
||
- Hohe technische Qualität der Implementation
|
||
- Praxistauglichkeit und Benutzerakzeptanz bestätigt
|
||
|
||
---
|
||
|
||
## Anlagen
|
||
|
||
### A1. Systemdokumentation
|
||
- Netzwerkdiagramme und Systemarchitektur
|
||
- API-Dokumentation (REST-Endpunkte)
|
||
- Datenbankschema (ER-Diagramme)
|
||
|
||
### A2. Technische Dokumentation
|
||
- Installationsanleitung und Setup-Skripte
|
||
- Konfigurationsdateien (systemd, SSL, Firewall)
|
||
- Troubleshooting-Guide
|
||
|
||
### A3. Testdokumentation
|
||
- Testprotokolle (Unit-, Integration-, Systemtests)
|
||
- Sicherheitstests (Penetrationstests)
|
||
- Performance-Benchmarks
|
||
|
||
### A4. Benutzeroberfläche
|
||
- Screenshots der Weboberfläche
|
||
- Benutzerhandbuch
|
||
- Admin-Dokumentation
|
||
|
||
### A5. Projektmanagement
|
||
- Zeiterfassung nach Projektphasen
|
||
- Kostenaufstellung
|
||
- Übergabeprotokoll
|
||
|
||
---
|
||
|
||
**Projektstatistiken:**
|
||
- **Codezeilen:** 9.000+ (Python/JavaScript)
|
||
- **API-Endpunkte:** 100+
|
||
- **Testabdeckung:** 85%
|
||
- **Systemlaufzeit:** 24/7 produktiv seit Inbetriebnahme |