Você está na página 1de 6

Practica 3: Diagrama de clases

lunes, 12 de octubre de 2015 11:04

Diagrama de objetos.
Notación gráfica para modelar los objetos, clases y sus relaciones.
Hay dos clase de diagramas:
- de clases
- de objetos (instancias)

Describe cómo se relacionan un grupo particular de objetos entre sí.


Notación de clases y objetos.

Diagrama de clases:
Es un esquema, patrón o plantilla para describir muchos casos posibles de
datos.
Describe clases de objetos.

Modelo De Datos Vs Modelo De Objetos.


Una Base de Datos se desarrolla mediante un Modelo de Datos.
- Se construye el Modelo de Datos sobre el dominio de la
aplicación.
- Se transforma del Modelo de Datos en un Diseño de la Base de
Datos mediante la aplicación de una serie de transformaciones
estándar (normalización).

Un Sistema de Objetos se construye modelando mediante técnicas


diferentes, pues las técnicas del Modelo de Datos son bastante limitadas
para soportar el Modelo de Objetos.

Las clases y objetos no pueden existir aislados y en consecuencia existirán


relaciones entre ellos.
Al igual que ocurre con los conceptos, entes del mundo real, que entre ellos
hay relaciones de distinto tipo.

Las relaciones se expresan frecuentemente utilizando verbos o frases con


verbo del lenguaje natural, tales como:
- vive-en

- participa-en

- trabaja-para

- está compuesto de.

Apuntes Poo página 1


- está compuesto de.

Por ejemplo:
- Periodista participa en Tertulia

- Gerente paga la Factura

- Semáforo controla Trafico

Las relaciones entre clase pueden indicar alguna forma de compartir, así
como algún tipo de conexión coherente.

Los tipos de relaciones entre clases:

- Asociación
- Agregación y Composición
- Generalización/especialización

Cada relación tiene una representación gráfica en UML

PARTE I: ASOCIACIONES
1. ASOCIACIONES I
La asociación es la relación más común entre clases. Una asociación es una
conexión conceptual entre clases. Describe un grupo de enlaces con
estructura y semántica comunes.

Por ejemplo:
Las conexiones que describe una asociación dan lugar a interacciones entre
los objetos de una colaboración.
Las asociaciones más comunes son las binarias, esto es, intervienen dos
clases

Varias clases se pueden conectar a una. Por


ejemplo: Jugador, Entrenador y Equipo.
2. ASOCIACIONES II
Una asociación puede contener atributos y operaciones. Cuando esto ocurre
se tiene una clase de asociaciones

Apuntes Poo página 2


Las asociaciones son inherentemente bidireccionales, pueden recorrerse en
ambas direcciones.

Por ejemplo:
Supermercado recibe pedidos telefónicos de Clientes
Cliente hace su pedido por teléfono al Supermercado

En ocasiones es deseable que la navegación sea unidireccional.


Gráficamente, cuando es unidireccional, la línea
que une las dos clases termina en punta de flecha.

3. INFORMACION DE ASOCIACIONES (verbo)


Nombre
Una asociación tiene un nombre, con frecuencia un verbo. El nombre de la
asociación se escribe en la línea que representa la asociación. Por ejemplo:

- Usuario utiliza Computadora


- Estudiante recibe un Curso
- Piloto controla Avión

Es posible utilizar una punta de flecha para indicar el sentido en que se lee.
Puede tener nombres diferentes, uno por cada dirección.

Cada extremo de una asociación es un rol (papel que juega). Cada rol
puede tener un nombre que indica cómo es visualizada la clase por la otra.
Por ejemplo, una Empresa visualiza a Persona como un empleado.
Los roles deben ser únicos.

Multiplicidad
Es el número de objetos de un extremo de la asociación que están
enlazados con un objeto del otro extremo.
Indica el número de objetos de una clase que se relacionan con un objeto
de la otra clase de la asociación ( o agregación). Por ejemplo:

- Una persona posee cero o muchos coches.


- La multiplicidad se muestra en los extremos de la asociación, en
las clases donde es aplicable.
- Los valores, rango, de multiplicidad son los siguientes:
 Exactamente 1 (1). Un número finito. (Estudiante (1)
dispone de un Carnet)
 Cero o 1, se indica 0 .. 1, opcionalidad. (El Medico
visita a Paciente acompañado, o no, de ATS)
 Cero a muchos, se indica 0 .. *

