knowledge-kitchen

Domain Modeling - Identifying the Nouns

Identifying the entities existent in a problem space.

  1. Overview
  2. Entities
  3. Relationships
  4. Entity-Relationship Diagrams
  5. Conclusions

Overview

Concept

Developing and documenting a conceptual model of the things that exist within the domain of the project, and the interrelationships among those things.

Domain models help break down and understand the problem space within which work will be performed.

Concept (continued)

Whereas use cases and user stories help understand the users and their interactions with the system, domain modeling helps understand the internals of the system to be built.

Living documentation

Domain models are living documents. They are continually refined as needed.

They are never done and never exhaustive. They are conversational in nature.

They provide only as much information as is useful to those involved in a project.

Living documentation (continued)

As you work on a project, your understanding of the domain expands.

Keeping an up-to-date domain model can help all involved agree on the details of the domain.

Entities

Concept

Entities are the things that exist in the domain of a project that must be documented.

Entities may be people, processes, system components, databases, or any other noun.

Process

Identifying entities is easy (if you have written documentation of the project).

Diagramming

Domain models follows a standardized modeling style defined by the Unified Modeling Language (UML), a commonly-used diagramming language.

Example

Entities example

Relationships

Concept

Once entities are established, document the relationships or interactions among them.

Diagramming

Domain models follows a standardized modeling style defined by the Unified Modeling Language (UML), a commonly-used diagramming language.

Example

Simple relationships example

Example

This example contains additional details about each entity: More complex relationships example

Entity-Relationship Diagrams

Concept

In database design, very similar diagrams are created, called Entity-Relationship Diagrams (ERD).

Conclusions

Thank you. Bye.