Business Process Modeling Notation - Wiki.recife.pe.gov.br

Transcription

BPMNBusiness Process Modeling NotationOutubro/2006Rafael Bortolinirafael@cryo.com.brCryo Technologieswww.cryo.com.br1

Agenda Introdução História Especificação– Swinlanes– Atividades– Eventos– Gateways– Conexões Exemplos2

Introdução3

O que é BPMN? O BPMN é uma notação gráfica que tem porobjetivo prover instrumentos para mapear, deuma maneira padrão, todos os processos denegócio da organização; O BPMN pode e deve ser compreendido poranalistas de negócio, técnicos, usuários e,eventualmente, sistemas; O diagrama BPMN pode servir como um novocontrato entre as áreas técnicas e os usuários;4

O que é BPMN? O BPMN diminui a distância entre omapeamento de processos da organização e aimplementação técnica destes processos; O BPMN deve ser um padrão simples e flexível,não-técnico e expansível;5

Características do BPMN Simples– O BPMN pode começar a ser utilizado comelementos básicos de fluxograma (“coreelements”) e evoluir para elementos maiscomplexos Flexível– O BPMN deve ser capaz de mapear osprocessos da organização, internos eexternos (B2B)6

Características do BPMN Não-técnico– Os analistas de BPMN não precisam sernecessariamente profissionais técnicos Expansível– A organização deve poder expandir o modelode acordo com regras e interesses próprios,criando novos instrumentos de modelagem,sem prejudicar a especificação já existente;7

Exemplo de BPMN8

BPMN Ex. Visio: quantidade excessiva de diagramas enotações. Qual utilizar?9

O BPMN não serve para mapear: OrganogramasTelas de sistemasRegras de negócio de aplicativosMapas estratégicosEsquemas10

BPMN e padrões técnicos O BPMN pode ser “traduzido” para padrõestécnicos de processos, como BPEL ou XPDL; Para cada objeto no BPMN, pode existir umcorrespondente técnico em BPEL; A correspondência técnica entre o padrão visual(BPMN) e o padrão técnico (XPDL, BPEL) é o queirá permitir, no futuro, que os analistasdesenhem processos e os sistemas geremcódigos;11

BPMNBPEL/XDPL12

História e evolução13

História O BPMN foi lançado inicialmente em maio de2004 pela associação internacional BPMI(Business Process Management Initiative); O BPMN foi criado por representantes deempresas como IBM, iGrafx (Corel), Pega, Onixe Lombardi (empresas de Workflow) O BPMN não encontrou “especificaçõesconcorrentes” e passou a chamar muito aatenção do mercado;14

História Em 2005, o BPMI anunciou sua junção a OMG(Object Management Group) A OMG é uma associação aberta e não lucrativaque existe desde 1989; O objetivo da OMG é desenvolver e manterpadrões e especificações técnicas para aindústria de software;15

História Entre os padrões que a OMG mantém está oUML.Para discutirComo o padrão BPMN se relaciona ao UML? Existe concorrência ou sinergiaentre os dois? O que teremos no futuro?16

História Atualmente, o BPMN continua em sua versão1.0, porém a revisão final da OMG, comcorreções e melhorias, é recente (fevereiro de2006)17

História Hoje, de acordo com a OMG, existem 39produtos “homologados” que implementam, notodo ou em parte, a notação BPMN; São produtos de modelagem ou mesmo deexecução (Workflow-BPM); De acordo com a OMG existem mais 4 produtosem desenvolvimento;18

História É pouco ainda. Porém, dentro de todo omercado de BPM e gestão por processos, oBPMN parece ser hoje a única unanimidade e,por não ter concorrentes, com certeza será umpadrão real daqui a algum tempo.19

Algumas ferramentas ilog (java-free):– nmodeler/. Visual Paradigm:– www.visual-paradigm.com (US 100,00) Visio– http://www.orbussoftware.com/bpmn.aspx(free)– http://www.itp-commerce.com (US 12002500)20

Especificação21

Download da especificação A especificação completa do BPMN, assim comodiversas informações relacionadas, pode serachada em:– http://www.bpmn.org/22

Business Process Diagram (BPD) BPD é o diagrama padrão, o espaço de trabalhoúnico para o desenho de processos de negócioseguindo a modelagem BPMN; Dentro do BPD, através do desenho deelementos gráficos, montamos nosso processode negócio;23

Processo Para o BPMN, processo é uma atividade realizadapor uma organização e composta por uma série deetapas e controles que permitem o fluxo deinformações; O conceito de processo é extremamentehierárquico, indo desde macro-processos daorganização até processos realizados por somente 1pessoa; Já um Processo de Negócio (business process) éconceituado como uma série de atividades que sãorealizadas por uma organização ou através dediversas organizações;24

