UML 활동 다이어그램으로 업무 흐름과 예외 경로 모델링하기

UML 활동 다이어그램의 액션, 제어 흐름, 포크·조인, 파티션, 객체 흐름을 활용해 업무와 시스템 프로세스의 병렬·예외 경로를 모델링하는 방법

2026-08-14 · 최초 발행 2025-10-31

업무와 시스템 절차를 같은 언어로 표현하는 방법

활동 다이어그램은 UML 기반의 절차 모델링 다이어그램이다. 상태 사이의 전이보다 작업 단위인 액션과 제어 흐름을 중심에 둔다. 비즈니스 프로세스와 소프트웨어 동작 모두에 적용할 수 있으며, 입력 조건부터 분기·병합, 병렬 수행, 동기화, 예외 처리, 객체 흐름까지 하나의 표기 체계 안에 담는다.

요구사항을 문장으로만 관리할 때 자주 남는 문제는 실패 경로와 역할 간 인계 지점이 흐려진다는 점이다. 활동 다이어그램에서는 가드 조건([condition])으로 분기 기준을 드러내고, 성공뿐 아니라 실패 경로도 명시해 해석의 여지를 줄인다.

흐름을 구성하는 표기와 책임 경계

절차는 액션, 초기·최종 노드, 제어 흐름으로 이어진다. 결정 노드와 병합 노드는 조건에 따라 갈라지고 다시 합쳐지는 경로를 표현한다. 이때 가드 조건이 어떤 데이터를 참조하는지, 언제 평가되는지를 함께 정해야 한다.

병렬 실행은 포크와 조인 노드로 다룬다. 토큰 기반 실행 의미론을 통해 실제 동시성을 모델링할 수 있고, 조인 조건으로 부분 완료를 허용할지와 동기화 기준을 정할 수 있다. 포크와 조인을 배치할 때는 데이터 경쟁 조건도 검토 대상이다.

파티션은 역할이나 시스템의 경계를 나누는 표기다. 인터페이스 경계와 핸드오프가 눈에 보이므로 책임을 확인하기 쉽다. 복잡한 흐름은 서브액티비티 호출로 계층화해 관리하고 재사용할 수 있다.

데이터 입출력은 Object Flow와 Pins로 명시한다. 이를 통해 입력·출력 계약을 분명하게 만들고, 상태가 바뀌는 지점과 변환 규칙을 추적한다. 취소, 타임아웃, 보상 같은 흐름은 Interruptible Region과 Exception Handler로 표현할 수 있다.

모델을 만들 때 확인할 범위와 흐름

먼저 시작·종료 조건, 외부 인터페이스, 성공·실패 기준을 정하고 핵심 시나리오와 예외 시나리오의 우선순위를 잡는다. 액션은 업무 용어를 바탕으로 동사-명사 형태로 정의한다. 예를 들어 “재고 확인”처럼 표현하되, 원자성 기준을 세워 과도하게 잘게 나누지 않는다.

그 다음 결정·병합, 루프, 종료 경로를 설계한다. 병렬 처리가 있다면 포크와 조인을 놓고 All/Any 조인 기준, 예외 발생 시 동작을 함께 정리한다. 입력·출력 객체와 상태 변경 지점, 외부 시스템의 API·이벤트·메시지 계약도 흐름과 맞는지 검토한다.

타임아웃, 장애, 규칙 위반은 별도 흐름으로 남긴다. 롤백 가능 여부와 보상 시퀀스를 정의한 뒤 토큰 흐름을 시뮬레이션해 미도달 노드와 끝나지 않는 경로를 찾는다. 마지막으로 파티션별 책임, 용어의 일관성을 정리한다.

주문 처리 흐름에 적용한 예시

물류결제 게이트웨이재고 시스템사용자/채널재고 있음재고 없음승인실패택배매장 픽업시작주문 접수재고 확인재고 예약백오더 등록결제 승인결제 확정재시도 또는 결제 수단 변경포장송장 발행배송 방식 선택택배 의뢰픽업 준비종료

이 흐름은 입력부터 처리, 출력까지의 단계를 나누고, 재고와 결제 조건에 따른 분기, 결제 실패 시 재시도 루프를 포함한다. 서브그래프는 파티션을 대신해 사용자·재고 시스템·결제 게이트웨이·물류의 역할 경계를 보여 준다.

검증에서는 모든 액션에 진입 및 이탈 경로가 있는지, 미도달·미종료 노드가 없는지 확인한다. 가드 조건은 상호 배타성과 완전성을 점검하고 Else 경로도 명시한다. 포크·조인의 균형, 데이터 경쟁 조건, 파티션 간 의존 규칙, 외부 인터페이스 계약의 일치 여부도 함께 본다.

운영 흐름을 문서화하는 장면

주문·결제·물류의 E2E 흐름에서는 전사 프로세스의 정합성과 SLA 기준을 검토하고, 타임아웃이나 부분취소 같은 예외를 설계하는 데 활용할 수 있다. 마이크로서비스 사이의 사가(Saga) 보상 흐름을 시각화하는 용도도 있다.

DevOps 파이프라인에서는 빌드→테스트→배포의 병렬화와 보안·품질 게이트를 정의하고, 롤백·핫픽스 경로를 모델링한다. 변경 승인 워크플로우와 감사 추적을 문서화할 때도 적합하다.

KYC와 온보딩 프로세스에서는 신원확인, 제재 목록 조회, 리스크 스코어링의 분기와 보완 요청·기한 초과 처리 경로를 남길 수 있다. 외부 데이터 제공자와 맺는 인터페이스 계약을 명세하는 데도 쓰인다.

제조와 RPA 자동화에서는 공정 간 핸드오프와 병목을 식별하고, 로봇 태스크와 사람 업무를 파티션으로 분리한다. 예지정비 알림→검증→작업지시의 흐름 역시 모델링 대상이 된다.

표기 밀도와 도구 선택의 균형

핵심 시나리오를 우선 표현하고 예외는 별도 서브액티비티로 분리하는 편이 읽기 쉽다. 기호를 과도하게 늘리지 않으며, 데이터는 Object Flow로 필요한 범위만 표시한다. 액션은 동사-명사형으로 통일하고 도메인 용어를 표준화하며, 단일 책임 원칙을 따른다.

포크와 조인은 동시성을 드러내지만 남용하면 해석 난이도가 높아진다. 병렬 흐름을 그리기 전에는 자원, 락, 순서 보장 같은 실운영 가정을 검증해야 한다.

업무 프로세스 중심의 모델에서 게이트웨이와 이벤트 표현이 풍부해야 한다면 BPMN이 적합하다. 반면 소프트웨어 워크플로우, 동시성, 예외 시뮬레이션에는 Activity Diagram을 선호할 수 있다.

역할·책임·인터페이스를 명확히 하면 커뮤니케이션 비용 3050% 절감이 추정된다. 예외 흐름과 경계 조건을 명시하면 결함 조기 발견은 2035% 향상될 수 있으며, 병렬 처리와 승인 게이트 최적화의 근거를 확보하면 배포 리드타임은 15~25% 단축될 수 있다. 표준화된 취소·보상 경로는 장애 복구 절차의 일관성도 높인다.

UML활동 다이어그램프로세스 모델링소프트웨어 설계업무 흐름