DIAGRAMA DE OBJETOS - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

DIAGRAMA DE OBJETOS

Description:

desc = frijol bayo -numSerie = 582364 -desc = harina -numSerie = 563284. 21:Producto ... Cada atributo de los 3 objetos tiene asignado un valor. ... – PowerPoint PPT presentation

Number of Views:602
Avg rating:3.0/5.0
Slides: 30
Provided by: tine4
Category:

less

Transcript and Presenter's Notes

Title: DIAGRAMA DE OBJETOS


1
DIAGRAMA DE OBJETOS
2
TIPOS DE DIAGRAMAS
  • Diagramas de estructura mostrar la estructura
    estática del sistema que se está modelando
  • Incluye diagramas de clase, componentes y/o
    objetos.
  • Diagramas de comportamiento muestra el
    comportamiento dinámico entre los objetos y el
    sistema.
  • Incluye diagramas de actividades, casos de uso y
    de secuencia

3
Diagrama de Objetos
  • La clase define las reglas los objetos expresan
    los hechos.
  • La clase define que puede ser el objeto describe
    que es.
  • Se considera un caso especial del diagrama de
    clases.
  • Puede construirse junto con el de clases.
  • Describe una instancia de un diagrama de clase en
    un momento en particular.
  • Este diagrama contiene objetos y ligas.

4
Objetivo
  • Es una herramienta para probar y entender un
    problema al documentar ejemplos del dominio del
    problema. También se usa durante el análisis y
    el diseño para verificar la exactitud de un
    diagrama de clases.

5
Notación Diagrama de Objetos
  • Consiste de dos elementos objetos y uniones
    (links). Un objeto es una entidad real creada a
    partir de una clase, igual una unión es creada a
    partir de una asociación. Ejemplo

Nombre de la clase
J.Perez Cliente
clientID 24629 Nombre Javier Perez Direccion
Pino 45875
Objeto J.Pérez del tipo Cliente
6
Notación objeto anónimo
  • La forma abreviada utiliza nombre de la clase
    sin el nombre del objeto.
  • Se usa cuando queremos dibujar un ejemplo donde
    no importe el objeto específico que participa.

Contiene hechos acerca de los atributos. Cada
atributo es nombrado y se le asigna un valor.
Por eso se dice que la Clase son reglas a
diferencia del Objeto que son hechos.
Cliente
clientID 24629 Nombre Javier Perez Direccion
Pino 45875
7
Comparando el diagrama de Clases y el de Objetos
Producto
-descString null -numSerieString asignado
Embarque
entrega
-fechaDate hoy -destinoDierccion null
01 1
21Producto
-desc harina -numSerie 563284
4321Embarque
-fecha 12-12-08 -destino Toluca
96Producto
-desc frijol bayo -numSerie 582364
8
Diagrama anterior
  • El diagrama de objeto muestra que el objeto 4321
    de tipo Embarque tiene dos Productos. Cada
    atributo de los 3 objetos tiene asignado un
    valor.
  • Las operaciones de las clases no se incluyen en
    el diagrama de objetos, ya que éstas no tienen
    múltiples interpretaciones o valores como los
    atributos. Cada objeto de la misma clase posee
    las mismas operaciones.

9
Diagrama de clase Diagrama de objetos
Tiene tres compartimentos nombre, atributos y operaciones Tiene dos compartimentos nombre y atributos
Solo se pone el nombre de la clase Se puede poner el nombre del objeto y el de la clase subrayados, o solamente y el nombre de la clase
En los atributos se definen las propiedades de los mismos Solo se definen los valores de cada atributo para la prueba que se esté modelando
Se listan las operaciones Las operaciones no están incluidas en el objeto ya que son idénticas para cada objeto de la misma clase
Las clases se conectan con una asociación con nombre, multiplicidad, roles. Los objetos se conectan con un link que tiene un nombre y no tiene multiplicidad.
10
Aplicando Diagramas de Objetos para probar
Diagramas de Clases
VendorProduct
  • Esta figura muestra que cada Producto puede
    comprarse directamente a los proveedores
    (VendorProduct) ó podemos empacarlos juntos y
    hacer nuestro propio producto (CustomProduct)