Processo Um BPD, portanto, é o ambiente para mapear 1processo de negócio que, por sua vez, pode serconstituído por 1 ou mais processos; Estes processos dentro do processo de negóciopodem, por sua vez, serem constituídos porsub-processos;BPDProcesso de NegócioProcessoProcesso25

Usos do BPMN O BPMN pode ser utilizado para mapear osseguintes tipos de processos:– Processos internos (Private (Internal)Business Process)– Processos abstratos (Abstract (Public)Process)– Processos de colaboração (Collaboration(Global) Process)26

Processos InternosEMPRESA É o tipo de processo mapeado mais comum,composto por uma série de atividades que sãorealizadas unicamente dentro de nossaorganização27

Processos Abstratos Muitas vezes, nosso processo inclui ações quesão realizadas fora do âmbito de nossaorganização por pessoas que não trabalhamconosco e cuja atividade não podemosgerenciar; Essas pessoas podem realizar suas atividadesem um processo interno, mas nós não podemos“ver” este processo; Neste caso, utilizamos um modelo abstrato pararepresentar uma “entidade” independente,com processos próprios mas que não nosinteressa mapear;28

Processos AbstratosAutorizarPagamentoProcessar pedidoEmpacotarEnviarINSTITUIÇÃO FINANCEIRAEMPRESA No exemplo abaixo, a autorização dopagamento é feito dentro de um processointerno da instituição financeira, processo esseque desconhecemos ou não nos interessa;29

Processos de Colaboração Neste modelo, dois ou mais processosindependentes e reutilizáveis se comunicam eestão dentro do nosso escopo de visão (aindaassim, não necessariamente dentro de nossaorganização); Neste caso, mapeamos os dois processos e,principalmente, o relacionamento entre os dois;30

Processo de ColaboraçãoINSTITUIÇÃO FINANCEIRAEMPRESA Neste caso, o processo interno da InstituiçãoFinanceira é conhecido e nos interessaAutorizarPagamentoProcessar pedidoEmpacotarEnviarAutorização doCartão de Crédito31

Elementos do BPMN A especificação BPMN é divida em três áreas deinformações:– Core Elements– Full Elements– Atributtes32

Elementos do BPMN Core Elements:– Conjunto de elementos comuns esimplificados, capazes de mapearem grandeparte dos processos das empresas e utilizadopor profissionais iniciantes; Full Elements:– Conjunto de todos os elementos daespecificação, inclusive Core Elements,capazes de mapearem qualquer processo denegócio;33

Elementos do BPMN Atributos:– Conjunto de propriedades e informações decada elemento (informações não-gráficas) Nome Descrição Categoria Tipo Responsável Serviço (WebService) Etc.34

Categorias de Elementos Os elementos são divididos em:– Objetos (Flow Objects)– Conexões (Connections Objects)– Swinlanes– Artefatos (Artifacts)35

Objetos Eventos Atividades Gateways36

Conexões Seqüência (Sequence Flow) Mensagem (Message Flow) Associação (Association)37

Swinlanes Pools Lanes38

Artefatos Dados (Data) Texto (Text) Grupo (Group)39

Regras para modelagem40

Regras O desenho do processo pode ser na horizontal,ou na vertical. O mais comum é na horizontal; Os objetos podem ter ou não ter títulosassociados; Se possuir título, ele pode ser dentro ou fora doelemento (acima, abaixo ou ao lado); Os elementos podem ser de qualquer tamanho,desde que se siga um padrão;41

Tamanho e posição do título42

Regras A cor padrão dos elementos é branca; Os elementos poderão ser coloridos a vontadepara representar regras de negócio própria,segmentar informações ou enfatizar objetos; Os elementos poderão ter ícones especiaisassociados, desde que não se confundam comos ícones do padrão;43

Regras É permitido criar novos tipos de artefatos; As fontes do texto poderão ser selecionadas avontade; A conexões igualmente poderão ser coloridas; As conexões poderão se encaixar em qualquerposição dos objetos;44

ConexõesRealizar compraReceber materialRealizar compraReceber materialRealizar compraReceber material45

Atentar Após selecionado um padrão (posição do título,tamanho, cor, fonte, etc.) manter este padrãoao longo de todo o BPD, e se possível ao longode todos os processos da organização; Jamais modificar ou influenciar na forma doselementos (ex.: nas atividades as bordas sãoSEMPRE arredondadas)46

Atentar Por ser a especificação bastante aberta, énecessário um projeto de “padronização daimplantação do padrão” na empresa47

Swinlanes48

Pool Um Pool representa um participante do processo; Um participante pode ser uma entidade (a própriaempresa) ou um elemento mais genérico(“cliente”, “vendedor”, “fornecedor”)independente; Pool não representa os departamentos de umaempresa; Em um modelo B2B, cada Pool representa umaempresa separada e independente; Dentro de um BPD, posso ter 1 ou mais Pools; Dentro de 1 Pool, tenho 1 ou mais Processos;49

