Skip to content
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

Open
nooose opened this issue Aug 9, 2024 · 2 comments
Open

전략적 설계 - 도메인 지식 찾아내기 #2

nooose opened this issue Aug 9, 2024 · 2 comments
Labels
documentation Improvements or additions to documentation

Comments

@nooose
Copy link
Owner

nooose commented Aug 9, 2024

📅 2024.08.09 - 도메인 지식 찾아내기

📝 학습 내용 요약

  • 주요 주제: 비즈니스 도메인을 쉽게 이해하는 법

🧠 이해한 내용

  • 핵심 개념: 커뮤니케이션에서 유비쿼터스 언어를 사용하자
  • 일관성이 있어야 하며 모호하지 않고 동의어가 없어야 한다.
  • 특정 컨텍스트 안에서 각각의 언어를 사용하자
  • 유비쿼터스 언어를 실현하기 위해서는 용어집을 관리해야 한다.
  • BDD 스타일로 작성된 테스트 코드로 비즈니스를 표현하는 것도 방법이다.

❓ 궁금한 점 및 논의할 주제

  • 질문 1: 멘탈 모델이 무엇인지?

🔍 추가 참고 자료

🗒 기타 메모

@nooose nooose added the documentation Improvements or additions to documentation label Aug 9, 2024
@nonoro
Copy link
Collaborator

nonoro commented Aug 11, 2024

이해한 내용

  • 유비 쿼터스 언어란
    • 도메인 전문가와 소프트웨어 엔지니어의 지식 간극을 메워주는 효과적인 도구이다.
    • 소프트웨어 개발 생애주기에서 도메인 지식을 계속해서 변환하는 대신, 비즈니스 도메인을 설명하기 위한 단일화된 언어 체계이다.
    • 비즈니스 언어라고도 하며 기술 용어는 빼고 비즈니스 도메인에 관련된 용어로만 구성해야 한다.
    • 반드시 정확하고 일관성이 있어야 한다.
    • 동의어는 사용하면 안된다.
  • 프로젝트와 관련된 모든 이해관계자는 비즈니스 도메인을 설명할 때는 유비쿼터스 언어를 사용해야 한다.
  • 비즈니스 도메인 엔티티의 이름은 영어 명사로 하자!

궁금한 점 및 논의할 주제

  • 질문 1

    • 멘탈모델이란?
      • 도메인 전문가가 문제를 생각하는 방식이다
      • 내 생각: 판매자 or 소비자의 입장에서 어떻게 행동할지를 생각하는 방식인거 같고 이러한 것들을 누구나 알아 볼 수 있는 용어를 사용해 표현하는 모델인것 같다.

@dltkqnr
Copy link

dltkqnr commented Aug 13, 2024

학습 내용 요약

  • 협업과 커뮤니케이션의 중요성
  • 비즈니스 도메인 모델링을 위한 유비쿼터스 언어의 정형화

이해한 내용

  • ‘도메인 지식 → 분석 모델 → 요구 사항 → 시스템 설계 → 소스코드’ 에 오기 까지의 변환에 주의하자.
  • 변환에 의한 지식 공유의 손실을 줄이기 위해서 유비쿼터스 언어를 사용하자
  • 유비쿼터스 언어는 비즈니스 도메인과 관련된 용어만 사용하여야 한다. (모호성은 제거하고 일관성 있는 용어를 사용하자)
  • 유비쿼터스 언어는 이해관계자들의 지속적인 사용과 개선을 통해 강화되어야 한다.
  • 회사의 공동의 목표를 위하여 많은 이해관계자들이 모여 협업을 하므로, 원활하고 성공적인 프로젝트의 수행을 위해서 커뮤니케이션이 필요하고, 그런 커뮤니케이션의 도구로 유비쿼터스 언어가 사용된다.

질문

  • ! - 멘탈 모델이란?

    • 멘탈 모델이란 사용자가 현재 사용 중인 시스템에 대한 개인적인 이해와 믿음을 말한다.
    • 비즈니스 도메인 전문가의 멘탈 모델과 소프트웨어 엔지니어의 간극을 줄이기 위해서는 상호작용이 필요하다 → 지속적으로 질문하고, 대화하자
  • ? - 유비쿼터스 언어를 수집하고 관리하는 ‘용어집’ 이 있지만, 이 용어집은 엔티티의 이름, 역할 등의 명사에만 효과적이다.

    • 행동은 단순히 명사와 관련된 동사의 목록이 아니라 실제 비즈니스 로직인데, 이러한 행동은 용어집으로 문서화되기 어렵다. 그러므로 용어집은 유스케이스 또는 거킨 테스트와 같은 도구와 사용되면 좋다.
    • 거킨 테스트란?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

3 participants