상태 다이어그램(혹은 상태 머신 다이어그램)은 다양한 개체 간의 전환을 표시하는 통합 모델링 언어(UML)의 작동 다이어그램 유형입니다. 오늘 무료로 Lucidchart 계정을 만들고 당사의 협업 UML 다이어그램 소프트웨어를 사용하여 나만의 상태 머신 다이어그램을 구축해보세요!
2 분 읽기
직접 UML 다이어그램을 만들고 싶으신가요? Lucidchart를 사용해보세요. 빠르고 사용이 간편하며 무료로 제공됩니다.
UML의 상태 다이어그램이 무엇인가요?
상태 머신은 주어진 시간에 개체의 상태를 저장하고 상태를 변경하거나 수신하는 입력에 따라 다른 조치를 수행할 수 있는 장치입니다. 상태는 개체가 작동하는 방식이 아닌 개체가 보유할 수 있는 정보의 다른 조합을 의미합니다. 개체의 다양한 상태를 이해하기 위해, 가능한 모든 상태를 시각화하고 개체가 각 상태에 어떻게 도달하는지 표시하고 싶을 때, UML 상태 다이어그램을 사용하여 이를 수행할 수 있습니다.
각 상태 다이어그램은 일반적으로 초기 상태를 나타내는 어두운 원으로 시작하고 최종 상태를 나타내는 테투리가 있는 원으로 종료됩니다. 그러나, 명확한 시작 및 종료 지점이 있음에도 불구하고 상태 다이어그램은 이벤트의 전체 진행 상황을 캡처하기 위한 최상의 도구는 아닙니다. 오히려 한 상태에서 다른 상태로 전환하는 것과 같은 특정한 종류의 동작을 보여줍니다.
상태 다이어그램은 주로 상태와 전환을 묘사합니다. 상태는 상태의 이름으로 라벨이 지정된 모서리가 둥근 직사각형으로 표시됩니다. 전환은 한 상태에서 다른 상태로 흐르는 화살표로 표시되며 상태가 어떻게 변화하는지를 보여줍니다. 아래의 학교생활에 대한 기본 다이어그램에서 이러한 두 가지 요소가 작동하는 과정을 볼 수 있습니다. 당사의 UML 다이어그램 도구를 사용하여 모든 맞춤형 상태 다이어그램을 설계할 수 있습니다.
상태 다이어그램 적용 사례
대부분의 UML 다이어그램과 마찬가지로 상태 다이어그램은 몇 가지 용도로 사용됩니다. 주요 적용 사례는 다음과 같습니다.
-
반응형 시스템에서 이벤트 기반의 객체를 묘사합니다.
-
비즈니스 상황에서 사용 사례 시나리오를 보여줍니다.
-
객체가 객체의 수명 주기 내에서 다양한 상태로 이동하는 과정을 묘사합니다.
-
상태 머신의 전체적인 동작 또는 관련된 일련의 상태 머신 동작을 표시합니다.
직접 UML 다이어그램을 만들고 싶으신가요? Lucidchart를 사용해보세요. 빠르고 사용이 간편하며 무료로 제공됩니다.
UML 다이어그램 만들기상태 다이어그램 기호 및 구성 요소
특히 다른 다이어그램과 결합하는 것을 선택하는 경우 상태 다이어그램에 여러 다른 모양을 포함시킬 수 있습니다. 이 목록에는 발생할 수 있는 가장 일반적인 모양이 요약되어 있습니다.
복합 상태
중첩된 하위 상태를 포함하는 상태입니다. 아래의 대학 상태 다이어그램 예시를 참조하세요. '등록'은 등록 프로세스에서 다양한 하위 상태를 포함하기 때문에 이 예시에서 복합 상태입니다.
의사상태 선택
여러 가지로 나뉜 잠재적 결과가 있는 동적 조건을 나타내는 다이아몬드 기호입니다.
이벤트
전환을 트리거하는 인스턴스로서 해당 전환 화살표 위에 라 벨이 지정되어 있습니다. 이 사례에서 '수업 종료' 는 '수업 진행' 상태의 마지막과 '기말고사' 상태의 시작을 트리거하는 이벤트입니다.
종료 지점
객체가 복합 상태 또는 상태 머신을 빠져나가는 지점이며 X가 관통하는 원으로 표시됩니다. 종료 지점은 일반적으로 프로세스가 완료되지 않았지만 일부 오류 또는 다른 문제로 인해 이스케이프되어야 하는 경우에 사용됩니다.
처음 상태
프로세스의 첫 번째 상태를 표시하면, 전환 화살표가 있는 어두운 원으로 표시됩니다.
가드
전환을 허용하거나 중지하는 부울 조건이며, 전환 화살표 위에 기록됩니다.
상태
객체의 현재 특성을 나타내는 모서리가 둥근 직사각형입니다.
하위 상태
복합 상태 영역 내에 포함된 상태입니다. 아래의 대학 상태 머신 다이어그램에서는 '등록 모집'이 상위 '등록' 복합 상태의 하위 상태입니다.
터미네이터
프로세스가 종료되었음을 나타내는 점이 있는 원입니다.
전환
상태 변화를 표시하는 한 상태에서 다른 상태로 이동하는 화살표입니다.
전환 동작
상태 전환이 발생할 때 나타나는 동작으로, 전환 화살표 위에 기록됩니다.
트리거
상태 간의 객체 이동을 적극적으로 보여주는 메시지 유형으로서, 전환 화살표 위에 기록됩니다. 이 예시에서는 '예약과 관련한 문제'가 개인을 프로세스의 다음 단계가 아닌 공항의 여행사에 보내게 하는 트리거입니다.
상태 다이어그램 예시
달력 가용성 상태 다이어그램 예시
이 상태 머신 다이어그램 예시는 개인이 달력에서 일정을 설정하는 프로세스를 보여줍니다. '날짜 확인' 복합 상태에서 시스템은 달력에서 몇 가지 다른 하위 상태의 가용성을 확인합니다. 달력에서 가능한 시간이 없는 경우 프로세스가 이스케이프됩니다. 그러나 달력에 가능한 시간대가 있는 경우 일정이 달력에 추가됩니다.
대학 상태 다이어그램 예시
이 상태 다이어그램은 대학의 등록 및 수업 프로세스를 표시합니다. '등록' 복합 상태는 학생들을 등록 프로세스로 이어 줄 여러 하위 상태로 구성되어 있습니다. 학생들이 등록을 마치면, '수업 진행'과 마지막 단계인 '기말고사'로 진행됩니다.