상태 다이어그램(상태 머신 다이어그램이라고도 함)은 통합 모델링 언어(UML)에서 다양한 객체 간의 전환을 보여주는 행동 다이어그램의 한 종류입니다. 협업이 가능한 UML 다이어그램 소프트웨어를 활용해 지금 무료 Lucidchart 계정으로 나만의 상태 머신 다이어그램을 만들어 보세요!
UML 상태 다이어그램이란 무엇인가요?
상태 머신은 특정 시점의 객체 상태를 저장하고, 수신하는 입력에 따라 상태를 변경하거나 다른 작업을 유발할 수 있는 장치입니다. 상태는 객체의 행동 방식이 아니라 객체가 가질 수 있는 다양한 정보의 조합을 의미합니다. 객체의 서로 다른 상태를 이해하기 위해 가능한 모든 상태를 시각화하고 객체가 각 상태에 도달하는 과정을 보여줄 수 있으며, UML 상태 다이어그램을 사용하면 이를 효과적으로 수행할 수 있습니다.
각 상태 다이어그램은 일반적으로 시작 상태를 나타내는 속이 찬 원으로 시작하여 최종 상태를 나타내는 테두리가 있는 원으로 끝납니다. 하지만 명확한 시작점과 종료점이 있음에도 불구하고, 상태 다이어그램이 전반적인 이벤트 진행 과정을 파악하는 데 가장 적합한 도구는 아닐 수 있습니다. 그보다는 특정 종류의 행동, 특히 한 상태에서 다른 상태로의 전환을 시각화하는 데 유용합니다.
상태 다이어그램은 주로 상태와 전환을 묘사합니다. 상태는 상태 이름이 레이블로 지정된 모서리가 둥근 직사각형으로 표현됩니다. 전환은 한 상태에서 다른 상태로 흐르는 화살표로 표시되어 상태가 어떻게 변하는지 보여줍니다. 아래에서는 대학 생활을 나타낸 기본 다이어그램을 통해 이 두 요소가 작동하는 모습을 확인할 수 있습니다. Lucidchart의 UML 다이어그램 도구를 사용하면 모든 맞춤형 상태 머신 다이어그램을 디자인할 수 있습니다.
또한 Lucidchart의 코드로 다이어그램 만들기(Diagram as Code) 기능을 사용하면 그 어느 때보다 빠르고 간편합니다. Mermaid 코딩을 사용하여 상태 머신 다이어그램의 맞춤형 목업을 생성하고 Lucidchart 문서에 추가할 수 있습니다.
상태 다이어그램 활용 분야
대부분의 UML 다이어그램과 마찬가지로 상태 다이어그램도 다양한 용도로 사용됩니다. 주요 활용 분야는 다음과 같습니다:
- 반응형 시스템에서 이벤트 구동 객체 묘사
- 비즈니스 맥락에서 유스케이스 시나리오 시각화
- 객체가 수명 주기 동안 다양한 상태를 거쳐 이동하는 방식 설명
- 상태 머신의 전반적인 동작 또는 관련 상태 머신 세트의 동작 표시
상태 다이어그램 기호 및 구성 요소
상태 다이어그램에는 다른 다이어그램과 결합하는 경우를 비롯하여 다양한 도형을 포함할 수 있습니다. 다음은 가장 자주 접하게 되는 대표적인 도형들입니다.
복합 상태
내부에 하위 상태가 중첩되어 있는 상태입니다. 아래의 대학교 상태 다이어그램 예시를 참조하세요. 이 예시에서 '등록(Enrollment)'은 등록 프로세스의 다양한 하위 상태를 포함하므로 복합 상태에 해당합니다.
선택 준상태
결과가 분기되는 동적 조건을 나타내는 마름모 기호입니다.
이벤트
전환을 유발하는 사례로, 해당 전환 화살표 위에 표시됩니다. 이 예시에서는 '수업 종료(classes end)'가 '수업 중(Being taught)' 상태를 종료하고 '기말고사(Final exams)' 상태를 시작하도록 유발하는 이벤트입니다.
종료 지점
객체가 복합 상태 또는 상태 머신을 벗어나는 지점으로, X 표시가 있는 원으로 나타냅니다. 종료 지점은 일반적으로 프로세스가 완료되지 않았으나 오류나 기타 문제로 인해 탈출해야 할 때 사용됩니다.
시작 상태
프로세스의 첫 번째 상태를 나타내는 마커로, 전환 화살표가 있는 속이 찬 원으로 표시됩니다.
가드
전환을 허용하거나 중단하는 부울(Boolean) 조건으로, 전환 화살표 위에 작성됩니다.
상태
객체의 현재 성격을 나타내는 모서리가 둥근 직사각형입니다.
하위 상태
복합 상태의 영역 내에 포함된 상태입니다. 아래에 있는 대학교 상태 머신 다이어그램에서 '등록 가능(Open for enrollment)'은 더 큰 '등록(Enrollment)' 복합 상태 내의 하위 상태입니다.
종료자
프로세스가 종료되었음을 나타내는 내부에 점이 있는 원입니다.
전환
상태가 변경됨을 나타내는 한 상태에서 다른 상태로 이어지는 화살표입니다.
전환 행동
상태가 전환될 때 발생하는 행동으로, 전환 화살표 위에 작성됩니다.
트리거
객체를 한 상태에서 다른 상태로 적극적으로 이동시키는 메시지의 일종으로, 전환 화살표 위에 작성됩니다. 이 예시에서는 '예약 문제(Issue with reservation)'가 다음 단계 대신 공항 여행사로 사람을 보내는 트리거가 됩니다.
상태 다이어그램 예시
이 상태 머신 다이어그램 예시는 사용자가 캘린더에 일정을 예약하는 프로세스를 보여줍니다. '날짜 확인(Check date)' 복합 상태 내에서 시스템은 몇 가지 다른 하위 상태를 거치며 캘린더의 예약 가능 여부를 확인합니다. 캘린더에서 해당 시간에 예약이 불가능한 경우 프로세스가 종료됩니다. 반면 캘린더에 예약이 가능한 경우 일정이 캘린더에 추가됩니다.
대학교 상태 다이어그램 예시
이 상태 다이어그램은 대학교의 등록 및 수업 프로세스를 보여줍니다. '등록(Enrollment)' 복합 상태는 학생들이 등록 절차를 밟도록 안내하는 다양한 하위 상태로 구성됩니다. 등록이 완료되면 학생들은 '수업 중(Being taught)' 단계를 거쳐 최종적으로 '기말고사(Final exams)' 단계로 진행하게 됩니다.
공항 체크인 상태 다이어그램 예시
다음 예시는 공항에서 체크인하는 데 필요한 단계를 간소화한 것입니다. 항공사의 경우, 상태 다이어그램을 활용하면 프로세스를 효율화하고 불필요한 단계를 제거하는 데 도움이 됩니다.
UML 상태 머신 다이어그램 만드는 방법
일반적으로 상태 다이어그램으로 알려진 상태 머신 다이어그램은 프로세스 내에 존재하는 다양한 상태를 시각화하는 유용한 방법입니다. 상태 다이어그램은 관리자가 프로세스에서 불필요한 단계를 식별하고 프로세스를 간소화하여 고객 경험을 개선하는 데 도움이 됩니다.
1. Lucidchart 시작하기
나만의 상태 머신 다이어그램을 만들려면 무료 Lucidchart 계정에 가입하세요. 가입 후 빈 문서를 열고 UML 도형 라이브러리를 활성화합니다. 화면 왼쪽 상단의 '도형'을 클릭하고 'UML'을 체크하세요. 그러면 화면 왼쪽에 UML 도형 라이브러리가 나타납니다. 상태 다이어그램 라이브러리가 나올 때까지 아래로 스크롤한 다음, 검은색 원을 드래그하여 다이어그램을 시작합니다. 이 원은 시작 상태를 나타냅니다.
2. 구성 요소 파악하기
다이어그램의 목적이 무엇인지, 그리고 다이어그램으로 어떤 요소를 설명할지 파악합니다. 목적을 결정하는 데 도움이 되도록 상태 다이어그램의 주요 활용 분야를 소개합니다.
-
객체가 상태에서 상태로 이동하는 과정 묘사
-
반응형 시스템에서 이벤트 구동 객체가 작동하는 방식 표시
-
비즈니스 시나리오에 유스케이스 시퀀스를 적용하는 방법 검토
-
복잡한 상태 머신 또는 일련의 상태 머신에 대한 개요 제공
상태와 전환은 상태 다이어그램의 주요 요소입니다. 다이어그램에 포함해야 할 모든 상태의 목록을 작성하세요. 프로세스가 진행됨에 따라 사용자가 경험하게 될 모든 상태를 고려한 다음, 사용자가 해당 상태를 경험하도록 유도하는 전환과 이벤트를 생각해보세요. 예를 들어, 아래의 캘린더 상태 다이어그램 스니펫에서는 '일정 추가됨(Appointment added)' 상태가 실현되기 전에 일정이 캘린더에 추가되어야 합니다.
3. 도형 추가하기
시작 원 위에 마우스를 올릴 때 나타나는 빨간색 점 중 하나에서 마우스를 드래그하여 전환 화살표를 만듭니다. 이 화살표는 상태의 변화를 유도하고 프로세스 흐름의 방향을 가리키는 도형입니다. 화살표를 생성하면 에디터에서 연결할 새 도형을 선택하라는 메시지가 자동으로 표시됩니다. 모서리가 둥근 직사각형인 상태 도형을 선택하세요.
도형 레이블 지정
다음으로, 상태를 클릭하고 텍스트를 입력하여 레이블을 지정하기만 하면 됩니다. 전환 화살표에 메시지를 생성하려면 텍스트를 추가하려는 선을 더블 클릭하세요. 이벤트 및 트리거의 경우 전환 화살표 바로 위에 텍스트 상자를 직접 드래그하여 가져올 수도 있습니다.
선택 사항 추가
전환에 대해 여러 옵션을 표현해야 하는 경우 마름모 모양을 선택하여 준상태를 나타냅니다. 이 도형에서 여러 개의 전환 화살표를 그릴 수 있습니다.
다이어그램 완성하기
상태 다이어그램(또는 더 복잡한 다이어그램의 경우 상태 머신 중 하나)이 완료되면 테두리가 있는 원을 선택하여 최종 상태를 나타냅니다.
다이어그램 서식 지정
Lucidchart를 사용하면 다이어그램의 모든 세부 사항을 맞춤 설정하여 전문적이고 통일감 있는 디자인을 연출할 수 있습니다. 기본 윤곽을 잡은 후에는 선과 도형의 색상, 크기, 방향을 쉽게 변경할 수 있습니다.
4. 게시, 구현 및 공유
상태 머신 다이어그램의 진정한 가치는 다이어그램을 생성한 후 동료, 클래스메이트 등과 협업하고 공유할 때 발휘됩니다. 문서를 다운로드하려면 파일 > 다른 이름으로 다운로드로 이동하여 원하는 파일 형식을 선택하세요.
Lucidchart의 통합 기능 덕분에 완성된 결과물을 즐겨 찾는 애플리케이션에 추가할 수도 있습니다. 다이어그램을 Microsoft 또는 G Suite 문서에 포함하거나 Confluence와 같이 회사 전체가 공유하는 플랫폼에 추가해 보세요.
다른 사람들과 다이어그램을 공동 작업하려면 화면 오른쪽 상단의 주황색 '공유' 버튼을 클릭하세요. Lucidchart 사용자는 설정한 권한에 따라 문서를 보고 기여할 수 있으며, Lucidchart 사용자가 아닌 사람도 상태 머신 다이어그램을 볼 수 있습니다.

다이어그램을 만드는 데 필요한 모든 것
Lucidchart를 사용하여 세련되고 전문적인 다이어그램을 무료로 만들어 보세요. 구상 중인 내용이 무엇이든 이를 구현하는 데 필요한 도구가 준비되어 있습니다. 지금 계정을 만들고 다이어그램 작성을 시작해 보세요.
무료 가입