Domain Modeling6-Page PDF17 Diagrams19 Patterns

Analysis Patterns
Reusable Object Models

19 domain modeling patterns every enterprise architect should know โ€” with UML-style diagrams, detailed descriptions, and enterprise architecture mapping for each pattern.

Download the PDF

6-page reference โ€” all 19 patterns with EA mapping, plus cross-pattern relationships. Landscape A4.

Download PDF
Analysis Patterns catalog
19 analysis patterns organized into four groups: Accountability, Observations, Temporal, Planning & Trading

All 19 Patterns with Diagrams & EA Mapping

Accountability Patterns

Party and Accountability UML pattern
Party & Accountability โ€” the foundational pattern for people, organizations, and typed responsibilities
Organization Hierarchy vs Flexible Structure
Rigid hierarchy (tree) vs flexible type-based structure โ€” choose based on organizational complexity
Party Type Generalizations
Subtype by nature (Person/Org), NOT by role โ€” a Party plays multiple Roles over time
Accountability Knowledge Level
Knowledge Level constrains which accountability types are valid between which party types

Party

The root abstraction for modeling any person or organization. All other accountability patterns build on this foundation. Person and Organization are subtypes of Party โ€” but roles (Customer, Employee, Supplier) are separate objects assigned to a Party, not additional subtypes. This prevents the "one class per role" explosion that makes domain models unmaintainable.

EA mapping: Maps to Business Actor in ArchiMate. The Party abstraction is the foundation for CRM, HR, IAM, and any system that tracks people or organizations.

Organization Hierarchy

A recursive structure where an Organization can contain other Organizations. Models divisions, departments, teams, legal entities โ€” any tree-shaped organizational structure with a single parent per child. Simple and powerful for stable hierarchies.

EA mapping: Maps to ArchiMate Composition relationships between Business Actor elements. Use when the hierarchy is relatively stable and tree-shaped.

Organization Structure

A type-based alternative to rigid hierarchy. Uses a separate StructureType object to define what kinds of organizational relationships are valid, allowing matrix orgs, dotted-line reporting, and virtual teams without code changes.

EA mapping: The StructureType becomes reference data in the application architecture โ€” a configuration service, not hard-coded logic.

Accountability

Connects a commissioner (Party) to a responsible (Party) with a typed relationship. The Accountability Type defines the nature โ€” employment, management, regulation, contract, governance.

EA mapping: Maps to ArchiMate Assignment and Serving relationships. Every EA model implicitly uses this when connecting actors to roles and services.

Accountability Knowledge Level

Meta-rules constraining which Accountability Types are valid between which Party Types. Example: "only an Organization can be an employer" or "a Person cannot manage another Person without an intermediate Organization."

EA mapping: Governance metadata โ€” belongs in the architecture repository as constraint rules that validate model correctness automatically.

Party Type Generalizations

Subtype by nature (Person vs Organization), assign roles dynamically. A Party plays multiple Roles over time โ€” Customer today, Supplier tomorrow, Partner next year.

EA mapping: Prevents class explosion. One Party entity with dynamic role assignment replaces dozens of specialized entity types.

Observation & Measurement Patterns

Quantity and Measurement pattern
Quantity & Measurement โ€” never store a naked number, always pair amount with unit
Unit, Conversion Ratio and Compound Units
Unit ecosystem: base units, conversions, compound units (km/h, $/kg), and dimensional analysis
Range pattern
Range โ€” explicit bounds replace magic numbers; enables automated validation and bracket classification
Observation and Protocol
Observation unifies all evidence types (numeric, categorical, ordinal, textual) with Protocol for repeatability

Quantity

An amount paired with a unit. Never store a naked number. "150" is meaningless โ€” "150 km/h" is a Quantity. Prevents the unit-mismatch errors that caused the Mars Climate Orbiter crash in 1999.

EA mapping: Every data model storing measurements, financials, or physical quantities should implement this. Highest-impact data quality pattern.

Unit & Conversion Ratio

Units have dimensions (length, mass, time). Conversions link them (1 mile = 1.609 km). Compound Units combine dimensions (km/h, $/kg). Enables transparent unit translation throughout the system.

EA mapping: Becomes a shared Unit Reference Data service consumed by every measurement-producing system in the enterprise.

Measurement

A Quantity observed at a specific DateTime by an identified observer using a specified protocol. Foundation for all time-series data: sensors, financials, health vitals, IoT, KPIs.

EA mapping: Maps to Data Objects in ArchiMate. The temporal dimension is critical for analytics, audit, and compliance.

