Please enable JavaScript.
Coggle requires JavaScript to display documents.
Diagrama de Máquina de Estados. Diagrama de Actividades. - Coggle Diagram
Diagrama de Máquina de Estados. Diagrama de Actividades.
Diagrama de Estados
¿Qué es?
Un diagrama de estado UML (también llamado diagrama de estado, diagrama de transición de estados o diagrama de máquina de estados) muestra los estados por los que pasa una máquina de estados finitos.
El diagrama proporciona un estado inicial y uno final, así como al menos un estado intermedio para cada objeto.
Es un modelo de comportamiento que consiste en acciones y estados o transiciones a otros estados
El diagrama de estado permite, de este modo, representar el ciclo de vida completo de cualquier sistema, subsistema o componentes o clases del mismo, como podrían ser una máquina de café, un lector de libros electrónicos o un componente tecnológico de un vehículo.
¿Para qué sirve?
Se utilizan para optimizar cualquier proceso de desarrollo donde sea útil visualizar los estados del objeto y las condiciones para que se produzca la transición de un estado a otro.
Suelen emplearse, por ejemplo, en el diseño de sistemas embebidos (en inglés, embedded systems), donde las señales automatizadas y los procesos en segundo plano deben estar perfectamente coordinados.
En varios sectores de la industria, como el transporte o la tecnología sanitaria, los diagramas de estado se utilizan para explicar procesos complejos. También se emplean en la ingeniería de requisitos y en la gestión de productos y proyectos.
Historia
El diagrama de estado es uno de los 14 tipos de diagrama definidos en el lenguaje de modelado unificado (UML), o Unified Modeling Language, y en el lenguaje de modelo de sistemas (SysML, del inglés Systems Model Language).
Se remonta a un concepto propuesto por David Harel en 1987 en su artículo Statecharts: A Visual Formalism for Complex Systems.
Estados
Un estado se denota por un rectángulo con las esquinas redondeadas y con el nombre del estado escrito dentro del mismo.
Estados Initial y Final (Iniciales y Finales)
El estado inicial se denota con un círculo negro y se le puede proporcionar un nombre. El estado final se denota con un círculo con un punto negro en el medio y también se lo puede nombrar.
Transiciones
Las transiciones desde un estado al siguiente se denotan por líneas con flechas. Una transición puede tener un disparador, una guarda y un efecto, como a continuación.
“Trigger” (Disparador) es la causa de la transición, la cual podría ser una señal, un evento, un cambio en alguna condición, o el pasaje de tiempo. "Guard" (guarda) es una condición que debe ser verdadera para que el disparador cause la transición. "Effect" (efecto) es una acción que se llamará directamente en el objeto que tiene la maquina de estado como resultado de la transición.
Acciones de Estado
En el ejemplo de transición, un efecto se asoció con la transición. Si el estado de destino tenía muchas transiciones llegando al mismo, y cada transición tenía el mismo efecto asociado con este, sería mejor asociar el efecto con el estado de destino en lugar de con las transiciones. Esto se puede realizar para definir una acción de entrada para el estado. El siguiente diagrama muestra un estado con una acción de entrada y una acción de salida.
Transiciones recursivas
Un estado puede tener una transición que retorna a sí misma, como en el siguiente diagrama. Esto es más útil cuando un efecto se asocia con la transición.
Punto de Entrada
Algunas veces no deseará ingresar una sub maquina en un Estado Inicial normal. Por ejemplo, en la siguiente sub maquina sería normal comenzar en el estado inicial, pero si por alguna razón no fuera necesario realizar la inicialización, sería posible comenzar en el estado Ready realizando una transición al punto de entrada nombrado.
Punto de Salida
Similar al Punto de Entada, es posible nombrar Puntos de Salida nombrados. El siguiente diagrama provee un ejemplo donde el estado ejecutado después del estado de procesos principal depende de que ruta se use para realizar la transición del estado.
Pseudo estado “Choice” (Elección)
Un pseudo estado se muestra como un diamante con una transición llegando y dos o más transiciones saliendo. El siguiente diagrama muestra que cualquier estado al que se llega después del pseudo estado elección depende del formato del mensaje seleccionado durante la ejecución del estado anterior.
Pseudo estado “Junction” (unión)
Los pseudo estados unión se usan para unir transiciones múltiples. Una sola unión puede tener una o más transiciones de entradas y una o más de salida, y se puede aplicar una guarda a cada transición. Las uniones son libres de semántica; una unión que divide una transición de entrada en transiciones de salida múltiples realiza una rama condicional estática, opuesto a un pseudo estado elección que realiza una rama condicional dinámica.
Pseudo estado “Terminate” (terminar)
Ingresar un pseudo terminar indica que la línea de vida de la maquina de estado ha terminado. Un pseudo estado indica que una línea de vida de la maquina de estado ha terminado. Un pseudo estado terminar se denota como una cruz.
Estado “History” (Historial)
Un estado historial se usa para recordar el estado anterior de una maquina de estado cuando fue interrumpida. El siguiente diagrama ilustra el uso de estados del historial. El ejemplo es una maquina de estado que pertenece a un lavarropas.
Diagrama de Actividades
¿Qué es?
Los diagramas de actividades ayudan a que las personas en las áreas de negocios y desarrollo de una organización se integren para comprender el mismo proceso y comportamiento.
Los diagramas de actividades, junto con los diagramas de casos de uso y los diagramas de máquina de estados, son considerados diagramas de comportamiento porque describen lo que debe suceder en el sistema que se está modelando.
Beneficios
Demostrar la lógica de un algoritmo.
Describir los pasos realizados en un caso de uso UML.
Ilustrar un proceso de negocios o flujo de trabajo entre los usuarios y el sistema.
Simplificar y mejorar cualquier proceso clarificando casos de uso complicados.
Modelar elementos de arquitectura de software, tales como método, función y operación.
Componentes básicos
Acción:
Un paso en la actividad en el que los usuarios o el software realizan una tarea dada.
Nodo de decisión:
Una rama condicional en el flujo que se representa con un diamante. Incluye una sola entrada y dos o más salidas.
Flujos de control:
Otro nombre para los conectores que muestran el flujo entre pasos en el diagrama.
Nodo inicial:
Simboliza el inicio de la actividad. El nodo inicial se representa con un círculo negro.
Nodo terminal:
Representa el paso final en la actividad. El nodo terminal se representa por medio de un círculo negro de contorno blanco.
Actividades
Una actividad es la especificación de una secuencia parametrizada de comportamiento. Una actividad muestra un rectángulo con las puntas redondeadas adjuntando todas las acciones, flujos de control y otros elementos que constituyen la actividad.
Acciones
Una acción representa un solo paso dentro de una actividad. Las acciones se denotan por rectángulos con las puntas redondeadas.
Flujo de Control
Un flujo de control muestra el flujo de control de una acción a otra. Su notación es una línea con una punta de flecha.
Nodo Inicial
Un nodo inicial o de comienzo se describe por un gran punto negro, como se muestra a continuación.
Nodo Final
Hay dos tipos de nodos finales: nodos finales de actividad y de flujo. El nodo final de actividad se describe como un círculo con un punto dentro del mismo.
El nodo final de flujo se describe como un círculo con una cruz dentro del mismo.
Nodos de Decisión y Combinación
Los nodos de decisión y combinación tienen la misma notación: una forma de diamante. Los dos se pueden nombrar. Los flujos de control que provienen de un nodo de decisión tendrán condiciones de guarda que permitirán el control para fluir si la condición de guarda se realiza. El siguiente diagrama muestra el uso de un nodo de decisión y un nodo de combinación.
Nodos de Bifurcación y Unión
Las bifurcaciones y uniones tienen la misma notación: tanto una barra horizontal como vertical (la orientación depende de si el flujo de control va de derecha a izquierda o hacia abajo y arriba. Estos indican el comienzo y final de hilos actuales de control. El siguiente diagrama muestra un ejemplo de su uso.