Anforderung - larahosseini/EISSoSo20KabakciHosseini GitHub Wiki
Zielsetzung
Das allgemeine Ziel liegt darin eine Platform zu schaffen welche den Menschen in der derzeitigen Covid-19 Pandemie ermöglicht Hilfe von anderen Usern bei der Bewältigung von alltäglichen Aufgaben zu erhalten. Das wesentliche Geschäftsziel liegt darin die Platform kostenlos anzubieten. Die Erwirtschaftung von Gewinnen ist dabei nebensächlich. Zusätzlich soll das System durch eine klare Benutzerführung sowie 24/7 Verfügbarkeit für alle Benutzergruppen bedienbar sein. Außerdem wird der sichere Umgang mit den vom Nutzer eingebrachten Daten erwartet.
Beschreibung
Über die Anwendung soll dem bereits registrierten und verifizierten User die Möglichkeit geschaffen werden konkrete Anfragen wie bspw. das erledigen von Einkäufen über eine Art Forum zu teilen. Diese Anfragen können wiederum von registrierten und verifizieren Usern angenommen und erledigt werden.
Primäre Benutzer
Die primären Benutzer des Systems sind die Covid-19 Risikogruppen. Zusätzlich fungieren die helfenden User als primäre Benutzer.
Eigenschaften des Systems
Bei dieser Anwendung handelt es sich um ein offenes System, da die Zustandsgrößen (Blog-Beiträge) durch den User mit der Systemumgebung in Wechselwirkung stehen.
Durch die wachsenden Nutzerzahlen handelt es sich durch eine dynamisches System.
Die Eingliederung in ein stetiges/kontinuierliches System gestaltet sich schwierig, das die Userzahlen und Blog-Beiträge durch aus stetig aber auch sprunghaft durch Werbung etc. ansteigen können.
Das System verhält sich stochastisch, da die Nutzung des Systems bei jeder Epidemie oder Krise nur durch Wahrscheinlichkeiten bestimmbar ist.
Im allgemeinen wird das System als stabil betrachtet, da kleine bzw. normale Änderungen an dem System bzw. der Parameter zu keinen kritischen Auswirkungen führt.
Grenzen und Rahmenbedingungen
Die Wesentlichen Rahmenbedingungen liegen in der Erfüllung der geltenden deutschen und europäischen Gesetze, insbesondere der Datenschutzgrundverordnung. Außerdem sind die Funktionen nur so lange nutzbar, wie keine erweiterten Maßnahmen wie Ausgangsbeschränkungen oder Kontaktverbote erfolgen. Durch die Bewerbung der Anwendung muss sichergestellt werden, dass die Nutzerzahlen entsprechend hoch sind. Eine generelle Bereitschaft der helfenden User zur Unterstützung der Risikogruppen im Maßgeblich für den Erfolg der Anwendung.
Funktionale Anforderungen
- Jeder User registriert sich mit Hilfe von E-Mail-Adresse und Passwort sowie persönlichen Daten.
- Jeder User Verifiziert sein Konto mittels Link in E-Mail.
- Der anfragende User postet über Post einen Blog-Eintrag mit Betreff, Datum, Ort, Beschreibung und Termin der Aufgabe.
- Innerhalb des Forums wird nicht die konkrete Adresse angezeigt sondern ein Umkreis von einem Kilometer.
- Der helfende User ermittelt anhand seines Standorts die offenen Anfragen.
- Der helfende User wählt gewünschte Anforderung und Ziel-Termin aus.
- Der anfragende User erhält Benachrichtigung über Annahme und Bearbeitung der Anforderung mit Zieltermin. Und teilt die genaue Adresse mit dem helfenden User.
- Nach Erledigung des Termins markiert der anfordernde User den Eintrag als erledigt.
- Der als erledigt markierte Blog-Eintrag wird archiviert und im Forum ausgeblendet.
Nichtfunktionale Anforderungen
- Die Speicherung und Weitergabe der Daten ist DSGVO-konform
- Die Anwendung client ist mit JAVA-FX entwickelt und wird über server NodeJS betrieben.
- Die Benutzerführung ist Deutsch.
- Das System gibt die gespeicherten Objekte wie Datum in den gängigen deutschen Formaten aus.
- Das System führt die Anfrage des Benutzers innerhalb von 5 Sekunden aus, auch bei einer Last von 200 gleichzeitigen Zugriffen.
- Die Systemverfügbarkeit liegt abgesehen von Wartungs- und Releasezeiten bei 99,99%.
- Ein Neustart der Anwendung ist innerhalb von 30 Sekunden durchführbar.
- Bei Änderungen der Versionen sind Roolback-Szenarien definiert. Insbesondere ein kurzfristiges Deployment einer vorangegangen Version.
- Der Test der Anwendung ist über automatisierte Unit-Tests abgedeckt. Die Testabdeckung liegt bei mind. 90%.
- Die Eingaben des Users werden auf Format und Plausibilität validiert.
- Die Eingabe von nicht plausiblen Daten über den User führt nicht zu Abbrüchen der Anwendung, sondern zur Ausgabe eines Hinweistextes.