Version: 1.1 vom 28. Dezember 2025
Status: Auf req42 adaptiert.
Hinweis: Dieses Dokument entspricht von der Struktur dem req42 Template von Peter Hruschka und Markus Meuthen.

1. Vision/Ziele

Aufgabenstellung

Ein computerunterstütztes Bewertungssystems für eine regionale Kinderliga im Kunstschwimmen. Das System unterstützt die komplette Wettkampforganisation von der Saisonplanung über die Anmeldung bis zur Live-Bewertung und Ergebnisauswertung.

Das gesamte System ist als Fallstudie für Schulungen in Softwarearchitektur und -engineering geplant.

Hinweis zur Fallgestaltung: Diese Fallstudie verfolgt primär didaktische Ziele und ist vernachlässigt daher (möglicherweise) organisatorische, sportliche oder wirtschaftliche Realitätsnähe. Sie dient dazu, Prinzipien, Methoden und Entscheidungsprozesse der Softwarearchitektur und des Software Engineerings nachvollziehbar zu veranschaulichen. Sowohl Vereinfachungen wie auch übermässig kompliziert anmutende Anforderungen sind deswegen beabsichtigt.

Fokus: Das System berücksichtigt primär das Figurenschwimmen einzelner Kinder (kein Synchronschwimmen).


2. Stakeholder

Rolle Beschreibung Erwartungen
Präsident Leiter der Kinderliga Saisonplanung, Wettkampforganisation, Reporting
Assistent des Präsidenten Unterstützung bei Verwaltung Figurenkatalog verwalten, Stammdaten pflegen
Verein Sportverein mit Teams Kinder anmelden, Teamdaten verwalten
Kind Teilnehmer Sich zu Wettkämpfen anmelden
Offizieller Kampf-/Punktrichter Wettkampfplanung, Durchführung, Bewertung
Punktrichter Stationsverantwortlicher Reibungsloser Ablauf an Station, Endpunkte berechnen
Schwimmverband Übergeordnete Organisation Statusänderungen, Katalogaktualisierung

3. Scope-Abgrenzung

Fachlicher Kontext

[Verein] ──> AQUARIUS <── [Präsident/Assistent]
[Kind] ──> AQUARIUS <── [Offizieller]
[Punktrichter] ──> AQUARIUS
[Schwimmverband] ──> AQUARIUS

Scope

In Scope:

  • ✅ Figurenschwimmen-Bewertung
  • ✅ Saisonplanung und Wettkampforganisation
  • ✅ Anmeldungsverwaltung
  • ✅ Live-Bewertung mit Punkteerfassung
  • ✅ Einzel- und Teamwertung (nur Figuren)
  • ✅ Stammdatenverwaltung

Out of Scope:

  • ❌ Synchronschwimmen-Bewertung (erwähnt für Teamwertung, aber nicht im Detail)
  • ❌ Finanzielle Abwicklung
  • ❌ Externe Schnittstellen zu anderen Systemen

4. Product Backlog

4.1 Epics

  • E01 Saison- & Stammdatenverwaltung: Alles rund um die Vorbereitung einer Saison (Figuren, Vereine, Wettkämpfe).
  • E02 Anmeldung & Teilnehmer: Verwaltung der Anmeldungen durch Vereine/Kinder.
  • E03 Wettkampfplanung: Konfiguration des konkreten Wettkampftages (Stationen, Gruppen).
  • E04 Durchführung & Bewertung: Die Live-Applikation im Schwimmbad.
  • E05 Auswertung & Reporting: Ergebnisse berechnen, Ranglisten, Urkunden.

4.2 Features

F01 Saisonplanung (zu E01) Der Präsident plant die Saison, legt Wettkämpfe fest und definiert den Figurenkatalog.

F02 Stammdatenpflege (zu E01) Verwaltung von Vereinen, Teams, Schwimmbädern und Offiziellen.

F03 Anmeldungsmanagement (zu E02) Registrierung von Kindern, Prüfung der Startberechtigung und Durchführung der Wettkampfanmeldung inkl. Figurenwahl.

F04 Stations- & Gruppenplanung (zu E03) Einteilung der Kinder in Gruppen, Zuweisung zu Stationen und Erstellung von Rotationsplänen.

F05 Live-Bewertung (zu E04) Digitale Erfassung der Wertungen durch Kampfrichter, sofortige Berechnung der Endpunkte pro Start.

F06 Ergebnisdienst (zu E05) Berechnung von Gesamtpunkten, Erstellung von Ranglisten nach Altersgruppen und Export der Ergebnisse.

4.3 User-Storys (Anforderungen)

Zu F01 Saisonplanung

  • FA-01: Als Präsident möchte ich eine Saison mit Zeitraum anlegen.
  • FA-02: Als Präsident möchte ich die Figuren für die Saison definieren.
  • FA-03: Als System muss ich sicherstellen, dass Figuren einen Schwierigkeitsfaktor haben.
  • FA-04: Als Präsident möchte ich Wettkämpfe mit Datum und Schwimmbad planen.
  • FA-05: Als Präsident möchte ich den Wettkampfplan exportieren/drucken.
  • FA-06: Als System möchte ich Kinder rechtzeitig über die Saison informieren.

Zu F02 Stammdatenpflege

  • FA-10: Als Assistent möchte ich den Figurenkatalog verwalten.
  • FA-11: Als Assistent möchte ich einen neuen Figurenkatalog importieren.
  • FA-12: Als Assistent möchte ich alte Kataloge durch neue ersetzen.
  • FA-13: Als Assistent möchte ich Vereine anlegen und verwalten.
  • FA-14: Als Assistent möchte ich Teams verwalten.
  • FA-15: Als Assistent möchte ich Schwimmbäder mit Adresse verwalten.
  • FA-16: Als Assistent möchte ich Offizielle registrieren.

Zu F03 Anmeldungsmanagement

  • FA-20: Als Verein möchte ich Kinder registrieren (Name, Alter, Adresse, Team).
  • FA-21: Als System muss ich die Vereinszugehörigkeit speichern.
  • FA-30: Als System muss ich Kinder eindeutig identifizieren können.
  • FA-40: Als Kind möchte ich verfügbare Wettkämpfe sehen.
  • FA-42: Als Kind möchte ich Figuren für den Wettkampf auswählen.
  • FA-46: Als System muss ich die Figurenwahl validieren (altersgerecht).
  • FA-48: Als System muss ich Doppelmeldungen erkennen.
  • FA-50: Als System muss ich eine freie Startnummer finden und vergeben.

Zu F04 Stations- & Gruppenplanung

  • FA-60: Als Offizieller möchte ich Stationen anlegen (z.B. 4 Ecken).
  • FA-61: Als Offizieller möchte ich Kampfrichter den Stationen zuweisen.
  • FA-64: Als System muss ich angemeldete Kinder in Gruppen einteilen.
  • FA-65: Als System muss ich Durchgänge planen (Figur, Station, Gruppe).
  • FA-67: Als System sollte ich einen Rotationsplan erstellen.

Zu F05 Live-Bewertung

  • FA-70: Als Punktrichter möchte ich Durchgänge an Stationen starten.
  • FA-71: Als System muss ich die Startnummer des nächsten Kindes anzeigen.
  • FA-74: Als Kampfrichter möchte ich vorläufige Punkte eingeben.
  • FA-75: Die Eingabe muss touch-optimiert sein (große Buttons).
  • FA-77: Als System muss ich die höchste und niedrigste Punktzahl streichen.
  • FA-79: Als System muss ich die Endpunkte berechnen (Durchschnitt x Schwierigkeit).

Zu F06 Ergebnisdienst

  • FA-90: Als System muss ich Gesamtpunkte pro Kind berechnen.
  • FA-91: Als System muss ich Einzelranglisten pro Altersgruppe erstellen.
  • FA-97: Als Offizieller möchte ich Endergebnisse exportieren/drucken.
  • FA-98: Als Offizieller möchte ich Urkunden generieren.

5. Modelle zur Unterstützung

5.1 Prozessmodelle

Anmeldungsprozess:

START -> [Kind identifizieren] -> [Wettkampf prüfen] -> [Anmeldung registrieren] -> ENDE

