1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 17:49:57 +01:00
effigenix/backend/docs/mvp/ddd/03-ubiquitous-language.md
Sebastian Frick fb735702cf docs(ddd): detaillierte Domain Models für Production, Quality und Inventory BC
- Production BC: Aggregates (Recipe, Batch, ProductionOrder) mit Invarianten, Drafts, Status-Maschinen, Domain Events und Chargen-Genealogie
- Quality BC: 9 Aggregates (TemperatureLog, CleaningPlan/Record, GoodsReceiptInspection, SampleRecord, TrainingRecord, MaintenanceRecord, QualityHold, ProcessParameter) mit HACCP-Compliance
- Inventory BC: 4 Aggregates (Stock, StockMovement, InventoryCount, StorageLocation) mit FEFO, Reservierungen mit Priorität, Vier-Augen-Prinzip bei Inventur
- Ubiquitous Language: Inventory-Sektion von 11 auf 27 Begriffe erweitert
- Alte deutsche Datei 05-qualitaets-kontext.md entfernt (ersetzt durch 05-quality-bc.md)
2026-02-19 01:13:12 +01:00

18 KiB
Raw Blame History

Ubiquitous Language - Glossar

Datum: 2026-02-17

Diese Datei definiert die Ubiquitous Language für jeden Bounded Context. Diese Begriffe müssen im Code (Klassennamen, Methoden, Variablen) exakt so verwendet werden.


Production BC

Begriff (DE) Begriff (EN) Typ Definition
Rezept Recipe Aggregate Mehrstufige Anleitung zur Herstellung eines Produkts aus Rohstoffen und Zwischenprodukten
Zutat Ingredient Entity Rohstoff oder Zwischenprodukt, das in einem Rezept verwendet wird. Position bestimmt die Reihenfolge
Produktionsschritt ProductionStep Entity Einzelner Arbeitsschritt in einer Rezeptur mit optionaler Dauer und Temperaturangabe
Rezepttyp RecipeType Value Object Klassifizierung: RAW_MATERIAL, INTERMEDIATE (Zwischenprodukt) oder FINISHED_PRODUCT (Endprodukt)
Ausbeute YieldPercentage Value Object Verhältnis Input→Output in % (1-200%). >100% bei Pökel-/Spritzprozessen. Bei 80% Ausbeute braucht man 125kg Input für 100kg Output
Haltbarkeitsdauer ShelfLifeDays Value Object Anzahl Tage ab Produktionsdatum bis MHD. Definiert im Rezept, angewandt bei Chargen-Erzeugung
Unter-Rezept SubRecipe Concept Verweis auf ein anderes Rezept (INTERMEDIATE), das als Zutat verwendet wird. Ermöglicht verschachtelte Rezepturen
Rezeptur-Version Recipe Version Value Object Versionsnummer eines Rezepts. Neue Version = neues Recipe-Objekt, altes wird archiviert
Charge Batch Aggregate Eindeutig identifizierte Produktionseinheit mit Chargennummer, Datum, Rezept, Mengen und Genealogie
Chargennummer BatchNumber Value Object Formatierte eindeutige Kennung einer Charge (Format: "P-YYYY-MM-DD-XXX"). Generiert über BatchNumberGenerator
Verbrauch Consumption Entity Dokumentation, dass eine Input-Charge (Rohstoff/Zwischenprodukt) in einer Produktions-Charge verwendet wurde. Bildet die Chargen-Genealogie
Chargen-Genealogie Batch Genealogy Concept Gesamtheit aller Consumption-Beziehungen einer Charge. Ermöglicht Vorwärts- und Rückwärts-Tracing
Vorwärts-Tracing Forward Tracing Concept Ausgehend von einer Rohstoff-Charge: Welche Endprodukt-Chargen sind betroffen? Kritisch für Rückruf-Szenarien
Rückwärts-Tracing Backward Tracing Concept Ausgehend von einer Endprodukt-Charge: Welche Rohstoff-Chargen wurden verwendet?
Rückverfolgbarkeit Traceability Concept Lückenlose Dokumentation der Kette: Rohstoff-Charge → Produktions-Charge → Verkauf. HACCP-Pflicht
Zwischenprodukt Intermediate Product Concept Produkt, das in Rezept A hergestellt wird und als Zutat in Rezept B verwendet wird (z.B. Brät, Gewürzmischung)
Ausschuss Waste Value Object Menge an Material, die während Produktion verloren geht (Schwund, Knochen, Fett-Trimmen)
Produktionsauftrag ProductionOrder Aggregate Geplante zukünftige Produktion mit Rezept, Menge, Termin und Priorität. Erzeugt bei Start eine Charge
Priorität Priority Value Object Dringlichkeit eines Produktionsauftrags: LOW, NORMAL, HIGH, URGENT
Freigabe Release Concept Übergang eines Produktionsauftrags von PLANNED zu RELEASED. Signalisiert, dass Material verfügbar ist
Catch-Weight Dual Quantity Concept Doppelte Mengenführung für Artikel, die stückweise UND gewichtsweise erfasst werden (z.B. "10 Stück à 2,3 kg")
MHD BestBeforeDate Value Object Mindesthaltbarkeitsdatum einer Charge. Berechnet: ProductionDate + Recipe.ShelfLifeDays
Materialbedarf Material Requirement Concept Aus Rezeptur berechnete Rohstoffmenge unter Berücksichtigung der Ausbeute. Ausgelöst durch ProductionOrderReleased

