Business Process Modeling Notation BPMN Basics

Slides:



Advertisements
Apresentações semelhantes
Modelo de Casos de Uso Diagrama de Casos de Uso
Advertisements

Análise e Projeto Orientado a Objetos
Diagrama de Atividades
Fluxograma de Atividades
Aula 8 Contratos.
Fluxograma de Atividades Informática na Administração prof. Amauri Marques da Cunha Período 2007/1.
Análise e Projeto de Sistemas I
Rational Unified Process(RUP)
UML Material retirado da apostila do Professor Cesar Augusto Tacla
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Introdução a diagrama de classes e UML
Curso UML Diagramas de Atividade
Análise e Projeto de Sistemas
Engenharia de Requisitos Requisito – sistema Caso de uso - usuário
Modelagem de Interações
Douglas Barbosa Alexandre Orientador: Prof. Dr. André Vital Saúde
Diagramas de Sequência e Comunicação
Especificação de Requisitos de Software com Casos de Uso
Análise de Sistemas Análise e Projeto Prof. Jeime Nunes Site:
UML - Unified Modeling Language
Diagrama de Atividades
Expansão dos Casos de Uso
Introdução UML, Diagrama de Classes e Comunicação/Colabaração
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
Transferência de aprendizagem
DIAGRAMA DE CLASSE Modelagem de Software
Business Process Modeling Notation (BPMN)
Professor Mário Dantas
Diagrama de Atividades
Diagramas de Atividade
Feira de empreendedorismo
Modelagem de Negócio no RUP
PSBD II Projeto de Sistemas de Banco de Dados II
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática Disciplina: Interpretação de Projetos de Software Professor: Cheli dos S. Mendes.
Análise e Projeto de Sistemas
FLUXOGRAMAS.
Dicas para Apresentações
Bruno Silva Desenvolvido a partir de
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Aula prática 2 Operadores e Expressões Comandos de Decisão Comentários
Unified Modeling Language Professor Mário Dantas A NÁLISE O RIENTADA A O BJETOS Nov/2010.
Profª Lucélia Oliveira
Laboratório de Programação
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
Desenhando Fluxogramas
Trabalho de Engenharia de Software II
Diagrama de Colaboração. Diagramas de Interação Expressam informações bastante similares porém de maneira diferente Diagrama de seqüência: – Interação.
Modelando Sistemas em UML
Fluxos secundários Só devem ser analisados e descritos após a descrição dos fluxos básicos. Fluxos alternativos situações especiais (desconto para um cliente)
Fundamentos de linguagens de programação
Fórmula Visual RM.
Tarciane Andrade Análise de Casos de Uso Tarciane Andrade
Expansão dos Casos de Uso
UML Statechart CIn-UFPE.
Desenvolvimento Empresarial Aula 5 – Business Process Modeling Notation – Parte 2 Prof.: Guilherme Amorim Data: 26/03/2014.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Aula 02 de Eng. de Requisitos
Engenharia de Software Orientada a Objetos
Engenharia de Software com o RUP - Workflow de Requisitos
Diagrama de Colaboração
Interações entre objetos
Programação para Web I AULA 2 BANCO DE DADOS.
TUTORIAL DO SOFTWARE BIZAGI
Desenvolvimento de Software I
Diagrama de atividade.
FERRAMENTAS DA QUALIDADE
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Análise e Design de Software Site:
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1 Análise e Projeto de Sistemas Modelagem de Requisitos com Casos de Uso.
Questionário (Básico) Autor: Skyup Informática. Atividade - Questionário O módulo permite criar uma série de questões, que deverão ser respondida pelos.
Transcrição da apresentação:

Business Process Modeling Notation BPMN Basics 1.2. Introdução a BPMN The aim of the training is to present the BPM/SOA technologies as well as give a first look at the different features offered by Intalio|BPMS CE. It is not a developer training nor is it a designer training.

