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. 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.
Java 25, Swing-GUI, manuelle Kompilierung mit javac. Verwaltet Kunden, Produkte
und den Dokumentenzyklus Angebot → Rechnung inkl. Schreibschutz (GoBD-konform).
## 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 ```bash
# Kompilieren # Kompilieren (PowerShell)
javac -sourcepath "src\main\java" -d out \ javac -sourcepath "src\main\java" -d out `
(Get-ChildItem "src\main\java\kundenverwaltung\*.java").FullName \ (Get-ChildItem "src\main\java\kundenverwaltung\*.java").FullName `
(Get-ChildItem "src\main\java\bestandsmanagement\*.java").FullName \ (Get-ChildItem "src\main\java\bestandsmanagement\*.java").FullName `
(Get-ChildItem "src\main\java\belegworkflow\*.java").FullName \ (Get-ChildItem "src\main\java\belegworkflow\*.java").FullName `
(Get-ChildItem "src\main\java\ui\*.java").FullName (Get-ChildItem "src\main\java\ui\*.java").FullName
# GUI starten # Anwendung starten
java -cp "out" ui.MainWindow 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=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=bestandsmanagement.BestandsmanagementTest --class-path=out
java -jar "lib\junit.jar" execute --select-class=belegworkflow.BelegworkflowTest --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 | Paket | Gruppe | Inhalt |
Vier fachliche Module, jeweils einer Projektgruppe zugeordnet:
| Paket | Gruppe | Verantwortung |
|---|---|---| |---|---|---|
| kundenverwaltung | J | Kundenverwaltung (CRUD, Nummernvergabe, Löschsperre) | | kundenverwaltung | J | Anlegen, Bearbeiten, Suchen und Loeschen von Kundendaten |
| bestandsmanagement | L | Produktverwaltung (CRUD, Nummernvergabe, Löschsperre) | | bestandsmanagement | L | Verwaltung von Artikeln, Preisen und Lagerbestaenden |
| belegworkflow | K | Dokumentenzyklus, Belegnummern, Schreibschutz | | belegworkflow | K | Erstellung von Angeboten und Rechnungen, Schreibschutz |
| ui | I | Swing-Oberfläche (Hauptfenster, Panels, Dialoge) | | ui | I | Grafische Benutzeroberfläche mit Swing |
Quellcode: `src/main/java/` · Tests: `src/test/java/` Quellcode: `src/main/java/` Tests: `src/test/java/`
## Testergebnisse ## Testergebnisse
| Gruppe | Testklasse | Testfälle | Ergebnis | | Gruppe | Testklasse | Anzahl | Status |
|---|---|---|---| |---|---|---|---|
| J | KundenVerwaltungTest | 9 | Alle bestanden | | J | KundenVerwaltungTest | 9 | Alle bestanden |
| L | BestandsmanagementTest | 10 | Alle bestanden | | L | BestandsmanagementTest | 10 | Alle bestanden |
| K | BelegworkflowTest | 10 | Alle bestanden | | K | BelegworkflowTest | 10 | Alle bestanden |
**Gesamt: 29 Testfälle — alle bestanden** 29 Testfaelle — 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 ## Technologie
- Java 25 (Temurin) - Java 25 (Temurin)
- Java Swing (GUI) - Java Swing
- JUnit 5 (Tests) - JUnit 5
- Lokale CSV-Datenhaltung - Lokale CSV-Datenhaltung
## Dokumentation
Alle Projektunterlagen befinden sich unter `Dokumente/`:
- `Lastenheft/`
- `Pflichtenhefte/`
- `Project_Charter/`