**Projekt Alumnihub**
**Pflichtenheft**
**Inhaltsverzeichnis**
- [Zweck des Dokumentes und Scope](#zweck-des-dokumentes-und-scope)
- [Zweck des Dokumentes](#zweck-des-dokumentes)
- [Scope und Abgrenzung](#scope-und-abgrenzung)
- [Grundlagen](#grundlagen)
- [Verwendete Normen und mitgeltende Dokumente](#verwendete-normen-und-mitgeltende-dokumente)
- [Hardwareanforderungen](#hardwareanforderungen)
- [Allgemeine Anforderunge](#allgemeine-anforderunge)
- [Anforderungen an Server](#anforderungen-an-server)
- [Anforderungen an den Bedienrechner / das mobile Endgerät](#anforderungen-an-den-bedienrechner--das-mobile-endgerät)
- [Anforderungen an das Backup, Recovery und Desaster-Recovery](#anforderungen-an-das-backup-recovery-und-desaster-recovery)
- [Anforderungen an Redundanz und Verfügbarkeit](#anforderungen-an-redundanz-und-verfügbarkeit)
- [Redundanzeigenschaften](#redundanzeigenschaften)
- [Verfügbarkeitsanforderungen](#verfügbarkeitsanforderungen)
- [Schnittstellen](#schnittstellen)
- [Schnittstellen zu eigenen Systemen](#schnittstellen-zu-eigenen-systemen)
- [Schnittstellen zu anderen Systemen](#schnittstellen-zu-anderen-systemen)
- [Anforderungen an die Software](#anforderungen-an-die-software)
- [Allgemeine Anforderungen](#allgemeine-anforderungen)
- [Zugriffsverwaltung](#zugriffsverwaltung)
- [Hall of Fame (Phase 2)](#hall-of-fame-phase-2)
- [Firmen und Jobstellenmarkt (Phase 2)](#firmen-und-jobstellenmarkt-phase-2)
- [Premiumbereich (Phase 2)](#premiumbereich-phase-2)
- [Auswertungen](#auswertungen)
- [Datenschutz \& Informationssicherheit](#datenschutz--informationssicherheit)
- [Schwarzes Brett (Phase 2)](#schwarzes-brett-phase-2)
- [Anmeldetool für Treffen](#anmeldetool-für-treffen)
- [Profilverwaltung](#profilverwaltung)
- [Datenbank](#datenbank)
- [Dokumentation](#dokumentation)
- [Projektdokumentation](#projektdokumentation)
# Zweck des Dokumentes und Scope
## Zweck des Dokumentes
Das Pflichtenheftes umfasst sämtliche Anforderungen und Erwartungen, welche in diesem Projekt umgesetzt werden. Die Aufgaben und Verantwortlichkeiten aller Beteiligten wurden definiert und dies dient als Grundlage für die Projektplanung und -umsetzung. Es stellt sicher, dass alle relevanten Aspekte berücksichtigt werden und dass das Projekt den gewünschten Erfolg bringt.
## Scope und Abgrenzung
Das Pflichtenheft beschreibt, wie die Anforderungen aus dem Lastenheft umgesetzt werden. Ein klar definiertes Pflichtenheft sorgt für Transparenz und klare Erwartungen unter allen Beteiligten. Es minimiert das Risiko von Missverständnissen und hilft, den Projektverlauf reibungslos zu gestalten. Sollten Anforderungen im Lastenheft nicht richtig dokumentiert sein, werden diese im Pflichtenheft in dieser Form weiter bearbeitet.
Dieses Projekt umfasst die Entwicklung der Applikation mit folgenden Funktionen:
- Die Verwaltung von Absolventenprofilen
- Die Organisation von Veranstaltungen
- Die Darstellung der Hall of Fame
- Die Integration eines Firmen- und Jobstellenmarkts
- Die Zugriffsverwaltung
- Die Sicherheit der Daten (DSGVO-konform) sind wesentliche Bestandteile
- Ein Schülerzugang
- Die Integration eines CMS für redaktionelle Beiträge.
Nicht in den Scope fallen die Zahlungsprozesse für den Premiumbereich und externe Lösungen für den Eventkalender (V-Calendar, V-Event).
# Grundlagen
## Verwendete Normen und mitgeltende Dokumente
*Die bestehenden Gesetze und technischen Regelwerke sind zu beachten. Insbesondere sind im Kontext des gegenständlichen Dokumentes die folgenden Normen zu berücksichtigen:*
*Die Applikation muss unter Beachtung der folgenden Normen und rechtlichen Vorgaben entwickelt werden:*
*- DSGVO (Datenschutz-Grundverordnung): Es dürfen nur notwendige personenbezogene Daten gespeichert werden, wie E-Mail, Telefonnummer und Land/Bundesland. Ein Opt-In-Verfahren wird für die Speicherung von Nutzerdaten angewendet, und es muss die Möglichkeit zur Löschung von Einträgen geben (Rückwirkend möglich)*
*- NIS 2 Richtlinie (Netz- und Informationssicherheit); Als digitaler Dienstanbieter müssen Sicherheitsanforderungen eingehalten werden. Besonders die sichere Aufbewahrung und Verwaltung von Nutzerdaten, sowie der Schutz vor Datenverlust sind hier entscheidend.*
*Weitere Bestimmungen, wie die Handhabung der Benutzerrechte und Datenschutzrichtlinien im Zusammenhang mit Drittanbieter-APIs (z. B. LinkedIn-OAuth), müssen ebenfalls geprüft und eingehalten werden.*
# Hardwareanforderungen
## Allgemeine Anforderunge
*Phase 2: Schülerzugang braucht mehr Nutzer…. Zugriffe / Tag steigen auch.*
Um den nachfolgenden Anforderungen gerecht zu werden, nutzen wir:
| Produkt | Preis |
| --- | --- |
| 2* Hetzner CX22 | 3.79€ / Montat / Server |
| Domain (easyname.at) | 35€ / Jahr |
| Mailservice (Brevo) | 0€ / Jahr |
|Anforderung|ID|
| --- | --- |
| **300 aktuellen Nutzern**
Das System muss mindestens 300 aktuelle Benutzer unterstützen, die das System administrieren, bearbeiten und nutzen können. Nicht jeder Benutzer benötigt ein eigenes Profil. | HW-1 |
| **ca. 50 Zugriffe / Tag**
Das System muss in der Lage sein, ca. 50 aktive Benutzer pro Tag (tendenziell steigend) zu unterstützen, ohne dass die Systemleistung beeinträchtigt wird. Die Systemressourcen sollten ausreichend dimensioniert sein, um eine reibungslose und effiziente Nutzung durch die Benutzer zu gewährleisten. | HW-2 |
| **Einfach skalierbar**
Das System muss einfach skaliert werden können, um aufsteigende Anforderungen und Benutzerzahlen reagieren zu können. Dies sollte ohne wesentliche Änderungen an der Systemarchitektur oder -Infrastruktur möglich sein, um eine flexible und kosteneffiziente Anpassung an zukünftige Bedürfnisse zu ermöglichen. | HW-3 |
## Anforderungen an Server
Phase 2: Schülerzugang braucht mehr Nutzer…. Zugriffe / Tag steigen auch.
|Anforderung|ID|
| --- | --- |
| **Die Anwendung wird auf einem Cloud-Server betrieben, der skalierbar ist, um den Anforderungen eines wachsenden Benutzerstamms gerecht zu werden.** | HW-4 |
| **Hochverfügbar: 99.5%**
Damit diese Anforderung auch im Falle eines gröberen Ausfalls eingehalten werden kann, muss es diverse Dokumentation und Anleitungen zum Wiederherstellungsprozesses geben. Es wird ein eigenes Desaster Recovery Handbuch geben. Damit diverse Probleme schnell erkannt werden, wird es ein rudimentäres Logging geben. (Wie viele Requests? Ressourcenverbrauch? Durchschnittliche antwortzeit des Servers...) Sollte einer dieser Werte auffällig weit aus der Norm fallen, wird der Absolventenverein, sowie diese Diplomarbeitsgruppe automatisch benachrichtigt, damit mit untersuchungen / gegenmaßnahmen in angriff genommen.
*Das System muss eine Verfügbarkeit von mindestens 99,5% aufweisen. Dies bedeutet, dass das System innerhalb eines Jahres höchstens 43,8 Stunden (0,5% von 8760 Stunden) nicht verfügbar sein darf.* | HW-5 |
| **.Net Runtime muss unterstützt werden**
Die Anwendung muss die .NET Runtime unterstützen, um eine reibungslose Ausführung von .NET-basierten Anwendungen zu ermöglichen. | HW-6 |
| **Wiederherstellungszeitraum**
Die Wiederherstellung des Servers im Falle eines Ausfalls (des Rechenzentrums) muss innerhalb von **einem Tag** gewährleistet sein. Also nach 24 Stunden muss das System wieder in einen benutzbaren Zustand gebracht werden | HW-7 |
## Anforderungen an den Bedienrechner / das mobile Endgerät
| **Moderner Browser (Chrome, Firefox, Safari und Edge)** | HW-9 |
| --- | --- |
| **JavaScript muss aktiv sein.** | HW-10 |
| **Internetverbindung (5 MBit/s)** | HW-11 |
## Anforderungen an das Backup, Recovery und Desaster-Recovery
| Anforderung | ID |
| --- | --- |
| **Automatisierte Datensicherung**
Zur Erhöhung der Datensicherheit soll über das Komplettsystem eine automatisierte Datensicherung erfolgen. Versionen / Binaries der Anwendungen, Konfigurationsdateien und Nutzerdaten, die Datenbank... Diese Dateien werdenauf einem unbhängigen File Server gelagert. Die Binaries sollen nur bei Updates unserer Software ausgetauscht werden, Konfigurationen bei Änderung erneuert gesichert und die Datenbank mit Nutzerdaten in einem regelmäßigen Zeitfenster. (Vielleicht misbrauchen wir einfach ein Git Repository, das ist vorallem für die Versionierung und Automatisierung dieser Backups sehr gut geeignet) | HW-12 |
| **Dokumentation zum Wiederherstellungsverfahren muss vorhanden sein.**
Schritt für Schritt Anweisungen zum Wiederherstellen des Systems. Skriptgestützte Automatische Wiederherstellung mit einer Dokumentation/Tutorial, um dieses Disaster-Recovery auch ohne Skript durchführen zu können. | HW-13 |
## Anforderungen an Redundanz und Verfügbarkeit
### Redundanzeigenschaften
Redundanzeigenschaften Bespr. Mit Hr. Prof. Gürth
| Anforderung | ID |
| --- | --- |
| **Datenbank und Anwendung muss redundant und gegen Ausfall eines Servers gesichert sein.**
Die Datenbank wird auf beiden Servern repliziert vorhanden sein. Ob das ein warm-standby, hot-standby, oder gar eine Multi-Master Replizierung wird, muss noch entschieden werden. Im Falle eines Ausfalls einer der beiden DBs, soll die andere automatisch zum neuen Master "promoted" werden, wodurch die Anwendung ohne einen groß Merkbaren ausfall direkt weiter ausgeführt werden kann.
Außerdem soll regelmäßig ein Backup von der gesamten Datenbank gemacht werden, welches auf einem unabhängigen File Server/Provider gelagert wird, um im Falle eines Datenverlustes die DB wiederher zu stellen. *
Die Datenbank und die Anwendung müssen redundant und gegen Ausfälle gesichert sein, um Datenverluste und Systemausfälle zu vermeiden. Dies umfasst die Implementierung von:
Google Chrome (Desktop und Mobile)
Mozilla Firefox (Desktop und Mobile)
Safari (macOS und iOS)
Microsoft Edge (Chromium-basiert)
1. Programmiersprachen und Standards:
-Die Entwicklung erfolgt auf Basis moderner Technologien wie HTML5, CSS3 für eine plattformübergreifende Funktionalität.
2. Frameworks und Bibliotheken:
-Blazor| SW-1 |
| Barrierefreiheit (WAI-ARIA-Standard) ...
1. Verwendung von ARIA-Attributen:
-Semantik und Bedienbarkeit durch role, aria-label, aria-expanded, aria-live etc. verbessern.
-Dynamische Inhalte und interaktive Elemente mit Attributen wie aria-controls oder aria-describedby ausstatten.
2. Technologien und Tools:
-CSS: Oqtane
3. Tastaturbedienbarkeit und Kontraste:
-Sicherstellen, dass alle Inhalte per Tastatur erreichbar sind.
-Einhalten der Kontrastvorgaben gemäß WCAG 2.1 Stufe AA.
| SW-2 |
| **CMS**:
-Das System soll einen redaktionellen Schülerzugagng bieten, damit die Diplomarbeiten von Schülern selbst eingepflegt werden können.
-Entwicklung geschieht in Themes und Modules
Technologien und Tools:
-Oqtane| SW-3 |
| **Sicherheit und administrativer Zugriff:**
Der Administrative zugriff auf das System geschieht über eine SSH Verbindung, welche nur duch eine VPN (Wireguard) aufgebaut werden kann. Die Authentifizierung (der VPN und SSH) wird über Schlüsselpaare gemacht, um sicherer gegenüber bruteforce Angriffe zu sein.
Der Zugriff auf die Anwendung und die Infrastruktur muss jederzeit gegeben sein. Dies kann durch die Implementierung von:
1. Benutzerverwaltung:
- Identifikation der Premiumkunden.
-Erstellung und Verwaltung individueller Kundenprofile.
2. Serviceverwaltung:
-Bereitstellung maßgeschneiderter Dienstleistungen und Angebote| PRE-1 |
| Ingenieurantrag
-Der Ingenieurantrag umfasst ledeglich die Einsicht in andere Ingenieuranträge, welche in der Vergangenheit durch gegangen sind.| PRE-2 | | Matura & Klassentreffen organisieren
-Umfasst das Versenden von Einladungen per Email
Technologien und Komponenten:
-Brevo: Zum Versenden von Einladungen. | PRE-3 |
## Auswertungen
Mehr Prosa (Unterscheidung Phase 1 & 2)
| Anforderung | ID |
| --- | --- |
| **Dashboard**
Frontend:
Anforderung:
Das Frontend der Webanwendung stellt ein Dashboard bereit, das sicherheitsrelevante Informationen übersichtlich darstellt. Es ermöglicht dem Benutzer, Anmeldeaktivitäten einzusehen, Sicherheitsfunktionen zu verwalten und Benachrichtigungen zu neuen Login-Versuchen zu erhalten. Die Benutzerfreundlichkeit, Transparenz und Barrierefreiheit stehen hierbei im Fokus.
Funktionale Anforderungen
Das Dashboard zeigt eine Liste der letzten Anmeldeaktivitäten mit folgenden Details:
Datum und Uhrzeit
Verwendetes Gerät/Browser
Das Dashboard bietet direkte Zugriffsmöglichkeiten auf sicherheitsrelevante Funktionen:
Änderung des Passworts
Aktivierung/Deaktivierung der Zwei-Faktor-Authentifizierung (2FA) (Phase 2)
Verwaltung aktiver Sitzungen mit der Möglichkeit, einzelne Sitzungen zu beenden
Anzeige und Verwaltung vertrauenswürdiger Geräte
Die Darstellung erfolgt in einer übersichtlichen und leicht verständlichen Struktur:
Sicherheitsoptionen sind intuitiv erreichbar und mit kurzen Erklärungen versehen.
Das Design ist responsive und für Desktop, Tablet und mobile Endgeräte optimiert.
Das Dashboard erfüllt Barrierefreiheitsstandards und unterstützt Screenreader sowie Tastatur-Navigation:
Visuelle Warnhinweise zu sicherheitsrelevanten Ereignissen werden durch alternative Texte und Symbole ergänzt.
Akzeptanzkriterien
Die letzten Anmeldeaktivitäten werden vollständig und korrekt angezeigt.
Sicherheitsfunktionen wie Passwortänderung, 2FA-Verwaltung (Phase 2) sind direkt zugänglich und funktional.
Das Dashboard ist auf verschiedenen Geräten benutzerfreundlich und barrierefrei bedienbar.
Backend:
Datenintegration: Abruf und Aggregation von Systemdaten wie Nutzeraktivität, Serverstatus und Verkaufszahlen in Echtzeit. Datenvisualisierung: Darstellung der KPIs in klaren und verständlichen Diagrammen und Tabellen zur schnellen Analyse und Entscheidungsfindung. Benutzeroberfläche: Entwicklung einer übersichtlichen und interaktiven Dashboard-Oberfläche, die eine einfache Navigation und detaillierte Auswertungen ermöglicht. Zugriffsrechte: Implementierung von Berechtigungen, um sicherzustellen, dass nur autorisierte Benutzer auf spezifische Dashboard-Daten zugreifen können. Leistung und Skalierbarkeit: Verwendung von performanten Datenbanken und effizienten Algorithmen zur schnellen Verarbeitung und Darstellung großer Datenmengen. Echtzeit-Daten: Sicherstellung der kontinuierlichen Aktualisierung und Anzeige von Echtzeit-Daten für aktuelle Systemauswertungen. Sicherheit: Gewährleistung der Sicherheit durch Verschlüsselung der Datenübertragung und Schutz vor unbefugtem Zugriff. | AUS-1 |
| Auswertungen erstellen
Frontend:
Das System muss präzise Analysen der Anmeldedaten ermöglichen. Dazu gehören die Erfassung und Auswertung der Login-Häufigkeit, die Identifikation verdächtiger Aktivitäten sowie die Bereitstellung von Einblicken in das Nutzerverhalten. Die Ergebnisse sollen in einer übersichtlichen und interaktiven Darstellung visualisiert werden, um eine optimierte Sicherheitsstrategie zu unterstützen.
Backend:
Datenstrukturierung: Erfassung und Strukturierung der Rohdaten, um die Grundlage für präzise Auswertungen zu bilden. Filter und Algorithmen: Entwicklung und Implementierung von Filtern und Algorithmen zur Berechnung der relevanten KPIs. Datenvisualisierung: Darstellung der Auswertungsergebnisse in klaren Diagrammen und Tabellen zur einfachen Analyse. Zugriffsrechte: Sicherstellung, dass nur berechtigte Benutzer auf die Auswertungsdaten zugreifen können. Datenbankleistung: Nutzung einer performanten Datenbank, die schnelle Datenabfragen und Analysen ermöglicht. Echtzeit-Verarbeitung: Implementierung von Mechanismen zur schnellen Verarbeitung und Analyse von Daten in Echtzeit. Sicherheit: Sicherstellung der Datensicherheit durch Verschlüsselung und Schutz vor unbefugtem Zugriff. | AUS-2 |
| Auswertugnen erstellen 2 (Phase 2)
Frontend:
Das System muss detaillierte Analysen zu Login-Standorten und verwendeten Geräten bereitstellen. Es soll ermöglichen, Zeiträume mit der höchsten Anmeldeaktivität zu identifizieren und potenzielle Sicherheitslücken durch den Vergleich von Nutzeraktivitäten aufzudecken. Zusätzlich müssen detaillierte Statistiken zu fehlgeschlagenen Login-Versuchen sowie häufig genutzten Wiederherstellungsfunktionen erfasst und visualisiert werden, um gezielte Sicherheitsmaßnahmen abzuleiten.
Backend:
Datenquellen: Sicherstellung zuverlässiger und aktueller Datenquellen zur Grundlage der Auswertungen. Filter und Algorithmen: Entwicklung und Anwendung von Filtern sowie Algorithmen zur Berechnung relevanter Metriken und KPIs. Datenbank: Nutzung einer performanten und skalierbaren Datenbank für schnelle Datenverarbeitung und -abfragen. Visualisierung: Integration von Visualisierungstools, die die berechneten Metriken in übersichtliche Diagramme und Tabellen umwandeln. Zugriffsrechte: Implementierung von Zugriffssteuerungen, die den Datenzugriff nur für autorisierte Benutzer ermöglichen. Analysebasis: Gewährleistung einer präzisen, schnellen und sicheren Analyse durch effiziente Datenverarbeitung und -visualisierung. Sicherheit: Sicherstellung der Datenintegrität und des Schutzes vor unbefugtem Zugriff oder Manipulation. | AUS-3 |
| Chart generierung (Phase 2)
Frontend:
Das System muss eine visuelle Aufbereitung der Anmeldedaten in Form von Charts ermöglichen. Dies umfasst die Darstellung von Login-Zeiten, regionalen Verteilungen sowie der Anzahl erfolgreicher und fehlgeschlagener Anmeldeversuche. Die Visualisierungen sollen eine schnelle Analyse der Nutzeraktivitäten ermöglichen und Trends auf einen Blick erkennbar machen.
Backend:
Datenquelle und Filter: Kontinuierliches Laden und Filtern von Rohdaten aus zuverlässigen Quellen zur Vorbereitung der Chart-Generierung. Datenaggregation: Entwicklung von Algorithmen, die die gefilterten Rohdaten aggregieren und für die Visualisierung aufbereiten.Charting-Bibliothek: Integration einer Charting-Bibliothek zur Erstellung von Diagrammen (Balken-, Linien- oder Kreisdiagramme) aus den aggregierten Daten.
Caching: Implementierung von Caching-Mechanismen, um die Geschwindigkeit der Datenverarbeitung und Chart-Darstellung zu optimieren.
Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer auf die generierten Charts zugreifen können. Datenvisualisierung: Bereitstellung von klaren, leicht verständlichen Diagrammen zur Unterstützung schneller Entscheidungen. Sicherheit: Schutz der Daten durch Verschlüsselung und Zugriffskontrollen, um die Integrität und Vertraulichkeit zu gewährleisten. | AUS-4 |
## Datenschutz & Informationssicherheit
| Anforderung | ID |
| --- | --- |
| **DSGVO-Konform**
Dass man die Anforderungen der Datenschutz-Grundverordnung (DSGVO) der Europäischen Union erfüllt. Die DSGVO ist eine Verordnung, die darauf abzielt, den Schutz personenbezogener Daten zu stärken und die Kontrolle über die Verwendung und Verarbeitung solcher Daten zurück in die Hände der betroffenen Personen zu legen. | DSc-1 |
| **Informationssicherheit**
Bezeichnet den Schutz von Informationen vor verschiedenen Bedrohungen, um deren Vertraulichkeit, Integrität und Verfügbarkeit zu gewährleisten. Ziel ist es, dass Daten vor unbefugtem Zugriff, Verlust, Missbrauch oder Zerstörung geschützt sind. Alle Daten müssen im Backend geschützt werden. (Serverseitige validierung jedes Requests...) | DSc-2 |
## Schwarzes Brett (Phase 2)
| Anforderung | ID |
| --- | --- |
| **Feed**
Es muss ein Interface / eine Schnittstelle für alle Elemente, welche am Schwarzen Brett auftauchen geschaffen werden. Dann muss eine API Route für das Abrufen der einzelnen Einträge geschaffen werden. Die gesammte Entwicklung wird in einem Oqtane Modul geschehen. Der Feed priorisiert die Posts vom Absolventenverein und muss die Sichtbarkeitsstufe des Posts berücksichtigen.
Eine Seite auf den Mitteilungen und Ankündigungen gemacht werden. Hier kann man Events anzeigen lassen, Posts anderer Mitglieder usw. | ScB-1 |
| **Posten**
Es wird eine neue API Route in dem Modul implementiert, die es ermöglicht eigene Einträge auf dem schwarzen Brett zu posten. Hierfür braucht man nichts wirklich ausgefallenes.
Jeder darf posten, solange ihm in der Vergangenheit dieses Privileg nicht weggenommen wurde. Diese Posts werden dann in dem Feed angezeigt. Ein Post kann eine Sichbarkeitsstufe haben (standardmäßig: öffentlich = jeder angemeldete Benutzer) | ScB-2 |
| **Werbung**
Um Werbung auf dem schwarzen Brett anbieten zu können, muss mitgezählt werden, welche Posts geladen / gesehen worden sind. Es wird auch eine "Abrechnungsseite" geben, auf der die Kosten Vorgerechnet werden. Um die Abrechnung muss sich der Absolventen Verein selber kümmern.
Firmen können Job Inserate schalten, Diplomarbeitskooperationen anbieten usw. Wir stellen die Schnittstelle für diese Firmen bereit, aber um die Abrechnung muss sich gesondert jemand anderer kümmern | ScB-3 |
| **Meldungsvorgang**
Es werden neue Knöpfe bei den Posts hinzugefügt, mit denen man einen Post melden kann. Optional mit Angabe eines Grundes. Dieser Post wird sofort offline genommen und dann zur Durchsicht von Seiten des Absolventenvereins markiert. Je nach dem, was der AV dann Beschließt, wird dem Benutzer dann das Recht auf Posten entzogen.
Man kann unangemessene Inhalte melden, diese Meldungen werden dann von Hand durchgeschaut, ob diese den Regeln widersprechen, und kann dem Benutzer über eine Rollenänderung das Privileg des Postens / Interagieren mit anderen Nutzern auf der Seite entfernt werden. | ScB-4 |
## Anmeldetool für Treffen
| Anforderung | ID |
| --- | --- |
| Event erstellen
Frontend:
Das Frontend ermöglicht Absolventen die Erstellung und Verwaltung von Treffen durch ein Eingabeformular für Event-Details, eine Teilnehmerverwaltung mit Einladungsfunktion sowie eine übersichtliche Event-Liste mit Bearbeitungsoptionen. Benachrichtigungen über Änderungen und ein responsives Design sorgen für eine nutzerfreundliche Bedienung.
Backend:
Eingabemaske: Entwicklung einer benutzerfreundlichen Maske zur Erstellung und Bearbeitung von Eventdaten, einschließlich relevanter Felder wie Titel, Datum, Zeit und Beschreibung. Datenbank: Einrichtung einer Datenbank zur sicheren Speicherung aller Eventdaten und ihrer zugehörigen Informationen. Verwaltung von Anmeldungen: Implementierung von Algorithmen zur Erfassung, Verwaltung und Nachverfolgung von Teilnehmeranmeldungen. Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer Events erstellen oder bearbeiten können. Automatische Bestätigungen: Einrichtung eines Systems zur automatischen Versendung von Bestätigungen an Teilnehmer nach erfolgreicher Anmeldung.Benutzerfreundlichkeit: Gestaltung der Oberfläche und Funktionen so, dass Benutzer Events effizient und fehlerfrei erstellen und verwalten können. | AfT-1 |
| Einladungen verschicken
Frontend:
Das System ermöglicht die Erstellung und Verwaltung von Events. Administratoren können Events anlegen, Teilnehmer sich anmelden und Benachrichtigungen erhalten. Alle Events und Anmeldungen werden protokolliert.
Backend:
Datenabruf: Entwicklung einer Funktion zum Abrufen der relevanten Eventdaten aus der Datenbank. Personalisierung: Erstellung von personalisierten Einladungstexten basierend auf Event- und Teilnehmerdaten. Nachrichtentransport: Integration einer API für den Versand der Einladungen per E-Mail und SMS. Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer den Versand von Einladungen initiieren können. Automatisierung: Implementierung eines Systems zur automatischen Verarbeitung und Versendung der Einladungen nach definierten Kriterien. Protokollierung: Speicherung von Versandstatus und Fehlerprotokollen, um die Nachvollziehbarkeit und Fehlersuche zu gewährleisten. Sicherheit: Gewährleistung einer verschlüsselten Übertragung der Daten und Schutz vor unbefugtem Zugriff. | AfT-2 |
| Einladung beantworten (zu/absagen)
Frontend:
Das System muss Nutzern ermöglichen, Einladungen direkt anzunehmen oder abzulehnen. Offene Einladungen sollen zentral verwaltet und der Status jederzeit einsehbar sein. Dies gewährleistet eine sichere und unkomplizierte Verwaltung der Zugangsberechtigungen.
Backend:
Datenbankintegration: Speicherung der Teilnahmeantworten (Zusage/Absage) in der Datenbank, verknüpft mit dem jeweiligen Event und Teilnehmer. Rückmeldungsverarbeitung: Entwicklung eines Algorithmus, der eingehende Antworten verarbeitet und den Eventstatus entsprechend aktualisiert (z. B. verfügbare Plätze).Benachrichtigungssystem: Automatische Benachrichtigung des Organisators über eingehende Zu- oder Absagen.
Zugriffsrechte: Sicherstellung, dass nur eingeladene und berechtigte Teilnehmer ihre Rückmeldung abgeben können.
Benutzerfreundlichkeit: Bereitstellung einer klaren und einfachen Schnittstelle, die Teilnehmern die Abgabe ihrer Rückmeldung ermöglicht. Sicherheit: Verschlüsselte Übertragung der Teilnahmeantworten und Schutz vor unbefugtem Zugriff oder Manipulation. Protokollierung: Erfassung und Speicherung der Antworten, inklusive Zeitstempel, zur Nachverfolgbarkeit und Fehleranalyse. | AfT-3 |
| Kategorisierung (Phase 2)
Frontend:
Das System muss eine Kategorisierung der Events für Treffen ermöglichen, um eine intuitive und effiziente Nutzung zu gewährleisten. Nutzer sollen zwischen den Optionen „Neue Veranstaltung erstellen“, „An Treffen teilnehmen“ und „Veranstaltungen verwalten“ wählen können. Zudem soll eine übersichtliche Filterung von Veranstaltungen möglich sein, sodass schnell erkennbar ist, wer das Event erstellt hat.
Backend:
Datenbankstruktur: Einrichtung einer Datenbanktabelle zur Definition und Verwaltung von Kategorien sowie zur Verknüpfung dieser Kategorien mit den Events. Automatische Zuordnung: Entwicklung eines Algorithmus, der Events basierend auf vordefinierten Kriterien automatisch der passenden Kategorie zuordnet. Benutzeroberfläche: Bereitstellung einer intuitiven Oberfläche für das Hinzufügen, Bearbeiten und Löschen von Kategorien.Zugriffsrechte: Implementierung eines Berechtigungssystems, das sicherstellt, dass nur autorisierte Benutzer Kategorien verwalten können. Flexibilität: Unterstützung dynamischer Änderungen an Kategorien und deren Kriterien ohne Beeinträchtigung bestehender Zuordnungen. Sicherheit: Verschlüsselte Übertragung und Speicherung der Kategoriedaten sowie Schutz vor unbefugtem Zugriff. Protokollierung: Dokumentation aller Änderungen an den Kategorien zur Nachvollziehbarkeit und Fehleranalyse. | AfT-4 |
| Zielgruppenfilter (Phase 2)
Frontend:
Das System muss einen Zielgruppenfilter für Anmeldetools bereitstellen, der es Nutzern ermöglicht, gezielt Veranstaltungen zu finden, die ihren Interessen entsprechen. Durch intuitive Auswahlmöglichkeiten soll der Zugang zu relevanten Treffen erleichtert werden, sodass passende Optionen schnell entdeckt werden können.
Backend:
Datenbankintegration: Erfassung und Speicherung der Teilnehmerdaten in der Datenbank, einschließlich Interessen, Demografie und Eventpräferenzen. Datenanalyse und Filter: Entwicklung eines Algorithmus, der Teilnehmerdaten basierend auf vordefinierten Kriterien (z. B. Interessen, Alter, Eventpräferenzen) analysiert und filtert. Benutzeroberfläche: Bereitstellung einer benutzerfreundlichen Oberfläche, die es ermöglicht, Zielgruppenfilter zu erstellen, anzupassen und anzuwenden. Zugriffsrechte: Sicherstellung, dass nur autorisierte Benutzer die Filter erstellen, anpassen oder anwenden können. Flexibilität: Unterstützung der Anpassung der Filterkriterien, um dynamische Zielgruppenselektionen basierend auf unterschiedlichen Anforderungen zu ermöglichen. Sicherheit: Verschlüsselte Speicherung und Übertragung der Teilnehmerdaten sowie Schutz vor unbefugtem Zugriff. Protokollierung: Dokumentation der Anwendung von Zielgruppenfiltern zur Nachverfolgbarkeit und Analyse von Änderungen. | AfT-5 |
## Profilverwaltung
| Anforderung | ID |
| --- | --- |
| Profil erstellen
Frontend:
Das System muss eine Profilverwaltung im Frontend bieten, die es Nutzern ermöglicht, ein individuelles Profil zu erstellen. Nutzer sollen ihre Interessen, Präferenzen sowie persönliche Informationen einfach eingeben können. Zudem sollen sie vergangene Veranstaltungen hinzufügen können, um passende Treffen basierend auf ihren Präferenzen schnell zu finden.
Backend:
Bereitstellung von Eingabefeldern für persönliche Daten (z. B. Name, E-Mail, Geburtsdatum). Validierung der Eingaben auf Vollständigkeit und Korrektheit (Pflichtfelder, Formatprüfung). Zugriff nur für autorisierte Nutzer mit entsprechender Berechtigung.API-Schnittstelle zum Erstellen und Bearbeiten von Profilen mit Validierung und Fehlerhandling. | Pro-1 |
| Profil bearbeiten
Frontend:
Das System muss eine einfache und benutzerfreundliche Profilbearbeitung im Frontend ermöglichen. Nutzer sollen ihre Informationen schnell und unkompliziert aktualisieren können, einschließlich Interessen, persönlicher Daten und vergangener Veranstaltungen. Die Eingabefelder müssen intuitiv gestaltet sein, sodass Nutzer ihr Profil stets aktuell und relevant halten können.
Backend:
Editierfunktionen: Benutzer können ihre Profilinformationen über ein Formular bearbeiten. Validierung: Eingaben werden geprüft; nur gültige Daten werden gespeichert.Datenbank: Änderungen werden direkt und sicher in der Datenbank gespeichert. Zugriffsrechte: Nur autorisierte Benutzer dürfen ihre eigenen Profile bearbeiten. Benutzeroberfläche: Intuitive und leicht bedienbare Oberfläche zur Profilbearbeitung. Sicherheit: Verschlüsselte Datenübertragung und Schutz vor Sicherheitsrisiken. | Pro-2 |
| Profil mit LinkedIn automatisch abgleichen lassen
Frontend:
Das System muss eine Funktion zum automatischen Abgleich des Profils mit LinkedIn bieten. Durch einen einfachen Klick sollen relevante Daten, wie berufliche Erfahrungen und Interessen, nahtlos übernommen werden. Diese Funktion erleichtert die Erstellung und Aktualisierung des Profils, sodass es stets aktuell und ansprechend bleibt.
Backend:
API-Integration: Die LinkedIn-API wird eingebunden, um Profilinformationen der Benutzer abzurufen. Datenabgleich: Ein Algorithmus überprüft und synchronisiert die abgerufenen LinkedIn-Daten mit den bestehenden Profildaten. Änderungen werden automatisiert in der Datenbank gespeichert. Zugriffsrechte: Nur autorisierte Benutzer dürfen den Abgleich starten. Zugriffsversuche ohne Berechtigung werden verhindert. Benutzeroberfläche: Eine intuitive Oberfläche ermöglicht es den Nutzern, den Abgleich mit LinkedIn einfach auszuführen. Sicherheit: Die Kommunikation mit der LinkedIn-API erfolgt verschlüsselt, und die Daten werden gemäß Sicherheitsstandards verarbeitet und gespeichert. Protokollierung: Alle Abgleichvorgänge werden protokolliert, um Nachvollziehbarkeit und Fehleranalyse zu gewährleisten. | Pro-3 |
| Profil verwaltung
Frontend:
Das System muss eine benutzerfreundliche Profilverwaltung im Frontend bieten, die es Nutzern ermöglicht, ihre Informationen mühelos zu verwalten. Nutzer sollen persönliche Daten, Interessen und vergangene Veranstaltungen anpassen können, um ein ansprechendes und relevantes Profil zu erstellen. Dieses Profil soll die Teilnahme an zukünftigen Treffen optimieren und eine gezielte Auswahl von relevanten Veranstaltungen erleichtern.
Backend:
Datenbank: Einrichtung einer Datenbank zur Speicherung und Verwaltung aller Profildaten. APIs: Implementierung von APIs zur Abfrage, Aktualisierung und Verwaltung der Profildaten. Validierung: Entwicklung von Algorithmen zur Prüfung und Sicherstellung gültiger Eingaben bei Änderungen oder Neuanlagen von Profilen. Benutzeroberfläche: Bereitstellung einer intuitiven Oberfläche für das Anzeigen und Bearbeiten von Profilen. Zugriffsrechte: Implementierung eines Berechtigungssystems, das sicherstellt, dass nur autorisierte Benutzer auf ihre eigenen Profildaten zugreifen und Änderungen vornehmen können. Sicherheit: Verschlüsselte Übertragung und Speicherung aller Profildaten sowie Schutz vor unbefugtem Zugriff und Manipulation. | Pro-4 |
# Datenbank
| Anforderung | ID |
| --- | --- |
| Datenbank
1. Zielsetzung
Entwicklung einer relationalen Datenbank mit PostgreSQL zur Speicherung und Verwaltung von Anwendungsdaten.
2. Datenbankdesign
Datenmodellierung: Erstellung eines konzeptionellen Modells (z.B. ER-Diagramm) zur Definition der Entitäten, Attribute und Beziehungen. Tabellenstruktur: Definition der Tabellen, einschließlich: Primärschlüssel Fremdschlüssel Datentypen für jedes Attribute
3. Implementierung der Datenbank
Erstellung der Datenbank: Anlegen der PostgreSQL-Datenbank und der erforderlichen Tabellen. Indizes: Implementierung von Indizes zur Optimierung der Abfragegeschwindigkeit.Constraints: Festlegung von Constraints (z.B. NOT NULL, UNIQUE) zur Gewährleistung der Datenintegrität.
4. Datenbankanbindung
Zugriffsmethoden: Definition der Methoden zur Anbindung der Anwendung an die PostgreSQL-Datenbank (z.B. über JDBC, Entity Framework). CRUD-Operationen: Implementierung der grundlegenden CRUD-Operationen (Create, Read, Update, Delete) für die Datenmanipulation.
5. Sicherheit
Benutzerverwaltung: Einrichtung von Benutzerrollen und Berechtigungen zur Kontrolle des Zugriffs auf die Datenbank.Datenverschlüsselung: Implementierung von Maßnahmen zur Sicherstellung der Datensicherheit (z.B. SSL-Verbindungen). | DB-1 |
# Dokumentation
## Projektdokumentation
| Pflichtenheft | DOK-1 |
| --- | --- |
| Systembeschreibung | DOK-2 |
| Disasterrecovery Handbuch | DOK-3 |
| Benutzer Handbuch | DOK-4 |
| Admin Handbuch | DOK-5 |
| Git Handbuch | Dok-6 |