시퀀스 다이어그램이란
시퀀스 다이어그램은 특정 행동이 어떠한 순서로 어떤 객체와 어떻게 상호작용을 하는지 표현하는 행위 다이어그램
시퀀스 다이어그램 그릴 때 유념할 것
백엔드 개발자로서 API의 시퀀스 다이어그램을 그릴 때 유념할 점을 정리해보면 아래와 같다.
- 다른 개발자도 비즈니스 로직의 설계와 흐름을 파악할 수 있도록 그리기
- 도메인별 책임이 잘 드러나도록 도메인 중심으로 그리며, 추상적으로 그린다. (추상적: 구현 레벨이 표현되지 않아도 된다는 것)
- API 요청의 시작점이 사용자의 액션(curl) 일 때는, Actor로 사용자를 둔다.
- USER 측 뿐 아니라 SYSTEM (내부 스케줄러) 도 표현한다.
- 동시성 제어가 필요한 리소스에 트랜잭션, 락 등의 표현을 추가해주어도 좋다.
도메인별 책임이 잘 드러나도록 도메인 중심으로 그린 후에, 세부적으로 필요한 요청값/응답값등 필요한 요소들을 적어주면 ERD 도출도 자연스럽게 이뤄질 수 있다.
시퀀스 다이어그램 사용 문법
https://brownbears.tistory.com/511 이 블로그에 정리가 잘되어 있다.
기본적인 문법은 알고 있으면 설계를 문서로 표현하는데 유용하다.
하지만 화살표의 두께나 미세한 부분들의 문법을 너무 신경 쓰기보다는 전체적인 설계 흐름을 나타내도록 그린다.
예를 들면, 동기/비동기 요청에 따라 화살표가 다른데 주로 동기적으로 처리되는 API에 비동기 처리가 있으면
문법과 함께 텍스트로 표현을 같이 해준다.
시퀀스 다이어그램 작성 툴
둘 다 코드로 작성하면 그림을 그려준다.
- https://sequencediagram.org/
- 흑백으로 그려준다. 회원가입 절차가 없어서 편리
- 사용가이드 : https://sequencediagram.org/instructions.html
- mermaid
- mermaid가 다이어그램 컴포넌트 별로 색상을 다르게 표현해줘서 더 깔끔하고 예쁘다.
댓글