Clear doublepage and List of Figures and Tables

This commit is contained in:
2026-03-20 13:35:06 +01:00
parent b8822bda3c
commit 312440278e
8 changed files with 120 additions and 86 deletions

View File

@@ -68,6 +68,7 @@
\newpage
\pagenumbering{Roman}
\cleardoublepage
\section*{Eidesstattliche Erklärung}
Ich erkläre, dass ich die vorliegende Diplomarbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt, sowie die aus anderen Werken übernommene Inhalte durch Quellenangaben erkenntlich gemacht habe.
@@ -96,9 +97,18 @@ Wien, am 26.03.2026 & & \hrulefill \\
\section*{Kurzfassung}
Die vorliegende Diplomarbeit „AlumniHub“ befasst sich mit der Entwicklung eines zentralen Portals für den Absolventenverein der HTL Ungargasse. Ziel des Projektes ist es, die Kommunikation zwischen dem Verein und seinen Mitgliedern zu digitalisieren und zu vereinfachen. Die Plattform ermöglicht es Absolventinnen und Absolventen, Profile zu erstellen, sich zu vernetzen und Informationen über Vereinsaktivitäten abzurufen. Ein besonderer Fokus lag auf der Integration eines Premium-Bereichs sowie eines sicheren Anmeldesystems über LinkedIn.
\cleardoublepage
\section*{Abstract}
The diploma thesis "AlumniHub" focuses on the development of a central portal for the alumni association of the HTL Ungargasse. The project aims to digitize and simplify communication between the association and its members. The platform allows alumni to create profiles, network, and retrieve information about association activities. A major focus was the integration of a premium section and a secure authentication system via LinkedIn.
\newpage
\pagenumbering{arabic}
\setcounter{page}{1}
\makeatletter
\renewcommand{\listoffigures}{%
\@starttoc{lof}%
}
\renewcommand{\listoftables}{%
\@starttoc{lot}%
}

View File

