Baixe o app para aproveitar ainda mais
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.
Compartilhar