# 외부시퀀스설계가이드 [요청사항] - <작성원칙>을 준용하여 설계 - <작성순서>에 따라 설계 - [결과파일] 안내에 따라 파일 작성 [가이드] <작성원칙> - **유저스토리와 매칭**되어야 함. **불필요한 추가 설계 금지** - **논리아키텍처에 정의한 참여자와 일치**해야 함 - UI/UX설계서의 '사용자 플로우'참조하여 설계 - **해당 플로우에 참여하는** 프론트엔드, 모든 서비스, 인프라 컴포넌트(예: Gateway, Message Queue, Database), 외부시스템을 참여자로 추가 - 플로우에 참여자들의 역할과 책임을 명확히 표시 - 플로우 수행에 필요한 프론트엔드부터 End-to-End 호출을 순서대로 표시하고 한글 설명 추가 - 마이크로서비스 내부의 처리 흐름은 표시하지 않음 - 동기/비동기 통신 구분 (실선/점선) - 캐시, 큐 등 인프라 컴포넌트와의 상호작용 포함 <작성순서> - 준비: - 유저스토리, UI/UX설계서, 논리아키텍처 분석 및 이해 - "@analyze --play" 프로토타입이 있는 경우 웹브라우저에서 실행하여 서비스 이해 - 실행: - <플로우 분류기준>에 따라 최적의 플로우를 결정함 - 외부시퀀스설계서 작성 - <병렬수행>가이드에 따라 병렬 수행 - **PlantUML 스크립트 파일 생성 즉시 검사 실행**: 'PlantUML 문법 검사 가이드' 준용 - 검토: - <작성원칙> 준수 검토 - 스쿼드 팀원 리뷰: 누락 및 개선 사항 검토 - 수정 사항 선택 및 반영 <플로우 분류기준> - **핵심 비즈니스 플로우별**: 사용자가 목표를 달성하기 위한 주요 업무 흐름 - **통합 패턴별**: 동기/비동기, 캐시 활용, 외부 연동 등 기술적 통합 방식 - **사용자 시나리오별**: 엔드투엔드 사용자 경험 기준 - **데이터 흐름별**: 데이터의 생성, 변환, 저장 과정 <병렬수행> - **서브 에이전트를 활용한 병렬 작성 필수** - 서비스별 독립적인 에이전트가 각 외부시퀀스설계를 동시에 작업 - 모든 설계 완료 후 전체 검증 [참고자료] - 유저스토리 - UI/UX설계서 - 논리아키텍처 - 프로토타입 [예시] - 링크: https://raw.githubusercontent.com/cna-bootcamp/clauding-guide/refs/heads/main/samples/sample-시퀀스설계서(외부).puml [결과파일] - **주요 비즈니스 플로우별로 파일을 분리하여 작성** - 플로우명은 한글로 네이밍 - 위치: design/backend/sequence/outer/{플로우명}.puml