SlideShare ist ein Scribd-Unternehmen logo
1 von 74
Análisis y diseño orientado a objetos con UML
VISTA LÓGICA (MODELO ESTÁTICO Y DINÁMICO)
 Clases
 Atributos y operaciones
 Responsabilidades
 Relaciones
 Asociación
 Multiplicidad
 Agregación
 Generalización
 Dependencia
 Mecanismos comunes.
 Estereotipos.
 Paquetes.
 Restricciones.
 Modelo Vista Controlador (MVC).
 Mapeo de clases a bases de datos relacionales.
VISTA LÓGICAVISTA LÓGICA
• La Vista Lógica describe la estructura
interna del sistema, es decir las partes que
lo integran y cómo interactúan.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Vista Lógica
Los diagramas de clase de UML nos permiten modelar esta vista del sistema
• Los diagramas de clase son uno de los diagramas más
importantes y más utilizados de UML.
• Permiten capturar los elementos que integran la
estructura interna del sistema así como su relaciones.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de clase
Client e
+nombre
+apellido paterno
+apellido materno
+domicilio
+telefonos
Fact ura
+numero
+fecha
+monto
+emitir()
Una clase representa un grupo de objetos con
características y comportamiento comunes.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Qué son las clases
Atributos Operaciones
Características
externas y
visibles. Lo que
la clase conoce.
Conjunto de
acciones que
una clase realiza.
Lo que la clase
puede realizar.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Atributos
• Los atributos representan una
propiedad de la clase definida en
términos abstractos.
• Cada atributo puede tomar un
valor en particular, determinando
así el estado de un objeto en un
momento determinado.
• Una clase puede tener varios
atributos o ninguno.
• El conjunto de atributos definen la
estructura de la clase.
Alum no
+nombre
+apellido
+segundo apellido
+fecha nacimiento
+domicilio
+matricula
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Operaciones
• Pueden ser algo hecho por o sobre
la clase.
• Las operaciones de una clase pueden
hacer uso de los atributos de la
clase y modificar sus valores,
cambiando así el estado.
• Las operaciones definidas en cada
clase permiten cumplir con sus
responsabilidades.
Elevador
+subir()
+bajar()
+detenerse()
+abrirPuertas()
+cerrarPuertas()
+seleccionarPiso()
-validarCapacidad()
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Notación UML
Nom bre de la clase
+ATRIBUTOS
+OPERACIONES()
Nom bre de la clase
• Las clases se pueden construir desde tres perspectivas:
– CONCEPTUAL. Representando los conceptos del dominio que se
está estudiando. Se dibujan sin importar el software con que se
implementarán por lo que son independientes del lenguaje. Pueden
ubicarse en el contexto del negocio (modelado de negocio) o del
sistema.
– ESPECIFICACIÓN. Enfocados al diseño del software en su
filosofía pero no en su implementación.
– IMPLEMENTACIÓN. Se expone por completo la implementación.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Perspectivas
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Perspectiva conceptual
Conceptos del dominio que se está estudiando.
No importa el software con que se implementarán
Son independientes del lenguaje.
Pueden ubicarse en el contexto del negocio (modelado de negocio) o del
sistema.
Pago
cantidad
Vent a
fecha
hora
Pago-por
11
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Perspectiva de especificación
Enfocados al diseño del software en su filosofía pero no en su
implementación.
Pago
cantidad: Dinero
getDevolucion(): Dinero
Vent a
fecha: Fecha
hora: Hora
getTotal(): Dinero
Pago-por
11
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Perspectiva de implementación
Se expone por completo la implementación. Ligada a un lenguaje de
programación orientado a objetos.
Pago
+cantidad: Dinero
+getDevolucion(): Dinero
Vent a
+fecha: Date
+hora: Date
+getTotal(): Dinero
Pago-por
11
Dinero
+monto: double
Las clases surgen de la terminología del problema.
Los sustantivos (cosas, personas, hechos) ya que
pueden convertirse en clases del modelo.
 Verbos que pueden ser operaciones de las clases o
en clases por sí mismas.
Los atributos de una clase también se pueden
identificar por sustantivos específicos que pueden
tomar algún valor.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Cómo identificar las clases
• En las perspectivas de especificación e implementación, los
atributos y las operaciones se definen con mayor detalle:
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Atributos y Operaciones
Clase
-atributo: Tipo = default
+Operacion(): Tipo
visibilidad
Aut o
-marca: String
-modelo: String
-placa: String
-transmision: String
+cargarGasolina(litros: double)
+setters()
+getters()
Todos los sistemas contienen varias clases.
Los objetos contribuyen al comportamiento del sistema colaborando unos y
otros. Esta colaboración se representa a través de las relaciones
La existencia de una relación entre dos clases denota una vía de
comunicación (enlace) por las que se puede enviar peticiones y mensajes
entre ellas.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Relaciones
Alum no
Curso
Profesor
Aula
• Existen varios tipos relaciones entre clases,
los principales son:
• Dependencia
• Asociación
• Agregación
• Composición
• Herencia
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Relaciones
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Relaciones
Dependencia
Asociación
Agregación
Composición
Herencia
Cuando los objetos de una clase trabajan temporalmente
con objetos de otra clase.
Cuando los objetos de una clase trabajan con objetos de
otra clase por tiempo prolongado.
Cuando una clase es propietaria del objeto pero
comparte a otras clases la referencia del objeto. El
objeto puede existir independiente de la clase.
Cuando una clase contiene objetos de otra clase. Los
objetos no pueden existir independientes de la clase.
Cuando una clase es un tipo de otra clase.
+débil+fuerte
Es una relación “de uso”
entre dos elementos, uno
de ellos dependiente y el
otro independiente (cliente
y proveedor).
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Dependencia
“ B depende de A “ es decir, B es el
Cliente y A es el Proveedor.
BBAA
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Dependencia
TeléfonoTeléfono
publicopublico
ViajeroViajero
LíneaLíneaPuntoPunto
dibujar (inicio:Punto, fin:Punto)
Es una relación estructural que
especifica que los objetos de un
elemento están conectados con los
objetos de otro.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Asociación
BBAA
Por cada instancia de uno pueden existir
“n” instancias del otro.
Las asociaciones de representan que una instancia de A ”tiene“
instancias de B.
La asociación puede ser nombrada con algún verbo que describa de
forma más precisa el tipo de relación entre dos clases, por ejemplo:
vende, imparte, participa, realiza.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Asociación
Persona Revist asuscribe +revista suscrita+suscriptor
0..*0..*
Personas se suscriben a revistas.
En las asociaciones además se
especifica la multiplicidad,
Es decir el número instancias de
una clase con respecto a la otra.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Multiplicidad
Exactamente uno
Cero o más
Uno o más
Cero o uno
Rango específico
1
0..*
1..*
0..1
2..4
Muchos
*
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Asociación
FarmaciaFarmacia
EquipoEquipo
MedicamentoMedicamentodistribuyedistribuye

