Diferencia entre revisiones de «Diagrama de estado»

Línea 1: Línea 1:
{{Normalizar}}'''Diagrama de Estado:'''Un Diagrama de  Estados muestra la secuencia de estados por los que pasa bien un caso  de uso, un objeto a lo largo de su vida, o bien todo el sistema.
+
{{Definición
 
+
|nombre= Diagrama de Estados
 
+
|imagen=
==Diagrama de Estado==
+
|tamaño=
Un Diagrama de Estados muestra la secuencia de estados por los que pasa bien un caso de uso, un objeto a lo largo de su vida, o bien todo el sistema. En él se indican qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. También ilustran qué eventos pueden cambiar el estado de los objetos de la clase.  En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Normalmente contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su vez, eventos, acciones y actividades. Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y restricciones.
+
|concepto=Muestra la secuencia de estados por los que pasa bien un caso  de uso, un objeto a lo largo de su vida, o bien todo el sistema
 
+
}}
==Definición de [[Estado]]==  
+
<div align="justify">
 +
'''Diagrama de Estado:''' Este muestra la secuencia de estados por los que pasa bien un caso de uso, un objeto a lo largo de su vida, o bien todo el [[sistema]].
 +
==Función==
 +
En el [[diagrama]] de estados se indica qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. También ilustra qué eventos pueden cambiar el estado de los objetos de la clase.  En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Normalmente contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su vez, eventos, acciones y actividades. Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y restricciones.
 +
==Definición de Estado==  
 
   
 
   
Identifica un periodo de tiempo del objeto (no instantáneo) en el cual el objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un rectángulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado.
+
Identifica un periodo de [[tiempo]] del [[objeto]] (no instantáneo) en el cual el objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un [[rectángulo]] con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado.
  
 
   
 
   
 
==Partes que conforman el Diagrama de Estados==
 
==Partes que conforman el Diagrama de Estados==
 
 
===Estado===
 
===Estado===
Identifica un periodo de tiempo del objeto (no instantáneo) en el cual el objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un rectángulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado.
+
Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una [[transición]] se representa como una flecha desde el estado origen al estado destino.  
Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino.  
 
 
La caja de un estado puede tener 1 o 2 compartimentos. En el primer compartimento aparece el nombre del estado. El segundo compartimento es opcional, y en él pueden aparecer acciones de entrada, de salida y acciones internas.
 
La caja de un estado puede tener 1 o 2 compartimentos. En el primer compartimento aparece el nombre del estado. El segundo compartimento es opcional, y en él pueden aparecer acciones de entrada, de salida y acciones internas.
  
 
===Eventos===
 
===Eventos===
Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:  
+
Es una ocurrencia que puede causar la [[transición]] de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:  
 
*Condición que toma el valor de verdadero o falso
 
*Condición que toma el valor de verdadero o falso
*Recepción de una señal de otro objeto en el modelo
+
*Recepción de una señal de otro objeto en el [[modelo]]
  
 
===Recepción de un mensaje===
 
===Recepción de un mensaje===
Paso de cierto período de tiempo, después de entrar al estado o de cierta hora y fecha particular
+
Paso de cierto período de [[tiempo]], después de entrar al estado o de cierta hora y fecha particular. El nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.  
El nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.  
 
  
 
===Envío de mensajes===
 
===Envío de mensajes===
Línea 30: Línea 31:
  
 
===Transición simple===
 
===Transición simple===
Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados, que puede venir acompañada de un texto con el siguiente formato:  
+
Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados, que puede venir acompañada de un [[texto]] con el siguiente formato:  
  
 
===Transición interna===
 
===Transición interna===
Línea 36: Línea 37:
  
 
===Acciones===
 
===Acciones===
Podemos especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.  
+
Se puede especificar la solicitud de un servicio a otro objeto como consecuencia de la [[transición]]. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.  
  
 
===Generalización de Estados===
 
