Sunteți pe pagina 1din 5

UML: Relaciones

entre clases
1. INTRODUCCIÓN
Como se mencionó anteriormente los diagramas de clases describen los tipos
de objetos de un sistema así como las relaciones que pueden existir, es por
esto que se convierten en la técnica más utilizada para el modelado conceptual
de un sistema software. Los diagramas de clases son definiciones estáticas del
sistema y representan una instantánea del estado del sistema en un momento
dado, este va a ser creado y refinado durante las fases de análisis y diseño del
proyecto, estando presente como guía en la implementación del sistema.
Las relaciones que existen en un diagrama de clases permiten definir las
dependencias entre clases, es decir si una clase es necesaria para la
implementación de otra. A continuación se analizan las diferentes relaciones
que se pueden implementar en un diagrama de clases.
2. OBJETIVO
Conocer las relaciones que pueden existir dentro de un diagrama estructural
como lo es el diagrama de clases.
3. MARCO TEÓRICO
3.1. Utilidad de un Diagrama de Clase
El propósito de un diagrama de clase es describir las clases que conforman el
modelo de un determinado sistema. Se puede decir que existen tres
perspectivas diferentes desde las cuales se pueden utilizar los diagramas de
clase:
REPORT THIS AD
REPORT THIS AD
Figura 1: Perspectivas desde las cuales se elabora un diagrama de clases
3.2. Relaciones entre clases
Dentro de las relaciones entre clases que existen se pueden definir las
siguientes:

REPORT THIS AD

Figura 2: Clasificación de las relaciones que pueden existir en un diagrama


de clases
3.2.1. Asociaciones
Las asociaciones representan las relaciones más generales entre clases, es
decir, las relaciones con menor contenido semántico. Para UML una
asociación va a describir un conjunto de vínculos entre las instancias de las
clases.
Las asociaciones pueden ser binarias (conectan dos clases) o n-arias (conectan
n clases), aunque lo más normal en un modelo es utilizar sólo relaciones
binarias (en general, y sin entrar en detalles, se puede afirmar que una relación
n-aria puede modelarse mediante un conjunto finito de relaciones binarias).
La forma de representar las asociaciones binarias en UML es mediante una
línea que conecta las dos clases. En general, las asociaciones son
bidireccionales, esto es, no tienen un sentido asociado.
Ejemplo:
Si tenemos la clase perro y persona las siguientes relaciones podrían darse:

Figura 3: Ejemplo de asociación


La cual muestra que una persona es propietaria de uno o varios perros pero
estos son solo de esta persona.
3.2.1.1. Composición
REPORT THIS AD

La composición implica que los componentes de un objeto sólo pueden


pertenecer a un solo objeto agregado, de forma que cuando el objeto agregado
es destruido todas sus partes son destruidas también.
Ejemplo:
A una empresa la componen empleados.

Figura 4: Ejemplo de composición


3.2.1.2. Agregación
La agregación es una asociación con unas connotaciones semánticas más
definidas: la agregación es la relación parte-de, que presenta a una entidad
como un agregado de partes (en orientación a objeto, un objeto como
agregado de otros objetos).
Ejemplo:
Una empresa tiene clientes

REPORT THIS AD

Figura 5: Ejemplo de agregación


3.2.2. Herencia
La herencia es la típica relación de generalización/especialización entre clases.
En UML la herencia se representa mediante una flecha, cuya punta es un
triángulo vacío. La flecha que representa a la herencia va orientada desde la
subclase a la superclase.
Cuando de una superclase se derivan varias subclases existen dos notaciones
diferentes, aunque totalmente equivalentes, para su representación.

Figura 6: Ejemplo de herencia simple


3.2.2.1. Herencia múltiple
UML permite implementar la herencia múltiple cuando una clase hereda
directamente de varias clases.
Ejemplo:
REPORT THIS AD
Un profesor emérito puede ser un profesor como también un conferenciante

Figura 7: Ejemplo de herencia múltiple


4. CONCLUSIÓN
El diagrama de clases pertenece a la categoría de diagramas de estructura de
UML, este debe ser capaz de ofrecer los mecanismos necesarios para capturar
y modelar la abstracción de un sistema desde diferentes puntos de vista ya que
representa la definición estática del sistema. Se puede presentar de diferentes
maneras entre las cuales tenemos el modelo conceptual donde se definen las
características del problema, especificación donde se definen las interfaces
del diagrama para simplificarlo e implementación donde se muestran tal y
como aparecen las clases en el entorno de programación.
Dentro de un diagrama de clases se pueden relacionar las clases con una
asociación que define un vínculo que puede darse entre ciertas clases,
composición donde las clases son fundamentales para la implementación de
otra clase, agregación donde se utilizan clases que no son esenciales para su
funcionamiento y la herencia que es la relación de generalización que se
utiliza para heredar características de una clase a otra.

S-ar putea să vă placă și