# Fakturierung — SE1 Team 3 Desktop-Fakturierungsanwendung (Einzelplatz) für das Hochschulprojekt SE1, Team 3. Java 25, Swing-GUI, manuelle Kompilierung mit javac. Verwaltet Kunden, Produkte und den Dokumentenzyklus Angebot → Rechnung inkl. Schreibschutz (GoBD-konform). ## Build & Run ```bash # Kompilieren javac -sourcepath "src\main\java" -d out \ (Get-ChildItem "src\main\java\kundenverwaltung\*.java").FullName \ (Get-ChildItem "src\main\java\bestandsmanagement\*.java").FullName \ (Get-ChildItem "src\main\java\belegworkflow\*.java").FullName \ (Get-ChildItem "src\main\java\ui\*.java").FullName # GUI starten java -cp "out" ui.MainWindow # Alle Tests ausfuehren java -jar "lib\junit.jar" execute --select-class=kundenverwaltung.KundenVerwaltungTest --class-path=out java -jar "lib\junit.jar" execute --select-class=bestandsmanagement.BestandsmanagementTest --class-path=out java -jar "lib\junit.jar" execute --select-class=belegworkflow.BelegworkflowTest --class-path=out ``` Daten werden lokal als CSV unter `data/` abgelegt (nicht versioniert). ## Architektur Vier fachliche Module, jeweils einer Projektgruppe zugeordnet: | Paket | Gruppe | Verantwortung | |---|---|---| | kundenverwaltung | J | Kundenverwaltung (CRUD, Nummernvergabe, Löschsperre) | | bestandsmanagement | L | Produktverwaltung (CRUD, Nummernvergabe, Löschsperre) | | belegworkflow | K | Dokumentenzyklus, Belegnummern, Schreibschutz | | ui | I | Swing-Oberfläche (Hauptfenster, Panels, Dialoge) | Quellcode: `src/main/java/` · Tests: `src/test/java/` ## Testergebnisse | Gruppe | Testklasse | Testfälle | Ergebnis | |---|---|---|---| | J | KundenVerwaltungTest | 9 | ✅ Alle bestanden | | L | BestandsmanagementTest | 10 | ✅ Alle bestanden | | K | BelegworkflowTest | 10 | ✅ Alle bestanden | **Gesamt: 29 Testfälle — alle bestanden** ## Dokumentation Alle Projektunterlagen liegen unter `Dokumente/`: - `Lastenheft/` — Lastenheft Team 3 - `Pflichtenhefte/` — Pflichtenhefte Gruppe I, J, K, L - `Project_Charter/` — Project Charter Team 3 ## Technologie - Java 25 (Temurin) - Java Swing (GUI) - JUnit 5 (Tests) - Lokale CSV-Datenhaltung