액티비티 다이어그램이란?
객체의 상태가 아닌 처리 로직이나 조건에 따른 처리흐름을 순서에 따라 정의한 다이어그램
- 로직, 절차, 흐름을 기술 (플로우 차트와 유사)
- 업무 프로세스, 코드 실행 로직을 표현할 때 주로 사용
- 분기 처리를 표현할 수 있는 다이어그램
예시
구성 요소
- 초기 노드 (검은색 원) : 활동의 시작을 나타낸다.
- 제어 흐름 (화살표) : 단계, 절차, 이동 순서를 연결한다.
- 액션(모서리가 둥근 사각형) : 어떤 일들의 처리와 실행을 의미한다.
- 끝 노드(이중 원) : 하나의 액티비티의 끝을 알린다.
- 결정 노드 : 분기 처리할 때 조건을 나타낸다.
- 조건 : 조건을 나타냄
- 병합 노드 : 분기처리로 흩어졌다가 다시 모일 때 사용한다 (생략하는 경우도 많음)
- 포크 노드 : 병렬로 실행되는 것을 표현. 동시처리 시작
- 조인 노드 : 다 실행되고 나서 이어서 실행할 때, 즉 위에 두 개의 노드가 다 실행되고 나서 실행한다. 동시 처리 끝
- 송신 시그널 : 출력 신호. 다른 활동에 메세지를 보내는 동작을 의미한다. 따라서 외부로 나가는 화살표로 표시
- 수신 시그널 : 입력 신호. 다른 활동으로부터 메시지를 받는 동작을 의미한다. 따라서 들어오는 화살표로 표시
- 시간 시그널 : 시간의 흐름에 따라 발생하는 시그널이다. 각 활동에 소요되는 시간을 알 수 있다.
- 확장 영역 : 목록을 조회하고 각 목록에 담겨있는 항목을 루프를 돌면서 처리하는 것, 확장 노드로부터 전달받은 것을 반복해서 다시 확장노드로 전달한다
- 확장 노드 : 목록 데이터를 받는다는 것을 표현
- 파티션 : 각각의 액션이나 액티비티가 어느 곳에서 실행되는지 확인이 가능하다. 실행하는 주체나 실행하는 시스템을 표현하고 싶을 때 파티션을 사용해 구분하면 된다.
정리
- 액티비티 다이어그램은 흐름, 병렬 실행을 표현할 때 유용하다
- 업무 흐름 분석
- 코드 실행 분석
- 논리적인 업무 분석 가능
- 레거시한 코드를 분석할 때 그려가며 분석하면서 이해하면 좋다
출처
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=umeo111&logNo=221164749223