🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
Diagrama de clases
1. UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE CIENCIAS Y SISTEMAS
Bases de Datos II
I UNIDAD: BASE DE DATOS
ORIENTADOS A OBJETOS
Elaborador por: Ing. Patricia Lacayo Cruz
2. Objetos
• Desde la perspectiva de la cognición
humana, un objeto es algo de lo siguiente:
– Una cosa tangible y/o visible
– Cualquier cosa que pueda ser aprendida
intelectualmente
– Cualquier cosa hacia la cual la atención o el
pensamiento es dirigido
3. Objetos
• Los objetos del mundo real no son los
únicos tipos de objetos que son de interés
para el diseño de software.
• Otros tipos importantes de objetos son los
inventos y resultados de los procesos de
diseño, cuya colaboración con otros objetos
constituye el mecanismo que proporciona
algún comportamiento de nivel elevado.
4. Objetos
• Lo anterior hace posible proporcionar una
definición más refinada de objeto:
– "Un objeto representa un individuo, un término,
unidad o entidad identificable, del mundo real o
abstracto, con un rol bien definido en el
dominio del problema".
– En términos más generales: "un objeto es
cualquier cosa con límites definidos ya sean
físicos o conceptuales".
5. Objetos
DEFINICIÓN DE OBJETO:
"Un objeto es una entidad que tiene estado,
exhibe un comportamiento y posee una
identidad; la estructura y comportamiento
de objetos similares son definidos en su
clase común; los términos instancia y
objeto son intercambiables".
6. Comportamiento de Objetos
• En los lenguajes de programación
orientados a objetos, las operaciones que los
clientes ejecutan sobre un objeto son
declaradas típicamente como métodos, los
cuales son parte de la declaración de la
clase de un objeto.
• En C++ se utiliza el término función
miembro para denotar el mismo concepto.
7. Comportamiento de Objetos
• En la práctica, se puede encontrar que un cliente
típicamente ejecuta cinco tipo de operaciones
sobre un objeto. Estos tipos de operaciones son los
siguientes:
– Modificación: una operación que altera el estado de un objeto, una
operación de escritura.
– Selección: una operación que accesa el estado de un objeto pero
no altera su estado, una operación de lectura.
• Iteración: una operación que permite que todas las partes de un
objeto sean accesadas en un orden bien definido.
• Construcción: una operación que crea un objeto y/o inicializa su
estado.
• Destrucción: una operación que libera el estado de un objeto y/o
destruye el objeto en sí.
8. ¿Que es un Objeto?
Es un ítem o entidad individual (conceptual o real ), con un rol bien definido en el
dominio del problema.
También llamado instancia.
Estado: abarca todas las propiedades
(normalmente
estáticas del objeto, más los valores
actuales
(normalmente dinámicos) de cada una de
esas propiedades
Comportamiento: cómo actúa y reacciona
un objeto en términos de sus cambios de
estado y sus pasos de mensaje.
Identidad: es la propiedad del objeto que
lo distingue de todo lo demás
9. Sirve para visualizar las relaciones entre las
clases que involucran el sistema.
Clase Atributos y Métodos
Elementos
Herencia,
Relaciones Asociación
Ensamblado
Dependencia
10. CLASE
Es la unidad básica que encapsula toda la información de un Objeto (un objeto es
una instancia de una clase). A través de ella podemos modelar el entorno en
estudio (una Casa, un Auto, una Cuenta Corriente, etc.).
Una Cuenta Corriente que posee como
característica
Balance
Puede realizar las operaciones de:
Depositar Girar
y Balance
11. Atributos
•representa alguna propiedad de la clase, que se encuentra en
todas las instancias de la clase.
•definen la estructura de una clase y de sus correspondientes
objetos.
•Los atributos corresponden a sustantivos y sus valores pueden ser
sustantivos o adjetivos.
•Dentro de una clase, los nombre de los atributos deben ser únicos
(aunque puede aparecer el mismo nombre de atributo en diferentes
clases).
12. Tipos de Atributos
Los atributos pueden representarse solo mostrando su nombre, mostrando
su nombre y su tipo,e incluso su valor por defecto.
Public: Indica que el atributo será visible tanto dentro como fuera de la
clase, es decir, es accesible desde todos lados
Private: Indica que el atributo sólo será accedible desde dentro de la clase
(sólo sus métodos lo pueden accesar)
Protected: Indica que el atributo no será accedible desde fuera de la clase, pero
si podrá ser accesado por métodos de la clase además de las subclases que se
deriven
14. Identificadores
En el momento de incluir atributos en la descripción de una clase se debe
distinguir entre los atributos los cuales reflejan las características de los
objetos en el mundo real, y los identificadores los cuales son utilizados
exclusivamente por razones de implementación. Estos identificadores
internos del sistema no deben ser incluidos como atributos.
15. Atributos Derivados
Los atributos básicos son atributos independientes dentro del
objeto. En contraste, los atributos derivados son atributos que
dependen de otros atributos. Los atributos derivados
dependen de otros atributos del objeto, los cuales pueden ser
básicos o derivados.
Notación para atributos
derivados.
Ejemplo
17. Operaciones (Métodos)
Las operaciones son funciones o transformaciones que se aplican a todos
los objetos de una clase particular. La operación puede ser una acción
ejecutada por el objeto o sobre el objeto.
Tipos de Método
19. Sirve para visualizar las relaciones entre las
clases que involucran el sistema.
Clase Atributos y Métodos
Elementos
Herencia,
Relaciones Asociación
Ensamblado
Dependencia
20. RELACIONES Generalización
ENTRE Clasificación Asociación
Ensamblados
CLASES
Cardinalidad de relaciones
uno-uno
especifica cuantas instancias de una
uno-muchos clase se pueden relacionar a
muchos-muchos una sola instancia de otra clase.
21.
22. Especialización/Generalización (Herencia):
Indica que una subclase hereda los métodos y atributos especificados
por una Super Clase, por ende la Subclase además de poseer sus
propios métodos y atributos, poseerá las características y atributos
visibles de la Super Clase.
Util para el modelo
conceptual al igual que
para la implementación.
Como modelo
conceptual da buena
estructuración a las
clases.
Como modelo de
implementación es un
buen vehículo para no
replicar
innecesariamente el
código.
23.
24. Asociación:
permite asociar objetos que colaboran entre si.
Ejemplo: Los objetos Juan Pérez y UNLaR están relacionadas por la
liga estudia-en que describe que "Juan Pérez estudia en la UNLaR".
25. Por lo general en una asociación cada clase juega un papel,
Puede representar tales papeles en el diagrama
Puede aparecer dos asociaciones entre clase en el
mismo diagrama
28. Grado de la Asociación
El grado de una asociación se determina por el número de clases
conectadas por la misma asociación. Las asociaciones pueden ser
binarias, ternarias, o de mayor grado.
Asociación Ternaria que es además una asociación de clase.
29. Asociaciones Reflexivas
Las asociaciones pueden ser reflexivas,
relacionando distintos objetos de una
misma clase.
Ejemplo: Para una clase persona puede
existir una asociación pariente que
describe que dos objetos de tipo persona,
como Juan Pérez y Laura Pérez son
parientes.
30. Atributos de Liga (o Asociación)
Al igual que un atributo de clase es propiedad de la clase, un atributo de
asociación (o atributo de liga) es propiedad de una asociación. La
notación es similar a la usada para los atributos de clases, excepto que se
añade a la asociación, y no se incorpora un nombre de clase.
31. UNLAR
Asociación
Asociación con como clase
operaciones
32. Dependencia or Instantiates
Dependencia.
• Una dependencia indica una relación semántica entre 2 (o
más) elementos del modelo. Esto relaciona los elementos
del modelo en sí y no requiere un conjunto de instancias
para que tenga significado. Esto indica una situación en la
cual un cambio del elemento destino puede implicar un
cambio en el elemento fuente en la dependencia.
Notación.
• Una dependencia se muestra a través de una flecha
discontinua desde un elemento del modelo a otro elemento
del modelo, donde el primer elemento es el dependiente.
La flecha puede ser etiquetada con un estereotipo opcional
y un nombre opcional.
Opciones de presentación.
• Si uno de los elementos es una nota o una restricción,
entonces la flecha puede ser suprimida (la nota o la
restricción es la fuente de la flecha).
33. Dependencia or Instantiates
• Suponga que diseñara un sistema que muestra formularios
corporativos en pantalla para que los empleados los llenen. El
empleado utiliza un menú para seleccionar el formulario por llenar. En
su diseño, tiene una clase Sistema y una clase Formulario. Entre sus
muchas operaciones, la clase Sistema tiene
mostrarFormulario(f:Form). El formulario que el sistema desplegará,
dependerá, obviamente, del que elija el usuario. La notación de UML
para ello es una línea discontinua con una punta de flecha en forma de
triangulo sin relleno que apunta a la clase de la que depende.
35. Ensamblados: Agregación y Composición
son formas especiales de asociación entre un todo y sus partes, en donde el
ensamblado está compuesto por sus componentes.
Composición (el Objeto base se contruye a partir del objeto incluido). El
tiempo de vida del objeto incluido está condicionado por el tiempo de vida
del que lo incluye.(no puede ser compartido entre ensamblados)
Agregación (el objeto base utiliza al incluido para su funcionamiento). El
tiempo de vida del objeto incluido es independiente del que lo incluye. (puede
aparecer en varios ensamblados)
El ensamblado es antisimétrico
39. En ciertos restaurantes, una comida consta de sopa o
ensalada, el plato fuerte y el postre. Para modelar
esto, utilizaría una restricción: La palabra O dentro
de llaves con una línea discontinua que conecte las
dos líneas que conforman el todo.
40. Diagrama de Contexto de Composición
Muestra los componentes de una clase como un diagrama anidado dentro de un
enorme rectángulo de clase
41.
42. Realize
La relación entre una clase una interfaz se conoce como
realización. En cierto sentido en el ejemplo, es como si el
teclado de la computadora garantizara que esta parte de su
funcionalidad “haría las veces” del teclado de una maquina
de escribir. Se representa con una línea discontinua con
una punta de flecha sin rellenar
45. Ej 1 ) Considere la siguiente jerarquía:
¿Hay clases abstractas? ¿ cuales?
CuentaBancaria
CuentaCorriente CajaAhorro
CajaAhorroComún CajaAhorroEspecial
46. Ej. 2 ) Para cada uno de los siguientes pares de
Objetos analice si los vincula una relación de tipo
“ES UN” o “ES PARTE DE”
perro - mamífero ES UN
casa - techo ES PARTE DE
conserje - empleado ES UN
mouse - dispositivo de entradaES UN
menú - ventana ES PARTE DE
conjunto colección ES PARTE DE
punto - círculo ES PARTE DE
47. Tarea 1) Construir la jerarquía de clases a partir de los
siguientes objetos ( de ser necesario crear clases abstractas).
Perro - plancha - martillo - velero - jazmín - rosal - pingüino -
eucaliptos - avión - pinza - auto-bicicleta - moto - cuadriciclo -
batidora
Tarea 2) Identificar los OBJETOS y los atributos
necesarios para llevar un control de los libros
prestados compañeros o amigos.
48. Tarea 3) Identificar los OBJETOS y sus
Atributos necesarios para conocer los cassettes y
compacts que tenés o que prestaste a tus amigos.
Tarea 4 ) modelar un sistema que permita definir
cursos, asignar docentes para dictar las materias
que correspondan, emitir lista de alumnos,
controlar asistencia y llevar estadísticas.
49. Ej. 3) Control de los turnos de un consultorio odontológico.
(resuelto)
Descripción: El paciente solicita el turno, la secretaria verifica
la planilla de horarios disponibles para el odontólogo
solicitado. Si el horario está disponible, se le otorga el turno
junto con el comprobante y se anota dicho turno en la planilla.
Cuando el paciente concurre a la consulta en la fecha indicada,
se verifica la planilla de turnos y se informa al médico de su
presencia.
Se pide: * Identificar los objetos del dominio.
* Definir atributos.
* Marcar relaciones.
50. Solución del Ejercicion No. 3 “ Control de turno en un consultorio odontológico”
Objetos: Paciente - Odontólogo - Planilla de horarios - Secretaria - Turno
Atributos:
Paciente Odontólogo Pl de horario turno Secretaria
nombre Nombre nom-odonto nom-odonto nombre
dirección Dirección Mes nom-paciente dirección
nro-histClin Matrícula Dia secret telef.
telef. Telef. Hora Mes horario-trab
Dia
Hora
atendido
52. Realizar el Diagrama de Clases
Caso 1: Se trata de automatizar el seguimiento y control de los trámites
en un ministerio. Sobre cada trámite se puede realizar una serie de
actos administrativos por lo cual existe un almacén que contiene la
siguiente información: código de acto, nombre de acto, descripción de
acto. El sistema debe permitir:
• Registrar el ingreso de un trámite al ministerio para su posterior
seguimiento. Algunos datos relevantes acerca del trámite pueden ser
nro. de entrada, fecha de entrada, datos personales del interesado, etc.
• Registrar los actos administrativos efectuados sobre los trámites.
• Informar el estado de un trámite: qué actos administrativos se han
efectuado sobre el trámite, quién los efectuó, en qué oficina, en qué
fecha comenzaron y cuánto se demoraron.
• Registrar el final del trámite en el ministerio, alimentando información
histórica para otros sistemas del ministerio, eliminándola de este
sistema.
• Consultar cuántos trámites han pasado por determinada oficina entre
dos fechas.
• Consultar en qué oficina se encuentra determinado trámite.
53. Realizar el Diagrama de Clases
Caso 2: Se trata de un sistema que permite controlar la suscripción de
lectores a revistas de una editorial durante el año en curso de la
siguiente manera:
a) El empleado de la editorial ingresa al sistema los datos particulares del
nuevo suscriptor y el título de la revista a suscribir. En el momento
de la inscripción debe abonar la matrícula y la primera cuota. El
monto a cobrar por matrícula y cuota difiere de acuerdo a la revista
elegida.
b) Se deben registrar los pagos de cuotas de los suscriptores. Estos
pueden abonar más de una cuota, si tienen cuotas atrasadas.
c) La sección de impresiones de la editorial recibe semanalmente un
listado con el número de ejemplares a imprimir de cada revista.
d) La sección distribución de la editorial recibe semanalmente un listado
por título de revista con los nombres y los domicilios de los
suscriptores a los que se debe enviar la revista (los que tienen las
cuotas al día).
e) Durante el último mes del año se reciben los pedidos de renovación de
suscriptores. La ventaja de realizar este pedido es que no se cobra
una nueva matriculación.
f) A principio de año se actualizan las suscripciones de acuerdo a los
pedidos de renovación recibidos y se dan de baja aquellos
suscriptores que no pidieron la renovación.
54. UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE CIENCIAS Y SISTEMAS
Bases de Datos II
II UNIDAD: TRANSFORMACION DEL
SISTEMA DE BASES DE DATOS
ORIENTADOS A OBJETOS AL MODELO
RELACIONAL
Elaborador por: Ing. Patricia Lacayo Cruz
55. ransformación del Modelo de Objetos al Modelo
Relacional.
E Q U IP O ) Representación de Objetos simples.
N u m e ro D e E q u ip o EQUIPO (NumeroDeEquipo, Descripción,
D e s c rip ció n
Fe ch a D e Ad q u is ic ió n FechaDeAdquisición, CostoDeCompra)
C o s to D e C o m p ra
a) Diagrama del Objeto EQUIPO b) Afinidad que representa a EQUIPO
56. 2 Transformación de Objetos Compuestos.
Un objeto compuesto es el que tiene uno o más atributos de valores múltiples simples o
de grupo. La figura 2.(a) muestra un ejemplo de objetos compuesto, CUENTA-HOTEL.
Para representarlo, se crea una afinidad para el objeto base, CUENTA-HOTEL, y una
afinidad adicional para el atributo de grupo que se repite, CargoDiario, Este diseño
relacional se muestra, a continuación
CUE NTA -HO TE L
(a) Diagrama del objeto CUENTA-HOTEL
Nu m eroDe Fa c tura
FechaDeCli ente
No mbreDe Cli ente
TotalA decuado
CUENTA-HOTEL (NúmeroDeFactura, FechaDeLlegada,
Ca rgoDiario
NombreDeCliente, TotalAdecuado) FechaD eC argo
Ca rgoDeHabitación
CARGO-DIARIO (NúmeroDeFactura, FechaDeCargo, Ca rgoDeA lim entos
CargoDeHabitación, CargoDeAlimeintos, Ca rgoDeA lim entos
CargoDeTeléfono, CargosMiscelaneos, Ca rgoD eTel efon o
CargoPorImpuesto) Ca rgosM is ce laneos
Ca rgoP orIm pues to
(b) Afinidades que representan a CUENTA-HOTEL
57. Transformación de los objetos combinados uno a uno
Ejemplo de representación relacional de objetivos combinados 1:1
(a) Ejemplo de objetos combinados 1:1 y (b) su representación.
SOCIO CASILLERO
ID
NúmeroDeSocio
ID
NúmeroDeCasillero
Nombre Tipo
Combinación
Dirección
Ubicación
(a)
Ciudad
Estado
CodigoPostal SOCIO
0:1
CASILLERO
1:1
SOCIO (NúmeroDeSocio, Nombre, Dirección, Ciudad, Estado, CodigoPostal,
NúmeroDeCasillo)
CASILLERO (NúmeroDeCasillero, Tipo, Combinación, Ubicación)
(b)
58. Ejemplo de representación relacional de objetos
combinados 1:N
(a) Objetos combinados 1:N y (b) su representación.
EQUIPO
REPARACION
ID
NúmeroDeSerie
Tipo
ID
NúmeroDeFactura
Modelo Fecha
Descripcion (a)
FechaDeAdquisición
CostoDeAdquisición Costo
Ubicación
EQUIPO
REPARACION 1:N
0:N
EQUIPO (NúmeroDeSerie, Tipo, Modelo, FechaDeAdquisición, CostoDeAdquisición, Ubicación)
REPARACIÓN (NúmeroDeFactura, Fecha, Descripción, Costo, NúmeroDeSerie)
(b)
59. 3) Representación de las relaciones uno a muchos y
muchos a uno
Representación relacional del ejemplo de objetos combinados
N:M (a) Objetos LIBRO y AUTOR
(b) Su representación relacional.
LIBRO AUTOR
ID
ISBN ID
NúmeroDeSeguroSocial
Titulo
NumeroDeSolicitud
Nombre
Dirección
(a)
LIBRO
AUTOR 1:N
1:N
LIBRO (ISBN, Titulo, NumeroDeSolicitud)
AUTOR (NúmeroDeSeguroSocial, Nombre, Teléfono)
LIBRO-AUTOR (ISBN, NumeroSeguroSocial)
(b)
60. REPRESENTACION DE RELACIONES MUCHOS A MUCHOS
OBJETO1 OBJETO2
ID
O1 ID
O2
. .
. .
. .
OBJETO2 OBJETO1
N:N
O:N
R1 R2
O1 . . . O2 ...
R3
O1 02 . . .
61. Ejercicio No. 1 Forma de Suscripción
La figura (a) muestra una forma de suscripción a una revista, muestre
el modelo Orientado a Objetos y el Modelo Relacional
considerando:
b) La compañia tiene una publicación y no tiene planes para
producir revistas adicionales.
c) Si la compañia tiene varias publicaciones y el cliente puede
suscribirse a mas de una de ellas
NEXOS Para suscribirse
•1 año (6 números) por $18 – 20% menos que el precio en
puestos de periódicos.
•2 años(12 números) por $34 – ahorre 24%
Nombre .
Dirección .
Ciudad .Estado . Código Postal .
Pago Incluido Pagaré al recibirla
62. Solución del inciso (a)
SUSCRIPCION
ID
NúmeroDeSuscripción
FechaInicial
FechaFinal
CantidadAdecuada
Nombre
Dirección
Ciudad
Estado
CodigoPostal
CodigoDePago
SUSCRIPCION
NúmeroDesuscripcion FechaInicial FechaFinal CantidadAdeudada Nombre
Dirección Ciudad Estado CodigodePago CodigoPostal
63. Solución (b)
CLIENTE SUSCRIPCION
ID
NúmeroDeCliente ID
NúmeroDeSuscripcion
Nombre FechaInicial
Dirección FechaFinal
Ciudad CantidadAdeudada
Estado CodigoDePago
CodigoPostal
CLIENTE
SUSCRIPCIÓN 1:N
1:N
CLIENTE
NumeroDeCliente Nombre Dirección Ciudad Estado CodigoPostal
SUSCRIPCION
NúmeroDesuscripcion FechaInicial FechaFinal CantidadAdeudada CodigoDePago NumeroDeCliente
64. Ejercicio No. 2 Citatorio para amonestación vial
La siguiente figura, muestra una ocurrencia de una forma de
citatorio para una amonestación vial, usada en el estado de
Washington. El diseñador ha dado indicios acerca de los objetos
implícitos de esta forma. Observe que algunas partes de la forma
se distinguen: porque tienen esquinas redondeadas, lo que indica
las secciones diferentes que pertenecen a objetos distintos.
Algunos grupos de atributos tienen nombres, lo cual señala la
necesidad de atributos de grupo.
65. AVISO DE INFRACCION PATRULLA DEL ESTADO DE WASHINTON
Fecha de la Falta Dist. Destac.
Nombre Aguirre David M
Apellidos Nombre de pila Mes 11 dia 7 año Hora 9:35 2 17
Ubicación
Direccion 5053 88 Ave SE 17 Distancia E Sentido Enunckum Cuidad SR410
Codigo
Faltas
Ciudad Mercer Island Estado Wa Postal 98049 Escribiendo miestras conduce
Licencia del Cond. Estado M Fecha de Nac. Estatura Peso Ojos
Oficial Número
AA000 Wa F 2127 46 6 156 bl
Scott Personal 850
Licencia del Vehi. Estado Color Año Marca Tipo
AA3b2 Wa White 90 Saab 900 Esta es una amonestación. No hay acciones posteriores.
NIV ( Número de Identificación del Vehículo
Se autoriza traslado para reparación. Se prohibe la
operación en esta vialidad.
Propietario
Corrija las faltas de inmediato. Regrese esta tarjeta para
Registrado comprobación en 15 – 30 días (si se marca este recuadro)
X Firma del
conductor
Dirección:
66. AVISO-DE-INFRACCION CONDUCTOR
ID
Número Nombre
CONDUCTOR 1:1 Apellido
VEHÍCULO 1:1 NombreDePila
OFICIAL 1:1 Inicial 1:1
FechaDeLaFalta Dirección
Mes Ciudad
Dia Estado
Año 1:1
CodigoPostal
Hora ID
Licencia
Dist. LicenciaDelConductor
1:1
Destac. Estado
Ubicación Sexo
Distancia FechaDeNacimiento
Sentido Estatura
Ciudad 1:1 Peso
Vialidad Ojos
Falta 1:N
AcciónRequerida AVISO-DE-INFRACCION 1:N
67. VEHICULO OFICIAL
ID
Licencia ID
NúmeroPersonal
LicenciaDelVehiculo
Estado Nombre
Color
Año AVISO-DE-INFRACCION 1:N
Marca
Tipo
ID
NIV
PropiedadRegistrado
Dirección
AVISO-DE-INFRACCION 1:N