-
Notifications
You must be signed in to change notification settings - Fork 194
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
1단계 - 용어 사전 만들기 #445
1단계 - 용어 사전 만들기 #445
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.
창호님 안녕하세요.
'크게 소리 내어 모델링 하기' 미션을 함께하게된 김경록입니다. 😃
용어 사전 잘 정의해주셨습니다. 👍👍
몇몇 코멘트 남겨두었는데, 확인 부탁드려요. 🙏
README.md
Outdated
| 매장 식사 | Eat In | 매장에서 식사하는 주문 유형 | | ||
| 포장 | Take Out | 포장 주문 유형 | | ||
| 배달 | Delivery | 배달 주문 유형 | | ||
| 접수 대기 | Waiting | 주문이 접수되기를 기다리는 상태 | | ||
| 접수 | Accept | 주문된 요리가 완료 되기를 기다리는 상태 | | ||
| 서빙됨 | Served | 주문된 요리가 완료되어 주문 테이블이나 배달원에게 전달된 상태 | | ||
| 배달 중 | Delivering | 배달 주문이 배달 중인 상태 | | ||
| 배달 완료 | Delivered | 배달 주문이 배달 완료된 상태 | | ||
| 완료 | Completed | 주문이 완료된 상태. 결제가 완료처리 된 것을 포함. 매장 식사는 식사완료, 포장은 포장 완료, 배달은 배달이 완료되어야 한다. | |
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.
각 관심사별로 중복되는 표현들이 보이는 것 같아요.
관심사별 경계(바운디드 컨텍스트)에 따라 각 용어들을 나눠보는건 어떨까요?
README.md
Outdated
| 상품 이름 | Product Name | 상품의 이름으로 반드시 입력되어야 하며 비속어를 사용할 수 없다 | | ||
| 상품 가격 | Product Price | 상품의 가격. 메뉴에 등록된 가격은 상품의 가격보다 같거나 낮을 수 있다 | |
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.
ㅎㅎ 어느 정도 자세하게 써야 할까 생각하다가 요구사항의 내용이 포함되었습니다.
역시 용어 사전에 요구사항은 없어도 되겠죵?
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.
네 추후 요구사항이 바뀌게되면 요구사항 문서뿐만 아니라 용어 사전까지고 같이 변경해야하는 번거로움이 생길 수 있기 때문에 한 곳에서만 정보를 가지고있는게 좋다고 생각해요. 😃
@@ -96,8 +96,41 @@ docker compose -p kitchenpos up -d | |||
|
|||
## 용어 사전 |
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.
가능하면 도메인 주도 설계 이해 미션
에서 진행하면서 정리하신 요구사항을 토대로 용어 사전 만들기 미션을 진행해보시면 좋을 것 같아요. 😃 앞의 미션에서 정리하신 요구사항으로 요구사항 문서를 업데이트해주신 뒤, 용어 사전을 다시 정의해보시면 좋을 것 같아요.
(아직 2단계 미션이 진행이 안된 상태라면 지금의 요구사항으로 진행해도 무방합니다 🤗)
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.
전에 작성한 요구사항으로 변경해 보았습니다.
제가 작성한 요구사항이 좀 더 마음에 드네요 😄
README.md
Outdated
| 상품 이름 | Product Name | 상품의 이름으로 반드시 입력되어야 하며 비속어를 사용할 수 없다 | | ||
| 상품 가격 | Product Price | 상품의 가격. 메뉴에 등록된 가격은 상품의 가격보다 같거나 낮을 수 있다 | | ||
| 상품 목록 | Product List | 등록된 상품의 목록 | | ||
| 메뉴 그룹 | Menu Group | 메뉴를 그룹화하는 단위 (예 - 치킨류, 사이드메뉴, 세트메뉴, 신메뉴) | |
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.
적절한 예시 덕에 조금 더 메뉴 그룹이 무엇인지 이해하기가 쉬운 것 같아요. 👍👍
README.md
Outdated
| 메뉴 그룹 | Menu Group | 메뉴를 그룹화하는 단위 (예 - 치킨류, 사이드메뉴, 세트메뉴, 신메뉴) | | ||
| 메뉴 그룹 이름 | Menu Group Name | 메뉴 그룹의 이름으로 반드시 입력되어야 하며 비속어를 사용할 수 없다 | | ||
| 메뉴 그룹 목록 | Menu Group List | 등록된 메뉴 그룹의 목록 | | ||
| 메뉴 | Menu | 하나 이상의 상품으로 구성된 판매 단위 | |
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.
메뉴는 하나 이상의 상품으로 구성된 판매 단위라고 하셨는데요.
그렇다면 상품은 메뉴를 구성하는 단위
라고도 볼 수 있지 않을까요? 😃
README.md
Outdated
| 매장 식사 | Eat In | 매장에서 식사하는 주문 유형 | | ||
| 포장 | Take Out | 포장 주문 유형 | | ||
| 배달 | Delivery | 배달 주문 유형 | |
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.
요구사항에서는 포장 주문
, 매장 주문
, 배달 주문
이라는 용어를 사용하셨는데, 이 용어들에 대한 정리를 해주시는게 좋을 것 같아요. 😃
README.md
Outdated
| 메뉴 이름 | Menu Name | 메뉴의 이름으로 반드시 입력되어야 하며 비속어를 사용할 수 없다 | | ||
| 메뉴 가격 | Menu Price | 메뉴의 가격. 메뉴에 속한 상품 금액의 합보다 높을 수 없다. | | ||
| 메뉴 목록 | Menu List | 등록된 메뉴의 목록 | | ||
| 메뉴 노출/숨김 | Menu Visibility | 메뉴의 숨김 여부. 메뉴 가격이 속한 상품 금액의 합보다 높을 경우 숨긴다 | |
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.
메뉴 노출과 숨김은 같은 용어를 사용하는건가요? 🤔
영어 네이밍도 구분이되는게 좋지 않을까요?
README.md
Outdated
| --- | --- | --- | | ||
| | | | | ||
| 한글명 | 영문명 | 설명 | | ||
|-----------|------------------|-------------------------------------------------------------------------| |
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.
용어 사전을 컨텍스트별로 분리하면 어떨까요? 😃
나중에 용어사전을 찾아볼 때, 조금 더 용어를 찾기가 수월할 것 같아요.
README.md
Outdated
| 빈 테이블 | Empty Table | 현재 사용 중이지 않은 주문 테이블. | | ||
| 방문한 손님 수 | Number of Guests | 주문 테이블에 앉아 있는 손님 수 | | ||
| 주문 | Order | 고객이 요청한 메뉴의 집합으로 주문 유형과 주문 상태를 가진다 | | ||
| 주문 가격 | Order Price | 주문에 포함된 하나 이상의 메뉴 가격의 합 | |
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.
주문 가격은 Order Line Item
의 합이지 않나요? 🤔
정의하신대로라면 메뉴 대신에 다른 용어가 들어가야할 것 같아요. 🤗
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.
창호님 피드백 반영 잘해주셨습니다. 👍💯
이전 미션에서 요구사항 정리를 잘해주셔서 그런지 용어 사전도 잘 정의해주신 것 같네요. 🤗
조금만 더 짚고넘어가면 좋을 부분이 보여서 코멘트 남겨두었는데요.
확인 한번 부탁드립니다. 🙏
README.md
Outdated
### 주문 (Order) | ||
|
||
| 한글명 | 영문명 | 설명 | | ||
|----------|-------------------|-------------------------------------------------------------------------| | ||
| 주문 | Order | 손님이 요청한 메뉴의 집합으로 주문 유형과 주문 상태를 가진다 | | ||
| 주문 가격 | Order Price | 주문에 포함된 하나 이상의 주문 항목 가격의 합 | | ||
| 주문 유형 | Order Type | 주문의 종류 (매장 식사, 포장, 배달) | | ||
| 주문 상태 | Order Status | 주문의 진행 상태 (대기, 수락됨, 제공됨, 배달 중, 배달 완료, 완료). | | ||
| 주문 항목 | Order Line Item | 주문에 포함된 메뉴와 수량 | | ||
| 주문 목록 | Order List | 등록된 주문의 목록 | | ||
| 매장 식사 주문 | Eat In Order | 주문 유형으로 매장 식사를 선택한 주문 | | ||
| 포장 주문 | Take Out Order | 주문 유형으로 포장을 선택한 주문 | | ||
| 배달 주문 | Delivery Order | 주문 유형으로 배달을 선택한 주문 | | ||
| 매장 식사 | Eat In | 매장에서 식사하는 주문 유형 | | ||
| 포장 | Take Out | 포장 주문 유형 | | ||
| 배달 | Delivery | 배달 주문 유형 | | ||
| 주문 생성하기 | Create Order | 손님이 메뉴를 선택하여 주문을 생성하는 작업으로 주문 상태는 대기가 된다 | | ||
| 주문 수락하기 | Accept Order | 대기 중인 주문을 수락하여 요리를 시작하는 작업으로 주문 상태는 수락됨이 된다 | | ||
| 주문 제공하기 | Serve Order | 요리가 완료되어 손님에게 제공하는 작업으로 주문 상태는 제공됨이 된다. 배달 주문의 경우 배달 기사에게 전달됩니다 | | ||
| 배달 시작하기 | Start Delivery | 배달 주문의 경우, 완료된 요리를 손님에게 배달하는 작업으로 주문 상태는 배달 중이 된다 | | ||
| 배달 완료하기 | Complete Delivery | 배달 주문이 고객에게 전달된 상태로 변경하는 작업으로 주문 상태는 배달 완료가 된다 | | ||
| 주문 완료하기 | Complete Order | 주문이 최종적으로 완료된 상태로 변경하는 작업으로 주문 상태는 완료가 된다 (매장 식사, 포장, 배달 모두 포함) | | ||
| 대기 | Waiting | 주문이 생성되어 수락되기를 기다리는 상태 | | ||
| 수락됨 | Accept | 주문이 수락되어 요리가 완료 되기를 기다리는 상태 | | ||
| 제공됨 | Served | 주문된 요리가 완료되어 주문 테이블이나 배달원에게 전달된 상태 | | ||
| 배달 중 | Delivering | 배달 주문이 배달 중인 상태 | | ||
| 배달 완료 | Delivered | 배달 주문이 배달 완료된 상태 | | ||
| 완료 | Completed | 주문이 완료된 상태. 결제가 완료처리 된 것을 포함. 매장 식사는 식사완료, 포장은 포장 완료, 배달은 배달이 완료되어야 한다. | | ||
| 배달 주소 | Delivery Address | 배달 주문인 경우 배달 받을 주소 | | ||
| 배달 대행사 | Delivery Agency | 배달을 수행하는 외부 대행사 또는 내부 배달 조직 | |
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.
이전 코멘트과 이어지를 코멘트인데요.
이 주문
이라는 컨텍스트는 여러가지 관심사가 섞여있는 것 같아요.
예를들면 배달 주문의 경우 주문 테이블을 알 필요가 있을까요?
또는 다른 주문들이 배달 주소나 배달 대행사를 알 필요가 있을까요?
주문의 유형별로 컨텍스트를 분리해보면 좋을 것 같습니다. 😃
혹시 이 부분이 무슨 의미인지 조금 이해하기 어려우시다면 DM 으로 추가 문의 주시면 추가 코멘트 달아두겠습니다!
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.
주문 유형별로 나누어 보았습니다.
도메인 모델(?)이 매장 식사 주문
, 포장 주문
, 배달 주문
으로 나뉜다는 뜻으로 이해하였습니다!
공통사항은 주문
이라는 항목으로 두었습니다~
| 빈 테이블 | Empty Table | 현재 사용 중이지 않은 주문 테이블 | | ||
| 방문한 손님 수 | Number of Guests | 주문 테이블에 앉아 있는 손님 수 | | ||
|
||
### 주문 (Order) |
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.
창호님 피드백 반영 잘해주셨습니다. 👍👍
조금만 더 짚고 넘어갈 부분이 있어서 추가 코멘트 남겨두었는데,
확인 부탁드릴게요. 🙏
README.md
Outdated
이 항목에서는 주문 공통에 대한 용어를 정의합니다. | ||
|
||
> **!중요!** | ||
> 각 주문 별로 공통 상태 외의 별도의 상태를 가질 수 있습니다. |
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.
포장 주문, 매장 식사 주문, 배달 주문 별로 상태를 각기 관리하는 의미일까요?
예를 들어주실 수 있으신가요?
보통 개발자 습성이 중복 되는 항목을 공통으로 두는 습관이 있죠 ㅎㅎ
주문 유형별로 주문 상태가 중복 되는 것은 가짜 중복이라고 생각하셔서 말씀주신 걸까요?
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.
보통 개발자 습성이 중복 되는 항목을 공통으로 두는 습관이 있죠 ㅎㅎ
주문 유형별로 주문 상태가 중복 되는 것은 가짜 중복이라고 생각하셔서 말씀주신 걸까요?
맞습니다 : )
용어가 똑같기 때문에 중복이라고 생각할 수 있겠지만 컨텍스트를 분리한 순간부터는 사실 별개의 용어로 볼 수 있을 것 같아요.
애초에 각 컨텍스트별로 레포지토리가 분리되어있다면 지금처럼 용어를 써도 상관없겠지만 지금은 하나의 레포지토리에 세 가지 컨텍스트가 함께 존재하기 때문에 가급적 한글/영어명 네이밍을 다르게두면 좋을 것 같아요.
| 한글명 | 영문명 | 설명 | | ||
| --- | --- | --- | | ||
| | | | | ||
### 상품 (Product) |
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.
비속어는 외부 시스템에서 관리하기 때문에 관리하지 않는 것이 좋을 것 같습니다.
일반 명사로 이해할 수 있을 것 같고, 용어 사전에 등록을 해야 좋을까요?
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.
창호님 질문에 대한 답변들 남겨두었습니다.
혹시 추가로 질문사항들이 있으시다면 리뷰요청 대신에 DM으로 추가 질문 부탁드릴게요! 😃
| 한글명 | 영문명 | 설명 | | ||
| --- | --- | --- | | ||
| | | | | ||
### 상품 (Product) |
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.
네 저는 비속어도 하위 도메인에 포함된다고 생각하기 때문에 용어 사전에 정의해야할 대상이라고 생각해요. 😃
외부 시스템을 사용하냐 아니냐는 중요한 요소가 아니라고 생각해요.
README.md
Outdated
이 항목에서는 주문 공통에 대한 용어를 정의합니다. | ||
|
||
> **!중요!** | ||
> 각 주문 별로 공통 상태 외의 별도의 상태를 가질 수 있습니다. |
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.
보통 개발자 습성이 중복 되는 항목을 공통으로 두는 습관이 있죠 ㅎㅎ
주문 유형별로 주문 상태가 중복 되는 것은 가짜 중복이라고 생각하셔서 말씀주신 걸까요?
맞습니다 : )
용어가 똑같기 때문에 중복이라고 생각할 수 있겠지만 컨텍스트를 분리한 순간부터는 사실 별개의 용어로 볼 수 있을 것 같아요.
애초에 각 컨텍스트별로 레포지토리가 분리되어있다면 지금처럼 용어를 써도 상관없겠지만 지금은 하나의 레포지토리에 세 가지 컨텍스트가 함께 존재하기 때문에 가급적 한글/영어명 네이밍을 다르게두면 좋을 것 같아요.
@Rok93 님 말씀주신대로 비속어에 대한 용어를 추가하고 주문 별 상태를 용어 사전에 추가하였습니다~ |
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단계는 이정도면 충분한 것 같아서 이만 머지하도록하겠습니다. 🚀
다음 단계에서 뵙겠습니다! 😃
|---------|-------------------|-------------------------------------------------------------------------| | ||
| 주문 | Order | 손님이 요청한 메뉴의 집합으로 주문 유형과 주문 상태를 가진다 | | ||
| 주문 가격 | Order Price | 주문에 포함된 하나 이상의 주문 항목 가격의 합 | | ||
| 주문 유형 | Order Type | 주문의 종류 (매장 식사, 포장, 배달) | |
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.
세 개의 주문들을 모두 별도의 컨텍스트로 분리하였으니 이제 Order Type
은 불필요하지 않을까요? 😃
나중에 리팩터링을 하실 때, 코드뿐만 아니라 용어사전에도 내용이 업데이트해주세요. 😉
| 배달 | Delivery | 배달 주문 유형 | | ||
| 미완료된 주문 | Uncompleted Order | 주문이 완료되지 않은 상태 | | ||
|
||
### 매장 식사 주문 (Eat In Order) |
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.
컨텍스트별로 잘 분리해주셨네요. 👍💯
안녕하세요!
미션 새로 시작하게 되었습니다!!
앞으로 잘 부탁드리겠습니다!
최대한 요구사항에 나온 용어들을 뽑아보았는데,
부족한게 무엇일지 모르겠습니다.
감사합니다!