41 KiB
Projekt Alumnihub
Lastenheft
Inhaltsverzeichnis
- Zweck des Dokumentes und Scope
- Grundlagen
- Hardwareanforderungen
- Anforderungen an die Software
- Datenbank
- Dokumentation
Zweck des Dokumentes und Scope
Zweck des Dokumentes
Der Zweck dieses Dokuments ist die Beschreibung der Anforderungen an die Hardware und an die Web-Anwendung für den Absolventenverband.
Das Ziel dieses Lastenhefts ist die detaillierte Beschreibung der Anforderungen an die zu entwickelnde Applikation für den Absolventenverband. Diese Applikation soll es ermöglichen, Absolventen zu verwalten, Veranstaltungen zu organisieren, eine Jobbörse zu integrieren und die Kommunikation innerhalb des Verbands zu verbessern. Dabei sollen verschiedene Rollen- und Berechtigungskonzepte berücksichtigt werden, und die Applikation soll in mehreren Phasen umgesetzt werden, wobei Funktionalitäten priorisiert werden.
Die Applikation soll eine zentrale Plattform für Absolventen sein, über die sie sich registrieren, austauschen und auf relevante Angebote zugreifen können. Kernkomponenten wie das Anmeldetool für Treffen, die Hall of Fame und der Jobstellenmarkt werden ergänzt durch optionale Funktionen wie die Integration von LinkedIn für Profilabgleiche und einen Premiumbereich für zahlende Nutzer.
Scope und Abgrenzung
Abgrenzung / Was kommt in Phase 1 hinein?
Das Projekt umfasst die Entwicklung der Applikation mit den Funktionen für die Verwaltung von Absolventenprofilen, die Organisation von Veranstaltungen, die Darstellung der Hall of Fame, sowie die Integration eines Firmen- und Jobstellenmarkts. Die Zugriffsverwaltung sowie die Sicherheit der Daten (DSGVO-konform) sind wesentliche Bestandteile. Optional sind Erweiterungen wie ein Schülerzugang oder die Integration eines CMS für redaktionelle Beiträge. Nicht in den Scope fallen jedoch Zahlungsprozesse für den Premiumbereich und externe Lösungen für den Eventkalender (V-Calendar, V-Event), die separat betrachtet werden.
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.
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.
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% 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 |
Datenbank und Anwendung muss redundant und gegen Ausfall eines Servers gesichert sein. 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:
| HW-6 |
.Net Runtime muss unterstützt werden | HW-7 |
Sicherheit und administrativer Zugriff: Der Zugriff auf die Anwendung und die Infrastruktur muss jederzeit gegeben sein. Dies kann durch die Implementierung von:
erreicht werden. | HW-8 |
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
Automatisierte Datensicherung Zur Erhöhung der Datensicherheit soll über das Komplettsystem eine automatisierte Datensicherung erfolgen. (Versionen / Binaries der Anwendungen, Konfigurationsdateien und Nutzerdaten) |
HW-12 |
---|---|
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-13 |
Dokumentation zum Wiederherstellungsverfahren muss vorhanden sein. Schritt für Schritt Anweisungen zum Wiederherstellen des Systems |
HW-14 |
Anforderungen an Redundanz und Verfügbarkeit
Redundanzeigenschaften
Redundanzeigenschaften Bespr. Mit Hr. Prof. Gürth
RED-1 | |
---|---|
RED-2 | |
RED-3 |
Verfügbarkeitsanforderungen
99% / Jahr (87.6h) Das System soll weniger als 90 Stunden im Jahr ausfallen. |
RED-4 |
---|---|
Wiederherstellungszeit: the next business day Das System soll bis zum übernächsten Werktag wieder in einen Nutzbaren zustand bringbar sein. |
RED-5 |
Schnittstellen
Schnittstellen zu eigenen Systemen
RestAPI (Frontend / Backend) Zwischen Datenbank und C# Die Umsetzung einer RESTAPI umfasst die Planung von Endpunkten, Backend-Entwicklung, Datenbankanbindung |
SnT-1 |
---|
Schnittstellen zu anderen Systemen
SMTP (Email versand) C# (Backend) zum Mailserver Die Umsetzung von SMTP für den E-Mail-Versand umfasst die Konfiguration eines SMTP-Servers, die Erstellung von E-Mail-Nachrichten im richtigen Format, die Verwendung von SMTP-Befehlen (wie EHLO, MAIL FROM, RCPT TO, DATA), das Senden der E-Mail über den Server. |
SnT-2 |
---|---|
LinkedÌn OAuth (Phase 2, oder später) Backend zu LinkedIn Die Umsetzung von LinkedIn OAuth für die Authentifizierung umfasst die Registrierung einer Anwendung im LinkedIn Developer Portal, die Umleitung des Benutzers zur LinkedIn-Login-Seite zur Zustimmung, das Erhalten eines Zugriffstokens durch den Austausch eines Autorisierungscodes, das Stellen von API-Anfragen mit dem Zugriffstoken und das sichere Management des Tokens zur Optimierung der Benutzererfahrung. |
SnT -3 |
Anforderungen an die Software
Allgemeine Anforderungen
Die Website oder Webanwendung wird so entwickelt, dass sie in den aktuellen und vorherigen Versionen der gängigsten Webbrowser einwandfrei funktioniert: Google Chrome (Desktop und Mobile) Mozilla Firefox (Desktop und Mobile) Safari (macOS und iOS) Microsoft Edge (Chromium-basiert) Programmiersprachen und Standards: Die Entwicklung erfolgt auf Basis moderner Technologien wie HTML5, CSS3 für eine plattformübergreifende Funktionalität. Frameworks und Bibliotheken: Frameworks wie React, Angular oder Vue.js (für die Frontend-Entwicklung) sowie CSS-Frameworks wie Bootstrap oder TailwindCSS können zum Einsatz kommen. Build-Tools: Tools wie Webpack, Vite oder Parcel werden zur Optimierung der Assets (z. B. Minifizierung und Bundling von Dateien) verwendet, um die Performance auf verschiedenen Browsern zu gewährleisten. |
SW-1 |
---|
| Barrierefreiheit (WAI-ARIA-Standard) ...
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.
Technologien und Tools:
Unterstützung durch Frameworks (z. B. React, Angular) und CSS-Frameworks (z. B. Bootstrap).
Einsatz von Tools wie Axe, Lighthouse oder eslint-plugin-jsx-a11y zur Validierung.
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. | SW-3 |
Zugriffsverwaltung
Benutzername und Passwort Authentifizierung Frontend: Benutzername- und Passwort-Authentifizierung auf die Interaktion des Benutzers mit der Weboberfläche. Es geht darum, wie der Benutzer seine Anmeldeinformationen eingibt, wie diese Daten sicher an den Server übermittelt werden und wie der Benutzer nach erfolgreicher Authentifizierung auf die geschützten Teile der Anwendung zugreifen kann. Backend: Überprüft die empfangenen Anmeldedaten, in dem er nach vorhandenen Benutzernamen sucht. Anschließend wird das eingegebene Passwort mit den Daten in der Datenbank überprüft. |
ZUG-1 |
---|---|
Passwort zurücksetzen Frontend: Das Zurücksetzen des Passworts im Frontend einer Anwendung ermöglicht es den Benutzern, ihr Passwort zu ändern, falls sie es vergessen haben oder aus anderen Gründen ein neues Passwort festlegen möchten. Backend: Passwortreset-Funktion: Benutzer können ihre E-Mail-Adresse eingeben, um einen Passwortreset anzufordern. E-Mail-Versand: Die Anwendung sendet einen Link mit einem einmaligen, zeitlich begrenzten Token an die angegebene E-Mail-Adresse. Sicherheitsanforderungen: Der Token muss sicher generiert werden, und der Link darf keine sensiblen Informationen enthalten. Benutzeroberfläche: Die Oberfläche für den Passwortreset muss benutzerfreundlich sein und eine Bestätigung anzeigen. Datenbankoperationen: Der neue Passwort-Hash wird in der Datenbank gespeichert und überschreibt den alten Eintrag. Fehlerbehandlung: Geeignete Fehlermeldungen müssen angezeigt werden, wenn die E-Mail nicht registriert ist oder der Token abgelaufen ist. Protokollierung: Alle Passwortreset-Anfragen müssen protokolliert werden. |
ZUG-2 |
Rollen Frontend: Verwaltung von Benutzerrechten und Zugriffssteuerung innerhalb einer Webanwendung. In einer typischen Anwendung können Benutzer unterschiedliche Rollen haben, die bestimmte Berechtigungen definieren. Diese Rollen beeinflussen, welche Teile der Anwendung für den Benutzer sichtbar sind oder welche Aktionen er ausführen darf. Backend: DRollendefinition: Definieren von Rollen (z.B. Administrator, Benutzer, Gast) mit spezifischen Berechtigungen. Datenbankstruktur: Entwurf einer Datenbanktabelle zur Speicherung von Rollen und deren Berechtigungen. Rollenvergabe: Implementierung von Funktionen zur Zuweisung und Entziehung von Rollen an Benutzer im Backend. Berechtigungsprüfung: Entwicklung einer Middleware oder Funktion, die bei jeder Anfrage überprüft, ob der Benutzer die erforderlichen Berechtigungen für die angeforderte Aktion hat. Sicherheitsanforderungen: Sicherstellen, dass nur autorisierte Benutzer (z.B. Administratoren) Rollen ändern oder zuweisen können. Protokollierung: Implementierung von Protokollierungsmechanismen für Änderungen an Rollen und Berechtigungen zur Nachverfolgbarkeit. |
ZUG-3 |
Benutzerverwaltung (für Admins) Frontend: Die Benutzerverwaltung für Administratoren in einer Webanwendung bezieht sich auf die Funktionen, die es Administratoren ermöglichen, Benutzerkonten zu erstellen, zu bearbeiten, zu löschen und deren Berechtigungen zu verwalten. Backend: Datenbankoperationen: Alle Änderungen, die über die Weboberfläche im Admin-Bereich vorgenommen werden, müssen über definierte Backend-API-Endpunkte in der Datenbank gespeichert werden. Zugriffssteuerung: Implementierung einer strengen Zugriffssteuerung, die sicherstellt, dass nur autorisierte Benutzer (z.B. Administratoren) Änderungen vornehmen können. Berechtigungsprüfung: Vor jeder Datenbankoperation muss eine Überprüfung der Benutzerrollen und -berechtigungen erfolgen, um sicherzustellen, dass der Benutzer die erforderlichen Rechte hat. Validierung der Eingaben: Alle Eingaben, die über die Weboberfläche an das Backend gesendet werden, müssen validiert werden, um sicherzustellen, dass sie den erwarteten Formaten und Werten entsprechen. Protokollierung von Änderungen: Alle Änderungen, die im Admin-Bereich vorgenommen werden, müssen protokolliert werden, um eine Nachverfolgbarkeit und Auditierung zu ermöglichen. Sicherheitsmaßnahmen: Implementierung von Sicherheitsmaßnahmen wie Rate Limiting und IP-Whitelisting, um unbefugte Zugriffe zu verhindern. Fehlerbehandlung: Bereitstellung von klaren Fehlermeldungen und Handhabung von unerwarteten Situationen, um die Integrität der Daten zu gewährleisten. |
ZUG-4 |
Einladung an die EDU-Adresse (Phase 2) Frontend: Im Frontend können Benutzer Einladungen an E-Mail-Adressen versenden, indem sie eine Adresse in ein Eingabefeld eingeben und auf „Einladen“ klicken. Die Anwendung überprüft die E-Mail-Adresse und sendet sie dann an das Backend, das eine Einladung generiert und per E-Mail verschickt. Backend: Einladungserstellung: Implementierung einer Funktion zur Erstellung einer Einladung, die alle erforderlichen Informationen (z.B. Empfänger, Betreff, Nachricht, Datum, Uhrzeit) erfasst. Datenbankintegration: Speichern der Einladung in der Datenbank, einschließlich aller relevanten Details und des Status (z.B. erstellt, versendet). E-Mail-Vorlage: Erstellung einer E-Mail-Vorlage, die die Einladung in einem ansprechenden Format darstellt. E-Mail-Versand: Implementierung einer Funktion, die die Einladung per E-Mail an den vorgesehenen Empfänger sendet, einschließlich der Verwendung eines E-Mail-Dienstes (z.B. SMTP-Server). Berechtigungsprüfung: Sicherstellen, dass nur autorisierte Benutzer (z.B. Administratoren) Einladungen erstellen und versenden können. Fehlerbehandlung: Implementierung von Mechanismen zur Fehlerbehandlung, um sicherzustellen, dass der Benutzer über den Erfolg oder das Scheitern des E-Mail-Versands informiert wird. Protokollierung: Protokollierung aller Einladungen, die erstellt und versendet wurden, um eine Nachverfolgbarkeit zu gewährleisten. Eingabever validation: Validierung der Eingaben (z.B. E-Mail-Adresse, Datum) vor der Erstellung und dem Versand der Einladung, um sicherzustellen, dass sie korrekt sind. |
ZUG-5 |
Magic Link Authentifizierung Frontend: Die Magic Link Authentifizierung ist eine Methode der Benutzeranmeldung, bei der anstelle eines Passworts ein einmaliger Login-Link an die E-Mail-Adresse des Benutzers gesendet wird. Wenn der Benutzer auf diesen Link klickt, wird er automatisch und sicher in die Anwendung eingeloggt. Backend: Benutzerregistrierung: Implementierung einer Funktion zur Registrierung potenzieller Benutzer, die ihre E-Mail-Adresse und andere erforderliche Informationen erfasst. E-Mail-Versand: Nach der Registrierung muss eine E-Mail an die angegebene Adresse gesendet werden, die einen Authentifizierungslink enthält. Link-Generierung: Der Authentifizierungslink muss einen einmaligen, kryptografisch sicheren Token enthalten, der mit dem Benutzerkonto verknüpft ist und eine begrenzte Gültigkeitsdauer hat (z.B. 24 Stunden). Datenbankeintrag: Der Token und der Status der Authentifizierung müssen in der Datenbank gespeichert werden, um die Gültigkeit des Links zu überprüfen. Link-Verifizierung: Implementierung einer Funktion, die den Token überprüft, wenn der Benutzer auf den Link klickt, um sicherzustellen, dass er gültig und nicht abgelaufen ist. Benutzeraktivierung: Nach erfolgreicher Verifizierung des Tokens muss das Benutzerkonto aktiviert werden, und der Benutzer sollte auf eine Bestätigungsseite weitergeleitet werden. Fehlerbehandlung: Bereitstellung von klaren Fehlermeldungen, wenn der Token ungültig oder abgelaufen ist, und gegebenenfalls die Möglichkeit zur erneuten Anforderung des Authentifizierungslinks. Protokollierung: Protokollierung aller Authentifizierungsanfragen und -versuche, um eine Nachverfolgbarkeit zu gewährleisten. |
ZUG-6 |
2FA Authentifizierung (Phase 2) Frontend:
Backend: Anmeldedatenüberprüfung: Nach der Eingabe der Anmeldedaten (Benutzername und Passwort) muss das System die Anmeldedaten validieren und überprüfen. Code-Generierung: Implementierung einer Funktion zur Generierung eines zeitlich begrenzten Codes (z.B. TOTP - Time-based One-Time Password), der auf einem anderen Gerät (z.B. Smartphone) generiert wird. Code-Übermittlung: Der generierte Code muss über eine sichere Kommunikationsoberfläche (z.B. Push-Benachrichtigung, SMS oder E-Mail) an den Benutzer gesendet werden. Benutzereingabe: Der Benutzer muss die Möglichkeit haben, den erhaltenen Code in die Anmeldemaske einzugeben, um seine Identität zu bestätigen. Code-Überprüfung: Implementierung einer Funktion zur Überprüfung des eingegebenen Codes gegen den generierten Code, um sicherzustellen, dass er korrekt und innerhalb der Gültigkeitsdauer ist. Fehlerbehandlung: Bereitstellung von klaren Fehlermeldungen, wenn der eingegebene Code ungültig oder abgelaufen ist, sowie die Möglichkeit, einen neuen Code anzufordern. Sicherheitsanforderungen: Sicherstellen, dass die Kommunikation zwischen dem Server und dem Gerät des Benutzers sicher ist (z.B. durch Verschlüsselung). Protokollierung: Protokollierung aller Anmeldeversuche und der Verwendung von Codes zur Nachverfolgbarkeit und zur Erkennung von potenziellen Sicherheitsvorfällen. |
ZUG-7 |
OAuth (Phase 2) Frontend:
Backend: OAuth 2.0 Integration: Implementierung des OAuth 2.0-Protokolls zur Authentifizierung über LinkedIn. Dies umfasst die Registrierung der Anwendung bei LinkedIn und den Erhalt der erforderlichen Client-ID und Client-Secret. Benutzeranmeldung: Bereitstellung eines Endpunkts, über den Benutzer sich mit ihrem LinkedIn-Account anmelden können. Dies sollte einen Redirect zur LinkedIn-Login-Seite und die anschließende Rückleitung zur eigenen Anwendung nach erfolgreicher Authentifizierung umfassen. Token-Verwaltung: Nach erfolgreicher Authentifizierung muss das Backend den von LinkedIn erhaltenen Access-Token speichern, um zukünftige Anfragen an die LinkedIn-API zu ermöglichen. Mapping von LinkedIn-Accounts: Implementierung einer Datenbanktabelle, die das Mapping zwischen LinkedIn-Accounts (z.B. LinkedIn-ID) und den internen Benutzerkonten in der eigenen Anwendung speichert. Profilabgleich (Zukünftige Ausbaustufe): In einer späteren Phase sollte eine Funktion implementiert werden, die es ermöglicht, das LinkedIn-Profil des Benutzers abzurufen und mit dem eigenen Benutzerprofil abzugleichen. Dies könnte Informationen wie Name, E-Mail-Adresse, Berufserfahrung und Fähigkeiten umfassen. Sicherheitsanforderungen: Sicherstellen, dass alle Daten, die von LinkedIn abgerufen werden, sicher gespeichert und verarbeitet werden, um die Privatsphäre der Benutzer zu schützen. Fehlerbehandlung: Implementierung von Mechanismen zur Fehlerbehandlung, um mit möglichen Problemen bei der Authentifizierung oder beim Abrufen von Daten von LinkedIn umzugehen. Protokollierung: Protokollierung aller Authentifizierungsversuche und der zugehörigen LinkedIn-Daten, um eine Nachverfolgbarkeit und Analyse von Anmeldeaktivitäten zu ermöglichen. |
ZUG-8 |
Hall of Fame (Phase 2)
PDF-Generierung Frontend: Die PDF-Generierung im Frontend der Hall of Fame für Treffen ermöglicht es Nutzern, ihre persönlichen Erfolge in einem ansprechenden Dokument festzuhalten. Jedes PDF enthält ein Bild der Person sowie eine Übersicht über ihre Schullaufbahn, berufliche Stationen und besondere Leistungen. Diese Dokumente können dann ausgedruckt und aufgehängt werden |
HoF-1 |
---|---|
Online Hall of Fame Frontend: Die Online Hall of Fame im Frontend für Treffen bietet eine Plattform, auf der Nutzer ihre Erfolge und besonderen Leistungen präsentieren können. |
HoF-2 |
OptIn Modell für Benutzer Frontend: Das Opt-In-Modell im Frontend der Hall of Fame für Treffen ermöglicht es Nutzern, aktiv zu entscheiden, ob sie in die Ruhmeshalle aufgenommen werden möchten. Durch eine einfache Zustimmung können sie ihre Erfolge und Beiträge sichtbar machen, während sie gleichzeitig die Kontrolle über ihre Daten behalten und sicherstellen, dass nur die gewünschten Informationen geteilt werden. |
HoF-3 |
Löschantrag Frontend: Im Frontend der Hall of Fame für Treffen haben Nutzer die Möglichkeit, einen Löschantrag zu stellen, um ihre Einträge zu entfernen oder bestimmte Informationen zu löschen. Diese Funktion bietet den Nutzern die Kontrolle über ihre Präsenz und ermöglicht es ihnen, ihre Daten nach Bedarf anzupassen, während sie gleichzeitig die Möglichkeit haben, ihre Erfolge zu verwalten. |
HoF-4 |
Firmen und Jobstellenmarkt (Phase 2)
Agenturschnittstellen (API & GUI) | JOB-1 |
---|---|
Job / Mitarbeiterbörse / Praktikabörse | JOB-2 |
Privatsphäre Einstellungen | JOB-3 |
Premiumbereich (Phase 2)
| Verwaltung der Premiumkunden
1. Benutzerverwaltung:
- Identifikation und Segmentierung der Premiumkunden.
-Erstellung und Verwaltung individueller Kundenprofile.
2. Serviceverwaltung:
-Bereitstellung maßgeschneiderter Dienstleistungen und Angebote.
-Exklusive Inhalte oder Angebote für Premiumkunden.
3. Kommunikationssystem: -Regelmäßige und personalisierte Kommunikation über E-Mail, Push-Benachrichtigungen oder Messaging-Dienste. 4. Feedback- und Zufriedenheitstools: -Sammlung von Kundenfeedback
-Tools zur Überwachung und Analyse der Kundenzufriedenheit.
Technologien:
Datenbank: MySQL, PostgreSQL oder MongoDB zur Speicherung von Kundeninformationen und Präferenzen.
CRM-System: Salesforce, HubSpot oder eine Eigenentwicklung zur Kundenverwaltung.
Kommunikation: SMTP (z. B. SendGrid) für E-Mails,
Websockets für Echtzeitkommunikation.Datenanalyse: Tools wie Power BI oder Google Analytics zur Zufriedenheitsüberwachung.
PRE-1 |
---|
| Ingenieurantrag
Ein Ingenieurantrag umfasst die Vorbereitung der Unterlagen, das Ausfüllen des Antragsformulars, die Einreichung bei der Behörde, die Prüfung und Genehmigung des Antrags sowie die Dokumentation für zukünftige Referenzen. | PRE-2 |
| Matura & Klassentreffen organisieren
Die Organisation eines Matura- und Klassentreffens umfasst die Festlegung von Datum und Ort, die Erstellung einer Gästeliste, das Versenden von Einladungen, die Planung des Programms und die Koordination von Verpflegung und Dekoration. | PRE-3 |
Auswertungen
Mehr Prosa (Unterscheidung Phase 1 & 2)
Dashboard Frontend: Zeige die letzten Anmeldeaktivitäten und biete schnelle Optionen zur Sicherheitsverwaltung. Ermögliche Benachrichtigungen bei neuen Login-Versuchen und erleichtere den Zugriff auf Sicherheitsfunktionen. Backend: Ein Backend-Dashboard bündelt Systemdaten wie Nutzeraktivität, Serverstatus und Verkaufszahlen in Echtzeit. Es visualisiert KPIs über Diagramme und Tabellen, ermöglicht schnelle Analysen und unterstützt präzise Entscheidungen. Durch Zugriffsrechte und performante Datenbanken bleibt das Dashboard sicher und effizient – die zentrale Kontrollstelle für Systemauswertungen. |
AUS-1 |
---|---|
Auswertungen erstellen Frontend: Erstelle präzise Auswertungen deiner Anmeldedaten: Analysiere Login-Häufigkeit, erkenne verdächtige Aktivitäten und gewinne Einblicke in Nutzerverhalten. Optimiere deine Sicherheitsstrategie Backend: Für Auswertungen im Backend sind strukturierte Daten, Filter und Algorithmen zur KPI-Berechnung nötig. Diagramme und Tabellen visualisieren die Ergebnisse. Zugriffsrechte sichern die Daten, eine performante Datenbank sorgt für schnelle Analysen – so werden Rohdaten in präzise Systemauswertungen verwandelt. |
AUS-2 |
Auswertugnen erstellen 2 (Phase 2) Frontend: Login-Standorte und verwendete Geräte aufzeigen. Finde heraus, zu welchen Zeiten die meisten Anmeldungen stattfinden und entdecke potenzielle Sicherheitslücken durch Vergleich der Nutzeraktivitäten. Erhalte zudem detaillierte Statistiken zu fehlgeschlagenen Login-Versuchen und häufig genutzten Wiederherstellungsfunktionen, um gezielt Sicherheitsmaßnahmen zu verbessern. Backend: Für Backend-Auswertungen benötigt man zuverlässige Datenquellen, Filter und Algorithmen zur Berechnung von Metriken. Eine schnelle Datenbank ermöglicht effiziente Verarbeitung, Visualisierungstools wandeln Ergebnisse in Diagramme und Tabellen um. Zugriffsrechte sichern die Daten – so entsteht eine präzise und sichere Analysebasis. |
AUS-3 |
Chart generierung (Phase 2) Frontend: Erstelle anschauliche Charts zu Anmeldedaten: Visualisiere Login-Zeiten, regionale Verteilungen und die Anzahl erfolgreicher sowie fehlgeschlagener Anmeldeversuche. Gewinne schnell wertvolle Einblicke in Nutzeraktivitäten und erkenne Trends auf einen Blick. Backend: Für die Chart-Generierung im Backend benötigt man Rohdaten, die kontinuierlich aus Datenquellen geladen und gefiltert werden. Algorithmen verdichten diese Daten und bereiten sie in aggregierter Form auf. Eine Charting-Bibliothek übernimmt die Visualisierung und wandelt Daten in Balken-, Linien- oder Kreisdiagramme um. Caching sorgt dabei für Geschwindigkeit, und Zugriffsrechte schützen die Daten. Das Ergebnis: klare, visuell aufbereitete Informationen für schnelle Entscheidungen. |
AUS-4 |
Datenschutz & Informationssicherheit
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)
Feed Eine Seite auf den Mitteilungen und Ankündigungen gemacht werden. Hier kann man Events anzeigen lassen, Posts anderer Mitglieder usw. |
ScB-1 |
---|---|
Posten 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 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 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
Event erstellen Frontend: Erstelle gezielte Events rund um die Anmeldung: aktiviere Erinnerungen zur Passwortaktualisierung oder plane Warnungen bei mehrfach fehlgeschlagenen Anmeldungen. So behältst du die Kontrolle über alle sicherheitsrelevanten Ereignisse. Backend: Für die Event-Erstellung im Anmeldetool-Backend benötigt man eine Eingabemaske, eine Datenbank zur Speicherung der Eventdaten und Algorithmen zur Verwaltung von Anmeldungen. Zugriffsrechte sichern die Bearbeitung, und automatische Bestätigungen erleichtern die Teilnehmerverwaltung. |
AfT-1 |
---|---|
Einladungen verschicken Frontend: Versende Einladungen für neue Nutzer direkt über das Anmelde-Tool: Ermögliche einfachen Zugang, verfolge den Einladungsstatus und erhalte Benachrichtigungen bei erfolgreicher Anmeldung. Backend: Für das Versenden von Einladungen im Backend werden Eventdaten aus der Datenbank abgerufen, personalisierte Einladungen erstellt und per E-Mail oder SMS verschickt. Eine API für den Nachrichtentransport und Zugriffsrechte zur Verwaltung sind notwendig. |
AfT-2 |
Einladung beantworten (zu/absagen) Frontend: Antworte direkt auf Einladungen: Nimm Einladungen mit einem Klick an oder lehne sie ab. Verwalte deine offenen Einladungen zentral und behalte den Überblick über deine Zugänge – sicher und unkompliziert. Backend: Für das Beantworten von Einladungen im Backend benötigt man eine Datenbank, um die Teilnahmeantworten (Zusage/Absage) zu speichern. Ein Algorithmus verarbeitet die Rückmeldungen und aktualisiert den Eventstatus. Benachrichtigungen informieren den Organisator über Änderungen, während Zugriffsrechte sicherstellen, dass nur berechtigte Teilnehmer ihre Antwort einreichen können. |
AfT-3 |
Kategorisierung (Phase 2) Frontend: Die Kategorisierung der Anmeldetools für Treffen ermöglicht eine schnelle Auswahl zwischen „Neue Veranstaltung erstellen“, „An Treffen teilnehmen“ und „Veranstaltungen verwalten“. So wird der Anmeldeprozess intuitiv und effizient. Die Kategorisierung im Frontend der Anmeldetools für Treffen ermöglicht es Nutzern, Veranstaltungen übersichtlich zu filtern und schnell zu erkennen, wer das Event erstellt hat. Backend: ür die Kategorisierung im Backend eines Anmeldetools werden Kategorien in der Datenbank definiert und mit den Events verknüpft. Ein Algorithmus ordnet jedes Event der entsprechenden Kategorie zu, basierend auf festgelegten Kriterien. Eine benutzerfreundliche Schnittstelle ermöglicht das Hinzufügen oder Bearbeiten von Kategorien. Zugriffsrechte stellen sicher, dass nur autorisierte Nutzer Änderungen vornehmen können. |
AfT-4 |
Zielgruppenfilter (Phase 2) Frontend: Der Zielgruppenfilter im Frontend der Anmeldetools für Treffen ermöglicht es Nutzern, gezielt Veranstaltungen zu finden, die ihren Interessen entsprechen. Durch einfache Auswahlmöglichkeiten wird der Zugang zu relevanten Treffen erleichtert, sodass jeder schnell die passenden Optionen entdecken kann. Backend: Für einen Zielgruppenfilter im Backend eines Anmeldetools werden Teilnehmerdaten erfasst und in der Datenbank gespeichert. Ein Algorithmus analysiert diese Daten und filtert Teilnehmer nach festgelegten Kriterien wie Interessen, Demografie oder Eventpräferenzen. Eine benutzerfreundliche Oberfläche ermöglicht das Erstellen und Anpassen von Zielgruppen. Zugriffsrechte sichern die Daten und stellen sicher, dass nur berechtigte Nutzer die Filter anwenden können. |
AfT-5 |
Profilverwaltung
Profil erstellen Frontend: Die Profilverwaltung im Frontend für Treffen erlaubt Nutzern, ein individuelles Profil zu erstellen, das ihre Interessen und Präferenzen widerspiegelt. Mit einfachen Eingabefeldern können sie persönliche Informationen und vergangene Veranstaltungen hinzufügen, um passende Treffen zu finden. Backend: Für die Profilverwaltung im Backend werden Eingabefelder für persönliche Informationen benötigt, die in einer Datenbank gespeichert werden. Ein Algorithmus validiert die Eingaben und stellt sicher, dass alle erforderlichen Daten korrekt erfasst werden. Zugriffsrechte sichern, dass nur autorisierte Nutzer Profile erstellen können, während eine Schnittstelle das Hinzufügen oder Bearbeiten von Profilen ermöglicht. |
Pro-1 |
---|---|
Profil bearbeiten Frontend: Die Profilbearbeitung im Frontend der Profilverwaltung für Treffen ermöglicht es Nutzern, ihre Informationen schnell und unkompliziert zu aktualisieren. Mit intuitiven Eingabefeldern können sie Interessen, persönliche Daten und vergangene Veranstaltungen anpassen, um stets ein aktuelles und relevantes Profil zu präsentieren. Backend: Für das Bearbeiten von Profilen im Backend werden Editierfunktionen und eine Datenbank benötigt, die die Änderungen speichert. Ein Algorithmus stellt sicher, dass nur gültige Eingaben übernommen werden. Zugriffsrechte kontrollieren, dass nur autorisierte Nutzer ihre eigenen Profile bearbeiten können. Eine benutzerfreundliche Schnittstelle ermöglicht das einfache Aktualisieren der Profilinformationen. |
Pro-2 |
Profil mit LinkedIn automatisch abgleichen lassen Frontend: Die Funktion zum automatischen Abgleich des Profils mit LinkedIn im Frontend der Profilverwaltung für Treffen erleichtert Nutzern die Erstellung und Aktualisierung ihrer Informationen. Durch einen einfachen Klick werden relevante Daten wie berufliche Erfahrungen und Interessen nahtlos übernommen, sodass das Profil stets aktuell und ansprechend bleibt. Backend: Für den automatischen Abgleich mit LinkedIn wird eine API benötigt, die Profilinformationen aus LinkedIn abruft und in die Datenbank überträgt. Ein Algorithmus aktualisiert die Profildaten entsprechend. Zugriffsrechte stellen sicher, dass nur autorisierte Nutzer den Abgleich durchführen können. |
Pro-3 |
Profil verwaltung Frontend: Die Profilverwaltung im Frontend für Treffen bietet Nutzern eine benutzerfreundliche Oberfläche, um ihre Informationen mühelos zu verwalten. Hier können sie persönliche Daten, Interessen und vergangene Veranstaltungen anpassen, um ein ansprechendes und relevantes Profil zu präsentieren, das ihre Teilnahme an zukünftigen Treffen optimiert. Backend: Für die Profilverwaltung im Backend werden eine Datenbank zur Speicherung der Profildaten, APIs zur Verwaltung und Aktualisierung dieser Informationen sowie Algorithmen zur Validierung der Eingaben benötigt. Eine Benutzeroberfläche ermöglicht das Bearbeiten und Anzeigen der Profile, während Zugriffsrechte sicherstellen, dass nur autorisierte Nutzer auf ihre eigenen Daten zugreifen oder Änderungen vornehmen können. |
Pro-4 |
Datenbank
| 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 |