PART 5 · 강의 1/3

프로젝트 설계
워크숍

요구사항에서 아키텍처까지, 실무 설계 프로세스를 체험합니다.

01

요구사항에서 아키텍처까지

설계 워크숍의 전체 흐름

1
📋

요구사항 수집

비즈니스 목표 이해

2
🎯

도메인 분석

이벤트 스토밍

3
🗺️

컨텍스트 매핑

경계 정의

4
🏗️

아키텍처 결정

구조 설계

Functional

기능 요구사항

시스템이 수행해야 하는 구체적인 기능과 동작을 정의합니다.

Non-Functional

품질 요구사항

성능, 확장성, 보안, 가용성 등 시스템의 품질 속성을 정의합니다.

Constraints

제약 조건

기술 스택, 예산, 일정, 규정 등 설계에 영향을 주는 제약사항입니다.

💡 워크숍 팁

좋은 설계 워크숍은 다양한 이해관계자가 참여합니다. 개발자, 디자이너, 기획자, 비즈니스 담당자가 함께 모여 공통의 언어로 시스템을 이해하고 설계하는 것이 핵심입니다.

02

이벤트 스토밍

도메인 이벤트 중심의 탐색 기법

📌
주문이 생성됨
주문 생성하기
📦
주문
📌
결제가 완료됨
📜
결제 완료시 배송 시작
🔗
결제 시스템
도메인 이벤트
커맨드
애그리게이트
정책/규칙
외부 시스템
📌 Step 1: 도메인 이벤트 나열
  • 과거형으로 표현: "주문이 생성됨", "결제가 완료됨"
  • 비즈니스에서 중요한 사건만 포함
  • 참여자 모두가 자유롭게 포스트잇을 붙임
  • 이 단계에서는 정렬하지 않음
📌 Step 2: 시간순으로 정렬
  • 이벤트를 왼쪽에서 오른쪽으로 시간순 배치
  • 병렬로 발생하는 이벤트는 수직으로 배치
  • 중복된 이벤트는 통합
  • 누락된 이벤트를 발견하고 추가
📌 Step 3: 커맨드와 액터 추가
  • 각 이벤트를 발생시키는 커맨드 식별
  • 커맨드를 실행하는 액터(사용자/시스템) 명시
  • 외부 시스템과의 연동 지점 파악
  • 정책(Policy): 이벤트가 자동으로 트리거하는 규칙
📌 Step 4: 바운디드 컨텍스트 도출
  • 관련된 이벤트와 커맨드를 그룹으로 묶음
  • 각 그룹이 하나의 바운디드 컨텍스트가 됨
  • 컨텍스트 간 관계와 통신 방식 정의
  • 마이크로서비스 경계 후보로 활용
03

시스템 컨텍스트 다이어그램

C4 모델의 첫 번째 레벨

👤
사용자
💳
결제 시스템
🏢

우리 시스템

📧
알림 서비스
🗄️
데이터베이스
🎯

목적

시스템의 전체적인 범위와 외부 의존성을 한눈에 파악

👥

대상

비즈니스 이해관계자, 신규 팀원, 외부 협력업체

📐

구성요소

우리 시스템, 사용자, 외부 시스템, 연결 관계

⚠️ 주의사항

컨텍스트 다이어그램은 가장 높은 추상화 수준입니다. 내부 구현 상세는 포함하지 않습니다. "숲을 먼저 보고, 나무는 나중에"의 원칙을 따릅니다.

SUMMARY

핵심 요약

  • 설계 워크숍은 요구사항 수집부터 아키텍처 결정까지의 협업 프로세스
  • 이벤트 스토밍으로 도메인을 탐색하고 바운디드 컨텍스트를 도출
  • 시스템 컨텍스트 다이어그램으로 전체 시스템 범위를 시각화
  • 다양한 이해관계자가 공통의 언어로 소통하는 것이 핵심
  • 설계는 반복적으로 정제되며, 완벽한 첫 설계는 없다