본문 바로가기
PM으로 성장하기/개발 공부

시퀀스 다이어그램

by 고양이 고씨 2023. 5. 12.

시퀀스 다이어그램은 시스템의 구성요소들이 어떻게 상호작용하는지를 나타낸 것이다. 객체들이 시간의 흐름과 순서에 따라 어떻게 동작하는지 표현한다. 때문에 시스템이 어떤 시나리오로 움직이는지를 확인할 수 있다. 구성요소는 아래와 같다.

 

1. 객체와 생명선

객체는 사각형으로 표시되어 위에서 아래로 점선 형태의 생명선이 연결된다. 생명선의 길이는 시간을 의미하지는 않고, 위에서 아래로 갈수록 시간이 경과한다는 것을 뜻한다.

 

2. 활성화 막대와 메시지

활성화 막대는 현재 어떤 활동을 하고 있음을 의미하며, 생명선 상에 긴 직사각형으로 표현한다. 메시지는 호출자가 수신자에게 메소드 실행을 요청하는 이벤트를 발생시키는 것을 의미하며, 화살표로 표시한다. 메시지 종류에 따라 표현 방법이 상이하다.

종류 설명 표기
동기화 메시지 송신자가 메시지를 보낸 후 수신자가 메시지를 처리하고 리턴 메시지를 보낼 때 까지 기다린다 검은 삼각형 화살표 머리로 표시
비동기화 메시지 메시지를 보낸 후 리턴을 기다리지 않고 작업을 계속 진행한다 일반 화살표로 표시
자기 메시지 객체가 자기 자신에게 메시지를 보낸다 일반 화살표로 표시하되 자기자신을 향하여 표시
리턴 메시지 메시지 수신자가 실행을 종료하고 제어권을 송신자에게 돌려준다 (중요하지 않으면 생략해도 된다) 점선으로 표시
생성 메시지 참여 요소를 생성한다 《create》 로 표시하여 점선 화살표 끝에 생성되는 참여 요소를 배치
삭제 메시지 참여 요소를 삭제한다 《destroy》로 표시하고 동기화 메시지와 같게 표현하되 끝에 X 표시

 

3. 프레그먼트

시퀀스 다이어그램 내의 범위를 명시하기 위해 표기한다. 여러 생명선과 활성화 막대를 포괄하는 박스 형태로 표현한다.

종류 설명 표기
옵션 가드 조건을 만족할 때만 수행되는 상호작용(단일 조건문, if, switch) opt
대안 점선으로 나뉜 여러 부분 중 조건에 따라 하나가 선택적으로 수행(다중조건문, else if) alt
반복 가드 조건이 만족되는 동안 반복 수행됨(반복문, for, while) loop
참조 외부에서 정의한 시퀀스 다이어그램을 포함 ref
병렬 분리된 몇 개의 상호작용이 동시에 수행됨 par

 

4. 가드

단일 메시지에 대해서 조건을 명시한다.


참고자료

한국방송통신대학교 컴퓨터과학과 소프트웨어공학 강의자료

IT위키 시퀀스 다이어그램, https://itwiki.kr/w/%EC%8B%9C%ED%80%80%EC%8A%A4_%EB%8B%A4%EC%9D%B4%EC%96%B4%EA%B7%B8%EB%9E%A8

[UML] 시퀀스 다이어그램(Sequence Diagram), https://lxxyeon.tistory.com/89

[UML] 시퀀스 다이어그램(Sequence Diagram), https://brownbears.tistory.com/511

 

728x90

댓글