We analyze the business domain in more detail and identify the essential elements of the domain. We decide which entities, value objects, domain events, and services will be in the focus of our attention and begin to model these elements.
- Think about bounded contexts in the domain. Sketch a context map to distinguish different domain contexts in your domain-driven design. Note that the domain map is different from the context view.
- Select one bounded context and refine it. Which are the 3 most relevant entities in this context?
- Focus on one entity. Which value objects will you need to specify some of its properties? Specify the entity in more detail using a class diagram.
- What will the life cycle of this entity look like? Specify it in a state machine.
- Select 3 domain events that can change the state of the selected entity. Refine the transitions in the state machine showing the impact of these events.
- Think about a process in which an element of the environment interacts with the entity. Describe this process in a BPMN diagram.
- Which services will you need in the system to implement the process?
- Think about things that can go wrong in this process. Briefly describe how the error handling could proceed and in which state the entity will end up once the error has been handled.