Home
Ter
25
Nov

Anatomia de um Caso de Uso - Parte 2

Atenção, abrir em uma nova janela. PDFImprimirE-mail

Retomando

 

 

"Anatomia de um caso de uso" é uma série de artigos que discute os elementos que compõem a estrutura de um caso de uso.

 

A série começou, de fato, no artigo “Requisitos, Casos de Uso e Desenvolvimento”, que apresenta conceitos sobre requisitos, sua importância e o papel do caso de uso na sua elicitação.

 

No artigo anterior, “Anatomia de um Caso de Uso - Parte 1”, foi apresentado o conceito de cenário principal de sucesso e introduzido o conceito de extensões. Abaixo, retomamos o assunto, a partir deste conceito.

 

 

Extensões II

 

 

Extensões são situações excepcionais dentro do cenário principal de sucesso. Normalmente são causadas por uma condição de erro, (como nos casos das extensões 3a e 6a) ou uma situação específica dentro da transação de negócio, (que pode ser permitida ou não, como no caso da extensão 6b).

 

Quando estamos modelando o cenário principal de sucesso, devemos nos concentrar nele, ou seja, na situação geral da transação.

 

Sempre que identificamos uma extensão, podemos registrá-la da forma demonstrada acima. Não há problema em fazer o registro se acompanhar de uma pequena nota quanto à expectativa da equipe de negócios na ocorrência daquela situação, mas o fato é que você deve conduzir o levantamento de forma a não se perder na discursão dos detalhes de alguma extensão até que haja um acordo com relação ao cenário principal de sucesso.

 

Exemplo:

 

 

Caso de Uso:

Requisitar Reboque

 

Ator Primário:

Segurado

 

Resumo:

Segurado liga para a central telefônica, identifica-se confirmando informações sobre a apólice, informa o endereço onde se encontra o veículo e recebe a estimativa para chegada do veículo.

 

Cenário Principal de Sucesso:

 

(...)

 

Extensões:

 

3a) Segurado não sabe o número da apólice;

 

(Podemos pesquisar a apólice por outras informações)

 

6a) Segurado não consegue confirmar informações;

 

(Não enviamos o reboque neste caso)

 

6b) A pessoa quem fez a ligação não é o segurado;

 

(É possível, pode ser um terceiro reportando um sinistro, por exemplo!)

 

 

 

 

Extensões III

 

A partir do momento que se tenha obtido um acordo quanto ao comportamento descrito no cenário principal de sucesso, podemos nos concentrar em especificar cada extensão, individualmente.

 

Naturalmente, este passo deve ser antecedido por uma análise do cenário principal obtido. Esta análise pode apontar outras condições de erro ou situações que podem produzir outras extensões, não percebidas antes.

 

A especificação de uma extensão segue os mesmos critérios da especificação do cenário principal de sucesso.

 

Em ambos os casos estamos modelando comportamento, com a diferença de que, quando falamos de uma extensão, estamos modelando o comportamento esperado pela equipe de negócios como resposta à situação proposta pela extensão.

 

As respostas possíveis, claro, dependerão de cada situação e de cada negócio (bem como de decisões operacionais, táticas e estratégicas), mas sabemos que podem resultar em três fins:

 

 

a) O comportamento resulta na conclusão da transação, de forma que a extensão representará, uma alternativa para se atingir o objetivo da transação de negócio;

b) O comportamento resulta no encerramento da transação, bloqueando a possibilidade dela se concretizar, representando uma situação em que a transação é impossível, inviável ou proibida;

 

c) O comportamento resulta em um “ponto de espera”, onde outro procedimento precisa ser realizado para que seja permitido ao caso de uso, atingir seu objetivo. Em termos de caso de uso, isto pode significar a relação com outro caso de uso, ou – simplesmente, a descrição de um workflow embutido;

 

 

No nosso exemplo poderíamos ter algo como:

 

 

Caso de Uso:

Requisitar Reboque

 

