SE1_Team_3/README.md

64 lines
2.1 KiB
Markdown

# 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