[논문 리뷰] Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness
이 체계적 문헌 고찰은 소프트웨어 개발 분야에서 도메인 중심 설계(Domain-Driven Design, DDD)에 관한 36편의 동료 심사 논문을 분석하여, 마이크로서비스 아키텍처에서의 효과적 구현, 온보딩 및 전문성 요구 사항과 관련된 주요 과제, 기존 연구에서의 제한된 경험적 검증을 규명한다. 본 연구는 DDD가 시스템 설계 및 복잡성 관리에 기여하지만, 더 철저한 평가와 산학 협력이 필요하다고 결론 내린다.
Context: Domain-Driven Design (DDD) has gained significant attention in software development for its potential to address complex software challenges, particularly in the areas of system refactoring, reimplementation, and adoption. Using domain knowledge, DDD aims to solve complex business problems effectively. Objective: This SLR aims to provide an analysis of existing research on DDD in software development, paint a picture of DDD in solving software problems, identify the challenges encountered during its application and explore the results of these studies. Method: We systematically selected 36 peer reviewed studies and conducted quantitative and qualitative analyzes to synthesize the findings. Results: DDD has effectively improved software systems, with its key concepts. The application of DDD in microservices has gained prominence for its ability to facilitate system decomposition. Some studies lacked empirical evaluations, highlighting challenges in onboarding and the need for expertise. Conclusion: Adopting DDD benefits software development, involving stakeholders such as engineers, architects, managers, and domain experts. More empirical evaluations and open discussions on challenges are needed. Collaboration between academia and industry advances the adoption and transfer of knowledge of DDD in projects.
연구 동기 및 목표
- 소프트웨어 개발 분야에서 도메인 중심 설계(DDD)에 관한 기존 연구를 분석하기 위해.
- DDD가 복잡한 시스템과 마이크로서비스에서 실제로 어떻게 적용되고 있는지 규명하기 위해.
- 온보딩의 어려움과 전문성 요구 사항 등 DDD 도입 과정에서 발생하는 과제를 밝혀내기 위해.
- 경험적 결과의 통합을 통해 DDD의 효과성을 평가하기 위해.
- 경험적 검증의 격차를 강조하고 산학 간 협력을 강화할 것을 촉구하기 위해.
제안 방법
- 관련된 동료 심사 논문를 식별하고 선별하기 위해 체계적 문헌 고찰(SLR) 방법론을 적용하였다.
- 포함 기준은 소프트웨어 개발에서 DDD의 구현, 과제 또는 효과성에 대해 논의한 연구에 집중하였다.
- 사전 정의된 기준을 사용한 선별 및 품질 평가를 거쳐 총 36편의 연구가 최종 선정되었다.
- 선정된 연구들 간의 발견을 분석하기 위해 정량적 및 정성적 통합 기법을 사용하였다.
- 구현, 과제, 결과에 대한 반복 패턴을 추출하기 위해 주제 분석을 적용하였다.
- 연구 선별의 투명성과 재현 가능성을 확보하기 위해 PRISMA 지침을 따르였다.
실험 결과
연구 질문
- RQ1실제 소프트웨어 개발 프로젝트에서 도메인 중심 설계(DDD)는 어떻게 구현되고 있는가?
- RQ2소프트웨어 팀에서 DDD를 도입할 때 주로 겪는 과제는 무엇인가?
- RQ3DDD가 소프트웨어 시스템의 품질과 유지보수성 향상에 기여한다는 증거는 무엇이 있는가?
- RQ4현재의 DDD 연구에서 경험적 평가가 어느 정도 포함되어 있는가?
- RQ5도메인 전문가, 아키텍처 설계자, 개발자가 성공적인 DDD 도입에 기여하는 역할은 무엇인가?
주요 결과
- DDD는 마이크로서비스 아키텍처에서 효과적으로 적용되어 있으며, 시스템의 분해 및 비즈니스 도메인과의 일치를 가능하게 한다.
- 일상어, 경계가 있는 컨텍스트, 집합체와 같은 주요 DDD 개념들은 소프트웨어 설계 및 유지보수성 향상에 기여한다.
- 많은 연구에서 경험적 검증이 부족하며, 성능 향상이나 결함 감소와 같은 측정 가능한 결과를 보고한 연구는 소수에 불과하다.
- 온보딩 과제는 도메인 지식의 깊이와 다학제적 협업의 필요성으로 인해 자주 보고된다.
- DDD에 대한 전문성은 주요 장벽이며, 많은 팀에서 충분한 경험을 가진 인력을 확보하거나 교육하는 데 어려움을 겪는다.
- 장기적이고 대규모의 경험적 연구가 현저히 부족하여 산업 현장에서 더 철저한 평가가 필요하다는 점이 드러났다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.