Buscar

BPMN_-_Business_Process_Model_

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Ricardo Batista Miluzzi
Navegação
Apresentação
Formação
Acadêmica e
Cursos
BPMN - Business
Process Model and
Motation
Gerenciamento de
Projetos
Modelos de
Processos
Desenhados
Arquivos
Avisos
Painel
Sitemap
Links
 
BPMN - Business Process Model and Motation
1. Objetivo
Auxiliar as pessoas no entendimento do padrão BPMN, para desenho ou redesenho de processos.
 
2. Conceitos
BPMN
O BPMN auxilia na criação de modelos de processos empresariais, ao mesmo tempo é capaz de
lidar com a complexidade inerente ao negócio processos. É uma notação gráfica para desenho de
processos.
BPM é o conjunto de:
· Abordagens e métodos centrados em processos
· Ferramentas e tecnologias para manipulação destes processos
BPM permite, com relação aos processos de negócios:
· Controle
· Gerência
· Melhoria Contínua
 
TIBCO Business Studio
Ferramenta utilizada para desenho dos processos, no padrão BPMN e que nos permitirá gerar
simulações no futuro.
 
3. Elementos para Desenho em BPMN
Processo:
É uma seqüência de passos ou atividades realizados para um determinado propósito.
 
Processos de Negócio:
Os processos de negócio representam um conjunto de atividades que se utiliza de pessoas e
recursos para transformar um conjunto de entradas e um conjunto de saídas (serviços ou produtos) para
outra pessoa ou processo.
É uma coleção de tarefas de trabalho inter-relacionadas, iniciada em resposta a um evento,
atingindo um determinado resultado para o cliente e os demais interessados.
É uma série de passos repetíveis adotados por uma organização para produzir um resultado
relevante e desejável.
Exemplo de processos de negócio: Importação por conta própria, Importação por conta e ordem,
etc.
 
Sub-Processo:
É um processo de escopo menor que pode ser utilizado por outros processos. Sua representação
gráfica são quadrados com as bordas arredondadas com um sinal de + em seu interior, como
demonstrado abaixo:
 
Exemplo de um processo com um sub-processo:
Existem dois tipos de Sub-Processos, Independentes e Embutidos.
Pesquisar o site
 
Sub-Processos Independentes:
São processos que podem ser reutilizados em diversos processos. Tem sua seqüência de
atividades definidas e não dependem do processo pai para ser iniciado, podendo ser iniciado sozinho.
 
Sub-Processos Embutidos:
É uma atividade que contem outras atividades, e estas, por sua vez são dependentes do processo
pai, não podendo ser iniciado fora deste processo.
Este tipo de sub-processo não pode contem pools e lanes, seu evento inicial deve ser do tipo
início, onde não se especifica o tipo.
 
Pools:
São os agrupadores de atividades. Tudo que está dentro de um Pool faz parte do processo que
está sendo desenhado ou demonstrado.
Sempre que tratar-se de uma entidade externa deverá ser criado um pool.
A opção de misturar duas ou mais entidades em um mesmo Pool, quando se desconhece os
processos existentes nela, ficará a critério do levantador do processo.
Exemplo:
OBS: A comunicação entre dois Pools deve ser realizada sempre através de
mensagens. Em um mesmo Pool não pode existir troca de mensagem.
 
Lanes:
São as separações horizontais de um pool e podem representar:
· uma função ou papel;
· um departamento;
· um sistema;
· a própria organização, desde qe ela seja a única Lane na Pool.
Exemplos de Pools e Lanes:
 
Eventos:
Um evento é algo que "acontece" no decurso de um processo de negócio. Estes eventos afetam o
flu xo do processo e, geralmente, têm uma causa ou um impacto. O termo "evento" é geral o
suficiente para cobrir as muitas coisas em um processo de negócio.
O início de uma atividade, ao final de uma atividade, a mudança de estado de um documento, uma
mensagem que chega, etc, todos podem ser considerados eventos. No entanto, BPMN tem restringido
a utilização de eventos para incluir apenas os tipos de eventos que irão afetar a seqüência e
calendário de atividades de um processo. BPMN ainda categoriza Eventos em três tipos principais:
Iniciais, Intermediários e Finais.
Os eventos podem iniciar ou terminar um processo, mas nunca podem
executar tarefas. Eles podem forçar a execução ou desviar para outra atividade.
Sua representação gráfica são círculos, como demonstrado abaixo:
 
