Esto, es una parte muy sencilla, pero al mismo tiempo básica para el diseño de un diagrama de clases UML, la forma de representar que un objeto tiene como contenido a otro, esto quiere decir que un objeto de un tipo, puede contener a otro, en un sentido abstracto de posesión, es decir, por ejemplo un objeto de tipo, por ejemplo, ciudad tiene una lista de objetos de tipo aereopuerto, esto quiere decir, que una ciudad, tiene un número de aereopuertos, destacar, que la cardinalidad del extremo que lleva el rombo, es siempre uno, ahi va un ejemplo:
En la misma linea, la composición, es una relación más fuerte de los objetos, asi como la agregación, es el hecho de que un objeto posea a otro, la composición es cuando la relación entre ambos objetos es tal, que el agregado es una parte importante del agregador, de tal forma que el primero no tiene sentido suelto, y el segundo, necesita definir al primero para ampliar su significado, ya se que esto suena un tanto etereo, pero con un ejemplo se ve mejor:
El avión tiene sentido por si solo, pero esta claro que esta compuesto de 2 alas, esta relación es de mucha fuerza, mucho más que el caso de los aereopuertos, y esta claro, que un avión siempre tendrá sus dos alas, y estas siempre serán del mismo avión. El caso de los aereopuertos, es claramente más sueve la relación.
Entradas relacionadas de UML en este blog:
Ingeniería inversa con eclipse Java2UML
Clase asociativa
Muy buena explicacion, tenia una confucion con estos conceptos.
ResponderEliminarmuchas gracias
Me alegro de que te haya servido
ResponderEliminarMuy claro el resumen. Mas claro no pudo haber sido. Gracias : )
ResponderEliminarMe alegro :) gracias por comentarlo!
ResponderEliminarMuy bueno el resumen , seria bueno que añadas un poco mas como por ejemplo herencias , atributos , roles , navegabilidad , etc que a la mayoria es poco complicado comprender
ResponderEliminarSalu2s
Lo tendre en cuenta para poner otro post al respecto, muchas gracias! me alegro de que te haya parecido muy bueno :)!
ResponderEliminar[...] UML diseño de agregación vs composición febrero, 2010 6 comentários 2 [...]
ResponderEliminarMuchas gracias, muy buena y practica composicion.
ResponderEliminarGracias por la explicacion, me aclaraste este topico...
ResponderEliminarGracias a ti por comentar, me alegro de que te haya aclarado el tema :)
ResponderEliminarMuchas gracias a ti por comentar y por el contenido del comentario :)
ResponderEliminarExcelente aporte
ResponderEliminarGracias!
ResponderEliminarMe sumo, buena explicacion. Tenía una buena profesora, pero tengo que reconocer que acá se entendió mucho más. Estoy tomando vodka para celebrar esta explicación, salud
ResponderEliminarMuchas gracias, me alegro y me halaga, me uno al brindis, pero con ron, que el vodka...
ResponderEliminarMe parece bien la explicación, lo complicado de este tipo de abstracción es definir cuando es una simple asociación o una asociación de agregacion. En el ejemplo de Ciudad y Aeropuerto podria ser una simple asociación en un contexto distinto. Ahora bien la dificultad de estos conceptos de abstracción utilizados en el diseño, está en definir las implicancias en la construcción misma.
ResponderEliminarToda la razón, todo depende del contexto y los mismos objetos en contextos diferentes, pueden tener relaciones que se interpretan de forma opuesta
ResponderEliminarEXCELENTE explicacion, más claro imposible
ResponderEliminarmuchas gracias por pensarlo y molestarte en escribirlo. :)
ResponderEliminarmuchas gracias por la aclaracion.
ResponderEliminarEs un ejemplo sencillo, pero bastante claro.
ResponderEliminarGracias
Que ejemplo TAN mal elejido! si se destruye la ciudad (Hiroshima) se queda sin aerorpuertos. No puede existir un aeropuerto sin una ciudad.. O acaso son moviles ?
ResponderEliminarSi es claro y sencillo, dos veces bueno ;) gracias por comentar
ResponderEliminarApunto tu comentario, preparare un anexo diciendo que el ejemplo no es aplicable en sociedades post-apocalípticas :)
ResponderEliminarExcelente, ojala todos hicieramos aportes de este tipo.
ResponderEliminarGraciaaaaaaaaaaaaaas en 2 minutos me enseñaste lo que no aprendi en dos meses jaja
ResponderEliminarte agradezco!!!
muchas gracias por la aclaración
ResponderEliminarMuchas gracias!
ResponderEliminarMe alegro de haber servido de ayuda en aclarar algo. Mucha gracias por el comentario!
ResponderEliminarGracias por comentar!
ResponderEliminar[...] agregación vs composición [...]
ResponderEliminar[...] del éxito de esta entrada sobre UML, siguiendo con ese tema, tenemos otro tema de [...]
ResponderEliminar[...] y analisis, General, Programación, Tecnologia, UML Deja un comentario Después del éxito de esta entrada sobre UML, siguiendo con ese tema, tenemos otro tema de [...]
ResponderEliminarQue bien esta bien claro el resumen pero es mejor agregar un poco sobre la herencia y tambien la asociacion pero detoodos modos gracias
ResponderEliminarapunto, para hacer alguna netrada sobre herencia en UML y como representarla.
ResponderEliminarExcelente Resumen Gracias!!
ResponderEliminarGracias a ti!
ResponderEliminarTe pasaste el ejemplo fue expectacular :)
ResponderEliminarGracias ;)
ResponderEliminarExcelente, era lo q andaba buscando....
ResponderEliminarBien me alegro, gracias por la visita.
ResponderEliminarmuy claro muchas gracias
ResponderEliminarGracias por el comentario
ResponderEliminarGracuas maquina, tu aclaracion me deja mas claro estos conceptos, TE DEBO EL EXAMEN
ResponderEliminarDe nada, ahora a aprobar el examen!
ResponderEliminar