Diagrama de Actividad - UML y Patrones 3ra Ed en

Anuncio
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
Capítulo 28. Diagramas de actividad y modelado en UML
Aplicando UML y Patrones: Una Introducción a Análisis y Diseño Orientado a
Objetos y el Desarrollo Iterativo, Tercera Edición
Por Craig Larman
Objetivos

Introducir a la notación UML del diagrama de actividad, con ejemplos, y
diversas aplicaciones de modelado.
Introducción
Un diagrama de actividad UML muestra actividades secuenciales y paralelas en un proceso.
Estos son útiles para modelar procesos de negocio, workflows, flujos de datos, y algoritmos
complejos.
28.1. Ejemplo
La notación básica UML del diagrama de actividad se muestra en la Figura 28.1, ilustrando
una acción (action), partición (partition) , bifurcación (fork), unión (join), y nodos de objetos
(object node).
En esencia, este diagrama muestra una secuencia de acciones, alguna de las cuales pueden
estar en paralelo. La mayor parte de la notación es autoexplicativa; dos puntos sutiles a tener
en cuenta:

Una vez que una acción finaliza, hay automáticamente una transición.

El diagrama puede mostrar tanto flujos de control como flujos de datos.
1/7
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
Figura 28.1. Notación básica UML del Diagrama de actividad.
28.2. Cómo aplicar diagramas de actividad?
Un diagrama de actividad UML ofrece abundante notación para mostrar una secuencia de
actividades, incluyendo actividades en paralelo. Puede ser aplicado con cualquier
perspectiva o propósito, pero es mas frecuente para visualizar procesos y workflow de
negocios, y casos de uso.
Modelado del proceso de negocio
Uno de mis clientes está en el negocio de envío urgente de encomiendas vía marítima. El
proceso de enviar una encomienda por vía marítima no es nada trivial; hay muchas partes
involucradas (clientes, operarios, …) y muchas etapas. Aunque este proceso puede ser
capturado en texto (en un texto de caso de uso), en este caso los diagramas de actividad son
un gran ejemplo de que una imagen vale mas que mil palabras. Mi cliente usa diagramas de
actividad para entender sus complicados procesos de negocios actuales visualizándolos. Las
2/7
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
particiones son útiles para ver las múltiples partes y acciones paralelas involucradas en el
proceso de envío, y los nodos de objetos. Luego de modelar sus procesos actuales ellos
exploran visualmente cambios y optimizaciones. Ver Figura 28.1 para un ejemplo simple de
aplicación de diagramas de actividad para el modelado de procesos de negocio. Para mostrar
el modelo de proceso para mi cliente llenaríamos una pared entera.
Modelando Flujos de Datos
A comienzo en los 70s, los diagramas de flujos de datos (DFD) se volvieron la forma mas
frecuente para visualizar la mayoría de las etapas y datos involucrados en los procesos de
sistemas de software. Esto no es lo mismo que modelar un proceso de negocios; mas bien,
los DFD eran usualmente usados para mostrar flujos de datos en un sistema de
computadora, aunque en teoría podrían ser usados en el modelado de procesos de negocio.
Los DFD eran útiles para documentar la mayoría de los flujos de datos o para explorar un
nuevo diseño de alto nivel en términos de flujos de datos. Ver Figura 28.2 para un ejemplo
de DFD en la notación clásica de Gane-Sarson. Observe que los pasos del proceso están
numerados, para indicar un orden.
Figura 28.2. DFD clásico con la notación de Gane-Sarson.
La información modelada en un DFD es útil para documentar, pero el UML no incluye la
notación de los DFD. Afortunadamente, los diagramas de actividad UML pueden satisfacer
las mismas metas y pueden ser usados para modelar flujos de datos, remplazando la
anotación tradicional de los DFD. La Figura 28.3 ilustra la misma información que el DFD
de la Figura 28.2, pero usando un diagrama de actividad UML. Nótese que agregando
<<datastore>> a los nodos de objetos son usados para mostrar almacenes de datos.
3/7
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
Figura 28.3. Aplicando notación diagramas de actividad para mostrar un modelo de flujos de datos
Modelado de programación concurrente y algoritmos en paralelo
Aunque los detalles van mas allá de esta introducción, los algoritmos paralelos en problemas
de programación concurrente involucran múltiples particiones, y comportamiento de
bifurcaciones y uniones. Por ejemplo, tales algoritmos son usados en simulaciones 3D con
modelado de elementos finitos, y son aplicados para modelar sistemas de reservas de
petróleos, análisis de resistencia de materiales y modelado del tiempo. El espacio físico
global es subdividido dentro de dos grandes bloques, y ejecuta muchos hilos (o procesos)
paralelos, uno por cada sub-bloque. En estos casos los las particiones de los diagramas de
actividad pueden ser usados para representar diferentes hilos o procesos del sistema
operativo. Los nodos de objetos pueden ser usados para modelar los objetos y los datos
compartidos. Y por supuesto, la bifurcación puede ser utilizada para modelar la creación y
ejecución paralela de multiples hilos o procesos, uno por partición.
28.3. Mas notación UML para un Diagrama de Actividad
¿Cómo mostrar que un diagrama de actividad se expande en otro diagrama de actividad? La
Figura 28.4 y Figura 28.5 ilustra el uso del símbolo rastrillo (rake).
4/7
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
Figure 28.4. Una actividad será expandida en otro diagrama.
Figure 28.5. La expansión de una actividad.
¿Cómo mostrar una bifurcación condicional (conditional branches) ? Ver el símbolo de
decisión usado en la Figura 28.5. El símbolo fusión (merge) relacionado muestra como los
flujos pueden juntarse.
Las señales son mostradas en la Figura 28.6. Son útiles, por ejemplo, cuando se necesita
modelar eventos temporales que disparan una acción (30 días desde el envío de la última
factura y no recibido el pago), o cancelan una solicitud.
5/7
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
Figure 28.6. Señales.
Hay más notación disponible para diagramas de actividad UML. Esta corta introducción
meramente destaca alguno de los elementos mas usados.
28.4. Pautas
Unas pocas pautas se han originado en el modelado de actividades; éstas incluyen:

