Está en la página 1de 34

Diagrama de clases

¿Qué es un Diagrama de clases?

Modela los conceptos del dominio de la aplicación, así


como los conceptos internos generados como parte de
la implementación de la aplicación. Es un paso esencial
en el análisis OO.
Es una colección de elementos declarativos del modelo
(clases y sus relaciones), conectados como un grafo.
Diagramas de Clase

Un diagrama de clases es una


colección estática de los elementos
declaratorios del modelo, como
clases, tipos y sus relaciones,
conectados unos a otros y a sus
contenidos.
Clases
 Definición: Descriptor para un
juego de datos con estructura,
conducta, y relaciones similares.
[UML]
Nombre clase
--atributos--

--operaciones--
Ventana
Clases. Notación
Nombre Ventana
Definición
<<estereotipo>> de abstracta
Estereotipo {abstracta}

+tamaño: TTamaño Atributos


#visibilidad: boleano = v

Visibilidad +presentar()
+ocultar()
Operaciones
-conectar()
Clases. Atributos
 Sintaxis:
 visibilidad nombre: tipo = valor_inicial
{cadena de propiedades}Ventana
<<estereotipo>>
{abstracta}
 Visibilidad:
 + pública +tamaño: TTamaño
#visibilidad: boleano = v
 # protegida
+presentar()
 - privada +ocultar()
-conectar()
Clases. Operaciones
 Sintaxis:
 visibilidad nombre(lista_parametros) :
expresion_tipo_retorno {cadena de propiedades}
Ventana
<<estereotipo>>
 lista_parametros: una {abstracta}
lista separada por comas +tamaño: TTamaño
de parámetros formales #visibilidad: boleano = v

+presentar()
+ocultar()
-conectar()
Elementos básicos del diagrama

Clase
Estereotipo

Queso Nombre de la clase


CostoBase
CostoPorUnidad Atributos
Create()
Volum en()
Costo()
Operaciones o
métodos
Elementos básicos del diagrama

Atributos
Identifican las características propias de cada
clase. Son de tipos simples.
La sintaxis de un atributo es:
visibility name : type = initial-value

Ejemplo:
Elementos básicos del diagrama

Operaciones
El conjunto de operaciones describen el
comportamiento de los objetos de una
clase. La sintaxis de una operación en UML
es
visibility name ( parameter-list ) : return-type
Ejemplo:
Elementos básicos del diagrama

Asociaciones
Son vínculos que se establecen entre los
conceptos o clases.

Ejemplo:
TProfesor TAsignatura
Asociaciones

Nombre: Cada asociación puede tener un nombre.

TProfesor imparte TAsignatura

dirige

Nombre sólo las asociaciones cuando mejora la


comprensión.
Asociaciones

Multiplicidad: Describe la cardinalidad de la


relación, es el indicador de cuántos objetos
pueden participar en una relación.
0..* (0 o muchos)
1..1 (uno)
0..1 (uno o cero)
1..* (al menos uno)
Ejemplo:
TProfesor imparte TAsignatura
1..* 0..*
1 1
dirige
Multiplicidad
 Rango de las cardinalidades permisibles que un
conjunto puede asumir.
 Formato:
 Cota inferior... cota superior

 Ejemplos
 *
 1
 0,1
 1,6
 1,*
Navegabilidad
 Indica la dirección de la Relación
 Conocimiento de las clases
3..*
1
Contiene
Polígono Punto

Propied-Graficas

1 color
textura
densidad
Asociaciones

Navegabilidad: Indica el grado de visibilidad que


tienen las instancias de una clase respecto a otra.
Indica la posibilidad de navegar unidireccionalmente en
una asociación.
TProfesor imparte TAsignatura
1..* 0..*
1 1
dirige

Las asociaciones por defecto son bidireccionales si


usted quiere especificar unidirección debe
especificarlo con una flecha.
Asociaciones

Rol: Un extremo puede ser explícitamente


nombrado con una etiqueta, ésta describe la
semántica de la relación en el sentido indicado
(opcionalmente se documenta con un nombre).

