DevBoi

[DDD] 모델링 실습 본문

Develop/[DDD]

[DDD] 모델링 실습

HiSmith 2023. 6. 8. 16:06
반응형

사내 도서대여시스템 이라고 가정하고 모델링 실습을 해보자

요구 사항은 아래와 같다.

 

<요구사항>

 

<업무 흐름>

<이벤트 스토밍>

Miro라는 툴로 이벤트 스토밍을 진행할 수 있다. 온라인 이벤트스토밍 툴이다.

 

Domain Event

 - 시스템에서 발생하는 중요한 이벤트

 - 데이터가 아닌 비즈니스 프로세스에 집중

 - 과거형 동사로 표현

Hot Spot

 - 질문,가정,경고,의견 수렴이 필요한 내용

 - 병목 구간,자동화 필요한 수작업, 도메인지식이 없는 경우

 - 완전히 정의되지 않은 영역, 해결해야 하는 문제

 - 필요한 곳 어디에나 부착 가능

Command

 - 이벤트를 트리거 하는 명령

 - 현재동사로 표현

Actor

 - Command를 동작하게 하는 사용자/역할

 - 사람이나 역할의 이름을 명사로 표현

Policy

 - 다른 바운디드 컨텍스트에 영향을 주는 이벤트

 - Domain Event 가 발생하면 파생되는 동작

-  만약 ~하면 ~ 한다.

External System

 - 연계가 필요한 외부 시스템 또는 프로세스

- 명사로 표현

Aggregate

 - Domain Event와 Command에 의해 관리되는 데이터

 - Domain Event 와 Command를 표현하는 키워드

 - 명사로 표현

 

이 순서로 설게를 진행한다.

설계 내용은 아래와 같다. 우선 이벤트 스토밍은 발생할 수 있는 이벤트들을 스토밍 하는 단계이므로

발생할 수있는 이벤트에 대해서 정리를 하는 것이고, 정리하면 아래와 같다.

 

<핫스팟 도출>

 

핫스팟은 도메인 지식이 없는 경우, 혹은 부족한 경우 각각의 이벤트에서 의문점이나 정리되지 않은 부분, 고려해야하는 부분에 대해서 정리해서 첨언식으로 남기는 것을 의미한다.

 

 

일단 여기까지 했으면 다음에는 커맨드와 액터를 도출해보자

반응형