[ETC.] 시퀀스 다이어그램 작성법 & 예제 총정리

     시퀀스 다이어그램이란? 

    시퀀스 다이어그램은 UML 다이어그램의 한 종류로 시스템이나 객체들이 메세지를 주고받으며 상호 작용하는 과정을 표현하는 행위 다이어그램입니다. 현재 구축되어 있는 시스템이 어떻게 동작하고 있는지 표현하거나 신규 개발해야 할 시스템이 어떠한 시나리오로 흘러갈 지 쉽게 표현할 수 있어 자주 사용됩니다.

    • 각 동작에 참여하는 시스템이나 객체들의 수행기간을 확인할 수 있음
    • 메시지의 명확한 순서를 확인할 수 있음
    • 전반적인 시스템 흐름을 시각화 시킬 수 있음
    • 실시간 명세의 표현에 적합함
    • 복잡한 시나리오의 표현에 적합함

     

    시퀀스 다이어그램 툴

    시퀀스 다이어그램을 그릴 수 있는 툴은 GitMind, Lucidchart, Visual Paradigm 등등 다양한 종류의 툴이 있지만 가볍게 그리는 용도라면 아래에 링크 된 diagrams.net 사이트에 접속하셔서 그리는것도 좋습니다. 시퀀스 다이어그램을 포함한 다양한 UML 다이어그램을 그릴 수 있습니다.
    https://app.diagrams.net/


     시퀀스 다이어그램 구성요소 

    구성 요소 표현 방법 내용
    액터
    시스템으로부터 서비스를 요청하는 외부 요소로, 사람이나 외부 시스템을 뜻함
    객체
    메시지를 주고받는 주체
    생명선
    객체가 메모리에 존재하는 기가느로, 객체 아래쪽에 점선을 그어 표현함
    객체 소멸(X)이 표시된 기간까지 존재함
    실행 상자
    객체가 메시지를 주고받으며 구동되고 있음을 표현함
    메세지
    객체가 상호 작용을 위해 주고받는 메시지
    객체 소멸
    해당 객체가 더이상 메모리에 존재하지 않음을 표현한 것
    프레임
    다이어그램의 전체 또는 일부를 묶어 표현한 것

     

    생명선(Lifeline)

    생명선(Lifeline)은 액터나 객체(Object)가 얼마나 오래 존재하는지 나타내는 선입니다. 액터나 객체가 위에 존재하고 그 아래로 점선으로 존재합니다. 점선이 이어져있는 곳 까지가 메모리에 살아있다는 뜻이고 메모리에서 객체가 소멸되면 생명선 아래에 X표로 객체 소멸 표시를 해줍니다.

     

    실행 상자

    실행상자는 액터나 객체와 같은 인스턴스가 다른 인스턴스와 상호작용을 할 때 작성하며 작성법은 라이프라인의 중앙에 위와 같이 직사각형의 막대로 표기합니다.

     

    메세지

    유형 표현 방법 내용
    동기 메시지
    동기적으로 메시지를 전송함
    비동기 메시지
    비동기적으로 메시지를 전송함
    동기 반환 메시지
    동기적으로 메시지 호출을 반환함
    비동기 반환 메시지
    비동기적으로 메시지 호출을 반환함

    메시지는 인스턴스 간 주고 받은 데이터를 나타냅니다. 호출은 실선, 응답은 점선으로 표기하며 동기 메시지는 화살표를 채우고 비동기식 메시지는 화살표를 비워둡니다.

     

    동기 호출

    동기 호출은 요청을 보낸 뒤 응답이 올때까지 기다립니다. 동기 호출 메시지는 꽉찬 화살표에 실선으로 표기하며 동기 응답은 꽉찬 화살표에 점선, 비동기 응답은 빈 화살표에 점선으로 표시합니다.

     

    비동기 호출

    비동기 호출은 빈 화살표에 실선으로 표기하며 요청을 보낸 뒤 응답을 기다리지 않습니다.

    자체 메시지

    자체적으로 동작을 처리할때는 자체 메시지를 사용합니다. 자체 메시지는 본인의 생명선으로 회귀하는 화살표를 그립니다.

     

     시퀀스 다이어그램 예시 

    쇼핑몰 사이트에서 고객이 상품을 장바구니에 담고 결제를 하는 프로세스를 시퀀스 다이어그램으로 작성해보았습니다.

     

    시퀀스 다이어그램은 명확한 표준을 지키기보다는 그 회사의 기준에 따라서 그리는것이 좋습니다. 어떤 회사는 액터도 객체로 표현하는 경우도 많고 편의상 객체소멸 표시도 잘 안하는 경우도 있습니다. 만약 여러분이 시퀀스 다이어그램을 많이 그려야 할 상황이라면 명확한 표준을 지키는것도 중요하지만 회사 내부적으로 사용하고 있는 공통 규칙이 있다면 거기에 맞춰 시퀀스 다이어그램을 통일성 있게 작성하는것이 좋겠습니다.

    댓글

    Designed by JB FACTORY