본문 바로가기
Concepts/UML

UML - 액티비티 다이어그램 - 시그널

by ocwokocw 2021. 2. 22.

- 이 글은 UML Distilled (마틴 파울러)책을 기반으로 작성하였습니다.

- 시그널

시간 시그널과 수신&전송 시그널이 존재한다. 시간 시그널은 시간흐름에 따라 발생하는 시그널이며, 외부 프로세스로 부터 이벤트를 수신하는 수신 시그널, 메시지를 보내고 더 진행하기전 응답이 올 때 까지 기다려야 할 때 유용한 송신 시그널이 있다.


- 시간 시그널(time signal)

시간 시그널은 시간의 흐름에 따라 발생하는 시그널이라고 하였다. StarUML 5.0 커뮤니티 버전에서는 Time Signal이 존재하지 않는다. 아래 다이어그램 중에서 모래시계 마크로 "every monday" 라고 되어있는것이 바로 시간 시그널이다.


- 수신 시그널

수신 시그널은 외부 프로세스로부터 이벤트를 수신하는것을 나타낸다. 아래 다이어그램에서 "택시 도착"은 수신 시그널에 해당한다. 만약 짐을 다 꾸렸더라도 택시가 도착하는 외부 시그널이 없다면 공항으로 출발할 수 없다. 이때 택시가 도착하는것은 내가 주체적으로 어떤 액션을 하는것이 아니라 외부 프로세스로 부터 이벤트를 수신하는하는 개념으로 수신 시그널을 사용하였다.


- 송신 시그널

아래 다이어그램에서 "일정 전송"에 해당하는 기호가 바로 송신 시그널이다. 액션을 써야할지 송신 시그널을 써야할지 약간 애매한 부분이 있긴하다.

 

아래 다이어그램에서는 일정 확정은 외부 프로세스를 대기하는 의미가 강하다. 기다리는 의미인 수신 시그널을 사용하였고, 이 외부 프로세스를 대기하는 일정 확정전에는 일정을 전송하는 행위가 일어나야 하는데, 일정 확정이 수신 시그널이므로, 일전 전송을 표현할 때 송신 시그널을 사용한것이다.

댓글