conceptual-modeling

Installation
SKILL.md

Conceptual Modeling

Coverage

Methodology for abstracting a real-world domain into a structured representation before any database table, API endpoint, or aggregate boundary is named. Identifies entities (distinguishable things the business tracks), attributes (properties that describe an entity), and relationships (meaningful connections between entities). Specifies cardinality (1:1, 1:N, M:N, 0..1, 1..*); distinguishes association from aggregation from composition; uses generalization / specialization with disjoint / overlapping and total / partial constraints; recognizes when an associative relationship needs to be reified into its own entity (e.g. an enrollment between Student and Course that carries grade and date). Walks the conceptual → logical → physical abstraction ladder. Validates models against business stakeholders' mental models via walk-through, scenario testing, negative testing, and terminology audit. Names the seven anti-patterns: implementation leakage, missing entity, god entity, phantom relationship, premature normalization, attribute-as-entity, unnamed relationship.

Philosophy

Every software system is a model of some real-world domain. The quality of that model determines whether the system helps or hinders its users. Without explicit conceptual modeling, the team jumps directly from requirements to code — encoding implicit assumptions that surface later as architectural debt. A requirement like "users can place orders" hides dozens of decisions: is a cart an order? can an order have multiple shipments? is a refund a new entity or a state of a payment? Conceptual modeling forces those decisions to the surface before code exists, so rework happens on a whiteboard rather than across a migration.

The discipline is anti-rigid in a specific way. Conceptual modeling stays one layer above logical modeling (tables, foreign keys, normalization) and one layer above DDD tactical design (aggregates, bounded contexts, anti-corruption layers). The moment the model speaks of UUIDs, indexes, or cascade behavior, it has fallen into logical modeling. The moment it prescribes aggregates or anti-corruption layers, it has crossed into DDD. Conceptual modeling's job is earlier and narrower: capture the domain structure clearly enough that those later design layers can proceed without guessing about the business.

1. The Three-Level Architecture

Level Purpose Audience Notation
Conceptual What exists in the business domain Business stakeholders, product managers Simplified UML class diagrams, entity lists, relationship maps
Logical How the data is structured, platform-independent Architects, senior developers Normalized schemas, interface contracts, type hierarchies
Physical How the data is stored and accessed Database engineers, backend developers SQL DDL, index strategies, partition schemes
Related skills

More from jacob-balslev/skill-graph

Installs
5
First Seen
10 days ago