: 회의실에서 그리고 코드를 분석할 때 사용.
타인의 코드를 분석할 때 더 중요하게 사용되며, 클래스 다이어그램보다 그릴일이 많다.
: 특정 행동에 대한 순서, 상호작용등을 표현할 수 있으며
현재 존재하는 시스템이 어떠한 시나리오로 움직이는지 알 수 있다.
(로직 모델링)
: 네모와 점선으로 그린다.
네모
는 관점에 따라 두 가지로 볼 수 있는데
점선
은 시간의 경과를 나타낸다.
(위에서 아래로 갈 수록 시간의 경과를 의미)
: 직사각형의 막대로 lifeline 점선 가운데 그린다.
lifeline의 인스턴스가 다른 인스턴스와 상호 작용을 하며 활성화
되어 있는것을 나타낸다.
(현재 객체가 어떤 활동을 하고 있음)
: 인스턴스 간 주고 받은 데이터를 나타낸다.
일반적으로 요청과 응답(HTTP 통신 기준)
: 요청을 보낸 후 반환이 올때까지 대기
요청을 보낸 후, 결과가 올 때까지 기다린다.
: 요청을 보낸 후 반환을 기다리지 않고 다른 작업을 수행
요청을 보낸 후, 결과를 기다리지 않는다.
: 자기 자신에게 메시지를 보냄
: 이전 호출의 반환을 기다리는 객체에게 다시 반환되는 메시지
: 로직에서 if, for, while과 같은 흐름을 제어하는 표현식이 있다.
시퀀스 다이어그램은 시간 순으로 인스턴스 간 상호작용을 표현하기 때문에 흐름을 제거하는 표현들이 필요할 수 있다.
: 단일 메시지에 대해 조건을 명시
: 범위로 조건을 명시
특정 부분에 대해 메시지를 반복하거나 조건을 명시할 때 사용
alternative (alt)
: 조건문 if/else 표현
(A라면 B한다.)
조건에 따라 선택 사항이 어려개일 때 사용
ex) 만약 가격이 10,000원 이상 -> 무료배송
아닌경우 배송비 -> 유로배송
option (opt)
: 조건에 따라 선택 사항이 단 한개일 때 사용
(A라면/ B도 하고 C도 하고 D도 하고 등등을 한다.)
ex) 만약 가격이 10,000원 이상 -> 무료배송
+ 고객이 추가 할인 쿠폰 요청 -> 다음 쿠폰 제공
loop
: 반복문 for, while 표현
ex) 2020-08-01보다 작을 때 반복문 실행
그 하위 조건으로 처리
parallel(par)
: 병렬 처리
ex) 상품 주문이 들어 왔을 때, 상품 확인과 배송 여부 확인을 병렬로 진행하는 것 표현
WA(Web Application), API server, DB(Database), Operation server
MVC 패턴과 비교하면 WA 객체가 Controller, API server 객체가 Model, DB 객체가 DAO와 Database를 합친것