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.
All 19 Patterns with Diagrams & EA Mapping
Accountability Patterns
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
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
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
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.