11.2 리버스(Reverse) 모델링

업무 요건을 기반으로 개념 모델링 완료후에 논리 모델링 수행

정의
  • 절차대로 개념 모델링을 완료하고 논리 모델링을 수행하는 방법
  • 현행 데이터베이스가 존재하지 않을때 업무요건을 바탕으로 개념 모델 구축(신규 시스템)
  • 가장 이상적인 방법이며 전통적인 모델링


단계
  • ⓐ 중요 엔터티에 해당하는 업무 요건을 분석
  • ⓑ 중요 엔터티에 해당하는 개념 모델링을 수행한다 엔터티와 주식별자만 표현힌다.
  • ⓒ 구축된 개념 모델에 대해 논리 모델링을 수행해 엔터티에 모든속성을 표현한다.
  • ⓓ 나머지 업무 요건을 분석하고 논리 모델링을 수행해 앤터EI 정의와 주식별자 일반 속성을 모두 표현


기타
  • 개념/논리/물리 순서대로 되지않고 절차에 유연하게 반영하자.
  • (프로젝트에 채택된 모델링 방법론이 아니면 필자는 이 방법론을 선호하지않음)
  • 전문 모델러가 아니면 이 모델링을 따른것이 바람직하다.


현행 시스템을 기반으로 개념 모델링 완료후에 논리 모델링 수행

정의
  • 현재 데이터 베이스 기반으로 모델링을 수행


핵심 엔터티를 기반으로 논리 모델링 완료후에 전체 엔터티 논리 모델링 수행 (리버스 모델링)

정의
  • 데이터베이스를 시용해서 ERD를 작성히는 것을 역공학(Reverse Engineering)이라 한다
  • 프로젝트가 대규모이고 여유가 없을때 주로 사용
  • 도출된 엔터티를 분석히는 게 주된 일


기타
  • 빅뱅 (Big Bang)방식의 개발은 바람직하지 않다


저자가 쓰는 방법(Re-Modeling)
  • 현행 데이터베이스를 기반으로 모델링을 수행해 부족한 부분을 개선히는 방법
  • 비효율적인 데이터 구조를 개선하고 데이터를 보강
  • 주제 영역별로 선별된 중요 엔터티에 대해서 논리 모댈까지 구축


논리화(Logicalization)

현행 엔터티


제1정규화(주문/상품)


제3정규화(고객)


제2정규화(상품-단가)


리버스 모델링 타스크