-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2단계 - 요구사항 정리 #861
base: younghoonkwon
Are you sure you want to change the base?
2단계 - 요구사항 정리 #861
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
안녕하세요. 영훈님 :)
몇 가지 코멘트 남겼습니다.
함께 고민해 보면 좋을 것 같아요!
- 메뉴의 이름에 **비속어가 포함되면 예외가 발생한다**. | ||
- [ ] 사용자는 **메뉴의 가격을 변경할 수 있다**. | ||
- 변경하려는 가격이 **메뉴를 구성하는 제품 가격 합보다 크면 예외가 발생한다**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요구 사항
은 개발자가 작성하는 것이 아닙니다. 그리고 모든 직군이 읽을 것 같은데요. 예외가 발생한다.
보다는 메뉴의 이름에는 비속어가 포함될 수 없다.
와 같은 문장으로 다듬어 보는 것은 어떨까요?
- 주문은 **배달, 포장, 매장 식사 타입을 가진다**. | ||
- 주문 항목은 **최소 1개 이상의 메뉴를 포함해야 한다**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
final long quantity = orderLineItemRequest.getQuantity();
if (type != OrderType.EAT_IN) {
if (quantity < 0) {
throw new IllegalArgumentException();
}
}
이 부분도 요구 사항에 정리되면 어떨까요?
- [ ] 사용자는 **주문을 수락할 수 있다**. | ||
- 주문이 **대기 상태(WAITING)** 인 경우만 수락할 수 있다. | ||
- 배달 주문의 경우 **배달 요청이 전달된다**. | ||
- [ ] 사용자는 **주문을 제공(서빙)할 수 있다**. | ||
- 주문이 **승인 상태(ACCEPTED)** 인 경우만 제공할 수 있다. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
수락
과 승인
이라는 단어가 같은 뜻으로 사용되는 것 같은데 이 부분은 통일해도 괜찮지 않을까요?
- 가격은 **0 이상이어야 한다**. | ||
- [ ] 사용자는 **제품의 가격을 변경할 수 있다**. | ||
- 가격은 **0 이상이어야 한다**. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
단위도 명확하게 작성되면 좋을 것 같아요. :)
--- | ||
|
||
### **5. 외부 API 연동** | ||
- [ ] 시스템은 **Purgomalum API**를 사용하여 **비속어 검열을 수행한다**. | ||
- 메뉴 또는 제품 이름에 비속어가 포함된 경우 **예외를 발생시킨다**. | ||
- [ ] 시스템은 **배달 서비스(Kitchenriders API)** 와 연동하여 **배달 요청을 전송한다**. | ||
- 배달 주문이 수락될 경우 **배달 요청이 자동으로 전달된다**. | ||
|
||
--- | ||
|
||
### **6. 데이터 관리** | ||
- [ ] **애플리케이션이 실행되면 기본 데이터가 삽입된다** (`V2__Insert_default_data.sql`). | ||
- [ ] **애플리케이션이 처음 실행될 때 테이블이 초기화된다** (`V1__Initialize_project_tables.sql`). | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
요구 사항에 api 연동, 데이터 관리에 대한 내용이 필요할까요?
감사합니다