DIAGRAMAS DE ESTADO
1. DEFINICIÓN
Los diagramas de estado son una técnica
conocida para describir el comportamiento de un sistema. Describen todos los estados posibles en los que puede entrar un objeto
particular y la manera en que cambia el estado del objeto, como resultado de
los eventos que llegan a el. En la mayor parte de las técnicas Orientadas a
Objetos, los diagramas de estado se dibujan para una sola clase, mostrando el
comportamiento de un solo objeto durante todo su ciclo de vida.
Existen muchas formas de diagramas
de estado, cada una con semántica ligeramente diferente. La mas popular que se
emplea en las técnicas de OO se basa en la tabla de estados de David Harel
(Vol. 8). OMT fue quien la uso por primera vez para los métodos de OO y fue
adoptada por Grady Booch en su segunda edición (1994).
El estado en
el que se encuentra un objeto determina su comportamiento. Cada objeto sigue el
comportamiento descrito en el Diagrama de Estados asociado a su clase. Los
Diagramas de Estados y escenarios son complementarios, los Diagramas de Estados
son autómatas jerárquicos que permiten expresar concurrencia, sincronización y
jerarquías de objetos, son grafos dirigidos y deterministas. La transición
entre estados es instantánea y se debe a la ocurrencia de un evento.
2.
DEPENDENCIAS
Un objeto permanece en un estado por un tiempo finito,
hasta que se cumpla la condición de cambio. Se construyen a partir del Diagrama de Estructura Estática
(Diagramas de clases), identificando cuáles objetos cambian de estado, cual es
le estado inicial y el final, definiendo a qué eventos puede responder el
objeto, y qué transacciones ejecutará
Este diagrama muestra la secuencia de los estados de un
objeto durante su ciclo de vida, en respuesta a un estímulo recibido. Los
estados de los objetos están dados por el valor de sus atributos (estados) lo
cual cambia sus comportamientos (métodos).
Los estados hacen referencia a una condición durante la
vida de un objeto o a una interacción durante la cual se satisface alguna
condición (ejecutar alguna acción, esperar algún evento, etc.), por ejemplo una
validación de una captura.
3. NOTACIÓN
Dentro de la notación se utilizan
los siguientes símbolos:
De los cuales los mas utilizados son:
3.1 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 (entry,
exit o do, respectivamente).
Tipos de Estado
Inicio: Es el estado inicial en el que se inicia el objeto en
su ciclo de vida, ningún evento puede retornar un objeto a este estado.
Gráficamente está representado con un circulo negro.
Fin: Es el
estado final en el que queda un objeto al final de su ciclo de vida, ningún
evento puede sacar a un objeto de este estado. Gráficamente está representado
con un círculo negro rodeado de otro círculo.
Estado: Son los diferentes estados por lo que puede pasar un
objeto a lo largo de su ciclo de vida, de ellos se puede salir, quedarse en el
y retornar. Gráficamente está representado por un rectángulo.
3.2 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.
3.3 Envío de
mensajes
Además
de mostrar la 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.
3.4 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.
3.5 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.
3.6 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.
3.7 Generalización
de Estados:
·
Podemos reducir la complejidad de estos
diagramas usando la generalización de estados.
·
Distinguimos 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.
3.8 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.
3.9 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.
3.10 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).
3.11 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.
4.1 Diagramas de
estados concurrentes
Un modelo dinámico describe un conjunto de
objetos concurrentes, cada cual con su propio estado y con su propio diagrama
de estados. Los objetos de todo sistema pueden cambiar de estado
independientemente. El estado de todo el sistema no se puede representar
mediante un solo estado de un único objeto; es el producto de los estados de
todos los objetos que lo componen. En muchos sistemas, además, el número de
objetos puede cambiar dinámicamente.
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.
EJEMPLO DE DIAGRAMA DE ESTADOS
RESUMEN
DIAGRAMAS DE ESTADO
DEFINICIÓN
Los diagramas de estado son una técnica
conocida para describir el comportamiento de un sistema.
DEPENDENCIAS
Un objeto permanece en un estado por un tiempo
finito, hasta que se cumpla la condición de cambio.
ELEMENTOS
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.
Ø 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.
Ø Envío de mensajes
Además de mostrar la
transición de estados por medio de eventos, puede representarse el momento en
el cual se envían mensajes a otros objetos.
Ø 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.
Ø Transición interna
Es una transición que
permanece en el mismo estado, en vez de involucrar dos estados distintos.
Ø Acciones:
Podemos especificar la
solicitud de un servicio a otro objeto como consecuencia de la transición.
Ø Generalización de Estados
La agregación de estados es la
composición de un estado a partir de varios estados independientes.
Ø Subestados
Un estado puede descomponerse en
subestados, con transiciones entre ellos y conexiones al nivel 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.
Ø 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.
Ø Transiciones temporizadas
Este evento desencadena una
transición que permite salir del estado que alberga la actividad de espera.
Ø Diagramas de estados concurrentes
Un modelo dinámico describe un
conjunto de objetos concurrentes, cada cual con su propio estado y con su
propio diagrama de estados.
SUMARY
State diagrams
DEFINITION
State diagrams are a technique known to describe the behavior of a system.
UNITS
An object remains in a state for a finite time until the change condition is met.
ELEMENTS
It identifies a period of time the object (not instant) in which the object is waiting for an operation, has a certain characteristic state or you may receive certain types of stimuli.
Events
It is an occurrence that can cause the transition from one state to another of an object. This occurrence may be one of several things.
Messaging
In addition to showing the state transition through events, it may represent the point at which messages are sent to other objects.
simple transition
A simple transition is a relationship between two states indicating that an object in the first state to the second state can enter and perform certain operations when an event occurs and if certain conditions are met.
internal transition
It is a transition that remains in the same state, instead of involving two different states.
Actions:
You can specify a service request to another object as a result of the transition.
Generalization United
Aggregation of states is the composition of a state from several independent states.
substates
A state can be decomposed into sub-states, with transitions between them and the top level connections.
Complex transaction
A complex transition connects three or more states in a transition from multiple sources and / or multiple destinations.
Nested transition states
A transition to a complex state (described by nested states) means the input to the initial state of the subdiagram.
timed transitions
This event triggers a transition that exits the state that is home activity expected.
Diagrams concurrent states
A dynamic model describes a set of concurrent objects, each with its own status and its own state diagram.
RECOMENDACIONES
Las interfaces gráficas de usuario no son la única manera de trabajar en un sistema informático. Para usuarios avanzados podría no ser un problema trabajar en un ambiente bajo una consola utilizando comandos o instrucciones que desencadenen procesos o acciones determinadas.
CONCLUSIÓN
Es necesario contar en el diseño del software
con diagramas de estado dado que permiten a los analistas, diseñadores y desarrolladores comprender el comportamiento de los objetos de un sistema.
APRECIACIÓN DEL EQUIPO
Los diagramas de estado en el caso de los automatas
finitos, además de mejorar su legibilidad, comprensión, e incluso visualizar
una especie de primera aproximación material a su implementación física o
computacional; también ayudan a visibilizar las propiedades del AF más
intuitivamente que en la notaciones de la 5-tupla o la de la tabla de
transiciones.
GLOSARIO DE TÉRMINOS
Es un procedimiento algoritmico o
computacional.
Acoplamiento
Es la cantidad de relaciones que se
establecen entre los módulos de un programa.
Activación
Es la ejecución de una acción.
Actor
Es
un tipo con un estereotipo predefinido, que denota una entidad externa al
sistema que interactúa con casos de uso
Es
el grado en que se ha conseguido la total implementación de las funciones
requeridas.
Es
un módulo de software ejecutable que tiene identidad y una interface bien
definida.
BIBLIOGRAFÍA
http://markblogs-markmendoza.blogspot.pe/2010/12/diagramas-de-estado.html
http://www.ecured.cu/Diagrama_de_estado
http://jms32.eresmas.net/tacticos/UML/UML08/UML0801.html
http://www.ecured.cu/Diagrama_de_estado
http://jms32.eresmas.net/tacticos/UML/UML08/UML0801.html
Video de Referencia
Link de la Diapositiva
No hay comentarios:
Publicar un comentario