Este Blog tem objetivo de manter informações sobre o estudo de desenvolvimento de software com UML.

terça-feira, julho 13, 2004

INCLUDE OU EXTEND

O QUE SÃO ?
- Relacioamentos entre casos de uso. As definições são muito parecidas a príncipio e podem causar alguma confusão. Particularmente, eu não havia compreendido a diferença entre eles.No úlitmo livro que estou lendo a autora define :

EXTEND: indica que um caso de uso terá seu procedimento ACRESCIDO de outro caso de uso;
INCLUDE: indica que um caso de uso terá seu procedimento COPIADO no outro caso de uso;

ACRESCIDO, COPIADO - isso pode gerar certa dúvida para decidir qual devemos usar, mesmo porque as duas definições parecem ser a mesma coisa. Eu achei meio confuso, mas adotei como critério diferenciador os conceitos desse último livro que detalho a seguir:

QUAL A DIFERENÇA ?
INCLUDE
- Na versão da UML 2.0,o INCLUDE substituiu o USE, que era utilizado na UML versao 1.2
O INCLUDE é usado para relacionar dois casos e uso, informando que um deles terá seu procedimento "incluído no outro", de forma incondicional, ou seja vai acontecer. Por exemplo:

" CASO DE USO MATRICULAR ALUNO
1. O aluno digita sua matrícula. O sistema deverá verificar se a matrícula é válida. - Include (validar matrícula)
2. ...."

No exemplo, o caso de uso VALIDAR MATRÍCULA está incluído no caso de uso MATRICULAR ALUNO, ou seja em determinado momento vai acontecer VALIDAR MATRÍCULA...

EXTEND
Eu achei que o EXTEND se parece bastante com o INCLUDE. Mas ele "extende" um caso de uso, PODENDO ocorrer em um determinado ponto (cenário). Por exemplo:"

"CASO DE USO EFETUAR PAGAMENTO
4....
5.Escolher forma de Pagamento.
5.1 Se cliente VIP, calcular desconto especial. EXTEND (desconto cliente VIP)
6....


Veja que o caso de uso DESCONTO CLIENTE VIP só ocorre se o Cliente for VIP, não ocorrendo incondicionalmente como o INCLUDE.

QUANDO USAR ?
INCLUDE : Quando você perceber que um determinado trecho do caso de uso, poderá ser utilizados em mais de um caso de uso.
EXTEND: Idem ao INCLUDE com uma diferença: deverá ocorrer de forma condicional.

4 Comments:

Anonymous Anônimo said...

Marcelo said:

Finalmente descobriu como usar um if nos casos de uso.
(rsrsrsrsrs)

Muito legal.

5:23 AM

 
Anonymous Anônimo said...

Muito Obrigado !!!
Esclareceu bastante !!!

4:46 AM

 
Anonymous Luan said...

Mt bom amigo, simples é bem fácil de enteder.
Muito obrigado

10:50 AM

 
Anonymous Anônimo said...

Procurei em 5 sites, só voce falou da condição no extend. Parabens

7:57 AM

 

Postar um comentário

<< Home