Product
CustomProduct
11
Prueba caso 1, Diagrama de objetos
  • Un CustomProduct se crea ensamblando
    VendorProducts, por ejemplo los VendorProducts 4,
    y 12 crean el CustomProduct 821, la siguiente
    figura muestra como debe cambiarse el diagrama de
    clases para incluir la relación de agregación
    entre CustomProduct y VendorProduct.

4VendorProduct
821CustomProduct
12VendorProduct
12
Cambio en el diagrama de clases
VendorProduct
  • El cambio muestra que un CustomProduct es creado
    de uno ó más VendorProducts. Pero un
    VendorProduct no nesecita usarse en un
    CustomProduct forzosamente.

Product
1 0
CustomProduct
13
Caso 2, diagrama de clases
VendorProduct
  • Cuál es el número mínimo de objetos tipo
    VendorProduct que pueden formar un
    CustomProduct?. Si dejamos 1, no habría
    diferencia entre ambos productos

Product
2 0
CustomProduct
14
Prueba caso 3, Diagrama de objetos
  • Es posible que varios CustomProduct configuren
    otro CustomProduct?, en caso afirmativo, habría
    que incluir un asociación reflexiva, en el
    diagrama de clases, ver sig fig.

213CustomProduct
823CustomProduct
23CustomProduct
15
Cambio en el diagrama de clases
VendorProduct
  • La prueba revela la necesidad de soportar
    agregación entre un CustomProduct y otros
    CustomProducts. Por ejemplo un condimento puede
    estar formado por 3 especies diferentes.

Product
1 0
0
CustomProduct
0
16
Creando un esquema de base de datos para el Modelo
  • El esquema de base de datos consiste de dos
    fases creación de un esquema lógico y la
    creación de un esquema físico.
  • Es posible mapear entidades OO a tablas de bases
    de datos.
  • El esquema lógico se representa por un diagrama
    Entidad-Relación.
  • Cada instancia de una clase se almacena como un
    renglón único en la tabla correspondiente.
  • Los atributos son representados como cambos en
    las tablas.
  • La asociación entre clases se representa como
    llaves foráneas entre las tablas.

17
Estrategia
  • Para convertir un diagrama de clases en un
    diagrama lógico ER
  • Convertir cada clase en una tabla
  • Especificar la llave primaria de cada tabla
  • Crear asociaciones ER con distintas
    multiplicidades.

18
Validando el modelo
  • Cómo sabemos que este diagrama modela realmente
    el dominio del problema? Una técnica consiste en
    construir diagramas de objetos usando los
    escenarios de casos de uso y verificando que el
    diagrama de objetos se ajusta al diagrama de
    clases.
  • Supongamos el siguiente proceso
  • Un agente de reservaciones de los hoteles CH
    está esperando llamadas de clientes que quieran
    reservar un cuarto de hotel. Suena el teléfono y
    es un cliente que quiere reservar para ir al
    hotel de Cancún en Semana Santa, el agente
    selecciona Crear una Reservación en su pantalla
    principal y aparece una reservación en blanco.
    Hasta este momento lo único que sabemos es la
    ubicación del hotel (Cancún).

Ubicación
NombreCancún
19
Ejemplo
  • En un sistema de reservaciones, el diagrama de
    clases es

1 hecha para 1
Reservación
Cliente
1
1
1 ubicada en 1
Cuarto
Ubicación
20
Continuación ejemplo
  • El agente pregunta de que fecha a que fecha
    quiere ir e introduce las fechas en la forma.
  • Se despliegan los cuartos disponibles en esa
    fecha y en esa ubicación y el cliente selecciona
    el 7120.

1352Cuarto
Reservación
NumReserv null Status verif D_llegada
8/04/09 D_salida15/04/09
326Cuarto
Ubicación
NombreCancún
7120Cuarto
21
Continuación ejemplo
  • El agente introduce los datos del cliente en el
    sistema y el objeto Cliente se relaciona con la
    reservación

