logo
김희준
김희준

Feb 04, 2024업데이트

통합 모델링 언어(UML, Unified Modeling Language)은 소프트웨어 공학에서 시스템 설계를 시각화하는 표준 방법을 제공하기 위한 범용 모델링 언어입니다. UML은 시스템 상호 작용, 업무 흐름, 객체간의 메시지 전달, 컴포넌트 관계 등을 표현할 수 있는 다이어그램으로 구성되어 있습니다. 그중 가장 일반적으로 사용하는 시퀀스 다이어그램(Sequence Diagram)에 관해 자세히 알아보겠습니다.

시퀀스 다이어그램1

출처: https://unsplash.com/

Part 1: 시퀀스 다이어그램에 관해 알아보기

1. 시퀀스 다이어그램이란

시퀀스 다이어그램은 시간의 흐름에 따라 객체들이 메시지를 주고받는 상호 작용을 명세히 나타내는 다이어그램입니다. 원하는 결과를 얻을 수 있는 이벤트 시퀀스를 정의하고 메시지가 발생하는 순서에 집중합니다. 시스템이 어떻게 작동할지 예측하거나 새로운 시스템을 모델링하는 과정에서 클래스가 수행해야 할 책임을 파악하는 데 도움이 됩니다.

시퀀스 다이어그램은 2차원 형태로 표기됩니다. 세로 축은 발생 호출 및 메시지 전달 순서를 나타내며 가로축은 메시지가 전송되기 위해 사용되는 객체 간의 호출을 나타냅니다.

시퀀스 다이어그램2

출처: https://www.softwareideas.net/

2. 시퀀스 다이어그램 작성 이점

  • 실시간 명세를 표현하는 데에 적합합니다.
  • 시스템 흐름을 시각화하여 절차, 기능, 작업 로직을 모델링합니다.
  • 개체와 구성 요소가 서로 어떻게 상호 작용하고 프로세스를 완료하는지 확인할 수 있습니다.
  • 기존 혹은 새로운 시스템의 복잡한 시나리오를 기획하고 이해하기 쉬워집니다.

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

시퀀스 다이어그램은 라이프라인으로 표시되는 객체와 상호작용 중 시간이 지남에 따라 객체가 교환하는 메시지 그룹으로 이루어집니다. 시퀀스 다이어그램을 구성하는 요소를 알아보겠습니다.

시퀀스 다이어그램3

구성 요소 의미
액터-액터 시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부 시스템을 의미합니다.
객체-Object 객체는 메시지를 주고받는 주체이며 유효한 객체는 라이프라인을 가집니다. 박스 안에 객체 이름을 표시하고 박스 아래로 뻗어 수직 점선으로 생명선을 표시합니다.
생명선-Lifeline 생명선은 객체의 생성, 소멸, 활성화 상태를 표현하여 객체가 얼마나 오래 존재하는지를 알 수 있습니다. 객체 소멸(X)가 표시된 기간까지 존재합니다.
실행--Activation 실행은 객체가 다른 객체와 상호작용하며 활성화되고 있음을 나타냅니다. 생명선 위에 직사각형으로 표시하며 직사각형 길이가 길수록 수행 기간이 길다는 걸 의미합니다. 직사각형에 화살표로 연결하여 다른 객체와 주고받는 메시지 등을 표시합니다.
메시지-Message 객체 간 상호 작용은 메시지 교환으로 이루어집니다. 요청(Request)과 응답(Respond)로 구분되며 요청 메시지는 실선, 응답 메시지는 점선으로 화살표 표시합니다.

4. 시퀀스 다이어그램 메시지 유형

시퀀스 다이어그램8