*
*
PartidosPartidos
juegajuega
 *
2
TrabajadorTrabajador
empleaemplea
 *
1
EmpresaEmpresa
EstudianteEstudiante
alojaaloja
 0..4
0..1
DepartamentoDepartamento
Es una relación donde una de las
clases es parte de la otra.
Si la clase contenedora es
destruida, la clase contenida
puede permanecer.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Agregación
BBAA
“ B es parte de A”
“ A contiene B ”
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Agregación
VentaVenta ClienteCliente
LlantaLlantaAutoAuto
JugadoresJugadoresEquipoEquipo
Al igual que la agregación, es una
relación de “todo-partes” pero
más fuerte.
El tiempo de vida de las partes
depende directamente la clase
contenedora.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Composición
BBAA
“ B es componente de A”
“ A se compone de B ”
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Composición
CorazónCorazónPersonaPersona
LápizLápiz PuntaPunta
Libro Capítulo
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Composición vs. Agregación
CapítuloCapítuloLibroLibro
BibliotecaBiblioteca LibroLibro
Representa una relación “es un”.
La subclase hereda los métodos y atributos
de la superclase, además de poseer sus
propios métodos y atributos
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Herencia
BB
AA
“ B es un tipo de A”
“ A se especializa en B ”
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
ParticularParticular
TransporteTransporte
PúblicoPúblico
Herencia
DestajoDestajo
EmpleadoEmpleado
AsalariadoAsalariado HonorariosHonorarios
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Ejercicio 7
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos comunes
Sirven para adaptar el lenguaje a necesidades particulares, dentro
de un marco ordenado respetando reglas.
Se usan para extender el lenguaje (UML) de manera controlada.
Mecanismos:
•especificaciones
•adornos
•divisiones comunes
•mecanismos de extensibilidad.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos comunes - Especificaciones
Los modelos UML tienen al menos dos dimensiones: una dimensión
gráfica y una textual.
Las especificaciones son descripciones textuales de la semántica de
un elemento.
Explicación textual de la sintaxis y semántica de los bloques de
construcción.
CuentaBancariaCuentaBancaria
Semántica plano posterior
Especificación de clase
Especificación caso de uso
Especificación dependencia
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos comunes - Adornos
No hay necesidad de mostrarlo todo en un diagrama, es
más importante que el diagrama sea claro.
Los adornos son elementos que hacen visibles aspectos
de la especificación del elemento:
CuentaBancariaCuentaBancaria
CuentaBancariaCuentaBancaria
Elemento sin adornos
Elemento con adornos
{autor: Juan, estado: probado}
- numeroCuenta: long
-proietario: Cliente
- saldo: long
# retirar(): long
# calculaInteres(): void
# depositar(): void
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Notas
Las notas, es el tipo de adorno más utilizado.
Una nota es un símbolo gráfico utilizado para contener restricciones
o comentarios vinculados a un elemento o colección de elementos.
Permiten adjuntar información como: observaciones, revisiones o
explicaciones.
Sem aforo
+ estado
+ cambiar()
Un semaforo víal de tres estados
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos comunes – Divisiones comunes
Existen dos divisiones comunes en UML:
clasificador/instancia
e
interfaz/implementación.
(…más)
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos comunes – Divisiones comunes
Clasificador /Instancia
La noción abstracta de un tipo de elemento es un
clasificador.
Los elementos específicos, concretos, las instancias.
Ejemplo:
Alum no
+nombre
+apellidos
+matricula
+fechaNacimiento
Juan : Alumno
: Alumno
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos comunes – Divisiones comunes
interfaz / implementación
El principio es separar qué hace algo (interfaz) de cómo lo hace
(implementación).
La interfaz define un contrato que garantiza seguir implementaciones
específicas.
Volador
Avión
Helicopt ero
Superhéroe
Volador
+despegar()
+planear()
+aterrizar()
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mecanismos de extensibilidad
 Estereotipos
 Paquetes
 Notas
 Restricciones
 Valores etiquetados
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Estereotipos
•Los estereotipos son un mecanismo de extensibilidad del UML.
•Un estereotipo amplía el vocabulario del UML, permitiendo crear
nuevos tipos de bloques de construcción, derivados de los
existentes y específicos para determinado problema.
•Se presentan como palabras entre paréntesis triangulares
<< estereotipo >>
•Aplican a diversos elementos de UML como: Clases, Casos de
Uso, Relaciones, Actores, etc.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Estereotipos
Actor<<Sistema>><<Sistema>>
<<Tabla>><<Tabla>>
<<uses>><<uses>>
<<servidor><<servidor>
>>
<<java>><<java>>
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Paquetes
Un paquete es el elemento de organización básica de un modelo de
sistema UML.
Puede considerarse todo el sistema como un paquete que contiene los
demás paquetes, diagramas y elementos.
Un paquete puede contener paquetes subordinados, diagramas o
elementos únicos,
Paquete
java
lang
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Restricciones
Las restricciones permiten añadir especificaciones, condiciones o
limitaciones más detalladas.
Condiciones que deben cumplirse para que el modelo este bien
formado.
{ restricciones }{ restricciones }
Alum no
+nombre
+apellidos
+matricula
+fechaNacimiento
{mayor de edad}
Curso
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Valores etiquetados
Proporcionan una forma de ampliar la especificación al permitir
añadir nueva información a un elemento.
Es una palabra clave que puede tener un valor anexado.
{ etiqueta1=valor1, etiqueta2=valor2 }
Servidor
{procesadores = 3}
Un valor etiquetado no es lo mismo
que un atributo de clase
Más bien es un metadato que se
aplica al elemento, no a sus
instancias
{Autor=Juan Pérez}
Client e
+nombre
+apellido paterno
+apellido materno
+domicilio
+telefonos
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Modelo – Vista - Controlador
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Modelo – Vista - Controlador
La triada de clases Modelo/Vista/Controlador se uso para
construir interfaces de usuario en Smalltalk 80.
Consiste en tres tipos de objetos
Modelo Es el objeto de aplicación
Vista Es su representación en pantalla
Controlador
Define el modo en que la interfaz reacciona a la entrada del
usuario.
Antes de MVC las interfaces agrupaban los tres objetos en uno
solo
MVC los separa para incrementar la flexibilidad y reutilización.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Modelo – Vista - Controlador
MVC desacopla las vistas de los modelos estableciendo entre
ellos un protocolo de suscripción/notificación
Cada vista debe reflejar el estado del modelo y cada vez que los
datos del modelo cambian este “avisa” a las vistas que dependen
de él.
En respuesta a estos “avisos” las vistas se actualizan
Esto permite crear nuevas vistas sin modificar el modelo.
A = 50%
B = 30%
C = 20%
vistas
modelo
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Modelo – Vista - Controlador
 Aplicable a un problema general: desacoplar objetos de manera
