Sesion 9 1 secuencias y estados

25
Secuencias y Estados Lic. César Alcántara Loayza

Transcript of Sesion 9 1 secuencias y estados

Page 1: Sesion 9 1 secuencias y estados

Secuencias y Estados

Lic. César Alcántara Loayza

Page 2: Sesion 9 1 secuencias y estados

2CAL/Fundamentos

Criterio para las clases analisis del problema: Los siguientes elementos vienen a ser buenos

candidatos para clases de dominio del problema:

Actores Suministros y Materiales Productos Registros de transacciones, como adquisición, ventas,

mantenimiento y disposición.

Análisis Del Problema

Page 3: Sesion 9 1 secuencias y estados

3CAL/Fundamentos

Buenas clases del dominio del problema para una tienda de flores: Actores: Tomador de orden, Floristas,

Conductores, personas de ventas, tenedor de libros.

Suministros y materiales: Flores, Papel, vasos, alambre, tarjetas y asi.

Análisis Del Problema

Page 4: Sesion 9 1 secuencias y estados

4CAL/Fundamentos

Productos: arreglos de flores, artículos de regalo.

Registros: Ordenes, despachos, recepción de ventas, factura del cliente, factura del proveedor.

Análisis Del Problema

Page 5: Sesion 9 1 secuencias y estados

5CAL/Fundamentos

Identificar Clases y objetos Inspección gramatical a partir del vocabulario

del dominio del problema. 1. Encontrar nombres – Leer la declaración del

problema y la documentación asociada y destaque los nombres, sustantivos. Los sustantivos se transforman en clases u objetos o atributos, o valores de atributos. De igual forma los verbos revelan operaciones u asociaciones.

Análisis Del Problema

Page 6: Sesion 9 1 secuencias y estados

6CAL/Fundamentos