Quality BC (HACCP/QM)

Begriff (DE) Begriff (EN) Typ Definition
HACCP HACCP Concept Hazard Analysis Critical Control Points - systematische Präventivmaßnahmen für Lebensmittelsicherheit
Kritischer Kontrollpunkt Critical Control Point (CCP) Concept Stelle im Prozess, an der Kontrolle notwendig ist, um Gefahren zu vermeiden
Temperaturprotokoll TemperatureLog Aggregate Standortbezogene Temperaturmessung an kritischem Punkt (Kühlraum, Theke) mit Grenzwertüberwachung
Messpunkt MeasurementPoint VO (Enum) Physischer Ort der Messung: COLD_ROOM, FREEZER, DISPLAY_COUNTER, PRODUCTION_ROOM
Temperatur Temperature Value Object Temperaturwert in °C mit physikalisch plausiblem Bereich (-50 bis +50)
Kritischer Grenzwert CriticalLimit Value Object Min-/Max-Paar für einen CCP (z.B. Kühlraum 2-7°C). Mindestens ein Limit muss gesetzt sein
Reinigungsplan CleaningPlan Aggregate Vorlage für Reinigungsaufgaben mit Bereich, Intervall und Checklisten-Template
Reinigungsintervall CleaningInterval VO (Enum) Turnus einer Reinigung: DAILY, WEEKLY, MONTHLY
Reinigungsnachweis CleaningRecord Aggregate Durchgeführte Reinigung gegen einen CleaningPlan mit abgehakter Checkliste
Checklisten-Eintrag ChecklistItem Entity Einzelner Prüfpunkt in einer Reinigung oder Inspektion
Wareneingangskontrolle GoodsReceiptInspection Aggregate Mehrteilige Prüfung bei Warenanlieferung (Temperatur, Sicht, MHD, Dokumente)
Temperaturprüfung TemperatureCheck Value Object Temperaturmessung bei Wareneingang mit Soll-/Ist-Vergleich
Sichtkontrolle VisualCheck Value Object Prüfung von Verpackung, Farbe, Geruch bei Wareneingang
MHD-Prüfung ShelfLifeCheck Value Object Prüfung des Mindesthaltbarkeitsdatums gegen Mindest-Restlaufzeit
Dokumentenprüfung DocumentCheck Value Object Prüfung von Lieferschein, Veterinärbescheinigung, Zertifikaten
Probenentnahme SampleRecord Aggregate Probenentnahme mit Analyseergebnis, Charge und Prüfmethode
Probenart SampleType VO (Enum) Klassifizierung: MICROBIOLOGICAL, CHEMICAL, PHYSICAL, SENSORY
Analyseergebnis AnalysisResult Value Object Messergebnis einer Probe mit Wert, Einheit und Interpretation
Schulungsnachweis TrainingRecord Aggregate Nachweis einer absolvierten Schulung mit Gültigkeitsdatum und Trainer
Schulungsart TrainingType VO (Enum) Klassifizierung: HACCP, HYGIENE, FOOD_SAFETY, EQUIPMENT_OPERATION, FIRST_AID
Wartungsprotokoll MaintenanceRecord Aggregate Dokumentation von Gerätewartungen (planmäßig, Reparatur, Kalibrierung, Inspektion)
Wartungsart MaintenanceType VO (Enum) SCHEDULED, REPAIR, CALIBRATION, INSPECTION
Qualitätssperre QualityHold Aggregate Sperre einer Charge bei Qualitätsproblemen. Block/Release-Pattern mit Vier-Augen-Prinzip
Sperrgrund HoldReason VO (Enum) TEMPERATURE_DEVIATION, SAMPLE_FAILED, CONTAMINATION_SUSPECTED, PROCESS_DEVIATION, CUSTOMER_COMPLAINT, REGULATORY
Korrekturmaßnahme CorrectiveAction Entity Maßnahme zur Behebung einer Abweichung im Rahmen eines QualityHold
Prozessparameter ProcessParameter Aggregate Batch-bezogene CCP-Messwerte (Kerntemperatur, pH, aw-Wert, Metalldetektion)
CCP-Typ CcpType VO (Enum) CORE_TEMPERATURE, PH_VALUE, WATER_ACTIVITY, METAL_DETECTION
Abweichung Deviation Concept Überschreitung eines Grenzwerts oder Nichteinhaltung eines Verfahrens
HACCP-Report HaccpReport Concept Audit-Report aggregiert aus allen Quality-Aggregates für einen Zeitraum

