[DB] BPMN

김나영·2023년 3월 27일
2

DATABASE

목록 보기
6/9

BPMN

Business Process Modeling and Notation

비지니스 프로세스의 분석과 개선을 통해 궁극적으로 기업의 경쟁력을 확보하기 위함.
AS-IS 분석을 통해 TO-BE 모델을 만들어냄으로써 비지니스 프로세스의 효율화를 증대

  • BPMS : 비지니스 프로세스 관리 시스템

    • BPM을 실현해 주는 시스템. 다양한 솔루션이 존재
  • Business Process Modeling : 비지니스 프로세스 모델링

    • 업무 분석 단계에서 비지니스 요구사항들을 정리하고, 이를 개발 프로세스에서 사용할 수 있도록 정의하는 것
  • Business Process Modeling and Notation : OMG에서 주관하는 비지니스 프로세스를 모델링 하기 위한 국제 표준 표기법

  • 데이터모델링 (DATE MODELING) : 데이터 중심의 개발 방법론

BPMN 요소

TASK

작업을 수행하는 요소

아이콘이름설명
Task
추상작업
기본 Task
Send Task
수신 작업
메시지를 받을 때 사용
프로세스가 receive task에 도달하면 특정 메시지를 받을때 까지 대기
Receive Task
송신 작업
메시지를 보낼 때 사용
detail 속성으로 어떤 메시지를 보낼 지 결정함
Business Rule Task
비지니스 규칙 작업
특정한 규칙을 실행하는데 사용
User Task
사용자 작업
사용자에게 작업 할당.
프로세스가 User Task에 도달하면 해당하는 사용자나 그룹에게 작업이 할당.
사용자가 소프트웨어 프로그램을 사용해 작업을 수행해야 함을 의미.
Script Task
스크립트 작업
스크립트를 실행
Script Task가 실행되면 지정된 Script 코드를 실행함
Service Task
서비스 작업
Manual Task
수동 작업
프로세스 내부의 동작이 아닌 사람이 직접 손으로 해야 하는 일.
일반적으로 문서화 목적으로 사용.
다른 시퀀스와 연결 불가

GATEWAY

  • 프로세스의 논리적인 흐름을 정의하기 위해 프로세스를 분할하거나 병합하기 위한 용도로 사용
  • 조건에 따라 시퀀스를 나누거나 합침.
  • 조건은 화살표로 설정할 수 있다.
아이콘이름설명
배타적 데이터 기반
독점 게이트웨이
XOR조건
배타적 게이트웨이는 반드시 한 경로만 선택된다.
게이트웨이 생성시 만들어지는 기본 게이트웨이.
출구 조건을 갖는다.
배타적 이벤트 기반
이벤트 게이트웨이
배타적 게이트웨이는 반드시 한 경로만 선택된다.
이벤트를 기반으로 결정을 내리는 게이트웨이.
두개 이상의 나가는 시퀀스 흐름이 있어야한다.
출구 조건을 갖지 않는다.
포괄 게이트웨이
OR 조건
하나 혹은 그 이상의 경로로 분할되거나 병합한다.
독점 게이트웨이와 병렬 게이트웨이의 조합.
독점 게이크웨이처럼 나가는 시퀀스 흐름에 조건을 줄 수 있고 병렬 게이트웨이처럼 둘 이상의 시퀀스 흐름을 수신할 수 있다.
병렬 게이트웨이
AND 조건
두개 이상의 경로로 분할되어 동시에 실행.
모든 조건이 일치해야 하는 게이트웨이
복합 게이트웨이토큰을 처리하기 위한 임의의 규칙이 포함될 수 있다.
복잡한 프로세스 흐름을 분할하거나 병합하는데 사용한다.

Exclusive Gateway 배타적 게이트웨이

  • 하나의 경로만 선택되며, 프로세스를 분할하거나 병합하기 위해 사용
  • 빈 마름모 모양이나 마름모 안에 'X' 표시가 되어있는 마름모 기호 사용
  • 판단을 해야 하는 액티비티가 존재한다면 기본적으로 배타적 게이트웨이가 사용됨
  • 배타적게이트웨이 안에 질문이 포함될 수 있다
  • 하나의게이트웨이는 여러 출구를 가질 수 있으며 기본 출구도 정의될 수 있다

