본문 바로가기
Study/UML

[UML] 상태 머신 다이어그램(State Machine Diagram)

by 스테디코디스트 2023. 10. 10.
반응형

<상태 머신 다이어그램>

- 객체의 행동 다이어그램 중 하나

- 객체는 특정 상태를 지니며 이 상태는 이벤트와 같은 액션에 의해서 변경되는데, 이러한 객체의 상태와 상태의 변화를 도식화 한 다이어그램이 상태 머신 다이어그램이다.

- 상태 머신을 이용해 각 객체의 행동을 모델링한다.

 

<구성 요소>

1) 시작 마크(First State)

- 프로세스에서 처음 상태를 나타냄

- 해당 마크와 이어진 상태가 처음 상태임

 

2) 상태(State)

- 프로세스의 상태를 나타냄

- 둥근 모서리의 네모박스

 

3) 이벤트(Event)와 상태 변경/전이(Transition)

- 이벤트는 상태 변경을 일으키는 무언가를 뜻한다.

- 이벤트를 통해 외부에 의한 액션이 있을 수 있고, 아니면 시간의 경과에 따른 결과가 될 수도 있다.

- 기존 상태에서 새로운 상태로 변화하는 상태 전이가 이벤트에 의해서 일어남

- 내부전이와 외부전이가 있음

- 화살표로 상태 전이를 표시

 

4) 마무리(Terminator)

- 정상적으로 프로세스가 마무리 되었음을 나타냄

- 이 마크와 이어진 상태가 마지막 상태임

 

5) 종료 지점(Exit point)

- 마무리와 종료 지점은 다름

- 종료 지점은 에러나 특정 이슈로 인해 정상적인 마무리를 하지 못했을 경우를 나타냄

 

6) 분기 지점(Choice pseudostate)

- 경우의 수에 따라 로직이 달라지는 경우에 사용

 

7) 조합 상태(Composite state)

- 메인 상태 프로세스는 아니지만 필요한 서브 프로세스가 있을 경우 해당 서브 프로세스를 나타내기 위해 사용됨

8) 가드(Guard)

- 이벤트가 상태 전이가 되기위한 조건을 만족하면 상태 전이를 시키는 조건을 나타냄

- [] 사이에 조건을 넣어 표시

<예제>