키친포스
요구 사항
상품 (Product)
-
상품을 생성한다.
- 상품 생성 시 가격은 필수이다.
- 상품 가격은 0원 이상이다.
- 상품 생성 시 상품의 이름은 필수이다.
- 상품 이름은 중복 가능하다.
- 상품 생성 시 가격은 필수이다.
-
생성된 모든 상품들을 조회한다.
- 상품 식별자
- 상품 이름
- 상품 가격
메뉴 그룹 (MenuGroup)
- 메뉴 그룹을 생성한다.
- 메뉴 그룹 이름은 필수이다.
- 생성된 메뉴 그룹들을 조회한다.
- 메뉴 그룹 식별자
- 메뉴 그룹 이름
메뉴 (Menu)
-
메뉴를 생성한다.
- 메뉴 생성 시 메뉴의 가격은 필수이다.
- 메뉴의 가격은 0원 이상이다.
- 메뉴의 가격은 해당 메뉴의 속한 모든 종류별 상품 가격의 총합보다 클 수 없다.
상품 가격의 총합 : 상품 가격 * 상품 갯수
- 메뉴 생성 시 메뉴는 1개의 메뉴 그룹에 소속되어야 한다.
- 메뉴가 소속될 메뉴 그룹은 기존에 생성되어 있어야 한다.
- 메뉴 생성 시 메뉴는 상품을 1 종류 이상 갖는다.
- 메뉴가 가질 수 있는 상품은 기존에 생성되어 있어야 한다.
- 상품의 종류는 중복 가능하다.
- 포함 할 상품의 종류 별로 갯수를 1개 이상 갖는다.
- 메뉴의 이름은 필수이다.
- 메뉴 생성 시 메뉴의 가격은 필수이다.
-
생성된 모든 메뉴들을 조회한다.
- 메뉴 식별자
- 메뉴 이름
- 메뉴 가격
- 메뉴 그룹 식별자
- 메뉴에 속한 모든 상품들
- 메뉴 식별자
- 상품 식별자
- 상품 갯수
테이블 (Table / OrderTable)
- 테이블을 생성한다.
- 빈 테이블 여부는 필수이다.
- 테이블의 손님 수는 필수이다.
- 생성된 모든 테이블을 조회한다.
- 테이블 식별자
- 테이블 그룹 식별자
- 테이블의 손님 수
- 빈 테이블 여부
- 테이블을 빈 상태로 변경한다.
- 해당 테이블이 테이블 그룹에 속하지 않아야 한다.
- 해당 테이블의 주문이 조리중이나 식사중 상태가 아니어야 한다.
- 테이블에 있는 손님 수를 변경한다.
- 테이블에 있는 손님 수는 0명 이상이다..
- 테이블은 비어있는 상태가 아니어야 한다.
테이블 그룹 (TableGroup)
- 테이블 그룹을 생성한다.
- 생성 될 테이블 그룹은 테이블을 2개 이상 갖는다.
- 생성 될 테이블 그룹에 소속 될 테이블은 기존에 생성되어 있어야 한다.
- 생성 될 테이블 그룹에 소속 될 테이블은 기존에 비어있는 상태여야한다.
- 생성 될 테이블 그룹에 소속 될 테이블은 기존에 임의의 테이블 그룹에 소속 되어 있지 않아야 한다.
- 생성된 테이블 그룹에 소속된 테이블은 비어있는 상태가 아니어야 한다.
- 생성 될 테이블 그룹은 테이블을 2개 이상 갖는다.
- 테이블 그룹을 삭제한다.
- 삭제 될 테이블 그룹에 대한 주문은 조리중이나 식사중 상태가 아니어야 한다.
- 삭제 될 테이블 그룹에 소속 된 모든 테이블들을 소속 되지 않은 상태로 바꾼다.
주문 (Order)
- 주문을 생성한다.
- 생성 될 주문은 1개 이상의 주문 항목을 가져야 한다.
- 생성 될 주문의 주문 항목들의 메뉴는 중복될 수 없다.
- 생성 될 주문은 기존에 생성된 테이블에 속해 있어야 한다.
- 생성 될 주문이 속할 테이블은 비어 있지 않아야 한다.
- 주문은 최초 생성 시 조리중 상태를 갖는다.
- 생성 될 주문은 1개 이상의 주문 항목을 가져야 한다.
- 생성 된 모든 주문을 조회한다.
- 주문 식별자
- 테이블 식별자
- 주문 상태
조리중, 식사중, 완료
- 주문 생성 시간
- 주문 항목
- 주문 식별자
- 메뉴 식별자
- 갯수
- 주문의 상태를 변경한다.
- 주문의 상태가 변경 될 주문은 완료 상태가 아니어야 한다.
용어 사전
한글명 | 영문명 | 설명 |
---|---|---|