통합 모델링 언어(UML, Unified Modeling Language)은 소프트웨어 공학에서 시스템 설계를 시각화하는 표준 방법을 제공하기 위한 범용 모델링 언어입니다. UML은 시스템 상호 작용, 업무 흐름, 객체간의 메시지 전달, 컴포넌트 관계 등을 표현할 수 있는 다이어그램으로 구성되어 있습니다. 그중 가장 일반적으로 사용하는 시퀀스 다이어그램(Sequence Diagram)에 관해 자세히 알아보겠습니다.
출처: https://unsplash.com/
Part 1: 시퀀스 다이어그램에 관해 알아보기
1. 시퀀스 다이어그램이란
시퀀스 다이어그램은 시간의 흐름에 따라 객체들이 메시지를 주고받는 상호 작용을 명세히 나타내는 다이어그램입니다. 원하는 결과를 얻을 수 있는 이벤트 시퀀스를 정의하고 메시지가 발생하는 순서에 집중합니다. 시스템이 어떻게 작동할지 예측하거나 새로운 시스템을 모델링하는 과정에서 클래스가 수행해야 할 책임을 파악하는 데 도움이 됩니다.
시퀀스 다이어그램은 2차원 형태로 표기됩니다. 세로 축은 발생 호출 및 메시지 전달 순서를 나타내며 가로축은 메시지가 전송되기 위해 사용되는 객체 간의 호출을 나타냅니다.
출처: https://www.softwareideas.net/
2. 시퀀스 다이어그램 작성 이점
- 실시간 명세를 표현하는 데에 적합합니다.
- 시스템 흐름을 시각화하여 절차, 기능, 작업 로직을 모델링합니다.
- 개체와 구성 요소가 서로 어떻게 상호 작용하고 프로세스를 완료하는지 확인할 수 있습니다.
- 기존 혹은 새로운 시스템의 복잡한 시나리오를 기획하고 이해하기 쉬워집니다.
3. 시퀀스 다이어그램 구성 요소
시퀀스 다이어그램은 라이프라인으로 표시되는 객체와 상호작용 중 시간이 지남에 따라 객체가 교환하는 메시지 그룹으로 이루어집니다. 시퀀스 다이어그램을 구성하는 요소를 알아보겠습니다.
구성 요소 | 의미 |
---|---|
액터-액터 | 시스템으로부터 서비스를 요청하는 외부 요소로 사람이나 외부 시스템을 의미합니다. |
객체-Object | 객체는 메시지를 주고받는 주체이며 유효한 객체는 라이프라인을 가집니다. 박스 안에 객체 이름을 표시하고 박스 아래로 뻗어 수직 점선으로 생명선을 표시합니다. |
생명선-Lifeline | 생명선은 객체의 생성, 소멸, 활성화 상태를 표현하여 객체가 얼마나 오래 존재하는지를 알 수 있습니다. 객체 소멸(X)가 표시된 기간까지 존재합니다. |
실행--Activation | 실행은 객체가 다른 객체와 상호작용하며 활성화되고 있음을 나타냅니다. 생명선 위에 직사각형으로 표시하며 직사각형 길이가 길수록 수행 기간이 길다는 걸 의미합니다. 직사각형에 화살표로 연결하여 다른 객체와 주고받는 메시지 등을 표시합니다. |
메시지-Message | 객체 간 상호 작용은 메시지 교환으로 이루어집니다. 요청(Request)과 응답(Respond)로 구분되며 요청 메시지는 실선, 응답 메시지는 점선으로 화살표 표시합니다. |
4. 시퀀스 다이어그램 메시지 유형
유형 | 의미 |
---|---|
동기 메시지--Synchronous Message | 요청을 보낸 뒤 응답이 올 때까지 기다립니다. 프로그램 내 일반적인 함수 호출과 동일한 동작 방식의 메시지를 표현합니다. 동기 메시지 호출은 꽉찬 화살표에 실선으로 표시합니다. |
비동기 메시지--Asynchronous Message | 요청을 보낸 뒤 응답을 기다리지 않습니다. 전송 객체의 호출만을 표시하며 일반적으로 개별 스레드 간 통신하거나 새로운 스레드의 생성에 사용됩니다. 비동기 메시지 호출은 빈 화살표에 실선으로 표시합니다. |
자체 메시지--Self Message | 자신에게 보내는 메시지입니다. 생명선으로 회귀하는 화살표를 그립니다. |
반환 메시지--Reply/Return Message | 이전 호출의 반환을 기다리는 객체에게 다시 반환되는 메시지입니다. 반환 메시지는 빈 화살표 점선으로 표시합니다. |
5. 시퀀스 다이어그램 예제
온라인 쇼핑 장바구니 시퀀스 다이어그램
출처: https://itsourcecode.com/
- 은행 ATM 시스템 시퀀스 다이어그램
출처: https://support.microsoft.com/
- 병원 관리 시스템 시퀀스 다이어그램
출처: https://www.lucidchart.com/
Part 2: 시퀀스 다이어그램 그리는 법
온라인 시퀀스 다이어그램 툴인 Boardmix를 사용하면 손쉽게 시퀀스 다이어그램을 그리고 팀원들에게 공유하여 실시간 협업할 수 있습니다. Boardmix는 프로그램 설치하는 번거로움 없이 웹 브라우저만 있으면 언제 어디서든지 무료로 이용할 수 있습니다. 초보자도 이용하기 쉬운 깔끔한 인터페이스에 직관적인 기능을 제공하기 때문에 몇번의 클릭만으로 시퀀스 다이어그램을 그릴 수 있습니다.
‘New Whiteboard’를 눌러작업 보드로 이동합니다.
화이트보드에 포스트잇을 붙이듯이 아이디어를 시각화할 수 있는 툴이기 때문에 원하는대로 시퀀스 다이어그램을 그릴 수 있습니다. 좌측 메뉴에서 도형 아이콘을 클릭하고 UML를 선택한 후 시퀀스 다이어그램 기호를 끌어다 놓습니다. 객체, 메시지 등 간략하게 설명을 적습니다.
이 외에도 도형, 스티커, 메모 등을 추가할 수 있습니다. 팀원들이 시스템을 이해하는 데에 도움되도록 레퍼런스 파일도 첨부할 수도 있습니다. Boardmix의 보드는 무제한 확장되고 용량 걱정없이 자료를 첨부할 수 있기 때문에 자유롭게 아이디어를 공유할 수 있습니다.
보드 우측 상단 ‘Share’를 눌러 팀원에게 시퀀스 다이어그램을 공유할 수 있습니다. 초대 받은 팀원은 편집하거나 댓글을 작성할 수 있으며 이곳에서 채팅하고 화상 회의까지 진행할 수 있습니다.
정리하며
기능을 명세하고 시스템 흐름을 시각화하는 시퀀스 다이어그램이 무엇인지 자세히 알아보고 손쉽게 그릴 수 있는 시퀀스 다이어그램 툴까지 알아보았습니다. 표준화된 약속 기호로 시퀀스 다이어그램을 그리지만 회사 내부적으로 사용하고 있는 공통 규칙이 있다면 그에 맞춰 통일성있게 그려야 합니다. 무한 확장 보드에서 자유롭게 시퀀스 다이어그램을 그릴 수 있는 Boardmix를 활용한다면 효율적으로 작업할 수 있을 겁니다.Boardmix에서 풍부한 리소스, 다양한 템플릿, 무제한 클라우드 용량, 효율적인 협업 기능까지 마음껏 활용해보세요.