·

Engenharia de Software ·

Modelagem e Simulação de Processos

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Contents 1 More on Rework and Repetition 2 Handling Events 3 Handling Exceptions 4 Processes and Business Rules 5 Recap Chapter 4 Advanced Process Modeling Abortar execução de processo Exceções são eventos que desviam um processo de seu curso normal A forma mais simples de exceção é notificar que há uma exceção resultado negativo Isso pode ser feito por meio do evento de fim Terminar ele força todo o processo a abortar limpar todos os tokens deixados para trás se houver inclusive em subprocessos 2 Exemplo 1 evento de encerramento Sinalize o resultado negativo de reabastecimento de produtos 3 Exemplo 2 evento de encerramento Aborte o processo removendo todos os tokens 4 Tratamento de exceções em programação 5 try catch Exception e try except Interna Algo dá errado dentro de uma atividade e por isso execução deve ser interrompida Tratado com evento de Erro Externa Algo dá errado fora do processo e a execução da atividade atual deve ser interrompida Tratado com evento de Messagem Timeout Uma atividade demora muito e deve ser interrompida Tratado com evento de Tempo Tratamento de exceções em processos Interrupção de uma tarefa ou subprocesso e execução de uma atividade especial Tipos de exceções 6 São eventos intermediários interrompem a atividade delimitadora e iniciam a rotina de tratamento da exceção Error Event Indicates an error the end version generates an error event while the catching intermediate version consumes it when attached to the boundary of an activity Evento intermediário de erro interrompe fluxo de execução desviando para atividade especial de tratamento de erro Deve ser anexado ao limite da atividade Exceção interna evento de erro 7 End Start Intermediate Evento final de erro levanta um erro Deve ser usado em um subprocesso Considere novamente nosso exemplo de processo de pedidos Extensão desse processo Se um item não estiver disponível qualquer processamento relacionado ao pedido deve ser interrompido Depois disso o cliente precisa ser notificado de que o pedido de compra não poderá ser continuado Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled Exemplo exceção interna 8 Manuseio de pedidos PO Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Solução exceção interna Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Items not available Items available Items not available Notification sent Deve capturar um evento de erro gerado de dentro da mesma atividade 9 Lançar e capturar eventos de erro devem ter o mesmo rótulo Manuseio de pedidos PO Estender de tratamento de sinistros Depois de verificar a apólice de seguro um resultado possível é que o seguro seja inválido Nesse caso qualquer processamento é cancelado e uma carta é enviada ao cliente No caso de um sinistro complexo isso implica que a verificação de danos seja cancelada se ainda não tiver sido concluída Mais um exemplo exceção interna Check Policy Check Damage simple or complex claim complex claim Classify Claim Claim received Claim checked 10 Solução exceção interna 11 Check Policy Check Damage simple or complex claim complex claim Claim checked Classify Claim Claim received Check insurance Check Policy Check Damage simple or complex claim complex claim Classify Claim Insurance checked Claim received Claim needs be classified Claim checked Check insurance Check Policy Check Damage simple or complex claim complex claim Policy is invalid Classify Claim invalid policy Insurance checked Claim received Claim needs be classified Claim checked valid policy Notify Customer Policy is invalid Claim rejected Exemplo exceção externa 12 Uma solicitação de alteração de pedido de compra quantidade ou tipo dos produtos pode ser recebido a qualquer momento após o registro do pedido Quando tal solicitação é recebida qualquer processamento relacionado ao pedido deve ser interrompido A solicitação de alteração de pedido de compra é então registrada e fluxo reiniciado Se o cliente envia uma solicitação de cancelamento do pedido o processamento deve ser interrompido e a solicitação de cancelamento deve ser tratada Manuseio de pedidos PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled Solução exceção externa 8 Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent PO Change received Register PO Change PO Cancel received Handle PO Cancelation PO canceled Manuseio de pedidos PO Exemplo eventos de limite sem interrupção 14 O cliente pode enviar uma solicitação de alteração de endereço após o registro do pedido de compra Quando tal solicitação é recebida ela é só registrada sem mais ações Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Items not available Items available PO Change received Register PO Change PO Cancel received Handle PO Cancelation PO canceled Items not available Notification sent Manuseio de pedidos PO Eventos de limite sem interrupção Às vezes podemos precisar desencadear uma atividade paralela ao fluxo normal ou seja sem interromper o fluxo normal Isso pode ser feito usando eventos de limite sem interrupção 15 Deve ser anexado ao limite da atividade Solução eventos de limite sem interrupção 16 Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Items not available Items available PO Change received Register PO Change PO Cancel received Handle PO Cancelation PO canceled Items not available Notification sent Update customer address Address change received Customer address updated Manuseio de pedidos PO Se o cliente envia uma solicitação de cancelamento do pedido o processamento deve ser interrompido e a solicitação de cancelamento deve ser tratada Exceções complexas 17 Se o cliente enviar uma solicitação de cancelamento de pedido após seu registro o pedido é avaliado primeiro Com base no andamento do processamento do pedido por exemplo se os itens já foram buscados em armazéns externos uma penalidade é determinada e comunicada ao cliente O cliente tem 48 horas para aceitar a penalidade e continuar com o cancelamento ou para interromper o cancelamento e continuar com o pedido Manuseio de pedidos PO Exceções complexas evento de sinal Para enviar ou receber um sinal para fins de sincronização Um sinal é transmitido sem nenhum alvo específico Assim pode ser capturado várias vezes Os sinais são diferentes das mensagens que são roteadas para um destino específico End Intermediate Start Catching Throwing Pode ser anexado ao limite da atividade Solução evento sem interrupções evento de sinal Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Items not available Items available PO Cancel received Handle PO Cancelation PO canceled Items not available Notification sent Update customer address Address change received Customer address updated PO Cancel received Determine cancelation penalty Notify penalty to customer Request to continue received 48 hours Request to stop received PO to be canceled PO not canceled Charge penalty PO to be canceled PO canceled Handle PO cancelation Transmite um sinal para todos os eventos de captura de sinal com o mesmo rótulo Manuseio de pedidos PO Para lidar com eventos que podem não se referir a uma tarefasubprocesso específico dentro de um processo Colocado em um processo ou subprocesso É ativado quando seu evento de início é acionado Ele pode ou não interromper o processo ou subprocesso pai dependendo do tipo de evento de início Sem interrupções Com interrupções Event SubProcess Event SubProcess Subprocesso de evento Exemplo subprocesso de evento Manuseio de pedidos PO PO Inquiry handled Handle PO inquiry PO Inquiry received Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Items not available Items available Handle PO Register PO PO Received Next working day weekend holiday Check Availability Send PO Response weekday PO fulfilled PO Registered Response sent Items not available Items available Customer address updated Update customer address Address change received PO Change received Register PO Change PO canceled PO Cancel received Handle PO Cancelation Items not available Notification sent Somente receptivo a eventos que ocorrem durante a execução do subprocesso delimitador Subprocessos de eventos ou eventos de limite Compensação de atividade Depois que um pedido é registrado verificado e uma resposta é enviada de volta um subprocesso de pagamento e um de atendimento são iniciados Durante esses dois subprocessos um cancelamento de pedido de compra pode ser recebido do cliente Neste caso ambos os subprocessos são interrompidos e os seus efeitos são revertidos ex pode ser necessário proceder a reembolso eou devolução de mercadorias 23 Reversão de pedido de compra Reversão de atividades de processo concluídas Pode ser usado como parte de um procedimento de tratamento de exceção Acionado ao lançar o evento Compensar O tratador de Compensação um evento de Compensação de captura uma atividade de Compensação executa a reversão Compensation handler Compensação de atividade 24 Solução compensação de atividade Fulfil and Pay PO Payment Fulfillment Re imbursement Goods return PO Cancel received Cancel PO Cancel PO Cancel PO PO Received Handle PO PO fulfilled and paid Apenas uma atividade de compensação deve ser vinculada a uma captura de evento de compensação 25 A atividade de compensação pode ser um subprocesso Reversão de pedido de compra Recapitulação Eventos 26 Untyped indicate start point state changes or final states Message Receiving and sending messages Timer Cyclic timer events points in time time spans or timeouts Signal Signalling across different processes A signal can be caught multiple times Start End Intermediate Catching Throwing Boundary Interrupting Boundary Non Interrupting Error Catching or throwing named errors Compensate Handling or triggering compensation Terminate Triggering the immediate termination of a process 1 Exceções representam desvios do curso normal de um processo 2 Podem ser internas externas ou de timeout 3 A maneira mais simples de lidar com exceções é por meio do aborto do processo usando eventos de encerramento 4 Eventos de erro capturam exceções internas 5 Os eventos de mensagem capturam exceções externas 6 Os eventos temporais capturam os tempos limite de uma atividade 7 Os eventos de sinalização transmitem várias mensagens e podem ser usados para capturar exceções complexas 8 Eventos de compensação são necessários para reverter os efeitos das atividades concluídas Recapitulando