1. 시스템 개요와 요구사항 분석
1. 시스템 개요와 요구사항 분석
도입부
현대의 도서관 시스템은 단순한 도서 대출/반납 관리를 넘어 복잡한 비즈니스 규칙과 다양한 서비스를 제공하는 종합적인 정보 시스템으로 발전했습니다. 이러한 시스템을 효과적으로 설계하고 구현하기 위해서는 도메인 주도 설계(Domain-Driven Design, DDD)와 클린 아키텍처와 같은 현대적인 소프트웨어 설계 방법론의 적용이 필수적입니다.
이 장에서는 도서관리 시스템의 전반적인 개요와 요구사항을 분석하고, 이를 실제 구현 가능한 형태로 모델링하는 과정을 다룹니다. 특히 이벤트 스토밍을 통한 도메인 이해, 바운디드 컨텍스트의 식별과 정의, 그리고 컨텍스트 간의 효과적인 통합 방안을 상세히 살펴봅니다.
도서관리 시스템은 다음과 같은 특징을 가진 도메인입니다:
- 도서, 회원, 대출이라는 핵심 개념들이 복잡한 규칙으로 연결되어 있습니다.
- 동시성과 일관성 관리가 중요한 비즈니스 요구사항입니다.
- 다양한 이해관계자들의 요구사항을 균형있게 만족시켜야 합니다.
- 시스템의 확장성과 유지보수성이 장기적인 성공의 핵심 요소입니다.
목차
도서관리 시스템의 목적과 핵심 기능을 소개하고, 전체적인 시스템의 범위와 방향성을 제시합니다. 특히 도메인 주도 설계와 클린 아키텍처를 적용하는 학습 프로젝트로서의 의미와 가치를 설명합니다.
이벤트 스토밍의 개념과 목적을 설명하고, 워크샵을 위한 체계적인 준비 과정을 다룹니다. 참여자 구성, 환경 설정, 그리고 워크샵 규칙 수립 등 성공적인 이벤트 스토밍을 위한 기초를 마련합니다.
실제 이벤트 스토밍 워크샵의 진행 과정을 단계별로 상세히 설명합니다. 도메인 이벤트 도출, 커맨드와 액터 식별, 애그리거트 도출, 그리고 불변식의 발견과 정의 등 각 단계별 실천 방법을 제시합니다.
도서관 시스템의 주요 바운디드 컨텍스트들을 식별하고 정의하는 과정을 설명합니다. 사용자 관리, 도서 관리, 도서 대출 순환 등 각 컨텍스트의 특성과 책임을 명확히 하고, 이들 간의 관계를 설계합니다.
식별된 바운디드 컨텍스트들 간의 관계와 상호작용을 정의합니다. 다양한 컨텍스트 매핑 패턴을 살펴보고, 도서관 시스템에 적합한 통합 전략을 수립합니다.
Last updated on