고수준 도메인 모델 생성
시스템 작업을 정의하려면 우선 고수준의 애플리케이션 도메인 모델을 대략 그려 봅니다. 물론 최종적으로 구현할 모델보다는 훨씬 단순한 모델이죠. 각 서비스는 자체 도메인 모델을 소유하기 때문에 도메인 모델이 하나뿐인 애플리케이션은 없습니다. 너무 지나치게 단순화한 감은 있지만, 고수준 도메인 모델은 시스템 작업의 동작을 기술하는 데 필요한 보케블러리를 정의하기 때문에 이 단계에서는 유용합니다.
도메인 모델은 스토리에 포함된 명사를 분석하고 도메인 전문가와 상담하는 등 표준 기법을 활용하여 생성합니다. 예를 들어 주문하기(Place Order) 스토리는 다음과 같이 다양한 사용자 시나리오로 확장시킬 수 있습니다.
전제(Given)
소비자가 있다.
음식점이 있다.
음식점은 소비자의 주소로 제시간에 음식을 배달할 수 있다.
주문 총액이 음식점의 최소 주문량 조건에 부합한다.
조건(When)
소비자가 음식점에 음식을 주문한다.
결과(Then)
소비자 신용카드가 승인된다.
주문이 PENDING_ACCEPTANCE 상태로 생성된다.
생성된 주문이 소비자와 연관된다.
생성된 주문이 음식점과 연관된다.