BPMN: Resolvendo GAP de Comunicações BPMN resolve as dificuldades das comunicações oferecendo uma linguagem comum Linguagem simples de fácil entendimento Capaz de desenhar os objetivos do negócio Capaz de diagramar complexos problemas técnicos Tratamento de Eventos em contexto Disparo de começo e fim de condições Tratamento de Exceções BPMN vai além de workflow tradicionais Workflow geralmente refere-se a tarefa de pessoas BPMN foi designada para Negócio com complexidades empresariais Resolvendo problemas de integração Pessoas, Sistemas e outros Processos, interagem em um ambiente corporativo

BPMN: Alto nível e detalhes explícitos BPMN: Notação Robusta BPMN: Alto nível e detalhes explícitos Mostra o tempo e as responsabilidades Quem faz O que e Quando – em relação a outros participantes do processo Cada participante tem uma única perspectiva do processo Exibe exatamente como cada processo participante interage Quem (ou O que) Timeline – Linha do Tempo

CONCEITOS BÁSICOS BPMN

BPMN Formas Básicas: Tarefa Uma Tarefa é uma atividade atômica que está incluída em um Processo Uma tarefa é utilizada quando o trabalho no processo não contém melhor nível de Modelo de Processo. Geralmente, um usuário/aplicação é utilizado para executar uma Tarefa. Em um processo de negócio, cada participante pode executar uma ou mais tarefas. Uma Tarefa pode ser: Manual: quando executada por um Participante Pessoa Automática: Quando executadas por Participantes Sistemas ou Processos Uma Tarefa compartilha a mesma forma de um Sub-Processo, que é um retângulo com os cantos arredondados.

Uma Atividade é como uma Tarefa ou Sub-Processo Sub-Processo (expandido) Tarefa Sub-Processo (retraído) Uma Atividade é como uma Tarefa ou Sub-Processo Um Sub-Processo é um composto de atividades Possui detalhes que são definidos como um fluxo de outras tarefas / sub-processos Um Sub-Processo pode ser exibido de duas maneiras Expandido – aparece com o sinal de menos “-” Retraído – aparece com o sinal de mais “+”

BPMN Regras de Sub-Processo Todas as atividades dentro de um sub-processo devem ser finalizadas antes de mover-se para a próxima atividade Sub-Processos tem um escopo Dados do sub-processo “A” não são relevantes para o sub-processo “B”. Seqüência: 1A, 2A, 1B, 2B

1. Participante 2. Papéis 3. Contexto de Escopo BPMN Conceitos Chave Um participante é qualquer coisa ou qualquer pessoa que interage em um processo. Os participantes podem ser pessoas, sistemas, máquinas, outros processos, grupos de pessoas, grupos de sistemas etc. 2. Papéis Um papel é um agrupamento lógico de pessoas e/ou sistemas que são atribuídos para realizar uma categoria geral de trabalho no contexto do diagrama de processo. Ambas , pessoas e sistemas, podem estar em múltiplos papéis, mas raramente você verá pessoas e os sistemas misturados na mesma função. 3. Contexto de Escopo Um escopo é como um container. Coisas do lado de dentro de um container não podem ser acessadas do lado de fora. Cada escopo pode conter suas próprias atividades e dados.

4. Fluxo 5. Transição BPMN Conceitos Chave Fluxo é a ordem em que as etapas do processo são realizadas. É importante compreender que múltiplos fluxos podem estar ocorrendo com múltiplos papéis participantes, e estes fluxos podem ser realizadas simultaneamente.. 5. Transição Uma transição descreve o ligamento entre as atividades, e é mais comumente conhecido como fluxo de linhas. Transição também significa que uma atividade parou e outra já começou Transição nunca ocorre entre os Participantes. Receive Order Fulfill Order Ship Ordered Products Send Invoice

Uma transição define como um processo participante executa atividades Quais tarefas executar Ordem da sequência Abrir Porta Andar através da Porta Fechar a Porta 1. 2. 3.

