티스토리 뷰
반응형
요구사항 살펴보기
앞으로의 설명을 위해 '영화'와 '상영'이라는 용어를 구분할 필요가 있을 것 같다.
'영화'는 영화에 대한 기본 정보를 표현한다.
- 제목, 상영시간, 가격 정보와 같이 영화가 가지고 있는 기본적인 정보를 가리킬 때는 '영화'라는 단어를 사용할 것이다.
'상영'은 실제로 관객들이 영화를 관람하는 사건을 표현한다.
- 상영 일자, 시간, 순번 등을 가리키기 위해 '상영'이라는 용어를 사용할 것이다.
두 용어의 차이가 중요한 이유는 사용자가 실제로 예매하는 대상은 영화가 아니라 상영이기 때문이다. 사람들은 영화를 예매한다고 표현하지만 실제로는 특정 시간에 상영되는 영화를 관람할 수 있는 권리를 구매하기 위해 돈을 지불한다.
할인을 받을 수 있는 특정한 조건
할인액을 결정하는 두 가지 규칙이 존재한다.
- 할인 조건 (Discount Condition)
- 가격의 할인 여부를 결정하며 '순서 조건'과 '기간 조건'의 두 종류로 나눌 수 있다.
- 순서 조건 (Sequence Condition) : 상영 순번을 이용해 할인 여부를 결정하는 규칙 (순서 조건의 순번이 10인 경우 매일 10번째로 상영되는 영화를 예매한 사용자들에게 할인 혜택을 제공한다.)
- 기간 조건 (Period Condition) : 영화 상영 시작 시간을 이용해 할인 여부를 결정한다. 요일, 시작 시간, 종료 시간의 세 부분으로 구성되며 영화 시작 시간이 해당 기간 안에 포함될 경우 요금을 할인한다. (요일이 월요일, 시작 시간이 오전 10시, 종료 시간이 오후 1시인 기간 조건을 사용하면 매주 월요일 오전 10시부터 오후 1시 사이에 상영되는 모든 영화에 대해 할인 혜택을 적용할 수 있다.)
- 가격의 할인 여부를 결정하며 '순서 조건'과 '기간 조건'의 두 종류로 나눌 수 있다.
- 할인 정책 (Discount Policy)
- 할인 정책에는 '금액 할인 정책'과 '비율 할인 정책'이 있다.
- 금액 할인 정책 (Amount Discount Policy) : 예매 요금에서 일정 금액을 할인해주는 방식
- 비율 할인 정책 (Percent Discount Policy) : 정가에서 일정 비율의 요금을 할인해 주는 방식
- 할인 정책에는 '금액 할인 정책'과 '비율 할인 정책'이 있다.
영화별로 하나의 할인 정책만 할당할 수 있으며, 할인 정책을 지정하지 않는 것도 가능하다. 이오 달리 할인 조건은 다수의 할인 조건을 함께 지정할 수 있으며, 순서 조건과 기간 조건을 섞는 것도 가능하다.
지금까지 영화 예매 시스템의 목적과 개념, 할인과 관련된 규칙을 살펴봤다.
반응형
'책 > 오브젝트' 카테고리의 다른 글
오브젝트 1-4. 객체지향 설계 (0) | 2023.01.04 |
---|---|
오브젝트 1-3. 설계 개선하기 (0) | 2022.12.22 |
오브젝트 1-2. 무엇이 문제인가 (0) | 2022.11.20 |
오브젝트 1-1. 티켓 판매 애플리케이션 구현하기 (0) | 2022.11.18 |
오브젝트 0-2. 프로그래밍 패러다임 (0) | 2022.11.18 |
댓글