Intro
In the Introducing EDD article I introduced the simple building blocks of EDD. Also in the Heart of EDD article, I briefly described the philosophies behind it. In this article, I will show you the tools that we need to bring in our backpack for exploring a complex a domain.

Domain Concept
A significant concept within the problem space from a business perspective (e.g., “Hotel Voucher”, “Booked Room”, “Hotel Availability”, “Hotel Room Pricing”).
Domain concepts should not be a verb or an action. In fact a verb or action needs a house!. They need someone/something/somewhere to execute them. The house is a Domain Concept. For example, the action ‘transfer funds’ requires the context of ‘account’ and ‘bank,’ which are domain concepts.

Example
A concrete example is provided to clarify and evaluate each domain concept (e.g., a sample hotel voucher).

Relationship
Inherent connections exist between domain concepts within each layer of the model (e.g., the relationship between a voucher and a booked room).

Questions and Discussions
All questions and discussions are welcomed and documented to facilitate a thorough understanding (e.g., “What if a guest cancels a reservation?” “How should the cancellation policy be applied?”).

Business Rule
A business rule governs one or more domain concepts by defining a constraint or condition (e.g., checking room availability, ensuring children have a parent/guardian).

All in One Picture

[…] More on building blocks. […]
Masoud, this is a great post! Could you elaborate on specifying the domain concepts a bit more? I’d love to learn more about it.
[…] You’ve identified your firs Domain Concept in […]
[…] ⚠️The name of a domain concept. As mentioned earlier in the building blocks of EDD article a domain concept should not be a verb or an […]
[…] you can start your musical journey by focusing on learning just this core set of seven notes, their relationships to each other, and their written notation. Understanding these relationships within this core set […]