Parallel Gateway 병렬 게이트웨이

  • 프로세스가 두개 혹은 그 이상의 병렬 경로로 분할되어 동시에 실행되는 것을 표현하기 위한 게이트웨이
  • 논리적 'AND'에 해당하며, 마름모 기호 안에 ‘+’ 표시가 되어있는 기호를 사용한다.
  • 병렬 게이트웨이에 의해 분할된 경로는 병렬 게이트웨이에 의해 다시 합쳐진다.
  • 분할 병렬 게이트웨이는 각각의 시퀀스 플로우로 토큰을 복제한다.
  • 통합 병렬 게이트웨이는 모든 토큰들을 기다린 후 하나의 토큰으로 통합한다.

Inclusive Gateway 포괄적 게이트웨이

  • 하나 혹은 그 이상의 경로를 선택하거나 병합한다.
  • 논리적으로 'OR'에 해당하며, 마름모 기호 안에 동그라미 표시가 되어있는 기호를 사용한다.
  • 최소한 하나 이상의 어떠한 조합도 가능하다.
  • 분할 포괄적 게이트웨이의 송신 시퀀스 플로우는 조건이 함께 제시된다.
  • 모든 토큰들이 포괄적 병합 게이트웨이에 도착할 수 있는 것은 아니다.
  • 다른 분할 게이트웨이에 의해서 분할된 시퀀스 플로우를 병합할 수 있다.
  • 기본 시퀀스 플로우를 표현할 수 있으며 기본 시퀀스 플로우는 다른 시퀀스 플로우와 함께 사용될 수 없다.

Complex Gateway 복합 게이트웨이

  • 프로세스를 처리하기 위한 임의의 규칙을 포함할 수 있다.
  • 마름모 기호 안에 별표 표시가 되어있는 기호를 사용한다.
  • 시퀀스 플로우를 병합하는 것 뿐만 아니라 분할하는 데에도 사용될 수 있다.
  • 복잡한 규칙을 정의하기 위해 다수의 게이트웨이를 사용하는 것에 대한 대안이 될 수 있다.

EVENT

비지니스 프로세스에서 발생되는 하나의 사건을 표현하기 위해서 사용. 기간을 표시하지 않는다

  • 이벤트 발생 상황 예시
    • 프로세스의 시작과 끝
    • 메시지의 도착
    • 특정 시점의 도달
    • 특정 시간의 경과
    • 참으로 판명되는 조건
    • 오류 발생
아이콘이름
시작 이벤트
중간 이벤트
종료 이벤트

시작 이벤트

시작 이벤트표기설명
비형식 시작 이벤트가장 일반적인 이벤트로 시작의 주체는 중요하지 않거나, 정확히 알려져있지 않은 이벤트.
종종 상황을 보고 이벤트의 발생 주체를 알 수도 있다.
타이머 시작 이벤트특정 시점에 도달하는 경우에 발생하는 이벤트
메시지 수신 시작 이벤트메시지(전화, 이메일, 우편)가 도착하면 발생하는 이벤트
조건 시작 이벤트조건에 부합하면 (참이면) 발생하는 이벤트
신호 시작 이벤트메시지는 특정 수신자에게 전달되는데 반해서, 신호는 불특정 다수에게 전달되는 메시지다.
이러한 신호는 같은 풀이나 다른 풀 또는 다른 프로세스에서 발생할 수 있다.
다중 시작 이벤트여러 개의 이벤트를 가지고 있으면서 그들 중 하나라도 발생하면 프로세스가 시작되는 이벤트.
(OR 조건)
병렬 다중 시작 이벤트여러 개의 이벤트들이 모두 발생해야 프로세스가 시작되는 이벤트.
(AND 조건)

종료 이벤트

  • 송신 이벤트의 기호는 진하게 색칠되어있는 반면에 수신 이벤트의 기호는 같은 기호이지만 비어있는 형태를 취하게 된다.
종료 이벤트표기설명
비형식 종료 이벤트가장 일반적인 종료 이벤트로 토큰이 도착했을 때 그것을 제거.
여러 토큰들이 있는 경우 다른 토큰들은 계속해서 프로세스를 진행
메시지 종료 이벤트다른 프로세스에 메시지를 전달하고 프로세스를 종료하는 이벤트
종결 종료 이벤트단일 토큰을 제거할 뿐만 아니라 모든 프로세스들의 진행을 즉시 중지시키는 이벤트
신호 송신 종료 이벤트프로세스를 종료하면서 특정 신호를 발생
다중 송신 종료 이벤트프로세스의 끝에서 많은 결과들이 발생하게 되지만 다중종료 이벤트에 도달하게 되면, 해당 토큰은 종료되지만 정의된 모든 이벤트들이 발생

