Anhang zur Projektdokumentation

Aktueller Status

05.05.2026

  • Die Einreichung des Antrages ist erfolgt.

Anhang A: Technische Rahmenbedingungen

A.1 Vorhandene Systemumgebung

Schicht Technologie Version
Frontend-Framework Next.js (React) 16.0.4
Datenbankzugriff Prisma ORM 6.19.0
Datenbank PostgreSQL 16.4
Authentifizierung better-auth 1.4.1
Programmiersprache TypeScript
KI-Schnittstelle AuxData (extern, API)

Anhang B: Planung und Wirtschaftlichkeit

B.1 Detaillierter Zeitplan

PhaseTeilaufgabeStunden
AnalyseIst-Analyse, Anforderungen, Schnittstellen, WiBe16 Stunden
EntwurfSoll-Konzept, Schnittstellen, Testkonzept13 Stunden
ImplementierungBackend, Datenmodell, API, Frontend31 Stunden
TestFunktionstests, Validierung8 Stunden
DokumentationIHK-Doku, Benutzerdokumentation12 Stunden

B.2 Ressourcen und Betriebsmittel

  • Hardware: MacBook Pro (Bestand)
  • IDE: Visual Studio Code
  • Infrastruktur: Docker Desktop (lokale PostgreSQL-Instanz)
  • Laufzeit: Node.js (Open Source)
  • Schnittstelle: AuxData-API (Unternehmenslizenz)

B.3 Make-or-Buy-Gegenüberstellung

Kriterium Eigenentwicklung Externe Vergabe
Kosten Ca. 700€ ca. 5600€
Know-How-Gewinn Hoch (Intern) Gering
Anpassbarkeit Sehr hoch Mittel
Entscheidung Gewählt Abgelehnt

B.4 Nutzenkalkulation (Detailrechnung)

  • Techniker im System: 3
  • Anfragen pro Tag: 12 (Gesamt)
  • Ersparnis pro Anfrage: 1,5 Min.
  • Gesamtersparnis: 18 Min./Tag = 66 h/Jahr
  • Kalkulatorischer Stundensatz: 35 €/h

Anhang C: Analysephase

C.1 Ist-Zustand der Datenverarbeitung

  • Eingang: Nutzer sendet Frage über UI.
  • Verarbeitung: Backend leitet an AuxData weiter.
  • Lücke: source-Feld im JSON-Payload der API wird ignoriert.
  • Ausgang: Nur der reine Text (answer) wird an das Frontend gestreamt.

C.2 Vollständiges Lastenheft

Nr.AnforderungPriorität
L1Anzeige der Quellenverweise in der UIMuss
L2Angabe von Dokumentname und SeitenzahlMuss
L3Persistente Speicherung in PostgreSQLMuss
L4Rückwärtskompatibilität zu alten NachrichtenMuss
L5Erreichung einer Trefferquote von > 80 %Muss
L6Anklickbare Links zu den OriginaldokumentenSollte
L7Anzeige von TextzitatenKann

C.3 Aktivitätsdiagramm: Konversationsablauf

C.4 Risikomatrix

RisikoWahrscheinlichkeitAuswirkungMaßnahme
Variable DatenstrukturenHochMittelImplementierung einer Normalisierungslogik
Streaming-FehlerMittelHochSeparate Tests für SSE-Pfade
Datenbank-InkompatibilitätNiedrigHochNutzung von Optional-Feldern (null-safe)

Anhang D.1 Technisches Pflichtenheft (Auszug)

Nr.Technische Anforderung
P1Das message-Modell erhält ein Feld sources vom Typ JSON (jsonb)
P2Definition eines flexiblen TypeScript-Typs SourceReference
P3Kapselung der Quellenextraktion in einem eigenständigen Modul.
P4Robuste Normalisierung beliebiger Eingabestrukturen.
P5Begrenzung auf maximal 20 Quellen pro Nachricht (Datenbankschutz).
P6Limitierung von Zeichenketten (Titel: max. 1.000 Zeichen, URL: max. 2.048 Zeichen).
P7Getrennte Anpassung des synchronen Pfads und des Streaming-Pfads.
P8Streaming-Pfad sendet finale Quellen als dediziertes SSE-Ereignis.
P9Frontend speichert Quellen gebündelt nach Abschluss des Streams in der DB.
P10Interne URLs (localhost, 127.0.01) werden nicht als klickbare Links gerendert.

Anhang D.2 Erweitertes Datenbankmodell (ER-Modell)

Anhang D.3 TypeScript Interfaces und Event-Typen

Anhang E: Implementierungsphase

Anhang F.1 Detailliertes Testprotokoll

Nr.TestfallErwartungErgebnisStatus
T1Fachliche Anfrage (streaming)Quellen in Chat-UI sichtbarOKErfolgreich
T2Fachliche Anfrage (synchron)Quellen in Datenbank gespeichertOKErfolgreich
T3Nachricht ohne Quellen (Altdaten)Kein Fehler, kein QuellenbereichOKErfolgreich
T4Quellen nach Neustart ladenQuellen werden korrekt aus DB geladenOKErfolgreich
T5URL mit localhost als QuelleKein Link, Anzeige als reiner TextOKErfolgreich
T6Externe HTTPS-URLAnklickbarer Link („target_blank“)OKErfolgreich
T7Mehr als 20 QuellenMaximal 20 werden gespeichertOKErfolgreich
T8Titel > 1.000 ZeichenKürzung auf 1.000 ZeichenOKErfolgreich
T980 %-Kriterium (25 Anfragen)Mind. 20 von 25 mit Quellen (Ist: 92 %)OKErfolgreich
T10Sprachwechsel (DE/EN)Beschriftungen in korrekter SpracheOKErfolgreich

Anhang G: Projektabschluss

G.1 Soll-Ist-Zeitvergleich (Detail)

PhaseSollIstDifferenz
Analyse16 Stunden14 Stunden-2 Stunden
Entwurf13 Stunden13 Stunden0
Implementierung31 Stunden34 Stunden+3 Stunden
Test8 Stunden7 Stunden-1 Stunde
Dokumentation12 Stunden12 Stunden0
Gesamt80 Stunden80 Stunden0

G.2 Das Ende des Chats vor der Implementierung

G.3 Nach dem Abschluss des Projektes