# 6. 사례연구 - 마이크로서비스 도출과 아키텍처 구성

## 6.1 요구사항 정의

####

사용자 관리 및 로그인

* 사용자 등록. 등록 시 사내 HR 시스템에 의해 검증
* 특정 사용자는 사서의 역할을 부여받음
* 사용자는 시스템 사용을 위해 로그인 및 로그아웃 할 수 있음

도서 관리

* 사서는 도서분류정보를 등록, 수정, 삭제 살 수 있음
* 사서는 입고된 도서를 분류하고 등록, 수정, 삭제 함
* 일반적인 도서는 도서공급사에 의해 공급
* 각 도서는 대출할 수 있는 수량(재고)이 있으며, 대출, 반납에 의해 재고가 조정됨

도서 대출 및 반납

* 사용자는 도서를 검색함
* 사용자는 베스트 대출 목록을 조회 가능
* 사용자는 재고가 있는 도서를 대출 (대출 조건은 2주, 1인당 5권 이내)
* 반납되지 않고 대출 기간이 디난 도서는 연체
* 1권이라도 연체되면 사용자는 대출 불가
* 사용자는 대출한 도서를 반납
* 대출한 모든 도서 이력은 기록
* 대출하거나 반납 시 사용자에게 10포인트 부여
* 연체가 있는 사용자는 대출 불가
* 포인트는 연체 1일당 10포인트씩 연테일을 감면하는 데 사용
* 연체일을 0으로 만듦으로써 대출가능 상태가 됨

배송

* 원격지의 사용자는 배송을 요청할 수 있음
* 배송의 상태는 접소, 준비, 발송, 배송완료
* 배송은 외부 배송업체 이용

이메일

* 주요 업무 변화 시 이메일로 사용자에게 통보

## 6.2 이벤트 스토밍을통한 마이크로 서비스 도출

## 6.3 외부 아키텍처 정의

## 6.4 내부 아키텍처 정의

## 6.5 JHipster를 활용한 아키텍처 구성&#x20;
