miércoles, 1 de julio de 2015

RELACIONES ENTRE CLASES

Fecha de Clase: 29 de Junio - 3 de Julio del 2015

INTRODUCCIÓN
Existen varios diagramas UML, los cuales son de mucha importancia para el desarrollo de un proyecto de software. Pero estos diagramas tienen que seguir reglas para su correcto funcionamiento.
Es por esto que los diagramas de clases, están formados por clases pero estas clases no funcionan de manera independiente, estas clases están relacionadas una de otra es por esto que en este documento se hablara de los diferentes tipos de relación de clases. Existen diversas relaciones entre clases y estas son utilizadas dependiendo del problema o de la necesidad, en este documento se detallaran las más utilizadas.

OBJETIVO
Identificar los diferentes tipos de relación que existen entre las clases, para crear diagramas UML eficientes y  funcionales.

MARCO TEÓRICO
RELACIONES ENTRE CLASES
Según Velasco (2009), las relaciones entre clases juegan un papel muy importante en el modelo de objetos. Las clases, al igual que los objetos, no existen de modo aislado. Por esta razón existirán relaciones entre clases y entre objetos. Las relaciones entre clases, se deben a dos razones:
Una relación de clases puede indicar algún tipo de compartición
Una relación entre clases puede indicar algún tipo de conexión semántica.

NAVEGACION DE LAS ASOCIACIONES
Bidireccional: se pueden recorrer de los dos sentidos, se representa con una línea.
 
Unidireccional: restringe su navegación hacia un único sentido, cuando es unidireccional la línea termina en una punta de flecha que indica el sentido de la asociación.

MULTIPLICIDAD
En esta se determina cuantos objetos de cada tipo intervienen en la relación, cabe recalcar que  cada asociación tiene dos multiciplidades.

Tipos de multiciplidad entre clases

RELACIONES INVOLUTIVAS
Cuando la misma clase está asociada en los dos extremos: 

AGREGACIÓN
La agregación es un tipo de asociación que indica que una clase es parte de otra clase (composición débil). Los componentes pueden ser compartidos por varios compuestos (de la misma asociación de agregación o de varias asociaciones de agregación distintas). La destrucción del compuesto no conlleva la destrucción de los componentes. Habitualmente se da con mayor frecuencia que la composición.
La agregación se representa en UML mediante un diamante de color blanco colocado en el extremo en el que está la clase que representa el “todo”. (Megino, 2013)

COMPOSICIÓN
Composición es una forma fuerte de composición donde la vida de la clase contenida debe coincidir con la vida de la clase contenedor. Los componentes constituyen una parte del objeto compuesto. De esta forma, los componentes no pueden ser compartidos por varios objetos compuestos. La supresión del objeto compuesto conlleva la supresión de los componentes.
El símbolo de composición es un diamante de color negro colocado en el extremo en el que está la clase que representa el “todo”. (
Megino,  2013)

DEPENDENCIA
Es una relación de uso, es decir que una clase utiliza a otra. Y si esta última se altera, la anterior se puede ver afectada.

RELACIÓN DE GENERALIZACIÓN/ ESPECIALIZACIÓN
Uno de los motivos por los cuales las clases se relacionan entre ellas es el hecho de poseer propiedades comunes. Las clases con propiedades comunes se organizan en superclases. Una superclase representa una generalización de las subclases. De igual modo, una subclase de una clase dada representa una especialización  de la clase superior. La clase derivada es un tipo de clase de la clase base o súper clase. Una superclase representa una generalización de las subclases. Una subclase de la clase representa una especialización de la clase ascendente.

HERENCIA MULTIPLE
El concepto básico de la herencia múltiple suena bastante simple: puede crear un nuevo tipo heredando de más una una clase base. La sintaxis es exactamente la que espera, y en la medida en que los diagramas de herencia sean simples, la herencia múltiple  puede ser simple también.
Sin embargo, la herencia múltiple puede presentar un buen número de situaciones ambiguas y extrañas, que se cubren en este capítulo. Pero primero, es útil tener algo de perspectiva sobre el asunto.

EJEMPLO DE RELACIONES ENTRE CLASES
Ejercicio de diagrama de clases de un medio de transporte, utilizando las diferentes relaciones que se describieron en este documento.


CONCLUSIÓN
Puedo concluir que para que exista un correcto funcionamiento en los diagramas UML, es necesario conocer todos estos tipos de relaciones ya que con ellas se van a realizar la relación entre los objetos.
Los diagramas de clases, no podrían funcionar sin estas relaciones ya que las clases no sirven de nada de manera independiente,  es por esto que son necesarias las relaciones de clases, para ser capaces de crear diagramas funcionales y eficientes, que sean útiles para la documentación de proyectos de software.
Las relaciones entre clases dan a conocer las diferentes características que existen al momento de realizar una relaciones entre las clases, para así determinar que tipo de relación se está utilizando y si es la más idónea para la situación.

BIBLIOGRAFÍA
Berzal, F. 2004?. Relaciones entre clases: Diagramas de clases UML. Formato PDF. (En Línea).

Booch, G; Rumbaugh, J; Jacobson, I. 2004. El lenguaje unificado de modelado UML. Formato PDF.

Ferre, X y Sanchez, M. 2010?. Desarrollo orientado a objetos con UML. UPM.

Díaz, A. 2008. UML Relaciones, Composición, Agregación, Asociación, Dependencia, Generalización, Realización. Formato HTML. (En línea).

Velasco, J. 2009. MODELACIÓN DE RELACIONES ENTRE CLASES. Formato PDF. (En Linea).

No hay comentarios.:

Publicar un comentario