Requirements.md
Markdown herunterladenAnforderungsdokument
Einleitung
Die Survey-Management-Funktion ermöglicht Survey-Administrator:innen das Erstellen, Konfigurieren und Verwalten von Online-Umfragen über eine RESTful API. Die Funktion stellt die grundlegenden Fähigkeiten für Umfrageerstellung, Fragenverwaltung und den Lebenszyklus einer Umfrage bereit. Das System folgt einer zustandslosen Microservice-Architektur, in der Administrator:innen Umfragen mit Metadaten anlegen, unterschiedliche Fragetypen mit Antwortoptionen hinzufügen, vollständige Umfragestrukturen abrufen und bei Bedarf Umfragen oder einzelne Fragen löschen können.
Glossar
- Survey_System: Die Online-Survey-Backend-Anwendung, die Umfragevorgänge verwaltet
- Administrator: Eine Person mit Berechtigungen zum Erstellen, Ändern und Löschen von Umfragen
- Survey: Eine Sammlung von Fragen mit Metadaten, um Antworten von Teilnehmenden zu sammeln
- Question: Eine einzelne Frage innerhalb einer Umfrage, die eine Antwort erfordert
- Answer_Option: Eine vordefinierte Auswahlmöglichkeit für Rating- und Choice-Fragen
- Question_Type: Das Format einer Frage (Rating, Single Choice, Multiple Choice oder Open Text)
- Internal_Value: Eine alphanumerische Kennung für Analysezwecke
Anforderungen
Anforderung 1
User Story: Als Survey-Administrator:in möchte ich neue Umfragen mit vollständigen Metadaten anlegen, damit ich die Grundlage für das Sammeln von Antworten schaffe.
Akzeptanzkriterien
- WHEN eine Administratorin oder ein Administrator eine Umfrage mit Titel und Ersteller:in (optional Beschreibung, Start- und Enddatum) anlegt, THEN THE Survey_System SHALL eine neue Umfrage mit einer generierten eindeutigen Kennung anlegen und alle angegebenen Metadaten speichern
- WHEN optionale Felder (Beschreibung oder Datumsangaben) weggelassen werden, THEN THE Survey_System SHALL die Umfrage mit diesen leeren Feldern erstellen
- WHEN ein leerer oder nur aus Leerzeichen bestehender Titel eingereicht wird, THEN THE Survey_System SHALL die Erstellung mit einem Validierungsfehler ablehnen, der das Titelfeld benennt
- WHEN ein Enddatum vor dem Startdatum eingereicht wird, THEN THE Survey_System SHALL die Erstellung mit einem Validierungsfehler zum Datumsbereich ablehnen
- WHEN eine Umfrage erfolgreich erstellt wird, THEN THE Survey_System SHALL die eindeutige Umfragekennung im API-Response für nachfolgende Vorgänge zurückgeben
Anforderung 2
User Story: Als Survey-Administrator:in möchte ich Fragen mit Antwortoptionen zu bestehenden Umfragen hinzufügen, damit ich umfassende Fragebögen für die Datenerhebung erstellen kann.
Akzeptanzkriterien
- WHEN eine Administratorin oder ein Administrator eine Frage zu einer bestehenden Umfrage hinzufügt, THEN THE Survey_System SHALL die Frage mit der angegebenen Reihenfolge, dem Fragentext, dem Fragetyp und dem Pflicht-Flag anlegen
- WHEN der Fragetyp Rating, Single Choice oder Multiple Choice ist und Antwortoptionen übergeben werden, THEN THE Survey_System SHALL jede Antwortoption mit Anzeigetext und Internal_Value der Frage zuordnen und speichern
- WHEN eine Frage mit einer doppelten Reihenfolgenummer innerhalb derselben Umfrage hinzugefügt werden soll, THEN THE Survey_System SHALL die Anfrage mit einem Validierungsfehler zur Reihenfolge ablehnen
- WHEN für Rating-, Single-Choice- oder Multiple-Choice-Fragen weniger als zwei Antwortoptionen übergeben werden, THEN THE Survey_System SHALL die Anfrage mit einem Validierungsfehler zu den Antwortoptionen ablehnen
- WHEN innerhalb einer Frage doppelte Internal_Values für Antwortoptionen eingereicht werden, THEN THE Survey_System SHALL die Anfrage mit einem Validierungsfehler zu den kollidierenden Internal_Values ablehnen
- WHEN der Fragetyp Open Text ist, THEN THE Survey_System SHALL die Frage akzeptieren, ohne dass Antwortoptionen erforderlich sind