README hinzugefuegt

main
Christian Khazanovych 2026-06-24 18:12:47 +02:00
parent 85d28c8920
commit e1753c4830
1 changed files with 37 additions and 39 deletions

View File

@ -1,64 +1,62 @@
# Fakturierung — SE1 Team 3
# SE1 Team 3 — Fakturierungsanwendung
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).
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.
## Build & Run
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
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 \
# Kompilieren (PowerShell)
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
# Anwendung starten
java -cp "out" ui.MainWindow
```
# Alle Tests ausfuehren
## Tests ausfuehren
```bash
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
## Architektur
Vier fachliche Module, jeweils einer Projektgruppe zugeordnet:
| Paket | Gruppe | Verantwortung |
| Paket | Gruppe | Inhalt |
|---|---|---|
| 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) |
| 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 |
Quellcode: `src/main/java/` · Tests: `src/test/java/`
Quellcode: `src/main/java/` Tests: `src/test/java/`
## Testergebnisse
| Gruppe | Testklasse | Testfälle | Ergebnis |
| Gruppe | Testklasse | Anzahl | Status |
|---|---|---|---|
| J | KundenVerwaltungTest | 9 | Alle bestanden |
| L | BestandsmanagementTest | 10 | Alle bestanden |
| K | BelegworkflowTest | 10 | Alle bestanden |
| 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
29 Testfaelle — alle bestanden.
## Technologie
- Java 25 (Temurin)
- Java Swing (GUI)
- JUnit 5 (Tests)
- Java Swing
- JUnit 5
- Lokale CSV-Datenhaltung
## Dokumentation
Alle Projektunterlagen befinden sich unter `Dokumente/`:
- `Lastenheft/`
- `Pflichtenhefte/`
- `Project_Charter/`