당니의 개발자 스토리

요구사항 분석 본문

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

요구사항 분석

clainy 2024. 4. 13. 18:31

요구사항 분석

안녕하세요. 이번 시간에는 도메인을 한번 분석 설계를 해보겠습니다.

먼저 요구사항이 뭔지 알아야 되겠죠. 그리고 요구사항을 이해한 걸 바탕으로 도메인 모델과 테이블을 쭉 설계를 하고 그 다음에 설계된 걸 바탕으로 엔티티 클래스들을 개발해야 되겠죠. 그리고 마지막으로 엔티티 클래스를 설계할 때 주의점에 대해서 정리를 해드리면 될 것 같습니다.

자 먼저 이번 시간에는 딱 요구사항을 분석하는 것만 있는데요.

굉장히 간단한 쇼핑몰입니다. 먼저 동작하는 걸 한번 보여드릴게요.

자 Hello Shop이라고 하는 쇼핑몰인데, 이 쇼핑몰은 일단 회원에 대해서 기본적으로 회원가입을 하고 회원 목록을 볼 수가 있습니다.

그리고 이제 상품을 등록하고, 등록된 상품을 볼 수 있고요. 마지막으로 회원과 상품을 엮어서 회원이 상품을 주문하고 주문 예약을 확인할 수가 있습니다.

자 한번 볼게요.

Submit 해서 저장하고,

다시 회원 목록으로 들어가면,

방금 등록한 제가 여기에 있죠. 그래서 이제 목록 조회 기능이 있고, 그 다음에

Submit 하면,

이렇게 책이 등록이 됩니다. 그리고 수정할 수도 있구요.

자 이런 기능들, 상품 목록과 수정까지 있습니다.

마지막으로 상품주문은 상품을 주문을 하면

회원은 김영한이라는 사람이 JPA BOOK2를 한 10권 산다고 하고

제출을 하면,

주문 내역에 들어가보면

이렇게 주문 내역을 확인할 수 있습니다.

그리고 이렇게 검색 기능이 있구요. 그리고 CANCEL을 눌러서

주문을 취소할 수 있습니다. 주문을 취소하게 되면 상품 목록에 가면,

아까는 주문하게 되면 재고 수량이 떨어지는데 취소하면 다시 재고가 올라가게 됩니다.

이런 기능이 있구요.

검색은 주문 상태로 하거나, 회원명으로도 할 수 있습니다. 이것까지가 저희가 구현할 기능들이구요. 요구사항을 구체적으로 말씀드리겠습니다.

회원 기능은 이제 기본적으로 굉장히 간단한 쇼핑몰을 만드는 것이기 때문에 회원을 등록하고 조회할 수 있어야 된다.

상품은 상품을 등록하고 수정하고 조회할 수 있어야 된다.

그리고 주문은 상품을 주문하고 주문 내역을 조회하고 주문 취소를 할 수 있어야 된다.

자 그리고 기타 요구사항이 있는데, 상품은 재고 관리가 필요하다. 아까 재고가 있었죠. 그 다음에 상품의 종류는 도서, 음반, 영화가 있다 하는 요구사항이 있어요. 또 상품을 카테고리로 구분할 수 있다. 그리고 상품 주문 시 배송 정보를 입력할 수 있다.

자 이제 대충 여러분 뭘 만들지는 알겠죠.

지금 화면에다가만 보인 거고, 이제 나중에 뒤에 가서 API 같은 것도 만들어 볼 텐데 지금 이번 시간에는 모델링 하는 게 제일 중요한 이슈기 때문에, 요구사항 분석에 대해서 한번 쭉 말씀드렸습니다.

다음 시간에는 이렇게 분석된 것을 가지고 실제 도메인 모델과 테이블을 설계해 보겠습니다.

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

엔티티 클래스 개발1  (0) 2024.04.17
도메인 모델과 테이블 설계  (0) 2024.04.15
JPA와 DB 설정, 동작확인  (0) 2024.04.13
H2 데이터베이스 설치  (0) 2024.04.02
View 환경 설정  (0) 2024.03.31