1. 시퀀스 다이어그램
플로우차트가 "무엇을 하는가"를 보여준다면, 시퀀스 다이어그램은 **"누가 누구에게 언제 말하는가"**를 보여줍니다.
1. 언제 쓰는가
- API 호출 흐름: 클라이언트 → 서버 → DB → 서버 → 클라이언트
- 유저 인터랙션: 유저 → 프론트 → 백엔드 → 외부 API
- 시스템 간 통신: 서비스 A → 메시지 큐 → 서비스 B
핵심: "주고받기"가 있으면 시퀀스 다이어그램.
2. 기본 구조
참여자 A 참여자 B 참여자 C
| | |
|--요청--->| |
| |--조회--->|
| |<--결과---|
|<--응답---| |
- 가로 = 참여자 (누가)
- 세로 = 시간 (위에서 아래로)
- 화살표 = 메시지 (뭘 주고받는가)
3. 플로우차트와의 차이
| 플로우차트 | 시퀀스 | |
|---|---|---|
| 초점 | 무엇을 하는가 (프로세스) | 누가 누구에게 (커뮤니케이션) |
| 시간 | 화살표 방향 | 위→아래 (명시적) |
| 참여자 | 없거나 모호 | 명확하게 열로 구분 |
4. 도구
- Mermaid:
sequenceDiagram문법 지원. GitHub 렌더링 됨. - PlantUML: 시퀀스에 특히 강함. 세밀한 커스텀 가능.
- draw.io: 수동 배치. 자유도 높음.
5. 체크리스트
- 2개 이상의 참여자가 메시지를 주고받는 상황이다
- 시간 순서가 중요하다
- "누가 누구에게"가 핵심이다
다음: 06-2. ERD