도메인 전문가들끼리 모여서 만든 모델은 객체들끼리 매우 복잡한 연관 관계를 맺고 있었다.

그러한 모델은 애플리케이션의 설계와 구현에 많은 도움이 되지 않았다.

이처럼 도메인 전문가끼리 논의하여 도출된 모델은 그들 관점에서는 ‘옳은'것이였겠지만 개발자가 설계할 때는 큰 도움이 되지 않는다.

즉, 개발자가 도메인을 이해하는데 도움될 뿐 아니라 설계의 기반이 되는 모델이 필요하다.

이러한 모델을 만들기 위해 모델 주도 설계에 대해서 알아보자.

MODEL-DRIVEN DESIGN (모델 주도 설계)

도메인 모델은 전혀 없고 기능만 차례로 구현하는 프로젝트는 원활하게 진행되지 못 할것 이다.

여러 설계 방법론에서는 분석 모델의 필요성을 지지한다.

하지만 분석 모델은 설계상의 쟁점들을 염두에 두고 만들어진 것이 아니라서, 분석 모델을 토대로 설계를 진행한다면 매우 비현실적일 가능성이 높다.

결과적으로 순수하게 이론에만 치우친 분석 모델은 코딩이 시작되자마자 폐기되고 대부분의 문제를 다시 검토해야 한다.

이처럼 분석과 설계가 분리되어 있다면, 도메인 전문가와 개발자 사이의 의사소통이 제대로 이뤄지지 않고 올바른 소프트웨어가 만들어질 수 없다.

그래서 도메인 전문가와 개발자가 협업하여 도메인 분석과 설계가 분리되지 않도록 하기 위해 모델 주도 설계가 요구된다.