본문 바로가기
모델링/논리 모델링

[논리모델링연습] DA 공모대회 2017년 일반부 대상작 ERD 분석

by 연습장이 2024. 1. 4.
728x90
반응형

  과연 대상작은 다르구나 싶었다. 고객요구사항명세서를 보면서 까다로운 것들이 많구나, 버릴건 버려야겠다 생각했던 부분들을 대상작에서는 다 캐치했었다.

 

  아래는 직접 손으로 그려가보며 한땀한땀 이해해보려한 과정이다.

ERD 분석

  • 엔터티 정의
    • 판매와 배송, 결제 엔터티 정의는 예상할 수 있었는데 결제상품과 결제상세를 나눈 것이 의외였다. 이렇게 되면 확실히 결제상품과 독립적으로 결제수단에 따른 다양한 결제 로직을 관리할 수 있다.
    • 판매 엔터티가 인상적이었는데 판매 엔터티에 판매진행구분을 넣는게 과연 괜찮은 방법일까 싶기도 했다. 결제로직 쪽에서 쓰기 연산(삽입, 업데이트, 삭제 등)이 생기면 트랜잭션을 길게 잡을 수 밖에 없는데 이 부분은 좀 생각이 많았다. 물리 단계가 아니라 논리 단계라 이렇게 표현한 것일까? 물리 모델링 단계에서는 이 부분을 수직 파티셔닝 하나? 생각도 들었다.
    • 필자는 회원이 주문하는 상품을 지점상품 엔터티로 만들었는데 여기서는 판매 엔터티가 그 역할을 해주었다.
    • 체험예약 엔터티는 정말 관계엔터티로만 사용했다는게 신기하고 깔끔한 것처럼 보인다.
    • 조치계획승인 엔터티를 재귀로 풀었는데, 조치계획 승인/반려 등이 반복적으로 일어나기 위해서는 조치계획 내용 또한 수정이 되어야할텐데 그럼 조치계획 엔터티도 재귀가 되어야 하지 않나? 하는 생각도 들었다.
  • 속성 정의
    • 판매 엔터티의 배송구분 컬럼은 배송 엔터티에 두는게 더 성격에 맞지 않을까? 생각한다.
  • 관계 정의
    • 마일리지이력 엔터티에 결제상세, 판매 엔터티가 베타관계로 되어 있는데 이렇게 되면 판매가 되면서 쌓이는 마일리지는 결제에서 마일리지사용 시 적립이 안되는거 같은데 이 부분은 현실적으로 고객불만으로 이어지지 않을가 생각이 든다.

총평

  회원을 통합한 것도 인상적이었지만, 상품-결제-배송 이 3개의 로직이 정말 깔끔하다. 한가지 더 궁금하다면 여기에 환불로직이 생겼을 때에는 어떻게 논리 모델링이 바뀔까 호기심이 생긴다.

728x90
반응형