Apuntes Poo página 3


 Cero a muchos, se indica 0 .. *
 Uno a muchos, se indica 1 .. * .
 Rangos fijos, 1 .. 4, o varios números (2, 5, 6,7).

- Obsérvese que cuando la cardinalidad mínima y máxima


coinciden sólo se representa una de ellas.
- Obsérvese también que cuando la cardinalidad máxima es
múltiple y la cardinalidad mínima es cero refiere una cardinalidad
múltiple opcional y se representa con un asterisco
.

Una Empresa puede emplear a muchas Personas.


La multiplicidad de Empresa con Persona es "una a muchos": 1 ..
*.

Ejemplo:
Una Persona puede tener muchos Permisos de conducir. Un Permiso
sólo pertenece a una Persona.
La representación gráfica:

Alternativamente, la multiplicidad * se representa mediante un


contenedor, una lista, que almacena los objetos:

4. NAVEGACION
 La navegación indica si es posible atravesar una asociación
binaria desde un objeto de un extremo para llegar a uno o más
objetos del otro extremo.
 La navegación suele ser bidireccional. En ocasiones es deseable
que sea unidireccional.

 Para atravesar las asociaciones se utilizan expresiones de la clase


origen que permiten obtener el objeto o conjunto de objetos
asociados con una instancia de la misma.

 Un factor a tener en cuenta para determinar el tipo de navegación


es conocer la necesidad de colaborar una clase con otra para
realizar un requisito del contexto del problema

 Ahora hay que abordar la navegabilidad tratando de ver si desde


una clase se puede ir a la otra.
- Es evidente que la clase Fecha no tiene información de la
clase Socio por lo que la navegabilidad desde la clase Fecha
no es posible.
- Sin embargo, la clase Socio tiene una referencia a la clase
Fecha por lo que si es viable la navegabilidad en este
sentido. La navegabilidad se expresa con una punta de flecha
abierta puesta en el lado de la clase a la que se llega.

Apuntes Poo página 4


4.1 ASOCIACIONES UNIDIRECCIONALES
Multiplicidad uno a muchos. Si el extremo "muchos" no es un límite
conocido se utiliza un contenedor dinámico (una lista, un vector ...).

Se Representará como:

4.2 ASOCIACIONES BIDIRECCIONALES


Cuando la relación de asociación entre dos clases es navegable en ambos
sentidos, en general se implementa igual que una asociación unidireccional
pero en ambos sentidos. En el caso de multiplicidad uno a uno:

Para multiplicidades rango:

PARTE II: AGREGACION Y COMPOSICION


La relación entre clases de agregación se considera un caso especial de
asociación. Es una relación Todo-Parte entre una clase agregada (el todo) y
una de las partes que los forman. Da lugar a jerarquías de agregación.

Ejemplo 1, un Elemento de dibujo es un todo formado por las partes:


Línea, FiguraSimple y FiguraCompuesta

Ejemplo 2: un Equipo multidisciplinar(el todo) está formado por un


Pedagogo, dos Psicólogos y tres Educadores

Propiedades:
 Transitiva (A es parte de B, B es parte de C -> A es parte (sub
parte) de C)
 Anti simétrica: un objeto no puede ser el todo y la parte
simultáneamente.

Apuntes Poo página 5
 La agregación se representa por un rombo en la parte del todo.
 Al ser un caso especial de asociación, puede haber multiplicidad.

1. TIPOS DE AGREGACIÓN

Agregación simple
La parte puede pertenecer a más de un agregado. Es decir las partes
pueden ser partes de cualquier todo. La destrucción del Todo no implica la
destrucción de las partes.
Las partes, en este tipo de agregación, pueden existir independientemente
del todo.

Ejemplo : un Equipo de trabajo se compone de diferentes Personas. Una


misma Persona puede ser miembro de más de un equipo de trabajo.

La agregación compartida
Composición (agregación fuerte): el todo "contiene" a las partes. Las
partes y el todo se crean y destruyen en el todo. Forma jerarquías de partes.
Un objeto sólo puede ser parte de una composición.
Se representa con un rombo sombreado en el extremo del todo.

Las relaciones estructurales que podemos modelar son:

2. LA AGREGACIÓN (parte-de) y la HERENCIA (es- un).


Se presenta la relación de Agregación entre clases, incluyendo información
sobre cardinalidades (mínimas y máximas) que determinan cuántos objetos
componentes forman parte de un objeto compuesto e inversamente, cuántos
objetos compuestos pueden estar compuestos de un objeto en particular.

Ejemplo de Agregación.

Apuntes Poo página 6

Você também pode gostar