Wettkampfdurchführung: Vorbereitung -> Durchführung (Startnummer aufrufen, Figur vorführen, Bewertung eingeben, Punkte berechnen) -> Auswertung

5.2 Datenmodell (Logisch)

Saison (1) ──┬── (*) Wettkampf
             └── (*) Figur

Verein (1) ──── (*) Team (1) ──── (*) Kind

Wettkampf (1) ──┬── (*) Station
                ├── (*) Anmeldung
                ├── (*) Gruppe
                └── (1) Schwimmbad

Station (1) ──┬── (*) Durchgang
              ├── (*) Kampfrichter
              └── (1) Punktrichter

Durchgang (1) ──┬── (1) Figur
                ├── (1) Gruppe
                └── (*) Start

Start (1) ──┬── (1) Kind
            ├── (1) Figur
            └── (*) Bewertung

6. Qualitätsanforderungen

ID Qualitätsmerkmal Anforderung / Messkriterium
QA-01 Benutzbarkeit Intuitive Bedienung ohne Schulung (80% Erfolgsrate beim ersten Versuch).
QA-02 Benutzbarkeit Touch-optimierte Oberfläche: Buttons mind. 44x44px.
QA-10 Verfügbarkeit Offline-Fähigkeit: 100% der Durchführungs-Funktionen müssen ohne Netz funktionieren.
QA-11 Verfügbarkeit Sync innerhalb 30s nach Verbindungsaufbau.
QA-20 Performance Initial Load < 3 Sekunden.
QA-22 Performance Bewertungsberechnung < 100ms.
QA-30 Korrektheit 100% Testabdeckung der Berechnungslogik.
QA-31 Korrektheit Transaktionale Speicherung, keine Datenverluste.

7. Randbedingungen

Technische Randbedingungen

  • TR-01: Web-Anwendung (keine Installation).
  • TR-02: Mobile-First / Touch-Optimiert.
  • TR-03: PWA (Offline-fähig).
  • TR-04: Cloud-Datenbank (Turso/libSQL).
  • TR-06: Browser-Kompatibilität (Chrome, Firefox, Safari, Edge).

Organisatorische Randbedingungen

  • OR-01: Zwei Betriebsmodi (Planung/Büro vs. Durchführung/Schwimmbad).
  • OR-03: Durchführung muss offline funktionieren.
  • OR-04: Automatische Datensynchronisation.

8. Domänen-Terminologie

Begriff Definition
Anmeldung Wunsch eines Kindes, an einem Wettkampf teilzunehmen.
Durchgang Teil eines Wettkampfes: Eine Gruppe führt eine Figur an einer Station vor.
Figur Vorgeschriebener Bewegungsablauf mit Schwierigkeitsfaktor.
Gruppe Zusammengefasste Kinder für den Wettkampfablauf.
Kampfrichter Offizieller, der die Ausführung bewertet (Notenvergabe).
Kind Startberechtigter Teilnehmer.
Punktrichter Stationsverantwortlicher, leitet den Durchgang, validiert Punkte.
Start (Versuch) Einmaliges Vorführen einer Figur durch ein Kind.
Station Ort am Becken (z.B. “Ecke 1”), wo bewertet wird.

9. Betriebsmittel & Personal

absichtlich frei gelassen


10. Teamstruktur

absichtlich frei gelassen


11. Roadmaps

absichtlich frei gelassen


12. Risiken/Annahmen

Risiken

  • R-01 Offline-Sync-Konflikte: Konflikte bei gleichzeitiger Bearbeitung. Mitigation: Last-Write-Wins für Bewertungen.
  • R-02 Komplexe Gruppenbildung: Algorithmus könnte scheitern. Mitigation: Fallback auf manuelle Zuweisung.
  • R-03 Touch-Bedienung: Stresssituation im Wettkampf. Mitigation: Große Buttons, Usability-Tests.
  • R-04 Netzwerkausfall: Kein Sync möglich. Mitigation: Queueing und Retry-Mechanismus.

Offene Punkte

  • Genaue Anzahl Kampfrichter pro Station?
  • Details zur Synchronschwimmen-Wertung (falls später relevant)?
  • Authentifizierungskonzept im Detail?