===Generalización de Estados===
Podemos reducir la complejidad de estos diagramas usando la generalización de estados.
+
Se puede reducir la complejidad de estos diagramas usando la generalización de estados.
Distinguimos así entre superestado y subestados.
+
Se distingue así entre superestado y subestados.
 
Un estado puede contener varios subestados disjuntos.
 
Un estado puede contener varios subestados disjuntos.
 
Los subestados heredan las variables de estado y las transiciones externas.
 
Los subestados heredan las variables de estado y las transiciones externas.
 
La agregación de estados es la composición de un estado a partir de varios estados independientes.
 
La agregación de estados es la composición de un estado a partir de varios estados independientes.
La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al superestado asociado, no el fin del objeto.  
+
La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al superestado asociado, no el fin del [[objeto]].  
  
 
===Subestados===
 
===Subestados===
Línea 50: Línea 51:
  
 
===Transacción Compleja===
 
===Transacción Compleja===
Una transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.  
+
Una transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del [[objeto]] o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.  
  
 
===Transición a estados anidados===
 
===Transición a estados anidados===
Línea 62: Línea 63:
 
==Ventajas y Desventajas==
 
==Ventajas y Desventajas==
 
   
 
   
 
 
===Ventajas===
 
===Ventajas===
 
   
 
   
*El Diagrama de Estados tiene éxito en [[sistemas interactivos]], ya que expresa la intención que tiene el actor (su usuario) al hacer uso del sistema.
+
*El Diagrama de Estados tiene éxito en [[sistemas interactivos]], ya que expresa la intención que tiene el actor (su usuario) al hacer uso del [[sistema]].
 
   
 
   
 
*Como técnica de extracción de requerimiento permite que el analista se centre en las necesidades del usuario, qué espera éste lograr al utilizar el sistema, evitando que la gente especializada en informática dirija la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos.
 
*Como técnica de extracción de requerimiento permite que el analista se centre en las necesidades del usuario, qué espera éste lograr al utilizar el sistema, evitando que la gente especializada en informática dirija la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos.

Revisión del 22:34 29 nov 2011

Diagrama de Estados
Información sobre la plantilla
Concepto:Muestra la secuencia de estados por los que pasa bien un caso de uso, un objeto a lo largo de su vida, o bien todo el sistema

Diagrama de Estado: Este muestra la secuencia de estados por los que pasa bien un caso de uso, un objeto a lo largo de su vida, o bien todo el sistema.

Función

En el diagrama de estados se indica qué eventos hacen que se pase de un estado a otro y cuáles son las respuestas y acciones que genera. También ilustra qué eventos pueden cambiar el estado de los objetos de la clase. En cuanto a la representación, un diagrama de estados es un grafo cuyos nodos son estados y cuyos arcos dirigidos son transiciones etiquetadas con los nombres de los eventos. Normalmente contienen: estados y transiciones. Como los estados y las transiciones incluyen, a su vez, eventos, acciones y actividades. Al igual que otros diagramas, en los diagramas de estado pueden aparecer notas explicativas y restricciones.

Definición de Estado

Identifica un periodo de tiempo del objeto (no instantáneo) en el cual el objeto está esperando alguna operación, tiene cierto estado característico o puede recibir cierto tipo de estímulos. Se representa mediante un rectángulo con los bordes redondeados, que puede tener tres compartimientos: uno para el nombre, otro para el valor característico de los atributos del objeto en ese estado y otro para las acciones que se realizan al entrar, salir o estar en un estado.


Partes que conforman el Diagrama de Estados

Estado

Un estado se representa como una caja redondeada con el nombre del estado en su interior. Una transición se representa como una flecha desde el estado origen al estado destino. La caja de un estado puede tener 1 o 2 compartimentos. En el primer compartimento aparece el nombre del estado. El segundo compartimento es opcional, y en él pueden aparecer acciones de entrada, de salida y acciones internas.

Eventos

Es una ocurrencia que puede causar la transición de un estado a otro de un objeto. Esta ocurrencia puede ser una de varias cosas:

  • Condición que toma el valor de verdadero o falso
  • Recepción de una señal de otro objeto en el modelo

