# BPMN & BPM
## Conceitos
- Negócio (organização) refere-se a pessoas que interagem para executar um conjunto de atividades de entrega de valor para os clientes e gerar retorno.
- Processo de negócio é um trabalho que entrega valor diretamente para os clientes ou apoia outros processos
- Tarefa é a menor unidade de trabalho ou atividade que ocorre dentro de um processo. Ela representa uma ação simples e atômica, ou seja, que não pode ser decomposta em atividades menores dentro do diagrama BPMN.
- Subprocesso é uma atividade que pode ser decomposta em um conjunto de tarefas ou subprocessos menores.
### Tipos de Processos
- **Primários:** tipocamente inferfuncional que agrega valor diretamente para o cliente
- **Secundários ou de suporte:** Existem para prover suporte aos processos primários, ou provêm e outros de suporte ou gerenciamento.
- **Gerenciais:** Gerenciam outros processos de negócio. As capacidades de negócio que abrange desenhar, implementar, monitorar, controlar e melhorar continuamente processos de negócio são considerados processos gerenciais.
### Sobre BPMN e BPM
BPM (Business Process Management) é uma disciplina que foca na gestão e otimização dos processos de negócio. Ela envolve a análise, modelagem, simulação e otimização dos processos de negócios. Uma das suas principais funcionalidades é justamente a possibilidade de simular mudanças e identificar melhorias antes de implementá-las.
Já BPMN (Business Process Model and Notation) é uma notação gráfica usada para modelar esses processos, facilitando sua visualização e entendimento. Enquanto BPM é a prática geral de gestão de processos, BPMN é uma ferramenta usada para representar esses processos graficamente.
## Keywords
### Tarefas/Atividades
Representam o trabalho a ser realizado para atingir um objetivo específico. As atividades podem ser compostas ou atômicas. As compostas são conhecidas como subprocessos e
as atômicas como tarefas.

### Gateways
Representa uma exceção no processo. Pode representar também alguma regra ou decisão a ser tomada. Utilizada também para juntar fluxos.

#### Tipos
- **Exclusivo:** Sempre tomará somente um caminho, semelhante a um *if*. Ele sempre contempla apenas uma condição em um fluxo.
<div align="center">
<img src="https://hackmd.io/_uploads/S1_U0fNkke.png" width="180" height="180"/>
</div>
- **Paralelo:** Dois ou mais caminhos são seguidos obrigatoriamente.
<div align="center">
<img src="https://hackmd.io/_uploads/HkdTRfEJyl.png" width="180" height="180"/>
</div>
- **Inclusivo:** Representa a tomada de um dos caminhos ou de ambos por meio de condições.
<div align="center">
<img src="https://hackmd.io/_uploads/rkEEy7Nk1x.png" width="180" height="180"/>
</div>
- **Baseado em Eventos:** Essa forma de controle é usada em pontos onde o gateway se baseia em mensagens ou eventos externos. Ele controla a execução de atividades, que permanecem disponíveis até que um dos eventos seja acionado.
<div align="center">
<img src="https://hackmd.io/_uploads/S1OxgX4yyl.png" width="300" height="180"/>
</div>
### Eventos
Utilizado para destacar uma determinada ocorrência em um processo. São classificados como de início, intermediários e fim.
#### Tipos
- **Início:** Marca o início do processo em questão
- **Intermediário:**
- **Fim:** Marca o fim de todo o processo.
### Data-objects
Fornecem descrição visual das informações que são utilizadas e produzidas ao longo do processo.

### Pools e Lanes
- **Pools:** Identifica o processo
- **Lanes:** Identifica os papeis que executam as atividades desse processo

- **Pool (piscina) caixa branca:** é o tipo de piscina que permite que processos internos de uma organização ou departamento sejam totalmente visíveis para outras partes envolvidas.
- **Pool caixa preta:** A piscina caixa preta oculta os processos internos de uma organização ou departamento. A única coisa visível é o nome da piscina e suas interações externas (mensagens, eventos, etc.), mas nenhuma atividade interna dentro da piscina é exibida.
### Fluxos
Representam caminhos e interações do nosso processo.
#### Tipos
- **Fluxo de Sequência:** Representa a ordem sequencial do fluxo das atividades. 
- **Fluxo de Mensagens:** Representa o fluxo das mensagens entre o emissor e receptor. 
- **Associação:** Utilizada para associar dados, texto e outros artefatos aos objetos do fluxo, mostrando entradas e saídas das atividades. 