Prévia do material em texto
Gerência de Processos de Negócio Mateus Conrad Barcellos da Costa Aula 4 - Modelagem Imperativa com BPMN - Continuação Objetivos Após esta aula, você será capaz de criar modelos BPMN: Com Subprocessos Com Eventos de Borda Com Desvio baseado em Eventos Com Objetos de Dados Exemplo Fábrica de Bicicletas Em uma pequena fábrica de bicicletas personalizadas, o processamento de novos pedidos é feito da seguinte forma: os pedidos de novas bicicletas são recebidos pelo Departamento de Vendas. O departamento de vendas analisa o pedido e pode rejeitá-lo ou aceitá-lo. Se rejeitado, o processamento é terminado. Caso contrário, o Departamento de Vendas aguarda a liberação da produção.. Chegada a liberação da produção, o depósito de peças e o departamento de engenharia são informados do novo pedido pelo departamento de vendas. Em seguida, o Depósito processa a lista de peças para o pedido verificando a disponibilidade da quantidade necessária de cada peça por vez. Se uma peça está disponível na quantidade necessária no depósito, esta quantidade da peça é reservada. Se ela não estiver disponível, é pedida ao fornecedor. Este procedimento é repetido para cada item da lista de peças. Enquanto isso, o Departamento de Engenharia prepara tudo para a montagem da bicicleta pedida. Assim que o depósito tiver reservado com sucesso ou obtido no fornecedor cada item da lista de peças, e a atividade de preparação terminar, o Departamento de Engenharia monta a bicicleta. Depois de montada, testada e ajustada, o Departamento de Vendas envia a bicicleta para o cliente e o processamento termina. Subprocessos Tarefa candidata a subprocesso: Decomponível, reutilizável, Realiza uma tarefa com saída bem definida. Subprocessos Estrutura interna do subprocesso Subprocessos Subprocesso Processamento de Peças Subprocessos Processamento de Peças expandido Subprocessos MAIS ALGUM CONJUNTO DE TAREFAS CANDIDATO A SUBPROCESSO? Subprocessos MAIS ALGUM CONJUNTO DE TAREFAS CANDIDATO A SUBPROCESSO? SIM!! Subprocessos MAIS ALGUM CONJUNTO DE TAREFAS CANDIDATO A SUBPROCESSO? SIM!! Eventos de Borda Suponha que após pedir uma peça no fornecedor a peça não seja encontrada e: O Processamento de Peças tenha de ser interrompida O cliente notificado O processo de fabricação terminado. Podemos fazer isso com um evento levantado pelo subprocesso Processamento de Peças e capturado pelo processado chamador (Fábrica de Peças) Para isso usaremos um Evento de Borda anexado ao Subprocesso Eventos de Borda Evento de Borda -(Erro): O evento de erro é Interruptivo: significa que o subprocesso será interrompido quando o mesmo for levantado (mas temos de fazer isso acontecer!) Eventos de Borda Representando internamente o evento capturado na borda: O evento de erro é Interruptivo o subprocesso levanta um evento de fim com erro! Desvio Baseado em Eventos Suponha que a condição Liberação da Produção nunca fique verdadeira (TRUE)!! O evento intermediário Liberação da Produção bloqueia o fluxo de sequência em que se encontra e o processo não termina nunca! Desvio Baseado em Eventos Pode-se usar um Desvio baseado em Eventos e um evento temporizador para mitigar esse tipo de situação. Suponha que se a liberação não ocorrer em 2 dias o fluxo pedido deve ser interrompido, o cliente notificado e o processo deve terminado: Neste caso após 2 dias, se a liberação não ocorrer iremos desviar o fluxo de sequência para um caminho que atenda a esta especificação! Desvio baseado em Eventos O evento bloqueia o fluxo de sequência até a condição ser verdadeira. Desvio baseado em Eventos Eventos avaliados no desvio: o primeiro que ocorrer dispara o fluxo de saída associado. e os demais eventos são ignorados. Desvio baseado em Eventos Objetos de Dados em BPMN Suponha que após a Liberação da Produção, A Engenharia análise o pedido e monte a Lista de Peças, que posteriormente será processada pelo Depósito Essa lista pode ser representada por um objeto de Dados. Um objeto de dados serve para representar informação ativa no contexto de uma instância de execução do processo. Objetos de Dados em BPMN Objeto de Dado. Conectado por associações de fluxo de informação. Não interferem no fluxo de execução image9.png image2.png image3.png image1.png image7.png image8.png image5.png image6.png image12.png image11.png image4.png image10.png