Ator Primário:

Segurado

 

Resumo:

Segurado liga para a central telefônica, identifica-se confirmando informações sobre a apólice, informa o endereço onde se encontra o veículo e recebe a estimativa para chegada do veículo.

 

Cenário Principal de Sucesso:

 

(...)

 

Extensões:

 

3a) Segurado não sabe o número da apólice;

 

1. Segurado informa seu nome;

2. Operador insere na pesquisa por nome;

3. Sistema localiza a apólice correspondente;

4. Procedimento continua do passo 5.

 

6a) Segurado não consegue confirmar informações;

 

1. Operador informa que não poderá fazer o atendimento;

2. Operador encerra procedimento;

3. Sistema registra ocorrência para estatísticas e controle.

 

6b) A pessoa quem fez a ligação não é o segurado;

 

1. Operador coleta dados do informante;

2. Operador solicita ao informante informações para poder identificar a apólice;

3. Operador solicita que informante confirme informações do veículo;

4. Procedimento continua do passo 7.

 

 

 

Observe que:

 

 

1) Extensões 3a e 6b são alternativas para atingir o objetivo da transação;

2) Extensões 3a e 6b terminam indicando o número do passo no cenário principal de sucesso, a partir do qual o procedimento retoma seu curso normal;

3) Extensão 6a é uma condição de erro que aborta a transação;

 

 

Não necessariamente uma extensão que seja alternativa para conclusão com sucesso precisa retornar o procedimento para o cenário principal de sucesso, como no caso das extensões 3a e 6b. Pode ser que a situação exija um comportamento 100% alternativo desde a detecção de sua condição. De qualquer forma, esteja atento para identificar, se nestes casos, a extensão é realmente uma extensão do caso de uso em questão ou um outro caso de uso relacionado.

 

O passo 6b.3, pode produzir também uma extensão: Sua condição (e nome) seria : “Informante não consegue confirmar informações”. Neste caso, esta extensão teria o mesmo tratamento da extensão 6a. O interessante aqui é salientar que extensões também podem ter extensões e – nessa situação – a forma proposta de numerarmos pode se tornar confusa, mas deve ser mantida. Em grande parte dos casos, vai acontecer destas extensões corresponderem à extensões do cenário principal, como no exemplo, mas quando isso não ocorrer, basta especificá-las da mesma forma que as demais:

 

 

(...)

 

6b) A pessoa quem fez a ligação não é o segurado;

 

(...)

 

6b.3a) Informante não consegue confirmar informações


(Proceder como em 6a).

 

 

 

 

Finalizando (por enquanto)

 

Creio que o motivo pelo qual analisamos primeiro o cenário principal e, depois, cada extensão individualmente, comece a ficar claro: seguindo este procedimento, garantimos que seremos capazes de identificar, se não todos, a imensa maioria das exceções do caso de uso.

 

Perceba que junto com elas, também descobrimos – ao modelar o comportamento de resposta – muitos requisitos funcionais e não funcionais. Mas isso, é assunto para um outro artigo!

 

 

Sobre o Autor

 

Júlio Oliveira
Júlio Oliveira é Analista de Sistemas com Pós-graduação em Gerência de Projetos de Software pela PUC/Rio. Têm 20 anos de experiência em desenvolvimento de software corporativo, dos quais 10 anos, em seguradoras de médio e grande porte, atualmente, trabalha com consultoria de TI e desenvolvimento de web sites.

 

 



Adicionar este artigo ao seu site de favoritos ?
Digg! Reddit! Del.icio.us! Google! Live! Facebook! Technorati! StumbleUpon! MySpace! Netvouz! Mister-Wong! Diigo! Faves! Ask! DZone! Swik! Twitter! LinkedIn!

Adicionar comentário

Seu apelido/nome:
Comentário:

Menu Principal

Editar traduo para English (United Kingdom) Editar traduo para Português (Brasil)
Blog Sistemas e Cia