| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/05/2006 20:21:12
|
guaraviton
Thread.start()
Membro desde: 27/03/2006 16:57:58
Mensagens: 28
Offline
|
Pessoal, estou desenvolvendo a documentação do meu projeto final, e tenho acho que duvidas basicas sobre uml. Estou utilizando MVC (Struts). Tenho duas classes, uma de controle e uma DAO. Naõ sei qual relacionamento fazer sobre elas. Tipo assim:
Entao, seria mais ou menos assim, teria uma controle e essa controle instanciaria a DAO para recuperar algo. Achei que isso seria relacionamento de depencia, ja que a controle dependeria da DAO para fazer o que necessita. To certo?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2006 10:11:46
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
Olha, depende do que você quer demonstrar com o modelo. Para te falar a verdade, se está bem compreendido como funciona as duas classes vejo bem pouca aplicação no estabelecimento desse relacionamento no seu modelo UML.
A meu ver, a maneira como um Control se relaciona com um Entity (ou coisa que o valha como o seu DAO) é melhor demonstrada num diagrama de interação (como o de sequência que é o mais popular).
Mas usar a UML só para fazer demonstração de conceitos (documentação)é a mesma coisa que ir para a Disney só para tirar a foto com o Mickey (essa foi muito ruim)
Dá uma olhada no link abaixo:
http://www.aspercom.com.br/ead/file.php/1/Arquivos/UML_Mitos_e_Erros.ppt
|
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) 26/05/2006 16:27:09
|
guaraviton
Thread.start()
Membro desde: 27/03/2006 16:57:58
Mensagens: 28
Offline
|
obrigado por responder amigo, mas quer dizer que vc nao aconselha a modelagem de classes de controle e de negocios? Ou seja, seria importante se basear nos objetos mesmo, tipo os que representam as tabelas, os VO,os que são persistidos, e se preocupar com as classes de controle e DAO somente no diagrama de sequencia? mostrando como eles se comunicam?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/05/2006 18:21:53
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
Não, não, vc não entendeu... eu não aconselho estabelecer o relacionamento.
Bom, não existe receita de bolo, vou te passar um overview. Se tiver bons requisitos na mão inicie pensando na parte estática do sistema: classes de negócio ou de domínio, como vc citou, aquelas que persistem. Não pense nos métodos de negócio ainda. Você vai descobri-los mais tarde.
É bem interessante pensar nessa modelagem da maneira como discutimos aqui.
http://www.guj.com.br/posts/list/33027.java
Ok, já sabemos como o negócio funciona, mas não sabemos como a aplicação funciona. Nesse momento pesquise como seus usuários vão interagir com o sistema. Se tiver os casos de uso ou algo que o valha facilita.
Sabendo como o usuário usa o sistema, coloque-o no diagrama de sequencia (ator), a tela (boundary class), o controle (ou service). Aí é só começar a interagir. O ator faz isso na tela a tela vai buscar não sei o que não sei aonde e retorna alguma coisa para o ator que faz aquilo na tela e a tela vai processar não sei o que não sei aonde e por aí vai....
Viu só... você consegui modelar o sistema de um jeito fácil e prático, sem esticar setas desnecessárias... para não perder tempo gere o código e prossiga até ter o release.
(enfatizo que este é um modo de fazer, o jeito que eu faço, alguns podem dizer que dá para fazer as interações antes de pensar na parte estática)
Use a UML para analisar o sistema. Dependência você usa quando quiser enfatizar uma dependência. Se você quiser esticar seta para todas as dependências que há no sistema você morre louco!
(desculpe, este é um post de sexta-feira a tarde)
|
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 19:36:58
|
coutinho
HelloWorld
Membro desde: 21/11/2003 16:51:13
Mensagens: 13
Offline
|
Independente do que vc vai fazer, modelar ou não, apenas respondedo a sua pergunta de acondo com o codigo que vc postou:
Tem relacionamento sim, fica assim: usando seta tracejada unidirecional onde, a classe MinhaClasseControle aponta para MinhaClasseDao, vou tentar desenhar, blz?
MinhaClasseControle ---------<<use>>--------> MinhaClasseDao
Pode até usar o esteriótipo, ou não..
Neste caso, usa-se seta traceja para mostrar o relacionamento pelo simples fato, a instância da MinhaClasseDao vive enquanto o método MinhaClasseControle.recuperaAlgo() estiver sendo executado, porque vc esta declarando e instanciando o objeto dentro do metodo (relacionamento fraco)
Agora, se vc estivesse programado assim: por ex:
Seria um relacionamento (forte) pois, a declaração do obj DAO fica no escopo de classe da MinhaClasseControle ao contrario da situação anterior, onde a instacia vive no escopo do método.
Neste caso, relacionamento (forte) usa-se uma seta lisa e unidirecional onde a MinhaClasseControle aponta para MinhaClasseDao, vamos desenhar de novo, vai ser dificil mostrar uma seta.. mas vale a intenção...
MinhaClasseControle _____________> MinhaClasseDao
Bom, é isso ..
espero ter esclareciso sua dúvida
falows
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/06/2006 11:11:37
|
rodrigoy
GUJ Ranger
![[Avatar]](/images/avatar/cf79ae6addba60ad018347359bd144d2.jpg)
Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline
|
coutinho wrote:Independente do que vc vai fazer, modelar ou não, apenas respondedo a sua pergunta de acondo com o codigo que vc postou:
Tem relacionamento sim, fica assim: usando seta tracejada unidirecional onde, a classe MinhaClasseControle aponta para MinhaClasseDao, vou tentar desenhar, blz?
MinhaClasseControle ---------<<use>>--------> MinhaClasseDao
Coutinho, se vc for esticar dependência para todas as classes que são utilizadas nos métodos, você não imagina que seriam muitas setas? Vc acha que seria produtivo? Acha que isso agregaria alguma coisa no projeto?
Tom Pender (UML - The Bible) wrote:
Dependency represents a client-supplier relationship in which a change to the supplier requires a change to the client. Dependency may also represent precedence.
como falei, é mais produtivo esticar dependências para aquilo que você quiser enfatizar no modelo. Se for esticar todas, esse rigor não agrega nada para o projeto. Dependência não gera código....
|
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) 05/06/2006 12:48:59
|
coutinho
HelloWorld
Membro desde: 21/11/2003 16:51:13
Mensagens: 13
Offline
|
Caro Rodrigo,
Apenas mostrei que tipo de relacionamneto existe entre as duas classes que ele postou, certo??????? Não disse que ele tem que mostrar todos os relacionamentos de todas 999.000.38474.48484 mil classes que ele tem no projeto.
É bem como vc disse:
rodrigoy wrote:Coutinho, se vc for esticar dependência para todas as classes que são utilizadas nos métodos, você não imagina que seriam muitas setas? Vc acha que seria produtivo? Acha que isso agregaria alguma coisa no projeto?
Tentei explicar a UML para o caso dele, e não ficar contando um monte de lorota que só vai confundir as coisas...
Costumo responder aquilo que me perguntam: ex:
Qual é o seu nome?
Rodrigo.
ao contrario de:
Qual o seu nome? (google:define)
Rodrigo (? ? 714) foi o último rei visigodo da Hispânia, eleito depois de destronado Vitiza, provavelmente na Primavera do ano 710. Segundo uma tradição seria filho de Teodofredo e neto de Chindasvindo. ... blah, blah, blah ...
PÔ, É FODA PARTICIPAR DESSA "COMUNIDADE", PARECE QUE O PESSOAL AQUI ADORA COMPETIR OU MEDIR CONHECIMNETO...
AO ADMIN... POR FAVOR, EXCLUA O MEU PERFIL
NÃO VOU MAIS CONTRIBUIR...
|
|
|
 |
|
|
|
|