Skip to content

deepredk/ddd-legacy

 
 

Repository files navigation

키친포스

요구사항

  • 상품

  • 상태

    • 비속어가 포함되지 않는 0자 이상의 이름을 가진다
    • 0 이상의 가격을 가진다
  • 행동

    • 생성된다
      • 이름은 0자 이상이어야 한다
      • 가격은 0 이상이어야 한다
    • 가격을 변경한다
      • 이 상품을 포함하는 메뉴의 재료비(상품 가격의 총합)가 기존 메뉴 가격보다 낮아지게 된다면 해당 메뉴를 가린다
  • 메뉴 그룹

  • 상태

    • 1자 이상의 이름을 가진다
  • 행동

    • 생성된다
      • 이름은 1자 이상이어야 한다
  • 메뉴 상품

  • 상태

    • 상품을 가진다
    • 0 이상의 개수를 가진다
  • 행동

    • 생성된다
      • 개수는 0 이상이어야 한다
  • 메뉴

  • 상태

    • 메뉴 그룹을 가진다
    • 비속어가 포함되지 않는 0자 이상의 이름을 가진다
    • 메뉴 상품을 1개 이상 가진다
    • 0 이상의 가격을 가진다
    • 가림/보임 여부를 가진다
  • 행동

    • 생성된다
      • 메뉴그룹이 있어야 한다
      • 메뉴 상품이 1개 이상이어야 한다
      • 이름은 0자 이상이어야 한다
      • 가격은 0 이상이어야 한다
      • 가격은 '메뉴 상품들의 가격*수량의 합'보다 같거나 작아야 한다
    • 가격을 변경한다
      • 변경할 가격은 '메뉴 상품들의 가격*수량의 합'보다 같거나 작아야 한다
    • 보이게 한다
      • 보이게 하려면 메뉴 가격이 '메뉴 상품들의 가격*수량의 합'보다 같거나 작아야 한다
    • 가린다
  • 주문

  • 상태

    • 다음 중 하나를 주문의 상태로 가진다. ('대기', '접수', '전달완료', '배달중', '배달완료', '완료')
      • 모든 주문은 '대기' 상태로 시작한다.
      • '대기'에서 '접수' 상태로 바뀔 수 있다.
        • 배달주문이라면 KitchenRiders로 배달을 요청한다
      • '접수'에서 전달완료' 상태로 바뀔 수 있다
      • '전달완료'에서 '완료' 상태로 바뀔 수 있다
        • 매장주문이라면 주문 테이블을 초기화시킨다
      • '전달완료'에서 '배달중' 상태로 바뀔 수 있다 (배달주문일 때만)
      • '배달중'에서 '배달완료' 상태로 바뀔 수 있다 (배달주문일 때만)
      • '배달완료'에서 '완료' 상태로 바뀔 수 있다 (배달주문일 때만)
    • 다음 중 하나를 주문의 종류로 가진다. ('배달주문', '포장주문', '매장주문')
    • 주문한 일시를 가진다.
    • 주문항목을 1개 이상 가진다.
    • 주문항목 가격 합과 같은 총 주문 가격을 가진다.
    • 배달 주소를 가질 수 있다.
    • 주문 테이블을 가질 수 있다.
  • 행동

    • 생성된다
      • 주문 상태는 '대기'가 된다
      • 현재 일시를 주문한 일시로 초기화한다
      • 배달주문일 경우 배달 주소를 꼭 가져야 한다
      • 매장주문일 경우 주문 테이블을 꼭 가져야 한다
    • 접수된다
      • '대기' 상태여야 한다
      • 배달주문이라면 KitchenRiders로 배달을 요청한다
      • '접수' 상태로 변경한다
    • 전달완료된다
      • '접수' 상태여야 한다
      • '전달완료' 상태로 변경한다
    • 배달을 시작한다
      • 배달주문이어야 한다
      • '전달완료' 상태여야 한다
      • '배달중' 상태로 변경한다
    • 배달을 완료한다
      • 배달주문이어야 한다
      • '배달중' 상태여야 한다
      • '배달완료' 상태로 변경한다
    • 주문을 완료한다
      • '전달완료' 또는 '배달완료' 상태여야 한다
      • 매장주문이라면 주문 테이블을 초기화시킨다
      • 주문 상태를 '완료'로 변경한다
  • 주문 항목

  • 상태

    • 메뉴를 가진다.
    • 개수를 가진다.
  • 행동

    • 생성된다
      • 메뉴는 가려진 상태가 아니어야 한다
      • 매장 주문이라면 개수가 음수가 될 수 없다
  • 주문 테이블

  • 상태

    • 1자 이상의 이름을 가진다
    • 점유/미점유 상태를 가진다
    • 0 이상의 인원수를 가진다
  • 행동

    • 인원수가 변경된다
      • 점유중이어야 한다
    • 점유된다
      • 점유중이 아니어야 한다
    • 비운다
      • 점유중이어야 한다
      • 인원수를 0으로 변경한다
      • 미점유 상태로 변경한다

퀵 스타트

cd docker
docker compose -p kitchenpos up -d

요구 사항

용어 사전

한글명 영문명 설명

모델링

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%