feat(i18n): dev-process repo in English
- README.md: full English rewrite - All 13 vorlagen MD templates hand-translated: PID, PM-Plan, QA-Plan, SWE-Plan, Test-Plan, SA, SWA, Review-Protokoll, Non-Conformity, MISRA-Deviation-Permit, MISRA-Deviation-Record, Traceability-Matrix, angebot (quotation) - Master Word template (slohmaier-doc-template.docx) regenerated in English: cover page, document control, TOC headers, classification banner all English - All derived Word vorlagen regenerated from English MD sources Still to translate: toolstack.md, gitea-aspice-setup.md
This commit is contained in:
@@ -1,67 +1,67 @@
|
||||
# Traceability-Matrix
|
||||
# Traceability Matrix
|
||||
|
||||
## Prinzip
|
||||
## Principle
|
||||
|
||||
Die Traceability-Matrix stellt die Rueckverfolgbarkeit von der Anforderung bis zum Test sicher:
|
||||
The traceability matrix ensures end-to-end traceability from requirement to test:
|
||||
|
||||
```
|
||||
System-Anforderung → Software-Anforderung → Architektur-Element → Implementierung (MR/Datei) → Testfall → Testergebnis
|
||||
System requirement → Software requirement → Architecture element → Implementation (PR/file) → Test case → Test result
|
||||
```
|
||||
|
||||
Jede Ebene muss bidirektional verfolgbar sein:
|
||||
- **Vorwaerts:** Anforderung → wurde sie implementiert und getestet?
|
||||
- **Rueckwaerts:** Testfall → welche Anforderung verifiziert er?
|
||||
Each level must be traceable in both directions:
|
||||
- **Forward:** requirement → has it been implemented and tested?
|
||||
- **Backward:** test case → which requirement does it verify?
|
||||
|
||||
## Tabellenstruktur
|
||||
## Table structure
|
||||
|
||||
| Sys-Req | SW-Req | ASIL | Arch-Element | Implementierung | Testfall | Test-Ergebnis | Status |
|
||||
|---------|---------|------|--------------|----------------------|----------|---------------|--------------|
|
||||
| SYR-001 | SWR-010 | B | MOD-Timer | MR !23, timer.c | TC-010 | Pass (v1.2) | Vollstaendig |
|
||||
| SYR-001 | SWR-011 | B | MOD-Timer | MR !23, timer.c | TC-011 | Pass (v1.2) | Vollstaendig |
|
||||
| SYR-002 | SWR-020 | A | MOD-CAN | MR !31, can_driver.c | TC-020 | Pass (v1.2) | Vollstaendig |
|
||||
| SYR-003 | SWR-030 | B | MOD-Watchdog | — | — | — | Offen |
|
||||
| — | SWR-040 | QM | MOD-Diag | MR !35, diag.c | TC-040 | Fail (v1.1) | Finding offen|
|
||||
| Sys-Req | SW-Req | ASIL | Arch element | Implementation | Test case | Test result | Status |
|
||||
|---------|---------|------|--------------|----------------------|-----------|---------------|--------------|
|
||||
| SYR-001 | SWR-010 | B | MOD-Timer | PR !23, timer.c | TC-010 | Pass (v1.2) | Complete |
|
||||
| SYR-001 | SWR-011 | B | MOD-Timer | PR !23, timer.c | TC-011 | Pass (v1.2) | Complete |
|
||||
| SYR-002 | SWR-020 | A | MOD-CAN | PR !31, can_driver.c | TC-020 | Pass (v1.2) | Complete |
|
||||
| SYR-003 | SWR-030 | B | MOD-Watchdog | — | — | — | Open |
|
||||
| — | SWR-040 | QM | MOD-Diag | PR !35, diag.c | TC-040 | Fail (v1.1) | Finding open |
|
||||
|
||||
## Spalten-Erklaerung
|
||||
## Column explanation
|
||||
|
||||
| Spalte | Beschreibung |
|
||||
| Column | Description |
|
||||
|------------------|----------------------------------------------------------------|
|
||||
| Sys-Req | System-Anforderungs-ID (GitLab Issue mit Label `req::system`) |
|
||||
| SW-Req | Software-Anforderungs-ID (GitLab Issue mit Label `req::software`) |
|
||||
| ASIL | Zugewiesener ASIL-Level |
|
||||
| Arch-Element | Architektur-Modul oder -Komponente |
|
||||
| Implementierung | Merge Request und/oder Datei |
|
||||
| Testfall | Testfall-ID (GitLab Issue mit Label `test::*`) |
|
||||
| Test-Ergebnis | Pass/Fail mit Version/Datum |
|
||||
| Status | Vollstaendig / Offen / Finding offen |
|
||||
| Sys-Req | System requirement ID (Gitea issue with label `req::system`) |
|
||||
| SW-Req | Software requirement ID (Gitea issue with label `req::software`) |
|
||||
| ASIL | Assigned ASIL level |
|
||||
| Arch element | Architecture module or component |
|
||||
| Implementation | Pull request and/or file |
|
||||
| Test case | Test case ID (Gitea issue with label `test::*`) |
|
||||
| Test result | Pass/Fail with version/date |
|
||||
| Status | Complete / Open / Finding open |
|
||||
|
||||
## Lueckenanalyse
|
||||
## Gap analysis
|
||||
|
||||
Die Matrix macht Luecken sichtbar:
|
||||
The matrix makes gaps visible:
|
||||
|
||||
- **Anforderung ohne Test:** Zeile ohne Testfall-Eintrag → Test fehlt
|
||||
- **Anforderung ohne Implementierung:** Zeile ohne MR → nicht implementiert
|
||||
- **Test ohne Anforderung:** Testfall der keiner Anforderung zugeordnet ist → ueberpruefen
|
||||
- **Fail ohne Finding:** Fehlgeschlagener Test ohne dokumentiertes Finding → nacharbeiten
|
||||
- **Requirement without test:** row without test-case entry → test missing
|
||||
- **Requirement without implementation:** row without PR → not implemented
|
||||
- **Test without requirement:** test case not assigned to any requirement → verify
|
||||
- **Fail without finding:** failed test without a documented finding → rework
|
||||
|
||||
## Automatische Generierung aus GitLab
|
||||
## Automatic generation from Gitea
|
||||
|
||||
Diese Matrix kann aus GitLab-Issues automatisch generiert werden:
|
||||
The matrix can be generated automatically from Gitea issues:
|
||||
|
||||
1. Python-Skript liest ueber GitLab API alle Issues mit `req::*`-Labels
|
||||
2. Folgt Issue-Links zu Architektur-Issues, MRs und Test-Issues
|
||||
3. Liest CI-Pipeline-Ergebnisse (JUnit-XML) fuer Testergebnisse
|
||||
4. Erzeugt die Matrix als Markdown-Tabelle oder CSV
|
||||
1. A Python script reads all issues with `req::*` labels via the Gitea API
|
||||
2. It follows issue links to architecture issues, PRs, and test issues
|
||||
3. It reads CI-pipeline results (JUnit XML) for test outcomes
|
||||
4. It produces the matrix as a Markdown table or CSV
|
||||
|
||||
**Voraussetzung:** Issues sind korrekt verlinkt und gelabelt (siehe `gitlab-aspice-setup.md`).
|
||||
**Precondition:** issues are correctly linked and labelled (see `gitea-aspice-setup.md`).
|
||||
|
||||
**Ausgabe-Formate:**
|
||||
- Markdown (fuer Wiki / Dokumentation)
|
||||
- CSV (fuer Import in Kundensysteme)
|
||||
- HTML (fuer Reporting)
|
||||
**Output formats:**
|
||||
- Markdown (for wiki / documentation)
|
||||
- CSV (for import into customer systems)
|
||||
- HTML (for reporting)
|
||||
|
||||
Ein Beispiel-Skript liegt unter `tools/traceability-report.py` im Projekt-Repository.
|
||||
An example script lives at `tools/traceability-report.py` in the project repository.
|
||||
|
||||
---
|
||||
|
||||
*Die aktuelle Traceability-Matrix wird bei jedem Release aktualisiert und im Wiki abgelegt.*
|
||||
*The current traceability matrix is updated on every release and stored in the wiki.*
|
||||
|
||||
Reference in New Issue
Block a user