Transições e Sequências de Fluxos Receive Order Fulfill Order Ship Ordered Products Send Invoice Todas as tarefas devem possuir uma transição, caso contrário, você terá múltiplos pontos de início.

Tarefas e Sub-Processos podem conter “looping” Atividades de Looping Tarefas e Sub-Processos podem conter “looping” Tarefa única que se repete Todas as tarefas dentro de um sub-processo depois de completas, entrarão em loop

Looping de dados em sub-processos Looping de sub-processos não são como um back-edge line (Workflow). = Inicie e sobrescreva os dados antigos = Faça passo 1 e 2 novamente, e adicione iterações nos dados dos processos. Os loopings de sub-processos tem mais capacidade do que back-edge lines. Processos devem ir da esquerda para direita, nunca fazendo retornos. Fácil compreensão de leitura.

Dúvidas

Exercício 1.2.1: Modelando Transições Cinco Tarefas, A, B, C, D, E em sequência

Exercício 1.2.2: Modelando Transições Tarefa B deveria na verdade ser um sub-processo. Contém 2 tarefas: B1 e B2.

BPMN Shapes - Revisão: Shapes de Atividades Tarefa Sub-Processo - retraído Sub-Processo - expandido Tarefa - Looping Sub-Processo - Looping

Múltiplos CAMINHOS de Transição Dividindo e Juntando com Gateways Múltiplos CAMINHOS de Transição

Dividir e Juntar Processos Processos frequentemente requerem que múltiplas tarefas e eventos ocorram em paralelo. Divisão Paralela (Implícita) Divisão Paralela (Explicito com Gateway)

Comportamentos de Gateways Dividir e Juntar Processos Comportamentos de Gateways Merge (Implícito) Comportamento não especificado Merge Paralelo (Explícito) Todas as tarefas devem ser finalizadas antes do processo seguir em frente

Tarefa 6 não será executada até que as Tarefas 2 e 5 estejam completas Paralelismo Após a Tarefa 1, as outras três atividades serão executadas simultaneamente. Tarefa 6 não será executada até que as Tarefas 2 e 5 estejam completas

Exercício 1.2.3: Paralelismo Cinco tarefas, A, B, C, D, E em sequência Tarefa B deveria na verdade ser um Sub-Processo 2. Tarefa C deve ocorrer em paralelo com as atividades do Sub-Processo B

Caminhos Condicionais Caminhos que são trilhados baseados em uma condição específica Exclusivo Somente um caminho é seguido Inclusivo Todos os caminhos podem ser seguidos

Condição Default Caminhos “default” acontecem quando outras condições não são verdadeiras Exclusivo ( A ou B ), então C Inclusivo Se (A e/ou B) então siga o caminho C

Boas Práticas: Divida com, Junte com Juntando Caminhos Boas Práticas: Divida com, Junte com Correto: Comportamento esperado. OU… Incorreto: Impasse Incorreto: Sem Sincronização!

Gateways Inclusivos Split / Merge Gateway Inclusivo comporta-se similar ao Paralelo. Múltiplos caminhos podem ser seguidos Merge com Paralelo.

Exercício 1.2.4: Fluxo Condicional Sobre certas condições, nós devemos “bypass” a Tarefa C.

Comportamento de Sub-Processos Todas as atividades dentro de um processo devem ser completadas antes de seguir Se houver múltiplas seqüências, então será executado como um Paralelismo

BPMN Shapes - Revisão: Gateways Gateway Simples Exclusivo baseado em Dados Paralelo Inclusivo

Além dos shapes básicos de atividades, temos: Eventos

BPMN: Shapes de Eventos Evento de Início são desenhados com uma única linha. Eventos Intermediários são desenhados com um linha dupla Eventos de Fim são desenhados com uma linha bold line. Cada shape herda o comportamento do outro e assume também comportamentos próprios Shapes específicos de Evento

Evento Intermediário Vazio BPMN Eventos Vazios Evento de início Vazio Ilustra que o processo começará aqui, mas sem nenhum evento específico Evento Intermediário Vazio Importante ponto do processo KPI (Key Performance Indicator)

