SE1_Team_2/Unterlagen/Praesentation_KV_Anteil.md

81 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Präsentationsteil Kundenverwaltung (Gruppe H)
**Projekt:** Fakturierungssystem · SE1 Team 2 Hochschule Mannheim
**Modul:** Kundenverwaltung (Gruppe H)
**Vortragender:** _(Name einsetzen)_
**Stand:** 27.06.2026
**Bezug:** Fahrplan Kundenverwaltung v1.3, Modultestbericht KV v1.1, Modultestplan (KV-Teil)
---
## 1. Demo-Anteil
**Ziel:** In wenigen Minuten den vollständigen CRUD-Ablauf der Kundenverwaltung live zeigen ohne grafische Oberfläche, über die Konsolen-Demo `KundenverwaltungDemo.java`, da die Integration mit der GUI (Gruppe E) zum Zeitpunkt der Präsentation noch nicht vorliegt.
**Ablauf der Demonstration:**
1. **Kunde anlegen (F-KV-01):** Ein neuer Kunde („Muster GmbH“, Hauptstr. 1, 68159 Mannheim) wird angelegt. Das System vergibt automatisch eine fortlaufende `kundeId`.
2. **Kunde suchen (F-KV-03):** Suche nach dem Begriff „Muster“ liefert den soeben angelegten Kunden zurück.
3. **Alle Kunden auflisten:** Die Gesamtübersicht (`alle()`) zeigt sämtliche im System vorhandenen Kunden.
4. **Kunde bearbeiten (F-KV-02):** Die Telefonnummer des Kunden wird geändert; die Änderung wird sofort gespeichert und bei erneutem Abruf angezeigt.
5. **Löschsperre demonstrieren (F-KV-04, GR-05):** Der Kunde wird als „in einem Beleg referenziert“ markiert. Ein Löschversuch wird vom System mit einer eindeutigen Fehlermeldung abgewiesen der Kunde bleibt erhalten.
6. **Kunde löschen:** Nachdem die Referenz aufgehoben wurde, wird der Kunde erfolgreich gelöscht und ist anschließend nicht mehr auffindbar.
**Zeitbudget:** ca. 23 Minuten innerhalb des Team-Budgets von 2025 Minuten.
---
## 2. KI-Einsatz
Im Rahmen der Umsetzung des Moduls Kundenverwaltung wurde KI-Unterstützung (Claude, Anthropic) in folgenden Bereichen eingesetzt:
- **Strukturierung des Fahrplans:** Die Anforderungen aus dem Pflichtenheft (F-KV-01 … F-KV-04, GR-05, NF-ARCH-01) wurden mithilfe der KI in konkrete, nachvollziehbare Phasen und Arbeitspakete (P0P10) überführt, jeweils mit Rückbezug auf die jeweilige Anforderung.
- **Code- und Testerstellung:** Die KI hat insbesondere bei der nachträglichen Schließung eines offenen Punktes (OP-4: fehlende Methode zum Auflisten aller Kunden) eine konkrete Lösung (`KundeService.alle()`) sowie einen passenden Test im bestehenden Stil der Testklasse implementiert.
- **Unterstützung bei Git/Versionsverwaltung:** Hilfestellung bei der praktischen Durchführung eines Merges (Branch `feature/kundenverwaltung``main`), inklusive Fehleranalyse bei auftretenden Problemen (z. B. blockierter Editor, verwaister Lock-File).
- **Dokumentation:** Versionierte Fortschreibung des Fahrplans (v1.0 → v1.3) sowie Aktualisierung des Modultestberichts (v1.0 → v1.1).
**Erfahrung / Bewertung:** Die KI-Unterstützung hat den Arbeitsfortschritt deutlich beschleunigt, insbesondere bei der Strukturierung der Dokumentation und bei repetitiven, aber sorgfältig zu erstellenden Testfällen. Eine wichtige Grenze zeigte sich jedoch deutlich: Die von der KI vorgeschlagene Codeänderung (OP-4) konnte in der genutzten Arbeitsumgebung **nicht automatisiert kompiliert oder getestet** werden; die Überprüfung erfolgte ausschließlich durch manuelle Codedurchsicht. Zudem wurde die Erweiterung eigenständig vorgenommen, ohne vorherige Rückmeldung der Schnittstellen-Gegenseite (Gruppe E) einzuholen. Beides zeigt: **KI-generierter Code ersetzt nicht die eigene Verifikation und die Abstimmung im Team.**
---
## 3. Was wir nächstes Mal anders machen würden
- **Schnittstellenabstimmung früher einplanen:** Die Klärung der Schnittstellen K1K4 mit den Gruppen E und F (P0-3) wurde zugunsten der eigenen Implementierung zurückgestellt. Dadurch konnte die Integration (Phase 8) am Ende nicht mehr rechtzeitig nachgeholt werden, da der Code der anderen Gruppen nicht verfügbar war.
- **Änderungen am Schnittstellenvertrag konsequent gegenprüfen lassen:** Die nachträgliche Ergänzung von `alle()` (OP-4) wurde aus Zeitdruck eigenständig umgesetzt, statt zuvor eine kurze Rückmeldung von Gruppe E einzuholen. Im Nachgang wurde dies als offener Risikopunkt (OP-5) dokumentiert.
- **Dokumentation parallel statt nachträglich pflegen:** Die Versionierung des Fahrplans und des Modultestberichts erfolgte rückwirkend nach Abschluss der Implementierungsschritte. Eine durchgängige, sitzungsbegleitende Pflege hätte den Überblick über offene Punkte noch früher sichtbar gemacht.
---
## 4. Modultestplan-Ergebnisse
| Kennzahl | Ergebnis |
|---|---|
| Pflicht-Testfälle laut Modultestplan | MT-KV-01 … MT-KV-11 |
| Bestanden | **11 von 11 (100 %)** |
| Fehlgeschlagen | 0 |
| Line Coverage (`…kunde.service`) | **85 %** (Anforderung NF-TEST-03: ≥ 60 %) |
| Ergänzender Test (außerhalb des Modultestplans) | 1 (`alle()`-Methode, OP-4) manuell verifiziert, automatisierter Lauf steht noch aus |
**Fazit:** Alle im Modultestplan geforderten Testfälle sind erfolgreich umgesetzt und bestanden; die geforderte Testabdeckung wird deutlich übertroffen.
---
## 5. Traceability-Stichprobe (vorbereitet für Rückfragen)
| Anforderung (LH) | Pflichtenheft | Modultest | Akzeptanztest |
|---|---|---|---|
| BA-KV-01 Kunde anlegen | F-KV-01 | MT-KV-01 … MT-KV-04 | AT-KV-01, AT-KV-02 |
| BA-KV-02 Kunde bearbeiten | F-KV-02 | MT-KV-05, MT-KV-06 | AT-KV-03, AT-KV-04 |
| BA-KV-03 Kunde suchen | F-KV-03 | MT-KV-07 … MT-KV-09 | AT-KV-05, AT-KV-06 |
| BA-KV-04 Kunde löschen | F-KV-04 | MT-KV-10, MT-KV-11 | AT-KV-07, AT-KV-08 |
| GR-05 Stammdatenschutz | F-KV-04 (i. V. m. GR-05) | MT-KV-11 | |
**Beispielkette zum Auswendiglernen:**
**BA-KV-04** (Kunde löschen) → **F-KV-04****MT-KV-10 / MT-KV-11****AT-KV-07 / AT-KV-08**
---
## 6. Offener Punkt für die Präsentation (transparent zu nennen)
Die Integration mit den Modulen GUI (Gruppe E) und Dokumentenprozess (Gruppe F) Phase 8 des Fahrplans konnte bis zum Präsentationszeitpunkt **nicht abgeschlossen** werden, da der Code der anderen Gruppen nicht verfügbar war. Dies betrifft das teamweite Abnahmekriterium AK-02 („Gesamtsystem startet“) und wurde rechtzeitig innerhalb des Teams kommuniziert.