64 lines
2.1 KiB
Markdown
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 |