diff --git a/requirements/functional-requirements.md b/requirements/functional-requirements.md index e133010..1a35aa2 100644 --- a/requirements/functional-requirements.md +++ b/requirements/functional-requirements.md @@ -1,11 +1,75 @@ # Functional Requirements -TODO Requirements Engineer - Task 5 -## R001 - -**Description:** < TODO > +## R001 - Benutzerkonto erstellen -**Priority:** +**Description:** Ein Benutzer soll sich mit einem eindeutigen Benutzernamen registrieren können. -**Acceptance Criteria:** < TODO > \ No newline at end of file +**Priority:** Mittel + +**Acceptance Criteria:** Die Registrierung funktioniert nur, wenn der Benutzername noch nicht vergeben ist. + +## R002 - Anmeldung + +**Description:** Benutzer sollen sich mit ihrem Benutzernamen und Passwort anmelden können. + +**Priority:** Mittel + +**Acceptance Criteria:** Nur gültige Benutzerdaten erlauben eine Anmeldung. Bei falschen Daten erscheint eine Fehlermeldung. + +## R003 - Nachricht senden + +**Description:** Benutzer können Nachrichten an andere Benutzer oder Channels senden. + +**Priority:** Hoch + +**Acceptance Criteria:** Nachricht erscheint im Chatfenster des Empfängers oder im Channel. + +## R004 - Nachrichten empfangen + +**Description:** Nachrichten werden empfangen, auch wenn der Empfänger zum Zeitpunkt des Sendens offline war. + +**Priority:** Hoch + +**Acceptance Criteria:** Benutzer erhalten eingehende Nachrichten automatisch oder beim nächsten Login. + +## R005 - Channel erstellen + +**Description:** Benutzer können neue Channels (Gruppenräume) anlegen. + +**Priority:** Mittel + +**Acceptance Criteria:** Channel wird in der Übersicht angezeigt und kann von anderen beigetreten werden. + +## R006 - Channel beitreten / verlassen + +**Description:** Benutzer können bestehenden Channels beitreten oder sie verlassen. + +**Priority:** Mittel + +**Acceptance Criteria:** Benutzer kann einem Channel über einen Befehl oder Menüeintrag beitreten oder ihn verlassen. + +## R007 - Fehlermeldungen + +**Description:** Das System zeigt eine Fehlermeldung an, wenn ein technischer Fehler oder falsche Eingabe auftritt. + +**Priority:** Hoch + +**Acceptance Criteria:** Fehler werden dem Benutzer lesbar angezeigt (z. B. „Verbindung verloren“, „Benutzername existiert bereits“). + +## R008 - Offline-Nachrichten speichern + +**Description:** Das System speichert Nachrichten, wenn der Empfänger offline ist und stellt sie beim nächsten Login zu. + +**Priority:** Hoch + +**Acceptance Criteria:** Offline-Nachrichten werden zuverlässig beim Login angezeigt. + +## R009 - Nachrichten löschen + +**Description:** Nachrichten werden beim Abmelden automatisch gelöscht, sodass beim nächsten Login keine alten Nachrichten sichtbar sind. + +**Priority:** Hoch + +**Acceptance Criteria:** Nach dem Abmelden ist der Chatverlauf leer. \ No newline at end of file