Pflichtenheft
Zielbestimmung
Ziel des Projekts ist die Entwicklung einer Webanwendung zur übersichtlichen Darstellung und Suche von Rapla-Terminplänen. Dabei sollen Anwender die Möglichkeit haben, Rapla-Pläne über eine konfigurierbare URL einzubinden. Zudem sollen verschiedene Ansichten (Monat, Woche, Tag) dem Nutzer zur Verfügung stehen. Es soll möglich sein, zwischen zukünftigen und vergangenen Ereignissen zu blättern sowie nach einzelnen Einträgen mithilfe einer Suchfunktion zu suchen.
Produktbeschreibung
Übersicht
Bei dem zu entwickelnden Produkt handelt es sich um eine browserbasierte Webanwendung zur Darstellung und Durchsuchung von Terminplänen aus dem Rapla-System der DHBW. Die Anwendung ermöglicht es Nutzern, Terminpläne über eine konfigurierbare Rapla-URL einzubinden und anschließend übersichtlich darzustellen.
Ziel der Anwendung ist es, die Navigation innerhalb von Rapla-Terminplänen zu vereinfachen und eine schnellere Auffindbarkeit von Veranstaltungen und Terminen zu ermöglichen. Hierzu stellt das System verschiedene Kalenderansichten sowie eine Suchfunktion zur Verfügung.
Die Anwendung wird vollständig im Webbrowser ausgeführt und benötigt keine lokale Installation.
Zielgruppen
Die Webanwendung richtet sich primär an Nutzer des Rapla-Systems der DHBW. Dazu gehören insbesondere:
- Studierende
- Dozentinnen und Dozenten
- Professorinnen und Professoren
Diese Nutzergruppen können die Anwendung verwenden, um ihre persönlichen oder veranstaltungsbezogenen Terminpläne schnell aufzurufen, zu durchsuchen und in verschiedenen Zeitansichten darzustellen. Weitere Informationen hierzu finden sich hier.
Hauptfunktionen
Die Anwendung stellt folgende zentrale Funktionen bereit:
- Einbindung eines Rapla-Terminplans über eine konfigurierbare Rapla-URL
- Darstellung von Terminen in verschiedenen Kalenderansichten
- Tagesansicht
- Wochenansicht
- Monatsansicht
- Navigation innerhalb der Kalenderansichten zum Wechsel zwischen vergangenen und zukünftigen Zeiträumen
- Suchfunktion zur Filterung von Terminen und Veranstaltungen
- Speicherung zuvor eingegebener Suchbegriffe
- Anzeige gespeicherter Suchbegriffe als Vorschläge bei erneuter Eingabe
Funktionale Anforderungen
FA-01 Einbindung der URL
Die Anwendung muss dem Benutzer die Möglichkeit bieten, eine gültige Rapla-URL einzugeben oder zu konfigurieren. Nach Eingabe der URL muss die Anwendung die zugehörigen Termindaten laden und zur weiteren Verarbeitung bereitstellen. Die Anwendung muss prüfen, ob die eingegebene URL gültig ist, und im Fehlerfall eine entsprechende Rückmeldung an den Benutzer geben.
FA-02 Darstellung der Termine
Die Anwendung muss die geladenen Rapla-Termine übersichtlich innerhalb eines Kalenders darstellen. Dabei müssen mindestens folgende Informationen angezeigt werden:
- Titel des Termins / der Vorlesung
- Betroffener Kurs
- Raumnummer
- Zeitraum des Termins Die Darstellung muss so erfolgen, dass Termine klar voneinander abgegrenzt und leicht lesbar sind.
FA-03 Kalenderansicht
Die Anwendung muss dem Benutzer verschiedene Kalenderansichten zur Verfügung stellen. Folgende Ansichten müssen auswählbar sein:
- Tagesansicht
- Wochenansicht
- Monatsansicht
Der Benutzer muss jederzeit zwischen diesen Ansichten wechseln können.
FA-04 Navigation zwischen Zeiträumen
Die Anwendung muss eine Navigation zwischen verschiedenen Zeiträumen ermöglichen. Der Benutzer muss
- zu zukünftigen Zeiträumen wechseln können
- zu vergangenen Zeiträumen wechseln können
Die Navigation soll über Bedienelemente wie „Vor“ und „Zurück“ erfolgen.
FA-05 Suchfunktion für Termine
Die Anwendung muss eine Suchfunktion bereitstellen, mit der Termine anhand eines Suchbegriffs gefiltert werden können. Die Suche muss folgende Eigenschaften besitzen:
- Durchsuchung der vorhandenen Termine
- Anzeige aller passenden Ergebnisse
- Darstellung der Treffer in einer übersichtlichen Liste
FA-06 Anzeige der Suchergebnisse
Suchergebnisse müssen dem Benutzer in einer übersichtlichen Liste angezeigt werden. Dabei sollen mindestens folgende Informationen sichtbar sein:
- Titel des Termins / der Vorlesung
- Datum
- Uhrzeit
Der Benutzer muss einen schnellen Überblick über alle gefundenen Termine erhalten.
FA-07 Speicherung von Suchbegriffen
Die Anwendung muss eingegebene Suchbegriffe speichern. Diese Speicherung dient dazu, häufig verwendete Suchanfragen schneller erneut ausführen zu können.
FA-08 Vorschläge für frühere Suchbegriffe
Bei erneuter Eingabe in das Suchfeld soll die Anwendung zuvor gespeicherte Suchbegriffe automatisch vorschlagen. Diese Vorschläge sollen dem Benutzer während der Eingabe angezeigt werden.
FA-09 Letzte Kalenderansicht
Beim Öffnen der Anwendung soll die zuletzt angezeigte Ansicht zu sehen sein.
Nicht-funktionale Anforderungen
NFA-01 Performance
Die Anwendung muss eine schnelle Darstellung der Termine gewährleisten.
- Die Ladezeit für Terminpläne nach Eingabe der Rapla-URL soll möglichst gering sein.
- Kalenderansichten sollen ohne merkliche Verzögerung geladen werden.
- Suchanfragen sollen innerhalb kurzer Zeit Ergebnisse liefern.
NFA-02 Kompatibilität
Die Anwendung muss mit gängigen aktuellen Webbrowsern kompatibel sein. Unterstützt werden sollen insbesondere:
- Google Chrome
- Mozilla Firefox
- Microsoft Edge
- Safari
Die Anwendung muss auf unterschiedlichen Betriebssystemen nutzbar sein, da sie vollständig im Browser ausgeführt wird.
NFA-03 Usability
Die Anwendung muss eine intuitive und leicht verständliche Benutzeroberfläche besitzen.
- Die wichtigsten Funktionen müssen ohne lange Einarbeitung nutzbar sein.
- Navigation und Suchfunktion sollen klar erkennbar sein.
- Termine müssen übersichtlich und gut lesbar dargestellt werden.
NFA-04 Zuverlässigkeit
Die Anwendung muss stabil laufen und auf fehlerhafte Eingaben angemessen reagieren.
- Ungültige Rapla-URLs müssen erkannt werden.
- Im Fehlerfall muss eine verständliche Fehlermeldung angezeigt werden.
- Die Anwendung darf nicht abstürzen, wenn fehlerhafte Daten geladen werden.
NFA-05 Wartbarkeit
Der Quellcode der Anwendung muss übersichtlich strukturiert und dokumentiert sein.
- Die Architektur soll modular aufgebaut sein.
- Änderungen und Erweiterungen sollen ohne großen Aufwand möglich sein.
- Wichtige Komponenten und Funktionen müssen dokumentiert werden.
NFA-06 Sicherheit
Die Anwendung muss grundlegende Sicherheitsanforderungen erfüllen.
- Benutzereingaben müssen validiert werden.
- Die Anwendung darf keine sensiblen Daten ungeschützt speichern.
NFA-07 Verfügbarkeit
Die Anwendung soll jederzeit über einen Webbrowser erreichbar sein, sofern eine Internetverbindung besteht. Die Anwendung darf keine zusätzliche lokale Installation erfordern.
NFA-08 Datenpersistenz für Suchbegriffe
Gespeicherte Suchbegriffe sollen zuverlässig gespeichert werden, sodass sie bei späterer Nutzung der Anwendung wieder verfügbar sind.
Systemarchitektur
Die entwickelte Anwendung basiert auf einer webbasierten Client-Server-Architektur. Die Anwendung wird vollständig über einen Webbrowser genutzt und erfordert keine lokale Installation auf dem Endgerät des Nutzers. Das System besteht aus mehreren Komponenten, die zusammenarbeiten, um Rapla-Terminpläne abzurufen, darzustellen und durchsuchbar zu machen.
Genauere Informationen über die einzelnen Systemstrukturen sind im Ordner Dokumentation zu finden.
Datenkonzept
Datenquelle
Die Termindaten stammen aus dem Rapla-System der DHBW. Der Zugriff erfolgt über eine vom Nutzer angegebene Rapla-URL. Über diese URL werden die entsprechenden Terminpläne geladen und von der Anwendung verarbeitet. Die Anwendung fungiert dabei ausschließlich als Anzeige- und Suchwerkzeug. Änderungen an den Termindaten werden nicht vorgenommen.
Datenstruktur der Termine
Die geladenen Termindaten enthalten verschiedene Informationen zu einzelnen Veranstaltungen oder Terminen. Zu den wichtigsten Datenfeldern gehören:
- Titel des Termins
- Datum des Termins
- Startzeit und Endzeit
- Beschreibung (sofern vorhanden)
- Ort oder Raum (sofern vorhanden)
- Name des Dozierenden (sofern vorhanden)
Diese Informationen werden von der Anwendung verarbeitet und in den jeweiligen Kalenderansichten dargestellt.
Datenverarbeitung
Nach dem Laden der Termindaten werden diese innerhalb der Anwendung verarbeitet, um eine strukturierte Darstellung zu ermöglichen. Dabei erfolgen unter anderem folgende Schritte:
- Sortierung der Termine nach Datum und Uhrzeit
- Zuordnung der Termine zu den jeweiligen Kalenderansichten
- Filterung von Terminen bei Suchanfragen
- Verarbeitung von Queries innerhalb der Suchfunktion
Die Verarbeitung erfolgt dynamisch während der Nutzung der Anwendung.
Speicherung von Suchbegriffen
Zusätzlich zu den geladenen Termindaten speichert die Anwendung eingegebene Suchbegriffe. Diese werden verwendet, um dem Benutzer bei zukünftigen Suchanfragen automatische Vorschläge anzeigen zu können. Die gespeicherten Suchbegriffe enthalten ausschließlich die vom Nutzer eingegebenen Suchtexte und keine personenbezogenen Daten.
Datenschutz und Datenintegrität
Die Anwendung speichert keine sensiblen personenbezogenen Daten. Die Termindaten werden lediglich aus dem Rapla-System geladen und innerhalb der Anwendung angezeigt. Durch Validierung von Benutzereingaben wird sichergestellt, dass fehlerhafte oder ungültige Daten das System nicht beeinträchtigen.
Schnittstellen
Schnittstelle zum Rapla-System
Die Anwendung greift auf Terminpläne aus dem Rapla-System der DHBW zu. Der Zugriff erfolgt über eine vom Benutzer angegebene Rapla-URL, über die die entsprechenden Terminpläne abgerufen werden können. Wie genau die Schnittstelle angebunden wird, ist hier zu finden. Das Rapla-System fungiert dabei ausschließlich als Datenquelle. Die Anwendung nimmt keine Änderungen an den Termindaten vor und besitzt keine Schreibrechte auf das Rapla-System.
Benutzeroberfläche
Die Benutzeroberfläche muss folgende Elemente enthalten:
- Eingabe-/Konfigurationsbereich für die Rapla-URL
- Umschaltung zwischen Tag/Woche/Monat
- Navigation (vor/zurück/heute)
- Suchfeld mit Wildcard-Unterstützung
- Ergebnisliste mit relevanten Termininformationen
- Vorschläge aus gespeicherten Suchbegriffen
Die Oberfläche muss responsiv sein und auf Desktop, Tablet und Smartphone funktionieren.
Testkonzept
Die Qualitätssicherung erfolgt durch:
- Unit-Tests (z. B. Suchlogik, Validierung, Mapping)
- Integrationstests (z. B. API- und Parser-Schnittstellen)
- Fehlertests (ungültige URL, Netzwerkfehler, unvollständige Daten)
- Browser-Kompatibilitätstests (Chrome, Firefox, Edge, Safari)
Projektorganisation
Rollen, Zuständigkeiten und Zusammenarbeit sind in der Teamorganisation definiert. Anforderungen und Änderungen werden versioniert dokumentiert.
Dokumentation
Die Projektdokumentation umfasst:
- Anforderungen: Lastenheft, Pflichtenheft, [User Stories](/docs/Anforderungen/User Stories.md), Personas
- Technische Dokumentation: Frontend, Backend, Infrastruktur
Abnahmebedingungen
Die Anwendung gilt als abgenommen, wenn folgende Kriterien erfüllt sind:
- Rapla-URL kann eingegeben und validiert werden.
- Termine werden korrekt geladen und dargestellt.
- Tag-, Wochen- und Monatsansicht sind funktionsfähig.
- Navigation durch Zeiträume funktioniert in allen Ansichten.
- Die Suche liefert korrekte Ergebnisse
- Suchhistorie wird gespeichert und als Vorschläge angezeigt.
- Die letzte Ansicht wird beim erneuten Öffnen wiederhergestellt.
- Anwendung ist in unterstützten Browsern stabil nutzbar.