51 lines
2.2 KiB
Markdown
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.
|
|
|