Evento Final Vazio Terminar / Terminate BPMN Eventos Fim Evento Final Vazio Ilustra onde o processo termina Processos podem ter múltiplos pontos de fim*. Terminar / Terminate Encerra a instância do processo.

BPMN: Eventos dentro de um Sub-processo Shapes “Inicio” e “Fim” podem ser usados dentro de um sub-processo Intermediário – utilizado para definir loop de processo Pontos de inicio facilmente identificados Fim – uitlizado para demonstrar que o ciclo terminará neste ponto

Exercício 1.2.5: Condições

Evento inicial de Tempo Evento intermediário de Tempo BPMN Eventos de Tempo Evento inicial de Tempo Processos iniciam com um intervalo específico definidos pelo timer Inicie em um dia específico Inicie no primeiro dia do mês Evento intermediário de Tempo As tarefas aguardarão por um período específico de tempo antes de continuar Aguarde até uma data específica Aguarde um determinado tempo

Exercício 1.2.6: Evento de Tempo Cinco tarefas, A, B, C, D, E na sequencia Tarefa C deve ocorrer em paralelo com as atividades no subprocesso “B” Sobe certas condições, podemos ignorar a tarefa C Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo, incluindo todas as atividades do subprocesso B Nós queremos aguardar algum tempo antes de B1 seguir para B2

Eventos Intermediários: Enviando e Recebendo Throwing Eventos (enviando) Catching Eventos (recebendo) Message Error Cancel Signal Link Compensation

Interações entre Participantes COMUNICAÇÃO EM BPMN

Participantes O que é um Participante? Qualquer recurso que está envolvido em um processo, seja ele um processo de negócio, um grupo de pessoas, um sistema ou outros processos. Três tipos de Participantes: Participante Sistema Participante Pessoa Participante Processo

Exemplos de Participantes Participantes interagem com os processos de negócio Implementado via sistema BPMS Departamento de compras Gerente Grupo de Pessoas Outros Processos XYZ Process Processo de Negócio Administrador TI Servidor emails Servidor aplicações WEB

BPMN Shapes Básicos: “Pool” e “Lane" Pool: Representa um participante do processo

BPMN Shapes Básicos: “Pool” e “Lane” Lane: Divide um pool dentro de seções

BPMN Conceito: Interação Interação Pessoa com Pessoa Voz, papel, telefone etc. Interação com Sistemas Email, Web server, Blog Site

O que são Dados dos Processos? Dados do Processo O que são Dados dos Processos? Dados dos Processos consistem na informação da estrutura que está incluída em um Processo de Negócio. Cada instância de processo possui seus próprios dados. Cada participante possui sua própria informação Pessoas possuem conhecimento Sistemas possuem dados Processos possuem dados do processo Participantes podem trocar informações com outros participantes através de mensagens Participantes podem criar e manipular seus próprios dados

Típico Modelo de Workflow (Petri - nets) Típico Modelo BPM Dados do Processo Típico Modelo de Workflow (Petri - nets) Típico Modelo BPM (Pi-Calculus) A A, B, C A, B, C, D A, B Task Task Task Task Task Task Task Process Data Dados trafegados através de cada tarefa Dados compartilhados na piscina para todas as tarefas

Johnny’s Activities Suzy’s Activities Interações No fluxo de dados até que haja uma interação, toda comunicação é chamada “mensagem” Escrita, falada, email, chamadas de serviço web etc. Timeline Johnny’s Activities Suzy’s Activities

Interação em um sistema de BPM (BPMS) Em um sistema automatizado, o BPMS orquestra todas as atividades. Todas as atividades existentes na piscina do processo Atividades do Johnny Sistema BPM Atividades do Robert

