의사 소통과 언어 사용
Last updated
Last updated
도메인 모델은 공통 언어의 핵심이 될 수있다. UML상의 다이어 그램으로 한정되지 않고, 모든 의사 소통 수단에 스며들어 있어야한다.
유연하고 풍부한 지식이 담긴 설계를 만드려면 팀의 공유 언어와, 그에 대한 실험이 필요하다.
도메인 전문가는 소프트웨어 기술 용어를 이해하는데엔 한계가 있지만, 자신의 전문 분야의 용어는 다양하게 사용할 것이다. 반대로 개발자는 시스템에 대한 서술&용어 정리는 되지만 전문가의 언어를 이해하지 못한다.
공통 언어가 없는 프로젝트에서는 서로가 서로의 언어를 번역해주어야 한다. 모델의 개념을 혼란스럽게 한다거나, 팀원간의 의사소통이 이어져있지않아 개념이 분열되도 겉에서는 티가나지 않는다.
이러한 상호간의 번역은 용어의 분열을 일으키고 용어와 코드상 용어가 단절된다.
모델기반 언어를 정의하여 도메인전문가와 소프트웨어 기술자의 의미를 통합시켜야 한다. 이러한 모델 기반 언어는 산출물, 업무, 기능을 기술할 때도 사용해야 한다.
모델 기반 언어의 사용으로 모델의 취약점이 드러나게 되는 경우에는 팀은 새로운 단어를 찾아내며 도메인 모델의 변화로 이어지게 된다. 이는 코드상 용어, 메서드, 구현까지도 영향을 미치게된다.
설계에는 도메인 전문가와 관련없는 기술적인 구성요소도 있지만, 모델의 핵심은 도메인 전문가의 관심을 끌어야 한다. 도메인 전문가도 해당 모델을 이해하지 못한다면 잘못된 모델인 것이다.
초기 단계 설계에서는 사용할 모델이 존재하지 않는다. 사용자와 개발자가 함께 아이디어와 기능을 검토하기 시작하며 모델을 찾는 과정이 시작된다.
도메인 전문가와 개발자가 논의할 때 이러한 언어를 사용하게 되면, 잘못된 부분이나 적합하지 않은 부분을 금방 발견하게된다.