당니의 개발자 스토리

구현 요구사항 본문

스프링/실전! 스프링 부트와 JPA 활용1

구현 요구사항

clainy 2024. 4. 24. 09:56

구현 요구사항

이번 시간에는 애플리케이션을 어떻게 구현할지에 대해서 구현 요구사항이랑, 그리고 애플리케이션 아키텍처에 대해서 설명을 해드리겠습니다.

먼저 도메인을 설계하고 다 했는데 그런 거는 뭔가 데이터적인 설계였고 이번에는 그래서 도대체 뭘 어디까지 구현할 건지에 대해서 전체적으로 한번 쭉 설명을 해드리겠습니다.

먼저 여기 보시는 것처럼 회원 가입, 회원 목록을 보고, 그래서 회원은 단순하게 회원 등록하고 조회하고, 상품을 등록하고 수정하고 조회하고, 그 다음에 주문에서는 상품을 주문해 보고 주문 예약을 조회하고 주문을 취소하고 검색하고 하는 이런 기능들이 들어가게 됩니다.

자 먼저 보여드리면,

회원 가입하면 이렇게 쭉 하면, 비즈니스 메서드에서 회원 가입하는 게 나와야 되겠죠.

그 다음에 목록을 보면,

이 데이터를 조회하고 뿌릴 수 있어야 되겠죠.

그 다음에 상품 등록을 하면, 쭉 해서 상품을 등록할 수 있어야 되겠죠.

상품 목록을 뿌리고 이거를 수정하면,

상품을 어떻게 수정하는지에 대해서 할 수 있어야 되고요. 그 다음에 주문 기능을 보면,

회원을 선택하고 상품을 선택한 다음에 주문을 해야 돼요.

근데 예를 들어서 주문 수량이 너무 많아.

그럼 뭔가 에러가 나거나 이런게 돼야 되죠. 반대로 주문 수량이 적절하면

주문이 되고, 방금 주문한 게 제일 아래 나옵니다.

그리고 이걸 주문을 했기 때문에 이제 상품 목록을 보면,

여기 재고가 빠져야 됩니다.

그리고 또 주문을 취소할 수 있어야 되고요.

취소하면 다시 또 재고가 올라갑니다.

그 다음에 검색을 할 수 있어야 되고요.

자 이렇게 하려면 먼저 접근 방식을 저는 여기 있는 핵심 비즈니스 메서드를 다 구현을 할 거예요.

그리고 주문이나 주문 취소, 이런 핵심 비즈니스 메서드를 먼저 다 구현을 할 겁니다. 그래서 화면보다는 먼저 핵심 비즈니스 메서드를 구현하는 거에 우선은 초점을 맞추겠습니다.

그 다음에 이제 예제를 정말 단순화하기 위해서 다음 기능을 구현을 안하거나 최소화할 거에요.

첫번째 로그인과 권한관리는 안할 겁니다. 이것만 해도 되게 큰 주제이기 때문에 저희가 선택에 집중을 해야 되니까 안 할거고요.

그 다음에 파라미터 검증과 예외 처리는 최대한 단순화 할 겁니다. 일부 확인해서 보여드리긴 할 텐데 정말 단순화 할 겁니다.

이번 강의의 핵심이 사실 파라미터 검증이나, 예외 처리를 하거나, 이런 건 사실 Spring MVC 쪽 강의들을 들으면 많이 아실 수가 있는 내용이어서 여기는 실제 도메인 모델을 설계하고 개발하고 활용하는 게 포커싱 되기 때문에 이런 것들은 보여드리긴 할 텐지만 최소화 한다. 라고 보시면 됩니다.

그리고 상품은 도서만 쓸 거에요. 다른 것들도 할 수가 있는데 그럼 집중력이 흐려지겠죠.

그 다음에 카테고리는 사용 안 할 겁니다. 하려면 또 할 수는 있는데 이거는 여러분들의 숙제로 넘겨드리겠습니다.

그 다음에 배송 정보도 사용을 안 할 거에요. 맵핑 정보에선 보여드렸는데, 예제를 최대한 단순하기 위해서 안할 겁니다.

여러분 해보면 알겠지만 이것만 해도 구현할 게 어마어마 하거든요. 그래서 배송 정보는 사용을 안 하겠습니다.

그래서 처음 보여드렸던 것 정도만 구현한다고 보시면 될 것 같아요.

 

지금까지 뭘 구현하는지, 구현 요구사항에 대해서 말씀드렸고요.

애플리케이션 아키텍처에 대해서 다음 시간에 소개를 해드리겠습니다.

'스프링 > 실전! 스프링 부트와 JPA 활용1' 카테고리의 다른 글

회원 리포지토리 개발  (0) 2024.04.24
애플리케이션 아키텍처  (0) 2024.04.24
엔티티 설계시 주의점  (0) 2024.04.24
엔티티 클래스 개발2  (0) 2024.04.19
엔티티 클래스 개발1  (0) 2024.04.17