@@ -1,12 +1,16 @@
\cleardoublepage
# Einleitung Allgemeiner Teil
## Diplomarbeitsantrag
### Ausgangslage
Der Absolventenverein verwaltet derzeit rund 300 Alumni, deren Daten in einer CSV-Datei gepflegt werden. Die Event-Anmeldungen der letzten Jahre erfolgten über “Perspective Funnels”, dessen Lizenz mittlerweile abgelaufen ist. Für die kommenden Veranstaltungen wird daher ein Ersatz für die Event-Registrierung benötigt. Die aktuellen Abläufe sind dezentral und teilweise manuell, was zu einem erhöhten Verwaltungsaufwand und fehlender Übersicht führt. Eine integrierte Plattform für Mitgliederverwaltung, Kommunikation und Event-Organisation existiert bislang nicht.
Der Absolventenverein verwaltet derzeit rund 300 Alumni, deren Daten in einer CSV-Datei gepflegt werden. Die Event-Anmeldungen der letzten Jahre erfolgten über “Perspective Funnels”, dessen Lizenz mittlerweile abgelaufen ist. Für die kommenden Veranstaltungen wird daher ein Ersatz für die Event-Registrierung benötigt. Die aktuellen Abläufe sind dezentral und teilweise manuell, was zu einem erhöhten Verwaltungsaufwand und fehlender Übersicht führt. Eine integrierte Plattform für Mitgliederverwaltung, Kommunikation und Event-Organisation existiert bislang nicht.
### Zielsetzung
Ziel der Diplomarbeit ist es, ein Content-Management-System als Basis für eine innovative, barrierefreie und sichere Website des Absolventenvereins zu nutzen, dabei vorhandene Funktionen des CMS anzupassen und eigene Module wie eine Eventanmeldung, eine Hall of Fame, ein Schwarzes Brett als Kommunikationsplattform sowie einen Premiumbereich zu entwickeln. Die Anwendung soll modular, erweiterbar und leicht wartbar sein und auf einem Schulserver betrieben werden, um eine kontrollierte und geschützte Umgebung für die Verwaltung der Mitglieder- und Veranstaltungsdaten zu gewährleisten.
Ziel der Diplomarbeit ist es, ein Content-Management-System als Basis für eine innovative, barrierefreie und sichere Website des Absolventenvereins zu nutzen, dabei vorhandene Funktionen des CMS anzupassen und eigene Module wie eine Eventanmeldung, eine Hall of Fame, ein Schwarzes Brett als Kommunikationsplattform sowie einen Premiumbereich zu entwickeln. Die Anwendung soll modular, erweiterbar und leicht wartbar sein und auf einem Schulserver betrieben werden, um eine kontrollierte und geschützte Umgebung für die Verwaltung der Mitglieder- und Veranstaltungsdaten zu gewährleisten.
### Tatsächliches Ergebnis
@@ -19,6 +23,7 @@ Adam Gaiswinkler war für die Dokumentation der Benutzeroberfläche und des Back
Florian Edlmayer entwickelte ein funktionierendes CMS-Modul für den Premiumbereich der Absolventen. Zusätzlich erstellte er eine vollständige und gesetzeskonforme Datenschutzerklärung. Ein weiterer wichtiger Bestandteil war die erfolgreiche Implementierung einer OAuth-Authentifizierung über LinkedIn.
## Das Team
Konstantin Hintermayer
Geboren am: 25.05.2007
@@ -33,18 +38,19 @@ Geboren am: 20.08.2006
E-Mail: [florian.edlmayer@edu.szu.at]
Individuelle Themenstellung: Entwicklung eines CMS-Moduls für den Premiumbereich des Absolventenvereins,Verfassung der Datenschutzerklärung und zuständig für Informationssicherheit, Implementierung von OAuth, Datenbankmanagement.
Individuelle Themenstellung: Entwicklung eines CMS-Moduls für den Premiumbereich des Absolventenvereins,Verfassung der Datenschutzerklärung und zuständig für Informationssicherheit, Implementierung von OAuth, Datenbankmanagement.
Adam Gaiswinkler
Adam Gaiswinkler
Geboren am:
E-Mail: [adam.gaiswinkler@edu.szu.at]
Individuelle Themenstellung:Entwicklung zweier CMS-Module: (Anmeldetool für Treffen und Hall of Fame), Grundkonfiguration des CMS, Starker Fokus auf nutzerfreundliches und responsives Design, Web-Entwicklung mit C# und ASP.NET.
Individuelle Themenstellung:Entwicklung zweier CMS-Module: (Anmeldetool für Treffen und Hall of Fame), Grundkonfiguration des CMS, Starker Fokus auf nutzerfreundliches und responsives Design, Web-Entwicklung mit C# und ASP.NET.
## Fachliches Umfeld(Technologien)
Im fachlichen Umfeld dieser Diplomarbeit kommt das Content-Management-System Oqtane zum Einsatz. Oqtane basiert auf modernen Webtechnologien wie ASP.NET Core und der Plattform .NET und ermöglicht die Entwicklung modularer und skalierbarer Webanwendungen. Durch seine komponentenbasierte Architektur können Funktionen in Form von Modulen flexibel entwickelt und in die Anwendung integriert werden. Dies erleichtert sowohl die Erweiterbarkeit als auch die Wartung der Plattform. Besonders im Kontext dieser Arbeit bietet Oqtane eine geeignete Grundlage, um eine dynamische und benutzerorientierte Alumni-Plattform umzusetzen, da sowohl Inhalte als auch Benutzerverwaltung effizient verwaltet werden können.
Im fachlichen Umfeld dieser Diplomarbeit kommt das Content-Management-System Oqtane zum Einsatz. Oqtane basiert auf modernen Webtechnologien wie ASP.NET Core und der Plattform .NET und ermöglicht die Entwicklung modularer und skalierbarer Webanwendungen. Durch seine komponentenbasierte Architektur können Funktionen in Form von Modulen flexibel entwickelt und in die Anwendung integriert werden. Dies erleichtert sowohl die Erweiterbarkeit als auch die Wartung der Plattform. Besonders im Kontext dieser Arbeit bietet Oqtane eine geeignete Grundlage, um eine dynamische und benutzerorientierte Alumni-Plattform umzusetzen, da sowohl Inhalte als auch Benutzerverwaltung effizient verwaltet werden können.
Siehe Details unter: Konstantin Hintermayer individueller Teil
@@ -55,39 +61,39 @@ Siehe Details unter: Konstantin Hintermayer individueller Teil
### Hauptziele
- **HZ01 Verwaltung von Absolventenprofilen**
Das System ermöglicht die zentrale Erstellung und Pflege individueller Profile für Absolventen.
Das System ermöglicht die zentrale Erstellung und Pflege individueller Profile für Absolventen.
- **HZ02 Organisation von Veranstaltungen**
Die Applikation stellt Funktionen zur Planung und Durchführung von Vereinstreffen und Events bereit.
Die Applikation stellt Funktionen zur Planung und Durchführung von Vereinstreffen und Events bereit.
- **HZ03 Darstellung der Hall of Fame**
Besondere Leistungen und Erfolge von Absolventen werden in einer digitalen Ehrengalerie präsentiert.
Besondere Leistungen und Erfolge von Absolventen werden in einer digitalen Ehrengalerie präsentiert.
- **HZ04 Firmen- und Jobstellenmarkt**
Integration einer Plattform für Stellenangebote, Praktika und die Vernetzung mit Partnerunternehmen.
Integration einer Plattform für Stellenangebote, Praktika und die Vernetzung mit Partnerunternehmen.
- **HZ05 Zugriffsverwaltung und Sicherheit**
Implementierung einer rollenbasierten Zugriffskontrolle und Gewährleistung der Datensicherheit nach DSGVO-Standard.
Implementierung einer rollenbasierten Zugriffskontrolle und Gewährleistung der Datensicherheit nach DSGVO-Standard.
- **HZ06 Schülerzugang und CMS**
Einbindung eines Redaktionssystems für Beiträge und eines speziellen Zugangs für aktuelle Schüler.
Einbindung eines Redaktionssystems für Beiträge und eines speziellen Zugangs für aktuelle Schüler.
### Hardwareanforderungen und Infrastruktur
- **HW01 Benutzerkapazität (300 Nutzer)**
Das System unterstützt mindestens 300 gleichzeitig registrierte Benutzer für Administration und Nutzung.
Das System unterstützt mindestens 300 gleichzeitig registrierte Benutzer für Administration und Nutzung.
- **HW02 Aktive Zugriffsrate (50 Zugriffe/Tag)**
Die Infrastruktur ist auf ca. 50 tägliche aktive Nutzer ohne Performanceverluste ausgelegt.
Die Infrastruktur ist auf ca. 50 tägliche aktive Nutzer ohne Performanceverluste ausgelegt.
- **HW03 Einfache Skalierbarkeit**
Die Architektur erlaubt eine flexible Erweiterung der Ressourcen ohne strukturelle Änderungen.
Die Architektur erlaubt eine flexible Erweiterung der Ressourcen ohne strukturelle Änderungen.
- **HW04/05 Hochverfügbarkeit (99,5 %)**
Der Betrieb erfolgt auf skalierbaren Cloud-Servern mit einer angestrebten Verfügbarkeit von 99,5 % pro Jahr.
Der Betrieb erfolgt auf skalierbaren Cloud-Servern mit einer angestrebten Verfügbarkeit von 99,5 % pro Jahr.
- **HW07 Disaster Recovery (24h)**
Im Falle eines Totalausfalls muss das System innerhalb von 24 Stunden wieder benutzbar sein.
Im Falle eines Totalausfalls muss das System innerhalb von 24 Stunden wieder benutzbar sein.
**HW12/13 Automatisierte Sicherung**
Implementierung einer automatisierten Datensicherung für Datenbanken und Binaries auf unabhängigen Speichern.
@@ -98,64 +104,63 @@ Die Datenbank wird zur Ausfallsicherheit redundant geführt und nutzt automatisc
### Schnittstellenanforderungen
- **SnT-1 REST-API (Frontend/Backend)**
Bereitstellung einer API zur Kommunikation zwischen dem Oqtane-CMS und dem Blazor-Frontend für dynamische CRUD-Operationen.
Bereitstellung einer API zur Kommunikation zwischen dem Oqtane-CMS und dem Blazor-Frontend für dynamische CRUD-Operationen.
- **SnT-2 SMTP-E-Mail-Versand (Brevo)**
Einbindung des Brevo SMTP-Dienstes für den Versand von bis zu 300 transaktionalen E-Mails pro Tag.
Einbindung des Brevo SMTP-Dienstes für den Versand von bis zu 300 transaktionalen E-Mails pro Tag.
- **SnT-3 LinkedIn OAuth (Phase 2)**
Schnittstelle zur Authentifizierung und zum automatisierten Abruf von Profildaten über LinkedIn.
Schnittstelle zur Authentifizierung und zum automatisierten Abruf von Profildaten über LinkedIn.
### Software und Zugriffsverwaltung
- **SW-1/2 Barrierefreiheit und Browser-Support**
Unterstützung gängiger Browser und Einhaltung des WCAG 2.1 AA Standards für Barrierefreiheit.
Unterstützung gängiger Browser und Einhaltung des WCAG 2.1 AA Standards für Barrierefreiheit.
- **SW-4 Sicherer Administrationszugriff**
Administrativer Zugriff erfolgt ausschließlich über eine verschlüsselte VPN-Verbindung (Wireguard) und SSH.
Administrativer Zugriff erfolgt ausschließlich über eine verschlüsselte VPN-Verbindung (Wireguard) und SSH.
- **ZUG-14 Authentifizierung und Rollen**
Implementierung klassischer Login-Verfahren, Passwort-Reset-Funktionen und einer detaillierten Benutzerverwaltung für Administratoren.
Implementierung klassischer Login-Verfahren, Passwort-Reset-Funktionen und einer detaillierten Benutzerverwaltung für Administratoren.
- **ZUG-6/7 Magic Link und 2FA (Phase 2)**
Erweiterung der Sicherheit durch passwortlose Anmeldung via E-Mail-Link und Zwei-Faktor-Authentifizierung.
Erweiterung der Sicherheit durch passwortlose Anmeldung via E-Mail-Link und Zwei-Faktor-Authentifizierung.
### Funktionsmodule (Phase 2)
- **HoF-1/2 Hall of Fame Funktionen**
Nutzer können ihre Erfolge online präsentieren und als ansprechendes PDF für Treffen exportieren.
Nutzer können ihre Erfolge online präsentieren und als ansprechendes PDF für Treffen exportieren.
- **JOB-1/2 Job- und Praktikumsbörse**
Plattform für Stellenanzeigen und Bewerbungen inklusive Dashboard für Arbeitgeber und statistischen Auswertungen.
Plattform für Stellenanzeigen und Bewerbungen inklusive Dashboard für Arbeitgeber und statistischen Auswertungen.
- **PRE-13 Premiumbereich**
Exklusiver Zugang für Premiummitglieder inklusive Einsicht in Ingenieuranträge und erweiterter Event-Organisation.
Exklusiver Zugang für Premiummitglieder inklusive Einsicht in Ingenieuranträge und erweiterter Event-Organisation.
- **ScB-14 Schwarzes Brett**
Ein interaktiver Feed für Nachrichten, Event-Ankündigungen und Werbung mit integriertem Meldesystem für Inhalte.
Ein interaktiver Feed für Nachrichten, Event-Ankündigungen und Werbung mit integriertem Meldesystem für Inhalte.
- **AfT-15 Anmeldetool für Treffen**
Umfassendes Tool zur Eventerstellung, zum Versand von Einladungen (E-Mail/SMS) und zur Zielgruppenfilterung.
Umfassendes Tool zur Eventerstellung, zum Versand von Einladungen (E-Mail/SMS) und zur Zielgruppenfilterung.
- **Pro-14 Erweiterte Profilverwaltung**
Nutzer können ihre Daten manuell pflegen oder automatisiert mit ihrem LinkedIn-Profil abgleichen lassen.
Nutzer können ihre Daten manuell pflegen oder automatisiert mit ihrem LinkedIn-Profil abgleichen lassen.
### Daten und Dokumentation
- **DB-1 PostgreSQL Datenbank**
Entwicklung eines relationalen Datenbankdesigns inklusive Indizierung und Verschlüsselung zur Gewährleistung der Datenintegrität.
Entwicklung eines relationalen Datenbankdesigns inklusive Indizierung und Verschlüsselung zur Gewährleistung der Datenintegrität.
- **DOK-16 Projektdokumentation**
Erstellung aller notwendigen Handbücher (Benutzer, Admin, Git) und des Disaster-Recovery-Handbuchs.
Erstellung aller notwendigen Handbücher (Benutzer, Admin, Git) und des Disaster-Recovery-Handbuchs.
### Nicht-Ziele
- **NZ01 Zahlungsprozesse**
Die technische Abwicklung von Zahlungen im Premiumbereich liegt außerhalb des Projektscopes.
Die technische Abwicklung von Zahlungen im Premiumbereich liegt außerhalb des Projektscopes.
- **NZ02 Externe Kalenderlösungen**
Die Integration externer Dienste wie V-Calendar oder V-Event ist nicht vorgesehen.
Die Integration externer Dienste wie V-Calendar oder V-Event ist nicht vorgesehen.
## Aufgabenverteilung
@@ -184,35 +189,36 @@ Die Integration externer Dienste wie V-Calendar oder V-Event ist nicht vorgesehe
### Meilensteine
| # | Datum | Beschreibung |
| :--- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| *1* | *19.09.2025* | Fertigstellung und Abgabe des Diplomarbeitsantrags. |
| *2* | *30.10.2025* | [cite_start]Server-Setup mit SSH-Zugriff [cite: 83][cite_start], CMS-Grundkonfiguration (Oqtane) im SZU-Design [cite: 69, 83][cite_start], Implementierung der Eingabemaske und API für das Anmeldetool [cite: 137] [cite_start]sowie Erstellung der DSGVO-Richtlinien [cite: 38] [cite_start]und Backupstrategie[cite: 55, 62]. |
| *3* | *27.11.2025* | [cite_start]Entwicklung grafischer Auswertungen für Anmeldedaten [cite: 120] [cite_start]und Integration der OAuth-Authentifizierung zum automatisierten Abruf von Profildaten[cite: 78, 148]. |
| *4* | *18.12.2025* | Realisierung des Schwarzen Bretts inkl. [cite_start]Sperrfunktion für Administratoren [cite: 133][cite_start], Entwicklung des Hall of Fame Moduls mit PDF-Generierung [cite: 105] [cite_start]sowie Aufbau der Premiumkunden-Verwaltung[cite: 113]. |
| *5* | *21.01.2026* | [cite_start]Erstellung der technischen Systemdokumentation [cite: 155][cite_start], Durchführung von Modultests und Implementierung der Premium-Serviceverwaltung[cite: 113]. |
| *6* | *08.02.2026* | [cite_start]Projektabschluss der Infrastruktur-Tasks, Übergabe der Disaster-Recovery-Skripte [cite: 58] [cite_start]und Finalisierung der gesamten Projektdokumentation[cite: 155]. |
| *7* | *12.03.2026* | Finale Abgabe des Diplomarbeitsbuchs. |
| *8* | *22.04.2026* | Defensio (Projektabschluss). |
| # | Datum | Beschreibung |
| :-- | :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| _1_ | _19.09.2025_ | Fertigstellung und Abgabe des Diplomarbeitsantrags. |
| _2_ | _30.10.2025_ | [cite_start]Server-Setup mit SSH-Zugriff [cite: 83][cite_start], CMS-Grundkonfiguration (Oqtane) im SZU-Design [cite: 69, 83][cite_start], Implementierung der Eingabemaske und API für das Anmeldetool [cite: 137] [cite_start]sowie Erstellung der DSGVO-Richtlinien [cite: 38] [cite_start]und Backupstrategie[cite: 55, 62]. |
| _3_ | _27.11.2025_ | [cite_start]Entwicklung grafischer Auswertungen für Anmeldedaten [cite: 120] [cite_start]und Integration der OAuth-Authentifizierung zum automatisierten Abruf von Profildaten[cite: 78, 148]. |
| _4_ | _18.12.2025_ | Realisierung des Schwarzen Bretts inkl. [cite_start]Sperrfunktion für Administratoren [cite: 133][cite_start], Entwicklung des Hall of Fame Moduls mit PDF-Generierung [cite: 105] [cite_start]sowie Aufbau der Premiumkunden-Verwaltung[cite: 113]. |
| _5_ | _21.01.2026_ | [cite_start]Erstellung der technischen Systemdokumentation [cite: 155][cite_start], Durchführung von Modultests und Implementierung der Premium-Serviceverwaltung[cite: 113]. |
| _6_ | _08.02.2026_ | [cite_start]Projektabschluss der Infrastruktur-Tasks, Übergabe der Disaster-Recovery-Skripte [cite: 58] [cite_start]und Finalisierung der gesamten Projektdokumentation[cite: 155]. |
| _7_ | _12.03.2026_ | Finale Abgabe des Diplomarbeitsbuchs. |
| _8_ | _22.04.2026_ | Defensio (Projektabschluss). |
### Sprints
| # | Beginn | Ende | Hinweis | Meilensteine |
| :--- | :--------- | :--------- | :--------------- | :------------- |
| 1 | 02.10.2025 | 16.10.2025 | | |
| 2 | 16.10.2025 | 30.10.2025 | | 1. Meilenstein |
| 3 | 30.10.2025 | 13.11.2025 | Herbstferien | |
| 4 | 13.11.2025 | 27.11.2025 | | 2. Meilenstein |
| 5 | 27.11.2025 | 11.12.2025 | | |
| 6 | 11.12.2025 | 25.12.2025 | Weihnachtsferien | 3. Meilenstein |
| 7 | 25.12.2025 | 08.01.2026 | Weihnachtsferien | |
| 8 | 08.01.2026 | 22.01.2026 | | 4. Meilenstein |
| 9 | 22.01.2026 | 05.02.2026 | Semesterferien | |
| 10 | 05.02.2026 | 19.02.2026 | | 5. Meilenstein |
| 11 | 19.02.2026 | 05.03.2026 | | |
| 12 | 05.03.2026 | 19.03.2026 | | 6. Meilenstein |
| # | Beginn | Ende | Hinweis | Meilensteine |
| :-- | :--------- | :--------- | :--------------- | :------------- |
| 1 | 02.10.2025 | 16.10.2025 | | |
| 2 | 16.10.2025 | 30.10.2025 | | 1. Meilenstein |
| 3 | 30.10.2025 | 13.11.2025 | Herbstferien | |
| 4 | 13.11.2025 | 27.11.2025 | | 2. Meilenstein |
| 5 | 27.11.2025 | 11.12.2025 | | |
| 6 | 11.12.2025 | 25.12.2025 | Weihnachtsferien | 3. Meilenstein |
| 7 | 25.12.2025 | 08.01.2026 | Weihnachtsferien | |
| 8 | 08.01.2026 | 22.01.2026 | | 4. Meilenstein |
| 9 | 22.01.2026 | 05.02.2026 | Semesterferien | |
| 10 | 05.02.2026 | 19.02.2026 | | 5. Meilenstein |
| 11 | 19.02.2026 | 05.03.2026 | | |
| 12 | 05.03.2026 | 19.03.2026 | | 6. Meilenstein |
## Projektumfeld Analyse
### Grafische Darstellung
```mermaid
@@ -261,37 +267,39 @@ Die Integration externer Dienste wie V-Calendar oder V-Event ist nicht vorgesehe
class N5,N6,N7,L2 blue;
class N8,L3 red;
class Hub center;
```
### Beschreibung der wichtigsten Umfelder
### Tabelle 3: Projektumfelder
| # | Bezeichnung | Beschreibung | Bewertung |
| :--- | :--------------------- | :------------------------------- | :-------- |
| 1 | Konstantin Hintermayer | Projektleiter | + |
| 2 | Florian Edlmayer | Projektmitarbeiter | + |
| 3 | Adam Gaiswinkler | Projektmitarbeiter | + |
| 4 | Ing. Thomas Gürth | Projektbetreuer | + |
| 5 | Absolventenverein | Auftraggeber des Alumnihubs | +/- |
| 6 | Schülerinnen/Schüler | Zielgruppe der SZU Ungargasse | +/- |
| 7 | Lehrerinnen/Lehrer | Lehrpersonal der SZU Ungargasse | +/- |
| 8 | Konkurrenz | Potenziell vorhandene Konkurrenz | - |
| # | Bezeichnung | Beschreibung | Bewertung |
| :-- | :--------------------- | :------------------------------- | :-------- |
| 1 | Konstantin Hintermayer | Projektleiter | + |
| 2 | Florian Edlmayer | Projektmitarbeiter | + |
| 3 | Adam Gaiswinkler | Projektmitarbeiter | + |
| 4 | Ing. Thomas Gürth | Projektbetreuer | + |
| 5 | Absolventenverein | Auftraggeber des Alumnihubs | +/- |
| 6 | Schülerinnen/Schüler | Zielgruppe der SZU Ungargasse | +/- |
| 7 | Lehrerinnen/Lehrer | Lehrpersonal der SZU Ungargasse | +/- |
| 8 | Konkurrenz | Potenziell vorhandene Konkurrenz | - |
## Risikoanalyse
### Tabelle 4: Risiken
| # | Bezeichnung | Beschreibung | Wahrscheinlichkeit (%) | Auswirkung (%) | Risikowert |
| :--- | :----------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------: | :------------: | :--------: |
| 1 | Infrastruktur | [cite_start]Instabilität oder Fehlkonfiguration der Cloud-Server (Hetzner CX22), die den Live-Betrieb unterbrechen[cite: 45, 51]. | 60 | 90 | 5400 |
| 2 | Datenverlust | [cite_start]Kritischer Ausfall der Datenbank ohne erfolgreiche Wiederherstellung durch automatisierte Backups[cite: 51, 62]. | 15 | 95 | 1425 |
| 3 | DSGVO-Verstoß | [cite_start]Fehlende Konformität bei der Speicherung personenbezogener Daten oder beim Opt-In-Verfahren[cite: 38, 39, 128]. | 10 | 100 | 1000 |
| 4 | Sicherheitslücke | [cite_start]Unbefugter Zugriff auf das System durch Schwachstellen in der VPN- oder SSH-Verbindung[cite: 83]. | 15 | 85 | 1275 |
| 5 | API-Schnittstellen | [cite_start]Ausfall oder Inkompatibilität externer Dienste wie LinkedIn OAuth oder Brevo Mailservice[cite: 74, 78]. | 30 | 50 | 1500 |
| 6 | Performance | [cite_start]Beeinträchtigung der Systemleistung bei steigenden Zugriffszahlen in Phase 2[cite: 44, 46]. | 40 | 40 | 1600 |
| 7 | Wiederherstellung | [cite_start]Überschreitung des geplanten Disaster-Recovery-Zeitraums von 24 Stunden[cite: 51, 66]. | 25 | 70 | 1750 |
| 8 | Oqtane-Integration | [cite_start]Komplexität bei der Entwicklung und Einbindung benutzerdefinierter CMS-Module[cite: 69, 72]. | 30 | 45 | 1350 |
| 9 | Dokumentation | [cite_start]Lückenhafte technische Dokumentation erschwert die Wartung durch den Absolventenverein[cite: 155]. | 20 | 30 | 600 |
| # | Bezeichnung | Beschreibung | Wahrscheinlichkeit (%) | Auswirkung (%) | Risikowert |
| :-- | :----------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :--------------------: | :------------: | :--------: |
| 1 | Infrastruktur | [cite_start]Instabilität oder Fehlkonfiguration der Cloud-Server (Hetzner CX22), die den Live-Betrieb unterbrechen[cite: 45, 51]. | 60 | 90 | 5400 |
| 2 | Datenverlust | [cite_start]Kritischer Ausfall der Datenbank ohne erfolgreiche Wiederherstellung durch automatisierte Backups[cite: 51, 62]. | 15 | 95 | 1425 |
| 3 | DSGVO-Verstoß | [cite_start]Fehlende Konformität bei der Speicherung personenbezogener Daten oder beim Opt-In-Verfahren[cite: 38, 39, 128]. | 10 | 100 | 1000 |
| 4 | Sicherheitslücke | [cite_start]Unbefugter Zugriff auf das System durch Schwachstellen in der VPN- oder SSH-Verbindung[cite: 83]. | 15 | 85 | 1275 |
| 5 | API-Schnittstellen | [cite_start]Ausfall oder Inkompatibilität externer Dienste wie LinkedIn OAuth oder Brevo Mailservice[cite: 74, 78]. | 30 | 50 | 1500 |
| 6 | Performance | [cite_start]Beeinträchtigung der Systemleistung bei steigenden Zugriffszahlen in Phase 2[cite: 44, 46]. | 40 | 40 | 1600 |
| 7 | Wiederherstellung | [cite_start]Überschreitung des geplanten Disaster-Recovery-Zeitraums von 24 Stunden[cite: 51, 66]. | 25 | 70 | 1750 |
| 8 | Oqtane-Integration | [cite_start]Komplexität bei der Entwicklung und Einbindung benutzerdefinierter CMS-Module[cite: 69, 72]. | 30 | 45 | 1350 |
| 9 | Dokumentation | [cite_start]Lückenhafte technische Dokumentation erschwert die Wartung durch den Absolventenverein[cite: 155]. | 20 | 30 | 600 |
### Grafische Darstellung
@@ -314,7 +322,9 @@ quadrantChart
Oqtane_Integration: [0.45, 0.3]
Dokumentation: [0.3, 0.2]
```
## Projektressourcen
### Persönliche Ressourcen(geplant)
| Teammitglied | Personenstunden |
@@ -323,10 +333,9 @@ quadrantChart
| **Florian Edlmayer** | 180 |
| **Adam Gaiswinkler** | 180 |
| **SUMME** | **540** |
### Persönliche Ressourcen(real)
## Projektmanagement mit Scrum
### Grundlagen der Scrum-Methode
@@ -398,7 +407,6 @@ Darüber hinaus fördert Scrum die Zusammenarbeit innerhalb des Teams. Regelmä
Insgesamt ermöglicht Scrum eine strukturierte, flexible und transparente Vorgehensweise bei der Entwicklung von Webanwendungen. Dadurch kann die Qualität der entwickelten Software verbessert und der Entwicklungsprozess effizienter gestaltet werden.
# Allgemeines
## Danksagung
@@ -414,4 +422,3 @@ Ein besonders komplexer Aspekt dieser Arbeit war die Infrastruktur, für die im
Als wir im Oktober kurzfristig eine neue Produktionsumgebung benötigten, wurde uns unbürokratisch durch die Schule geholfen. Herr Prof. Harald Dassler und Herr Prof. Andreas Resch haben uns zur Weiterentwicklung eine virtuelle Maschine zur Verfügung gestellt und den externen Zugriff ermöglicht. Es ist nicht selbstverständlich, dass in einer Institution dieser Größe ein solcher Wunsch so schnell und unkompliziert umgesetzt wird.
Für den „frischen Wind“ und das sorgfältige Korrekturlesen der Arbeit bedanken wir uns herzlich bei Frau Prof. Gertrude Brindlmayer. Ihr geschulter Blick auf Details, die dem Team im Arbeitsprozess entgangen waren, stellte eine große Bereicherung für die finale Qualität dieser Arbeit dar.

View File

@@ -1,3 +1,5 @@
\cleardoublepage
# Adam Gaiswinkler
## Einleitung

View File

@@ -1,3 +1,5 @@
\cleardoublepage
# Florian Edlmayer
## Einleitung des individuellen Teils

View File

@@ -1,3 +1,5 @@
\cleardoublepage
# Konstantin Hintermayer
## Einleitung des individuellen Teils
@@ -111,6 +113,8 @@ Zusätzlich gab es einen Administrationszugang zu den Servern, welcher über SSH
| Schule | Highport |
| LiveDesign | IPSEC VPN |
Table: SSH Zugänge in den unterschiedlichen Umgebungen
Die VPN basierten Zugänge sind tendenziell schwieriger zu finden und auszunutzen, während die Lösung in der Schule mittels Highport den SSH Service öffentlich erreichbar macht. Durch den `Highport` ist der SSH Service schwieriger zu finden. Zur Authentifizierung mit SSH verwenden wir SSH-Keys, da diese durch ihre komplexität sicherer sind, als Passwörter.
### Entwicklung mit ASP.NET

View File

@@ -0,0 +1,3 @@
# Tabellenverzeichnis
\listoftables

View File

@@ -0,0 +1,3 @@
# Abbildungsverzeichnis
\listoffigures

View File

@@ -4,6 +4,8 @@ pandoc \
02-Diplomarbeitsbuch-individueller-teil-Adam-Gaiswinkler.md \
03-Diplomarbeitsbuch-individueller-teil-Florian-Edlmayer.md \
04-Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md \
97-tabellenverzeichnis.md \
98-abbildungsverzeichnis.md \
99-bibliographie.md \
--toc \
--toc-depth=3 \
@@ -16,5 +18,6 @@ pandoc \
-H _extensions/header/header.tex \
-V geometry:margin=2cm \
-V toc-title="Inhaltsverzeichnis" \
--lof \
-V fontsize=12pt \
-V linestretch=1.5 \
-o diplomarbeitsbuch.pdf