nuevas herramientas para diagramar procesos

Upload: jlalmanza

Post on 23-Feb-2018

221 views

Category:

Documents


2 download

TRANSCRIPT

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    1/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 15

    NUEVAS HERRAMIENTAS PARA

    DIAGRAMAR PROCESOS

    (Lo que quera saber y no se

    animaba a preguntar)

    Autor:

    Barrera Ricardo

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    2/22

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    3/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 17

    NUEVAS HERRAMIENTAS PARA DIAGRAMAR PROCESOS

    (Lo que quera saber y no se animaba a preguntar)

    Por Ricardo BarreraProfesor Titular de Anlisis de Sistemas

    Facultad de Ciencias Econmicas de la Universidad Nacional de la Patagonia

    Palabras clave: Procesos. Modelizacin. UML 2.0. Patrones.

    Un matrimonio por conveniencia: Organizaciones y Procesos

    En las corrientes actuales de la teora de las organizaciones, se han ido dejando de ladodeterminadas formas de describir la dinmica de las actividades de los entes, tales como lasectorizacin o departamentalizacin, tratando de buscar las funcionalidades de los sectores,

    para centrarse en los procesos. Conceptos como el de cadena de valor de Porter y, en general,la bsqueda de mejoras continuas y los desafos de la competencia globalizada, han resaltado la

    utilizacin del concepto de proceso.

    En la ilustracin se presentan ambas formas. Observemos que el paradigma cliente-proveedor no se ajusta a la divisin en sectores, y es propio de la visualizacin de los procesos.

    Qu es un proceso? Un proceso define quin hace qu, cundo y cmo. Undiccionario lo define como un mtodo particular de hacer algo, generalmente en un nmero deetapas u operaciones.

    Tanto en el trabajo como en la vida personal, continuamente se realizan procesos. Desdepreparar el mate, ingresar datos en una computadora, hasta juntar informacin para un informe,

    se est participando de un proceso. Pueden ser tan simples como las sealadas, o mucho mscomplejas, como una investigacin gentica.

    En trminos empresariales, un proceso es una serie de tareas de valor agregado,vinculadas entre s, que transforman un insumo en un producto (bien o servicio). Cada tarea con

    valor agregado contribuye a producir un resultado del proceso. Las tareas sin valor agregadopueden ser un obstculo para el proceso. El insumo puede ser informacin, materiales y/o

    recursos necesarios para crear el producto.

    Gerente General

    Finanzas Personal Produccin Distribucin Servicios alcliente

    Clie

    nte

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    4/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 18

    Cuando se define un proceso, se identifica (o establece) qu se hace y cmo. El quin yel cundo, permite ubicar el proceso en un contexto, permite que asignemos responsabilidadesrespecto al proceso y que establezcamos las relaciones entre los procesos, identificando cundo

    se realiza cada uno y qu requiere de los dems, permite ver el proceso, sea como subsistema deun sistema mayor, el todo, la organizacin o el problema a resolver.

    Los procesos en general definen qu se necesita para hacer algo. Usualmente estn

    organizados en funcin del tiempo: por ejemplo, la actividad A precede a las actividades B y C,y B y C deben hacerse concurrentemente. El proceso de anlisis y diseo, por ejemplo, puedeser definido como un conjunto de exmenes, o puede definirse cmo hacer uno de esos

    exmenes. Cualquier conjunto completo de procesos contendr el listado de los resultadosesperados de cada proceso

    1.

    Recurdese, un proceso es una descripcin de las etapas requeridas para implementardeterminado objetivo.

    Cmo modelizar y no morir en el intento

    Para qu se necesita modelizar una organizacin? Un modelo de la organizacinayuda de dos maneras. Permite mejorar la comprensin del ente con modelos de las partes que

    lo componen, y contribuye al anlisis de las distintas maneras en que los procesos funcionan einteractan. Esto permite fundamentar la investigacin y construccin de ampliaciones,revisiones o rediseos de los procesos que requiera esa organizacin.

    La necesidad de describir, mediante modelos, procesos y estructuras, requiere de un

    lenguaje de modelizacin. Es evidente que ese lenguaje, para poder salir airoso, debe respondersimultneamente a estos requerimientos:

    El cliente quiere saber y entender lo que el consultor, analista, desarrollador ocomo se quiera llamar, va a hacer.

    El cliente quiere saber si se han captado claramente sus necesidades, y sus cambios de

    opinin a travs del tiempo.

    Si hay ms de un consultor, si se trabaja en equipo, cada uno de los miembros tiene

    que saber y entender claramente qu hacen o hicieron los dems, y viceversa. La complejidad de la organizacin debe quedar plasmada en diagramas concisos, no

    ambiguos, y a la vez expresivos.

    El lenguaje de modelizacin debera estar unificado y generalizado, como estndar detodo analista, desarrollador o consultor.

    El UML (Unified Modeling Language) es, en la actualidad, ese lenguaje. Desde 1997, ya lo largo de sus versiones evolutivas, no eliminatorias-, se ha convertido de hecho en laherramienta de modelizacin ms utilizada en el mundo, donde el 90% de las consultoras y

    desarrolladores de software lo han adaptado integralmente.

    En abril de 2004 se ha puesto a disposicin de la comunidad internacional la versin

    2.0, despus de un proceso de discusin y seleccin que demand dos aos, y en la que

    intervinieron ms de 800 organizaciones.

    Una de sus novedades ha sido la mejora en la formulacin de los diagramas decomportamiento, tornndolos ms expresivos y permitiendo que exhiban con claridad y

    sencillez los problemas de procesos concurrentes.

    1 Mohamed E. Fayad, Software Development Process: A Necessary Evil, Communications of ACM,

    septiembre 1997.

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    5/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 19

    Los diagramas del UML 2.0, en una apretada sntesis, se pueden clasificar en tresclases:

    Diagramas de comportamiento: Permiten exhibir comportamientos de un sistema o de losprocesos de las organizaciones. Incluyen los diagramas de actividad, estado, caso tpico y de

    interaccin.

    Diagramas de interaccin: Es un subconjunto de los diagramas de comportamiento quepermiten enfatizar las interacciones entre los objetos. Incluyen comunicacin, vista generalde interacciones, secuencia y diagrama de tiempo.

    Diagramas de estructura: Muestran los elementos de una especificacin que seanindependientes del tiempo. Incluyen clase, estructura de componentes, componente,

    despliegue, objeto y diagramas de paquetes.

    Diagrama Descripcin Prioridad

    Diagrama de Actividad Muestra los procesos de alto nivel de la organizacin. Incluye

    flujo de datos, o un modelo de la lgica compleja dentro del

    sistema.

    Alta

    Diagrama de clases Exhibe una coleccin de elementos del modelo esttico, tales

    como clases y tipos, sus contenidos y sus relaciones.

    Alta

    Diagrama de

    comunicaciones

    Ofrece las instancias de las clases, sus interrelaciones, y el

    flujo de mensajes entre ellas. Normalmente enfoca la

    organizacin estructural de los objetos que reciben y envan

    mensajes. Se lo llama tambin diagrama de colaboracin.

    Baja

    Diagrama de componentes Muestra los componentes de una aplicacin, sistema o

    empresa. Se ven los componentes, sus interrelaciones,

    interacciones y sus interfases pblicas.

    Media

    Diagrama integrado de

    estructura

    Muestra la estructura interna de una clasificacin (tales como

    una clase, componente o caso tpico), e incluye los puntos de

    interaccin de esta clasificacin con otras partes del sistema.

    Baja

    Diagrama de despliegue Exhibe la ejecucin de la arquitectura del sistema. Incluye

    nodos, ambientes operativos sea de hardware o software, as

    como las interfases (middleware) que las conectan.

    Media

    Diagrama general de

    interacciones

    Una variante del diagrama de actividad que permite mostrar el

    flujo de control dentro de un sistema o proceso organizacional.

    Cada nodo de actividad dentro del diagrama puede representar

    otro diagrama de interaccin

    Baja

    Diagrama de objetos Muestra los objetos y sus interrelaciones en un tiempo dado,

    habitualmente en los casos especiales de un diagrama de clase

    o de comunicaciones.

    Baja

    Diagrama de paquetes Exhibe cmo los elementos del modelo se organizan en

    paquetes, as como las dependencias entre esos paquetes.

    Baja

    Diagrama de secuencia Modela la secuencia lgica, a travs del tiempo, de los

    mensajes entre las instancias.

    Alta

    Diagrama de estado de la

    mquina

    Describe los estados que pueden tener un objeto o interaccin,

    as como las transiciones entre dichos estados. Se lo denomina

    tambin diagrama de estado, diagrama de estados y

    transiciones o diagrama de cambio de estados.

    Media

    Diagrama de tiempo Muestra el cambio en un estado o una condicin de una

    instancia o un rol a travs del tiempo. Se usa normalmente para

    exhibir el cambio en el estado de un objeto en el tiempo, en

    respuesta a eventos externos.

    Baja

    Diagrama de caso tpico Exhibe los casos habituales, actores y sus interrelaciones. Media

    Fuente: Scott W. Ambler. Introducci n a los Objetos, 3ra. edicin, 2003. (En ingls, traduccin del autor)

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    6/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 20

    Poniendo la lupa en el Diagrama de Actividad

    A primera vista, resulta similar al antiguo diagrama de flujo o de flujo de datos2del

    anlisis estructurado, pero est orientado a objetos3. Se utiliza para explorar la lgica de:

    Una operacin compleja.

    Una regla organizacional compleja.

    Un caso tpico en particular.

    Determinados casos tpicos.

    Un proceso de una organizacin.

    Un proceso de software.

    Comienza con un crculo lleno, ubicado en el extremo superior izquierdo. Se usa la

    misma notacin del diagrama de estado. Siempre finaliza en un punto, con un crculo lleno conun borde alrededor.

    A qu se refieren con eso de Patrones?

    La idea de agrupar en patrones4las constantes que aparecen una y otra vez en el diseo

    fue una idea original del arquitecto Christopher Alexander, y la definicin que brind al

    respecto parece que sigue siendo la mejor:Cada patrn describe un problema que ocurre una y otra vez en nuestro entorno, y en

    consecuencia describe la esencia de la solucin a ese problema, de manera tal que usted pueda

    usar esta solucin un milln de veces, evitando tener que hacer lo mismo dos veces 5

    2Gane, Chris y Sarson, Trish. Anlisis Estructurado de Sistemas. El Ateneo, 1987.

    3Una breve resea de su historia y diferencia con el anterior paradigma, as como los conceptos bsicos,

    se puede ver en Ricardo Barrera, Anlisis de Sistemas Orientados a Objetos, Anuario de la Facultad de

    Ciencias Econmicas, Universidad Nacional de la Patagonia, Trelew, 1992.4En rigor, debera expresarse como patrones de diseo, pero utilizamos slo el trmino patrn para

    agilizar el texto. Sepan los lectores disculparnos.

    Llenar

    formulario

    inscripcin

    Incorrecto

    Inscribir

    en

    Facultad

    correcto trivial

    Otro

    Obtener ayuda

    para llenar

    formulario

    Ayuda disponible

    Solo

    Inscripcin

    Hacer

    pago

    inicial

    Inscribir

    en

    os rado

    Inscribirse en la

    Facultad

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    7/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 21

    En palabras sencillas, un patrn es el par problema/solucin, con un nombre, que esaplicable a cualquier situacin similar.

    Por lo general, cada patrn presenta cuatro elementos esenciales:

    1. El nombre del patrnes lo que se usa para describir un problema de diseo. Ayuda a

    recordarlo, y representa el mayor nivel de abstraccin.2. El problema, que describe cundo se puede aplicar el patrn. Explica el problema y

    su contexto, y puede representar tanto algoritmos como objetos.

    3. La solucin, que describe los elementos que construyen el diseo, sus relaciones,responsabilidades y colaboraciones. La solucin no describe un diseo concreto,

    porque un patrn es como un esquema que puede usarse en muchas y muy diferentessituaciones.

    4.Las consecuencias , es decir los resultados esperables al utilizar el patrn. Esto es

    crtico, porque permite evaluar tanto las alternativas de diseo, como los costos ybeneficios de aplicar ese patrn.

    Un ejemplo: Patrones de flujos de procesos

    La investigacin de van der Aalst, Hofstede, Kiepuszewski y Barros ha permitidoidentificar 21 patrones que describen la conducta de los procesos de las organizaciones.

    En particular, consideraron que lo ms provechoso era describir los flujos6 de lasactividades desarrolladas durante la ejecucin de los procesos.

    Los patrones describen desde las ms simples a las ms complejas de las conductas quedeben describirse en la mayora de los procesos organizacionales.

    Los patrones ms sencillos son los cinco primeros, que describen las formas bsicas deestos procesos:

    1. Secuencial (Sequence)2. En paralelo (Parallel Split)

    3. Sincronizacin (Synchronization)4. Opcin excluyente (Exclusive Choice)5. Unin simple (Simple Merge)

    Luego ofrecen otros cinco patrones con formas ms complejas para ramificar o unir losflujos de los procesos:

    6. Opciones mltiples (Multiple Choice)7. Uniones mltiples (Multiple Merge)8. Discriminador (Discriminator)

    9. Unir N excluyendo a M (N out of M Join)10. Unin sincronizada (Synchronizing Merge)

    Los dos patrones que siguen, estructurales, cubren tanto las conductas como los ciclos yla independencia de procesos separados:

    11. Ciclos Arbitrarios (Arbitrary Cycles)

    5Christopher Alexander, Sara Ishikawa, Murria Silverstein, Max Jacobson, Ingrid Filksdahl-King y

    Shlomo Angel. A Pattern Language, Oxford University Press, 1977. Pgina 10. Traduccin del autor.6En el resto del texto usaremos indistintamente flujos o caminos, segn convenga a la expresividad de los

    diagramas.

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    8/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 22

    12. Final Implcito (Implicit Termination)

    Cuando se precisa incluir instancias7 mltiples, o copias de ciertas actividades, muchas

    de las situaciones que se presentan son ciclos bastante complejos, y para ello se ofrecen loscuatro patrones siguientes:

    13. IM (instancias mltiples) con diseo a priori del tiempo conocido (MI with a

    Priori Design Time Knowledge)14. IM con diseo a priori del tiempo utilizado (MI with a Priori Design Runtime

    Knowledge)

    15. IM sin conocimiento a priori (MI with No a Priori Knowledge)16. IM que requieren sincronizacin (IM requiring Synchronization)

    Los tres patrones de este grupo definen conductas que son afectadas por factoresexternos, que no pueden ser controlados internamente:

    17. Opcin Forzosa (Deferred Choice)18. Rutina en Paralelo no Coordinada (Interleaved Paralell Routing)

    19. Hito (Milestone)

    Los dos patrones finales exhiben cmo completar una actividad puede ser la causa de lacancelacin de una actividad o grupo de ellas:

    20. Cancelacin de Actividad (Cancel Activity)21. Cancelacin del Proceso (Cancel Case)

    Veamos en detalle cada uno de estos patrones, y cmo podemos modelizarlos con laayuda del UML.

    Haciendo los Diagramas de Patrones con UML8

    Debemos preparar al lector para lo que sigue. Se trata de la definicin de patrones, estoes, de elevar el nivel de abstraccin lo suficiente para poder abarcar todas las posibles

    combinaciones de flujos dentro de un proceso. Que slo sean 21 debera alegrarnos. Pero para ladescripcin de cada uno de ellos hay que utilizar el lenguaje formal y abstracto inherente a losmismos. No es una lectura simple, as que se requiere paciencia.

    1. Secuencial: Este patrn se describe como una serie ordenada de actividades, dondecada actividad comienza slo cuando la anterior est terminada. Se la ha denominado tambin

    Rutina en Serie,

    Usando el diagrama de actividad del UML, se representa este patrn como una serie deactividades conectadas por flujos de control. La direccin de las flechas determina el orden de la

    secuencia.

    7Instancia es el objeto en s. El concepto que nos permite clasificar a ese objeto se denomina clase. Por

    ejemplo, Autor es un concepto, o sea una clase. Cervantes es una instancia de la clase Autor.8Por tratarse de la formalizacin en un determinado lenguaje, redactamos sin sinnimos, ya que debemos

    atenernos a la nomenclatura del UML.

    BA C

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    9/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 23

    La conducta de este patrn se puede describir mediante el uso de una ficha9

    conceptual, que se traslada, de acuerdo a la secuencia del flujo, desde el objeto fuente al objeto

    destino. Para este patrn, cada vez que se termina una actividad, la ficha se desplaza desde esaactividad, a travs de la flecha, hacia la siguiente actividad, No hay ninguna condicin queobstruya el flujo de la ficha.

    2. En Paralelo: Se puede definir como un mecanismo que autoriza a efectuar actividades

    concurrentes, en vez de seriales. Un camino simple se puede bifurcar en dos o ms caminos(flujos), de manera tal que dos o ms actividades se realicen al mismo tiempo. Esta conducta sepuede tambin llamar Y-divisin.

    El diagrama de actividad del UML usa una barra gruesa como nodo de bifurcacin,creando un conjunto de caminos paralelos. Una ficha en la tarea anterior a la bifurcacin, alatravesarla se convierte en una ficha para cada actividad en paralelo.

    Las actividades destino pueden iniciarse al mismo tiempo, aunque ello no es

    obligatorio.

    3. Sincronizacin: Aqu se combinan las bifurcaciones creadas por el patrn anterior. Elconjunto de actividades en paralelo deben finalizar todas- antes de poder continuar el proceso.

    Es decir, hay que sincronizar los caminos paralelos. Su comportamiento puede designarsecomo Y-reunir.

    En el diagrama de actividad los smbolos utilizados son los mismos que en el patrn

    anterior. Observar que el cambio fundamental estriba en el orden de los mismos.

    9 Es la misma idea de las Redes de Petri. Esto permite visualizar todo el ciclo del proceso, y determinar

    rpidamente donde se presentan inconvenientes, tales como la falta de recursos, colisin de actividades,

    etctera. Para mayores detalles, entre otros: Richard Johnsonbaugh. Matemticas Discretas. Grupo

    Editorial Iberoamrica, 1988, pginas 312 a 322.

    B

    A

    C

    BA C

    BA C

    BA C

    1. Ficha en proceso A:

    2. Ficha en proceso B:

    3. Ficha en proceso C:

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    10/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 24

    4. Opcin excluyente: Se define como una localizacin en un proceso donde el flujo se

    bifurca en dos o ms alternativas excluyentes. Son excluyentes porque una, y solo una, de lasactividades alternativas se pueden realizar para que el proceso contine. El comportamiento sedefine aqu como O-divisin.

    El diagrama de actividad emplea un nodo de decisin para crear un conjunto de caminosalternativos. El control del flujo saliente del nodo de decisin puede ser una expresin booleana,

    que har la evaluacin para determinar cul de los flujos de control se utilizarn para continuarel proceso.

    Cuando una ficha llega al nodo, las expresiones sern evaluadas (en un ordenindeterminado), verificando para qu valor esa expresin es verdadera. As, el correspondienteflujo de control es elegido y la ficha se traslada por ese camino. Una sola ficha sale del nodo dedecisin, para cada ficha que arriba al nodo.

    5. Unin simple: Se define como una ubicacin en el proceso donde un conjunto de

    caminos alternativos se unen en uno solo. El comportamiento se define como O-unin.

    El diagrama de actividad usa un nodo en el que converge un conjunto de caminosalternativos. Aunque el smbolo es un nodo de decisin se usa indistintamente para este caso.

    Cuando una ficha llega al nodo, de inmediato contina a la siguiente actividad. Tcnicamente, elnodo no sera necesario, ya que no hay una decisin a tomar, pero la semntica del UML as lo

    requiere.

    B

    A

    C

    B

    A

    C

    (Condicin 1)

    (Condicin 2)

    B

    A

    C

    (Condicin 1)

    (Condicin 2)D

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    11/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 25

    6. Opciones mltiples: Este patrn difiere del Opcin excluyente en que las opcionesmltiples permiten que cualquiera de las alternativas, una o varias, puedan ejecutarse enparalelo. Tcnicamente, el patrn Opciones mltiples puede dar lugar a que no se elija ninguna

    opcin, pero esto debe ser considerada una accin invlida, ya que el proceso se detendra de

    manera inesperada.

    En el diagrama de actividad se utiliza un nodo de bifurcacin, donde el flujo de control

    en las salidas tiene condiciones que crean las opciones mltiples. Este nodo de bifurcacin creaun conjunto de caminos paralelos. Cuando una ficha arriba al nodo, sta se dividir en varias

    fichas, pero solamente para aquellos caminos donde la condicin del flujo de control se declaraverdadera. Tcnicamente, el nodo de bifurcacin no es necesario, pero el lenguaje deldiagrama perdera precisin.

    7. Uniones mltiples: Se define como un lugar en el proceso donde convergen varioscaminos, pero sin ningn control de los flujos. Cuando una ficha arriba a una actividad, lamisma se instancia

    10. De esta manera, si varios caminos convergen en una actividad sin ninguna

    ficha de control, es posible que esa actividad sea instanciada una vez por cada uno de los

    caminos que acceden a la misma. Adems, las fichas continuarn independientemente a travsdel resto del proceso (si es que hay ms actividades).

    As, el patrn de Uniones mltiples difiere del de Sincronizacin o Unin simple, enque para estos ltimos patrones la actividad destino slo puede ser instanciada una sola vez.

    Debido a esto, el patrn de Uniones mltiples puede ser algo confuso para un miembro de laorganizacin que quiera comprender la conducta de una seccin del proceso, porque est siendoimplcitamente duplicada, aunque se trata de una tcnica de modelizacin muy til para ciertassituaciones.

    El diagrama de actividad utiliza un nodo de unin donde convergen varios caminos. El

    rombo que figura en el siguiente dibujo tiene la misma apariencia que el nodo de decisin, y dehecho, puede ejecutar las dos funciones. Cuando una ficha llega al nodo sigue a travs delcamino de salida. El nodo de bifurcacin es solamente una manera grfica de representar la

    unin, y no frena ninguna ficha que pueda arribar al nodo. As, si la fuente original de los

    caminos es un nodo de bifurcacin (como en el diagrama), la actividad que sigue a continuacinva a ser instanciada varias veces. Tcnicamente hablando, no se necesitara un nodo, pero noresultara apropiado hacerlo en un diagrama de actividad, ya que no se respetara su mtodo de

    construccin.

    10Que una actividad se instancie significa que la actividad, que en el diagrama representa una clase,

    comienza a recibir o generar parmetros (porque est siendo ejecutada), lo que la convierte en un caso

    particular de esa clase, o sea una instancia.

    B

    A

    C

    (Condicin

    (Condicin 2)

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    12/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 26

    8. Discriminador: Este patrn representa otra manera de combinar los caminos quefueron generados por el patrn en Paralelo. Viene a ser el punto en que un conjunto de flujos en

    paralelo se vuelven a unir. Difiere del patrn de Sincronizacin en que el proceso va a continuaren tanto una ficha que arribe a ese punto, seguir adelante. Las restantes fichas que lleguen vana ser bloqueadas por el discriminador.

    El diagrama de actividad precisa de un conjunto de elementos para representar estepatrn, tales como se advierte en el dibujo siguiente. Un nodo de unin se utiliza para combinar

    los caminos paralelos. Ese nodo deber tener una condicin que controle las fichas que arriben,y verifique que cualquiera de las actividades paralelas anteriores se ha completado. Cuando

    llegue la primera ficha que cumpla esa condicin, la misma podr continuar el proceso.Cualquier otra ficha que aparezca despus, ser detenida.

    Como se observa, el diagrama de actividad no tiene un mecanismo predeterminado paraeste patrn. Sin embargo, el modelizador puede representar esta conducta mediante el uso de

    condiciones bien definidas, que controlen los flujos que arriben al nodo en cuestin.

    9. Unir N excluyendo a M: La conducta de este patrn tiende, de alguna manera, aparecerse a la de los patrones Sincronizacin y Discriminacin. Aqu, en vez que una o todas lasfichas que llegan puedan pasar el punto de unin, el patrn posibilita que el modelizador definacuntas de las fichas ingresantes son necesarias para continuar. Todas las fichas restantes, como

    en el Discriminador, son detenidas.

    El diagrama de actividad usa un nodo de unin para combinar un conjunto de caminosparalelos. Igual que en el Sincronizador, la barra de unin indica que las fichas que arribendeben someterse al control. La condicin que se agregue al nodo de unin determinar cuntasfichas se precisan para que una sola ficha contine adelante. Cualquier ficha posterior que

    llegue tarde va a ser bloqueada por el nodo.

    B

    A

    C

    D

    B

    A

    C

    D

    (Si B o C se complet)

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    13/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 27

    El diagrama de actividad puede usar tanto una barra como un rombo para el control deflujo.

    10. Unin sincronizada: Se trata de una variacin del patrn de Sincronizacin. Seintenta sincronizar las fichas de todos los caminos paralelos que confluyen en una actividad. Elproblema es que no puede saberse de antemano cuntas fichas van a llegar al mismo tiempo.Esta situacin fue creada por un patrn de Opciones mltiples. Entonces, el patrn de UninSincronizada debe poder determinar cuntas fichas sern generadas en los flujos anteriores.

    Luego deber sincronizar esas fichas, pero no esperar por otras.

    El diagrama de actividad utiliza un nodo de unin, con condicin. La condicin

    determinar cuntas fichas deben llegar al nodo para permitir que una ficha pueda continuar atravs del nodo.

    Tambin en este caso se puede usar una barra o un rombo para el control de los flujos.

    11. Ciclos Arbitrarios: Se trata de un mecanismo para posibilitar que determinadassecciones de un proceso se puedan repetir esto es, un ciclo. Este patrn incluye tanto ciclosestructurados como no estructurados. O sea que el segmento cclico del proceso permite ms de

    un punto de entrada o salida.

    Este patrn es importante para la visualizacin de situaciones cclicas vlidas, ycomplejas, en un solo diagrama, que adems es sencillo. Si se contara con una notacin que solopermita un ciclo estructurado en un bloque, no se podra mostrar todo el proceso en un nico

    diagrama o nivel del proceso, o se distribuira el comportamiento en una forma no intuitiva.

    B1

    A

    B3

    C

    (Condicin)

    B2

    B

    A

    C

    D

    (Condicin)(Condicin 1)

    (Condicin 2)

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    14/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 28

    Se puede crear el patrn de Ciclos Arbitrarios en el diagrama de actividad conectandocontroles de flujo de actividades anteriores.

    El diagrama usa un nodo en cada situacin en la que se presentan alternativas.

    Default: significa que no se cumple la condicin.

    12. Final Implcito: Permite que un flujo determinado de un proceso termine sin que sea

    preciso que las dems actividades tambin concluyan. Hay que sealar que la mayora de lasnotaciones alternativas frente al UML no permiten representar este tipo de comportamiento, yaque exigen un solo punto de finalizacin. En cambio el UML provee esta funcionalidad.

    El nodo de final de flujo (un crculo con una X interna) es un indicador que un

    determinado camino se complet, sin que haya terminado el resto del proceso. De all el nombrede f inal implcito. El nodo de final de actividad (un crculo que incluye otro crculo menor)marca que cesan todas las actividades del proceso, inclusive las que an no empezaron o estn

    en marcha.

    13. IM (instancias mltiples) con diseo a priori del tiempo conocido: Describe en qu

    forma una actividad puede ser instanciada un nmero determinado de veces, en paralelo. Esdecir, el modelizador conoce cuntas veces esa actividad debe ser ejecutada, y define ese

    nmero en el modelo del proceso.

    La definicin de este patrn no describe con exactitud qu pasa una vez que esas copiasde una actividad se hicieron. Si el proceso debe sincronizar todas esas copias y sus respectivas

    fichas-, antes de continuar, entonces las Instancias mltiples precisarn el patrn deSincronizacin. Si en cambio el proceso puede continuar separadamente para cada copia de la

    actividad permitiendo que todas las fichas continen independientemente-, entonces habr queusar una variacin del patrn IM sin conocimiento a priori.

    A

    B

    C F G

    E(a) (b)

    (c)

    (default)

    (default)

    (default)

    B

    A

    C D

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    15/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 29

    El diagrama de actividad utiliza una zona de expansin alrededor de una actividad, paracrear copias de esa actividad. Esto se indica con la entrada y salida de nodos de expansin (elconjunto de rectangulitos) en los bordes de la actividad.

    Hay que observar que sta es una manera muy compacta para exhibir una zona deexpansin con una sola actividad. El atributo de concurrencia se puede definir para crear en

    paralelo actividades copiadas que sean ejecutadas simultneamente. El nmero de elementos en

    la zona de entrada determinar cuntas copias de la zona van a ser ejecutadas. Ese nmeropuede ser definido estadsticamente, si el comportamiento del proceso as lo indica.

    Hay que advertir que los nodos de expansin que se usan en los diagramas de actividadpueden confundirse con otras configuraciones particulares de una actividad.

    14. IM con diseo a priori del tiempo utilizado: Este patrn es similar al IM con diseoa priori del tiempo conocido, excepto que el nmero de copias no se conoce hasta que el procesose haya ejecutado, y no puede excederse ms all en el tiempo. Adems este patrn permite que

    las copias se ejecuten sea secuencialmente o en paralelo. El dibujo se presenta para el caso decopias ejecutadas en una secuencia.

    El diagrama de secuencia usa una zona de expansin alrededor de una actividad paracrear las copias de esa actividad. Esto se indica con nodos de expansin en la entrada y en la

    salida de la actividad (los conjuntos de rectangulitos). El atributo de concurrencia ser iterativo,creando la ejecucin secuencial de las copias de la actividad.

    El nmero de elementos en la zona de entrada puede determinar dinmicamente cuntascopias debern ejecutarse antes que contine el proceso. Este comportamiento tambin sepuede definir usando un nodo de decisin despus de la actividad, y repitiendo el ciclo para

    cada copia de la actividad (en el dibujo, la actividad B).

    La notacin del UML provee mecanismos para armar las distintas variaciones de estepatrn.

    A

    Paralelo

    B

    B se repite unnmero especfico

    de veces

    A

    Iterativo

    B

    B se repite un

    nmero de vecesbasado en la

    evaluacin de una

    condicin

    E

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    16/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 30

    15. IM sin conocimiento a priori: Este patrn difiere de los dos anteriores en cuanto queel nmero de copias no puede ser determinado antes de crearlas. El nmero exacto se

    establecer durante la ejecucin de dichas copias.

    Esto implica que un ciclo estndar o un patrn de instancias mltiples no ser

    suficiente para fijar este comportamiento. Se necesita una forma ms compleja de ciclo, como se

    observa en la siguiente figura.

    Se requieren un patrn especfico de actividades y mecanismos de control de flujos. La

    actividad elegida (actividad B) debe ser apareada con otra actividad (actividad C) paradeterminar si se precisa otra copia de la actividad elegida. Estas dos actividades se colocan

    dentro de un ciclo. No se precisa completar la actividad elegida antes que se itere el ciclo. Noobstante, todas las copias de la actividad elegida (actividad B) deben ser completadas antes quela actividad final (actividad E) pueda iniciarse.

    Aqu se utiliza una combinacin de nodos de decisin, de unin y de bifurcacin conactividades, para armar el diagrama de actividad del patrn. Las actividades B y C se establecen

    en paralelo mediante un nodo de bifurcacin, pero un nodo de decisin sigue despus de laactividad C, para establecer si la se precisa otra copia de la actividad B. Luego el control de

    flujos los conectar mediante un nodo de unin. Este nodo de unin se coloca para asegurar lasincronizacin del nodo de bifurcacin (que tambin puede ser un nodo de unin).

    16. IM que requieren sincronizacin: Similar al patrn Instancias mltiples con diseo a

    priori del tiempo utilizado, salvo que en este caso se requiere que todas las copias de laactividad que hay que repetir, sean terminadas antes de seguir con el proceso. Esto quiere decirque dichas copias se ejecutarn en paralelo.

    Tambin ac el diagrama muestra una zona de expansin alrededor de una actividadpara indicar que se crearn las copias de esa actividad. Esto se indica mediante los nodos de

    expansin en la entrada y la salida de la actividad (el conjunto de rectangulitos).

    El atributo de concurrencia establecer que se ejecutarn en paralelo las copias de la

    actividad. El nmero de elementos en la zona de entrada podr determinar dinmicamente

    B

    A

    C

    D

    C determina si

    se necesitan

    ms copias de

    B

    (Se necesitan ms copias de B)

    (No se necesitan ms copias)

    (Se necesitan ms copias)

    (Se completaron las

    copias)

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    17/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 31

    cuntas copias de los contenidos de la zona debern ejecutarse antes que pueda continuar elproceso. El comportamiento definido de la zona de expansin siempre sincronizar todas lasactividades en dicha zona, antes que el proceso siga con otras actividades.

    17. Opcin Forzosa: Este patrn representa un tipo de decisin excluyente, parecida al

    patrn de Opcin Excluyente. Pero la manera en que se determina cul es el camino a seguir esdiferente. El patrn de Opcin Excluyente se basa en la evaluacin de los datos del proceso. Encambio, el patrn de Opcin Forzosa se basa en la ocurrencia de un evento durante el proceso.Una vez que el evento sucede ( por ejemplo la opcin se ejecut), los otros caminos alternativosquedan cancelados.

    Aqu se usa para modelizar una configuracin especial de nodo de bifurcacin, una zonade interrupcin

    11, y recibe seales de accin que establecen el comportamiento del patrn.

    En el lugar donde se pueda decidir la alternativa un nodo de bifurcacin establece unnmero de caminos igual a la cantidad de opciones. En consecuencia, se crean mltiples fichas.

    Estos flujos paralelos atraviesan la zona de interrupcin. Cada uno de esos flujos paralelospuede recibir una seal, dentro de la zona. Cuando llega la primer seal, un flujo interruptor

    permitir salir de la zona y continuar. Al mismo tiempo establecer la imposibilidad de recibiralguna otra seal. Una sola de las fichas atravesar la zona de interrupcin hacia su destino,mientras que las dems fichas sern consumidas por esa zona de interrupcin.

    La notacin del UML coloca el comportamiento en el contexto de un nodo debifurcacin, que genera varios caminos, que sern ignorados excepto el que reciba la seal

    correcta.

    El uso del nodo de bifurcacin y una zona de interrupcin tal vez no sea, intuitivamente,la mejor manera de exhibir la idea que una decisin se construye durante el proceso.

    Lamentablemente, el UML no tiene elementos especficos que puedan mejorar la expresividad.En su favor, digamos que otros mtodos de diagramacin no son superiores.

    11Tal vez convenga decir zona de perturbacin. Se trata de una zona donde las seales indican qu ha

    de suceder con cada uno de los flujos que ingresan en la misma.

    A

    Paralelo

    B

    B se repite un

    nmero de veces

    basado en la

    evaluacin de una

    condicin

    E

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    18/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 32

    18. Rutina en Paralelo no Coordinada: El uso de la expresin en paralelo, dentro del

    nombre del patrn, puede dar lugar a una pequea confusin, puesto que las actividades quecomprende este modelo pueden ser ejecutadas secuencialmente, aunque sin un orden especfico.

    Pero debe esperarse que, frecuentemente, la ejecucin en secuencia de esas actividades requieralos mismos recursos, sea en parte o totalmente. Durante su ejecucin se decidir el orden en quedeben efectuarse las actividades.

    Este tipo de proceso, en que las actividades pueden ser ejecutadas en cualquier orden,

    presenta algunas dificultades para su modelizacin. El diagrama de actividad no cuenta conelementos especficos para ello. En consecuencia, no hay una solucin grfica adecuada paraeste patrn.

    La forma ms simple para exhibir este comportamiento es colocar a esas actividadesentre un nodo de bifurcacin y un nodo de unin. Las actividades aparecen como si fuera

    posible ejecutarlas en paralelo, pero debe agregarse una restriccin para cada una de lasactividades, ya que ellas requieren los mismos recursos.

    Este mecanismo especificar que las actividades en paralelo no pueden ejecutarse almismo tiempo, pero no existe ninguna otra indicacin grfica que no sea colocar una anotacin

    al respecto.

    B

    A

    C

    Seal 1

    Seal 1

    B

    A

    D

    F

    C

    E

    Las actividades B y D son parte de la rutina en

    paralelo no coordinada. Estas dos actividades

    pueden restringirse de manera tal que ambas

    requieran el mismo recurso. Eso crear la

    secuencia deseada, pero no se muestra

    grficamente.

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    19/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 33

    Si el modelizador desea que el comportamiento sea ms explcito, sera posible crear unconjunto de caminos alternativos como en el diagrama de actividad del patrn opcin forzosa.

    Pero ello implicara crear duplicados de las actividades involucradas (en el diagrama, B y D).Apareceran entonces B y D . Si bien de esta manera se tendra una descripcin ms adecuadadel comportamiento, el diagrama resultante sera difcil de entender, y ms todava se si trata de

    mas de dos actividades implicadas en el patrn.

    Hay muchas otras maneras complicadas para crear rutinas en paralelo no coordinadascon UML. Por ejemplo usando el diagrama de estado. Pero la dificultad para entenderlos es

    cada vez mayor, especialmente para las personas de la organizacin que colaboren con elmodelizador.

    En resumen, conviene inclinarse por el diagrama armado tal como en el dibujo, aunqueresulte en una dificultad para explicar las diferencias entre este patrn de Rutina en Paralelo no

    Coordinada y el patrn En Paralelo.

    19. Hito: En determinados procesos puede ocurrir que sea importante saber cundoocurre un determinado evento, o una condicin se ha cumplido. Estos eventos o condiciones se

    referencian como hitos. El modelo del proceso debe poder identificar y reaccionar ante el hito.

    Hay varias maneras para presentar este patrn, dependiendo de la naturaleza acerca decmo el hito debe ser usado en el proceso. Analizaremos dos de los ejemplos provistos por losinvestigadores que desarrollaron este patrn12, que se diferencian de acuerdo a si se puede usar

    un flujo de secuencia o uno de control para la informacin respecto al hito.

    El primer ejemplo muestra cmo la informacin pasa desde una parte del proceso a otra,

    cuando un flujo de secuencia no puede ser utilizado. Esa informacin refleja la ocurrencia de unhito. En el ejemplo, que se complete una actividad B en un subproceso es una condicinrequerida para que otra actividad D en otro subproceso pueda ser iniciada.

    El segundo ejemplo se refiere a cmo la informacin pasa desde una parte del proceso a

    otra, cuando un flujo de control no puede ser utilizado. Tambin aqu se precisa que la actividadB se complete para que la actividad D pueda iniciarse. La transmisin de una seal (elcomponente a continuacin de B) despus de B se usa como gatillo de la correspondiente

    recepcin de la seal, que precede a la actividad D.

    Ambos ejemplos se representan de la misma forma. La condicin de secuencia o control

    es indiferente a la representacin. La explicacin que acompae al diagrama es la que define ladiferencia.

    12Puede verse en detalle en ww. Tm.tue.nl/research/patterns/milestone.htm.

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    20/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 34

    20. Cancelacin de Actividad: Este patrn muestra cmo es posible que haya dosactividades que compitan entre s. Cuando una de las actividades se completa, la otra debe dejarde ejecutarse. Por lo tanto, se necesita un mecanismo que indique la finalizacin de unaactividad, y otro mecanismo que interrumpa actividades, y que las dos seales estncomunicadas entre s.

    En el diagrama de actividad se presenta la situacin utilizando la zona de interrupcin,que puede comprender una o ms actividades. Si algo pasa, sea la terminacin de una actividad

    o la recepcin de una seal, esto causa que una ficha atraviese una zona de interrupcin(marcada con lnea punteada en el dibujo), y provoque que todas las actividades dentro de lazona se detengan, y slo contine la que est fuera de esa zona.

    En la figura, el gatillo para la excepcin es la recepcin de una seal. La seal se

    transmite inmediatamente despus que la actividad B se complete. El envo de la seal decancelacin activa a la seal de recepcin en la zona de interrupcin, y esas actividades sedetienen.

    A

    B

    B

    comple

    tado

    C

    B comple-

    tadoD

    E

    A

    B

    Cancelar

    C

    C

    Cancelar

    C

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    21/22

    ANUARIO 2003 F.C.E. U.N.P.S.J.B. 35

    21. Cancelacin del Proceso: Se trata de una extensin del patrn de Cancelacin deActividad. En este caso, todo el proceso se detiene.

    La solucin dentro del UML es, bsicamente, la misma que para el patrn anterior.Aqu la zona de interrupcin involucra un conjunto de actividades que configuran unsubproceso completo (una actividad compuesta por otras actividades). El dibujo exhibe cmo

    cancelar ese subproceso.

    Si el modelizador quisiera cancelar todo el proceso, la solucin sigue siendo simple.Todo lo que se necesita es colocar un nodo entre la actividad A y el proceso.

    Por fin, la Conclusin

    Se han exhibido los veintin patrones por medio de los diagramas de actividad delUML. Estos diagramas exhiben con claridad los patrones, con la salvedad que en el patrn 18,

    Rutina en Paralelo no Coordinada, la representacin tiene alguna deficiencia. Eso no obstanteque el metamodelo subyacente a este diagrama contiene la estructura apropiada para este patrn.

    A

    B

    D

    E

    Subproceso C

    Flujo sin

    control en

    paralelo

    A

    B

    Subproceso C

    D

    E

  • 7/24/2019 Nuevas Herramientas Para Diagramar Procesos

    22/22

    Se tiene conocimiento que el Object Management Group, responsable del UML, esthaciendo esfuerzos para mejorar la semntica y expresividad de estos diagramas, por lo que esprobable que en un futuro cercano los diagramas del UML eliminen la deficiencia apuntada.

    El uso de patrones para el diseo de los procesos de las organizaciones, representa unasimplificacin del trabajo profesional. Y ms an cuando se exponen mediante grficas muy

    sencillas, en las que cualquier persona puede ver con claridad cmo se comportan los procesos

    que le incumben.

    El lector puede imaginarse la dificultad con que tropezara en la confeccin de estos

    diagramas, si no contara con estos patrones de flujo. El nivel de abstraccin es elevado, por loque su aplicacin debera abarcar todas las modalidades posibles de caminos dentro de un

    proceso.

    Bibliografa

    Adems de la indicada en el texto, se han utilizado las siguientes fuentes:

    Craig Larman. UML y Patrones. Pearson, 1999.

    E. Gamma, R. Helm, R. Johnson, y J. Vlissides. Design Patterns: Elements of ReusableObject-Oriented Software. Addison-Wesley, 1995.

    Michael Porter. Ventaja Competitiva. CECSA, 1987.

    Ricardo Barrera. El Proceso de Desarrollo de un Sistema. Nota de Ctedra, 2002.

    Richard Y. Chang. Mejora Continua de Procesos. Ediciones Granica, 1994.

    Stephen A. White. Process Modeling Notations and Workfows Patterns. BPT Trends, marzo2004.

    Wil van der Aalst, Arthur ter Hofstede, Bartek Kiepuszewski, y Alistair Barros. WorkflowsPatterns. Working Papers Series, 2002. En http://tmitwww.tm.tue.nl/research/patterns