View Code? Open in Web Editor
NEW
This project forked from next-step/ddd-tactical-design
[ddd 세레나데] 3차 미션
ddd-tactical-design's Introduction
- 상품을 등록할 수 있다.
- 상품의 가격이 올바르지 않으면 등록할 수 없다.
- 상품의 목록을 조회할 수 있다.
- 메뉴 그룹을 등록할 수 있다.
- 메뉴 그룹의 목록을 조회할 수 있다.
- 1 개 이상의 등록된 상품으로 메뉴를 등록할 수 있다.
- 메뉴의 가격이 올바르지 않으면 등록할 수 없다.
- 메뉴의 가격은 0 원 이상이어야 한다.
- 메뉴에 속한 상품 금액의 합은 메뉴의 가격보다 크거나 같아야 한다.
- 메뉴는 특정 메뉴 그룹에 속해야 한다.
- 메뉴의 목록을 조회할 수 있다.
- 주문 테이블을 등록할 수 있다.
- 주문 테이블의 목록을 조회할 수 있다.
- 빈 테이블 설정 또는 해지할 수 있다.
- 단체 지정된 주문 테이블은 빈 테이블 설정 또는 해지할 수 없다.
- 주문 상태가 조리 또는 식사인 주문 테이블은 빈 테이블 설정 또는 해지할 수 없다.
- 방문한 손님 수를 입력할 수 있다.
- 방문한 손님 수가 올바르지 않으면 입력할 수 없다.
- 빈 테이블은 방문한 손님 수를 입력할 수 없다.
- 2 개 이상의 빈 테이블을 단체로 지정할 수 있다.
- 단체 지정은 중복될 수 없다.
- 단체 지정을 해지할 수 있다.
- 단체 지정된 주문 테이블의 주문 상태가 조리 또는 식사인 경우 단체 지정을 해지할 수 없다.
- 1 개 이상의 등록된 메뉴로 주문을 등록할 수 있다.
- 빈 테이블에는 주문을 등록할 수 없다.
- 주문의 목록을 조회할 수 있다.
- 주문 상태를 변경할 수 있다.
- 주문 상태가 계산 완료인 경우 변경할 수 없다.
한글명 |
영문명 |
설명 |
상품 |
product |
메뉴를 관리하는 기준이 되는 데이터 |
한글명 |
영문명 |
설명 |
메뉴 그룹 |
menu group |
메뉴 묶음, 분류 |
메뉴 |
menu |
메뉴 그룹에 속하는 실제 주문 가능 단위 |
메뉴 상품 |
menu product |
메뉴에 속하는 수량이 있는 상품 |
금액 |
amount |
가격 * 수량 |
한글명 |
영문명 |
설명 |
주문 테이블 |
order table |
매장에서 주문이 발생하는 영역 |
빈 테이블 |
empty table |
주문을 등록할 수 없는 주문 테이블 |
주문 |
order |
매장에서 발생하는 주문 |
주문 상태 |
order status |
주문은 조리 ➜ 식사 ➜ 계산 완료 순서로 진행된다. |
방문한 손님 수 |
number of guests |
필수 사항은 아니며 주문은 0명으로 등록할 수 있다. |
단체 지정 |
table group |
통합 계산을 위해 개별 주문 테이블을 그룹화하는 기능 |
주문 항목 |
order line item |
주문에 속하는 수량이 있는 메뉴 |
매장 식사 |
eat in |
포장하지 않고 매장에서 식사하는 것 |
Product
은 번호와 이름, 가격을 가진다.
MenuGroup
은 번호와 이름을 가진다.
Menu
는 번호와 이름, 가격, MenuProducts
를 가진다.
MenuProducts
의 금액의 합은 Menu
의 가격보다 크거나 같다.
Menu
는 특정 MenuGroup
에 속한다.
OrderTable
은 번호와 방문한 손님 수를 가진다.
OrderTable
에 Order
를 등록할 수 있다.
- 2 개 이상의
EmptyTable
로 TableGroup
을 생성할 수 있다.
TableGroup
은 생성 시간을 가진다.
TableGroup
에 속한 EmptyTable
은 주문할 수 있게 된다.
TableGroup
에 속하더라도 개별 OrderTable
에 Order
를 등록한다.
TableGroup
에 속한 OrderTable
의 모든 Order
가 계산되면 TableGroup
을 해지할 수 있다.
Order
는 번호와 주문 상태, 주문 시간, OrderLineItems
를 가진다.
Order
가 취소되거나 변경되더라도 기존 Order
는 수정되지 않는다.
ddd-tactical-design's People
Contributors
Watchers