Análisis y diseño de sistemas orientados a objetos mediante el uso del
CONCEPTOS Y DIAGRAMAS DEL LENGUAJE UNIFICADO DE MODELADO (UML)
19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 2
Diagramas de Estados • El diagrama de estados, o de transiciones de estado, es otra herramienta para determinar los métodos de las clases. • Se utiliza para examinar los distintos estados que puede tener un objeto. • Se crea un diagrama de estados para una sola clase. Por lo general los objetos se crean, pasan por cambios y se eliminan o quitan.
19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 3
Los objetos existen en estos diversos estados: • Que son las condiciones de un objeto en un momento específico. • Los valores del atributo de un objeto definen el estado en que se encuentra el objeto y algunas veces hay un atributo tal como Estado del pedido (pendiente, en recolección, empaquetado, enviado, recibido, etcétera) que indica el estado.
19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 4
Características de un diafragma de secuencia: • Un estado tiene un nombre en el que cada palabra empieza con mayúscula. El nombre debe ser único y descriptivo. Un estado también tiene acciones de entrada y de salida: las cosas que el objeto debe hacer cada vez que entra o sale de un estado específico. • Un evento es algo que ocurre en un tiempo y lugar específicos. Los eventos provocan un cambio del estado del objeto y se dice que una transición se “dispara”. Los estados separan eventos, como un pedido que espera a ser llenado, y los eventos separan estados, como un evento Pedido recibido o un evento Pedido completo. • Un evento produce la transición y ocurre cuando se cumple una condición de guardia. Esta condición de guardia es algo que se evalúa como verdadero o falso y puede ser tan simple como “Hacer clic para confirmar el pedido”. También puede ser una condición que ocurra en un método, como un elemento que esté agotado. Las condiciones de guardia se muestran entre corchetes a un lado de la etiqueta del evento. 19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 5 Eventos diferidos: • Además hay eventos diferidos, o eventos que se retienen hasta que un objeto cambia a un estado que pueda aceptarlos. Un usuario que teclea algo cuando un procesador de palabras realiza un respaldo sincronizado es un ejemplo de un evento diferido. Una vez que se completa el respaldo sincronizado, el texto aparece en el documento. • Los eventos se clasifican en tres categorías distintas: 1. Señales o mensajes asíncronos, que ocurren cuando el programa que hace la llamada no espera un mensaje de retorno, como una característica que se opera desde un menú. 2. Mensajes sincrónicos, que son llamadas a funciones o subrutinas. El objeto que hace la llamada se detiene y espera a que se le regrese el control, junto con un mensaje opcional. 3. Eventos temporales, que ocurren en un tiempo predeterminado. Por lo general no involucran a un actor o a un evento externo. 19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 6 Los objetos materiales tienen persistencia: • Es decir, existen durante un extenso periodo de tiempo. Los vuelos de aviones, conciertos y eventos deportivos tienen una persistencia más corta (pueden tener estados que cambian en un tiempo más corto). Algunos objetos, conocidos como objetos transitorios, no sobreviven al final de una sesión. Éstos incluyen la memoria principal, los datos de una URL (o ubicación) Web, las páginas Web, pantallas CICS, etcétera. La única forma de guardar los objetos transitorios es almacenar la información sobre ellos, como cuando se guardan los datos Web en una cookie.
19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 7
Cada vez que un objeto cambia de estado: • Algunos de los atributos cambian sus valores. Además, cada vez que cambian los atributos de un objeto, debe haber un método para cambiar esos atributos. Cada uno de los métodos necesitaría una pantalla o formulario Web para agregar o modificar los atributos. Éstos se convierten en los objetos de interfaz. Comúnmente la pantalla o formulario Web contiene más controles (o campos) que los atributos que cambian. Por lo general tienen claves primarias, información de identificación (como un nombre o dirección) y otros atributos necesarios para una buena interfaz de usuario. La excepción es un evento temporal, que puede usar tablas de la base de datos o una cola para contener la información.
19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 8
Cómo se representan los diagramas de estados: • Los estados se representan mediante rectángulos y los eventos o actividades son las flechas que enlazan los estados y hacen que un estado cambie a otro estado. Los eventos de transición se nombran en pasado, porque ya ocurrieron para crear la transición. • No hay que crear diagramas de estados para todas las clases. Se crean cuando: 1. Una clase tiene un ciclo de vida complejo. 2. Una instancia de una clase puede actualizar sus atributos en varias formas durante el ciclo de vida. 3. Una clase tiene un ciclo de vida operacional. 4. Dos clases dependen una de la otra. 5. El comportamiento actual del objeto depende de lo que ocurrió antes. 19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 9 Cómo se representan los diagramas de estados:
19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 10
Pautas principales: • Al examinar un diagrama de estados, aproveche la oportunidad para buscar errores y excepciones. Inspeccione el diagrama para detectar si los eventos ocurren en un tiempo inadecuado. Verifique también que se hayan representado todos los eventos y estados. En los diagramas de estados sólo hay que evitar dos problemas: verifique que no entren todas las transiciones en un estado o que salgan todas de éste. • Cada estado debe tener por lo menos una transición de entrada y de salida. Algunos diagramas de estados usan los mismos símbolos de inicio y terminación que los que utiliza un diagrama de actividad: un círculo relleno para representar el inicio y círculos concéntricos con el centro relleno para indicar el fin del diagrama. 19/05/2018 MGR. JOSE ANTONIO GUZMAN VALDIVIA 11 FIN