12. Glossar

Dieses Glossar definiert Begriffe und Abkürzungen, die in diesem Software Architecture Document verwendet werden. Es dient dazu, ein gemeinsames Verständnis sicherzustellen und die Kommunikation über die Architektur zu erleichtern.

BegriffBeschreibungKommentar
Action LayerEine View-Komponente in der grafischen Benutzeroberfläche (GUI), die für die Darstellung von Image-Sequenz-basierten Animationen zuständig ist, typischerweise als Reaktion auf eine Benutzeraktion.Teil der View-Schicht, siehe Kapitel 5.
AlgeEin pflanzenähnlicher Organismus, der in Gewässern lebt und Sauerstoff produziert. Es gibt gute und schlechte Algenarten, die sich unterschiedlich auf die Umwelt auswirken können.Kernkonzept des Spiels.
Algen-Level (Algae Level)Ein numerischer Wert, der den aktuellen Gesundheitszustand oder die Menge der Algen im simulierten Ökosystem repräsentiert (typischerweise in Prozent).Wird vom Environment-Modell verwaltet, siehe Kapitel 8.7.
Algae LayerEine View-Komponente in der GUI, die für die Darstellung der Algen-Visualisierung zuständig ist und deren Aussehen sich basierend auf dem Algen-Level ändert.Teil der View-Schicht, siehe Kapitel 5.
AlltagsobjektPhysische, 3D-gedruckte Objekte mit integrierten NFC-Chips, die von Benutzern in den Eingabetrichter gelegt werden, um mit dem Exponat zu interagieren.Dienen als physische Eingabe.
ArduinoEine Open-Source-Hardware-Plattform, die hier spezifisch für die Steuerung der Schrittmotoren verwendet wird.Hardware-Komponente, siehe Kapitel 7.
ArchitekturentscheidungEine bedeutende Entscheidung bezüglich des Designs oder der Struktur des Softwaresystems, die weitreichende Konsequenzen hat und begründet dokumentiert wird.Siehe Kapitel 9.
Auflösung (1920x1080)Die native Bildschirmauflösung, auf der die grafische Benutzeroberfläche (GUI) des Exponats dargestellt wird.Technische Rahmenbedingung für die GUI-Entwicklung.
AutostartDie Funktionalität, dass die Algae Care Applikation automatisch startet, sobald das Exponat mit Strom versorgt wird.Anforderung an den Betrieb.
AxolotlEine animierte Figur in der GUI, die als Begleiter dient und visuelles Feedback zum Zustand des Algen-Levels gibt.Repräsentiert durch den Axolotl Layer.
Bildrate (24 FPS)Die Anzahl der Bilder pro Sekunde (Frames per Second), mit der Image-Sequenz-basierte Animationen abgespielt werden.Relevant für die Darstellung von Animationen.
Bildsequenz (Image Sequence)Eine Abfolge von Einzelbildern, die nacheinander schnell angezeigt werden, um eine Animation zu erzeugen.Wird für bestimmte Animationen verwendet, siehe Kapitel 8.8.
ControllerEine Komponente im MVC-Muster, die Eingaben verarbeitet, das Modell aktualisiert und die View beeinflusst, um auf Benutzerinteraktionen oder Systemereignisse zu reagieren.Siehe Kapitel 5 und 8.5/8.6.
CSVComma-Separated Values (engl.) - Ein einfaches Dateiformat zur Speicherung tabellarischer Daten, das hier für Konfigurations- und Textdateien verwendet wird.Siehe Kapitel 8.3.
DARF / MUSS NICHTEine optionale Anforderung. Ein System kann die Anforderung implementieren, wenn der Anbieter dies beschließt. Die Beteiligten nutzen die Anforderung, wenn das System sie erfüllt.In Beschreibung von detaillierten Requirements mit “Soll”-Template (auf Gitlab).
“1d” (Einheit auf Gitlab)Bei den Arbeitspaketen in den ETC der Issues: “1d” ist ein Arbeitstag und zwar definiert als 8h. In Gitlab wird automatisch von 8h in 1d konvertiert.
ETC (Abkürzung)Estimated Time of Completion (engl.) - Voraussichtliche FertigstellungszeitFür Arbeitspakete und Tasks.
EingabetrichterEin physischer Trichter am Exponat, in welchen die Alltagsobjekte eingeworfen und ausgelesen werden können. Der Trichter führt durch eine Öffnung in das Gehäuse.Teil der physischen Interaktionshardware.
EnvironmentDas Modell im MVC-Muster, das den Zustand des simulierten Ökosystems (insbesondere den Algen-Level) repräsentiert und die Logik für dessen Aktualisierung enthält.Siehe Kapitel 5 und 8.7.
Falltür (Trap Door)Ein mechanischer Mechanismus, der durch einen Schrittmotor gesteuert wird, um Objekte nach dem Einwurf in das Gehäuse fallen zu lassen.Physische Komponente.
GameStateEin Zustand, in dem sich die Applikation oder das Spiel befinden kann (z.B. Titelbildschirm, Gameplay, Endbildschirm). Game States steuern das Verhalten der Komponenten.Zentrales Konzept des Zustandsmanagements, siehe Kapitel 8.7.
GameStateManagerEine zentrale Komponente, die für die Verwaltung des aktuellen Game State zuständig ist und Zustandsänderungen an interessierte Komponenten verteilt.Zentrales Konzept des Zustandsmanagements, siehe Kapitel 8.7.
Gitlab Issue Weight: 1 - 3Wie wichtig die Requirements sind, von 1: Nicht wichtig, bis 3: Hohe PrioritätIn Gitlab Issues.
GPIOGeneral Purpose Input/Output (engl.) - Programmierbare digitale Ein- und Ausgänge auf Hardware wie dem Raspberry Pi, die hier zur Ansteuerung der LEDs verwendet werden.Siehe Kapitel 7.
InteraktionDie Handlungen, die ein Benutzer mit dem Exponat ausführt, wie das Platzieren von Objekten oder das Beobachten von Rückmeldungen.Benutzerinteraktion mit dem System.
Item LayerEine View-Komponente in der GUI, die für die Darstellung von Animationen zuständig ist, wenn ein Objekt in den Eingabetrichter gelegt wurde, um den Einwurf visuell darzustellen.Teil der View-Schicht, siehe Kapitel 5.
JavaFXEin Software-Framework für die Entwicklung von Desktop-Anwendungen mit grafischen Benutzeroberflächen (GUI), das hier verwendet wird.Siehe Kapitel 9.1.
Layer (View)Ein Konzept innerhalb der View-Schicht, bei dem verschiedene visuelle Elemente oder Gruppen von Elementen auf unterschiedlichen “Ebenen” übereinander dargestellt werden, um die gesamte Szene zu bilden.Siehe Kapitel 5.
Low LatencyDie Anforderung an eine geringe Verzögerung zwischen einer Benutzeraktion (z.B. Objekteinwurf) und der entsprechenden Systemreaktion.Qualitätsziel, siehe Kapitel 10.
MonitoringDer Prozess der Überwachung des Systemzustands oder der Leistung, typischerweise durch die Analyse von Protokolldateien oder Metriken.Siehe Kapitel 8.1.
MUSS / DARF NICHTEine absolute Anforderung, über die nicht verhandelt werden kann. Ein System, das diese Anforderung nicht erfüllt, wird disqualifiziert.In Beschreibung von detaillierten Requirements mit “Soll”-Template (auf Gitlab).
MVCModel-View-Controller - Ein Architektural Pattern, das die Applikation in drei verbundene Teile aufteilt, um die interne Repräsentation von Informationen (Model) von der Art und Weise, wie diese Informationen präsentiert werden (View), sowie der Logik zur Verarbeitung von Eingaben (Controller) zu trennen.Das System folgt lose diesem Muster, siehe Kapitel 5.
NachhaltigkeitEin Konzept, das darauf abzielt, Ressourcen so zu nutzen, dass zukünftige Generationen sie ebenfalls nutzen können.Kontextbezogener Begriff im Spiel.
NFCNear Field Communication (engl.) - Eine Technologie zur kontaktlosen Datenübertragung über kurze Distanzen, die hier zum Auslesen der Alltagsobjekte verwendet wird.Siehe Kapitel 7.2.
NFC Reader (ACR122U)Das spezifische Hardware-Gerät, das NFC-Chips in den Alltagsobjekten ausliest.Siehe Kapitel 7.2.
Pi4JEine Java-Bibliothek, die den Zugriff auf die GPIO-Pins und andere Hardware-Schnittstellen des Raspberry Pi ermöglicht.Siehe Kapitel 7.2.
PCSCPersonal Computer/Smart Card (engl.) - Ein Framework für den Zugriff auf Chipkarten und Lesegeräte, das von Pi4J für die Kommunikation mit dem NFC Reader verwendet wird.Siehe Kapitel 7.4.
RERequirements Engineering (engl.) - Der Prozess der Erhebung, Analyse, Spezifikation und Validierung von Anforderungen an ein System.
Raspberry PiEin kleiner Einplatinencomputer, der als Zielhardware für die Ausführung der Algae Care Applikation dient.Siehe Kapitel 7.2.
Sichtbare RückmeldungVeränderungen auf dem Bildschirm, die zeigen, welche Wirkung eine Handlung auf die Algen hat.Visuelles Feedback in der GUI.
Schrittmotor (Step Motor)Ein Elektromotor, der präzise schrittweise Bewegungen ausführen kann und hier zur Steuerung der physischen Mechanismen (z.B. Falltür, Anzeigen) verwendet wird.Hardware-Komponente, siehe Kapitel 7.2.
SOLL / SOLL NICHTEine empfohlene Anforderung, über die verhandelt werden kann. Je mehr empfohlene Anforderungen umgesetzt werden, desto besser.In Beschreibung von detaillierten Requirements mit “Soll”-Template (auf Gitlab).
Static LayerEine View-Komponente in der GUI, die statische Hintergrundbilder oder nicht-animierte grafische Elemente darstellt.Teil der View-Schicht, siehe Kapitel 5.
Technische SchuldenKonsequenzen von kurzfristigen technischen Entscheidungen, die zukünftige Entwicklungs- oder Wartungsarbeiten erschweren können.Siehe Kapitel 11.
Text LayerEine View-Komponente in der GUI, die für die Darstellung von Textinhalten zuständig ist, welche aus externen CSV-Dateien geladen werden.Teil der View-Schicht, siehe Kapitel 5 und 8.4.
TRICK17Eine GUI-Bibliothek, die anfänglich für das Projekt evaluiert, aber später durch JavaFX ersetzt wurde.Siehe Kapitel 9.1.
UXUser Experience (engl.) - Das gesamte Erlebnis einer Person bei der Nutzung eines Produkts, Systems oder einer Dienstleistung.
ViewDie Darstellungsschicht im MVC-Muster, die für die Präsentation der Daten aus dem Modell zuständig ist (in diesem Fall die grafische Benutzeroberfläche).Siehe Kapitel 5.
ZuverlässigkeitDie Fähigkeit eines Systems, seine geforderten Funktionen unter bestimmten Bedingungen über einen bestimmten Zeitraum zu erfüllen.Qualitätsziel, siehe Kapitel 10.
ZustandsmanagementDer Prozess der Verwaltung und Koordination der verschiedenen Zustände, in denen sich ein System befinden kann (hier durch Game States repräsentiert).Siehe Kapitel 8.7.
WartbarkeitDie Leichtigkeit, mit der ein Softwaresystem oder eine Komponente modifiziert, verstanden und repariert werden kann.Qualitätsziel, siehe Kapitel 10.