45 lines
2.0 KiB
Markdown
45 lines
2.0 KiB
Markdown
# Fakturierung — SE1 Team 1
|
||
|
||
Desktop-Fakturierungsanwendung (Einzelplatz) für das Hochschulprojekt SE1, Team 1.
|
||
Java 21, Swing-GUI mit FlatLaf, Maven-Build. Verwaltet Kunden, Produkte und den
|
||
Dokumentenzyklus Angebot → Auftragsbestätigung → Lieferschein → Rechnung inkl. PDF-Export.
|
||
|
||
## Build & Run
|
||
|
||
```bash
|
||
./mvnw compile # Kompilieren
|
||
./mvnw test # Alle Tests (JUnit 5)
|
||
./mvnw package # Fat-JAR bauen (maven-shade-plugin)
|
||
java -jar target/fakturierung-1.0.0.jar # Anwendung starten
|
||
```
|
||
|
||
Daten werden lokal als JSON unter `daten/` abgelegt (nicht versioniert).
|
||
|
||
## Architektur
|
||
|
||
Vier fachliche Module, jeweils einer Projektgruppe zugeordnet, plus ein Querschnittspaket:
|
||
|
||
| Paket | Gruppe | Verantwortung |
|
||
|-------|--------|---------------|
|
||
| `dokumente` | A | Dokumentenzyklus, Belegnummern, PDF-Export |
|
||
| `produkte` | B | Produktverwaltung (CRUD, Nummernvergabe, Löschsperre) |
|
||
| `kunden` | C | Kundenverwaltung (CRUD, Nummernvergabe, Löschsperre) |
|
||
| `gui` | D | Swing-Oberfläche (HauptFenster, Panels, Dialoge, Wizard) |
|
||
| `gemeinsam` | — | Querschnitt: EreignisBus, JsonPersistenz, CSV-Hilfe, Exceptions |
|
||
|
||
Quellcode: [`src/main/java/de/team1/faktura/`](src/main/java/de/team1/faktura/) ·
|
||
Tests: [`src/test/java/de/team1/faktura/`](src/test/java/de/team1/faktura/)
|
||
|
||
## Dokumentation
|
||
|
||
Alle Projektunterlagen liegen unter [`dokumentation/`](dokumentation/):
|
||
|
||
- [`anforderungen/`](dokumentation/anforderungen/) — Lastenheft, Pflichtenhefte (Gruppe A–D), Anforderungsabgleich
|
||
- [`tests/`](dokumentation/tests/) — Modultestplan, Modultestbericht
|
||
- [`projekt/`](dokumentation/projekt/) — Project Charter, Präsentation
|
||
- [`diagramme/`](dokumentation/diagramme/) — PlantUML-Quellen (`.puml`) und gerenderte Diagramme (`.png`)
|
||
|
||
Die `*.md`-Spezifikationen werden mit pandoc + XeLaTeX manuell zu PDF gebaut; die PDFs
|
||
sind als Abgabe-Artefakte mitversioniert. PlantUML-Diagramme werden über
|
||
`tools/plantuml.jar` gerendert.
|