Páginas

miércoles, febrero 23, 2005

USO DE LOS DIAGRAMAS DE ACTIVIDADES PARA EL MODELADO DEL NEGOCIO

Por regla general cuando nos encargan diseñar un sistema de información estamos adaptando unos flujos de trabajo y comportamientos a un sistema informático.
Poder representar correctamente estos flujos y entenderlos nos será de gran ayuda a la hora de diseñar nuestro sistema. Dentro de UML disponemos del diagrama de actividades, este diagrama nos servirá para definir los procesos de negocio, que ha de contemplar nuestro sistema de información.
Los diagramas de actividades forman parte del modelado del negocio. Al realizar el diagrama de actividades podemos ver de una forma clara todas actividades y su flujo lógico , incluyendo los procesos que se ejecutan en paralelo, (Y no solamente el flujo secuencial ), flujo de actividades y no de datos, esta es una de las diferencias principales entre el diagrama de actividades y otro tipo de diagramas de flujo, y es así como debemos de pensar cuando diseñamos un diagrama de actividades.
Este tipo de diagrama no es solamente utilizado en la ingeniería del software, sino en otras áreas donde se ha de definir procesos de trabajo, ya que con ellos podemos representar la secuencia lógica de un proceso de negocio, desglosando este en diferentes actividades, esta es una de las grandes virtudes de este tipo de diagrama.
Los diagramas de actividades aparecieron en la notación UML 1.3, y es uno de los utilizados para el modelado de los aspectos dinámicos del sistema. Y estos están basados en los diagramas de eventos de Jim Odell y otras técnicas de modelado como SDL y redes de Petri.

Todo diagrama de actividades esta compuesto por una serie de actividades que representan un estado dentro del flujo. Este estado ha de generar alguna información. Y es representado por la siguiente figura:




Una actividad puede descompensarse aún más descomponiendo las sus actividades en otro grupo de ellas.
Evidentemente todo flujo que representa una actividad puede verse interrumpida.



El diagrama de actividades nos permite identificar comportamientos lógicos del flujo de actividades, con este flujo podremos obtener una representación clara del comportamiento del negocio ante unas condiciones lógicas. Para ello utilizaremos el símbolo del rombo.

Las actividades se comunican entre ellas utilizando las transiciones, para representar una transición utilizaremos una flecha (Conector).
El sentido del flujo que estamos representando viene dada por el sentido de la flecha (Conector).



Con las barras de sincronización representamos flujos paralelos, pero UML incorpora un elemento muy interesante para representar flujos paralelos cuando estos son ejecutados por roles diferentes. A este elemento sele denomina SWINLINES. Un swinline representa una responsabilidad dentro del flujo del negocio (Responsabilidad a alto nivel), cada swinline ha de tener un nombre único dentro del diagrama y una actividad solo puede pertenecer a una Swinlines.


Con el Swinlines podremos representar no solo que hace el proceso de negocio sino también quien lo hace.


La posibilidad de poder representar responsabilidades y procesos paralelos hacen de los diagramas de actividades un valor añadido sobre los diagramas de flujo, ya que estos únicamente pueden representar los procesos secuenciales.
El diagrama de actividades lo utilizaremos en la fase de análisis , pero también lo podemos utilizar en la fase de desarrollo, en esta fase lo utilizaremos como herramienta para representar el comportamiento de los objetos, para ello es recomendable que estos aparezcan representando su valor inicial así como los resultados tras la actividad.
Pero no todos los flujos los podemos representar utilizando el diagrama de actividades. Existen sistemas no triviales los cuales no podemos reflejar su comportamiento en un diagrama de actividades.


Como hemos podido observar con el diagrama de actividades podremos disponer de una visión más clara sobre cual será el proceso de negocio que debemos de desarrollar gracias a su gran riqueza expresiva, despejando de esta forma los posibles circuitos concurrentes o externos a nuestro sistema.
Estos diagramas también son utilizados para modelar el flujo de un caso de uso.