Eventos de Início: são os eventos que forçam o início de uma nova instância de
execução para um fluxo. São representados por um círculo simples e existem 6 tipos:
: Não se especifica como iniciará o processo.
: A mensagem chega de um participante e desencadeia o início do processo.
: A data de tempo específico ou um ciclo específico (por exemplo, todas as segundas-feiras
às 9) que pode ser definido irá desencadear o início do processo.
: Este tipo de evento é desencadeado quando um Estado condicional passa a ser válido. Ex.:
" Temperatura acima 300 ºC "tornar-se verdade. A Expressão Condicional para o evento deve ser falso
e verdadeiro, em seguida, antes do evento pode ser acionado novamente.
: O início é dado assim que um sinal é recebido de outro processo.
: Isto significa que existem várias formas de desencadear o processo. Apenas uma deles 
será exigida para iniciar o processo.
 
Eventos Intermediários: são os eventos que acontecem ou são gerados em um
fluxo que já está em execução. Podem ser geradores (gerados dentro do próprio
fluxo), ou receptores (gerados externamente ao fluxo de processo em execução). São
representados por um círculo delineado por linhas duplas.
 
: Qualquer Evento Intermediário que está no fluxo principal do processo. O modelador não
mostra o tipo de evento. É utilizado para indicar algumas mudanças de estado no processo.
: A mensagem chega de um participante e aciona o evento. Quando usada para "pegar" a
mensagem, então, o evento será marcada por preencher. A mensagem pode ser utilizada para enviar
mensagens para um participante. 
: A data de tempo específico ou um ciclo específico que pode ser definido irá acionar o
evento. Se for utilizado dentro do fluxo principal que funciona como um mecanismo de
atraso. Se utilizado para movimentação exceção, irá alterar o fluxo normal em uma
Exceção de Fluxo.
: Este tipo de evento é desencadeado quando uma condição se torna verdadeira.
: Um link é um mecanismo para ligar dois pontos de um processo. Os eventos de link podem
ser 
usados para criar looping ou para evitar longas seqüências.
: Para este evento existem vários Triggers atribuídas ao mesmo.
: Este tipo de evento só pode ser anexado ao limite de uma atividade, assim ele reage 
a capturas de um chamado de erro, ou a qualquer erro, se um nome não é especificado.
: Evento utilizado quando existe a necessidade de compensação de uma ou mais
etapsa do processo.
: Evento usado para uma transação em um Sub-Processo. Este tipo de evento deve ser
anexado à fronteira de uma Sub-Processo. Ele deve ser acionado se “Cancelar um evento final” é
atingida dentro da transação de um Sub-Processo. Também deve ser acionado se um protocolo de
transação "Cancelar" uma mensagem foi recebida, enquanto o protocolo “Operação” está sendo
realizada.
 
 Eventos de Fim: são os eventos que terminam a instância do processo. Após
esse evento nenhuma outra atividade poderá ser realizada. São representados por um
círculo delineado com linha de espessura dupla.: Não se especifica o tipo de evento.
Usado para indicar o final de um processo e também para indicar o final de um sub-
processo, o que faz com que o fluxo de volte para o fluxo pai.
: Não se especifica o tipo de evento. Usado para indicar o final de um processo e também
para indicar o final de um sub-processo, o que faz com que o fluxo de volte para o fluxo
pai. 
: Este tipo de Fim indica que uma mensagem é enviada a um participante na conclusão 
do Processo.
: Este tipo indica que um sinal será transmitido quando o fim é atingido. O sinal é transmitido a
qualquer processo que possa receber o sinal, pode ser enviado através dos níveis dos processos ou
pools, mas não é uma mensagem (que tem uma determinada origem e destino).
: Isto significa que existem múltiplas conseqüências para acabar com o processo. Todas
elas irão ocorrer (por exemplo, pode haver várias mensagens enviadas). Os atributos do Evento Fim
vai definir qual dos outros tipos de resultados se aplicam.
: Este tipo de evento indica o nome de um erro que deve ser gerado. 
: Este tipo indica que é necessária uma compensação.
 
: Este tipo é utilizado dentro de uma transação Sub-Processo. Ele vai indicar que o 
Transação deverá ser cancelada e vai desencadear um evento de cancelamento intermediário 
anexado ao Sub-Processo.
 
: Este tipo indica que todas as atividades no âmbito do processo terminaram. Isso inclui
todas as instâncias do Multi-Instâncias. O processo é encerrado sem compensação ou evento
manuseio.
 
 
Atividades:
Uma atividade é um trabalho que é realizado dentro de um processo de negócio. Uma atividade
pode ser atômica ou não atômica (composto). Os tipos de atividades que são parte de um Diagrama
de Processos de Negócios são: Processo, Sub-processo e Tarefa. No entanto, um Processo não é um
objeto gráfico. Processo é um conjunto de objetos gráficos.
Sua representação gráfica são quadrados com as bordas arredondadas, como demonstrado
abaixo:
 : É uma atividade qualquer que não deseja especificar o tipo.
