# Business Process Model and Notation

O Business Process Model and Notation (BPMN) (em português Modelo e Notação de Processos de Negócio), anteriormente conhecido como Business Process Modeling Notation, (em português Notação de Modelagem de Processos de Negócio) é uma notação da metodologia de gerenciamento de processos de negócio e trata-se de uma série de ícones padrões para o desenho de processos, o que facilita o entendimento do usuário. A modelagem é uma etapa importante da automação pois é nela que os processos são descobertos e desenhados. É nela também que pode ser feita alguma alteração no percurso do processo visando a sua otimização. A notação também pode ser utilizada para a modelagem de Arquitetura de Processos.
Foi desenvolvido pela Business Process Management Initiative (BPMI) para unificar a forma com que as empresas faziam a modelagem de seus processos, pois cada organização possuía sua própria notação, dificultando a vida de usuários e clientes. Atualmente é mantida pelo Object Management Group já que as duas organizações se fundiram em 2005. Em março de 2011, a versão atual do BPMN é a 2.0.
A BPMN, desde o início, foi apoiada por várias empresas de renome mundial no segmento de modelagem de processos, sendo uma resposta independente de fornecedor de solução à demanda de modelagem de processos. $^[$

## Visão geral

A Notação de Modelagem de Processos de Negócio é um padrão para modelagem de processos de negócios e fornece uma notação gráfica para a especificação de processos de negócios em um Business Process Diagram (BPD), ou Diagrama de Processos de Negócio, baseado em uma técnica de fluxograma muito semelhante ao de diagramas de atividades da Unified Modeling Language (UML). O objetivo do BPMN é de apoiar a gestão de processos de negócios tanto para usuários técnicos e usuários de negócios, fornecendo uma notação que é intuitiva para os usuários corporativos ainda capaz de representar a semântica complexa do processo. A especificação BPMN também fornece um mapeamento entre os gráficos da notação para as construções subjacentes de linguagens de execução, particularmente a Business Process Execution Language.
O principal objetivo do BPMN é fornecer uma notação padrão que seja facilmente compreensível por todos os intervenientes do negócio. Estas partes interessadas no negócio incluem os analistas de negócios que criam e refinam os processos, os desenvolvedores técnicos responsáveis pela implementação dos processos e os gerentes de negócios que monitoram e gerenciam os processos.
A notação BPMN também é útil para definir melhorias em processos, documentar processos existentes, identificar e automatizar processos, além de servir como uma linguagem comum para fazer a ponte de comunicação entre o design de processos de negócios e a implementação.
Atualmente existem vários padrões concorrentes para linguagens de modelagem de processos de negócio utilizadas por ferramentas de modelagem e processos. A adoção generalizada do BPMN ajudará a unificar a expressão de conceitos básicos de processos de negócio (por exemplo, os processos públicos e privados, coreografias), bem como conceitos avançados de processos (por exemplo, tratamento de exceção, a compensação de transações).

## Conformidade

Softwares podem exigir o cumprimento da conformidade com a BPMN 2.0, se e somente se, o software é totalmente compatível com a especificação. Softwares apenas parcialmente compatíveis com os termos de conformidade só podem exigir conformidade referente a parte do software que foi baseada nesta especificação, mas não pode exigir a observância da conformidade com a especificação toda. A especificação define quatro tipos de conformidade:
* Conformidade da Modelagem de Processo;
* Conformidade da Execução de Processo;
* Conformidade da Linguagem de Execução de Processo;
* Conformidade da Modelagem de Coreografia.
A implementação que atende a conformidade do tipo Modelagem de Processo não é requisito obrigatório para a conformidade Modelagem de Coreografia e vice-versa. Da mesma forma, a implementação observando a conformidade Execução de Processo não é requisito obrigatório para a conformidade Modelagem de Coreografia.

## Tópicos da BPMN

A BPMN será obrigada a suportar apenas os conceitos de modelagem que são aplicáveis ​​aos processos de negócios. Isto significa que outros tipos de modelagem feitos por organizações sem propósitos corporativos estará fora de alcance para a BPMN. Por exemplo, a modelagem dos seguintes não será uma parte da BPMN:
* estruturas organizacionais
* avarias funcionais
* modelos de dados
Além disso, apesar de BPMN mostrar o fluxo de dados (mensagens) e a associação de artefatos de dados para atividades, ela não é um diagrama de fluxo de dados.

## Elementos

A modelagem em BPMN é feita através de diagramas simples, com um pequeno conjunto de elementos gráficos. Isto facilita que os usuários de negócio, bem como os desenvolvedores, entendam o fluxo e o processo. As quatro categorias básicas de elementos são as seguintes:

### Objetos de Fluxo

    Eventos, Atividades, Gateways

### Objetos de Conexão

    Fluxo de Sequência, Fluxo de Mensagem, Associação

### Swim lanes

    Pool, Lane

### Artefatos

    Objeto de Dados, Grupo, Anotação
Obs: No BPMN versão 2.0 os Objetos de Conexão tem mais um elemento, "Associação de Dados". Nessa versão foi adicionada mais uma categoria básica, "Dados".
Estas quatro categorias de elementos nos dão a oportunidade de fazer um diagrama de processos de negócio simples (BPD). Também é permitido no BPD, construir seu próprio tipo de um Objeto de Fluxo ou um Artefato para tornar o diagrama mais compreensível.

### Objetos de fluxo

Objetos de fluxo são os principais elementos descritivos dentro da BPMN e consistem de três elementos essenciais (Eventos, Atividades e Gateways):

### Objetos de conexão

Conectam os objetos de fluxo uns com os outros ou a outras informações.
* Fluxo de Sequência
* Fluxo de Sequência
* Fluxo Mensagem
* Associação

### Swim lane

A Piscina (Pool) é a representação gráfica da Colaboração entre Participantes. Um Participante representa uma entidade parceira específica (por exemplo, uma empresa) e/ou uma entidade genérica (por exemplo, um comprador, vendedor ou fabricante). Uma Colaboração é uma coleção de mensagens trocadas entre Participantes.
* Piscina
* Raia

### Artefatos

Artefatos são usados para fornecer informações adicionais sobre o processo.
* Agrupamento
* Anotação
Obs: Anotação sempre vem associada a outro elemento por isso a figura de anotação tem uma associação.

### Dados

São elementos que armazenam ou transmitem dados durante a execução do processo. Esses elementos são semelhantes a uma variável de linguagem de programação.