Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DE INFORMACIÓN
CÁTEDRA DE DISEÑO DE
SISTEMAS DE INFORMACIÓN
Paradigma de
Orientación a Objetos
CÁTEDRA DE DISEÑO DE SISTEMAS
¿Qué es un Objeto ?
DE INFORMACIÓN
¿QUÉ SABE O
QUE TIENE EL
Identi ¿QUÉ ES? ¿Qué lo
Estado
OBJETO? dad distingue de los
demás objetos?
Roles desempeñados Humanos que llevan a cabo alguna función. Ejemplo: Madre, profesor, político.
por Personas
Lugares Denotan espacios geográficos o elementos para contención de casas. Ejemplo: País, Barrio, Estantería.
Cosas Objetos físicos, o grupos de objetos, que son tangibles. Ejemplo: Vehículos, libros, sensores de
temperatura
Roles desempeñados Colecciones formalmente organizadas de personas, recursos, instalaciones y posibilidades que tienen
Organizaciones una misión definida, cuya existencia es, en gran medida, independiente de los individuos. Ejemplo:
Banco, Ministerio, Administradora de Tarjeta de Crédito
Conceptos Principios o ideas no tangibles, utilizados para organizar o llevar cuenta de actividades de negocios y/o
comunicaciones. Ejemplo: Materia, Carrera, Tratamiento Médico.
Eventos o TransaccionesCosas que suceden, que habitualmente vinculan a clases de alguna de las otras categorías, en una
fecha y/u horas concretas, o como pasos dentro de una secuencia ordenada. Ejemplo: Vuelo,
Inscripción, Venta, Reserva, Donación.
CÁTEDRA DE DISEÑO DE SISTEMAS
Cohesión DE INFORMACIÓN
CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
Principio: No te repitas
Evitar
duplicaciones
Cada pieza de
información en un
único lugar
Crear
abstracciones
CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
¿Qué es el Encapsulamiento?
Ocultamiento de
Estado
Ocultamiento
de
Información
Ocultamiento de
Implementación
¿Qué es un sistema Orientado a Objetos? CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
Realidad
Audi Rojo
Yrigoyen 45 Comprobante de Alquiler
Jane Pearson
Modelo
• Conjunto de objetos que colaboran entre sí para lograr algo que solos no podrían.
• Si está bien diseñado hay una relación directa entre los objetos y los conceptos del
mundo real que estos representan
Veremos algunas Relaciones CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
Generalización
Jerárquicas
Agregación/Composición
Relaciones entre clases
No Jerárquicas Asociación
Jerarquía de Clases: Generalización (Herencia) CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
Es una relación entre un elemento general (superclase o padre) y un tipo más específico de ese
elemento (subclase o hijo). El hijo puede añadir nueva estructura y comportamiento, o modificar el
comportamiento del padre.
ElementoConInterés ElementoAsegurable
herencia
herencia múltiple
CuentaBancaria
simple
CuentaCorriente CuentaDeAhorro
Jerarquía de Partes: Agregación CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
todo parte
1..*
Factura DetalleFactura
agregación
todo parte
Estantería Estante
composición
Relaciones: Asociación CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
Acoplamiento
CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN
Cohesión
Independencia
de
Componentes
Acopla
miento
¿Cómo leemos
class Domain Objects 111 mil CÁTEDRA DE DISEÑO DE SISTEMAS
«entity» DE INFORMACIÓN
«entity»
«entity» Genero
PaisDeOrigen Pelicula
genero 1 nombre
un Modelo idioma
nombre
1 paisDeOrigen añoEstreno
disponible
duracion
fechaIngreso
de Dominio? actor
«entity»
Personaje
personajes
nombre
tituloOriginal
calcularDuracionEnFuncion()
calificacion
«entity»
Calificacion
1..* estaDisponible() 1
«entity» nombreEnPelicula
estaEnCartelera() nombre
Actor mostrarFuncionesHabilitadas()
1
animado
apellido «entity»
nombre funciones 1 Sala
pelicula sala
0..* capacidad
1 rol numero
«entity» «entity» 1
Rol Funcion 1..*
nombre diaSemana
sexo duracion sala
Complejo 1
horaInicio
numero
calcularDisponibilidad()
«entity»
Cine
capacidadSala()
de Cines Sexo
nombre
estaEnCurso()
hayLugar()
mostrarDiaHora()
direccion
fechaInauguracion
nombre
precioEntrada
1 mostrarCine()
1..* mostrarInfoHorariosFuncion()
entradas funcion
0..*
programaciones
«entity» funciones
0..* horariosFunciones
Entrada
«entity» 0..*
fechaHoraFuncion
fechaHoraVenta Programacion «entity»
precioCobrado fechaFin HorarioFuncion
ticketNro fechaHoraCreada diaDeSemana
estaAnulada() fechaInicio duracionIntervalo
estaCompleta() duracionPublicidad
estaIniciadaFuncion() esTrasnoche
estaVigente() horaPrimeraFuncion
mostrarProgramacion() horaUltimaFuncion
mostrarHorarioFuncion()
Repasando lo que vimos… CÁTEDRA DE DISEÑO DE SISTEMAS
DE INFORMACIÓN