Determina um passo ou tarefa a ser realizado para andamento do processo e
precisa de um participante.
: É uma atividade onde se especifica que é realizada por um papel humano com a
assistência de um aplicativo ou sistema.
: É uma tarefa que pode ser realizada sem o auxílio de qualquer processo de
negócio ou de qualquer aplicativo ou sistema. Um exemplo disto pode ser um técnico instalar um
telefone em um cliente.
: É uma tarefa que apresenta algum tipo de serviço, que poderia ser um serviço da
Web ou uma aplicação automática.
: É uma tarefa executada por um mecanismo de processo de negócio. O modelador
ou executor define um script em uma linguagem que o motor pode interpretar. Quando a tarefa está
pronta para começar, o motor irá executar o script. Quando o script estiver concluído, a tarefa
também estará.
: É uma tarefa simples projetada para enviar uma mensagem para um participante
externo (em relação ao Processo de Negócio). Assim que a mensagem é enviada, a tarefa é
concluída.
: É uma tarefa simples que se destina a esperar pela chegada de uma mensagem
para um participante externo. Assim que a mensagem tenha sido recebida, a tarefa é concluída.
Muitas vezes utilizado para iniciar um processo. Num certo sentido, o processo é bootstrapped
pelo recebimento da mensagem. Pode ser usado para satisfazer uma das seguintes condições:
O processo não tem um começo e a Receive Task não tem nenhuma seqüência.
A próxima seqüência de Fluxo para a Receive Task tem uma fonte de um evento inicial.
:É uma tarefa utilizada quando se deseja referenciar outra atividade que já tenha sido
definida.
 
 
Gateways:
São os elementos que simbolizam os condicionais ou desvios e servem para demonstrar uma
decisão a ser aplicada.
Sua representação gráfica é um losango ou diamante que deve ser feito com uma única linha fina,
como demonstrado abaixo:
 
Normalmente, como "melhores práticas", sempre adotamos colocar os gateways no início e no final
da ramificação, para facilitar na visualização do processo.
 
Existem diversos tipos de gateways.
Exclusive Decision Data Based (XOR), Exclusive Decision Event Based (XOR), Parallel Fork
(AND), Inclusive (OR) ou Complex.
: Ou Exclusivo – XOR – É o gateway mais simples, onde o acesso a um dos
caminhos é exclusivo. Nesse caso, apenas um dos caminhos será seguido não importando quantos
são os caminhos que existem para escolha.
No exemplo abaixo, ou o caminho 1 é seguido ou o caminho 2.
 
Esse tipo de gateway pode ser baseado em Dados ou em Eventos.
O gateway baseado em Dados é o mais comum e baseia-se em expressões booleanas
contidas nas expressões condicionais do gateway.
O gateway baseado em Eventos utiliza ao invés do processo de avaliação de expressões
utilizando dados a análise de eventos chamadores para efetuar a decisão. Um exemplo: se a
mensagem que chegar for de um cliente, vai para atividade 1, se for de um fornecedor, vai para a
atividade 2.
 
: Paralelo – AND – É o gateway que fornece um mecanismo para sincronizar um fluxo
paralelo e para criar fluxos paralelos. Estes gateways não são obrigatoriamente necessários para criar
fluxo paralelo, mas que podem ser usados para esclarecer o comportamento de situações complexas
em que uma seqüência de gateways são utilizados. Como "melhores práticas" costumo sempre
colocar os gateways, pois esta prática irá criar um elemento extra modelagem e padronizar nossos
fluxos.
Para a condição do AND ser atendida, as duas ramificações precisam ser executadas até o final e
chegar no gateway que finaliza a ramificação. Se um dos caminhos não for finalizado o processo
continuará aguardando até que todas as ramificações sejam finalizadas para que o processo tenha
uma seqüência.
 
: Inclusive – OU – É o gateway que representa uma ramificação onde as alternativas são
baseadas em expressões condicionais contidas na seqüência do fluxo. No entanto, neste caso, a
avaliação de uma expressão com condição verdadeira não exclui a avaliação das outras condições
das expressões, o que permite que se navegue por um ou mais caminhos de um fluxo, podendo seguir
um ou mais caminhos e é necessário que ao menos um dos caminhos seja válido para a navegação.
 
