스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem

시퀀스 다이어그램(Sequence Diagram)

  • 어떠한 순서로 어떤 객체들과 어껗게 상호작용 했는지를 표현하는 다이어그램이다.
  • 현재 존재하는 시스템이 어떠한 시나리오로 움직이고 있는지를 나타내는데 장점을 가지고 있다.
  • 시퀀스 다이어그램을 이용하면 API들의 유스케이스를 디테일하게 알 수 있다.
  • 시나리오를 파악하기 좋다.
시퀀스 
서로 연관된 작은 사건들이 연쇄되어 이루어지는 내용상의 단위

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
Sequence Diagram

Life Line(생명선)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • 모델링 되는 객체의 인스턴스를 나타낸다.
  • 네모가 객체의 관점으로 표현했다면 클래스이고,
    서비스의 관점으로 표현했다면 컴포넌트가 된다.
  • 점선은 시간의 경과를 나타낸다.

컴포넌트 (Component)

웹 환경에서 일하다 보면 흔히 들을 수 있는 용어가 컴포넌트(Component)이다. 컴포넌트는 무엇을 의미하고 어떻게 다른지 알아보고자 한다. # 컴포넌트란?컴포넌트는 프로그래밍의 한 부분을 의미

record-than-remember.tistory.com

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem

Message(메시지)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • 서로 다른 객체간의 상호작용 혹은 의사소통 통신을 정의하는 요소이다.
  • 하나의 객체 라이프라인으로 부터 다른 객체 라이프라인까지 선+화살표로 표시되며 메시지는 그 선의 위에 표시
유형 내용
동기 메시지 (Sync message)  요청을 보낸 후 반환이 올때 까지 대기
비동기 메시지 (Async message) 요청을 보낸 다음 반환을 기다리지 않고 다른 작업을 수행
자체메시지 (Self message) 자기 자신에게 요청을 보냄
반환 메시지 (ReplyReturn message) 요청에 대해 메시지를 반환

동기 메시지 (Sync message) 

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • 동기 메시지는 실선과 꽉찬 화살표로 표현을 한다.
  • 동기 메시지이므로 요청을 보낸 후, 결과가 올 때까지 기다린다.

비동기 메시지 (Async message)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
요청을 보낸 후, 결과를 기다리지 않는다.
  • 실선과 선으로 이뤄진 화살표로 표현을 한다.
  • 비동기 메시지이므로 요청을 보낸 후, 결과를 기다리지 않는다.

자체메시지 (Self message)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
자체적으로 작업을 처리할때, 자체 메시지를 사용한다.

반환 메시지 (ReplyReturn message)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
동기 메시지에서 표현했던 것과 같이 요청에 대한 결과를 반환한다.

생성 메시지 (Create message)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
새로운 인스턴스가 생성될 때 보내는 메시지이다.

삭제 메시지 (delete message)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
인스턴스가 종료될 때 보내는 메시지이다.

Activation Box(활성박스)

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • 객체 라이프 라인위에 그려지는 박스로 이 박스 위에서 객체의 호출이 이루어진다
  • 객체의 특정 메소드 실행 혹은 정보 처리가 실행되고 있거나 다른 객체의 메소드가 종료되기를 기다리는 것을 나타낸다.

Guard & Sequence Fragments(흐름제어)

Guard 

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem

단일 메시지에 대해서 조건을 명시할 수 있는 방법이다.

메시지의 text의 앞쪽에 [ ]로 감싼 후 조건을 명시하면 된다.

Sequence Fragments

특정 부분에 대해서 일정 부분의 메시지를 반복하던지 조건을 명시하던지 할 때는 Sequence Fragnments가 명확 할 수 있다.

  • altern atives
  • options
  • loop

 Altern atives

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • 줄여서 alt로 표기한다.
  • if/else 구문을 나타낼 수 있다.

Options 

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • 줄여서 opt로 표기 할 수 있다.
  • if 구문을 나타낼 수 있다.

Loop

스프링 시퀀스 다이어그램 - seupeuling sikwonseu daieogeulaem
  • for문 또는 while문과 같은 loop 구문을 나타낼 수 있다.