Recepción de un mensaje

Paso de cierto período de tiempo, después de entrar al estado o de cierta hora y fecha particular. El nombre de un evento tiene alcance dentro del paquete en el cual está definido, no es local a la clase que lo nombre.

Envío de mensajes

Además de mostrar y transición de estados por medio de eventos, puede representarse el momento en el cual se envían mensajes a otros objetos. Esto se realiza mediante una línea punteada dirigida al diagrama de estados del objeto receptor del mensaje.

Transición simple

Una transición simple es una relación entre dos estados que indica que un objeto en el primer estado puede entrar al segundo estado y ejecutar ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son satisfechas. Se representa como una línea sólida entre dos estados, que puede venir acompañada de un texto con el siguiente formato:

Transición interna

Es una transición que permanece en el mismo estado, en vez de involucrar dos estados distintos. Representa un evento que no causa cambio de estado. Se denota como una cadena adicional en el compartimiento de acciones del estado.

Acciones

Se puede especificar la solicitud de un servicio a otro objeto como consecuencia de la transición. Se puede especificar el ejecutar una acción como consecuencia de entrar, salir, estar en un estado, o por la ocurrencia de un evento.

Generalización de Estados

Se puede reducir la complejidad de estos diagramas usando la generalización de estados. Se distingue así entre superestado y subestados. Un estado puede contener varios subestados disjuntos. Los subestados heredan las variables de estado y las transiciones externas. La agregación de estados es la composición de un estado a partir de varios estados independientes. La composición es concurrente por lo que el objeto estará en alguno de los estados de cada uno de los subestados concurrentes. La destrucción de un objeto es efectiva cuando el flujo de control del autómata alcanza un estado final no anidado. La llegada a un estado final anidado implica la subida al superestado asociado, no el fin del objeto.

Subestados

Un estado puede descomponerse en subestados, con transiciones entre ellos y conexiones al nivel superior. Las conexiones se ven al nivel inferior como estados de inicio o fin, los cuales se suponen conectados a las entradas y salidas del nivel inmediatamente superior.

Transacción Compleja

Una transición compleja relaciona tres o más estados en una transición de múltiples fuentes y/o múltiples destinos. Representa la subdivisión en threads del control del objeto o una sincronización. Se representa como una línea vertical de la cual salen o entran varias líneas de transición de estado.

Transición a estados anidados

Una transición de hacia un estado complejo (descrito mediante estados anidados) significa la entrada al estado inicial del subdiagrama. Las transiciones que salen del estado complejo se entienden como transiciones desde cada uno de los subestados hacia afuera (a cualquier nivel de profundidad).

Transiciones temporizadas

Las esperas son actividades que tienen asociada cierta duración. La actividad de espera se interrumpe cuando el evento esperado tiene lugar. Este evento desencadena una transición que permite salir del estado que alberga la actividad de espera. El flujo de control se transmite entonces a otro estado.

Ventajas y Desventajas

Ventajas

  • El Diagrama de Estados tiene éxito en sistemas interactivos, ya que expresa la intención que tiene el actor (su usuario) al hacer uso del sistema.
  • Como técnica de extracción de requerimiento permite que el analista se centre en las necesidades del usuario, qué espera éste lograr al utilizar el sistema, evitando que la gente especializada en informática dirija la funcionalidad del nuevo sistema basándose solamente en criterios tecnológicos.
  • A su vez, durante la extracción (elicitation en inglés), el analista se concentra en las tareas centrales del usuario describiendo por lo tanto los casos de uso que mayor valor aportan al negocio. Esto facilita luego la priorización del requerimiento.

Desventajas

  • La inclusión de estas relaciones hace que los diagramas sean más difíciles de leer, sobre todo para los clientes.


Fuentes

http://www.clikear.com/manuales/uml/diagramasestado.aspx http://blogera.obolog.com/diagramas-estado-31600