ContextMapping

  • 컨텍스트 매핑은 시스템 내에서 서로 다른 바운디드 컨텍스트 간의 관계와 경계를 식별하고 관리하는 데 사용하는 강력한 기술
  • 바운디드 컨텍스트는 더 큰 소프트웨어 애플리케이션의 독립적이고 자율적인 구성 요소 또는 하위 시스템으로 정의
  • 컨텍스트 매핑은 컨텍스트 상호 간 상호 작용이 잘 정의되어 있는지 확인하고 발생할 수 있는 잠재적인 결합 또는 충돌을 최소화하는데 도움

중요 이유

  • 여러 부분 간에 명확한 경계와 잘 정의된 상호 작용을 갖는 것이 주용하다.
  • 적절한 컨텍스트 매핑이 없으면 경계가 다른 컨텍스트에서 작업하는 팀이 의도치 않게 서로의 영역을 침범하여 출돌이 발생

관계 유형

  1. 파트너십
    • 서로 긴밀하게 협업하고 소통하는 관계
    • 팀의 공통 목표 달성을 위해서 도메인 모델, 서비스 또는 데이터 일부를 공유할 때 발생
  2. 공유 커널
    • 두 개 이상의 컨텍스트가 공통 핵심 도메인 및 관련 코드를 공유
    • 컨텍스트가 긴밀하게 연결되어 있고 핵심 도메인에 대한 일관되고 동기화된 보기를 유지해야 하는 경우
  3. Client-Supplier
    • 한 컨텍스트가 공급자 반대가 고객 역할
    • 공급자는 고객이 활용할 수 있는 API 또는 계약을 노출하여 관심사 분리
  4. 순응
    • 두 개 이상의 컨텍스트가 모델이나 행동을 공유 언어 또는 표준에 맞춰서 조정

      기법

  5. 컨텍스트 매핑 캔버스
    • 팀이 시스템의 다양한 컨텍스트를 관계, 경계 및 정책과 함께 정의하고 문서화하는 데 도움이 되는 시각화 도구
  6. 전략적 도메인 주도 설계
    • 높은 수준의 전략적 의사 결정에 초점을 맞춘 접근 방식
    • 핵심 도메인, 하위 도메인, 바운디드 컨텍스트 및 컨텍스트 매핑 관계를 식별하는 데 도움
    • SDDD 기술을 통해서 전략적 결적을 조정하고 조직 전체에서 일관성 유지
  7. 협업 디자인 세션
    • 팀 간의 지속적인 협업과 커뮤니케이션이 필요한 지속적인 활동
    • 협업 디자인 세션에서는 서로 다른 영여고가 컨텍스트의 이해 관계자가 모여 서로의 요구 사항을 이해하고 기대치를 조정하여 갈등이나 불일치 해결

어떻게 만들 수 있나

  1. 도메인 스토리텔링 : 도메인 전문가들이 스토리 텔링을 통해 지식과 경험을 공유하는 협업 기법이다.
  2. 이벤트 스토밍: 팀이 도메인을 탐색하고 그 안에서 발생하는 이벶트를 식별할 수 있는 워크샵 형식이다. 시각화하여 서로 다른 컨텍스트 간의 경계와 상호 작용을 나타내는 컨텍스트 맵을 만들 수 있다.
  3. 영향 매핑: 영향 매핑은 팀이 원하는 비즈니스 결과에 맞춰 개발 노력을 조정하는 데 도움이 되는 기법