Documentos de Académico
Documentos de Profesional
Documentos de Cultura
03 Uml
03 Uml
Introduccin
Superclases y subclases
Herencia de atributos y relaciones
Generalizacin y especializacin
Restricciones: disjunta/solapada, total/parcial
Jerarquas de especializacin y retculas (herencia mltiple)
UML: conceptos de clase e instancia (objeto)
Conceptos de E/R en los diagramas de clase UML
Herencia en los diagramas de clase UML
Ejemplo de diseo con diagramas de clase UML
DBD Tema 3
Superclases y subclases
Herencia
EMPLEADO
superclase
Heredados
por las
subclases
subclases
Atributo
especfico de
los becarios
DBD Tema 3
DBD Tema 3
Nombre
PERSONA
(0,N)
(0,N)
MATRICULADA
CURSO
DNI
Salario
BECARIO
ALUMNO
Carrera
Atributo
especfico de
los alumnos
DBD Tema 3
Generalizacin
Especializacin
Precio
COCHE
Matrcula
VEHCULO
Precio
Precio
CAMIN
Plazas
Empleados
Matrcula
Secretarios
Tonelaje
DNI
EMPLEADO
Sueldo
Especializar
Generalizar
Matrcula
Nombre
Tcnicos
Asalariados
COCHE CAMIN
Pulsaciones
Nivel
AFILIADO
(1,N)
Plazas
Tonelaje
DBD Tema 3
SINDICATO
EMPLEADO
Pulsaciones
FIGURA
ATLETA
Nivel
Ingeniero
INGENIERO
Tipo
EMPLEADO
Nombre
POLGONO ELIPSE
Tcnico
SECRETARIO TCNICO
DNI
TipoTrabajo
Secretario
DBD Tema 3
DBD Tema 3
Restriccin de disyuncin: d
Cada entidad de la superclase FIGURA pueden ser miembro
como mucho de una de sus subclases.
Si las subclases se definen por atributo, este ser monovalor.
Restriccin de solapamiento (overlapped): o
Es el caso contrario a la disyuncin.
Opcin por defecto (si no se indica nada es solapada)
Una misma entidad de ATLETA puede ser miembro de varias de
sus subclases (por ejemplo, ser al mismo tiempo atleta de cien y
de doscientos metros).
Caso especial: cuando el predicado da lugar a una sola subclase.
DBD Tema 3
GERENTE
A
A
=
B
ATLETA
parcial
PROFESOR ADMINISTRACIN_SERVICIOS
Especializacin total:
Toda entidad de la superclase debe ser miembro de alguna subclase de la
especializacin.
Cuando la superclase se extrae por generalizacin la especializacin suele
ser total.
DBD Tema 3
Jerarquas de herencia
Insercin de la entidad
c1 en C con valor de su
atributo A = r
A
p
Si c1 tambin es
miembro de P y Q
tambin debe
desaparecer de esas
subclases
P
UR Fac. C.E.A. e Informtica ( A. Jaime)
Eliminacin de la
entidad c1 de C
Especializacin parcial:
Es el caso contrario a la especializacin total.
Puede haber entidades de la superclase que no pertenezcan a ninguna de
las subclases de la especializacin
La entidad c1 se puede
insertar
automticamente en R
Insercin de la entidad
c1 en C
La entidad c1 se deber
insertar en P, Q o en R
10
DBD Tema 3
Retculas de herencia
(con herencia mltiple)
Nombre
NSS
Direccin
EMPLEADO
Tres
especializaciones
de empleado
SECRETARIA TCNICO
Nombre
Nivel
Tipo
DIRIGE
INFORMTICO
SECRETARIA TCNICO
(0,1)
Salario
(1,1)
AFILIADO
EscalaPago
PROYECTO
Pulsaciones
Nivel
FechaNcto
Salario
GERENTE_INGENIERA
SINDICATO
EscalaPago
DBD Tema 3
11
Subclase compartida
(herencia mltiple)
EMPLEADO
(1,N)
Direccin
Pulsaciones
NSS
FechaNcto
DBD Tema 3
12
participantes.
Para cada persona se guarda su
nombre, n de la seguridad social,
direccin, sexo y fecha de nacimiento.
Para los profesores adems se tiene su
rango (CU, TU, etc.), n de despacho,
extensin, departamento y salario.
Para los alumnos se tiene el n de aos
que llevan haciendo cada carrera y las
asignatura-grupo-cuatrimestre-ao
Matrcula
NCamas
CARAVANA
Servicios
Plazas
VEHCULO
Precio
Precio
AUTOCARAVANA
13
DBD Tema 3
PERTENECE
Nombre
ASIGNATURA
IMPARTE
(1,1)
ES_IP
Ao
PARTICIPA
_P
ES_
TUTOR
SECCINGRUPO
(1,1
)
BECARIO
LICENCIADO
( 0,N)
( 1,N)
(1,1)
PROYECTO
Claveparcial
( 1,N)
(0,N)
(0,N)
ALUMNO
Salario
14
(0,N)
( 0,N)
(1,1)
AosFaltan
Rango
TIENE
N
Cuatrimestre
PROFESOR
CARRERA
Descripcin
( 1,1)
(1,1)
Nombre
Carrera
Extensin
(0,1)
( 1,N)
ES_
RESONSABLE
Cdigo
NumDespacho
( 1,N)
FechaNacimiento
Direccin
(1,1)
DEPARTAMENTO
Sexo
PERSONA
DBD Tema 3
NSS
(0,N)
PARTICI
PA_B
(1,1)
CURSA_
O_
CURS
Nota
DBD(1,N)
Tema 3
15
DBD Tema 3
16
Proyecto
Nombre: string {clave}
Nmero {clave}
Localizacin
aade_empleado
aade_proyecto
cambio_director
...
Nmero
Nombre de la
clase
Clase
Nombre
Localizacin
PROYECTO
NombreP
Iniciales
Empleado
Nombre: DomNombre {clave}
NombreP
Iniciales
Dominio
Apellido
estructurado
Salario
...
Apellido
Salario
...
EMPLEADO
DBD Tema 3
17
Atributo clave
Nombre
Localizacin
PROYECTO
DBD Tema 3
...
Empleado
NSS {clave}
Salario
...
(1,1)
Opcionales
TRABAJA_EN
TrabajaEn
(1,N)
Nombre
19
Nmero
1..*
1..1
Departamento
Nombre {clave}
Nmero {clave}
...
DEPARTAMENTO
En una clase no es necesario tener atributos clave, puesto que los objetos
tienen su propio identificador.
El problema surge al transformar los diagramas a determinados modelos de
BD, como el relacional.
Una clave es una restriccin de un atributo (simple o compuesto). Las
restricciones se indican entre llaves ( {...} )
Salario
EMPLEADO
Proyecto
Nombre: string {clave}
Nmero {clave}
Localizacin
aade_empleado
aade_proyecto
cambio_director
...
18
DBD Tema 3
Asociacin
NSS
Nmero
Operaciones
aplicables a sus
objetos
Nombre
Atributos.
Opcionalmente
con tipo
mediante :
...
Asociacin: (tipo de relacin de E/R) se representa con una lnea que une dos
clases. Son opcionales el nombre (TrabajaEn) y el tringulo negro que indica
el orden de lectura (EmpleadoTrabajaEnDepartamento).
Cada relacin entre un empleado y un departamento se llama enlace.
Multiplicidad mn..max
Equivalente a (mn, mx) de E/R. En lugar de N se usa *.
Los mn..mx se colocan en los extremos inversos a los (mn, mx) de E/R.
Se emplean estas dos abreviaturas:
* 0..*
1 1..1
DBD Tema 3
20
...
Salario
FechaInicio
1
0..1
DIRIGE
(1,1)
...
Nmero
NSS
Salario
SUPERVISA
supervisado
(0,1)
FechaInicio
supervisor
0..1
*
supervisado
supervisor
(0,N)
Direccin
Producto
21
DBD Tema 3
...
SOLICITUD
NProducto
Nombre
...
Cabecera
1
1
Panel
1
2
Deslizador
Agregacin:
Es una forma de asociacin que especifica una relacin entre el todo y
sus partes.
Composicin:
Es una forma de agregacin con dependencia de existencia entre las
partes y el todo. Esto supone que si el todo desaparece de la BD
automticamente desaparecen todas sus partes.
No tiene sentido que en la parte del rombo negro haya multiplicidad
superior a 1.
Slo tienen sentido para asociaciones binarias
Solicitud
NSolicitud
...
jefe
0..1
Producto
NProducto
Nombre
...
22
DBD Tema 3
Representa a una
entidad incluida
subordinado
*
*
Persona empleado
0..1
compaa
{ Persona.compaa =
Persona.jefe.compaa }
0..1
Notas y restricciones
Las
partes
*
*
PRODUCTO
Ventana
1
Cuerpo
Navegabilidad de asociaciones
NSolicitud
El
todo
Carta
Las
partes
composiciones
No es una clase
Empleado
NSS
Salario
...
EMPLEADO
El
todo
*
Roles en
asociaciones
reflexivas
...
agregaciones
Dirige
Departamento
Nombre
Nmero
...
DEPARTAMENTO
Nombre
Clase asociacin:
contiene los atributos
de la asociacin
Empleado
NSS
Salario
...
EMPLEADO
(0,1)
Agregacin y composicin
23
Nota con un
comentario sobre
la clase Empresa
Empresa
Nota con una restriccin. Hace
referencia a las asociaciones que
conectan las lneas punteadas
DBD Tema 3
24
Ordered
{ordered}
*
Solicitud
Representacin
Reserva
DNI
25
DBD Tema 3
FechaNac
...
Edad
Empresa
contratante 1
DEPARTAMENTO
Lugares
...
Departamento
Nombre
Nmero
Lugares[*]
...
Indicando la
multiplicidad del
atributo
Lugares
...
*
1..*
Como
asociacin o
agregacin
Lugares
Nombre
DBD Tema 3
Atributo calificador
1 ubicacin
*
*
Persona
26
DBD Tema 3
Banco
Tablero
NCuenta
Fila
Columna
Multiplicidad * reducida
mediante el calificador
Clase objetivo
Departamento
Nombre
Nmero
Departamento
Asociaciones calificadas
Clase calificada
Nmero
1
compaa
{ Persona.contratante =
Persona.ubicacin.compaa } /Trabaja
{ Edad = FechaHoy
- FechaNac }
Multiplicidad de un atributo
Nombre
Persona
DNI
FechaNac
/Edad
...
PERSONA
1
1
Casilla
0..1
Cliente
Un banco est relacionado con todos sus clientes (sera * en el lado de cliente).
Pero un banco y un n de cuenta determinan a un cliente o a ninguno si el n
de cuenta no existe. En otros ejemplos el calificador podra relacionar con
varios clientes.
Casilla parece un tipo de entidad dbil. El problema es cuando las clases
propietarias son varias.
Desde el punto de vista de implementacin un calificador podra ser un ndice.
27
DBD Tema 3
28
Nombre
1
1..*
TIENE
(1,1)
Cdigo
Direccin
{ident.}
Asignatura
29
DBD Tema 3
Herencia
PLANTILLA_UNIVERSIDAD
PROFESOR ADMINISTRACIN_SERVICIOS
Profesorado
ATLETA
discriminador
{solapada, parcial}
Cien
Doscientos
Tres_Mil
Prtiga
GERENTE_INGENIERA
UR Fac. C.E.A. e Informtica ( A. Jaime)
Empleado
Ingeniero
Gerente
Asalariado
Gerente_ingeniera
DBD Tema 3
origen
Operario
Nacional
Extranjero
Enlace
Atleta
EMPLEADO
Supervisor
discriminador
Empleado
posicin
Clases
abstractas
Administracin_Servicios
30
DBD Tema 3
Discriminador
Plantilla_Universidad
tipo
{disjunta, total}
NO:
Profesor
Alumno
0..1
*
*
Sucursal
Cdigo {c. parcial}
Direccin
SUCURSAL
Inscripcin
Fecha
Cdigo {clave}
Nombre {clave}
BANCO
(1,N)
Cdigo
Asociaciones n-arias
31
DBD Tema 3
32
Pertenece
matriculado
* 1
Alumno
* Carrera[*]
Nombre
NAos
Profesor
Rango
Despacho
Extensin
Salario
Licenciado
investigador
1..*
1
Invest_ppal
Tutor
Becario
1
*
1..*
*
investigador
Proyecto
Nombre
* Cdigo {clave}
FechaInicio
Subvencin
Entidad
Departamento
Nombre {clave}
TfnoSecre
0..1 DespachoSecre
1
imparte
Se pueden aadir
restricciones,
discriminadores y poner
alguna relacin como
derivada (ejemplos:
asignatura-profesor o
asignatura-alumno)
Persona
Nombre
NSS {clave}
Direccin
Sexo
FechaNcto
Director
Calificacin
Nota
1 responsable
1..*
Asignatura
Nombre
Cdigo {clave}
Descripcin
{ident}
Ejercicios
impartida
Seccin
IdSeccin {c. parcial}
NGrupo
Cuatrimestre
Ao
*
UR Fac. C.E.A. e Informtica ( A. Jaime)
DBD Tema 3
33
MUSEO (1/2)
34
MUSEO (2/2)
DBD Tema 3
DBD Tema 3
35
DBD Tema 3
36
CAs.
De un parque se almacena su nombre
(no habr dos de igual nombre), la fecha
en la que fue declarado PN, sus
diferentes reas y los km2 de cada una.
No hay dos reas del mismo PN que se
llamen igual.
En cada rea de un parque residen
varias especies. Cada especie tiene sus
nombres cientfico y vulgar y se conoce el
n de individuos en cada rea.
DBD Tema 3
37
AERDROMO (1/2)
DBD Tema 3
38
AERDROMO (2/2)
DBD Tema 3
39
DBD Tema 3
40
DBD Tema 3
41
CONCESIONARIO
Un concesionario de automviles se
dedica a la venta de vehculos nuevos y
nos pide que diseemos un diagrama de
clases UML o uno EER, con la
informacin que maneja, de acuerdo a lo
siguiente:
El concesionario slo vende vehculos
nuevos, pero rebaja el precio si el cliente
cede su vehculo usado.
El concesionario maneja numerosos
vehculos. Desea conservar la matrcula,
color y modelo de cada uno. Como
decamos distinguen dos tipos de
vehculo: nuevo y usado. Para los usados
guardarn el kilometraje y la cantidad
rebajada (por la cesin del vehculo
usado). Tambin distinguen dos clases de
vehculo nuevo: vendido y en existencias.
Por cada vehculo vendido se guarda la
fecha de la venta.
Se tiene informacin de dos tipos de
persona: clientes y vendedores. Para
ambos interesa saber su dni, nombre,
direccin y telfono. De los vendedores
se conoce tambin su n de seguridad
DBD Tema 3
42
43
DBD Tema 3
44
DBD Tema 3
45
DBD Tema 3
46