중간 이벤트

프로세스 안에서 어디든지 발생할 수 있는 이벤트들을 말하며, 기본 표기접은 이중선을 가진 원이다

  • 시작 이벤트는 수신만 가능 / 죵료 이벤트는 송신만 가능
  • 중간 이벤트는 송신 이벤트가 될 수도 있고, 수신 이벤트가 될 수도 있다

Collaboration

협업

중앙의 통제 없이 둘 혹은 그 이상의 프로세스간에 정의된 상호작용이라고 할 수 있으며, 각각의 프로세스는 독립된 풀에 속하게 된다

  • 여러 풀을 이용한 모델링
    궁극적으로 협업은 둘 혹은 그 이상의 풀을 이용해서 모델링되며, 각각의 풀은 메시지 교환을 통해서 소통한다
  • 협업 모델은 여러 회사간의 상호 협동을 문서화하기에 유용하지만, 협업을 통해 상호작용하는 컴퓨터 프로그램이나 기술 시스템을 표현할 수도 있다.
  • 통합 연출(Choreography) / 오케스트레이션(Orchestration) 모델이 있다

메시지 플로우 모델링

  • 메시지 플로우 (Message Flow) : 전화나 이메일, 팩스 혹은 편지 등을 포함한 모든 종류의 정보 교환을 표현한다.

Activity

  • 작업과 하위프로레스로 구현
  • 작업은 세분화되지 않는데 반해서 하위 프로세스는 구체적인 상세 프로세스를 포함
  • 하위 프로세스는 조그만 사각형 안에 플러스 표시로 정의되며 액티비티 하단에 위치
  • 액티비티에 정의된 작업이 여러번 반복되어야 하는 경우 반복 액티비티를 사용하며, 반복 액티비티는 동그란 모양의 되돌림 화살표 기호로 액티비티 하단에 표시된다.
  • 하위 프로세스도 역시 반복 액티비티로 정의될 수 있다.
  • 다중 인스턴스 액티비티는 실행되어야 하는 객체 집합을 다루는데 사용되며, 세 개의 수직선으로 표시된다.
  • 다중 인스턴스 액티비티도 실행될 요소를 지정하기 위한 속성을 가질 수 있으며, 주석을 사용할 수도 있다.

Exception Handling

방해 중간 이벤트

기존 프로세스의 흐름을 중단시키며, 액티비티의 가장 자리에 위치

비 방해 중간 이벤트

기존 프로세스의 흐름을 중단 시키지 않으며, 동그라미가 쉬라인으로 표현

오류 중간 이벤트

오류 발생으로 인한 예외처리를 해야하는 경우 오류 중간 이벤트가 사용될 수 있으며, 플래시 기호를 사용

  • 오류 이벤트는 당연히 방해 이벤트이다

보상 프로세스

보상 프로세스는 트랜잭션 없이도 모델링 될 수 있다.

트랜잭션

트랜잭션은 일반적으로 완성된 작업의 처리 단위를 말하는데 작업 내에 정의된 일들이 모두 처리되거나 처리되지 않아야 한다. All or Nothing

프로세스 안의 데이터 객체

데이터 플로우 모델링

  • 프로세스가 수행될 때 데이터, 정보, 파일, 문서 등이 만들어지거나 사용되며, 이를 표현하고자 하는것이 바로 데이터 플로우 모델링
  • 시퀀스 플로우는 액티비티간에 데이터 전송을 동반하게 되며, 메시지 플로우 또한 데이터 상호교환이 주된 목적
  • 프로세스 안의 모든 액티비티들은 어제든지 풀 안에 정의된 모든 데이터들에 대해 접근할 수 있어야 한다.

다중 데이터 객체

  • 데이터 목록이나 집합에 대한 모델링을 할 때 다중 데이터 객체를 통해서 표현
  • 다중 데이터 객체는 다중 인스턴스 액티비티처럼 3개의 수직 선으로 표시

Bizagi

https://www.bizagi.com/en

  • 다이어그램 : Model을 통해서 얻어진 결과물을 다이어그램이라고 한다.

사용법

이벤트 타입 선택 가능

디스크립션 추가 가능

서브프로세스 생성





  • UML : 통합 모델링 언어, 객체지향 프로그램 개발 방법론

  • UML에는 다양한 다이어그램이 존재


참고사이트
https://camunda.com/bpmn/reference/

profile
응애 나 애기 개발자

0개의 댓글