Observation

Generalization of Measurement to include qualitative data. Categorical (pass/fail), ordinal (1-5 stars), textual (clinical notes). Unifies all recorded evidence under one abstraction.

EA mapping: Essential for healthcare, quality assurance, inspection, and domains where observations are not purely numeric.

Range

Upper and lower bounds for a Quantity. Blood pressure 90/60-120/80. Tax bracket $44K-$95K โ†’ 22%. Tolerance ยฑ0.5mm. Model ranges explicitly as first-class objects.

EA mapping: Ranges appear in every compliance domain. Explicit modeling enables automated validation and bracket classification.

Temporal Patterns

Four temporal patterns
Effectivity, Temporal Property, Snapshot, and Bi-temporal โ€” four approaches to modeling time
Effectivity with timeline
Effectivity โ€” time-bounded records with version coexistence, no overwrites
Audit Trail
Audit Trail โ€” immutable append-only log: who changed what, when, and why
Bi-temporal two time axes
Bi-temporal โ€” transaction time ร— valid time enables "as-of" queries and full correction history

Effectivity

Valid-from / valid-to date range on any record. Tax rates, employee roles, contracts โ€” all time-bounded. Multiple versions coexist transparently. No overwrites, no data loss.

EA mapping: Non-negotiable for regulatory compliance. Every master data record should carry effectivity dates.

Temporal Property

A property whose value changes over time, with full history. Each change creates a new entry with dates. Answers: "what was the value at time T?"

EA mapping: Foundation of SCD Type 2 in data warehousing. Without it, you cannot reproduce historical reports.

Snapshot & History

Snapshot = current state (fast queries). History = complete timeline (full audit). Most enterprise systems need both views simultaneously.

EA mapping: Maps to CQRS: read-optimized current projection + write-optimized event/history store.

Audit Trail

Every state change recorded: who (actor), when (timestamp), what (change type), why (reason). Immutable append-only log. Never delete audit entries.

EA mapping: Maps to event sourcing. Audit requirements are often the primary driver for temporal modeling.

Bi-temporal

Two time axes: transaction time (when recorded) and valid time (when true). Enables: "as of Jan 15, what did we know about Dec 31?" Both original and corrected values coexist.

EA mapping: Essential for financial restatements, regulatory as-of reporting, and late-arriving data corrections.

Planning & Trading Patterns

Account, Transaction and Posting Rule
Account, Transaction & Posting Rule โ€” event-driven accounting for any domain
Posting Rule detail
Posting Rule decouples business events from accounting โ€” change rules without data migration
Scenario what-if
Scenario โ€” what-if projections using the same Account structure as actuals
Contract and Portfolio
Contract, Portfolio & Scenario โ€” linking accountability, temporal, and planning patterns

Account

Accumulator of entries with running balance. Not just financial โ€” loyalty points, resource capacity, inventory, carbon credits, bandwidth pools. The most universal tracking abstraction.

EA mapping: Maps to ArchiMate Business Object with deposit/withdraw/balance Services. Appears in virtually every enterprise domain.

Transaction

Atomic business activity creating account entries. Immutable: correct by posting reversals, never by editing. Foundation of double-entry bookkeeping.

EA mapping: Immutability enables complete audit trails. Maps to Business Events in ArchiMate.

Posting Rule

Auto-generates entries when events occur. Sale โ†’ debit inventory, credit revenue. Separates "what happened" from "accounting consequence" โ€” change policy by changing rules, not data.

EA mapping: Event-driven architecture applied to domain accounting. Business events trigger rules that produce entries.

Scenario

What-if planning with alternative projections. Budget optimistic/conservative, capacity with/without acquisition. Same Account structure as actuals โ€” no separate data model.

EA mapping: Enables enterprise planning without polluting actual data. Compare by querying projected vs actual.

Contract

Binds parties to terms with effectivity. Bridges Accountability (who?) and Temporal (when valid?). Insurance, loans, SLAs, employment.

EA mapping: Maps to ArchiMate Contract. Links Party from Accountability to Effectivity from Temporal patterns.

Portfolio

Groups contracts/assets for collective management. Insurance books, loan portfolios, investment funds. Enables portfolio-level risk and valuation.

EA mapping: ArchiMate Aggregation of Contracts. Enables portfolio-level analysis and reporting.

Apply these patterns in real architecture projects

Our training covers domain modeling, pattern application, and tool-based implementation in Sparx Enterprise Architect.