Un diagrama
de actividades muestra el flujo de actividades, siendo un actividad una
ejecución general entre los objetos que se está ejecutando en un momento dado
dentro de una máquina de estados, el resultado de un actividad es una acción
que producen un cambio en el estado del sistema o la devolución de un valor
pedido.
Básicamente un diagrama de actividades contiene:
-
Estados de actividad
-
Estados de acción
-
Transiciones
- Objetos
Estados
de actividad y estados de acción
La representación de ambos es un rectángulo con las puntas redondeadas,
en cuyo interior se representa bien una actividad o bien una acción. La forma
de expresar tanto una actividad como una acción, no queda impuesta por UML, se
podría utilizar lenguaje natural, una especificación formal de expresiones, un
metalenguaje, etc. La idea central es la siguiente: “Un estado que represente
una acción es atómico, lo que significa que su ejecución se puede considerar
instantánea y no puede ser interrumpida”, Al igual que en el diagrama de
estados, el de actividad cuenta con un punto inicial (representado por un
círculo) y uno final (representado como dos círculos concéntricos). En la siguiente
figura, podemos ver ejemplos de estados de acción.
En cambio
un estado de actividad, sí puede descomponerse en más sub- actividades
representadas a través de otros diagramas de actividades. Además estos estados
sí pueden ser interrumpidos y tardan un cierto tiempo en completarse. En los
estados de actividad podemos encontrar otros elementos adicionales como son:
acciones de entrada (entry) y de salida (exit) del estado en cuestión, así como
definición de submáquinas, como podemos ver en la figura siguiente:
Bifurcaciones
Un flujo de control no tiene porqué ser siempre secuencial,
puede presentar caminos alternativos. Para poder representar dichos caminos
alternativos o bifurcación se utilizará como símbolo el rombo. Dicha
bifurcación tendrá una transición de entrada y dos o más de salida. En cada
transición de salida se colocará una expresión booleana que será evaluada una
vez al llegar a la bifurcación, las guardas de la bifurcación han de ser
excluyentes y contemplar todos los casos ya que de otro modo la ejecución del
flujo de control quedaría interrumpida. Para poder cubrir todas las
posibilidades se puede utilizar la palabra ELSE, para indicar una transición
obligada a un determinado estado cuando el resto de guardas han fallado. Veamos
un ejemplo de bifurcación.
División y unión
No sólo existe el flujo secuencial y la bifurcación,
también hay algunos casos en los que se requieren tareas concurrentes. UML
representa gráficamente el proceso de división, que representa la concurrencia,
y el momento de la unión de nuevo al flujo de control secuencial, por una línea
horizontal ancha. Podemos ver cómo se representa gráficamente.
Calles
Cuando se
modelan flujos de trabajo de organizaciones, es especialmente útil dividir los
estados de actividades en grupos, cada grupo tiene un nombre concreto y se
denominan calles. Cada calle representa a la parte de la organización
responsable de las actividades que aparecen en esa calle. Gráficamente quedaría
como se muestra a continuación.
Ejemplo diagrama de
actividad
La empresa CAROLA, necesita
automatizarse como nuevo espacio comercial. Por ello ha decidido implementar
para el proceso de compra- venta de productos dicha automatización, donde cada
vez que un cliente acuda a la empresa, se registre con sus datos, para
generar ventas, con sus respectivas facturas de los productos solicitados. Así
mismo, llegan proveedores a la empresa, ellos, llevan su catálogo para la
promoción de sus productos, entonces se generará automáticamente el
correspondiente pedido a los proveedores.
El diagrama de actividades de la imagen
puede verse la secuencia de acciones que se realiza para un registro y
facturación de compra y venta.
Se comienza con
el nodo inicial el cual simboliza el inicio de la actividad y se representa con
un círculo relleno, Siguiendo con una transición (flecha) para empezar con la
primera actividad que nos mostrara una acción dentro de un rectángulo es cuál
será el seleccionar que tipo de registro se hará.
SI DESEAS APRENDER MÁS DEL TEMA ACA TE
DEJAMOS UN VIDEO: