Anforderungen

1 Einleitung
In diesem Projekt geht es für mich darum, einmal alle Schritte der Softwareentwicklung zum Einsatz zu bringen. Von den Anforderungen bis zum laufenden Prototypen. Es ist eine Messtechnik.

2 Ausgangssituation und Zielsetzung
Ausgehend von einer Messtechnik soll das Projekt ein besseres Verständnis vom „Internet der Dinge“ und vom Software Engineering vermitteln.

3 Funktionale Anforderungen
3.1 Diese Messtechnik soll:
– die relative Luftfeuchtigkeit messen
– die Temperatur messen
– die relative Luftfeuchtigkeit anzeigen
– die Temperatur anzeigen
– das aktuelle Datum anzeigen
– die aktuelle Zeit anzeigen
– Datum und Zeit sollen manuell einstellbar sein

3.2 Anzeige auf dem Display
Für die Anzeige wird ein zweizeiliges LCD Display mit 16 ASCII Zeichen je Zeile verwendet.
Die Anzeige hat zusätzlich 6 Tasten für folgende Aufgaben:
– Reset
– Cursor links
– Cursor rechts
– Cursor nach oben
– Cursor nach unten
– Auswahl

3.3 Einstellen von Datum und Zeit
Diese Tasten werden dazu eingesetzt, um Datum und Zeit der eingebauten Uhr stellen zu können.
– Reset löst einen Reset aus
– Cursor links, bewegt den Cursor um eine Stelle nach links
– Cursor rechts, bewegt den Cursor um eine Stelle nach rechts
– Cursor nach oben, bei einer gültigen Stelle von Datum oder Zeit, erhöhen um eins
– Cursor nach unten, bei einer gültigen Stelle von Datum oder Zeit, verringern um eins
– Auswahl setzt Datum und Zeit im RTC auf die neu eingestellten Werte

3.4 Formate für die Anzeige:
Luftfeuchtigkeit in Prozent: xx%
Temperatur in Grad Celsius: xx`C
Datum: TT.MM.JJ
Uhrzeit: SS:MM

3.5 Ausgabemaske auf dem LCD DIsplay:
TT.MM.JJ SS:MM
xx% xx`C

3.6 Einsatzort dieses Messsystems:
nur innerhalb von Wohnräumen

3.7 Ausbaustufe für das Internet der Dinge
Es kommt ein Ethernetshield dazu.
Die Uhrzeit wird von einem Zeitserver abgeholt und der lokale RTC damit eingestellt.
Messwerte und Zeit werden per MQTT Protokoll auf einem MQTT Server abgelegt.
Zusätzlich wird eine Webseite zur Verfügung gestellt, auf der die Messwerte ebenfalls dargestellt werden.

4 Nicht-funktionale Anforderungen
Das spezifizierte System hat dem aktuellen Stand der Technik zu entsprechen.

4.1 Qualitätsanforderungen
Zuverlässigkeit und Schutz
– Das System muss jederzeit zuverlässig reagieren. Es darf nicht zu Systemabstürzen oder Datenverlust kommen. Bei einem Ausfall ist sicherszustellen, das die letzten Messwerte noch verfügbar sind und angezeigt werden bis zur nächsten Aktualisierung.

4.2 Systemerstellungsanforderungen
– Die vorhandenen Programmierrichtlinien sind einzuhalten.

4.3 Technische Anforderungen
– Eine Client / Server Architektur ist konzeptionell vorzusehen.
– Die Implementierungssprache ist C.
– Das Zielsystem der Clientanwendung ist ein embedded System (Mikrocontroller). Als Zielsystem für den Server ist Windows vorgesehen. Das verwendete Protokoll ist MQTT.
– Das System soll komponentenbasiert entwickelt werden, damit die Systeme einfacher wartbar und erweiterbar bleiben.

4.4 Anforderungen an die Logistik
– Das System muss einschließlich seiner Software- Umgebung in geeigneter Weise dokumentiert sein. Nachfolgende Bearbeiter, die nicht an der Entwicklung beteiligt waren, sollen das System auf Grundlage dieser Dokumentation einfach ausbauen und und warten können.
– Die Dokumentation soll den Fachmann in die Lage versetzen, die Struktur des Systems, den Ablauf der Datenverarbeitung, die Funktionen der einzelnen Einheiten und die Bedeutung von Daten zu verstehen.
– Die Beschreibung der Bedienoberfläche muss eine Bedienungsanleitung und eine Beschreibung von Menüs und Dialogen enthalten.

4.5 Anforderungen an die Abnahme
4.5.1 Abnahmetests
Bei den Abnahmetests sind die zur Verfügung stehende Dokumentation und das Verhalten bei Ausfällen zu prüfen. Die Tests sind so zu gestalten, dass diese wiederholbar durchgeführt werden können.

Literaturhinweise und Links

„Ockhams Rasiermesser“
https://de.wikipedia.org/wiki/Ockhams_Rasiermesser

Rene´ Descartes
– Betrachtungen zu den Grundlagen der Philosophie

V Modell XT
http://www.cio.bund.de/Web/DE/Architekturen-und-Standards/V-Modell-XT/vmodell_xt_node.html

Veröffentlicht von

Jürgen

Ich bin Software Ingenieur und habe meine Schwerpunkte in allen Aktivitäten, die zur Software Entwicklung gehören. Am längsten bin ich als Software Entwickler von Embedded Software in C tätig.