Files
raDIYo/README.md
2025-08-05 22:36:00 +02:00

51 lines
2.2 KiB
Markdown

# Aufgabenstellung IoT Native Entwicklung
**Abstract**:
Ein Erzeuger generiert Werte die an einen Verbraucher übertragen werden.
Der Verbraucher zeigt die einzelnen Werte in der Konsole an.
Der Erzeuger kann erst neue Werte an den Verbraucher senden, wenn der Verbraucher den Wert verbraucht (ausgegeben) hat.
**Feature**:
Der Erzeuger überträgt ein variables Objekt an einen Verbraucher der das Objekt auf der Konsole ausgibt
**Scenario**: Das erzeugte, variable Objekt stellt in der ersten Ausprägung einen Sekunden Zeitwert mit aktuellem Zeitstempel in msec dar
**Given** der aktuelle Zeitwert in Sekunden
**When** das Objekt erstellt wird
**Then** Sekunden Wert und ein Zeitstempel in msec wird in das Objekt eingetragen
**Scenario**: Das Objekt wird an den Verbraucher übertragen
**Given** ein erstelltes Objekt
**When** das Objekt übertragen wird
**Then** wird auf den Verbraucher gewartet bis er das Objekt verarbeiten kann
**Scenario**: Das Objekt ist im Verbraucher angekommen
**Given** ein übertragenes Objekt
**When** das Objekt ausgegeben ist
**Then** wird der Erzeuger informiert ein neues Objekt zu erzeugen
**Scenario**: Das Objekt wird im Verbraucher ausgegeben
**Given** eine übertragenes Objekt
**When** das Objekt ausgegeben wird
**Then** der Wert in Sekunden wird numerisch, der Zeitstempel in lesbarer vollständiger Form, ausgegeben
**Scenario**: Das Objekt wird vom Erzeuger übertragen
**Given** ein erstelltes Objekt
**When** das Objekt übertragen wird
**Then** der Erzeuger wartet bis der Verbraucher eine Erzeugung angefordert hat
**Scenario**: Das Objekt wird übertragen
**Given** ein erstelltes Objekt
**When** das Objekt übertragen wird
**Then** das Objekt wird serialisiert über einen Socket übertragen
## Development Guidelines
- Die Verwendung von C++ Standards, C11 und neuer
- Die Implementierung soll eine Linux und Windows Plattform abdecken
- Das Build System für die gesamte Anwendung ist CMake
- Die gesamte Anwendung verfügt über Unit Tests die mit google test zu erstellen sind
- Die Versionsverwaltung git ist zu verwenden
- Eine Dokumentation des Anwendungsentwurfs ist verfügbar
- Die Übertragung kann von Sockets auf andere Mechanismen (Shared File) umgestellt werden. Der Impact auf die Anwendung soll begrenzt sein.