도메인이 무엇일까요?
저도 확실하게 정의하긴 어렵습니다.
개발 영역 보다는 비즈니스적인 영역을 칭하는 부분으로 이해하고 있습니다.
정리하자면, 핵심 비즈니스 업무 영역을 말합니다.
도메인 = 화면, UI, 기술 인프라 등등의 영역을 제외한 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을 말합니다.
도메인 지식을 기반으로 시스템이나 서비스를 구현하고 변수나 메소드명, db컬럼명 까지 정의하기도 합니다.
즉 사업적인 영역에서 업무이해를 하려면, 도메인 지식을 잘 알아야 합니다.
이는 개발영역과 더불어 업무를 수행하는데 중요한 요소로 파악되지만, 개발자가 이런 부분을 다 이해해야 하는걸까요?
이는 상황에 따라 다를 수 있습니다.
물론 이해하면 좋겠지만 개발적인 부분에서 도메인 지식을 잘 이해하고 개발하는 것과 아닌 것은 아주 큰 차이가 있습니다.
다만 이 부분은 개발처럼 특정 지식을 가지고 공식처럼 외우는 개념이 아닌, 비즈니스 모델과 거기에 대한 표준의 영역이라
상당히 많은 변화와 습득의 한계가 있을 수 있으며, 누군가에게 배우는 것도 힘듭니다.
때문에 개발적인 측면에서 도메인 지식을 다루는 것은 조심스러우며, 개발적인 성격과 다르다보니 아예 분야가 나뉘는 것도 있는 것 같습니다.
다만 개발자가 도메인 지식을 이해한다면, 해당 프로젝트를 하는데 있어 기획이나 영업쪽에서 요구사항을 충분히 설명하기 쉬워진다는 장점은 있습니다.
이걸 장점이라고 해야할지는 모르겠지만, 결과적으로 보면 설명할 게 줄어들고 이해도 일치하기 쉬워지므로 업무적인 측면에서 많은 도움이 됩니다.
또한 개발적인 측면에서 설계하는데 도메인 영역(핵심로직)과 동작하는 영역을 구분하여 설계할 수 있게 되는데,
기본적으로 기획자나 영업 쪽에서 시키는데로 하기보다, 내가 생각하는 유지보수 편한 설계를 하려면,
도메인 영역을 이해하고 설계하는 편이 훨씬 낫습니다.
그래야 이후 영역이 확장되거나, 시스템을 변경할 때 에도 업무가 쉬워집니다.
도메인 지식에 대해 생각하면서 글을 정리해봤습니다.
'IT기술 > 시스템' 카테고리의 다른 글
프로젝트 기록. 01. 개인 프로젝트를 해보자. (0) | 2024.08.11 |
---|---|
[validation] validation 검증, 확인 (0) | 2024.02.19 |
yaml 과 yml 확장자는 사실 같다. (0) | 2024.02.05 |
이스케이프 문자. (0) | 2024.01.24 |
[SAP] SAP FI 모듈이 무엇인가? (0) | 2023.12.28 |