도메인 지식 찾아내기

홍종화·2023년 1월 25일
0

Domain-Driven-Design

목록 보기
1/3

2023년 1월 23일

출처: 블라드 코노노프 - 도메인 주도설계 첫 걸음

목차

비즈니스 문제란?


  1. 기업이 서비스를 제공하는데 발생하는 모든 문제.
  2. 비즈니스 도메인과 하위 도메인의 모든 수준에서 발생할 수 있음.
  3. 하위 도메인의 목적은 세분화된 문제 도메인으로 특정 비스니스 문제에 대한 솔루션을
    제공하는 것에 있다.

도메인 지식 찾아 내기


  1. 도메인 전문가가 문제를 생각하는 방식 (멘탈 모델) 을 이해하고 있어야 효과적인
    소프트웨어 솔루션의 설계가 가능하다.
  2. 만약 도메인 전문가가 제시한 요구사항에서 ‘극단적인 경우’를 놓친다거나,
    비즈니스 개념을 설명하지 못해서 요구사항을 충족할 모델을 구현할 능력이 없다면,
    소프트웨어 솔루션에서 심각한 비즈니스 문제가 발생하게 된다.
  3. 이러한 문제를 예방하기 위해서, 도메인 전문가와 소프트웨어 엔지니어간의
    효과적인 커뮤니케이션 방식이 요구된다.

커뮤니케이션


도메인 지식이란, 프로젝트의 비즈니스 문제를 해결하고
프로젝트의 성공과 직결되는 핵심 정보이다.
프로젝트 구성원 중 누구나 이 도메인 지식을 인지하고 있을 수 있고,
이 도메인 지식을 손실 없이 협업자들에게 전달하기 위해 효과적인 커뮤니케이션이 필요하다.

이 때, 도메인 주도 설계에서는 더 나은 방법으로 유비쿼터스 언어를 제안한다.

유비 쿼터스 언어란?


💡 정보가 전달되는 과정에서, 각 전문가가 이해하기 편한 방식으로 ‘변환’ 시키게 되면, 필연적으로 정보의 손실이 발생한다. 이 ‘변환’을 최소화하기 위하여 도메인에서 모두가 같은 언어를 사용하자는 것이고, 이것이 유비 쿼터스 언어이다.
  1. 도메인 주도 설계의 초석
  2. 프로젝트 참가자들 모두가 동일한 이해를 얻을 수 있다.
  3. 모든 프로젝트 참가 협업자들은, 유비쿼터스 언어를 이용해 비즈니스 도메인을 설명해야 한다.
  4. 유비 쿼터스 언어는 모든 프로젝트 참가자들에 의해 지속적으로 발전해야 한다.

비즈니스 언어


  1. 유비쿼터스 언어는, 비즈니스를 위한 언어임
  2. 기술적인 개념의 이해는 멀리해야 한다.
  3. 비즈니스 도메인의 멘탈 모델을 쉽게 이해시키고,
    도메인 지식을 손실없이 전달하는 것을 목표로 한다.

비즈니스 도메인 모델


  1. 문제를 해결하는데 목적이 있으며, 그 목적에 필요한 정보만 제공하는 데이터.
  2. 실세계의 복제가 아님.
  3. 프로그래밍적 개념으로는, 추상화와 목적이 일치한다.
💡 유비쿼터스 언어의 발전은, 사실상 비즈니스 도메인 모델의 구축이다.

0개의 댓글