UML - Dudas en diagrama de clases

 
Vista:

Dudas en diagrama de clases

Publicado por Alex (1 intervención) el 03/06/2006 10:04:07
Hola a todos,

antes de nada muchas gracias. Querría consultaros algunas dudas que siempre me surgen cuando hago un diagrama de clases:

- ¿Hay algún truco fiable de detectar las relaciones de dependencia entre clases?. La teoría está muy bien pero a la hora de hacer el diagrama al final nunca se donde ponerlas. Si tengo una clase A que crea una instancia de una clase B, para llamar a uno de sus métodos (pero ojo todo dentro del ámbito de uno de los métodos de A, la instancia de B no es un atributo de A). ¿Eso qué tipo de relación sería?

- Si tengo una clase A y otra clase B y cada una de ellas tienen un atributo de la otra clase ... ¿sería una asociación con navegabilidad en ambas direcciones?. Me explico:

public class A(){
private B atributo;
...
}public class B(){
private A atributo;
...
}
No sé si este tipo de relación será muy normal, ¿debo pensar que es un mal diseño?.

Un saludo y muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dudas en diagrama de clases

Publicado por Juan (15 intervenciones) el 05/06/2006 13:56:30
Sip, es una relacion de navegabilidad en ambos lados, y eso depende primordialmente de la situacion que deseas modelar. Te pongo un ejemplo, el caso de las universidades donde los estudiantes cursan materias y las materias son cursadas por los estudiantes. Con la elaboracion de constancias y listados tiene una relacion de navegabilidad bidireccional. Asi que no es un error de diseno, solo debes tener en claro de donde a donde puedes llegar. Incluso puedes tener relaciones de navegabilidad de una clase con ella misma (suena extrano pero en ciertos contextos es factible)

Ahora en cuanto a lo primero que dices, alli no hay ningun tipo de relacion. Las relaciones se representan como atributos en las clases. Si B no es un atributo de A, entonces no hay ninguna relacion. Sera una variable de metodo, que es una cosa totalmente diferente
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Dudas en diagrama de clases

Publicado por Ernesto (2 intervenciones) el 07/07/2006 09:33:10
No hay ningún truco fiable y en muchos casos depende de tu diseño porque para un mismo problema puede haber muchas soluciones.
A mi me ayuda pensar en que una relación implica tener una instancia de una clase en la otro clase de la relación. Te debes de hacer la pregunta ¿Es necesario que esta clase conozca una instancia de la otra clase? ¿Tiene esta clase un atributo instancia de la otra clase?

En el ejemplo que comentas de qué tipo de relación se trata si A utiliza una instacia de B dentro de un método de la clase A: la relación es de dependencia UML de la clase A a la clase B. Esto significa que si cambia B influye en el comportamiento de A, ya que el método de A utiliza la funcionalidad de B. Lo que sucede que este tipo de relaciones la mayoría de las veces no se muestran, aunque todo depende de la importancia que tenga esa relación para explicar la vista de tu diseño.

Respecto al segundo ejemplo que comentas, estoy de acuerdo con Juan.

Espero haberte ayudado
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar