73 lines
2.8 KiB
Markdown
73 lines
2.8 KiB
Markdown
# SE1 Team 3 — Fakturierungsanwendung
|
|
|
|
Dieses Projekt entstand im Rahmen des Moduls Software Engineering 1 an der Hochschule Mannheim (SoSe 2026). Ziel war die arbeitsteilige Entwicklung einer lokalen Desktop-Anwendung zur Rechnungsstellung für Kleinstunternehmen und Freiberufler.
|
|
|
|
Die Anwendung läuft vollständig offline, speichert alle Daten lokal und unterstützt den kaufmännischen Prozess von der Kundenverwaltung über die Produktpflege bis zur GoBD-konformen Rechnungserstellung.
|
|
|
|
## Starten
|
|
|
|
```bash
|
|
# Kompilieren (macOS/Linux)
|
|
javac -cp "lib/flatlaf.jar" -sourcepath src/main/java -d out $(find src/main/java -name "*.java")
|
|
|
|
# Kompilieren (Windows PowerShell)
|
|
javac -cp "lib/flatlaf.jar" -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
|
|
|
|
# Anwendung starten (macOS/Linux)
|
|
java -cp "out:lib/flatlaf.jar" ui.MainWindow
|
|
|
|
# Anwendung starten (Windows)
|
|
java -cp "out;lib/flatlaf.jar" ui.MainWindow
|
|
```
|
|
|
|
## Tests ausfuehren
|
|
|
|
```bash
|
|
# Tests kompilieren (macOS/Linux)
|
|
javac -cp "out:lib/junit.jar" -d out $(find src/test/java -name "*.java")
|
|
|
|
# Tests kompilieren (Windows)
|
|
javac -cp "out;lib\junit.jar" -d out src\test\java\kundenverwaltung\KundenVerwaltungTest.java src\test\java\bestandsmanagement\BestandsmanagementTest.java src\test\java\belegworkflow\BelegworkflowTest.java
|
|
|
|
# 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).
|
|
|
|
## Projektstruktur
|
|
|
|
| Paket | Gruppe | Inhalt |
|
|
|---|---|---|
|
|
| kundenverwaltung | J | Anlegen, Bearbeiten, Suchen und Loeschen von Kundendaten |
|
|
| bestandsmanagement | L | Verwaltung von Artikeln, Preisen und Lagerbestaenden |
|
|
| belegworkflow | K | Erstellung von Angeboten und Rechnungen, Schreibschutz |
|
|
| ui | I | Grafische Benutzeroberfläche mit Swing und FlatLaf |
|
|
|
|
Quellcode: `src/main/java/` — Tests: `src/test/java/`
|
|
|
|
## Testergebnisse
|
|
|
|
| Gruppe | Testklasse | Anzahl | Status |
|
|
|---|---|---|---|
|
|
| J | KundenVerwaltungTest | 13 | Alle bestanden |
|
|
| L | BestandsmanagementTest | 10 | Alle bestanden |
|
|
| K | BelegworkflowTest | 10 | Alle bestanden |
|
|
|
|
33 Testfaelle — alle bestanden.
|
|
|
|
## Technologie
|
|
|
|
- Java 25 (Temurin)
|
|
- Java Swing + FlatLaf 3.4.1
|
|
- JUnit 5
|
|
- Lokale CSV-Datenhaltung
|
|
|
|
## Dokumentation
|
|
|
|
Alle Projektunterlagen befinden sich unter `Dokumente/`:
|
|
- `Lastenheft/`
|
|
- `Pflichtenhefte/`
|
|
- `Project_Charter/` |