que los cambios en uno puedan afectar a otros sin necesidad de
que el objeto conozca los detalles de los otros. (Patrón Observer)
Observers Subject
Suscriptores Periódico
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Modelo – Vista - Controlador
MVC y una aplicación Web
Cliente
CGI / Controlador
Value object
Página / Vista
DB
Modelo / BD /
lógica del
negocio
4
1
2
Crea instancias de
Petición HTTP
3
5 Respuesta HTTP
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Modelo – Vista - Controlador
MVC y una aplicación Web
1 El cliente realiza una petición HTTP la cual es recibida por un CGI.
2 El CGI actúa como un controlador y procesa la petición. Es
probable que realice una petición al modelo (usualmente la base
de datos). El resultado de procesar la petición se estructura en la
forma de un value object.
3 El controlador direcciona el control a la vista. Representada por
una página web (php, asp, jsp). La responsabilidad de la página
es generar la vista del modelo el cual obtiene con del value
object.
4
5 La vista regresa una página al navegador vía una respuesta
HTTP.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mapeo de clases a bases de datos
relacionales
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mapeo de clases a bases de datos relacionales
Cómo modelar un esquema
1. Identificar clases persistentes
2. Crear un diagrama de clases que contenga las clases
marcadas como persistentes
3. Expandir detalles estructurales de estas clases
4. Centrar la atención en las relaciones que estructuran las
clases y en su cardinalidad.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mapeo de clases a bases de datos relacionales
Mapeo de clases a Base de Datos
 Cada clase identificada como persistente se mapea a una tabla:
Cliente
nombre
direccion
telefono
Tabla Cliente
clienteID nombre dirección teléfono
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mapeo de clases a bases de datos relacionales
Mapeo de clases a Base de Datos
 Relaciones de uno a muchos
Tabla Cliente
clienteID nombre direccion telefono
Cliente
nombre
direccion
telefono
Renta
fecha
devuelto
0..*
11
0..* Tabla Renta
rentaID fecha devuelto clienteID
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mapeo de clases a bases de datos relacionales
Mapeo de clases a Base de Datos
• Relaciones de muchos a muchos
Table ProductoIngrediente
productoID ingredienteID
Producto
Ingrediente
1..*
0..*
1..*
0..*
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mapeo de clases a bases de datos relacionales
Mapeo de clases a Base de Datos
 Relaciones de herencia:
 Cada subclase es mapeada a una tabla separada con una
columna adicional por cada atributo heredado.
 Todas las clases de la jerarquía son mapeadas a una única
tabla, agregando columnas para todos los atributos de la
jerarquía.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
Una interacción establece el escenario para un
comportamiento del sistema introduciendo todos los
objetos que colaboran para realizar alguna acción.
Incluyen los mensajes enviados entre objetos. La
mayoría de las veces, un mensaje implica la
invocación de una operación o el envío de una señal.
Las interacciones se usan para modelar el flujo de
control dentro de una operación, una clase, un
componente, un caso de uso o el propio sistema.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
Un diagrama de interacción es una representación gráfica de
interacciones entre objetos. Hay dos tipos de diagramas de
interacción:
1. Diagramas de secuencia
2. Diagramas de colaboración
Cada uno provee un punto de vista diferente de la misma
interacción
 Los diagramas de secuencia están ordenados de acuerdo
al tiempo
 Los diagramas de colaboración muestran la organización
