활동 다이어그램 개요 및 구성요소
1. 활동 다이어그램 정의
- 활동 다이어그램(Activity Diagram)은 사용자 관점에서 시스템이 수행하는 기능의 처리 흐름을 순서에 따라 시각적으로 표현한 UML 다이어그램입니다.
- 특징:
- 하나의 유스케이스 안에서 또는 유스케이스 사이의 복잡한 처리 흐름을 명확히 표현.
- 순서도와 유사하며, 객체의 상태가 아닌 조건에 따른 흐름을 강조.
- 자료 흐름도(DFD)와도 유사한 형태.
2. 활동 다이어그램의 구성 요소
2.1. 액션(Action)과 액티비티(Activity)
-
액션(Action)
- 더 이상 분해할 수 없는 단위 작업.
- 표시: 직사각형으로 표현.
- 예: "로그인 클릭", "결제 버튼 누름".
-
액티비티(Activity)
- 여러 액션으로 분리될 수 있는 작업.
- 표시: 둥근 직사각형.
- 예: "회원 정보 입력" → 이름, ID, 패스워드 입력으로 분리 가능.
2.2. 시작(Start)과 종료(End)
- 시작 노드: 활동의 시작 지점을 나타냄.
- 종료 노드: 활동의 끝 지점을 나타냄.
2.3. 조건 판단 노드(Decision Node)
- 조건에 따라 흐름을 분기시키는 노드.
- 표시: 마름모.
- 특징: 들어오는 흐름은 1개, 나가는 흐름은 2개 이상.
- 예: "회원 정보가 올바른가?" → "예", "아니오"로 분기.
2.4. 병합 노드(Merge Node)
- 여러 흐름을 하나로 합침.
- 표시: 마름모.
- 특징: 들어오는 흐름은 2개 이상, 나가는 흐름은 1개.
- 예: "결제 인증 성공"과 "결제 재시도 성공"을 하나의 흐름으로 병합.
2.5. 포크 노드(Fork Node)
- 하나의 흐름을 여러 개로 분리.
- 표시: 굵은 선.
- 특징: 들어오는 흐름은 1개, 나가는 흐름은 여러 개.
- 예: "상품 주문" 후 제고 확인과 결제 진행을 병행.
2.6. 조인 노드(Join Node)
- 여러 개의 흐름을 하나로 병합.
- 표시: 굵은 선.
- 특징: 들어오는 흐름은 여러 개, 나가는 흐름은 1개.
- 예: "제고 확인 완료"와 "결제 완료"를 병합하여 주문 완료로 진행.
2.7. 수영 레인(Swimlane)
- 작업 주체를 구분하는 선.
- 표시: 수평 또는 수직의 실선.
- 역할: 특정 액티비티가 누가 수행하는 작업인지 시각적으로 명확히 구분.
- 예: 회원, 결제 시스템, 제고 시스템 각각의 레인.
3. 활동 다이어그램 예시

시나리오: 쇼핑몰 시스템의 상품 주문 처리
- 구성 요소:
- 수영 레인: 회원, 결제 시스템, 제고 시스템.
- 시작 노드: "상품 주문 시작".
- 액티비티: "회원 정보 입력", "상품 선택", "결제 인증".
- 조건 판단 노드: 회원 정보 검증(올바른지 판단).
- 포크 노드: "상품 선택" 후 결제 인증과 제고 확인 병행.
- 병합 노드: "결제 인증 성공"과 "제고 확인 성공" 병합.
- 종료 노드: "주문 완료".
4. 학습 포인트
- 활동 다이어그램의 핵심 개념:
- 시스템의 처리 흐름을 시각적으로 표현하여 복잡한 로직을 명확히 전달.
- 조건 판단, 병합, 포크, 조인 노드의 차이점 숙지.
- 시험 대비:
- 각 구성 요소의 역할과 표기법.
- 노드 간 흐름과 표현 방식 이해.
5. 정리
- 활동 다이어그램은 유스케이스의 내부 흐름 또는 유스케이스 간의 흐름을 표현하는 데 유용합니다.
- 구성 요소: 액션, 액티비티, 시작/종료 노드, 조건 판단 노드, 병합 노드, 포크 노드, 조인 노드, 수영 레인.
- 중요 개념: 사용자 관점, 처리 흐름 순서, 노드 간 차이점.