유형 의미
동기 메시지--Synchronous Message 요청을 보낸 뒤 응답이 올 때까지 기다립니다. 프로그램 내 일반적인 함수 호출과 동일한 동작 방식의 메시지를 표현합니다. 동기 메시지 호출은 꽉찬 화살표에 실선으로 표시합니다.
비동기 메시지--Asynchronous Message 요청을 보낸 뒤 응답을 기다리지 않습니다. 전송 객체의 호출만을 표시하며 일반적으로 개별 스레드 간 통신하거나 새로운 스레드의 생성에 사용됩니다. 비동기 메시지 호출은 빈 화살표에 실선으로 표시합니다.
자체 메시지--Self Message 자신에게 보내는 메시지입니다. 생명선으로 회귀하는 화살표를 그립니다.
반환 메시지--Reply/Return Message 이전 호출의 반환을 기다리는 객체에게 다시 반환되는 메시지입니다. 반환 메시지는 빈 화살표 점선으로 표시합니다.

5. 시퀀스 다이어그램 예제

온라인 쇼핑 장바구니 시퀀스 다이어그램

시퀀스 다이어그램9

출처: https://itsourcecode.com/

  • 은행 ATM 시스템 시퀀스 다이어그램

시퀀스 다이어그램10

출처: https://support.microsoft.com/

  • 병원 관리 시스템 시퀀스 다이어그램

    시퀀스 다이어그램11

출처: https://www.lucidchart.com/

Part 2: 시퀀스 다이어그램 그리는 법

온라인 시퀀스 다이어그램 툴인 Boardmix를 사용하면 손쉽게 시퀀스 다이어그램을 그리고 팀원들에게 공유하여 실시간 협업할 수 있습니다. Boardmix는 프로그램 설치하는 번거로움 없이 웹 브라우저만 있으면 언제 어디서든지 무료로 이용할 수 있습니다. 초보자도 이용하기 쉬운 깔끔한 인터페이스에 직관적인 기능을 제공하기 때문에 몇번의 클릭만으로 시퀀스 다이어그램을 그릴 수 있습니다.

시퀀스 다이어그램12

무료 시험판

‘New Whiteboard’를 눌러작업 보드로 이동합니다.

시퀀스 다이어그램13

화이트보드에 포스트잇을 붙이듯이 아이디어를 시각화할 수 있는 툴이기 때문에 원하는대로 시퀀스 다이어그램을 그릴 수 있습니다. 좌측 메뉴에서 도형 아이콘을 클릭하고 UML를 선택한 후 시퀀스 다이어그램 기호를 끌어다 놓습니다. 객체, 메시지 등 간략하게 설명을 적습니다.

시퀀스 다이어그램14

이 외에도 도형, 스티커, 메모 등을 추가할 수 있습니다. 팀원들이 시스템을 이해하는 데에 도움되도록 레퍼런스 파일도 첨부할 수도 있습니다. Boardmix의 보드는 무제한 확장되고 용량 걱정없이 자료를 첨부할 수 있기 때문에 자유롭게 아이디어를 공유할 수 있습니다.

시퀀스 다이어그램15

보드 우측 상단 ‘Share’를 눌러 팀원에게 시퀀스 다이어그램을 공유할 수 있습니다. 초대 받은 팀원은 편집하거나 댓글을 작성할 수 있으며 이곳에서 채팅하고 화상 회의까지 진행할 수 있습니다.

시퀀스 다이어그램16

정리하며

기능을 명세하고 시스템 흐름을 시각화하는 시퀀스 다이어그램이 무엇인지 자세히 알아보고 손쉽게 그릴 수 있는 시퀀스 다이어그램 툴까지 알아보았습니다. 표준화된 약속 기호로 시퀀스 다이어그램을 그리지만 회사 내부적으로 사용하고 있는 공통 규칙이 있다면 그에 맞춰 통일성있게 그려야 합니다. 무한 확장 보드에서 자유롭게 시퀀스 다이어그램을 그릴 수 있는 Boardmix를 활용한다면 효율적으로 작업할 수 있을 겁니다.Boardmix에서 풍부한 리소스, 다양한 템플릿, 무제한 클라우드 용량, 효율적인 협업 기능까지 마음껏 활용해보세요.

무료 이용 arrow

go to back
twitter share
facebook share