: Complexo – É o gateway utilizado quando necessita-se testar mais de um dado para a
tomada de uma decisão ou quando existe a necessidade de misturar mais de um comparador.
 
 
Objetos de Dados:
Um objeto de dados é considerado um artefato e não um objeto de fluxo porque não têm qualquer
efeito sobre a seqüência direta ou mensagem do Processo, mas fornecer informações sobre aquilo
que o processo faz. Isto é, como documentos, dados e outros objetos são utilizados e atualizados
durante o processo. Embora o nome "Data Object" pode implicar um documento eletrônico, eles
podem ser usados para representar diferentes tipos de objetos, tanto eletrônicos e físicos.
É utilizado quando se precisa deixar claro por quanto tempo e até onde um elemento de dados
está sendo programado. Esse dado pode ser uma informação isolada ou mesmo um bloco de
informações.
Sua representação gráfica são retângulos na orientação retrato que tem seu canto superior direito
dobrado, como demonstrado abaixo:
 
 
Grupos:
Um grupo é um objeto que provê um mecanismo visual para agrupar informalmente os elementos
de um diagrama.
Sua representação gráfica são retângulos tracejados, com cantos arredondados, como
demonstrado abaixo:
 
Setas para Seqüência de Fluxo:
As setas servem para indicar a seqüência que um fluxo deve seguir. A origem e o destino deve ser
a partir do conjunto dos seguintes objetos: Eventos (Iniciar, Intermediário e End), Atividades (Tarefa e
Sub-processo), e gateways.
Existem 3 Tipos básicos:
Seqüência – É a seta utilizada para ligar os objetos de um processo.
Sua representação gráfica são setas sólidas com a ponta preenchida, como demonstrado abaixo:
 
Condicional – seta utilizada para ligar os objetos de um processo, porém representa que há uma
decisão a ser tomada.
Sua representação gráfica são setas sólidas, onde em uma extremidade existe um diamante e em
outra um triângulo preenchido, como
demonstrado abaixo:
 
Default – seta utilizada para ligar os objetos de um processo, porém representa um caminho
default a ser seguido.
Sua representação gráfica são setas sólidas, onde em uma extremidade existe um traço e em
outra um triângulo preenchido, como demonstrado abaixo:
 
Setas para Mensagens:
Uma mensagem de fluxo é usada para mostrar o fluxo de mensagens entre duas entidades que
estão preparadas para receber e enviar-lhes.
Somente são utilizadas para ligação entre duas Pools ou entre objetos de Pools diferentes. Elas
nunca podem conectar dois objetos no mesmo Pool.
Sua representação gráfica são setas tracejadas, como demonstrado abaixo:
 
 Setas para Associação:
Uma associação é usada para associar informações e Artefatos. A Associação também é usada
para mostrar as atividades utilizadas para compensar uma outra atividade.
São utilizadas para ligação de Atividades com Data Objects. Elas nunca podem conectar duas
atividades.
Sua representação gráfica são setas pontilhadas, como demonstrado abaixo:
 
4. Padrões de Desenho de Processos
No mapeamento de fluxos, só devem ser desenhadas as etapas relevantes e que desejam ser
medidas.
A granularidade das tarefas e das atividades deverá ser de acordo com o projeto e com o
responsável pelo seu desenho.
Nomenclatura:
Atividades – os nomes das atividades deverão ser iniciadas com Substantivos.
Gateway – o nome é opcional, porém se existir deverá seguir o padrão de iniciar com Substantivo.
 
 5. Exemplos
Timer: usado para controlar tempos ou definir datas para execução das
atividades.
Nesse caso, a atividade 1 é executada, espera 3 horas e depois executa a Atividade 2.
Nesse caso, a atividade A é executada e depois executa a Atividade B. Se a Atividade A não for
executada em 3 horas a Atividade C será executada.
 
Exceção: Exceção é uma atividade que não pode ter seqüência.
 
Compensação: é um tipo de atividade focada no retorno de um processo a um
estado anterior, para que o processo possa ser executado.
Sempre é colocada na borda de uma atividade e sempre aponta para uma atividade do tipo
compensação. Compensação é uma atividade que ainda pode ter seqüência. Gravidade não tão
importante.
 
Gateways: podem ser colocados diretamente no processo ou utilizar os condicionais e servem
para demonstrar uma decisão a ser aplicada. No exemplo abaixo temos as duas possibilidades.
 
 
Nos exemplos acima o primeiro ficaria travado, pois o primeiro gateway gera três tokens e o
segundo só recebe dois. O segundo corrige o problema ao ligar a Task diretamente no último gateway.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fazer login | Atividade recente no site | Denunciar abuso | Imprimir página | Remover acesso | Tecnologia Google Sites
Comentários
Você não tem permissão para adicionar comentários.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais