FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Relaciones UML: Asociación y dependencia
Hola, me gustaría saber si estoy en lo cierto.
Yo cuando veo una clase de este tipo digo que hay relaciones UML de asociación:
TClase tiene una relación de asociación con TClase2 y con TClase3. Ahora, cuando veo una clase de este otro tipo digo que hay relaciones de dependencia:
¿Estoy en lo cierto? Saludos. |
#2
|
||||
|
||||
De acuerdo completamente, TClase en el segundo ejemplo depende de TClase2, por lo que cualquier cambio en TClase2 afectará el comportamiento de TClase, de manera que TClase es el elemento dependiente y TClase2 el independiente. Obviamente los cambios en TClase no afectan a TClase2.
En el caso de la asociación se trata de elementos que son mutuamente dependientes, es decir, el uno no puede existir sin el otro por decirlo de alguna manera, por ejemplo un objeto TCuaderno debe tener THojas, obviamente el cuaderno se puede quedar sin hojas pero aun asì requiere de aquellas para ser un cuaderno, por el otro lado las hojas requieren un cuaderno. De ahí el término asociación. Acoto: Todo el trabajo que se realiza en UML es completamente independiente del código por lo que la implementación real de cada concepto puede variar ligeramente a veces incluso varia entre programador y programador, sin embargo la colección de diagramas de esta herramienta permite mantener cierta coherencia entre el todo. De manera que puede haber interpretaciones que diferentes ante un mismo diagrama, sin embargo UML garantiza que al final el resultado sea el correcto.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#3
|
|||
|
|||
Muchas gracias AzidRain.
|
#4
|
||||
|
||||
Si me lo permiten, creo que hay que aclarar algo, una asociación puede ser de agregación de composición o agregación compartida.
El concepto de agregación de composición o comunmente llamado a secas, composición (en UML se lo identifica con el rombo relleno o pintado) implica una relación de dependencia absoluta, las partes no pueden existir sin el Compuesto puesto que es éste último quien las crea. En una composición se da por establecido que el tiempo de vida de las partes depende en exclusiva del Compuesto: El Compuesto y las partes existen mientras exita el Compuesto. La agregación compartida, (que en UML se la representa con el rombo hueco) o simplemente llamada agregación, implica una asociación en la que tanto el Compuesto como las Partes no tienen una relación de dependencia extricta. Ambos tienen tiempos de vida independientes, por tanto uno puede vivir sin el otro. Y además, la parte Puede estar presente en muchas instancias de un Compuesto: es decir que se rompe la depedencia extricta de que una Parte le pertenece a un Compuesto. No se si he entendido bien, pero me parece que AzidRain ha mezclado ambos conceptos. Ahora bien, existe otro concepto relacionado con el término asociación: la clase asociación. La clase asociación se emplea, haciendo analogía con las bases de datos, para romper la relación mucho-mucho entre dos entidades. Vendría a ser como la tabla intermedia. Básicamente la clase asociación establece asociaciones entre una clase y otra de forma que en ésta se establezca el atributo vinculante en la relación. Dado el código de noob no podemos inferir que se trate de agregación, ni composición; si podemos afirmar que existe una relación o vínculo, de algún tipo no establecido o reconocido, entre dichas clases. No se puede afirmar que existe una asociación, en todo caso existe una relación. El concepto asociación, que yo sepa, implica el concepto de Compuestos y Partes (ya sea de composición o compartida), y por tanto de como se empleen dichos atributos o campos privados. Una asociación implica una dependencia, pero a la inversa, una dependencia no implica una asociación. La dependencia como bien menciona AzidRain, establece que una clase A, depende de otra clase B puesto que A debe diseñarse para responder apropiadamente al diseño e implementación de B; mientras A haga uso de B existirá una dependencia. En el caso del ejemplo de noob, TClase es la clase dependiente y TClase2 es la independiente. Al menos eso es lo que yo tengo entendido, si estoy equivocado les agradecería que me señalacen mis errores (u horrores). Saludos, |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
El ex portavoz de Jueces para la Democracia, asociación que recibía dinero de la SGAE | ArdiIIa | La Taberna | 2 | 06-04-2007 23:01:54 |
La Asociación de Internautas alerta del supuesto uso fraudulento de datos bancarios e | marcoszorrilla | Noticias | 3 | 25-07-2005 21:09:54 |
Relaciones | istradlin | Firebird e Interbase | 2 | 18-03-2005 16:28:20 |
relaciones | istradlin | Firebird e Interbase | 2 | 09-03-2005 00:14:09 |
Asociación y Carga!!! | craven | Varios | 3 | 17-09-2003 19:03:18 |
|