entre objetos.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
CBA
m1
m2
m3
m4
m5
Cliente AgenteBilletes AyudaPlanificacion
1
<<create>>
2 : establecerItinerario()
3 : calcularRuta()
4 : ruta
5
<< destroy>>
6 : notificar
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
objeto
Creación
Llamada
Llamada
(invocación local)
Retorno
Valor de retorno
Destrucción
Envío
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
: Bank Clerk
A1 : Account A2 : Account
transfer
withdraw
deposit
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
A2 : Account
: Bank Clerk
A1 : Account: Transfer
transfer
withdraw
Deposit
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de interacción
: Bank Clerk
: TransferScreen : Transfer A1 : Account A2 : Account
Enter Amount
Enter Source Account
Enter Destination Account
Transfer
Transfer
Withdraw
Deposit
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de colaboración
– Un diagrama de colaboración es una forma alternativa de
representar los mensajes intercambiados por un conjunto de
objetos
– El diagrama muestra interacciones de objeto organizadas
alrededor de los objetos y sus ligas a cada uno
– Un diagrama de colaboración contiene:
 Objetos
 Ligas entre objetos
 Mensajes intercambiados entre objetos
 Flujo de datos entre objetos, si hay alguno
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de colaboración
John : Alumno
forma de registro
forma horarioclases disponibles
1: introducir id
2: validar id
3: introducir semestre actual
4: crear nuevo horario
5: desplegar
6: obtener cursos
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de colaboración
John : Alumno
forma de registro
forma horarioclases disponibles
1: introducir id
2: validar id
3: introducir semestre actual
4: crear nuevo horario
5: desplegar
6: obtener cursos
mensajeNúmero de secuencia
objetoenlace
objeto
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
Describe el comportamiento dinámico de los objetos en
un cierto plazo.
Los diagramas de estado se usan para mostrar la
historia de vida de una clase dada, los eventos que
causan una transición de un estado a otro, y las
acciones que resultan de un cambio de estado.
El estado de un objeto es una de las condiciones
posibles en las que puede existir un objeto.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
Estado
Estado secuencial
Estado concurrente
Estado AEstado A
Fin
Inicio
ELEMENTOS DE UN
DIAGRAMA DE ESTADO
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
Estado
Un estado es una de las condiciones posibles en las
que puede existir un objeto.
Evento
Es la ocurrencia de alguna situación que sucede en un
punto del tiempo; tiene una localización en tiempo y
espacio.
• Ocurre en un punto en el tiempo y no tiene duración.
• Evento de llamada
• Evento de señal
• Evento de cambio
• Eventos de tiempo
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
Transición
Una transición es un cambio de un estado original a un
estado sucesor como resultado de algunos estímulos.
Las transiciones pueden ser restringidas por:
o        Evento señal
o        Llamada
o        Cambio de evento
o       Tiempo del evento.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
Infancia Adolescencia
Madurez
Senectud
encendido
despegue
aterrizando
apagado
volando
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
addStudent
Initialize
do: Initialize course
object
Unassigned
do: Assign professor
to course
Open
entry: Register a
student
Closed
do: Report
course is full
Canceled
do: Send cancellation
notices
addStudent/
numStudents = 0
cancelCourse
RegistrationComplete
do: Generate class
roster
cancelCourse
[ numStudents = 10 ]
cancelCourse
[date = end]
registration closed[
numStudents < 3 ]
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diagramas de estado
principal
<< ventana>>
Altas
< <ventana> >
"Listo/Cancelar"
"Nuevo miembro"
Impresión de credencial
< <ventana> >
"Imprimir"
"Listo/Cancelar"
"Salir"
"Baja"
<<ventana> >
"Terminar membresia"
"Listo/Cancelar"

Weitere ähnliche Inhalte

Was ist angesagt?

Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de usoTensor
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetosstill01
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos SemanticasErik Guerrero
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetosjose_rob
 
Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3David Motta Baldarrago
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareJesús Navarro
 
Ejercicios resueltos diagramas de claseaula (1)
Ejercicios resueltos diagramas de claseaula (1)Ejercicios resueltos diagramas de claseaula (1)
Ejercicios resueltos diagramas de claseaula (1)William Lozano
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientosTensor
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesVictor Escamilla
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Jose R. Hilera
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clasesRamiro Estigarribia Canese
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoMarvin Zumbado
 

Was ist angesagt? (20)

Diagramas componentes
Diagramas componentesDiagramas componentes
Diagramas componentes
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Diagramas de objetos
Diagramas de objetosDiagramas de objetos
Diagramas de objetos
 
Bases de Datos Semanticas
Bases de Datos SemanticasBases de Datos Semanticas
Bases de Datos Semanticas
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Diagrama de Colaboración
Diagrama de ColaboraciónDiagrama de Colaboración
Diagrama de Colaboración
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3Modelo Del Negocio con RUP y UML Parte 3
Modelo Del Negocio con RUP y UML Parte 3
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 
IEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de softwareIEEE 1471-2000: Documento de arquitectura de software
IEEE 1471-2000: Documento de arquitectura de software
 
Ejercicios resueltos diagramas de claseaula (1)
Ejercicios resueltos diagramas de claseaula (1)Ejercicios resueltos diagramas de claseaula (1)
Ejercicios resueltos diagramas de claseaula (1)
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Ingenieria de requerimientos
Ingenieria de requerimientosIngenieria de requerimientos
Ingenieria de requerimientos
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Los 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentesLos 13 diagramas UML y sus componentes
Los 13 diagramas UML y sus componentes
 
Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)Patrón de diseño Modelo-Vista-Controlador (MVC)
Patrón de diseño Modelo-Vista-Controlador (MVC)
 
6.modelado de los requerimientos escenarios y clases
6.modelado de los requerimientos  escenarios y clases6.modelado de los requerimientos  escenarios y clases
6.modelado de los requerimientos escenarios y clases
 
Uml lenguaje unificado de modelado
Uml lenguaje unificado de modeladoUml lenguaje unificado de modelado
Uml lenguaje unificado de modelado
 

Ähnlich wie Vista lógica

UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoEliseo Castro
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Henry Ayala
 
Presen Clases Bdd Unidad 3
Presen Clases Bdd Unidad 3Presen Clases Bdd Unidad 3
Presen Clases Bdd Unidad 3Francisco Godoy
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptjorgejvc777
 
DiseñO De Sitemas
DiseñO De SitemasDiseñO De Sitemas
DiseñO De Sitemaslincoln25
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesjmachado614
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bdMaría Luisa Velasco
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetosMessenger Adictos
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisisCarolina Rojas
 
Modelo de Objeto Semantico
Modelo de Objeto SemanticoModelo de Objeto Semantico
Modelo de Objeto SemanticoF
 

Ähnlich wie Vista lógica (20)

UML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento UnificadoUML - Lenguaje de Modelamiento Unificado
UML - Lenguaje de Modelamiento Unificado
 
Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8Presentacion de-uml-formato-2-1227891304393749-8
Presentacion de-uml-formato-2-1227891304393749-8
 
Presen Clases Bdd Unidad 3
Presen Clases Bdd Unidad 3Presen Clases Bdd Unidad 3
Presen Clases Bdd Unidad 3
 
