Skip to content

Einführung und Ziele

Ziel dieses Projekts ist die Entwicklung eines softwaregestützten Überwachungssystems zur kontinuierlichen Kontrolle der Umgebungsbedingungen in Lagerräumen. Das System dient der Qualitätssicherung und Verlustprävention bei der Lagerung verderblicher oder sensibler Güter, die spezifische klimatische Bedingungen erfordern.

Der primäre Anwendungsbereich umfasst die Überwachung von Lagern für wertvolle Güter – wie beispielsweise Lebensmittel oder Pharmazeutika - , deren Qualität von insbesondere folgenden Faktoren abhängig ist:

Temperatur: Einhaltung eines konstanten, kühlen Niveaus.
Luftfeuchtigkeit: Vermeidung von zu hoher oder zu niedriger Feuchtigkeit.
Luftqualität: Sicherstellung einer reinen, insbesondere von Schadstoffen freien Umgebung.
Weiter erfolgt die Kontrolle des Lagerraums im Zuge der Überwachung des Zustandes der Eingangstür (offen / geschlossen).

Aufgabenstellung

Es gilt ein System zu entwickeln, das sowohl aus Hardware- als auch aus Softwarekomponenten besteht, die ineinandergreifen.

Sensorik (Hardware): Ein Netzwerk von IoT erfasst die physikalischen Messgrößen alle 30 Sekunden.

  • Temperatursensor (2x): Messung der Raumtemperatur (Innen- und Außen- Raum) in Celsius.
  • Luftfeuchtigkeitssensor: Erfassung der relativen Luftfeuchtigkeit (in %).
  • Luftqualitätssensor: Detektion von Verunreinigungen in der Luft.
  • Ultraschallsensor: Zur Überprüfung des Zustandes der Tür – ist die Tür offen oder geschlossen.

Software-Plattform (Kernsystem): Eine zentrale Anwendung, die folgende Funktionalitäten bereitstellt:

  • Echtzeit-Dashboard: Grafische Visualisierung aller aktuellen (bspw. alle 30sec veröffentlichten) Sensorwerte.
  • Historische Datenanalyse: Speicherung und Darstellung von Messdaten über Zeit, um Trends und Muster zu erkennen.
  • Konfigurierbare Schwellenwerte / Festlegen eines Toleranzbereichs: Ermöglicht dem Akteur (Lagerverantwortlicher), für jeden Sensor individuelle Min/Max-Grenzwerte zu definieren.
  • Automatisiertes Alarmsystem: Versendet bei Grenzwertverletzungen automatisch Benachrichtigungen innerhalb kürzester Zeit (bspw. Innerhalb der nächsten 90sec) – beispielsweise via E-Mail oder Push-Benachrichtigung. Speichert eine Alarmhistorie der letzten 500 Alarme pro Lagerort.
  • Proaktive Gegensteuerung: Bei einem kritischen Ereignis (insbesondere Grenzwertverletzungen) sendet das System eine Nachricht an das zuvor richtige ermittelte Topic. Eine auf dieses Topic abonnierte Entität – ein Aktor wie ein intelligentes Kühlaggregat empfängt diese Nachricht und führt automatisiert eine Aktion aus.
  • Das System verwaltet Benutzer (bis zu ~500), die verschiedene Rollen haben können (z. B. Admin, User).
  • Weiter erlaubt das System die Verwaltung von Lagerorten (bis zu ~500), die jeweils mit den gegebenen Sensoren verbunden sein können.

*Höchste Priorität

Use-Case-Szenarien

Die folgenden Szenarien beschreiben beispielhaft die wichtigsten Anwendungsfälle des Systems:

Primärer Use-Case: Kontinuierliche Überwachung im Normalbetrieb

Phase Beschreibung
Vorbedingungen Das System ist installiert, kalibriert und aktiv. Die Schwellenwerte für alle Sensoren sind konfiguriert.
Ablauf 1. Die Sensoren erfassen kontinuierlich bzw. ggf. in definierten Intervallen die Umgebungsdaten.
2. Die Daten werden an die zentrale Software-Plattform übertragen.
3. Die Plattform validiert die Daten und vergleicht sie in Echtzeit mit den hinterlegten Schwellenwerten.
4. Solange alle Messwerte innerhalb der definierten Toleranzbereiche liegen, protokolliert das System die Daten und zeigt den Status "OK" im Dashboard an.
Nachbedingungen Die Qualität der gelagerten Güter bleibt gesichert.