BPMN - Eventos de Mensagens Evento inicial de mensagem Processo inicia quando uma mensagem é recebida Mensagem é envidada a partir de outro participante Evento intermediário de mensagem O processo irá aguardar até que uma mensagem seja recebida antes de proseguir Sincronização Gatilho Evento final de mensagem Processo termina quando uma mensagem é enviada. Mensagem enviada para outro participante

Fluxo de Processos X Fluxo de Dados Fluxo do processo define como as atividades são coordenadas do ponto de vista de um participamente específico. O fluxo de dados define o fluxo de informações que são trocadas entre os participantes.

Interação com mensagens para os participantes Mensagem é usada para se comunicar com participantes através de piscinas. Dentro de uma piscina, mensagem nunca é utilizada. Transições são usadas para isso. Dentro de uma piscina, não há fluxo de dados definido. Apenas fluxo de processo. Entre piscinas, mensagens, contem dados que são enviados/recebidos de/para participantes. Isto é chamado de Interação

Exercício: Fluxo de Processos X Fluxo de Dados Dois pontos de partida Dois pontos de partida Qual desses diagramas está correto? Faltando ligação Fluxo Contínuo

Eventos vs. Tarefas Task

Exercício 1.2.7: Mensagens entre participantes Cinco tarefas A, B, C, D, E na sequencia Tarefa C deve realmente ocorrer em paralelo com as atividades no subprocesso “B” Sob certas condições, podemos ignorar a tarefa C. Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo, incluindo todas as atividades no subprocesso B Nós queremos esperar um tempo depois de B1, antes de iniciar o B2 Tarefa “A” deve iniciar o processo recebendo uma mensagem do participante “Clerks”

Exercício 1.2.8: Mensagens entre participantes Cinco tarefas, A, B, C, D, E na sequencia Tarefa C deve realmente ocorrer em paralelo com as atividades no subprocesso “B” Sob certas condiçoes, podemos ignorar a tarefa C Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo, incluindo todas as atividades do subprocesso B Queremos esperar algum tempo depois de B1, antes de iniciar o B2 Tarefa A deve realmente iniciar o processo, recebendo uma mensagem do participante “Clerks”. Tarefa E deve terminar o processo desencadeando um outro participante ‘Accounting’

BPMN - Revisão: Eventos Shapes Terminate Empty Message Timer Error Link Compensation Cancel Condition Signal

Q&A

Event Driven Flow

Event Driven Gateway Decisão baseada em dados Condição baseada em qual evento ocorre

Pode receber vários tipos de eventos Event Driven Gateway Pode receber vários tipos de eventos

Q&A

As coisas nem sempre ocorrem conforme o planejado. Exception Path

Manuseio do caminho de exceção em BPMN BPMN tem uma maneira elegante de lidar com o fluxo de exceção Fluxo normal Resume Normal Flow Fluxo de exceção

BPMN: Responsabilidades das Tarefas Automaticamente escalar tarefas que estão em atraso Fluxo de exceção pode direcionar tarefas para pessoas ou sistemas.

Eventos intermediários: Borda do Sub-processo Multiplos enventos intermediários também podem ser colocados na borda de um subprocesso. Usado para capturar eventos específicos Eventos de erro Eventos de tempo Eventos de compensação Normal Flow Exception Flow

Exercício 1.2.9: Mensagem entre participantes Cinco tarefas, A, B, C, D, E na sequencia Tarefa C deve ocorrer em paralelo com as atividades do subprocesso B Sob certas condições, podemos ignorar a tarefa C Sob certas condições, ao invés de realizar a tarefa C, podemos encerrar todos os ramos do processo incluindo todas as atividades do subprocesso B Queremos esperar algum tempo depois de B1, antes de iniciar o B2 Tarefa A deve iniciar o processo recebendo uma mensagem do participante “Clerks”. Tarefa E deve terminar o processo desencadeando um outro participante ‘Accounting’ Se o subprocesso B não for concluído em um determinado tempo, queremos provocar uma outra tarefa.

Q&A

Fazendo seu diagrama ficar mais fácil de ser lido: Cores Artefato Shapes Interpretação de requisitos em modelo de processos Exemplos Juntando tudo