Labeling BC

Begriff (DE) Begriff (EN) Typ Definition
Allergen Allergen Value Object Einer der 14 EU-Hauptallergene, die kennzeichnungspflichtig sind
Spurenkennzeichnung Trace Declaration Value Object "Kann Spuren von X enthalten" bei gemeinsamer Verarbeitung
Nährwerttabelle Nutrition Facts Table Entity Rechtlich vorgeschriebene Angabe von Kalorien, Fett, Eiweiß, etc. pro 100g
Qualitätssiegel Quality Label Value Object Bio, Regional, Tierwohl-Zertifizierung
Herkunftskennzeichnung Origin Labeling Value Object Angabe des Herkunftslandes/-region für Rohstoffe
Etikett Label Aggregate Gedrucktes Etikett mit allen Pflichtangaben
Pflichtangabe Mandatory Declaration Concept Rechtlich vorgeschriebene Information auf Etikett (Name, Zutaten, Allergene, MHD, Hersteller)
Allergenkennzeichnung Allergen Declaration Concept Hervorhebung von Allergenen in Zutatenliste (z.B. Milch, Gluten)
Allergene Matrix Allergen Matrix Aggregate Übersichtstabelle: welches Produkt enthält welche Allergene (für Aushang)
Zertifizierungsnummer Certification Number Value Object Nummer des Bio-/Regional-/Tierwohl-Zertifikats

Inventory BC

Begriff (DE) Begriff (EN) Typ Definition
Bestand Stock Aggregate Aktueller Bestand eines Artikels an einem Lagerort, chargengenau mit FEFO und Reservierungen
Bestandscharge StockBatch Entity Einzelne Charge im Bestand mit Menge, MHD und Status (AVAILABLE, EXPIRING_SOON, BLOCKED, EXPIRED)
Chargenreferenz BatchReference Value Object Verweis auf Produktions- oder Lieferantencharge mit BatchType (PRODUCED oder PURCHASED)
Chargentyp BatchType VO (Enum) PRODUCED (Eigenproduktion via Production BC) oder PURCHASED (Zukauf via Procurement BC)
Chargen-Status StockBatchStatus VO (Enum) AVAILABLE, EXPIRING_SOON, BLOCKED, EXPIRED steuert Verfügbarkeit
Mindestbestand MinimumLevel Value Object Mindestmenge, bei Unterschreitung wird StockLevelBelowMinimum Event ausgelöst
Mindest-Resthaltbarkeit MinimumShelfLife Value Object Konfigurierbare Tage bis MHD, ab der eine Charge als EXPIRING_SOON markiert wird
FEFO First-Expired-First-Out Concept Entnahme/Reservierung priorisiert nach nächstem MHD (ältestes zuerst)
Verfügbarer Bestand AvailableStock Concept SUM(AVAILABLE Chargen) minus SUM(Reservierungen). Darf nicht negativ werden
Reservierung Reservation Entity Reservierte Menge für einen Produktionsauftrag oder Kundenauftrag mit Priorität
Reservierungspriorität ReservationPriority VO (Enum) URGENT, NORMAL, LOW bestimmt Zuteilungsreihenfolge bei Knappheit
Referenztyp ReferenceType VO (Enum) PRODUCTION_ORDER oder SALE_ORDER wofür reserviert wurde
Chargen-Zuteilung StockBatchAllocation Entity Zuordnung einer reservierten Menge zu einer konkreten StockBatch (per FEFO ausgewählt)
Bestandsbewegung StockMovement Aggregate Immutabler Audit-Trail einer Bestandsveränderung mit Chargen-Rückverfolgbarkeit
Bewegungstyp MovementType VO (Enum) GOODS_RECEIPT, PRODUCTION_OUTPUT, PRODUCTION_CONSUMPTION, SALE, INTER_BRANCH_TRANSFER, WASTE, ADJUSTMENT, RETURN
Bewegungsrichtung MovementDirection VO (Enum) IN (Zugang) oder OUT (Abgang) abgeleitet aus MovementType
Inventur InventoryCount Aggregate Physische Bestandsaufnahme pro Lagerort mit Soll/Ist-Abgleich und automatischer Differenzbuchung
Zählposition CountItem Entity Einzelne Position in einer Inventur: Artikel, Soll-Menge, Ist-Menge, berechnete Abweichung
Lagerort StorageLocation Aggregate Konfigurierbarer physischer Lagerort mit Typ und optionalem Temperaturbereich
Lagertyp StorageType VO (Enum) COLD_ROOM, FREEZER, DRY_STORAGE, DISPLAY_COUNTER, PRODUCTION_AREA
Temperaturbereich TemperatureRange Value Object Min-/Max-Temperatur eines Lagerorts in °C (-50 bis +80)
Schwund Shrinkage Concept Bestandsverlust durch Verderb, Bruch, Diebstahl erfasst als WASTE-StockMovement
Vier-Augen-Prinzip Four-Eyes Principle Concept Inventur: CompletedBy muss sich von InitiatedBy unterscheiden

Procurement BC

Begriff (DE) Begriff (EN) Typ Definition
Bestellung Purchase Order Aggregate Bestellung an Lieferant mit Artikeln, Mengen, Liefertermin
Wareneingang Goods Receipt Aggregate Annahme und Erfassung gelieferter Ware mit Qualitätsprüfung
Lieferanten-Chargennummer Supplier Batch Number Value Object Chargen-Nummer des Lieferanten für Rückverfolgbarkeit
Bedarfsplanung Demand Planning Aggregate Berechnung des Einkaufsbedarfs aus Produktionsplan und Lagerbestand
Lieferschein Delivery Note Value Object Vom Lieferanten mitgeliefertes Dokument
Veterinärbescheinigung Veterinary Certificate Value Object Gesetzlich vorgeschriebenes Dokument für Fleischwaren
Qualitätszertifikat Quality Certificate Value Object Bio-, Regional-, Tierwohl-Zertifikat des Lieferanten
Bestellmenge Order Quantity Value Object Bestellte Menge (kann von empfangener Menge abweichen)
Mindestbestellmenge Minimum Order Quantity Value Object Vom Lieferanten vorgegebene Mindestmenge
Zahlungsziel Payment Terms Value Object Vereinbarte Zahlungsfrist (z.B. "Netto 30 Tage")
Lieferantenbewertung Supplier Rating Entity Bewertung nach Qualität, Pünktlichkeit, Preis-Leistung

Filiales BC

Begriff (DE) Begriff (EN) Typ Definition
Filiale Branch Aggregate Standort mit eigenem Bestand, ggf. eigener Produktion/Verkauf
Filialtyp Branch Type Value Object PRODUCTION_AND_SALES, SALES_ONLY, PRODUCTION_ONLY
Interfilial-Transfer Inter-Branch Transfer Aggregate Warenversand von Filiale A nach Filiale B mit Chargen-Tracking
Zentrale Produktion Central Production Concept Produktion an einem Standort für Belieferung mehrerer Filialen
Verteilungsplan Distribution Plan Aggregate Plan zur Verteilung eines Produktionsbatches an mehrere Filialen
Liefertermin Delivery Date Value Object Geplanter oder tatsächlicher Liefertermin für Interfilial-Transfer
Transportdokument Transport Document Value Object Lieferschein für interne Lieferung zwischen Filialen
Filiallager Branch Warehouse Concept Lagerbestand einer spezifischen Filiale

Master Data BC

