확장성을 고려한 서브타입

  • 온라인 쇼핑몰에서 서적만을 취급하지만 이후 DVD나 의류등이 추가될 것을 대비해 기타 서브타입 도출
  • 기타의 성격이 가변적이기 때문에 엔티티명도 일반화해서 정의한다.


일반화된 서브타입

  • 관리자/기술자/비서등의 데이터를 관리하는 엔티티를 일반적인 개념인 사원이라는 엔티티로 일반화
  • '관리자는 사원이다'와 같이 '이다(Is-A)'의 관계가 성립한다.


구성 요소로서의 서브타입

  • 소프트웨어 = 프로그램 + 사용자매뉴얼
  • '일부(Part-Of)'의 관계가 성립
  • 서브타입간에는 공통된 속성이 존재하지 않고 각자 고유한 속성만이 존재한다.
  • 이를 물리적 구현시 보통 서브타입을 엔티티로 생성하지 않으며 각 서브타입의 속성이 소프트웨어엔티티의 속성이 된다.
  • 이렇게 표현하는 경우는 흔치 않지만 가독성을 높이고 이해를 쉽게 하는데 도움이 된다.


코드를 서브타입으로 표현한 모델

  • 고객의 상태를 관리하는 코드 속성에 해당하는 값을 표현함으로써 가독성을 높인다.
  • 모든 코드를 표현하면 오히려 가독성이 떨어지므로 핵심 코드만 표현하는 것이 좋다.