Esta técnica provee mayor valor para los procesos mas complicados, usualmente
involucra muchas partes. Los textos de los casos de usos son suficientes para
procesos simples.

Modelando un proceso de negocios, Se tiene la ventaja del símbolo rastrillo y los
sub-diagramas de actividad. En la primera visión general, diagrama de "Nivel 0", se
mantienen todas las acciones a un muy alto nivel de abstracción, así el diagrama es
corto y rico. Expandir los detalles en sub-diagramas al nivel "nivel 1", y tal vez
dependiendo del caso al nivel "nivel 2", así sucesivamente.

Hay que esforzarse en hacer el adecuado nivel de abstracción
28.5. Ejemplo: Diagrama de Actividad NextGen
El modelo parcial en la Figura 28.7 ilustra la aplicación de UML al caso de uso procesar
venta. Tengo que mostrar este ejemplo del caso de estudio por completo, pero en realidad no
me molestaría en crearlo como texto de caso de uso dado que la simplicidad del proceso
hace que el diagrama de actividad tenga menor valor.
6/7
Diagrama de Actividad - UML y Patrones 3ra Ed en español
Diseño de Sistemas
Autor: Milton Buzey - Enrique Porta
Versión: 1.01 [16/07/05]
Cátedra de Diseño de Sistemas
Figure 28.7. Modelando el caso de uso procesar venta con un diagrama de actividad.
28.6. Proceso: Diagrama de actividad en el UP
Unas de las disciplinas en el UP es el modelado de Negocio; su propósito es entender y
comunicar "la estructura y la dinámica de la organización en la cual un sistema está siendo
desarrollado". Un artefacto clave de la disciplina de Modelado de Negocio es el Modelo de
Objetos del Negocio (un súper conjunto del Modelo de Dominio del UP), el cual
esencialmente visualiza el negocio, utilizando diagramas UML (de clases, de secuencia, y de
actividad). Hasta aquí, los diagramas de actividad son especialmente aplicables dentro de la
disciplina de Modelado de Negocio del UP.
28.7. Antecedentes
Una plétora de modelado de procesos y lenguajes de diagramación de flujo de datos ha
estado rondando desde siempre. Cada año, los diagramas de actividad UML se vuelven más
populares transformándose en un estándar, aunque siempre con variaciones importantes. La
semántica de los diagramas de actividad se basa en redes de Petri.
7/7
Descargar