-
도메인 지식을 알아야 하는 이유
우리가 개발하는 소프트웨어는 비즈니스 문제를 해결하는 솔루션이다.
소프트웨어의 프로젝트 성공은 도메인 전문가와 소프트웨어 엔지니어 간의 효과적인 지식공유에 달렸습니다.
문제를 해결하려면 문제를 이해해야 합니다.
그렇다고 해서 우리가 도메인 전문가가 될 필요는 없습니다.
하지만 그들을 이해하고 그들이 쓰는 동일한 비즈니스 용어를 사용하는 것이 중요합니다.
효과적인 지식공유를 위한 방법
도메인지식이 코드로 구현되기까지는 대게 다음과 같이 일어납니다.
- 도메인 전문가 -> 소프트웨어 분석가 -> 소프트웨어 명세서 -> 개발자 -> 구현
하지만 이런 단계별로 변환이 되면서 정보를 누락되거나 변질될 수 있습니다.
이때 지식을 효과적으로 전달하기 위해서 '유비쿼터스 언어'를 활용해 볼 수 있습니다.
유비쿼터스 언어는 간단하게 어떤 용어를 설명할 때 모든 이해관계자가 같은 용어를 사용하자는 것입니다.
유비쿼터스 언어를 탐구하기 위해서는 도메인 전문가와 대화하고 질문해야 할 수도 있습니다.
도메인 모델
유비쿼터스 언어를 발전시켜서 비즈니스 도메인 모델을 만들어낼 수 있습니다.
우선 모델이란 무엇일까요?
모델은 특정 목적을 해결하기 위해 필요한 정보만 담고 있습니다.
유용한 모델은 그 목적에 필요한 정보가 제공해야 합니다.
세계 지도, 지하철 노선도가 좋은 예시입니다.
세계 지도에서는 지하철 노선도를 볼 수 없으며, 지하철 노선도에는 거리를 볼 수 없습니다.
이렇게 도메인을 해결하기 위한 필요한 정보를 담아 도메인 모델을 만들어냅니다.
소프트웨어가 해결하고자 하는 특정 문제에 대해 필요한 만큼의 비즈니스 도메인 관점만 포함하면 됩니다.
참고자료
도메인 주도 설계 첫걸음
'DDD' 카테고리의 다른 글
비즈니스 도메인이란? (0) 2024.01.14 DDD란 무엇인가? (1) 2023.11.28