Análisis y diseño orientado a objetos con UML
VISTA LÓGICA (MODELO ESTÁTICO Y DINÁMICO)
 Clases
 Atributos y operaciones...
• La Vista Lógica describe la estructura
interna del sistema, es decir las partes que
lo integran y cómo interactúan.
Dipl...
• Los diagramas de clase son uno de los diagramas más
importantes y más utilizados de UML.
• Permiten capturar los element...
Una clase representa un grupo de objetos con
características y comportamiento comunes.
Diplomado de Bases de Datos - Model...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Atri...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Oper...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Nota...
• Las clases se pueden construir desde tres perspectivas:
– CONCEPTUAL. Representando los conceptos del dominio que se
est...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Pers...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Pers...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Pers...
Las clases surgen de la terminología del problema.
Los sustantivos (cosas, personas, hechos) ya que
pueden convertirse en...
• En las perspectivas de especificación e implementación, los
atributos y las operaciones se definen con mayor detalle:
Di...
Todos los sistemas contienen varias clases.
Los objetos contribuyen al comportamiento del sistema colaborando unos y
otros...
• Existen varios tipos relaciones entre clases,
los principales son:
• Dependencia
• Asociación
• Agregación
• Composición...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Rela...
Es una relación “de uso”
entre dos elementos, uno
de ellos dependiente y el
otro independiente (cliente
y proveedor).
Dipl...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Depe...
Es una relación estructural que
especifica que los objetos de un
elemento están conectados con los
objetos de otro.
Diplom...
Las asociaciones de representan que una instancia de A ”tiene“
instancias de B.
La asociación puede ser nombrada con algún...
En las asociaciones además se
especifica la multiplicidad,
Es decir el número instancias de
una clase con respecto a la ot...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Asoc...
Es una relación donde una de las
clases es parte de la otra.
Si la clase contenedora es
destruida, la clase contenida
pued...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Agre...
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 dire...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Comp...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Comp...
Representa una relación “es un”.
La subclase hereda los métodos y atributos
de la superclase, además de poseer sus
propios...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Part...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Ejer...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Nota...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Meca...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Este...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Este...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Paqu...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Rest...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Valo...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mode...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mode...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mode...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mode...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mode...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mode...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mape...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mape...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mape...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mape...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mape...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Mape...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Cliente AgenteBilletes AyudaPlanificacion
1
<<create>>
2 : establecerItinerario()
3 : calcularRuta()
4 : ruta
5
<< destroy...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Diplomado de Bases de Datos - Modelado Orientado a Objetos
Análisis y diseño orientado a objetos con UML
Vista Lógica
Diag...
Próxima SlideShare
Cargando en…5
×

Vista lógica

6.826 visualizaciones

Publicado el

0 comentarios
2 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
6.826
En SlideShare
0
De insertados
0
Número de insertados
1.922
Acciones
Compartido
0
Descargas
86
Comentarios
0
Recomendaciones
2
Insertados 0
No insertados

No hay notas en la diapositiva.

Vista lógica

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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"

×