Ejemplo:
TProfesor imparte TAsignatura
1..* 0..*
+Jefe de Colectivo 1 1
dirige
Tipos de Asociaciones

•Asociaciones simples
•Asociaciones N-aria
•Agregación (simple o composición)
•Generalización-especialización
Asociación simple

Representa una relación o conexión


semántica entre objetos de
diferentes clases.
 Pueden ser binarias, ternarias o de orden
superior.
 Por defecto son bidireccionales

Labora
TProfesor TDepartamento
1..* 1
Asociación N-aria
 Asociación entre 3 o más clases.
 La multiplicidad puede ser especificada
pero es menos obvia.

Persona Empresa

Empleo
Agregaciones

Las agregaciones se identifican con


relaciones entre tipos que impliquen que uno
“tiene a” otro.
Cuando deja de existir la agregada no
necesariamente dejan de existir las partes.

TPrestamo

TLibro TSocio
Composición
 Es una forma fuerte de agregación donde el
tiempo de vida de la parte coincide con el todo.
 Las partes no deben sobrevivir fuera del todo.
 Operaciones de copia o eliminación al todo
deben propagarse a las partes.
 Supone encapsulamiento.
T Punto

T Polígono T Círculo

T Estilo
Agregación vs. Composición

TPunto

TPolígono TCírculo

TEstilo
Generalización

La relación de generalización denota


una relación de herencia entre clases.

TQueso

TQuesoBarra TQuesoRosca TQuesoBola


Aeropuerto
nombre Vuelo Asiento
país número
origen número tiene
dirección estado
fecha
teléfono 1 1..* clase
hora 1
email 1..* tipo
fax destino
1 ubicación
1..* 1
pertenece 1
se corresponde
1..* 0..1
Pasajero Reservación
identificador número
nombre importe
Pasaje
número
importe
Aeropuerto
nombre Vuelo Asiento
país número
origen número tiene
dirección estado
fecha
teléfono 1 1..* clase
hora 1
email 1..* tipo
fax destino
1 ubicación
1..* 1
pertenece 1
se corresponde
1..* 0..1
Pasajero Reservación
identificador número
nombre importe
Pasaje
número
importe
Restricciones O
 Una de las varias asociaciones potenciales
pueden ser instanciadas en cada
momento para cualquier objeto.
Persona

Cuenta {O}
Corporación
Generalización
 Relación taxonómica entre un elemento más
general y un elemento más específico que es
completamente consistente con el primer
elemento y que suministra información
adicional.
Vehículo
Vehículo

Carro Omnibus Barco Carro Omnibus Barco


Generalización Especialización

Identifiquelas con relaciones entre


clases que impliquen “es un”.

Figura

Polígono Elipse Spline


Generalización Especialización

Asiento
Clases
Rol abstractas

Asiento Asiento
Disp. Ocupado
Mujer Hombre

Sexo
<<obligatorio>>
Persona
<<dinámica>>

Gerente Ingeniero Vendedor


Ejemplo Factura

Objeto de Comercio

Factura Pedido
1.. *
1
Confirmación
1 1.. *
de Pedido
1 1 1.. *
1.. *
Gestión de Artículo
Pedidos 1.. * 1 Pedido
1
1.. * compr
ador 1 Persona
1 Factura 1 ve
ndedo {OR}
1 r
Cuenta
UI Solicitud
1
de Pago 1 1.. *
Entidad
Planificador Solicitud
de Pagos de Pago
Confirmación
1.. * de Pedido 1

Objeto de
1 comercio 1.. *
1 1.. *
Gestión de 1 1.. * Pedido
Pedidos 1.. * 1
Artículo

compr
1 Factura 1 ador
1.. * 1
Persona
1
UI Solicitud 1 ve
ndedo
r
Cuenta {OR}
de Pago 1
1
1 1.. * Entidad
Planificador Solicitud
de Pagos de Pago
Conclusiones

1. Los diagramas de clases resultan esenciales


en la modelación OO pues son su columna
vertebral.
2. Representan clases y asociaciones.
3. Muestran atributos y operaciones.
4. Tipos de asociaciones:
• Simple,
• N-arias
• Agregación,
• Generalización-especialización.

También podría gustarte