• Nenhum resultado encontrado

SUMÁRIO 1 Introdução 27

5.3 T RANSFORMAÇÃO DOS ELEMENTOS DA BPMN PARA CASOS DE USO

5.3.4 T AREFA DE S ERVIÇO

A diferença entre tarefa de serviço e tarefa de usuário da BPMN está no fato de que a tarefa de serviço é executada por um sistema ou webservice sem a intervenção do usuário.

A transformação de uma tarefa de serviço pode seguir a mesma abordagem utilizada na tarefa de usuário, ou seja, essa tarefa dá origem a um caso de uso e o ator do caso de uso é a raia que contém a tarefa. Entretanto em uma tarefa de serviço não há intervenção do usuário, não existindo uma interação entre o ator e o sistema. O ator nesse caso representa apenas o interessado no objetivo do caso de uso ou mesmo quem inicia o caso de uso, mas não interage diretamente com o mesmo. A Figura 27 mostra um exemplo dessa transformação. Nesse exemplo o diagrama BPMN contém duas tarefas. Uma tarefa de usuário Cadastrar Pedido e outra tarefa de serviço Atualizar Ranking de Pedidos. Essa tarefa de serviço representa uma rotina do sistema que atualiza informações da situação dos pedidos nas filiais. A transformação dessa tarefa em caso de uso se torna interessante para identificar quem é o interessado na realização disso ou mesmo quem inicia esse caso de uso.

Nessa situação a transformação nos elementos do metamodelo é a mesma que ocorre para tarefa de usuário, mas nesse caso se utiliza a classe Service Task.

Outra forma de transformar tarefa de serviço em elementos de casos de uso é fazer com que a tarefa seja um passo de um caso de uso. Nessa situação a tarefa se torna um passo, executado pelo sistema, dentro do caso de uso originado por outra tarefa (nesse caso de usuário) que precede essa tarefa de serviço. O exemplo da Figura 28 ilustra essa situação.

Figura 28 - Tarefa de Serviço para passo de um caso de uso

Nesse exemplo a tarefa não aparece no diagrama de casos de uso. Ela é mapeada para um passo do fluxo básico da descrição do caso de uso originado pela tarefa de usuário que precede a tarefa de serviço, no exemplo a tarefa Cadastrar Pedido. O passo do fluxo básico indica a execução da tarefa pelo sistema, por exemplo, “Sistema atualiza ranking de pedidos”. O resultado dessa transformação pode ser conferido na Figura 29 que mostra a descrição obtida para o caso de uso Cadastrar Pedido. Em termos de metamodelo a transformação ocorre entre as classes Service Task da BPMN e Step do metamodelo de casos de uso.

Nome do Caso de Uso: Cadastrar Pedido

Descrição:

Lista de Atores: Atendente

Pré-condições: Acionador: Fluxo básico de

eventos: ... Sistema atualiza ranking de pedidos.

Fluxos alternativos: Pontos de Extensão: Pós-condições:

Figura 29 - Descrição do caso de uso Cadastrar Pedido

É importante observar que a descrição obtida não é completa. Essa descrição contém apenas os elementos que podem ser identificados a partir do diagrama BPMN. As descrições devem ser refinadas com base em outras informações necessárias a esse refinamento. Não é objetivo das transformações propostas nesse trabalho obter a descrição completa de um caso de uso, mas sim auxiliar na identificação desses casos de uso e alguns elementos da sua descrição quando esses estão presentes nos diagramas BPMN.

Existe ainda a situação em que essa tarefa de serviço é algo executado por um sistema externo ao sistema que está sendo analisado. Nessa situação a recomendação é colocar essa tarefa

de serviço em outra raia sendo que essa raia deve representar o sistema externo. Dessa forma a tarefa de serviço se torna um caso de uso que tem como ator o sistema externo.

Com base nas situações descritas acima verifica-se que a transformação do elemento tarefa de serviço da BPMN para elementos de caso de uso da UML possui as seguintes possibilidades:

a) A tarefa de serviço é transformada em um caso de uso. O ator do caso de uso é a raia que contém a tarefa.

b) A tarefa de serviço é transformada em um passo de um caso de uso originado por uma tarefa de usuário que precede a tarefa de serviço.

c) A tarefa de serviço se torna um caso de uso que tem como ator um sistema externo. A primeira alternativa é mais adequada quando se deseja mostrar no diagrama de casos de uso os interessados na realização do objetivo da tarefa de serviço. A segunda alternativa pode ser usada quando não é interessante representar essa tarefa como um caso de uso separado, sendo a mesma um simples passo de outro caso de uso. A terceira é usada quando a tarefa é realizada por um sistema externo.

5.3.5 GATEWAY

Gateways são elementos utilizados para determinar o caminho dos fluxos de seqüência definidos. Um diagrama de casos de uso não apresenta a seqüência de execução dos casos de uso, por esse motivo a transformação de um gateway em BPMN para elementos de caso de uso não é direta, sendo necessária uma verificação de qual o gateway usado e o contexto das tarefas relacionadas com ele no processo modelado.

5.3.5.1 GATEWAY EXCLUSIVO

Um gateway exclusivo é usado em partes do diagrama onde existe a necessidade de seguir um determinado caminho do fluxo quando uma determinada condição for atendida. Essa condição determina qual será o fluxo de seqüência a ser seguido. Apenas um dos caminhos do gateway pode ser seguido. A transformação de um gateway exclusivo para um caso de uso pode ocorrer de diversas formas.

Um gateway exclusivo pode dar origem a relacionamentos de extensão, inclusão e especialização entre os casos de uso originados pelas tarefas envolvidas no gateway. Outra possibilidade é o gateway dar origem a passos de determinado casa de uso. Essa última alternativa é abordada mais adiante na transformação do elemento Grupo.

Possibilidade 1 – Gateway Exclusivo resulta em relacionamentos de extensão de casos