발표준비
본 장에서는 화물 해운 시스템
예제를 토대로 Model Driven Design을 발전시켜가면서 모델과 설계의 정제 과정을 살펴볼 것이다.
또한 Aggregate나 Factory, Repository들이 어떻게 적용되는지 알아보자.
화물 해운 시스템 소개
요구하는 기능들은 다음과 같다.
- 고객 화물의 주요 처리상황 추적
- 화물 사전 예약
- 화물이 일정한 처리 지점에 도달할 때 자동으로 고객에게 송장을 발송
- 요구사항을 기반으로 만들어진 모델은 다음과 같다.
- 이러한 모델은 도메인 지식을 이해하고 유비쿼터스 언어를 제공한다.
- 모델을 통해 아래와 같이 의사소통을 할 수 있다.
- “여러 Customer(고객)는 하나의 Cargo(화물)와 관계를 맺고, 각기 다른 역할을 수행한다.”
- “Cargo의 배송 목표(goal)를 명시한다.”
- “Delivery Specification(배송 명세)을 충족하는 여러 Carrier Movement(운송수단 이동)로 배송 목표가 달성될 것이다”
모델 내의 각 객체는 다음과 같은 의미를 갖는다.