개념
- 엔티티를 선정하기 위해서 가장 먼저 해야 할 일은 엔티티 후보를 수집하는 것이다.
- 엔티티 후보를 수집할 때는 다양한 경로를 통해 수집하는 것이 바람직하며, 후보인지를 검증하는 객관적인 기준을 적용하여 후보라는 것을 판명하는 엔티티 후보 판정 단계를 거치게 된다.
엔티티 후보 수집
- 엔티티 후보 수집 방법에는 기존 시스템이 있었다면, 시스템 도큐먼트가 있고 현업에서 사용하는 각종 장표들도 있다.
- 프로세스 모델링을 먼저 수행하여 자료 흐름도가 나와 있다면 그 속에 있는 데이터 스토어 또한 훌륭한 엔티티 후보가 될 수 있다.
- 기존 시스템 도큐먼트
- 현업 장표/보고서
- 현업 인터뷰
- 관련 전문 서적
- 데이터 흐름도
- 타 시스템 자료
- 현장 조사
엔티티 후보 식별
엔티티 후보 식별 세 가지 단계 검증
- 후보 엔티티의 개념 정립을 명확히 한다.
- 단어가 의미하는 진정한 집합이 무엇인지를 정의해야 한다.
- 우리가 관리하고자 하는 것인지를 따져 본다.
- 엔티티 후보로 선정하기 위해 개념을 정립해 둔 단어에 대해 검토해야 할 첫 번째 작업은 과연 이것이 관리하고자 하는 대상이 맞는지를 확인하는 일이다.
- 가로와 세로를 가진 면적인지를 확인한다.
- 여기서는 엔티티를 결정하는 것이 아니라 엔티티 후보를 선정하려는 것이므로 검토하고자 하는 대상이 집합이 되는지 여부만 확인한다.
엔티티 후보 선정 시 유의 사항
- 엔티티 가능성이 있다고 예상되면 일단 검토 대상에 올려라
- 너무 깊게 들어가지 마라
- 동의어처럼 보이더라도 함부로 버리지 마라
- 개념이 모호한 대상은 일차로 그 개념을 상식화하여 이해하라
- 프로세스에 너무 연연해하지 마라
- 예외 경우에 너무 집착하지 마라
- 단어 하나하나에 집중해서 판단하라
수집된 엔티티 분류
- 분류 작업의 궁극적인 목적은 골격에 해당하는 엔티티만을 따로 분류해 거기에 노력을 집중함으로써 나무만 보고 숲을 보지 못하는 오류를 범하지 않도록 하기 위한 것이다.
- 엔티티 후보를 분류하는 작업은 두 단계에 걸쳐 진행되는데, 첫 번째 단계는 우선 적용 대상을 분류하는 것이고, 두 번째 단계는 첫 번째 단계에서 선별한 핵심 엔티티를 데이터 영역별로 분류하는 것이다.
우선 적용 대상 분류
- 엔티티 후보를 우선 적용 대상별로 분류하는 목적은 모델링의 골격에 해당하는 주요 엔티티를 먼저 도출하여 이를 명확히 정의함으로써 모델링의 기초를 단단하게 하는 것이다.
- 이를 바탕으로 흔들림 없이 상세한 모델링을 진행해 갈 수 있게 된다.
- 키 엔티티
- 자신의 부모를 가지지 않는 엔티티를 말한다.
- 다른 엔티티의 도움을 받지 않더라도 얼마든지 어떤 개체를 새롭게 정의할 수 있는 집합을 말한다.
- 키 엔티티의 예로는 사원, 부서, 고객, 상품, 자재 등이 있다.
- 메인 엔티티
- 키 엔티티를 제외한 다른 모든 엔티티는 부모 엔티티를 가지고 있어야만 태어날 수 있다.
- 이러한 엔티티는 업무의 크기에 따라 엔티티 간 계층의 깊이가 달라진다.
- 키 엔티티를 제외한 엔티티 중에서 업무의 중심에 해당하는 엔티티를 메인 엔티티라 정의하고, 나머지를 액션 엔티티로 정의한다.
- 메인 엔티티의 예로는 보험계약, 사고, 예금원장, 청구, 구매의뢰, 주문 등이 있다.
- 액션 엔티티
- 수행된 업무를 담고 있으므로 중요도를 따지면 가장 중요하다.
- 액션 엔티티는 스스로 태어날 수 없고, 반드시 부모 엔티티를 가져야 한다.
- 키 엔티티와 메인 엔티티가 아닌 것은 모두 액션 엔티티이다.
- 액션 엔티티의 예로는 상태 이력, 차량 수리 내역, 상세 주문 내역 등이 있다.
'DAP' 카테고리의 다른 글
[DAP 전문가 가이드] 4.2.4 핵심 엔티티 정의(2) (2) | 2025.04.28 |
---|---|
[DAP 전문가 가이드] 4.2.4 핵심 엔티티 정의(1) (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.2.2 주제 영역 정의 (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.2.1 개념 데이터 모델링 이해 (0) | 2025.04.28 |
[DAP 전문가 가이드] 4.1.3 데이터 모델링 표기법 이해(2) (0) | 2025.04.28 |