객체 간 상호작용을 시간 순서에 따라 시각화하는 시퀀스 다이어그램(Sequence Diagram)에 대해 정리했다.
복잡한 로직의 흐름을 파악하는 데 효과적이다.
상호작용 시각화
로그인 과정을 예로 객체 간 데이터 송수신 순서를 도식화했다.
[ User ] [ LoginController ] [ UserService ] [ DB ]
| | | |
|---(1) login(id,pw)-->| | |
| |----(2) checkUser()-->| |
| | |---(3) Query-->|
| | |<--(4) Result--|
| | | |
| |<---(5) UserInfo ----| |
| |<--(6) Success/Fail---| |
화살표는 메시지 흐름을 의미한다.
시간 흐름에 따라 요청이 컨트롤러, 서비스, DB를 거쳐 반환되는 과정을 보여준다.
이를 통해 설계 단계에서 로직 결함이나 불필요한 호출을 발견하여 최적화할 수 있다.
시퀀스 다이어그램 구성 요소
- 생명선(Lifeline): 객체의 존재 기간을 나타내는 수직 점선이다.
-
메시지 화살표: 객체 간 상호작용을 나타낸다.
실선은 동기 호출, 점선은 응답을 의미한다. -
활성창(Activation Bar): 객체가 연산을 수행 중인 구간을 표시한다.
설계 정교화
시퀀스 다이어그램은 로직의 타당성을 검토하는 과정이다.
팀 내 로직 공유와 비즈니스 프로세스 정리에 유용하다.
로직을 체계적으로 조립하여 설계의 완성도를 높일 수 있는 것 같다.