Uml diagramas-caso-de-uso
Uml diagramas-caso-de-usoUml diagramas-caso-de-uso
Uml diagramas-caso-de-uso
 
0 todo
0 todo0 todo
0 todo
 
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.pptDiapositiva de Estudio: FUNDAMENTOS UML.ppt
Diapositiva de Estudio: FUNDAMENTOS UML.ppt
 
Exponer yony y estefany
Exponer  yony y estefanyExponer  yony y estefany
Exponer yony y estefany
 
DiseñO De Sitemas
DiseñO De SitemasDiseñO De Sitemas
DiseñO De Sitemas
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Modelado orientado a objetos de bd
Modelado orientado a objetos de bdModelado orientado a objetos de bd
Modelado orientado a objetos de bd
 
Clase 17
Clase 17Clase 17
Clase 17
 
Analisis orientado a objetos
Analisis orientado a objetosAnalisis orientado a objetos
Analisis orientado a objetos
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Introduccion a Uml
Introduccion a Uml Introduccion a Uml
Introduccion a Uml
 
Clases 2
Clases 2Clases 2
Clases 2
 
Diagrama de casos
Diagrama de casosDiagrama de casos
Diagrama de casos
 
Modelado del AnáLisis
Modelado del AnáLisisModelado del AnáLisis
Modelado del AnáLisis
 
Diseño Oriendado a Objetos
Diseño Oriendado a ObjetosDiseño Oriendado a Objetos
Diseño Oriendado a Objetos
 
Modelado UM5-4.pptx
Modelado UM5-4.pptxModelado UM5-4.pptx
Modelado UM5-4.pptx
 
Modelo de Objeto Semantico
Modelo de Objeto SemanticoModelo de Objeto Semantico
Modelo de Objeto Semantico
 

Mehr von thyago1211

Manual de usuario
Manual de usuarioManual de usuario
Manual de usuariothyago1211
 
Parcial1 diseño del sistema
Parcial1 diseño del sistemaParcial1 diseño del sistema
Parcial1 diseño del sistemathyago1211
 
Diseño del sistema
Diseño del sistemaDiseño del sistema
Diseño del sistemathyago1211
 
Factibilidad tecnica
Factibilidad tecnicaFactibilidad tecnica
Factibilidad tecnicathyago1211
 
Ficha final ppi
Ficha final ppiFicha final ppi
Ficha final ppithyago1211
 
Tablas de proceso (1)
Tablas de proceso (1)Tablas de proceso (1)
Tablas de proceso (1)thyago1211
 
Ficha #2 version final
Ficha #2 version finalFicha #2 version final
Ficha #2 version finalthyago1211
 
Clasificación empresa
Clasificación empresaClasificación empresa
Clasificación empresathyago1211
 

Mehr von thyago1211 (14)

Ficha #1
Ficha #1Ficha #1
Ficha #1
 
Ficha 2
Ficha 2Ficha 2
Ficha 2
 
Ficha 3
Ficha 3Ficha 3
Ficha 3
 
Manual de usuario
Manual de usuarioManual de usuario
Manual de usuario
 
Parcial1 diseño del sistema
Parcial1 diseño del sistemaParcial1 diseño del sistema
Parcial1 diseño del sistema
 
Diseño del sistema
Diseño del sistemaDiseño del sistema
Diseño del sistema
 
Arquitectura
ArquitecturaArquitectura
Arquitectura
 
Factibilidad tecnica
Factibilidad tecnicaFactibilidad tecnica
Factibilidad tecnica
 
Ficha final ppi
Ficha final ppiFicha final ppi
Ficha final ppi
 
Tablas de proceso (1)
Tablas de proceso (1)Tablas de proceso (1)
Tablas de proceso (1)
 
Dofa
DofaDofa
Dofa
 
Ficha #2 version final
Ficha #2 version finalFicha #2 version final
Ficha #2 version final
 
Ficha 1
Ficha 1 Ficha 1
Ficha 1
 
Clasificación empresa
Clasificación empresaClasificación empresa
Clasificación empresa
 