Begriff (DE) Begriff (EN) Typ Definition
Artikel Article Aggregate Produkt oder Rohstoff mit Stammdaten
Verkaufseinheit Sales Unit Entity Einheit, in der Artikel verkauft wird (Stück, kg, 100g)
Preismodell Price Model Value Object FIXED (fester Preis) oder WEIGHT_BASED (Preis × Gewicht)
Lieferant Supplier Aggregate Geschäftspartner, von dem Waren bezogen werden
Kunde Customer Aggregate Geschäftspartner, an den Waren verkauft werden
Rahmenvertrag Frame Contract Entity Langfristige Vereinbarung mit Kunde über Preise/Mengen
Artikelnummer Article Number (SKU) Value Object Eindeutige Identifikation eines Artikels
Produktgruppe Product Category Value Object Kategorisierung von Artikeln (z.B. "Wurst", "Aufschnitt", "Frischfleisch")
Kundenpräferenz Customer Preference Value Object Präferenz für Bio, Regional, Tierwohl, etc.

Sales BC

Begriff (DE) Begriff (EN) Typ Definition
Auftrag Order Aggregate Kundenauftrag (Vorbestellung oder B2B-Auftrag)
Auftragsart Order Type Value Object PRE_ORDER (Vorbestellung), B2B_ORDER, WALK_IN (Ladenverkauf)
Rechnung Invoice Aggregate Rechnungsdokument mit Positionen und Betrag
Lieferschein Delivery Note Aggregate Dokument für Warenauslieferung (mit oder ohne Rechnungsfunktion)
Gutschrift Credit Note Aggregate Stornierung oder Teilstornierung einer Rechnung
Zahlungsstatus Payment Status Value Object OPEN, PAID, OVERDUE, CANCELLED
Sammelrechnung Collective Invoice Concept Monatliche Zusammenfassung mehrerer Lieferungen (B2B)

Scale Integration BC

Begriff (DE) Begriff (EN) Typ Definition
Waagensynchronisation Scale Sync Aggregate Übertragung von Artikelstammdaten an Waage
Bondaten Bond Data Aggregate Verkaufsdaten aus Kassensystem
Etikettendruck Label Print Concept Druck von Etiketten an Waage mit aktuellem Gewicht
TSE Technical Security Equipment Concept Technische Sicherheitseinrichtung für Kassensysteme (Deutschland)

Shared Concepts (BC-übergreifend)

Begriff (DE) Begriff (EN) Typ Definition
Menge Quantity Value Object Numerischer Wert mit Einheit (kg, g, Stück, Liter)
Geld Money Value Object Betrag mit Währung (z.B. 100 EUR)
Zeitstempel Timestamp Value Object Datum + Uhrzeit
Benutzer-ID User ID Value Object Eindeutige Identifikation eines Benutzers
Status Status Value Object (Enum) Zustand eines Objekts (z.B. ACTIVE, INACTIVE, PENDING)

Naming Conventions (Java)

Packages

com.effigenix.domain.production    // Production BC
com.effigenix.domain.quality        // Quality BC
com.effigenix.domain.labeling       // Labeling BC
com.effigenix.domain.inventory      // Inventory BC
com.effigenix.domain.procurement    // Procurement BC
com.effigenix.domain.filiales       // Filiales BC (Plural!)
com.effigenix.domain.masterdata     // Master Data BC

Classes (Englisch!)

// Aggregates: Singular noun
Recipe, Batch, ProductionOrder
TemperatureLog, CleaningRecord
ProductLabel, AllergenMatrix
Stock, StockMovement, InventoryCount, StorageLocation
PurchaseOrder, GoodsReceipt
Branch, InterBranchTransfer

// Value Objects: Descriptive noun
RecipeId, BatchId, YieldPercentage
Temperature, CriticalLimit
AllergenType, NutritionFacts
BatchReference, MinimumLevel, MinimumShelfLife
TemperatureRange, StorageLocationName
Quantity, Money, Timestamp

Methods (Englisch!)

// Domain behavior (verbs)
recipe.addIngredient(...)
batch.complete(...)
stock.addBatch(...)
stock.reserve(...)
stock.confirmReservation(...)
purchaseOrder.confirm(...)

// Factory methods
Recipe.create(...)
Batch.of(...)

// Getters (no "get" prefix)
recipe.id()
batch.status()
stock.availableQuantity()

Anti-Patterns (NICHT verwenden!)

Technische Begriffe im Domain:

  • DTO, Entity (nur als Typ-Suffix in Infrastructure)
  • Save, Update, Delete (stattdessen: Domain-Verben)

Abkürzungen ohne Definition:

  • WE → Wareneingang / Goods Receipt
  • BS → Bestand / Stock

Deutsche Begriffe im Code:

  • Rezept.java → Recipe.java
  • addZutat() → addIngredient()

Deutsche Begriffe nur in:

  • Dokumentation
  • UI/UX
  • User Stories
  • Glossar (wie dieses Dokument)