Funktionale Anforderungen (FR)
Status: Entwurf · Spec-Kandidat: ja (jede Anforderung kann später in eine eigene Feature-Spec überführt werden)
IDs sind stabil und werden in Spec-Dokumenten, Tickets und Tests rückwärts referenziert.
Muss-Anforderungen
| ID | Anforderung |
|---|---|
| FR-001 | Das System muss Entitätstypen konfigurierbar verwalten. |
| FR-002 | Das System muss pro Entitätstyp Attribute konfigurierbar verwalten. |
| FR-003 | Das System muss mindestens die Datentypen Text, Zahl, Boolean, Datum, DateTime, Enum und Referenz unterstützen. |
| FR-004 | Das System muss Entitäten je Typ anlegen, ändern, anzeigen und archivieren können. |
| FR-005 | Das System muss Beziehungen zwischen Entitäten generisch speichern und verwalten können, inklusive fachlicher Eigenschaften je Beziehung (DDM_ENTITY_RELATION.attributes validiert gegen DDM_RELATION_TYPE_ATTRIBUTE). |
| FR-006 | Das System muss Pflichtattribute, Defaultwerte und Validierungsregeln unterstützen. |
| FR-007 | Das System muss referenzielle Abhängigkeiten und Löschregeln berücksichtigen. |
| FR-008 | Das System muss strukturierte Suche und Filterung ermöglichen. |
| FR-009 | Das System muss Daten per SQL auswertbar halten. |
| FR-010 | Das System muss Änderungen nachvollziehbar protokollieren. |
| FR-011 | Das System muss Soft Delete bzw. Archivierung unterstützen. |
| FR-012 | Das System muss Rechte serverseitig durchsetzen (RBAC + ACL, siehe Autorisierung). |
| FR-013 | Das System muss eine API für Lesen und Schreiben bereitstellen. |
| FR-014 | Das System muss Identitäten (Benutzer, Service Accounts), Rollen und Permissions persistent verwalten. |
| FR-015 | Das System muss ACL-Overrides auf Datensatz- und Attributebene unterstützen (Allow/Deny). |
| FR-016 | Das System muss sicherheitsrelevante Aktionen (Login, abgelehnter Zugriff, Rollen-/Permission-Änderungen) protokollieren. |
Soll-Anforderungen
| ID | Anforderung |
|---|---|
| FR-101 | Das System soll Volltextsuche unterstützen. |
| FR-102 | Das System soll typenspezifische SQL-Views bereitstellen. |
| FR-103 | Das System soll Import- und Exportfunktionen unterstützen. |
| FR-104 | Das System soll Typdefinitionen versionieren können. |
| FR-105 | Das System soll Dublettenprüfungen unterstützen. |
Kann-Anforderungen
| ID | Anforderung |
|---|---|
| FR-201 | Das System kann Webhooks oder Events für Änderungen bereitstellen (über mdm.AA_OUTBOX_EVENT, siehe Events / Webhooks). |
| FR-202 | Das System kann materialisierte Read Models aufbauen. |
| FR-203 | Das System ist mandantenfähig (Tenant-Säule im Datenmodell, siehe AA_TENANT). In V1 läuft alles auf Default-Tenant. |
| FR-204 | Das System kann eine externe Suchengine anbinden (über Outbox). |
Querverweise zu Modul-Specs
| FR | Verantwortliche Spec(s) |
|---|---|
| FR-001, FR-002, FR-003, FR-006, FR-104 | Domänenmodell, DDM_ENTITY_TYPE_ATTRIBUTE |
| FR-004, FR-011 | DDM_ENTITY, Löschen und Archivierung |
| FR-005, FR-007 | DDM_RELATION_TYPE, DDM_ENTITY_RELATION, Löschen und Archivierung |
| FR-008, FR-101, FR-105 | Suche und Filterung |
| FR-009, FR-102 | Views, SQL/Reporting |
| FR-010 | Audit und Historisierung, AA_AUDIT_LOG |
| FR-012 | Autorisierung |
| FR-013 | REST API |
| FR-014, FR-015 | Autorisierung, DDL |
| FR-016 | Audit und Historisierung, AA_AUDIT_LOG |
| FR-103 | offen, separates Spec-Dokument erforderlich |
| FR-201 | Events / Webhooks |
| FR-202 | optional, später zu spezifizieren |
| FR-203 | AA_TENANT, Autorisierung |
| FR-204 | Events / Webhooks, AA_OUTBOX_EVENT |