Sekundärer Use-Case: Abweichung und Alarmierung

Phase Beschreibung
Trigger Ein Sensor meldet einen Messwert, der einen konfigurierten Schwellenwert über- oder unterschreitet \(z\.B\. Temperatur > 18 °C\).
Ablauf 1. Das System identifiziert die Grenzwertverletzung und klassifiziert das Ereignis als kritisch.
2. Ein Alarm wird ausgelöst und es passieren ggf. folgende zwei Aktionen:
  1. Das System versendet sofort eine Alarm-Benachrichtigung an alle vordefinierten Akteure \(Lagerverantwortliche\). Die Nachricht enthält den betroffenen Sensor, den Messwert und den Zeitpunkt des Ereignisses.
  2. Das System sendet eine MQTT-Nachricht an das zuvor richtig ermittelte Topic. Eine auf das Topic abonnierte Entität, z.B. ein IoT-Gerät, führt daraufhin eine Gegenmaßnahme aus.
3. Das Ereignis wird mit Zeitstempel und allen relevanten Daten in der System-Logdatei als "Kritischer Vorfall" gespeichert.
4. Der verantwortliche Akteur empfängt die Nachricht, greift auf das Dashboard zu, analysiert die Situation und leitet Gegenmaßnahmen ein.
5. Nach Behebung der Ursache kann der Akteur den Alarm im System quittieren.
Nachbedingungen Der potenzielle Schaden an den Lagergütern wurde durch rechtzeitige Intervention verhindert. Der Vorfall ist für spätere Analysen dokumentiert.

Qualitätsziele

Es lassen sich folgende Qualitätsziele, gestützt durch Qualitätsszenarien, definieren:

Erweiterbarkeit:

Szenario 1: Erweiterung des Platform-Teilsystems „Monitoring“

Dieses Szenario definiert die Fähigkeit, die Funktionalität des bestehenden Monitoring-Moduls (bzw Teilsystems) zu erweitern, ohne das Kernsystem zu verändern.  Ein typischer Fall ist die Anbindung eines neuen Sensortyps.

Attribut Beschreibung
Szenarioname Erweiterung Monitoring-Modul
Quelle Kernentwickler / Externer Entwickler
Stimulus Es besteht die Anforderung, einen neuen, bisher nicht unterstützten Sensortyp in das System zu integrieren.
Artefakt Das Teilsystem „Monitoring“
Umgebung System befindet sich in der Entwicklung / Wartung
Reaktion Die Software-Architektur des Monitoring-Teilsystems ermöglicht die Anbindung des neuen Sensortyps. Bestehende Funktionen (wie die Verarbeitung der Daten von Temperatur- oder Feuchtigkeitssensoren) bleiben davon unberührt und funktionieren weiterhin korrekt.
Reaktionsmaß Die Integration des neuen Sensortyps (inklusive Datenverarbeitung, Speicherung und Visualisierung) ist von einem Entwickler innerhalb von sieben Tagen ohne Regressionsfehler in anderen Teilen des Systems umsetzbar.

Szenario 2: Erweiterung der Plattform um neue Teilsysteme

Dieses Szenario beschreibt die Erweiterbarkeit der gesamten Plattform-Architektur. Das Ziel ist es, komplett neue Funktionalitätsblöcke als eigenständige Teilsysteme hinzuzufügen, wie zum Beispiel ein Modul "Anleitungsbibliothek". Dabei soll bestehende zentrale Funkktionalität wiederverwendet werden.

