[기본기] 5. 비즈니스 요구사항 및 설계, 회원 도메인 설계

khyojun·2022년 9월 5일
1

본 게시글은 김영한님의 스프링 핵심 원리 기본편을 정리한 글입니다.


이번시간부터는 본격적으로 앞서 배운 좋은 객체지향설계를 바탕으로 하여 예제를 통하여서 어떻게 설계하는지 따라가보도록 하자.

🔍 비즈니스 요구사항

  • 회원
    • 회원을 가입하고 조회할 수 있다.
    • 회원은 일반과 VIP 두 가지 등급이 있다.
    • 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)
  • 주문과 할인 정책
    • 회원은 상품을 주문할 수 있다.
    • 회원 등급에 따라 할인 정책을 적용할 수 있다.
    • 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수
      있다.)
    • 할인 정책은 변경 가능성이 높다. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을
      미루고 싶다. 최악의 경우 할인을 적용하지 않을 수 도 있다. (미확정)

🙄 미확정이 확정이 될때까지 기다릴 것인가.....

생각보다 미확정된 부분이 마음에 걸리긴 하지만... 앞서 배운 객체 지향 설계 방법처럼 언제든 미확정이 된 것이 변경이 된다 할 지라도 나중에 갈아끼워넣을 수 있도록 설계를 해나가면 될 것이다!

📌 회원 도메인 설계

  • 회원 도메인 요구사항
    • 회원을 가입하고 조회할 수 있어야 한다.
    • 회원은 일반과 VIP 두 가지 등급이 있다.
    • 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다.(미확정)

위 그림에서는 협력 관계에 대하여 표현을 하였는데 앞서 말한대로 좋은 객체 지향을 위하여서 역할, 구현을 나눠볼 필요가 있겠다.
역할: 클라이언트, 회원 서비스, 회원 저장소
구현: 회원 서비스 구현항목, 회원 저장소 구현체

위 그림은 클래스 다이어그램이다. 앞서 말한대로 역할과 구현 항목으로 나누어 인터페이스구현체로 구분을 시켜놨다.

객체 다이어그램은 각각의 역할에 대하여서 정리를 해놓은 그림이 되겠다.

그러면 이제 역할과 구현에 대한 구분을 끝내고 본격적인 구현에 다음 챕터에서는 구현을 시작해보도록 한다.

출처

  1. 김영한님의 스프링 핵심 원리 기본편(https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8)
profile
코드를 씹고 뜯고 맛보고 즐기는 것을 지향하는 개발자가 되고 싶습니다

0개의 댓글