Convenção de Cores Pode ser definido uma cor diferente para todos os objetos utilizado em um diagrama de processo. Uma cor diferente pode ser utilizada para cada tipo de piscina: processo, sistema, pessoas. Na piscina do processo, pode ser util utilizar as mesmas cores para diferentes tarefas, dependendo do tipo de participante que interage. Uma cor diferente também pode ser utilizado para tarefas em diferentes estados: totalmente implementadas, a ser implementada, em discução etc.

Piscinas, Lanes e links de mensagens A tarefa assume a cor da piscina com quem troca mensagem Tarefas abstratas estão na cor cinza (estabeleça um padrão)

Criar o processo com tarefas iniciais Técnicas de Modelagem Criar o processo com tarefas iniciais Utilize “Change activity type to” para mostrar os detalhes específicos depois de conhecer melhor o processo. Concentre-se no fluxo principal do processo Evite perder tempo nos fluxos participantes, para não desviar sua atenção sobre o fluxo principal. BPMN é o caminho mais rápido para capturar um processo durante uma sessão de modelagem colaborativa.

Adicionando os participantes Depois de criado o fluxo do processo principal, fica mais fácil adicionar as piscinas participantes para mostrar a interação completa.

Q&A

Adicionando maior clareza. BPMN Artifact Shapes

Artefatos Shapes Anotação de texto Artefato de dados Grupo

BPMN: Anotação de Texto Todos os diagramas BPMN devem focar na transferência de conhecimento sobre o processo Anotação de texto é utilizado para documentar o processo com maior detalhe.

BPMN: Artefatos de Dados Artefatos de dados são utilizados no diagrama para definir onde os dados são criados ou trocados. Isto pode ser considerado uma técnica, porém BPMN suporta tanto a TI quanto os negócios, facilitando as atividades dos analistas de um diagrama. Artefato de dados associados: anexado a uma outra forma com uma linha pontilhada. Free-standing: frequentemente utilizado para mostrar uma declaração de variável.

BPMN Artefatos Shapes: Grupo Grupo não tem fluxo associado. Pode ser colocado sobre piscinas multiplas Mostra atividades associadas e eventos para documentar com uma maior clareza. Não é executado.

Modelando Melhores Práticas Nomeando Pools/Lanes Nomeando Tarefas/Eventos Nomeando o label dos eventos de mensagens Uso do Gateway

Os objetivos da modelagem BPMN BPMN: Objetivos Os objetivos da modelagem BPMN Transferência de conhecimento sobre os processos de negócio. Fazer o Diagrama de fácil leitura e entendimento. Criar um Diagrama eficiente utilizando o menor número de formas para transmitir o conhecimento do processo. Reduzir os erros de interpretação por ser tão explícito quanto possível.

A piscina em BPMN representa um participante. Nomeando Piscinas A piscina em BPMN representa um participante. É boa prática nomear a piscina com o mesmo nome do participante Lembre-se de deixar uma piscina para o processo. O processo é onde as decisões são tomadas.

BPMN: Nomeando Tarefas As tarefas devem ser nomeadas com a consideração da perspectiva do participante Empregado envia - Processo recebe Processo envia - Gerente recebe Como você pode melhorar este digrama com uma melhor rotulagem de nomes das tarefas?

Condições – Melhores Práticas Adicionar a questão na descrição do gateway Cada ramo representa uma resposta. É recomendável que você rotule cada um. Cada ramo pode ter zero, uma ou várias atividades

Condições – Melhores Práticas (2) Um gateway faz uma pergunta, somente uma pergunta Evite condições não-exclusivas, onde os ramos das condições não estão relacionados uns aos outros Use condições em cascatas, conforme exemplo a direita, fica muito mais claro.

Regras – Regras Encadeadas Condições podem ser encadeadas Melhores Práticas: utilização de sub-processo, para evitar confusão, melhora a visibilidade

Q&A