도메인 주도 설계 첫걸음 - 01장 비즈니스 도메인 분석하기
범위
- [Part 1] 전략적 설계 - 01장: 비즈니스 도메인 분석하기
개념 정리
- 비즈니스 도메인: 회사가 고객에게 제공하는 서비스, 기업의 주요 활동 영역
- 하위 도메인(subdomain): 비즈니스 활동의 세분화된 영역
- 핵심 하위 도메인(core subdomain): 회사가 경쟁업체과 다르게 수행하고 있는 것
- 일반 하위 도메인(generic subdomain): 모든 회사가 같은 방식으로 수행하는 비즈니스 활동
- 지원 하위 도메인(supporting subdomain): 회사의 비즈니스를 지원하는 활동
- 도메인 전문가(domain expert): 비즈니스의 모든 복잡성을 알고 있는 주제 전문가. 즉, 소프트웨어의 비즈니스 도메인에 대한 권위자.
책에서 기억하고 싶은 내용
비즈니스 도메인이란?
하위 도메인이란?
- 하위 도메인은 고객에게 제공하는 서비스 단위로 비즈니스 도메인을 만든다.
하위 도메인의 유형
- 도메인 주도 설계에서 하위도메인은 핵심, 일반, 지원의 세 가지 유형으로 구분한다.
하위 도메인 비교
- 경쟁 우위
- 핵심 하위 도메인만이 회사의 경쟁 우위를 제공한다.
- 복잡성
- 변동성
- 핵심 하위 도메인은 자주 변경될 수 있다.
- 지원 하위 도메인은 자주 변경되지 않는다.
- 솔루션 전략
- 핵심 하위 도메인은 사내에서 구현되어야 한다.
- 일반 하위 도메인은 사내에서 구현하는 데 시간과 노력을 투자하는 것보다 이미 만들어진 제품을 구입하거나 오픈소스 솔루션을 채택하는 것이 비용면에서 더 효율적이다.
- 지원 하위 도메인은 구현하지 않는 것이 합리적이다. 하지만 일반 하위 도메인과 달리 지원 하위 도메인은 기존에 만들어진 솔루션이 없는 경우가 있다. 이런 경우 기업에서 지원 하위 도메인을 자체 구현할 수 밖에 없다. 지원 하위 도메인 구현은 비즈니스 로직이 단순하고 변경의 빈도가 적기 때문에 원칙을 생략하고 적당히 진행하기 쉽다.
하위 도메인 경계 식별
- 하위 도메인과 그 유형은 기업의 비즈니스 전략에 따라 정의되며, 이는 동일한 분야에서 다른 회사와 경쟁하기 위해 자신을 차별화하는 방법이다.
도메인 분석 예제
Gigmaster
BusVNext
도메인 전문가는 어떤 사람인가?
- 도메인 전문가는 비즈니스를 대표한다.
결론
- 핵심 하위 도메인: 흥미로운 문제들. 기업이 경쟁자로부터 차별화하고 경쟁 우위를 얻는 얻는 활동이다.
- 일반 하위 도메인: 해결된 문제들. 이것은 모든 회사가 같은 방식으로 하고 있는 일이다. 여기에는 혁신이 필요하지 않다. 사내 솔루션을 개발하는 것보다 기존 솔루션을 사용하는 것이 더 비용 효과적인다.
- 지원 하위 도메인: 분명한 해결책이 있는 문제들. 사내에서 구현해야 할 활동이지만 경쟁 우위를 제공하지는 않는다.
- 도메인 전문가: 비즈니스의 주제 전문가. 회사의 비즈니스 도메인 또는 하나 이상의 하위 도메인에 대한 심층적인 지식을 가지고 있으며 프로젝트 성공에 매우 중요한 역할을 한다.
요약
- 1장에서는 소프트웨어 엔지니어링 프로젝트의 맥락(비즈니스 도메인, 비즈니스 도메인의 목적, 이를 지원하기 위한 소프트웨어의 구현 전략)을 정의 한다.
- 비즈니스 도메인은 기업의 주요 활동 영역을 정의한다. 일반적으로 말하자면 회사가 고객에게 제공하는 서비스를 말한다.
- 도메인 주도 설계에서 하위도메인은 핵심, 일반, 지원의 세 가지 유형으로 구분한다.
- 핵심 하위 도메인: 흥미로운 문제들. 기업이 경쟁자로부터 차별화하고 경쟁 우위를 얻는 얻는 활동이다.
- 일반 하위 도메인: 해결된 문제들. 이것은 모든 회사가 같은 방식으로 하고 있는 일이다. 여기에는 혁신이 필요하지 않다. 사내 솔루션을 개발하는 것보다 기존 솔루션을 사용하는 것이 더 비용 효과적인다.
- 지원 하위 도메인: 분명한 해결책이 있는 문제들. 사내에서 구현해야 할 활동이지만 경쟁 우위를 제공하지는 않는다.
- 도메인 전문가: 비즈니스의 주제 전문가. 회사의 비즈니스 도메인 또는 하나 이상의 하위 도메인에 대한 심층적인 지식을 가지고 있으며 프로젝트 성공에 매우 중요한 역할을 한다.
This post is licensed under CC BY 4.0 by the author.