Cliente
Nombre Jaime Apellido López Dirección
xxxx Tel 5874587587
1352Cuarto
Reservación
NumReserv null Status verif D_llegada
8/04/09 D_salida15/04/09
326Cuarto
Ubicación
NombreCancún
7120Cuarto
22
Continuación ejemplo
  • El agente pregunta si quiere confirmar la
    reservación.. En caso afirmativo el sistema
    cambia el status a Confirmada y le asigna un
    número de reservación

Cliente
Nombre Jaime Apellido López Dirección
xxxx Tel 5874587587
1352Cuarto
Reservación
NumReserv 4582 Status confirmada D_llegada
8/04/09 D_salida15/04/09
326Cuarto
Ubicación
NombreCancún
7120Cuarto
23
  • Un cliente quiere reservar más de una habitación,
    de acuerdo con el diagrama de clases sólo se
    puede reservar un cuarto por Reservación. Esto
    nos indica que la multiplicidad en Cuarto debe
    cambiarse a 1. (Este es otro escenario).

1 hecha para 1
Reservación
Cliente
1
1
1 ubicada en 1
Cuarto
Ubicación
24
Con los cambios en la multiplicidad
  • El diagrama de clases cambia en Cuarto

Reservación
Cliente
NumReserv Status D_llegada D_salida
1 1
Nombre Apellido Dirección Tel
1
ReservarCto( )
1
Ubicación
Cuarto
1 1
Nombre Dirección
Nombre Capacidad
25
Paso 1 Mapear entidades a Tablas
  • Crear una tabla para cada clase, dejando los
    atributos

Reservación
Cliente
NumReserv Status D_llegada D_salida
Nombre Apellido Dirección Tel
Ubicación
Cuarto
Nombre Dirección
Nombre Capacidad
26
Paso 2 Especificar llaves primarias para cada
tabla
Reservación
Cliente
ID_Reservación Status D_llegada D_salida
ID_Cliente Nombre Apellido Dirección Tel
Ubicación
Cuarto
El número de cuarto puede repetirse de un hotel a
otro por eso es necesario incluir en la PK el
ID_Ubicación
ID_Ubicación Nombre Dirección
ID_Ubicación ID_Cuarto Nombre Capacidad
27
Paso 3 Crear una Asociación en las relaciones
Uno a Muchos en el diagrama E-R, usando llaves
foráneas (FK)
Reservación
Cliente
ID_Reservación Status D_llegada D_salida ID_Clien
te FK
ID_Cliente Nombre Apellido Dirección Tel
Ubicación
Cuarto
ID_Ubicación Nombre Dirección
ID_Ubicación FK ID_Cuarto Nombre Capacidad
28
Paso 4 Crear una Asociación en las relaciones
Muchos a Muchos en el diagrama E-R
Reservación
ID_Reservación Status D_llegada D_salida ID_Clien
te FK
Fue necesario incluir una tabla entre las tablas
Reservación y Cuarto, con una llave primaria
compuesta. En el diagrama de Clases no existía
ya que no hay atributos exclusivos de esta clase
Cliente
ID_Cliente Nombre Apellido Dirección Tel
ReservarCuarto
ID_Reservación ID_Ubicación ID_Cuarto
Ubicación
Cuarto
ID_Ubicación Nombre Dirección
ID_Ubicación ID_Cuarto Nombre Capacidad
29
Diagrama E-R
Reservación
ID_Reservación Status D_llegada D_salida ID_Clien
te FK
Cliente
1 1
ID_Cliente Nombre Apellido Dirección Tel
1 1
ReservarCuarto
ID_Reservación ID_Ubicación ID_Cuarto
Ubicación
Cuarto
1 1..
ID_Ubicación Nombre Dirección
ID_Ubicación ID_Cuarto Nombre Capacidad
1..
1
Write a Comment
User Comments (0)
About PowerShow.com