728x90
도메인: 사용자가 프로그램을 사용하는 주제 영역 -> 소프트웨어로 구현할 요구사항의 범위
- 모든 요구사항은 코드로 구현할 수 없으며, 불필요한 요구사항을 제외한 영역을 도메인이라고 한다.
예) 배달 음식

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

- 선택된 요구사항들이 도메인이 된다.
- 다음으로 요구사항을 분석해야 하며, 도메인 안에 중요한 개념들을 기반으로 객체들을 식별할 수 있다.
영화 예매 도메인
핵심 도메인은 영화이며, 상영(사용자들이 특정 시간에 영화를 볼 수 있는 정보), 할인 정책(금액 할인 정책: 동일 금액 할인/비율 할인 정책: 영화 정가 금액 대비 일정 비율 할인), 할인 조건(순서 조건: 회차 기준 할인 여부 결정, 기간 조건: 상영 시작 시간 기준 할인 여부 결정) 도메인 개념이 존재한다.
도메인 관계

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

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

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

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

728x90
'오브젝트' 카테고리의 다른 글
| Ch03. 객체지향 기본 원칙 - 객체지향 설계 원칙 (0) | 2024.10.01 |
|---|---|
| Ch02. 절차적인 설계 개선하기 - 절차에서 객체로 (0) | 2024.09.29 |
| Ch02. 절차적인 설계 개선하기 - 데이터와 프로세스 통합하기 (0) | 2024.09.29 |
| Ch02. 절차적인 설계 개선하기 - 변경과 의존성 (0) | 2024.09.29 |
| Ch02. 절차적인 설계 개선하기 - 절차적인 설계 (0) | 2024.09.29 |