| ... | ... | @@ -7,8 +7,6 @@ Des Weiteren ist an jedem Gewächshaus ein QR-Code angebracht, über den man auf |
|
|
|
|
|
|
|
# 2. Use Cases
|
|
|
|
|
|
|
|
> Dieser Abschnitt gibt einen Überblick über die Akteuer und deren Anforderungen an das System. Hierzu soll ein Use Case Diagramm erstellt werden und mit entsprechenden textuellen Beschreibungen der Use Cases (Vorbedingung, Basisablauf, Alternativen, involvierte Klassen, vgl. **TODO** Vorlesungsunterlagen) ergänzt werden. Orientieren Sie sich für diesen Abschnitt an den **TODO: check** Vorlesungsfolien und dem in der Vorlesung besprochnenen Beispiel (Terminverwaltung) **TODO: check end**
|
|
|
|
|
|
|
|
# 3. Klassendiagramm
|
|
|
|
|
|
|
|
>
|
| ... | ... | @@ -18,62 +16,123 @@ Userx ist die Basisklasse für alle vier möglichen Nutzer, diese werden über e |
|
|
|
|
|
|
|
# 4. SW-Architektur
|
|
|
|
|
|
|
|
> Dieser Abschnitt soll die Bausteinsicht (Komponenten des Systems), Laufzeitsicht (Abläufe und Beziehungen zwischen den Komponenten) und Verteilungssicht (vlg. Beschreibung der technischen Infrastruktur des Systems und deren Beziehung zu den Komponenten) basierend auf dem arc42[¹] Template dokumentieren.
|
|
|
|
Zu Beginn des Projektes ist es ausreichend, ein entsprechendes Komponentendiagramm des Systems anzufertigen. Ergänzen Sie in der Endversion am Ende des Projektes Diagramme für die Laufzeitsicht und Verteilungssicht des Systems.
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
[¹]: https://arc42.org (Zugriff: 17.02.2023)
|
|
|
|
**Ablauf Datenübertragung zwischen den Systemen:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
**Ablauf Einrichtung der Systeme:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
# 5. Ausfallsicherheit
|
|
|
|
|
|
|
|
# 6. GUI Prototyp
|
|
|
|
**T1: Eingeschränkte Kommunikation zwischen Arduino Sensorstationen und Minirechner**
|
|
|
|
- Daten, die von dem Arduino kommen, werden nicht in die Datenbank aufgenommen, da sie u.U. verfälscht sind
|
|
|
|
- Warten, bis Verbindung besser wird
|
|
|
|
|
|
|
|
**T2: Unerwarteter Neustart eines Minirechners (Raspberry)**
|
|
|
|
- muss gewährleistet sein, dass alle Sensorstationen, die vor dem Neustart verbunden waren, wieder eine Verbindung aufgebaut wird
|
|
|
|
- Skripte zur automatischen Wiederherstellung der Verbindung
|
|
|
|
- Daten, die in dieser Zeit zum Raspberry gesendet wurden, sind verloren
|
|
|
|
|
|
|
|
> Dieser Abschnitt soll die Kernfunktionalitäten des Webapps ahand eines GUI Prototyps darstellen. Erstellen Sie dazu einfache GUI Mockups und beschreiben Sie diesen. Analog gezeichnete Sketches sind ausdrücklich erlaubt, achten Sie auf Lesbarkeit und eine angemessene Qualität der eingebundenen Scans.
|
|
|
|
**T3: Temporärer Ausfall der Kommunikationswege zwischen Minirechnern und zentralem Backend**
|
|
|
|
- Daten (bis zu einem Gewissen Punkt) buffern bis Verbindung wiederhergestellt wurde
|
|
|
|
- automatische Wiederherstellung der Verbindung
|
|
|
|
|
|
|
|
Login-Page für alle Rollen:
|
|
|
|
**T4: Kurzfristiger Ausfall des zentralen Backends.**
|
|
|
|
- Benachrichtigung alle Benutzer über den den Ausfall
|
|
|
|
|
|
|
|
**T5: Ausfall der Sensorstation**
|
|
|
|
- Verbindung zum AccessPoint ist eingeschränkt, aber Stromversorgung ist vorhanden:
|
|
|
|
optisches und akustisches Signal (blinken)
|
|
|
|
- kompletter Ausfall des Strom:
|
|
|
|
AccessPoint sendet Nachricht an den Webserver, ein Admin sieht diese Fehlermeldung und muss dann die Sensorstation warten und gegebenenfalls neu einrichten.
|
|
|
|
|
|
|
|
|
|
|
|
# 6. GUI Prototyp
|
|
|
|
|
|
|
|
**Login-Page für alle Rollen:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Admins auf die Sensorstationen bzw. Sicht des Gärtners auf die ihm zugeteilten Stationen:
|
|
|
|
**Sicht des Admins auf die Sensorstationen bzw. Sicht des Gärtners auf die ihm zugeteilten Stationen:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Admins auf die User-Daten und mögliche Verwaltung:
|
|
|
|
**Sicht des Admins auf die User-Daten und mögliche Verwaltung:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Admins auf die Access Points und deren Verwaltung:
|
|
|
|
**Sicht des Admins auf die Access Points und deren Verwaltung:**
|
|
|
|
|
|
|
|

