408 lines
19 KiB
Markdown
408 lines
19 KiB
Markdown
# M9 - Arbeitspakete
|
||
|
||
## Geltungsbereich
|
||
|
||
Dieses Dokument beschreibt ausschließlich die Arbeitspakete für den definierten Meilenstein **M9 – GUI-Grundgerüst, neues Betriebsmodell und Packaging-Basis**.
|
||
|
||
Die Meilensteine **M1** bis **M8** sowie der dokumentierte Ist-Stand **V1.1** werden als vollständig umgesetzt und freigegeben vorausgesetzt.
|
||
|
||
Die Arbeitspakete sind bewusst so geschnitten, dass:
|
||
|
||
- **KI 1** daraus je Arbeitspaket einen klaren Einzel-Prompt ableiten kann,
|
||
- **KI 2** genau dieses eine Arbeitspaket in **einem Durchgang** vollständig umsetzen kann,
|
||
- nach **jedem** Arbeitspaket wieder ein **fehlerfreier, buildbarer Stand** vorliegt.
|
||
|
||
Die Reihenfolge der Arbeitspakete ist verbindlich.
|
||
|
||
## Zusätzliche Schnittregeln für die KI-Bearbeitung
|
||
|
||
- Pro Arbeitspaket nur die **minimal notwendigen Querschnitte** durch Domain, Application, Adapter, Bootstrap, Build und Tests ändern.
|
||
- Keine Annahmen treffen, die nicht durch die bestehenden Spezifikationen, den dokumentierten V1.1-Ist-Stand oder dieses Dokument gedeckt sind.
|
||
- Kein Vorgriff auf **M10+**.
|
||
- Kein Umbau bestehender M1–M8-Strukturen ohne direkten M9-Bezug.
|
||
- Die neue GUI wird als **eigener Inbound-Adapter** umgesetzt und **nicht** in Bootstrap vermischt.
|
||
- Der bestehende **headless Batch-Betrieb** darf weder technisch noch verhaltensseitig still gebrochen werden.
|
||
- Änderungen klein, fokussiert und architekturtreu halten.
|
||
- Neue Typen, CLI-Optionen, Startpfade, Packaging-Anpassungen und Tests so schneiden, dass sie aus einem einzelnen Arbeitspaket heraus klar benennbar, testbar und reviewbar sind.
|
||
- Ein Arbeitspaket darf nur dann auf GUI-Verhalten aufbauen, wenn das technische Startfundament im unmittelbar vorhergehenden Arbeitspaket bereits hergestellt wurde.
|
||
|
||
## Explizit nicht Bestandteil von M9
|
||
|
||
- GUI-Konfigurationseditor
|
||
- Willkommenstext und vollständige GUI-Benutzerführung aus M10
|
||
- Öffnen/Speichern/Speichern unter in der GUI
|
||
- Bearbeitung der `.properties`-Inhalte in der GUI
|
||
- Datei-/Ordnerdialoge
|
||
- Provider-ComboBox, Modellabruf oder Modellfeldlogik
|
||
- sofortige Validierung im Editor
|
||
- zentraler Meldungsbereich und feldnahe Fehlermeldungen
|
||
- technische Tests und Korrekturhilfen in der GUI
|
||
- automatische Prompt-Erzeugung
|
||
- DB-/Historienanzeige
|
||
- manueller Verarbeitungslauf aus der GUI
|
||
- EXE
|
||
- Installer
|
||
- offizieller plattformübergreifender GUI-Support
|
||
- neues Konfigurationsformat
|
||
- Änderungen an fachlicher Benennungslogik, Statussemantik, Retry-Regeln oder Persistenz-Wahrheiten
|
||
|
||
## Verbindliche M9-Regeln für **alle** Arbeitspakete
|
||
|
||
### 1. Betriebsmodell
|
||
|
||
Ab M9 gilt verbindlich:
|
||
|
||
- **GUI ist der neue Standardstart**.
|
||
- Über **`--headless`** startet weiterhin der bestehende Batch-/Scheduler-Betrieb.
|
||
- Die Anwendung bleibt **ein einziges ausführbares JAR**.
|
||
- Es gibt in M9 **keine EXE** und **keinen Installer**.
|
||
|
||
### 2. CLI-Option `--config <pfad>`
|
||
|
||
Ab M9 gilt verbindlich:
|
||
|
||
- **`--config <pfad>`** steht für **GUI und headless** zur Verfügung.
|
||
- Wird **headless ohne `--config`** gestartet, bleibt das bisherige Default-Verhalten der Konfigurationsauflösung erhalten.
|
||
- Zeigt **`--config <pfad>` im GUI-Start** auf eine nicht existente Datei:
|
||
- erscheint eine klare Fehlermeldung,
|
||
- danach verhält sich die GUI so, als wäre `--config` nicht angegeben worden.
|
||
- Zeigt **`--config <pfad>` im headless Start** auf eine nicht existente Datei, ist das ein **harter Startfehler**; ein stiller Fallback auf das Default-Verhalten ist in diesem Fall unzulässig.
|
||
|
||
### 3. Modul- und Architekturregel
|
||
|
||
Ab M9 gilt verbindlich:
|
||
|
||
- Die Modulstruktur wird um **genau ein neues Modul** erweitert:
|
||
- `pdf-umbenenner-adapter-in-gui`
|
||
- Die GUI ist ein **Inbound-Adapter**.
|
||
- **Bootstrap** bleibt verantwortlich für:
|
||
- Startmoduswahl,
|
||
- Konfigurationsauflösung,
|
||
- Objektgraph,
|
||
- kontrollierten Start des passenden Adapters,
|
||
- Exit-Code-Ableitung bei harten Startfehlern.
|
||
- Domain und Application bleiben frei von JavaFX-Typen.
|
||
|
||
### 4. JavaFX- und Headless-Isolation
|
||
|
||
Ab M9 gilt verbindlich:
|
||
|
||
- JavaFX wird für den GUI-Betrieb **mit dem ausführbaren JAR ausgeliefert**.
|
||
- Der **headless Start** darf **keine externe JavaFX-Installation** voraussetzen.
|
||
- GUI-Code und JavaFX dürfen im **headless Pfad** nicht unnötig früh initialisiert oder geladen werden.
|
||
- Fehlen GUI-Voraussetzungen beim tatsächlichen GUI-Start, ist das ein **kontrollierter GUI-Startfehler** mit klarer Rückmeldung.
|
||
|
||
### 5. Plattformziel
|
||
|
||
Ab M9 gilt verbindlich:
|
||
|
||
- Die GUI wird offiziell nur für **Windows** vorgesehen.
|
||
- Der headless Betrieb bleibt für **Windows Server / Task Scheduler** kompatibel.
|
||
- M9 führt noch keine GUI-Funktionalität ein, die gemappte Laufwerke oder Datei-Dialoge fachlich ausreizt; die technische Grundlage darf dem späteren Windows-zentrierten Pfadverhalten jedoch nicht widersprechen.
|
||
|
||
### 6. GUI-Zielstand innerhalb von M9
|
||
|
||
M9 liefert **kein** vollständiges GUI-Produkt, sondern nur ein **technisch lauffähiges Grundgerüst**.
|
||
|
||
Daraus folgt:
|
||
|
||
- Es ist eine **minimale JavaFX-GUI-Shell** zulässig und zweckmäßig.
|
||
- Diese Shell dient nur dem Nachweis des GUI-Startpfads.
|
||
- Ein echter Konfigurationseditor ist ausdrücklich erst Gegenstand von **M10**.
|
||
|
||
### 7. GUI-Threadingmodell
|
||
|
||
Ab M9 gilt verbindlich für alle V2.0-Meilensteine:
|
||
|
||
- Jede potenziell blockierende Operation der GUI – insbesondere providerseitiger Modellabruf, providerseitige technische Tests, Pfad- und Dateisystemprüfungen, SQLite-Prüfungen sowie das Lesen und Schreiben der `.properties`-Datei – läuft auf einem **Hintergrund-Worker-Thread**.
|
||
- **UI-Updates erfolgen ausschließlich über den JavaFX Application Thread** (`Platform.runLater`).
|
||
- Die GUI darf während laufender Hintergrund-Operationen **nicht einfrieren**.
|
||
- Diese Regel ist Referenz für alle threadingbezogenen Formulierungen in M9–M13; Wiederholungen sind in einzelnen Meilensteinen nicht erforderlich.
|
||
|
||
### 8. Exit-Codes
|
||
|
||
Ab M9 gilt verbindlich für alle V2.0-Meilensteine:
|
||
|
||
- **Exit-Code `0`**: normale erfolgreiche Beendigung eines headless Laufs sowie für das reguläre Beenden der GUI.
|
||
- **Exit-Code `1`**: harte Start-, Bootstrap-, Verdrahtungs-, Konfigurations- oder Initialisierungsfehler, einschließlich ungültiger CLI-Verwendung, nicht existenter `--config`-Datei im headless Start und GUI-Startfehlern vor erfolgreicher Anzeige der Oberfläche.
|
||
- Dokumentbezogene Verarbeitungsfehler im headless Lauf ändern dieses Exit-Code-Modell nicht; sie bleiben Teil des fachlichen Laufresultats wie bereits in V1.1.
|
||
|
||
### 9. GUI-Logging
|
||
|
||
Ab M9 gilt verbindlich:
|
||
|
||
- Der GUI-Adapter nutzt denselben Log4j2-Stack wie der headless Pfad.
|
||
- Logformat und Log-Verzeichnis bleiben gegenüber dem headless Betrieb unverändert.
|
||
- Mindesteintrag für GUI-nahe Ereignisse sind: Start- und Beendigungsereignisse der GUI, Modellabruf-Versuche (Provider, Erfolg/Misserfolg, **ohne API-Key**), Dateischreibvorgänge inkl. Zielpfad, Ergebnisse der Aktionen `Validieren` und `Technische Tests ausführen`, sowie alle schreibenden Korrekturen.
|
||
|
||
### 10. GUI-Teststrategie
|
||
|
||
Ab M9 gilt verbindlich für alle V2.0-Meilensteine:
|
||
|
||
- **View-Modelle und Application-nahe GUI-Logik** werden mit JUnit unit-getestet. Testfokus liegt auf Zustandsübergängen, Validierungsregeln und Datenflüssen, nicht auf Rendering.
|
||
- **GUI-Smoke-Tests** laufen unter **headless JavaFX (Monocle)** in der Maven-Test-Phase. Sie prüfen, dass zentrale GUI-Pfade (Start, Laden, grundlegende Interaktionen) technisch durchlaufen, ohne einen sichtbaren Desktop vorauszusetzen.
|
||
- Es wird **kein TestFX** und **kein weiteres GUI-Testframework** über Monocle hinaus eingeführt.
|
||
- Diese Teststrategie gilt als Referenz für alle testbezogenen Formulierungen in den Arbeitspaketen von M9 bis M13.
|
||
|
||
### 11. JavaDoc-Standard für V2.0
|
||
|
||
Ab M9 gilt verbindlich für alle V2.0-Meilensteine:
|
||
|
||
Für jede **neu hinzugefügte** oder **substanziell geänderte** öffentliche Klasse, öffentliche Methode und jedes neue Java-Package gilt:
|
||
|
||
- **Klassen-JavaDoc**: Zweck, Verantwortung und Abgrenzung der Klasse.
|
||
- **Methoden-JavaDoc**: Zweck, Parameter, Rückgabewert und dokumentierte Ausnahmen.
|
||
- **`package-info.java`**: pro neuem Package, mit Kurzbeschreibung der Paketverantwortung.
|
||
|
||
Dieser Standard gilt als Bestandteil jedes „Fertig wenn"-Abschnitts in V2.0. Ein Arbeitspaket ist erst dann fertig, wenn die betroffenen öffentlichen Klassen und Methoden dem JavaDoc-Standard entsprechen.
|
||
|
||
---
|
||
|
||
## AP-001 Neues GUI-Modul und Maven-/Reactor-Basis einführen
|
||
|
||
### Voraussetzung
|
||
Keine. Dieses Arbeitspaket ist der M9-Startpunkt.
|
||
|
||
### Ziel
|
||
Die Projektstruktur wird um ein eigenständiges GUI-Modul erweitert, ohne die bestehende Architektur oder den bisherigen headless Stand zu beschädigen.
|
||
|
||
### Muss umgesetzt werden
|
||
- Neues Modul **`pdf-umbenenner-adapter-in-gui`** anlegen.
|
||
- Modul korrekt in Parent-POM und Reactor aufnehmen.
|
||
- Abhängigkeiten so schneiden, dass das GUI-Modul als **Inbound-Adapter** auf die bestehenden inneren Schichten aufsetzen kann.
|
||
- JavaFX-Grundabhängigkeiten nur dort einführen, wo sie für das GUI-Modul technisch erforderlich sind.
|
||
- Sicherstellen, dass Domain, Application, Adapter-Out und CLI-Adapter frei von JavaFX-Abhängigkeiten bleiben.
|
||
- Erste neutrale Paket- und Klassenstruktur im neuen Modul anlegen, soweit für einen buildbaren Stand nötig.
|
||
- JavaDoc und `package-info` für die neue Modulverantwortung ergänzen.
|
||
|
||
### Explizit nicht Teil
|
||
- tatsächlicher GUI-Start
|
||
- CLI-Parsing für neue Optionen
|
||
- Bootstrap-Anpassungen
|
||
- Packaging des gemeinsamen JARs
|
||
- GUI-Inhalt jenseits einer neutralen Modulbasis
|
||
|
||
### Fertig wenn
|
||
- das neue GUI-Modul im Reactor vorhanden ist,
|
||
- die Abhängigkeitsrichtung architekturtreu bleibt,
|
||
- der Gesamtbuild weiterhin fehlerfrei ist,
|
||
- noch kein M10+-Verhalten vorweggenommen wurde.
|
||
|
||
---
|
||
|
||
## AP-002 Startmodus- und CLI-Optionsmodell für GUI, `--headless` und `--config` einführen
|
||
|
||
### Voraussetzung
|
||
AP-001 ist abgeschlossen.
|
||
|
||
### Ziel
|
||
Die Anwendung kann Startmodus und Konfigurationspfad formal eindeutig interpretieren, ohne den bestehenden headless Betrieb zu verlieren.
|
||
|
||
### Muss umgesetzt werden
|
||
- Technisches Modell für die Startmodi einführen:
|
||
- GUI-Standardstart,
|
||
- expliziter `--headless`-Start.
|
||
- Neue CLI-Option **`--config <pfad>`** für beide Startarten einführen.
|
||
- Parsing und Validierung der relevanten Optionen im Startpfad modellieren.
|
||
- Bestehendes Default-Verhalten für headless Starts **ohne** `--config` ausdrücklich erhalten.
|
||
- Klare Behandlung für fehlerhafte CLI-Verwendungen modellieren, insbesondere für:
|
||
- `--config` ohne Wert,
|
||
- unbekannte oder widersprüchliche Startparameter, soweit für M9 erforderlich.
|
||
- Rückgabemodell so schneiden, dass Bootstrap daraus kontrolliert GUI-Start, headless Start oder harten Startfehler ableiten kann.
|
||
- JavaDoc für Startmodussemantik und Konfigurationspfadbezug ergänzen.
|
||
|
||
### Explizit nicht Teil
|
||
- tatsächliches Laden einer GUI-Oberfläche
|
||
- konkrete Behandlung nicht existenter Konfigurationsdateien im fertigen Startfluss
|
||
- Packaging
|
||
- GUI-Benutzerführung
|
||
|
||
### Fertig wenn
|
||
- Startmodus und Konfigurationspfad technisch eindeutig interpretierbar sind,
|
||
- headless ohne `--config` weiterhin anschlussfähig bleibt,
|
||
- der Build weiterhin fehlerfrei ist.
|
||
|
||
---
|
||
|
||
## AP-003 Bootstrap-Verdrahtung für zwei Startpfade und kontrollierte Fehlerableitung erweitern
|
||
|
||
### Voraussetzung
|
||
AP-001 und AP-002 sind abgeschlossen.
|
||
|
||
### Ziel
|
||
Bootstrap kann zwischen GUI und headless sauber umschalten, ohne seine Verantwortung zu überschreiten.
|
||
|
||
### Muss umgesetzt werden
|
||
- Bootstrap so erweitern, dass es abhängig vom geparsten Startmodus den passenden Inbound-Adapter startet.
|
||
- Sicherstellen, dass der bestehende headless Pfad fachlich und technisch erhalten bleibt.
|
||
- Kontrollierte Fehlerableitung für harte Startfehler ergänzen, soweit M9 dies bereits erfordert.
|
||
- Behandlung des Konfigurationspfadbezugs im Bootstrap vervollständigen.
|
||
- Sicherstellen, dass Bootstrap keine GUI-Fachlogik oder M10-Editorlogik aufnimmt.
|
||
- JavaDoc und `package-info` für aktualisierte Bootstrap-Verantwortung ergänzen.
|
||
|
||
### Explizit nicht Teil
|
||
- minimale GUI-Shell selbst
|
||
- JavaFX-Packaging
|
||
- GUI-Benutzerführung
|
||
- Dateieditor oder Validierungslogik
|
||
|
||
### Fertig wenn
|
||
- Bootstrap technisch zwischen GUI und headless umschalten kann,
|
||
- der headless Pfad weiterhin fehlerfrei und anschlussfähig bleibt,
|
||
- harte Startfehler kontrolliert ableitbar sind,
|
||
- der Build weiterhin fehlerfrei ist.
|
||
|
||
---
|
||
|
||
## AP-004 Minimale JavaFX-GUI-Shell als Standardstartpfad bereitstellen
|
||
|
||
### Voraussetzung
|
||
AP-001 bis AP-003 sind abgeschlossen.
|
||
|
||
### Ziel
|
||
Der neue Standardstartpfad führt in eine minimale, technisch saubere JavaFX-GUI-Shell, ohne bereits Editorlogik aus M10 vorzuziehen.
|
||
|
||
### Muss umgesetzt werden
|
||
- Minimale JavaFX-Einstiegsklasse im GUI-Modul implementieren.
|
||
- Neutrale GUI-Shell bereitstellen, die den erfolgreichen GUI-Start technisch sichtbar macht.
|
||
- Die GUI-Shell so schneiden, dass sie später ohne Architekturbruch zum Konfigurationseditor ausgebaut werden kann.
|
||
- Sicherstellen, dass beim tatsächlichen GUI-Start klare Rückmeldungen für GUI-bezogene Startfehler möglich sind.
|
||
- Sicherstellen, dass die GUI-Shell keine M10-Funktionalität vorwegnimmt, insbesondere:
|
||
- kein Konfigurationseditor,
|
||
- keine Dateioperationen,
|
||
- keine Validierung,
|
||
- keine Providerbedienung.
|
||
- JavaDoc für Zweck und klare Nicht-Ziele der minimalen GUI-Shell ergänzen.
|
||
|
||
### Explizit nicht Teil
|
||
- Willkommenstext im finalen V2.0-Sinne
|
||
- bearbeitbare Eingabefelder
|
||
- Buttons **Neu**, **Öffnen**, **Speichern** usw.
|
||
- Meldungsbereich
|
||
- technische Tests
|
||
|
||
### Fertig wenn
|
||
- die Anwendung im Standardstart in eine minimale GUI-Shell startet,
|
||
- die Shell technisch sauber vom headless Pfad getrennt ist,
|
||
- noch kein M10+-Verhalten implementiert wurde,
|
||
- der Build weiterhin fehlerfrei ist.
|
||
|
||
---
|
||
|
||
## AP-005 Konfigurationspfad-Semantik für GUI und headless vervollständigen
|
||
|
||
### Voraussetzung
|
||
AP-001 bis AP-004 sind abgeschlossen.
|
||
|
||
### Ziel
|
||
Das Verhalten von `--config <pfad>` ist für beide Startarten vollständig, abwärtskompatibel und kontrolliert umgesetzt.
|
||
|
||
### Muss umgesetzt werden
|
||
- Verhalten für **existierende** Konfigurationsdateien in GUI und headless vervollständigen.
|
||
- Verhalten für **nicht existente** Konfigurationsdateien explizit umsetzen:
|
||
- GUI: Fehlermeldung, danach GUI-Start wie ohne `--config`
|
||
- headless: harter Startfehler
|
||
- Sicherstellen, dass das bestehende Default-Verhalten für headless **ohne** `--config` unangetastet bleibt.
|
||
- Kontrollierte Rückmeldungen für problematische Konfigurationspfade ergänzen.
|
||
- Keine GUI-Editorlogik oder Dateibearbeitung einführen; es geht ausschließlich um Startsemantik.
|
||
- JavaDoc für die endgültige M9-Semantik von `--config` ergänzen.
|
||
|
||
### Explizit nicht Teil
|
||
- Bearbeiten oder Speichern der Konfiguration in der GUI
|
||
- Datei-Dialoge
|
||
- neue Konfigurationswerte
|
||
- inhaltliche Validierung der `.properties`
|
||
|
||
### Fertig wenn
|
||
- `--config` für GUI und headless kontrolliert funktioniert,
|
||
- die unterschiedlichen Fehlerpfade wie festgelegt umgesetzt sind,
|
||
- headless ohne `--config` weiterhin kompatibel bleibt,
|
||
- der Build weiterhin fehlerfrei ist.
|
||
|
||
---
|
||
|
||
## AP-006 Packaging-Basis für gemeinsames JAR mit integrierter JavaFX-Laufzeit herstellen
|
||
|
||
### Voraussetzung
|
||
AP-001 bis AP-005 sind abgeschlossen.
|
||
|
||
### Ziel
|
||
Das Projekt erzeugt weiterhin genau ein ausführbares Artefakt, das den GUI-Standardstart technisch ermöglicht und den headless Pfad nicht unnötig belastet.
|
||
|
||
### Muss umgesetzt werden
|
||
- Build-/Packaging-Konfiguration so erweitern, dass weiterhin **ein gemeinsames ausführbares JAR** entsteht.
|
||
- JavaFX-Laufzeit und erforderliche GUI-Bestandteile in das Artefakt integrieren, soweit für den Windows-GUI-Start von M9 erforderlich.
|
||
- Sicherstellen, dass der headless Startpfad keine unnötig frühe JavaFX-Initialisierung erzwingt.
|
||
- Konkret absichern, dass der headless Startpfad ohne Initialisierung der JavaFX-Application-Klasse durchlaufen kann.
|
||
- Packaging so schneiden, dass keine EXE und kein Installer eingeführt werden.
|
||
- Bestehende Artefakterzeugung aus V1.1 nicht still zerstören.
|
||
- Dokumentierende Build-Hinweise ergänzen, soweit für M9 zwingend nötig.
|
||
|
||
### Explizit nicht Teil
|
||
- vollständige Enddokumentation von V2.0
|
||
- M10-GUI-Funktionalität
|
||
- plattformübergreifendes Packaging
|
||
- EXE-/Installer-Bau
|
||
|
||
### Fertig wenn
|
||
- weiterhin genau ein ausführbares JAR erzeugt wird,
|
||
- dieses JAR den M9-GUI-Start technisch tragen kann,
|
||
- der headless Startpfad weiterhin anschlussfähig ist und ohne JavaFX-Application-Initialisierung nachweisbar bleibt,
|
||
- der Build weiterhin fehlerfrei ist.
|
||
|
||
---
|
||
|
||
## AP-007 Start-, Fehler- und Packaging-Tests für den vollständigen M9-Zielstand vervollständigen
|
||
|
||
### Voraussetzung
|
||
AP-001 bis AP-006 sind abgeschlossen.
|
||
|
||
### Ziel
|
||
Der vollständige M9-Zielzustand wird automatisiert abgesichert und als konsistenter Übergabestand nachgewiesen.
|
||
|
||
### Muss umgesetzt werden
|
||
- Tests für den GUI-Standardstart gemäß der in M9 festgelegten GUI-Teststrategie ergänzen.
|
||
- Tests für **`--headless`** ergänzen.
|
||
- Automatisierten Nachweis ergänzen, dass der headless Start ohne Initialisierung der JavaFX-Application-Klasse durchlaufen kann.
|
||
- Tests für **`--config <pfad>`** in beiden Startarten ergänzen.
|
||
- Negativtests für ungültige oder fehlende Konfigurationspfade ergänzen, insbesondere:
|
||
- GUI mit nicht existenter Konfigurationsdatei,
|
||
- headless mit nicht existenter Konfigurationsdatei,
|
||
- `--config` ohne Wert.
|
||
- Tests ergänzen, die belegen, dass headless ohne `--config` weiterhin das bisherige Default-Verhalten nutzt.
|
||
- Smoke-Tests für die Artefakterzeugung und Packaging-Basis ergänzen.
|
||
- Sicherstellen, dass dokumentbezogene Batch-Funktionalität nicht versehentlich regressiert ist.
|
||
- Den M9-Stand abschließend auf Architekturtreue, Abwärtskompatibilität und Nicht-Vorgriff auf M10+ prüfen.
|
||
|
||
### Explizit nicht Teil
|
||
- GUI-Editor-Tests aus M10
|
||
- Validierungs- und Modellabruf-Tests aus M11
|
||
- technische Test- und Korrekturhilfe-Tests aus M12
|
||
- Abschlussdokumentation aus M13
|
||
|
||
### Fertig wenn
|
||
- der vollständige M9-Zielstand automatisiert abgesichert ist,
|
||
- GUI- und headless Startpfade kontrolliert nachgewiesen sind,
|
||
- das gemeinsame JAR reproduzierbar gebaut wird,
|
||
- der definierte M9-Zielzustand vollständig erreicht ist,
|
||
- ein fehlerfreier, übergabefähiger Stand vorliegt.
|
||
|
||
---
|
||
|
||
## Abschlussbewertung
|
||
|
||
Die Arbeitspakete decken den vollständigen Zielumfang von **M9 – GUI-Grundgerüst, neues Betriebsmodell und Packaging-Basis** ab:
|
||
|
||
- neues GUI-Modul als eigener Inbound-Adapter
|
||
- GUI als Standardstart
|
||
- `--headless` als erhaltener Batch-/Scheduler-Pfad
|
||
- neue CLI-Option `--config <pfad>` für beide Startarten
|
||
- kontrollierte, unterschiedliche Fehlersemantik für GUI und headless bei nicht existenter Konfigurationsdatei
|
||
- saubere Bootstrap-Umschaltung zwischen zwei Startpfaden
|
||
- minimale JavaFX-GUI-Shell als technischer Nachweis des GUI-Starts
|
||
- ein gemeinsames ausführbares JAR mit integrierter JavaFX-Basis
|
||
- Absicherung, dass headless ohne unnötige GUI-Initialisierung weiter nutzbar bleibt
|
||
- Tests für Startverhalten, Fehlerpfade und Packaging
|
||
|
||
Damit ist M9 bewusst klar von den späteren GUI-Funktionalitäten aus **M10** bis **M13** getrennt und liefert dennoch einen eigenständig lauffähigen, architekturtreuen und reviewbaren Zwischenstand.
|