Análisis Del ProblemaTexto Elemento del ModeloSustantivo Objeto (útil como data de prueba

ClaseAtributoValor de Atributo

Verbo AsociaciónOperaciónEvento

Adjetivo Estado

Page 7: Sesion 9 1 secuencias y estados

7CAL/Fundamentos

2. Evalúe los nombres (sustantivos) para hallar las clases: Algunas preguntas:

¿Es el término necesario dentro del alcance del proyecto?

Si es así, ¿El nombre califica como recurso del dominio del problema? Pensar en el nombre de clase apropiado para el recurso del dominio al cual se refiere el nombre.

De otro modo, ¿ el nombre es un ejemplar de clase, por ejem. Un objeto, una instancia de una clase? – escriba este hecho para referirlo cuando se necesite data de prueba.

Análisis Del Problema

Page 8: Sesion 9 1 secuencias y estados

8CAL/Fundamentos

De otro modo, ¿es el nombre un atributo de una clase?, ¿de que clase?. Escríbalo.

De otro modo, ¿el nombre es un ejemplar de atributo, un valor de atributo’ escriba este hecho para referirse a el cuando necesite data de prueba.

Asegúrese de concordar los términos. Frecuentemente encontrará sinónimos.

Análisis Del Problema

Page 9: Sesion 9 1 secuencias y estados

9CAL/Fundamentos

3. Defina el propósito – Describa porque la clase es un recurso necesario del dominio del problema. Ejem. “nuestro auditorio es utilizado por tipos diferentes de eventos. Algunos eventos son de una sola vez, tales como juego de Basquet. Otros eventos comprenden una número de presentaciones como obras o conciertos”

Análisis Del Problema

Page 10: Sesion 9 1 secuencias y estados

10CAL/Fundamentos

Análisis Del ProblemaTérminos No es clase Clase Propósito Clase

Auditorio Auditorio El lugar donde se llevan a cabo los eventos y para los cuales se venden boletos

Evento Evento Una actuación negociada por el planeador de eventos y llevada a cabo en una o mas presentaciones.

Juego Basquet

tipo de evento

Presentación Presentación Un simple presentación de un evento

Obra Tipo de evento

Concierto Tipo de evento

Page 11: Sesion 9 1 secuencias y estados

11CAL/Fundamentos

Máquina de Estados Muchos objetos requieren la aplicación

de una máquina de estados. Una máquina de estados describe un objeto en términos de los estados que atraviesa desde su creación hasta su terminación. El movimiento de un estado a otro se activa por los eventos. La transición real de un estado a otro se logra por una acción.

Page 12: Sesion 9 1 secuencias y estados

12CAL/Fundamentos

Estado y Transición Estado:

La condición de un objeto en un punto del tiempo.

Transición: Un cambio de un estado a otro estado dentro

de un objeto.

Page 13: Sesion 9 1 secuencias y estados

13CAL/Fundamentos

Diagrama de Estados El diagrama de transición de estados

es el estandar UML para modelar respuestas del objeto a los eventos y para rastrear las transiciones en los estados del objeto. El diagrama de transición de estados proporciona la notación para describir eventos, estados, transiciones, acciones, y actividades para un objeto.

Page 14: Sesion 9 1 secuencias y estados

14CAL/Fundamentos

Diagrama de Estados En muchos sistemas, existen al menos

unas pocas clases de objeto clave que sufren cambios sustanciales durante su tiempo de vida. Para estos objetos, un único evento puede resultar en muchas respuestas diferentes basadas en las condiciones actuales del objeto. La condición del objeto es referida como el estado del objeto.

Page 15: Sesion 9 1 secuencias y estados

15CAL/Fundamentos

Estado del objeto: El estado se define por los valores de los atributos y las relaciones del objeto. Por ejemplo, cuando se abre una cuenta de crédito, un intento de comprar un artículo resultaría en una comparación del monto comprado y el crédito disponible. Cuando la cuenta de crédito es cerrada, un intento de comprar artículos resultaría en un error.

Diagrama De Estados

Page 16: Sesion 9 1 secuencias y estados

16CAL/Fundamentos

Igualmente, una relación puede provocar una respuesta diferente. Por ejemplo, cuando en el sistema de boletaje un AsientoPresentación no está asociada con un NivelDePrecio, no puede venderse. Una vez que se establezca el enlace con el NivelDePrecio, el AsientoPresentación se puede vender.

Diagrama De Estados

Page 17: Sesion 9 1 secuencias y estados

17CAL/Fundamentos

El diagrama de estados no se usará para todas las clases del modelo. El diagrama de estados es una herramienta de propósito especial que se emplea solo para objetos que poseen substancial comportamiento de estados específico. ¿cómo reconcer esos objetos? ...

Diagrama De Estados

Page 18: Sesion 9 1 secuencias y estados

18CAL/Fundamentos

Una técnica es revisar los diagramas de interacción e identificar aquellos objetos que participan en muchos, o mas aún todos, los escenarios. Específicamente, busque aquellos objetos que tengan mas flechas de evento entrantes, pues cada evento entrante tiene el potencial de cambiar el estado actual del objeto.

Diagrama De Estados

Page 19: Sesion 9 1 secuencias y estados

19CAL/Fundamentos

A B C

El objeto permanece en una condición o estado hasta que algo le ocurra al objeto que active un cambio en el estado llamado “transición”.

Diagrama De Estados

Page 20: Sesion 9 1 secuencias y estados

20CAL/Fundamentos

Revisión D. Estados Notación Revisar la notación del diagrama de estados en la

presentación: UML – Diagrama de Estados.

En el siguiente ejemplo se ayuda a empezar la construcción de un diagrama de estados usando un diagrama de secuencia como fuente. Los ejemplos son muy pequeños de modo que se puede enfocar en los mecanismos mas que en la complejidad del dominio del problema. Pero la misma estrategia se puede emplear a media que la complejidad del dominio se incrementa.

Page 21: Sesion 9 1 secuencias y estados

21CAL/Fundamentos

Identifique los estados.

Revisión D. Estados Notación

aGestionFacilidad aPresentación aAsientoPresentación

CrearPresentación

CrearAsientoPresentación

Hecho

Hecho

El objeto no existe hasta que el el evento lo crea. El objeto comienza en un estado inicial: “sin precio, no seleccionado, y no vendido”

Caso de Uso: Planear PresentaciónEscenario: Programar Presentación con éxito

Page 22: Sesion 9 1 secuencias y estados

22CAL/Fundamentos

Identifique los eventos que activan la transición entre estados.

Revisión D. Estados Notación

aGestionFacilidad aPresentación aAsientoPresentación

CrearPresentación

CrearAsientoPresentación

Hecho

Hecho

Transición eventos

Caso de Uso: Planear PresentaciónEscenario: Programar Presentación con éxito

Page 23: Sesion 9 1 secuencias y estados

23CAL/Fundamentos

Dibuje el diagrama de estados

Revisión D. Estados Notación

aGestionFacilidad aPresentación aAsientoPresentación

CrearPresentación

CrearAsientoPresentación

Hecho

HechoSin precio

No separadoNo vendido

Caso de Uso: Planear PresentaciónEscenario: Programar Presentación con éxito

Page 24: Sesion 9 1 secuencias y estados

24CAL/Fundamentos

Mezcle el nuevo diagrama con el diagrama previo para formar un único diagrama de estados para el AsientoPresentación.

Revisión D. Estados Notación

aGestionFacilidad aAsientoPresentación

Precio(NivelDePrecio)

Hecho

Sin precioNo separadoNo vendido

Con precioNo separadoNo vendido

Precio(NivelDePrecio

Caso de Uso: Planear PresentaciónEscenario: Programar Presentación con éxito

Page 25: Sesion 9 1 secuencias y estados

25CAL/Fundamentos

NoDisponible Disponible Separado Vendido

AsientoPresentaciónestado

Sin precioNo separadoNo vendido

Con precioNo separadoNo vendido

con precioseparado

No vendido

con precioNo separado

vendido

RemoverPrecio()

Reembolsar()

Precio(NivelPrecio)

Cancel() Select()

Compra(TipoPrecio)

Patron Diseño de Estado

No Disponible

Disponible

Separado

Vendido

Para cada estado en el diagrama de estados, crear su correspondiente definición de clase.