인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

이초다님의 프로필 이미지

작성한 질문수

오브젝트 - 기초편

설계( DB or 도메인 ) 순서 질문

해결된 질문

작성

·

32

·

수정됨

1

안녕하세요. 용호님 좋은 강의 만들어 주셔서 감사합니다. 강의를 통해 객체지향에 대해 많이 알게 되었습니다.

 

저의 질문은 용호님 께서는 신규프로젝트를 시작하실때 db설계를 먼저 완료하시는지, 도메인설계를 먼저 완료하시는지, 아니면 두 과정을 병렬로 진행하사는지 궁금합니다.

 

감사합니다.

답변 2

0

조영호님의 프로필 이미지
조영호
지식공유자

이초다님 안녕하세요.
좋은 질문해 주셔서 감사합니다. 🙂

 

일단 신규 프로제트에서의 DB를 다른 팀의 다른 애플리케이션과 공유하지 않고 현재 개발 중인 애플리케이션에서만 종속적되는 경우라고 가정하겠습니다.


전체적으로 보면 병렬이라고 볼 수 있는데요,

우선 전체 기능 중에서 현재 개발할 기능에 해당하는 부분에 대한 DB 테이블과 도메인 로직을 병렬로 개발하는 편입니다.

여기에서 포커스는 애플리케이션의 전체 테이블을 설계하는게 아니라 현재 개발하고 있는 영역에 한정해서 설계한다는 점입니다.

그리고 애플리케이션을 개발해 가면서 테이블과 도메인 로직을 오가면서 지속적으로 개선해 나가는 방식을 취합니다.

 

전체적인 관점에서는 병렬이지만 기능을 개발할 때는 해당 영역에 대해 DB 테이블을 먼저 설계하는 편입니다.

어느 정도 필요한 데이터를 정리하는게 로직을 개발하는 입장에서 편하기 때문입니다.

하지만 이렇게 설계한 테이블을 고정된 것으로 보지는 않고 로직을 구현하면서 테이블을 편의에 따라 수정합니다.

 

답변이 되었는지 모르겠네요. 😃

 

추가 질문이 있으시면 언제라도 질문 남겨주세요.

 

감사합니다.

 

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.

이초다님, 좋은 질문 감사합니다! 프로젝트를 시작할 때 ‘DB 설계’와 ‘도메인 설계’를 어떻게 진행하는지에 대해 궁금해 하셨군요.

프로젝트 시작 시 설계 순서

  1. 도메인 설계: 일반적으로 도메인 설계를 먼저 진행하여 비즈니스 요구사항을 철저히 분석하고, 이해하는 것이 중요합니다. 도메인 설계에서는 각 도메인 객체들 간의 관계 및 책임을 정의하고, 이 객체들이 어떤 비즈니스 로직을 다루어야 할지 결정합니다. 이는 이후 시스템이 다루게 될 비즈니스 로직의 근간이 됩니다.

  2. DB 설계: 도메인 설계가 완료된 후, 도메인 모델을 기반으로 데이터베이스 설계가 진행됩니다. 도메인 설계에서 도출된 객체 모델을 통해 테이블과 해당 관계를 정의합니다. 데이터베이스는 도메인의 요구사항에 맞게 최적화될 수 있어야 하며, 도메인의 변화에 유연하게 대응할 수 있도록 설계되어야 합니다.

  3. 병렬 개발: 경우에 따라 도메인 설계와 DB 설계를 병렬로 진행할 수도 있어야 합니다. 특히 팀의 구성상, 프론트엔드와 백엔드 개발이 병행해야 할 경우 DB 설계가 어느 정도 된 상태에서 도메인 설계가 동시에 확정되어야 할 때가 있습니다.

관련 자료

비슷한 주제의 질문과 답변이 아래에 있으니 참고하시기 바랍니다:

이러한 답변들은 프로젝트 초기에 설계 방향을 어떻게 잡아야 할지, 그리고 객체지향 설계 원칙을 시스템 설계에 어떻게 반영할지를 이해하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.