Академический Документы
Профессиональный Документы
Культура Документы
DISEÑO DE SISTEMAS
Dependencia
Agregación
Asociación
Relaciones Composición
Generalización
Realización
Relación de dependencia
• También conocida como relación de
uso
• Relación débil de uso que declara
que un cambio en la especificación
de un elemento puede afectar a otro
que lo utiliza
• Gráficamente, la dependencia se
muestra como una línea discontinua
con una punta de flecha que apunta
de la clase dependiente a la clase
independiente
Ejemplo
Resolución de una ecuación de segundo grado
Ejemplo
Tomando como lenguaje de programación a Java, el diagrama anterior
podría corresponder a:
Relación de asociación
• Es una conexión entre clases, que implica la existencia de una
relación estructural entre objetos de esas clases.
• Representan las relaciones más generales entre clases, es decir, las
relaciones con menor contenido semántico.
• Pueden ser binarias (conectan dos clases) o n-arias (conectan n
clases)
• Gráficamente, la asociación binaria en UML se representa mediante
una línea que conecta las dos clases.
• En general, las asociaciones son bidireccionales, esto es, no tienen
un sentido asociado.
Multiplicidad de las asociaciones
• La multiplicidad de una asociación determina cuantos objetos de
cada tipo intervienen en la relación.
• El número de instancias de una clase que se relacionan con una
instancia de otra clase.
• Cada asociación tiene dos multiplicidades.
• Para especificar la multiplicidad de una asociación hay que indicar la
multiplicidad mínima y la multiplicidad máxima (mínima .. máxima)
Multiplicidad de las asociaciones
La cual muestra que una persona es propietaria de uno o varios perros pero
estos son solo de esta persona.
Agregación
• La agregación es una asociación con
unas connotaciones semánticas más
definidas: 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).
• Gráficamente, se muestra con un
rombo sin rellenar en el extremo de
la línea donde apunta a la clase
agregadora.
Ejemplo
Una empresa tiene clientes.
Ejemplo
En código fuente Java, podría equivaler a:
Composición
• 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.
• Gráficamente, se muestra con un
rombo rellenado en el extremo de
la línea donde apunta a la clase
contenedora.
Ejemplo
A una empresa la componen empleados.
Ejemplo
En código fuente Java, podría equivaler a:
Relación de generalización
• También conocida como relación de
herencia
• Es una conexión entre clases, que implica
la existencia de una relación estructural
entre objetos de esas clases.
• Concretamente, se refiere a la relación
entre una superclase y sus subclases.
• Gráficamente, la herencia en UML 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.
Ejemplo
Ejemplo
En código fuente Java, equivale a:
Relación de realización
• Se refiere la implementación de un interfaz por
parte de una clase.
• Este proceso tiene dos partes:
• La clase debe declarar la implementación del interfaz.
• La clase debe de definir el cuerpo de los métodos
impuestos por el interfaz.
• Gráficamente, a la interfaz en UML se
representa como una clase sin atributos, con la
etiqueta <<interface>> arriba del nombre de la
clase.
• La línea de conexión es la misma que la relación
de herencia con la particularidad de que es
discontinua.
Ejemplo
La clase Zapato implementa el interfaz ICascador que permite al
zapato utilizarlo como cascanueces.
Ejemplo
En código fuente Java, equivale a: