Duvida, include - extend  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
spranta
JavaEvangelist
[Avatar]

Membro desde: 19/01/2004 17:32:48
Mensagens: 305
Localização: Belo Horizonte
Offline

Situação 1.
Tenho um caso de uso Manter Funcionario e tenho um caso de uso chamado Pesquisar (que é um componente de pesquisa generico dentro do sistema e que é incluido em todas as paginas de entidades do sistema). Para o fluxo Basico de Manter Funcionario eu nao uso o componente de Pesquisar, no entanto, quando se eu for excluir (fluxo alternativo do UC) então antes eu preciso fazer a consulta e portanto utilizar o UC Pesquisar. Nesse caso, o relacionamento entre os UCs (Manter Funcionario e Pesquisar) seria de include? Veja que nem sempre o caso de uso incluído (Pesquisar) seria executado. Ele somente seria executado quando o fluxo alternativo de exclusão fosse executado.

Situação 2.
Considere um caso de uso CRUD Manter Cliente. Suponha que o cliente possua vários contatos, e que manterei algumas informações de cada contato. Então eu teria um outro caso de uso CRUD, chamado Manter Contato.
O sistema terá uma tela de cadastro de cliente e nessa tela terá um botão "Contatos". Esse botão abre uma tela listando os contatos cadastrados. A partir dessa tela, pode-se abrir a tela de cadastro de contato.
Sendo assim, "Manter contato" só pode ser executado após a execução de "manter cliente".
Eu gostaria de saber qual seria a relação entre esses dois casos de uso. Seria include ou extend? Lembre-se que o caso de uso "manter cliente" sempre poderá ser executado sem executar o "Manter contato".

Obrigado a todos

"Não somos apenas ignorantes. Somos ignorantes sobre o quão ignorantes somos."
(Charles Darwin)
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Olá Spranta, vamos lá...

Antes de mais nada, gostaria acrescentar que se existe um componente X que faz isso ou aquilo, o caso de uso é completamente cego a esse respeito. Pouco importa para o caso de uso o que acontece dentro do sistema!

O caso de uso é a visão do usuário a respeito do sistema. O caso de uso mapeia o problema e não a solução. O caso de uso mostra o que o sistema faz, e não como ele faz. O caso de uso é um objetivo do ator, não tarefas do sistema.

Tendo isso em vista, enxergo que você possui só dois casos de uso:

- Manter Funcionario
- Manter Cliente (se o objetivo de Manter Contato só ocorre dentro de Manter Cliente esses dois são um objetivo só).

A ASPERCOM tem um curso on-line grátis sobre Casos de Uso com um estudo de caso, tarefas práticas e muito mais. Se quiser é só acessar:

www.aspercom.com.br









Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
coutinho
HelloWorld

Membro desde: 21/11/2003 16:51:13
Mensagens: 13
Offline

QUANDO USAR ESTERIOTIPO INCLUDE OU EXTENDS PARA UC?

Temos as funcionalidades (Casos de Uso) A e B, imaginamos que ambos estão relacionados, bom, vamos aos exemplos para cada situação.


A --------<<include>>----------->B
INCLUDE: Uso obrigatório, toda vez que o caso de uso A for executado, obrigatoriamente o B também deverá ser executado. Ex: Cadastro de Pessoa Fisica para financiamento de $$
Durante o cadastramento UC(Cadastrar Pessoa) obrigatoriamente deverá ser consultado o CPF para liberar o crédito, é aonde entra o UC(Consultar Restritivos).

A <--------<<extends>>-----------B
EXTENDS: Facultativo, ao executar o caso de uso A, não se torna obrigatorio a execução do caso de uso B.
Ex: Dar desconto em para uma compra em dinheiro
Na execução do UC(Controlar Venda) posso ou não dar desconto, caso eu queira das desconto executo o UC(Definir Desconto)..


Espero ter ajudado..

falows







webjudoca
Smalltalk

Membro desde: 10/10/2008 14:28:32
Mensagens: 1
Offline

Coutinho cara...
eu tava estudando UML e tava meio confuso com relação aos conceitos de include e extends e vc com esses exemplos que deu ma ajudou muito...
não fui eu quem pedi uma explicação aqui nessa página, mas msm assim agradeço...
muito obrigado cara e fica com DEUS
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Em ambas situações acho que tem um extend.
Primeira Situação:
UCManterCliente <-- <extends> -- Pesquisar

Segunda Situação:
UCManterCliente <-- <extends> -- Manter Contato

Se eu estiver errado, por favor, me corrijam.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team