본문 바로가기
UML

시퀀스(Sequence) 다이어그램

by 개철 2023. 7. 17.

시퀀스 다이어그램이란?

특정 행동이 어떠한 순서로 어떤 객체와 어떻게 상호작용을 하는지 표현하는 행위 다이어그램

- 시스템이 어떤 시나리오로 움직이는지 나타내준다.

- API등의 유스케이스를 디테일하게 알 수 있고 타 시스템의 API 호출 등의 로직을 모델링할 수 있어 시나리오 파악에 용이하다.

 

구성요소

1. 객체와 생명선(Lifeline)

  • 객체(활동 주체)는 직사각형으로 표현
  • 라이프라인은 객체에서 이어지는 점선으로 표현
  • 점선은 위에서 아래로 갈수록 시간의 경과를 의미

2. 활성박스(Activation Box)

  • aka. 활성(Activation)
  • 생명선상에서 길다란 직사각형으로 표현
  • 현재 객체가 어떤 활동을 하고 있음을 의미

3. 메세지

메시지는 인스턴스 간 주고 받은 데이터로, 일반적으로 요청과 응답을 표현

아래와 같은 여러가지 종류가 있음

동기 메시지
(Synchronous message)
메시지 전송 객체가 계속하기 전까지 동기 메시지에 대한 응답을 기다림. 프로그램 내 일반적인 함수 호출과 동일한 동작 방식의 메시지를 표현
비동기 메시지
(Async message)
메시지 전송 객체가 계속하기 전까지 응답을 요구하기 않는 메시지. 전송 객체의 호출만을 표시.보통 개별 쓰레드 간의 통신 및 새 쓰레드의 생성에 사용
자체 메시지
(Self message)
자신에게 보낸 메시지입니다. 결과로 생성된 실행 발생이 전송 실행 위에 나타남.
반환 메시지
(Reply/Return message)
이전 호출의 반환을 기다리는 객체에게 다시 반환되는 메시지.

1) 동기 메세지

2) 비동기 메세지

3) 자체 메세지

4) 반환 메세지

4. 가드(Guard)

 - 단일 메세지에 대해 조건을 명시할 수 있는 방법

 - 메세지의 앞 쪽에 대괄호로 감싼 후 조건을 명시한다.

5. 프래그먼트(Fragment)

  • 시퀀스 다이어그램에서 범위를 명시하기 위한 표현
  • 여러 생명선과 활성을 포괄적으로 감싸는 박스형태로 표현되며, 반복이나 대안 등 설정 가능

1) 옵션(Option)

 - if문을 Guard를 사용해 표현할 수 있다.

 - 조건에 따라 선택사항이 단 하나일 때 사용한다.

2) 반복(Loop)

 - 로직에서 for, while과 같은 반복문을 표현할 때 사용한다.

3) 대안(Alternative)

 - 로직에서 조건문인 ifelse문을 Guard를 사용해 표현할 수 있다.

 - 즉 조건에 따라 선택 사항이 여러개일 대 사용한다.

4) 병렬(Parallel)

'UML' 카테고리의 다른 글

유스케이스(Usecase) 다이어그램  (0) 2023.07.17