Conference Speakers & Workshop Leaders

iSAQB Software Architecture Gathering 2024

  • Session (45min)
  • Intermediate
  • 25 Nov 2025
  • 15:15-16:00
  • Room: Grenander 2+3

Great Software Architecture with Glorious Data Models

by Mike Sperber

Domain models are crucial for good software architecture: Good models are expressive and elastic in the face of changes, software projects are full of poor models that make changes pure hell. This goes especially for *data models* – the structure of the objects that make up our domain. Yet the common collaborative modeling techniques focus almost exclusively on process – what happens to domain objects, rather than their structure.

The talk examines the impact of data models on software architecture, and gives an overview of effective techniques for designing them.

Specifically we’ll look at:

– differences and commonalities between data models and process models
– over-structured database models as a source of coupling and suffering
– the use and abuse of mutable state
– design recipes as a systematic technique for structuring data
– abstraction as a tool for improving the expressiveness of data without losing the connection to the domain
– combinator models as a tool for creating long-lived and flexible data models

While many of the insights techniques presented come from functional programming, they are equally applicable in OO languages and projects.