|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Gärtners auf die Messwerte und der Daten der Pflanzen:
|
|
|
|
**Sicht des Gärtners auf die Messwerte und der Daten der Pflanzen:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Gärtners auf die Bildergalerien seiner Pflanzen:
|
|
|
|
**Sicht des Gärtners auf die Bildergalerien seiner Pflanzen:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Nutzers auf sein Dashboard:
|
|
|
|
**Sicht des Nutzers auf sein Dashboard:**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
Sicht des Besuchers (über den QR-Code):
|
|
|
|
**Sicht des Besuchers (über den QR-Code):**
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
# 7. Projektplan
|
|
|
|
|
|
|
|
> Dieser Abschnitt soll die Aufteilung der Verantwortlichkeiten im Projektteam beschreiben und einen groben Zeitplan mit Meilensteinen beinhalten. Dieser Zeitplan soll folgende Fragestellungen beantworten:
|
|
|
|
> - In welchen Inkrementen wird das System implementiert (wann sind diese Inkremente fertig und welche Funktionalität ist in ihnen umgesetzt?) Bitte beachten Sie, dass ein Inkrement ein qualitätsgesichertes, lauffähiges Stück Software darstellt.
|
|
|
|
> - Welche anderen Aufgaben werden bis wann erledigt?
|
|
|
|
## 7.1 Verantwortlichkeiten
|
|
|
|
|
|
|
|
**Marco Cotrotzo: **
|
|
|
|
- REST API mit Spring Framework,
|
|
|
|
- Testdrehbücher und Abnahmetests,
|
|
|
|
- Java Webapp
|
|
|
|
|
|
|
|
**Benedikt Glaser:**
|
|
|
|
- Arduino
|
|
|
|
- Python, REST und Co @ Raspberry Pi
|
|
|
|
- Kontaktperson
|
|
|
|
|
|
|
|
**Medin Jasharoski:**
|
|
|
|
- REST API mit Spring Framework,
|
|
|
|
- Testdrehbücher und Abnahmetests,
|
|
|
|
- Java Webapp
|
|
|
|
|
|
|
|
**Andreas Kirchmair:**
|
|
|
|
- Github
|
|
|
|
- Arduino
|
|
|
|
- Bluetooth
|
|
|
|
|
|
|
|
**Jona Müller:**
|
|
|
|
- Python, REST und Co @ Raspberry Pi
|
|
|
|
- Bluetooth
|
|
|
|
- Java Webapp
|
|
|
|
|
|
|
|
## 7.2 Milestones
|
|
|
|
|
|
|
|
- 16. 3 Einrichtung Git
|
|
|
|
- 16.3 Konzept fertig
|
|
|
|
- 23.3 Implementierung fachliche Komponenten (Models) zwischen Raspberry & Webserver
|
|
|
|
- 23.3 Steckplan fertig
|
|
|
|
- 30.3 REST-Schnittstellen
|
|
|
|
- 6.4 Bluetooth Verbindung zw. Arduino & Raspberry
|
|
|
|
- 20.4 Hardwareaufbau fertig
|
|
|
|
- 10.5 Lauffähiges Projekt
|
|
|
|
- 18.5 Bugfixes & Implementation
|
|
|
|
- 19.5 Lauffähiges Projekt + Präsentation
|
|
|
|
- 24. 5 Bugfixes & Implementation
|
|
|
|
- 25.5 Abnahmetests
|
|
|
|
- 20.6 Bugfixes & Dokumentierung (ARC 42)
|
|
|
|
- 22.6 finale Abgabe + Präsentation
|
|
|
|
|
|
|
|
```
|
|
|
|
|