| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2006 08:43:42
|
spranta
JavaEvangelist
![[Avatar]](/images/avatar/e3ca0449fa2ea7701a7ac53fb719c51a.png)
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) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2006 09:44:42
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2006 20:11:47
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/10/2008 14:32:07
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/10/2008 16:10:44
|
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. |
|
|
 |
|
|