Diagrama #7: de Estados

Después de esta lección, usted podrá:

  • Crear un diagrama de estado (cómo interactúan los objetos)
  • Determinar los estados y transiciones para una clase
  • Adicionar estados al diagrama de estados
  • Adicionar acciones a la definición de estado

Prerrequisito Haber estudiado las lecciones previas de UML.

TIEMPO ESTIMADO: 10 MINUTOS

Diagrama de Estado

El estado de los atributos: su comportamiento en el tiempo

El diagrama de estado modela el comportamiento dinámico de un objeto determinado o una clase de objetos.

Se modela un diagrama de estado para todas las clases de las que se presuma que tengan un comportamiento dinámico.

Este tipo de diagrama modela la secuencia de estados por los que pasa un objeto de una clase durante su vida.

El diagrama de estado capta:

  • Los estímulos recibidos por el objeto,
  • Las respuestas y
  • Las acciones

Creación de un Diagrama de Estado


Tome nota!
A veces no queda claro a partir del diagrama de secuencia que una acción se realiza mientras una clase está en un estado determinado. Con el diagrama de estado puede descubrir y capturar acciones que no están incluidas en el diagrama de secuencia. «


El estado de los objetos puede encontrarse durante la vida del sistema, en cualquiera de estas situaciones:

  • Determinado por los Atributos. Los datos que se relacionan con el objeto, determinan el estado actual.  Son los estados de sus atributos
    • Ejemplo: Un estudiante está en estado de «Soltero» durante su infancia. En su edad adulta podrá estar «Casado».  Este estado de la persona en la línea del tiempo podría llamarse «Estado civil»
    • Un cliente cuando introduce su tarjeta en un ATM, el sistema inicia el estado «Validando PIN»
  • Determinado por las Acciones de un Objeto. Las acciones que ejecuta el objeto en un momento determinado.
    • Ejemplo: Un auto inicia su recorrido. El objeto se halla en estado «Transitando»
  • Pasivo o En Espera. Generalmente los Objetos se hallan en Stand By o a la espera de ser llamados o utilizados.  Aunque están creados en memoria, no necesariamente se encuentran en acción.
    • El auto se dispone a frenar, el conductor hace el cambio a neutro. La caja de cambios se halla en estado «Neutro» o «Pausa».
    • Usted solicita al Objeto impresora un trabajo. El objeto impresora generalmente se halla en memoria en estado «Cargada», lista para ser usada, cuando usted inicia el programa

Algoritmo

Se deberán seguir los siguientes pasos para desarrollar un Diagrama de Estado completo:

  1. Crear un nuevo archivo para el diseño del diagrama de estado
  2. Verifique los mensajes del diagrama de secuencia que envía un objeto a otro (clase).
  3. Verifique los estados producto de los mensajes. Los mensajes producen transiciones que hacen que un objeto pase de un estado a otro

Detectando estados


Tome nota!

» El estado de un objeto se indica mediante LOS VALORES DE LOS ATRIBUTOS del objeto en un momento puntual». 


Observe el diagrama de secuencia:

  • Observe en los mensajes en el diagrama de secuencia que entran al objeto reserva.
    • El objeto agenda ha enviado un mensaje «actualizar status de reserva«.
    • El objeto reserva ha pasado al estado reservada
  • Cuando el objeto cliente cancela una reserva, el objeto reserva pasa del estado reservada a cancelada. Por supuesto y como se indica en la nota arriba, » Con el diagrama de estado puede descubrir y capturar acciones que no están incluidas en el diagrama de secuencia»
  • Cuando el objeto cliente no posee saldo mínimo en su tarjeta, la reserva pasa a ser rechazada

PRONTO! MicroCurso MVC desde cero

Profesor: César Vallejo (PosMarket Pro)

Adicione estados al diagrama de estados

Componentes

  1. Rectángulo redondeado con el estado
  2. Círculo negro del estado inicial
  3. Líneas de estado
  4. Etiqueta del evento
  5. Acciones: se producen cuando el objeto llega a un estado

Estados del objeto Reservas

  1. Provisional
  2. Realizada
  3. Confirmada
  4. Denegada
  5. Cancelada

Agregar acción a los estados (eventos desencadenantes)

Como se explicó arriba, los objetos pueden adquirir un estado dependiendo de los factores externos o eventos que lo llaman a acción.

Observe que el objeto «Reserva» envía un mensaje «calcular precio» al momento de generar la reserva provisional. Esto es un método que genera la definición de transición «Saldo suficiente«, y se ejecuta cuando el objeto se halla en el estado «Provisional«, pues solo el cliente reservara definitivamente cuando conozca el precio final, para que la reserva pase al estado «Confirmada»

En este paso, su diagrama de estados debe verse así:

Tome nota!

» No se crean diagramas de estado por cada uno de los atributos del sistema. Se concentra en los trascendentales y complejos»

Practica ya!