2_Anforderungen - NickDastley/SoftwareEngineeringWaeschetrockner GitHub Wiki

Anforderungen – Trockenprogrammsteuerung

Dieses Dokument beschreibt die funktionalen und nicht-funktionalen Anforderungen an die Software zur Steuerung von Trockenprogrammen in einem Wäschetrockner.


Übersicht

ID Titel Typ Priorität
REQ-001 Programmauswahl Funktional Muss
REQ-002 Start- und Stop-Logik Funktional Muss
REQ-003 Überhitzungsschutz Nicht-Funktional Muss
REQ-004 Anzeige Restlaufzeit Funktional Soll
REQ-005 Feuchtesensorintegration Funktional Soll
REQ-006 Programmabbruch durch Benutzer Funktional Soll
REQ-007 Zeitplan Nicht-Funktional Muss
REQ-008 Iterative Vorgehensweise Nicht-Funktional Muss
REQ-009 Traceability Nicht-Funktional Soll
REQ-010 Neue Wäsche einlegen Funktional Soll
REQ-011 Logger für Programmlauf Nicht-Funktional Soll
REQ-012 Abkühlfunktion Funktional Soll

Anforderungen im Detail

Funktion 1: Programmauswahl

REQ-001: Programmauswahl

Typ: Funktional
Priorität: Muss
Beschreibung: Das System muss dem Benutzer ermöglichen, zwischen den Trockenprogrammen "Baumwolle", "Synthetik" und "Wolle" auszuwählen.
Akzeptanzkriterium: Der Benutzer kann über die UI das gewünschte Programm auswählen und starten. Die Auswahl ist im Display ersichtlich.


Funktion 2: Start- und Stop-Logik

REQ-002: Start- und Stop-Logik

Typ: Funktional
Priorität: Muss
Beschreibung: Das System muss einen Programmstart nur bei geschlossener Tür erlauben. Türöffnung während des Betriebs ist nicht erlaubt. Akzeptanzkriterium: Programm lässt sich nur bei geschlossener Tür starten. Tür soll erst geöffnet werden können, wenn ein sicherer Zustand erreicht ist.

REQ-006: Programmabbruch durch Benutzer

Typ: Funktional
Priorität: Soll
Beschreibung: Das System soll es dem Benutzer ermöglichen, ein laufendes Trockenprogramm manuell abzubrechen. Nach Abbruch soll das Gerät in einen sicheren Zustand übergehen und die aktuelle Programmphase beenden.
Akzeptanzkriterium: Ein während des Betriebs ausgelöster Abbruch führt zum sofortigen Stopp der aktiven Funktionen. Die Anzeige wechselt auf "Abbruch" und zeigt ggf. Restfeuchte oder eine Abschlussmeldung an.


Funktion 3: Überhitzungsschutz

REQ-003: Überhitzungsschutz

Typ: Nicht-Funktional
Priorität: Muss
Beschreibung: Das System muss sich bei einer gemessenen Temperatur > 85 °C automatisch abschalten.
Akzeptanzkriterium: Bei Tests mit erhöhter Temperatur schaltet das System korrekt ab und zeigt einen Fehlercode an.


Funktion 4: Anzeige Restlaufzeit

REQ-004: Anzeige Restlaufzeit

Typ: Funktional
Priorität: Soll
Beschreibung: Während des Trockenvorgangs soll die verbleibende Laufzeit auf dem Display angezeigt werden.
Akzeptanzkriterium: Anzeige ist korrekt synchronisiert mit der tatsächlichen Programmlaufzeit und wird regelmäßig aktualisiert.


Funktion 5: Feuchtesensorintegration

REQ-005: Feuchtesensorintegration

Typ: Funktional
Priorität: Soll
Beschreibung: Das System soll die Feuchtigkeit der Wäsche regelmäßig messen und die Laufzeit des Programms entsprechend anpassen.
Akzeptanzkriterium: Bei unterschiedlicher Restfeuchte verändert sich die Restlaufzeit dynamisch.


Funktion 6: Neue Wäsche einlegen

REQ-010: Neue Wäsche einlegen

Typ: Funktional
Priorität: Soll
Beschreibung: Das System soll es ermöglichen, nach Programmende neue Wäsche einzulegen und ein neues Programm zu starten, ohne einen Neustart des Systems.
Akzeptanzkriterium: Nach Abschluss eines Programms kann der Benutzer die Tür öffnen, neue Wäsche einlegen und ein neues Programm auswählen und starten.


Funktion 7: Logger für Programmlauf

REQ-011: Logger für Programmlauf

Typ: Nicht-Funktional
Priorität: Soll
Beschreibung: Das System soll einen Logger bereitstellen, der alle wichtigen Ereignisse (z.B. Programmstart, -ende, Fehler, Abbrüche) protokolliert.
Akzeptanzkriterium: Für jeden Programmlauf wird ein Logfile mit allen relevanten Ereignissen erzeugt und gespeichert.


Funktion 8: Abkühlfunktion

REQ-012: Abkühlfunktion

Typ: Funktional
Priorität: Soll
Beschreibung: Nach Beendigung des Trockenvorgangs soll eine automatische Abkühlphase gestartet werden, bevor die Tür geöffnet werden kann.
Akzeptanzkriterium: Nach Programmende läuft eine Abkühlphase ab, erst danach ist die Türfreigabe möglich.


Nicht-Funktionale Anforderungen

REQ-007: Zeitplan

Typ: Nicht-Funktional
Priorität: Muss
Beschreibung: Die Entwicklung und Auslieferung des Systems muss bis zum 20.06.2025 abgeschlossen sein.
Akzeptanzkriterium: Die Auslieferung der finalen Softwareversion erfolgt spätestens am 20.06.2025.

REQ-008: Iterative Vorgehensweise

Typ: Nicht-Funktional
Priorität: Muss
Beschreibung: Es muss eine iterative Vorgehensweise eingehalten werden. Nach jeder Iteration muss lauffähige Software demonstriert werden können. Es werden mindestens drei Iterationen erwartet.
Akzeptanzkriterium: Nach jeder der mindestens drei Iterationen liegt eine lauffähige, demonstrierbare Softwareversion vor.

REQ-009: Traceability

Typ: Nicht-Funktional
Priorität: Soll
Beschreibung: Es soll von den Requirements bis hin zu den Testfällen Traceability gegeben sein.
Akzeptanzkriterium: Für jedes Requirement existiert eine nachvollziehbare Verlinkung zu den zugehörigen Testfällen im Projekt-Repository.


Änderungs- und Versionsverfolgung

Alle Änderungen an diesem Dokument sind über Git und Pull Requests nachvollziehbar. Änderungen an Requirements sollen mit nachvollziehbaren Commits dokumentiert werden.