Vista lógica

  • 1. Análisis y diseño orientado a objetos con UML VISTA LÓGICA (MODELO ESTÁTICO Y DINÁMICO)  Clases  Atributos y operaciones  Responsabilidades  Relaciones  Asociación  Multiplicidad  Agregación  Generalización  Dependencia  Mecanismos comunes.  Estereotipos.  Paquetes.  Restricciones.  Modelo Vista Controlador (MVC).  Mapeo de clases a bases de datos relacionales. VISTA LÓGICAVISTA LÓGICA
  • 2. • La Vista Lógica describe la estructura interna del sistema, es decir las partes que lo integran y cómo interactúan. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Vista Lógica Los diagramas de clase de UML nos permiten modelar esta vista del sistema
  • 3. • Los diagramas de clase son uno de los diagramas más importantes y más utilizados de UML. • Permiten capturar los elementos que integran la estructura interna del sistema así como su relaciones. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de clase Client e +nombre +apellido paterno +apellido materno +domicilio +telefonos Fact ura +numero +fecha +monto +emitir()
  • 4. Una clase representa un grupo de objetos con características y comportamiento comunes. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Qué son las clases Atributos Operaciones Características externas y visibles. Lo que la clase conoce. Conjunto de acciones que una clase realiza. Lo que la clase puede realizar.
  • 5. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Atributos • Los atributos representan una propiedad de la clase definida en términos abstractos. • Cada atributo puede tomar un valor en particular, determinando así el estado de un objeto en un momento determinado. • Una clase puede tener varios atributos o ninguno. • El conjunto de atributos definen la estructura de la clase. Alum no +nombre +apellido +segundo apellido +fecha nacimiento +domicilio +matricula
  • 6. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Operaciones • Pueden ser algo hecho por o sobre la clase. • Las operaciones de una clase pueden hacer uso de los atributos de la clase y modificar sus valores, cambiando así el estado. • Las operaciones definidas en cada clase permiten cumplir con sus responsabilidades. Elevador +subir() +bajar() +detenerse() +abrirPuertas() +cerrarPuertas() +seleccionarPiso() -validarCapacidad()
  • 7. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Notación UML Nom bre de la clase +ATRIBUTOS +OPERACIONES() Nom bre de la clase
  • 8. • Las clases se pueden construir desde tres perspectivas: – CONCEPTUAL. Representando los conceptos del dominio que se está estudiando. Se dibujan sin importar el software con que se implementarán por lo que son independientes del lenguaje. Pueden ubicarse en el contexto del negocio (modelado de negocio) o del sistema. – ESPECIFICACIÓN. Enfocados al diseño del software en su filosofía pero no en su implementación. – IMPLEMENTACIÓN. Se expone por completo la implementación. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Perspectivas
  • 9. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Perspectiva conceptual Conceptos del dominio que se está estudiando. No importa el software con que se implementarán Son independientes del lenguaje. Pueden ubicarse en el contexto del negocio (modelado de negocio) o del sistema. Pago cantidad Vent a fecha hora Pago-por 11
  • 10. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Perspectiva de especificación Enfocados al diseño del software en su filosofía pero no en su implementación. Pago cantidad: Dinero getDevolucion(): Dinero Vent a fecha: Fecha hora: Hora getTotal(): Dinero Pago-por 11
  • 11. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Perspectiva de implementación Se expone por completo la implementación. Ligada a un lenguaje de programación orientado a objetos. Pago +cantidad: Dinero +getDevolucion(): Dinero Vent a +fecha: Date +hora: Date +getTotal(): Dinero Pago-por 11 Dinero +monto: double
  • 12. Las clases surgen de la terminología del problema. Los sustantivos (cosas, personas, hechos) ya que pueden convertirse en clases del modelo.  Verbos que pueden ser operaciones de las clases o en clases por sí mismas. Los atributos de una clase también se pueden identificar por sustantivos específicos que pueden tomar algún valor. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Cómo identificar las clases
  • 13. • En las perspectivas de especificación e implementación, los atributos y las operaciones se definen con mayor detalle: Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Atributos y Operaciones Clase -atributo: Tipo = default +Operacion(): Tipo visibilidad Aut o -marca: String -modelo: String -placa: String -transmision: String +cargarGasolina(litros: double) +setters() +getters()
  • 14. Todos los sistemas contienen varias clases. Los objetos contribuyen al comportamiento del sistema colaborando unos y otros. Esta colaboración se representa a través de las relaciones La existencia de una relación entre dos clases denota una vía de comunicación (enlace) por las que se puede enviar peticiones y mensajes entre ellas. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Relaciones Alum no Curso Profesor Aula
  • 15. • Existen varios tipos relaciones entre clases, los principales son: • Dependencia • Asociación • Agregación • Composición • Herencia Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Relaciones
  • 16. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Relaciones Dependencia Asociación Agregación Composición Herencia Cuando los objetos de una clase trabajan temporalmente con objetos de otra clase. Cuando los objetos de una clase trabajan con objetos de otra clase por tiempo prolongado. Cuando una clase es propietaria del objeto pero comparte a otras clases la referencia del objeto. El objeto puede existir independiente de la clase. Cuando una clase contiene objetos de otra clase. Los objetos no pueden existir independientes de la clase. Cuando una clase es un tipo de otra clase. +débil+fuerte
  • 17. Es una relación “de uso” entre dos elementos, uno de ellos dependiente y el otro independiente (cliente y proveedor). Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Dependencia “ B depende de A “ es decir, B es el Cliente y A es el Proveedor. BBAA
  • 18. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Dependencia TeléfonoTeléfono publicopublico ViajeroViajero LíneaLíneaPuntoPunto dibujar (inicio:Punto, fin:Punto)
  • 19. Es una relación estructural que especifica que los objetos de un elemento están conectados con los objetos de otro. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Asociación BBAA Por cada instancia de uno pueden existir “n” instancias del otro.
  • 20. Las asociaciones de representan que una instancia de A ”tiene“ instancias de B. La asociación puede ser nombrada con algún verbo que describa de forma más precisa el tipo de relación entre dos clases, por ejemplo: vende, imparte, participa, realiza. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Asociación Persona Revist asuscribe +revista suscrita+suscriptor 0..*0..* Personas se suscriben a revistas.
  • 21. En las asociaciones además se especifica la multiplicidad, Es decir el número instancias de una clase con respecto a la otra. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Multiplicidad Exactamente uno Cero o más Uno o más Cero o uno Rango específico 1 0..* 1..* 0..1 2..4 Muchos *
  • 22. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Asociación FarmaciaFarmacia EquipoEquipo MedicamentoMedicamentodistribuyedistribuye  * * PartidosPartidos juegajuega  * 2 TrabajadorTrabajador empleaemplea  * 1 EmpresaEmpresa EstudianteEstudiante alojaaloja  0..4 0..1 DepartamentoDepartamento
  • 23. Es una relación donde una de las clases es parte de la otra. Si la clase contenedora es destruida, la clase contenida puede permanecer. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Agregación BBAA “ B es parte de A” “ A contiene B ”
  • 24. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Agregación VentaVenta ClienteCliente LlantaLlantaAutoAuto JugadoresJugadoresEquipoEquipo
  • 25. Al igual que la agregación, es una relación de “todo-partes” pero más fuerte. El tiempo de vida de las partes depende directamente la clase contenedora. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Composición BBAA “ B es componente de A” “ A se compone de B ”
  • 26. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Composición CorazónCorazónPersonaPersona LápizLápiz PuntaPunta Libro Capítulo
  • 27. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Composición vs. Agregación CapítuloCapítuloLibroLibro BibliotecaBiblioteca LibroLibro
  • 28. Representa una relación “es un”. La subclase hereda los métodos y atributos de la superclase, además de poseer sus propios métodos y atributos Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Herencia BB AA “ B es un tipo de A” “ A se especializa en B ”
  • 29. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica ParticularParticular TransporteTransporte PúblicoPúblico Herencia DestajoDestajo EmpleadoEmpleado AsalariadoAsalariado HonorariosHonorarios
  • 30. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Ejercicio 7
  • 31. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos comunes Sirven para adaptar el lenguaje a necesidades particulares, dentro de un marco ordenado respetando reglas. Se usan para extender el lenguaje (UML) de manera controlada. Mecanismos: •especificaciones •adornos •divisiones comunes •mecanismos de extensibilidad.
  • 32. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos comunes - Especificaciones Los modelos UML tienen al menos dos dimensiones: una dimensión gráfica y una textual. Las especificaciones son descripciones textuales de la semántica de un elemento. Explicación textual de la sintaxis y semántica de los bloques de construcción. CuentaBancariaCuentaBancaria Semántica plano posterior Especificación de clase Especificación caso de uso Especificación dependencia
  • 33. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos comunes - Adornos No hay necesidad de mostrarlo todo en un diagrama, es más importante que el diagrama sea claro. Los adornos son elementos que hacen visibles aspectos de la especificación del elemento: CuentaBancariaCuentaBancaria CuentaBancariaCuentaBancaria Elemento sin adornos Elemento con adornos {autor: Juan, estado: probado} - numeroCuenta: long -proietario: Cliente - saldo: long # retirar(): long # calculaInteres(): void # depositar(): void
  • 34. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Notas Las notas, es el tipo de adorno más utilizado. Una nota es un símbolo gráfico utilizado para contener restricciones o comentarios vinculados a un elemento o colección de elementos. Permiten adjuntar información como: observaciones, revisiones o explicaciones. Sem aforo + estado + cambiar() Un semaforo víal de tres estados
  • 35. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos comunes – Divisiones comunes Existen dos divisiones comunes en UML: clasificador/instancia e interfaz/implementación. (…más)
  • 36. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos comunes – Divisiones comunes Clasificador /Instancia La noción abstracta de un tipo de elemento es un clasificador. Los elementos específicos, concretos, las instancias. Ejemplo: Alum no +nombre +apellidos +matricula +fechaNacimiento Juan : Alumno : Alumno
  • 37. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos comunes – Divisiones comunes interfaz / implementación El principio es separar qué hace algo (interfaz) de cómo lo hace (implementación). La interfaz define un contrato que garantiza seguir implementaciones específicas. Volador Avión Helicopt ero Superhéroe Volador +despegar() +planear() +aterrizar()
  • 38. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mecanismos de extensibilidad  Estereotipos  Paquetes  Notas  Restricciones  Valores etiquetados
  • 39. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Estereotipos •Los estereotipos son un mecanismo de extensibilidad del UML. •Un estereotipo amplía el vocabulario del UML, permitiendo crear nuevos tipos de bloques de construcción, derivados de los existentes y específicos para determinado problema. •Se presentan como palabras entre paréntesis triangulares << estereotipo >> •Aplican a diversos elementos de UML como: Clases, Casos de Uso, Relaciones, Actores, etc.
  • 40. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Estereotipos Actor<<Sistema>><<Sistema>> <<Tabla>><<Tabla>> <<uses>><<uses>> <<servidor><<servidor> >> <<java>><<java>>
  • 41. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Paquetes Un paquete es el elemento de organización básica de un modelo de sistema UML. Puede considerarse todo el sistema como un paquete que contiene los demás paquetes, diagramas y elementos. Un paquete puede contener paquetes subordinados, diagramas o elementos únicos, Paquete java lang
  • 42. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Restricciones Las restricciones permiten añadir especificaciones, condiciones o limitaciones más detalladas. Condiciones que deben cumplirse para que el modelo este bien formado. { restricciones }{ restricciones } Alum no +nombre +apellidos +matricula +fechaNacimiento {mayor de edad} Curso
  • 43. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Valores etiquetados Proporcionan una forma de ampliar la especificación al permitir añadir nueva información a un elemento. Es una palabra clave que puede tener un valor anexado. { etiqueta1=valor1, etiqueta2=valor2 } Servidor {procesadores = 3} Un valor etiquetado no es lo mismo que un atributo de clase Más bien es un metadato que se aplica al elemento, no a sus instancias {Autor=Juan Pérez} Client e +nombre +apellido paterno +apellido materno +domicilio +telefonos
  • 44. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Modelo – Vista - Controlador
  • 45. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Modelo – Vista - Controlador La triada de clases Modelo/Vista/Controlador se uso para construir interfaces de usuario en Smalltalk 80. Consiste en tres tipos de objetos Modelo Es el objeto de aplicación Vista Es su representación en pantalla Controlador Define el modo en que la interfaz reacciona a la entrada del usuario. Antes de MVC las interfaces agrupaban los tres objetos en uno solo MVC los separa para incrementar la flexibilidad y reutilización.
  • 46. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Modelo – Vista - Controlador MVC desacopla las vistas de los modelos estableciendo entre ellos un protocolo de suscripción/notificación Cada vista debe reflejar el estado del modelo y cada vez que los datos del modelo cambian este “avisa” a las vistas que dependen de él. En respuesta a estos “avisos” las vistas se actualizan Esto permite crear nuevas vistas sin modificar el modelo. A = 50% B = 30% C = 20% vistas modelo
  • 47. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Modelo – Vista - Controlador  Aplicable a un problema general: desacoplar objetos de manera que los cambios en uno puedan afectar a otros sin necesidad de que el objeto conozca los detalles de los otros. (Patrón Observer) Observers Subject Suscriptores Periódico
  • 48. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Modelo – Vista - Controlador MVC y una aplicación Web Cliente CGI / Controlador Value object Página / Vista DB Modelo / BD / lógica del negocio 4 1 2 Crea instancias de Petición HTTP 3 5 Respuesta HTTP
  • 49. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Modelo – Vista - Controlador MVC y una aplicación Web 1 El cliente realiza una petición HTTP la cual es recibida por un CGI. 2 El CGI actúa como un controlador y procesa la petición. Es probable que realice una petición al modelo (usualmente la base de datos). El resultado de procesar la petición se estructura en la forma de un value object. 3 El controlador direcciona el control a la vista. Representada por una página web (php, asp, jsp). La responsabilidad de la página es generar la vista del modelo el cual obtiene con del value object. 4 5 La vista regresa una página al navegador vía una respuesta HTTP.
  • 50. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mapeo de clases a bases de datos relacionales
  • 51. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mapeo de clases a bases de datos relacionales Cómo modelar un esquema 1. Identificar clases persistentes 2. Crear un diagrama de clases que contenga las clases marcadas como persistentes 3. Expandir detalles estructurales de estas clases 4. Centrar la atención en las relaciones que estructuran las clases y en su cardinalidad.
  • 52. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mapeo de clases a bases de datos relacionales Mapeo de clases a Base de Datos  Cada clase identificada como persistente se mapea a una tabla: Cliente nombre direccion telefono Tabla Cliente clienteID nombre dirección teléfono
  • 53. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mapeo de clases a bases de datos relacionales Mapeo de clases a Base de Datos  Relaciones de uno a muchos Tabla Cliente clienteID nombre direccion telefono Cliente nombre direccion telefono Renta fecha devuelto 0..* 11 0..* Tabla Renta rentaID fecha devuelto clienteID
  • 54. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mapeo de clases a bases de datos relacionales Mapeo de clases a Base de Datos • Relaciones de muchos a muchos Table ProductoIngrediente productoID ingredienteID Producto Ingrediente 1..* 0..* 1..* 0..*
  • 55. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Mapeo de clases a bases de datos relacionales Mapeo de clases a Base de Datos  Relaciones de herencia:  Cada subclase es mapeada a una tabla separada con una columna adicional por cada atributo heredado.  Todas las clases de la jerarquía son mapeadas a una única tabla, agregando columnas para todos los atributos de la jerarquía.
  • 56. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción
  • 57. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción Una interacción establece el escenario para un comportamiento del sistema introduciendo todos los objetos que colaboran para realizar alguna acción. Incluyen los mensajes enviados entre objetos. La mayoría de las veces, un mensaje implica la invocación de una operación o el envío de una señal. Las interacciones se usan para modelar el flujo de control dentro de una operación, una clase, un componente, un caso de uso o el propio sistema.
  • 58. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción Un diagrama de interacción es una representación gráfica de interacciones entre objetos. Hay dos tipos de diagramas de interacción: 1. Diagramas de secuencia 2. Diagramas de colaboración Cada uno provee un punto de vista diferente de la misma interacción  Los diagramas de secuencia están ordenados de acuerdo al tiempo  Los diagramas de colaboración muestran la organización entre objetos.
  • 59. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción CBA m1 m2 m3 m4 m5
  • 60. Cliente AgenteBilletes AyudaPlanificacion 1 <<create>> 2 : establecerItinerario() 3 : calcularRuta() 4 : ruta 5 << destroy>> 6 : notificar Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica objeto Creación Llamada Llamada (invocación local) Retorno Valor de retorno Destrucción Envío
  • 61. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción : Bank Clerk A1 : Account A2 : Account transfer withdraw deposit
  • 62. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción A2 : Account : Bank Clerk A1 : Account: Transfer transfer withdraw Deposit
  • 63. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de interacción : Bank Clerk : TransferScreen : Transfer A1 : Account A2 : Account Enter Amount Enter Source Account Enter Destination Account Transfer Transfer Withdraw Deposit
  • 64. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de colaboración – Un diagrama de colaboración es una forma alternativa de representar los mensajes intercambiados por un conjunto de objetos – El diagrama muestra interacciones de objeto organizadas alrededor de los objetos y sus ligas a cada uno – Un diagrama de colaboración contiene:  Objetos  Ligas entre objetos  Mensajes intercambiados entre objetos  Flujo de datos entre objetos, si hay alguno
  • 65. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de colaboración John : Alumno forma de registro forma horarioclases disponibles 1: introducir id 2: validar id 3: introducir semestre actual 4: crear nuevo horario 5: desplegar 6: obtener cursos
  • 66. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de colaboración John : Alumno forma de registro forma horarioclases disponibles 1: introducir id 2: validar id 3: introducir semestre actual 4: crear nuevo horario 5: desplegar 6: obtener cursos mensajeNúmero de secuencia objetoenlace objeto
  • 67. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado
  • 68. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado Describe el comportamiento dinámico de los objetos en un cierto plazo. Los diagramas de estado se usan para mostrar la historia de vida de una clase dada, los eventos que causan una transición de un estado a otro, y las acciones que resultan de un cambio de estado. El estado de un objeto es una de las condiciones posibles en las que puede existir un objeto.
  • 69. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado Estado Estado secuencial Estado concurrente Estado AEstado A Fin Inicio ELEMENTOS DE UN DIAGRAMA DE ESTADO
  • 70. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado Estado Un estado es una de las condiciones posibles en las que puede existir un objeto. Evento Es la ocurrencia de alguna situación que sucede en un punto del tiempo; tiene una localización en tiempo y espacio. • Ocurre en un punto en el tiempo y no tiene duración. • Evento de llamada • Evento de señal • Evento de cambio • Eventos de tiempo
  • 71. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado Transición Una transición es un cambio de un estado original a un estado sucesor como resultado de algunos estímulos. Las transiciones pueden ser restringidas por: o        Evento señal o        Llamada o        Cambio de evento o       Tiempo del evento.
  • 72. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado Infancia Adolescencia Madurez Senectud encendido despegue aterrizando apagado volando
  • 73. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado addStudent Initialize do: Initialize course object Unassigned do: Assign professor to course Open entry: Register a student Closed do: Report course is full Canceled do: Send cancellation notices addStudent/ numStudents = 0 cancelCourse RegistrationComplete do: Generate class roster cancelCourse [ numStudents = 10 ] cancelCourse [date = end] registration closed[ numStudents < 3 ]
  • 74. Diplomado de Bases de Datos - Modelado Orientado a Objetos Análisis y diseño orientado a objetos con UML Vista Lógica Diagramas de estado principal << ventana>> Altas < <ventana> > "Listo/Cancelar" "Nuevo miembro" Impresión de credencial < <ventana> > "Imprimir" "Listo/Cancelar" "Salir" "Baja" <<ventana> > "Terminar membresia" "Listo/Cancelar"