DAP
[DAP 전문가 가이드] 4.2.3 후보 엔티티 선정
2025. 4. 28. 16:07

 

 

 

개념

- 엔티티를 선정하기 위해서 가장 먼저 해야 할 일은 엔티티 후보를 수집하는 것이다.

- 엔티티 후보를 수집할 때는 다양한 경로를 통해 수집하는 것이 바람직하며, 후보인지를 검증하는 객관적인 기준을 적용하여 후보라는 것을 판명하는 엔티티 후보 판정 단계를 거치게 된다.

 

엔티티 후보 수집

- 엔티티 후보 수집 방법에는 기존 시스템이 있었다면, 시스템 도큐먼트가 있고 현업에서 사용하는 각종 장표들도 있다.

- 프로세스 모델링을 먼저 수행하여 자료 흐름도가 나와 있다면 그 속에 있는 데이터 스토어 또한 훌륭한 엔티티 후보가 될 수 있다.

  • 기존 시스템 도큐먼트
  • 현업 장표/보고서
  • 현업 인터뷰
  • 관련 전문 서적
  • 데이터 흐름도
  • 타 시스템 자료
  • 현장 조사

 

엔티티 후보 식별

엔티티 후보 식별 세 가지 단계 검증

  • 후보 엔티티의 개념 정립을 명확히 한다.
    • 단어가 의미하는 진정한 집합이 무엇인지를 정의해야 한다.
  • 우리가 관리하고자 하는 것인지를 따져 본다.
    • 엔티티 후보로 선정하기 위해 개념을 정립해 둔 단어에 대해 검토해야 할 첫 번째 작업은 과연 이것이 관리하고자 하는 대상이 맞는지를 확인하는 일이다.
  • 가로와 세로를 가진 면적인지를 확인한다.
    • 여기서는 엔티티를 결정하는 것이 아니라 엔티티 후보를 선정하려는 것이므로 검토하고자 하는 대상이 집합이 되는지 여부만 확인한다.

 

엔티티 후보 선정 시 유의 사항

  • 엔티티 가능성이 있다고 예상되면 일단 검토 대상에 올려라
  • 너무 깊게 들어가지 마라
  • 동의어처럼 보이더라도 함부로 버리지 마라
  • 개념이 모호한 대상은 일차로 그 개념을 상식화하여 이해하라
  • 프로세스에 너무 연연해하지 마라
  • 예외 경우에 너무 집착하지 마라
  • 단어 하나하나에 집중해서 판단하라

 

수집된 엔티티 분류

- 분류 작업의 궁극적인 목적은 골격에 해당하는 엔티티만을 따로 분류해 거기에 노력을 집중함으로써 나무만 보고 숲을 보지 못하는 오류를 범하지 않도록 하기 위한 것이다.

- 엔티티 후보를 분류하는 작업은 두 단계에 걸쳐 진행되는데, 첫 번째 단계는 우선 적용 대상을 분류하는 것이고, 두 번째 단계는 첫 번째 단계에서 선별한 핵심 엔티티를 데이터 영역별로 분류하는 것이다.

 

우선 적용 대상 분류

- 엔티티 후보를 우선 적용 대상별로 분류하는 목적은 모델링의 골격에 해당하는 주요 엔티티를 먼저 도출하여 이를 명확히 정의함으로써 모델링의 기초를 단단하게 하는 것이다.

- 이를 바탕으로 흔들림 없이 상세한 모델링을 진행해 갈 수 있게 된다.

 

  • 키 엔티티
    • 자신의 부모를 가지지 않는 엔티티를 말한다.
    • 다른 엔티티의 도움을 받지 않더라도 얼마든지 어떤 개체를 새롭게 정의할 수 있는 집합을 말한다.
    • 키 엔티티의 예로는 사원, 부서, 고객, 상품, 자재 등이 있다.
  • 메인 엔티티
    • 키 엔티티를 제외한 다른 모든 엔티티는 부모 엔티티를 가지고 있어야만 태어날 수 있다.
    • 이러한 엔티티는 업무의 크기에 따라 엔티티 간 계층의 깊이가 달라진다.
    • 키 엔티티를 제외한 엔티티 중에서 업무의 중심에 해당하는 엔티티를 메인 엔티티라 정의하고, 나머지를 액션 엔티티로 정의한다.
    • 메인 엔티티의 예로는 보험계약, 사고, 예금원장, 청구, 구매의뢰, 주문 등이 있다.
  • 액션 엔티티
    • 수행된 업무를 담고 있으므로 중요도를 따지면 가장 중요하다.
    • 액션 엔티티는 스스로 태어날 수 없고, 반드시 부모 엔티티를 가져야 한다.
    • 키 엔티티와 메인 엔티티가 아닌 것은 모두 액션 엔티티이다.
    • 액션 엔티티의 예로는 상태 이력, 차량 수리 내역, 상세 주문 내역 등이 있다.