더북(TheBook)

커맨드는 매개변수, 반환값, 동작 방식의 명세를 도메인 모델 클래스로 정의합니다. 이 명세는 작업 호출 시 충족되어야 할 선행 조건(precondition), 작업 호출 후 충족되어야 할 후행 조건(postcondition)으로 구성됩니다. 가령 createOrder() 시스템 작업의 명세는 다음과 같이 정의됩니다.

 

작업

createOrder(소비자 ID, 결제 수단, 배달 주소, 배달 시각, 음식점 ID, 주문 품목)

반환값

orderId,

선행 조건

• 소비자가 존재하고 주문을 할 수 있다.

• 주문 품목은 음식점의 메뉴 항목에 들어 있다.

• 배달 주소/시각은 음식점에서 서비스할 수 있다.

후행 조건

• 소비자 신용카드는 주문 금액만큼 승인 처리되었다.

• 주문은 PENDING_ACCEPTANCE 상태로 생성되었다.

선행 조건은 주문하기 시나리오의 전제(given)를, 후행 조건은 주문하기 시나리오의 결과(then)를 나타냅니다. 시스템 작업 호출 시 먼저 선행 조건을 확인한 후, 후행 조건을 만족시키는 액션을 수행합니다.

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