PoolINSTITUIÇÃO FINANCEIRAEMPRESA No exemplo abaixo, temos 2 Pools, cada um comprocessos independentes, mas que se comunicamAutorizarPagamentoProcessar pedidoEmpacotarEnviarAutorização doCartão de Crédito50

Pool O mesmo diagrama porém no modelo “Caixa Preta”(Processo Abstrato), onde não conhecemos os detalhesdo PoolAutorizarPagamentoProcessar pedidoEmpacotarEnviar51

PoolPara discutirNote como as flechas que ligam elementos em diferentes Pools sãopontilhadas, ao contrário das demais, que são contínuas.52

Lanes As Lanes são utilizados para organizar ecategorizar os objetos do fluxo, facilitando aleitura e interpretação do desenho do processo; São comumente utilizadas para representar ossetores ou departamentos da empresa;53

Lanes A especificação não define o formato, tamanhoou posição dos títulos das Lanes;54

Atividades55

Atividades Atividade é um trabalho que é realizado dentrode um processo de negócio; A atividade pode ser atômica ou não-atômica(composta); As atividades podem ser do seguinte tipo:– Tarefa– Sub-Processo56

Tarefa A tarefa é a unidade atômica de um processo,é o objeto que não pode ser quebrado emmais objetos; A tarefa geralmente é executada por umapessoa ou por um sistema; Através da execução de tarefas, o processoencaminha-se de seu início até o fim;57

Tipos de Tarefas Tarefa de Serviço– Representa a execução de um serviço automatizado,como conexão a um WebService ou execução de umaplicativo na rede; Tarefa de Recebimento– Esta tarefa aguarda de maneira automática e controladao recebimento de uma mensagem (uma informação) vindade um aplicativo externo; uma vez recebida a mensagem,a tarefa é finalizada. Ex.: “aguardar o ERP gerar oarquivo de finanças” Tarefa de Envio– Esta tarefa envia uma mensagem a aplicativo externo.Uma vez enviada a mensagem a tarefa finaliza. Ex.:chamada simples a um WebService58

Tipos de Tarefas Tafefa de Usuário– Processo aguarda usuário executar tarefa dentro deum sistema (Ex.: “aprovar compra”) Tarefa de Script– Um script de comando é executado; Tarefa Manual– A tarefa manual é realizada por um usuário fora dequalquer sistema (Ex.: “telefonar para fornecedor”)59

Tipos de Tarefas Tarefa de Referência– Quando duas tarefas são iguais, é possíveldeterminar uma tarefa de referência queserá padrão para as demais.ImportanteEsses são somente exemplos.O BPMN não determina nomemclatura ou simbologia específica para cadatipo de tarefa.60

Conexões e Tarefas As tarefas podem receber nenhuma, uma oumais conexões; As tarefas podem dar origem a nenhuma, umaou mais conexões;Para discutirO que significa quando a tarefa não recebe nenhuma conexão?O que significa quando a tarefa não dá oriem a nenhuma conexão?61

Conexões e Tarefas62

Sub-Processo Um sub-processo, dentro de um BPD, éconhecido como uma atividade composta porum série de outras atividades, formando umnovo fluxo; Nós podemos olhar o sub-processo como umaatividade única, um bloco único, semelhante auma tarefa, ou podemos olhar “internamente”,desvendando os seus detalhes;63

Sub-Processo Dentro de um desenho de fluxo, um subprocesso pode ser mostrado em sua forma“aberta” ou “fechada”;Forma Fechada64

Sub-ProcessoReceber PedidoVerificar créditoVerificar SERASAForma AbertaEmpacotar65

Sub-Processo Um sub-processo fechado caracteriza-se por um caixaigual a Atividade, porém com o símbolo [ ]; Já o sub-processo aberto é uma caixa igual a atividade,porém com o desenho do novo processo internamente(logicamente, neste caso, precisamos usar uma caixamaior para representar todo o fluxo internamente);66

Sub-Processos O desenho completo de um sub-processofechado pode estar ou não dentro do mesmoPool do processo-pai;– Pode ser um proceso mapeado em outro BPD(arquivo);– Pode estar no mesmo BPD em outra páginaou outra posição; No caso de um sub-processo aberto, o desenhocompleto estará sempre no mesmo Pool.67

Dependente X Independente Os sub-processos podem ser do tipo Dependente(Embedded), quando são totalmentedependentes do processo-pai e devem serdesenhados dentro do mesmo Pool; Ou podem ser independentes, quando sãoreutilizáveis atráves de diferentes processos epossuem um BPD próprio (e até mesmo Poolsdiferentes);68

Usos de sub-processos Os sub-processos podem ser utilizados:– Para representar processos reutilizáveis;– Para controle e tratamento de erros emprocessos;– Para ações de compensão em processos;– Para controle de transações de processos;69

T

1 BPMN Business Process Modeling Notation Outubro/2006 Rafael Bortolini rafael@cryo.com.br Cryo Technologies www.cryo.com.br