108 lines
4.3 KiB
Markdown
108 lines
4.3 KiB
Markdown
---
|
||
model: sonnet
|
||
---
|
||
# AP11 – M1-Abnahme
|
||
|
||
> **Meilenstein:** M1
|
||
> **Vorgänger:** AP01–AP10 alle ✅ erforderlich
|
||
> **Nachfolger:** M2
|
||
> **Grundlage:** `docs/specs/meilensteine.md` v3, M1-Abnahmekriterien
|
||
|
||
## Ziel
|
||
|
||
M1 wird formal abgenommen. Alle Abnahmekriterien aus `meilensteine.md` sind erfüllt und nachweisbar. Das Projekt ist bereit für M2.
|
||
|
||
## Voraussetzungen
|
||
|
||
- AP01–AP10 abgeschlossen und grün
|
||
- Alle AP-Berichte liegen in `docs/arbeitspakete/m1/berichte/` vor
|
||
|
||
## Scope IN
|
||
|
||
### 1. Test-Artefakt anlegen
|
||
|
||
`test-artefakte/m1/minimal.txt` anlegen — eine einfache ISO-8859-15-kompatible Textdatei mit 3–5 Zeilen Dummy-Inhalt. Keine echten ASV-Daten, kein gültiges EDIFACT — reiner Lauftest.
|
||
|
||
### 2. End-to-End-Läufe durchführen
|
||
|
||
`mvn clean package` ausführen, dann alle fünf Läufe:
|
||
|
||
| Lauf | Befehl | Erwarteter Exit-Code | Erwartetes Verhalten |
|
||
|---|---|---|---|
|
||
| 1 | `java -jar target/asv-format-validator-*.jar test-artefakte/m1/minimal.txt` | `0` | `.txt` und `.log` entstehen im Verzeichnis |
|
||
| 2 | identischer Aufruf wie Lauf 1 | `0` | `_v1.txt` und `_v1.log` entstehen |
|
||
| 3 | `java -jar ... nicht-vorhanden.txt` | `2` | Minimalbericht auf Konsole |
|
||
| 4 | `java -jar ...` (ohne Argument) | `2` | Minimalbericht nur auf Konsole |
|
||
| 5 | `java -jar ... datei1.txt datei2.txt` | `2` | Minimalbericht nur auf Konsole |
|
||
|
||
Alle fünf Läufe werden im M1-Abschlussbericht dokumentiert (Befehl, tatsächlicher Exit-Code, relevante Ausgabe).
|
||
|
||
### 3. Meilenstein-Abnahmeprüfung
|
||
|
||
Jeden Punkt aus `docs/specs/meilensteine.md` v3 §„Abnahme von M1" mit konkretem Nachweis verknüpfen:
|
||
|
||
| Kriterium | Nachweis | Status |
|
||
|---|---|---|
|
||
| Anwendung als JAR unter Windows mit Java 21 startbar | Lauf 1 | |
|
||
| Fehlendes/falsches Argument → Exit-Code `2` mit Minimalbericht | Lauf 3, 4, 5 | |
|
||
| Bericht- und Log-Datei im Eingabeverzeichnis mit korrekter Suffix-Logik | Lauf 1 + 2 | |
|
||
| Log4j2-Bindung außerhalb Bootstrap/Logging-Adapter nicht sichtbar | Architekturtest AP10 Regel A | |
|
||
| Befundmodell trennt Spec-Urteil und diagnostische Weiteranalyse | Unit-Test AP05 | |
|
||
| Build und Tests grün | `mvn clean verify` | |
|
||
|
||
### 4. Konsolidierter M1-Abschlussbericht
|
||
|
||
Datei: `docs/arbeitspakete/m1/berichte/M1-abschlussbericht.md`
|
||
|
||
Pflichtabschnitte:
|
||
- **Zusammenfassung** — Was ist M1 geworden (max. zwei Absätze)
|
||
- **AP-Übersicht** — Tabelle mit allen 11 APs, Status, letzter Commit
|
||
- **Meilenstein-Abnahmetabelle** (siehe oben, vollständig ausgefüllt)
|
||
- **End-to-End-Protokoll** — alle fünf Läufe mit Befehl, Exit-Code, Ausgabe-Zusammenfassung
|
||
- **Quality-Metriken** — Testanzahl, Coverage-Wert (informativ, keine Gate-Prüfung in M1)
|
||
- **Rest-Risiken** — konsolidiert aus allen AP-Berichten
|
||
- **Empfehlungen für M2** — was M2 beachten sollte
|
||
- **Freigabe-Vermerk** — „M1 ist abnahmebereit" oder „M1 ist mit folgenden Einschränkungen abnahmebereit: ..."
|
||
|
||
### 5. Git-Tag setzen
|
||
|
||
```bash
|
||
git tag -a m1-done -m "Meilenstein 1 abgeschlossen, siehe docs/arbeitspakete/m1/berichte/M1-abschlussbericht.md"
|
||
```
|
||
|
||
## Scope OUT
|
||
|
||
- Vorgriffe auf M2-Themen
|
||
- Release-Builds, Signierung, Publizierung
|
||
- Inhaltliche Berichtsvertiefung über M1-Minimum hinaus
|
||
|
||
## Schritte
|
||
|
||
1. `test-artefakte/m1/minimal.txt` anlegen
|
||
2. `mvn clean package`
|
||
3. Alle fünf Läufe durchführen und protokollieren
|
||
4. `mvn clean verify` ein letztes Mal
|
||
5. Konsolidierten M1-Abschlussbericht schreiben
|
||
6. Git-Tag `m1-done` setzen
|
||
|
||
## Abnahmekriterien
|
||
|
||
- [ ] `test-artefakte/m1/minimal.txt` existiert
|
||
- [ ] Alle fünf Läufe sind protokolliert
|
||
- [ ] `M1-abschlussbericht.md` existiert mit allen Pflichtabschnitten
|
||
- [ ] Meilenstein-Abnahmetabelle vollständig, jede Zeile mit konkretem Nachweis
|
||
- [ ] Kein Exit-Code `3` mehr erreichbar
|
||
- [ ] `mvn clean verify` grün
|
||
- [ ] Git-Tag `m1-done` gesetzt
|
||
- [ ] Freigabe-Vermerk ist explizit
|
||
- [ ] Abschlussbericht unter `docs/arbeitspakete/m1/berichte/AP11-bericht.md`
|
||
|
||
## Rest-Risiken und offene Punkte
|
||
|
||
- Wenn hier Abnahmekriterien nicht erfüllt sind, zeigt das, dass ein früheres AP unvollständig war. In dem Fall: **zurück zum betroffenen AP**, nachbessern, dann AP11 wiederholen. Keine Abkürzungen.
|
||
|
||
## Bericht
|
||
|
||
`docs/arbeitspakete/m1/berichte/AP11-bericht.md` nach `docs/arbeitspakete/m1/templates/ap-bericht.md`.
|
||
**Zusätzlich** konsolidierter `docs/arbeitspakete/m1/berichte/M1-abschlussbericht.md`.
|