# 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 ```java 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!) ```java // 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!) ```java // 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)