Attribut Beschreibung
Szenarioname Erweiterung Plattform
Quelle Kernentwickler / Externer Entwickler
Stimulus Die Plattform soll um ein neues Teilsystem "Anleitungsbibliothek" erweitert werden, das es Nutzern ermöglicht, Handlungsanweisungen zu hinterlegen und abzurufen.
Artefakt Die gesamte Software-Plattform, insbesondere ihre Kernarchitektur und die definierten Schnittstellen.
Umgebung System befindet sich in der Weiterentwicklung
Reaktion Die Plattform-Architektur stellt klar definierte Erweiterungspunkte beziehungsweise eine offene API bereit.
Das neue Teilsystem kann als eigenständiges Modul oder Service entwickelt und in die Plattform integriert werden, ohne den Code der bestehenden Teilsysteme (z.B. "Monitoring") zu modifizieren.
Bestehende Plattformlogik (z.B. Benutzerverwaltung) wird wiederverwendet bzw. integriert.
Reaktionsmaß Das neue Teilsystem kann ohne Ausfallzeit des Gesamtsystems ("Zero Downtime Deployment") in Betrieb genommen werden.
Der Entwicklungsaufwand für die reine Integration (Anbindung an die zentrale Navigation, Benutzerverwaltung, etc.) beträgt weniger als eine Woche.

Performance:

Szenario: Alarmierungszeit ≤ 90 Sekunden ab Grenzwertüberschreitung

Ein rasches Überschreiten oder Unterschreiten definierter Schwellenwerte der Umgebungsparameter – wie Temperatur, oder Luftfeuchtigkeit – kann potenziell erhebliche Schäden verursachen. Ziel des Alarmierungssystems ist es daher, eine zuständige Entität (z.B. eine Nutzerperson oder ein autonom agierendes IoT-System) innerhalb kürzester Zeit (90 Sekunden nach Detektion) zu informieren, um präventive oder mitigierende Maßnahmen einzuleiten.

Die Benachrichtigung erfolgt dabei dual:

  • Push-Benachrichtigung an Endgeräte zur unmittelbaren menschlichen Wahrnehmung
  • MQTT-Nachricht an ein vordefiniertes Topic zur automatisierten Weiterverarbeitung durch angeschlossene Systeme
Attribut Beschreibung
Szenarioname Schnelles Alarmierungssystem
Quelle Sensorik / Arduino / Software-Plattform (z.B. App)
Stimulus Gemessener Messwert verletzt den festgelegten Toleranzbereich für länger als 30s.
Artefakt Arduino mit Sensorik, die Software inklusive UI, Benachrichtigungssystem \(z\.B\. Email-Client\) und MQTT-Publisher.
Umgebung Das System befindet sich im produktiven Normalbetrieb.
Reaktion Durch kontinuierliche Datenübertragung kann schnell ein abnormaler Zustand detektiert werden. Daraufhin werden betreffende Entitäten alarmiert – Nutzer und ggf. weitere Systeme.
Reaktionsmaß Nach Detektion wird innerhalb von 90 Sekunden sowohl eine Push-Benachrichtigung, als auch eine MQTT-Nachricht versendet.

Sicherheit:

Szenario: Sichere Authentifizierung und Autorisierung

Dieses Szenario stellt sicher, dass nur berechtigte Personen auf die Plattform zugreifen können und dort nur die Aktionen ausführen dürfen, die ihrer Rolle entsprechen.

Attribut Beschreibung
Szenarioname Authentifizierungs-, Autorisierungs- Service
Quelle Ein registrierter Nutzer (z.B. ein Lagerverantwortlicher oder Systemadministrator).
Stimulus Der Nutzer versucht, sich über die Login-Maske der Plattform am System anzumelden, um auf das Dashboard zuzugreifen oder Konfigurationen vorzunehmen.
Artefakt Authentifizierungs-, Autorisierungs-Service der Software-Plattform.
Umgebung Das System befindet sich im produktiven Normalbetrieb.
Reaktion Das System validiert die eingegebenen Anmeldedaten \(z\.B\. Benutzername und Passwort\) gegen die hinterlegte Datenbank. Bei erfolgreicher Authentifizierung gewährt das System dem Nutzer Zugriff entsprechend seiner vordefinierten Rolle \(z\.B\. Lesezugriff für einen Auditor, Vollzugriff für einen Administrator\). Bei fehlerhafter Eingabe wird der Zugriff verweigert und der fehlgeschlagene Versuch sicher protokolliert.
Reaktionsmaß Die Anmeldung eines autorisierten Nutzers erfolgt in weniger als 2 Sekunden.

