오브젝트

Ch01. 영화 예매 도메인

webmaster 2024. 9. 15. 21:01
728x90

도메인: 사용자가 프로그램을 사용하는 주제 영역 -> 소프트웨어로 구현할 요구사항의 범위

  • 모든 요구사항은 코드로 구현할 수 없으며, 불필요한 요구사항을 제외한 영역을 도메인이라고 한다.

예) 배달 음식

음식 배달 도메인

  • 위와 같은 음식 배달 과정이 존재한다면, 이중 애플리케이션에 구현해야 할 항목을 선택해야 한다.

구현 도메인 선택

  • 선택된 요구사항들이 도메인이 된다.
  • 다음으로 요구사항을 분석해야 하며, 도메인 안에 중요한 개념들을 기반으로 객체들을 식별할 수 있다.

영화 예매 도메인

핵심 도메인은 영화이며, 상영(사용자들이 특정 시간에 영화를 볼 수 있는 정보), 할인 정책(금액 할인 정책: 동일 금액 할인/비율 할인 정책: 영화 정가 금액 대비 일정 비율 할인), 할인 조건(순서 조건: 회차 기준 할인 여부 결정, 기간 조건: 상영 시작 시간 기준 할인 여부 결정) 도메인 개념이 존재한다.

도메인 관계

영화 - 할인 정책 - 할인 조건 관계

  • 사용자가 상영을 계산할 때마다 할인 정책과 할인 조건을 조합한다.
  • 할인 조건에 설정된 기준에 따라 할인을 진행할지 결정하고, 만약 할인이 가능하다면 할인 정책 기반으로 계산한다.
  • 영화 - 할인 정책 - 할인 조건 사이에는 연결될 수 있는 개념의 수를 제약한 특별한 규칙이 존재
    • 도메인 사이에 연결 가능한 개념의 수를 다중성이라고 부른다.
    • 도메인 개념을 연결한 아래 숫자로 표기한다.

다중성

영화 - 할인 정책 다중성

  • 영화에는 1, 할인 정책에는 0.. 1로 표기가 되어있다.
  • 하나의 영화에 대하여 할인 정책이 없거나, 한 개의 정책이 존재할 수 있음을 나타낸다.
  • 하나의 정책만 존재할 수 있기 때문에 금액 할인 정책, 비율 할인 정책 한 가지만 존재 가능하다.

할인 정책 - 할인 조건 다중성

  • 할인 정책에는 1, 할인 조건에는 1..* 로 표기가 되어있다.
  • 하나의 할인 정책에 대하여 최소 하나의 할인 조건이 존재해야 하며, 한 개 이상을 조건이 존재할 수 있음을 나타낸다.
  • 순서 조건, 기간 조건이 자유롭게 섞여서 존재할 수 있음을 나타낸다.

예매 도메인

예매 도메인

  • 영화 제목, 상영 시간, 인원, 정가, 결제 금액을 포함한다.
  • 영화 / 할인 정책/ 할인 조건을 기반으로 상영이 생성 시, 예매가 생성될 수 있다.

영화 예매 도메인 정리

영화 예매 도메인 정리

 

728x90