1. 비지니스 요구사항
요구사항을 비지니스적 용어로 정의하고 또 이를 역할(Interface)과 구현으로 나누어 살펴보도록하자.
비즈니스 요구사항과 설계
- 회원
- 회원을 가입하고 조회할 수 있다.
- 회원은 일반과 VIP 두 가지 등급이 있다.
- 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)
- 주문과 할인 정책
- 회원은 상품을 주문할 수 있다.
- 회원 등급에 따라 할인 정책을 적용할 수 있다.
- 할인 정책은 모든 VIP는 1000원을 할인해주는 고정 금액 할인을 적용해달라. (나중에 변경 될 수 있다.)
- 할인 정책은 변경 가능성이 높다.
- 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶다. 최악의 경우 할인을 적용하지 않을 수 도 있다. (미확정)
2. 회원 도메인 설계
- 회원
- 회원을 가입하고 조회할 수 있다.
- 회원은 일반과 VIP 두 가지 등급이 있다.
- 회원 데이터는 자체 DB를 구축할 수 있고, 외부 시스템과 연동할 수 있다. (미확정)
<회원 도메인 협력 관계>
- 회원 도메인 협력 관계 경우엔 기획자 역시 같이 볼 수 있다.
<회원 클래스 다이어그램>
- 회원 클래스 다이어그램의 경우엔 개발자가 사용하는 것으로 이때 실제 동적인 할당이 이루어질 경우를 모르기 때문에 객체 다이어그램을 통해 이를 살펴보아야 한다.
<객체 다이어그램>
- 객체 다이어그램은 실제 사용 유효한 instance의 참조를 구현한 것으로 이를 살펴보아야 동적인 부분을 알 수 있게 된다.
3. 정리
우리는 비지니스 요구사항을 받으면 이를 역할과 구현으로 나누어 개발에 들어가야 한다.
이때 협력관계에 관한 것들은 실제 코드 작업을 진행하지 않는 기획자도 알아볼 수 있어야 하고, 클래스 다이어그램은 개발자들의 문서로 이 역시 역할과 구현을 잘 나누어 작업해야 한다. 마지막으로 동적인 부분의 실제 객체에 관한 참조를 알기 위해서 객체 다이어그램을 작성해 살펴보도록 해야 한다.
4. 출처
'Back-End > Spring' 카테고리의 다른 글
[Spring][스프링 기본편] - 4. 테스트(Feat. 순수 자바코드 테스트와 Junit을 사용한 테스트) (0) | 2022.01.13 |
---|---|
[Spring][스프링 기본편] - 3. 회원 도메인 구현 (0) | 2022.01.13 |
[Spring][스프링 기본편] - 1. 객체지향 설계와 스프링 (0) | 2022.01.12 |
[SpringBoot][스프링 입문] - 5.3 회원 웹 기능 - 조회 (0) | 2021.12.28 |
[SpringBoot][스프링 입문] - 5.2 회원 웹 기능 - 등록 (0) | 2021.12.28 |