더북(TheBook)

다음은 acceptOrder() 시스템 작업의 명세입니다.

작업

acceptOrder(restaurantId, orderId, readyByTime)

반환값

-

선행 조건

order.statusPENDING_ACCEPTANCE다.

• 배달원은 주문을 배달할 수 있다.

후행 조건

order.statusACCEPTED로 변경되었다.

order.readyByTimereadyByTime으로 변경되었다.

• 주문을 배달할 배달원이 배정되었다.

선행/후행 조건을 보니 사용자 시나리오가 잘 반영되어 있습니다.

데이터를 가져오는 쿼리도 중요하지만 아키텍처와 연관된 시스템 작업은 대부분 커맨드입니다.

FTGO 애플리케이션은 커맨드 외에도 사용자가 의사 결정을 하는 데 필요한 정보를 UI에 제공하는 쿼리를 제공해야 합니다. 지금은 특정한 UI 설계를 고려할 단계는 아니지만, 가령 소비자가 주문을 하는 과정을 떠올려 보면 이렇습니다.

1. 사용자는 배달 주소 및 시간을 입력합니다.

2. 시스템은 배달 가능한 음식점을 표시합니다.

3. 사용자는 음식점을 고릅니다.

4. 시스템은 메뉴를 표시합니다.

5. 사용자는 원하는 메뉴를 선택한 후 체크아웃합니다.

6. 시스템은 주문을 생성합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.