Verfügbarkeit:

Szenario 1: Fehlertoleranz und automatische Wiederherstellung

Kritische Lagerbedingungen erfordern ein System, das möglichst durchgängig verfügbar ist, um eine lückenlose Echtzeitüberwachung sicherzustellen. Falls das System über einen längeren Zeitraum nicht verfügbar ist, ist der Zustand des Lagerguts unbekannt, und es könnten unbemerkte Schäden entstehen, wenn beispielsweise eine Temperaturschwelle überschritten wird.

Attribut Beschreibung
Szenarioname System-Resilienz
Quelle Ein interner Fehlerzustand
Stimulus Ein unerwarteter Ausfall einer kritischen Komponente, z.B. der Absturz der Server-Anwendung, ein "Einfrieren" des Mikrocontrollers oder ein temporärer Verlust der Netzwerkverbindung.
Artefakt Die gesamte Systeminfrastruktur: Sensor-Einheit (Hardware), Software-Plattform (Backend) und die Kommunikationskanäle.
Umgebung Das System befindet sich im produktiven Normalbetrieb.
Reaktion Das System leitet automatisch Maßnahmen zur Wiederherstellung der vollen Funktionsfähigkeit ein. Diese Maßnahmen umfassen insbesondere:
- Automatisierte Neustarts: Software-Dienste werden durch Prozess-Manager (z.B. systemd) und Mikrocontroller durch Hardware-Watchdog-Timer bei einem Absturz sofort neu gestartet.
- Robuste Wiederverbindungslogik: Das System versucht bei einem Verbindungsabbruch (z.B. zum WLAN oder MQTT-Broker) proaktiv und in regelmäßigen Intervallen, die Verbindung wiederherzustellen.
- Zustandsüberwachung (Health Check): Intern lässt sich der Zustand der Anwendung überprüfen.
Reaktionsmaß Kritische Systemkomponenten stellen ihre Funktionsfähigkeit nach einem behebbaren Ausfall automatisch und ohne manuellen Eingriff wieder her.
Ein Administrator wird über den Vorfall und die erfolgreiche Wiederherstellung informiert.

Szenario 2: 99% Systemverfügbarkeit

Das System ist im produktiven Einsatz. Das folgende Szenario zeigt die im Snzenario 1 beschriebene Maßnahme zur automatischen Wiederherstellung und Fehlertoleranz

Attribut Beschreibung
Szenarioname Systemverfügbarkeit
Quelle Ein interner Fehlerzustand
Stimulus Das System stürzt während des laufenden Betriebs ab, während Umweltdaten erfasst werden.
Artefakt Die Serveranwendungen, die MQTT-Nachrichten verarbeitet und Daten speichert.
Umgebung Das System befindet sich im produktiven Normalbetrieb.
Reaktion Der Absturz wird erkannt. Innerhalb weniger sekunden erfolgen bis zu drei automatischen Neustartversuchen. Gelingt ein Neustart, werden MQTT-Client und Datenbankverbindung reinitialisiert. Die ANzeige im Dashboard wird nach kurzer Unterbrechung automatisch aktualisiert. Bei Erfolg wird der Vorfall protokolliert und optional gemeldet.
Reaktionsmaß Die Anwendung ist innerhalb von 30 Sekunden wieder voll funktionsfähig, ein manuelles Eingreifen ist nicht erforderlich. Die durchgängige Verfügbarkeit bleibt erhalten - die Ausfallzeit liegt unterhalb der zulässigen 1% in einem Zeitraum von 72 Stunden.

Stakeholder

Stakeholder Beschreibung
Lagerverantwortlicher Definiert die Soll-Werte für die Umgebungsbedingungen, überwacht den Systemstatus und ist der primäre Empfänger von Alarmmeldungen. Nutzt die historischen Daten für Prozessoptimierung und Qualitätsaudits.
Systemadministrator Verantwortlich für Installation, Konfiguration und Wartung des Systems (z.B. Hinzufügen neuer Platformnutzerprofile).