UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

16
Revista EIA, ISSN 1794-1237 Número 10, p. 105-120. Diciembre 2008 Escuela de Ingeniería de Antioquia, Medellín (Colombia) * Ph. D (c) en Ingeniería de Sistemas, Universidad Nacional de Colombia. Docente del Área de Ingeniería de Software y Bases de Datos, Escuela de Ingeniería de Antioquia. [email protected] ** Ingeniero Informático, Escuela de Ingeniería de Antioquia. Analista de Negocio, Electronic Data Systems Corpora- tion (EDS). [email protected]. *** Ingeniero Informático, Escuela de Ingeniería de Antioquia. Analista de Investigación y Desarrollo, Choucair Testing S. A. [email protected] Artículo recibido 13-X-2008. Aprobado 29-XII-2008 Discusión abierta hasta junio de 2009 UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ACTIVIDADES UML Y SISTEMAS WORKFLOW MARTA SILVIA TABARES* JUAN DIEGO PINEDA** ANDRÉS FELIPE BARRERA*** RESUMEN Actualmente en los ambientes de desarrollo de software hay un gran interés en buscar y desarrollar técnicas que puedan integrar los sistemas transaccionales con los flujos de trabajo que soportan los procesos del negocio de las organizaciones. Sin embargo, en la industria del software no es común encontrar técnicas o prácticas que faciliten el desarrollo de los modelos del sistema en función de los procesos del negocio. En este artículo se define un patrón de desarrollo que estandariza la interacción entre diagramas de actividades de UML 2.0, que representan las operaciones de un sistema, y procesos del negocio automatizados bajo tecnologías workflow. La trazabilidad de dicha interacción se mantiene por medio de modelos de trazabilidad que controlan la evolución de las operaciones del negocio y del sistema. Para mostrar la aplicación del patrón se desarrolla un caso de estudio. PALABRAS CLAVE: modelado de procesos del negocio; flujo de trabajo; transformación de modelos; trazabilidad; diagrama de actividades; proceso de desarrollo de software; UML 2.0. AN INTERACTION PATTERN BETWEEN UML ACTIVITY DIAGRAMS AND WORKFLOW SYSTEMS ABSTRACT In software development environments there is a big interest to look and develop techniques that could integrate transactional systems with Workflow systems in order to support the business processes in organizations.

Transcript of UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

Page 1: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

Revista EIA, ISSN 1794-1237 Número 10, p. 105-120. Diciembre 2008Escuela de Ingeniería de Antioquia, Medellín (Colombia)

* Ph.D(c)enIngenieríadeSistemas,UniversidadNacionaldeColombia.DocentedelÁreadeIngenieríadeSoftwareyBasesdeDatos,EscueladeIngenierí[email protected]

** IngenieroInformático,EscueladeIngenieríadeAntioquia.AnalistadeNegocio,ElectronicDataSystemsCorpora-tion(EDS)[email protected].

***IngenieroInformático,EscueladeIngenieríadeAntioquia.AnalistadeInvestigaciónyDesarrollo,[email protected]

Artículorecibido13-X-2008.Aprobado29-XII-2008Discusiónabiertahastajuniode2009

UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ACTIVIDADES UML Y SISTEMAS WORKFLOW

Marta Silvia tabareS*Juan Diego PineDa**

anDréS FeliPe barrera***

RESUMEN

Actualmenteenlosambientesdedesarrollodesoftwarehayungraninterésenbuscarydesarrollartécnicasquepuedanintegrarlossistemastransaccionalesconlosflujosdetrabajoquesoportanlosprocesosdelnegociodelasorganizaciones.Sinembargo,enlaindustriadelsoftwarenoescomúnencontrartécnicasoprácticasquefaciliteneldesarrollodelosmodelosdelsistemaenfuncióndelosprocesosdelnegocio.EnesteartículosedefineunpatróndedesarrolloqueestandarizalainteracciónentrediagramasdeactividadesdeUML2.0,querepresentanlasoperacionesdeunsistema,yprocesosdelnegocioautomatizadosbajotecnologíasworkflow.Latrazabilidaddedichainteracciónsemantienepormediodemodelosdetrazabilidadquecontrolanlaevolucióndelasoperacionesdelnegocioydelsistema.Paramostrarlaaplicacióndelpatrónsedesarrollauncasodeestudio.

PALABRAS CLAVE: modelado de procesos del negocio; flujo de trabajo; transformación de modelos;trazabilidad;diagramadeactividades;procesodedesarrollodesoftware;UML2.0.

AN INTERACTION PATTERN BETWEEN UML ACTIVITY DIAGRAMS AND WORKFLOW SYSTEMS

ABSTRACT

InsoftwaredevelopmentenvironmentsthereisabiginteresttolookanddeveloptechniquesthatcouldintegratetransactionalsystemswithWorkflowsystemsinordertosupportthebusinessprocessesinorganizations.

Page 2: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

106 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

Nevertheless,inthesoftwareindustryitisnotcommontofindtechniquesorpracticesthatfacilitatethedevelop-mentofsystemmodelsaccordingtothebusinessprocesses.InthisarticlewedefineadevelopmentpatterntostandardizetheinteractionbetweenUML2.0activitydiagrams,whichrepresenttheoperationsofasystem,andthebusinessprocessesautomatedbymeansofWorkflowtechnologies.Thetraceabilityoftheabovementionedinteractionissupportedbymeansoftraceabilitymodelsthatcontroltheevolutionofbothoperationsofthebusi-nessandofthesystem.Toshowtheapplicationofthepatternacasestudyisdeveloped.

KEYWORDS:businessprocessmodeling;workflowsystems;modeltransformation;traceability;activitydiagram;softwaredevelopmentprocess;UML2.0.

1. INTRODUCCIÓN

Las empresas de desarrollo de softwarebuscanconstantementetécnicasytecnologíasquepuedanadoptarconfacilidadyqueagilicensupro-cesoenlaproduccióndeartefactosdesoftware.Enlaactualidadexisteungraninterésendesarrollarousartécnicasquepuedanintegrarlosprocesosdelnegocioconelprocesodedesarrollo,susmodelosde desarrollo y los productos de software que seconstruyen.

En los últimos tiempos, herramientas talescomoBPM (Business Process Modeling),SOA(Serv-ice Oriented Architecture)yworkflowestántomandomayorfuerza,tantoenlasorganizacionescomoenlaindustriadelsoftware.Estohallevadoaquelasorganizacionespienseneneldesarrolloylaadqui-sición de aplicaciones de software adoptando elconceptodearquitecturasempresariales.Estasar-quitecturasconducenaldesarrollodelosprocesosdel negocio desde su concepción organizacionalhastasuaplicaciónensoluciones,talescomoSOAoflujosdetrabajo(workflows)soportadosporsis-temastransaccionales.

Para lograrestatransición, losprocesosdelnegociosepuedenmodelarpormediodediagramasdeactividadesUMLyautomatizarpormediodelastecnologíasasociadasalaadministracióndeflujosdetrabajo.Mientras losdiagramasdeactividadesproveenloselementosdemodeloqueidentificanlas accionesque se realizandurante la ejecucióndeunprocesooactividad [1], losworkflowspro-

veenlarepresentacióndeunprocesodelnegociofacilitando la comunicación y colaboración entrelosintegrantesdelgrupodetrabajoocoordinandola secuencia de sus actividades, dependiendo delasreglasdenegocioquedefinanelprocesodelaorganización[2].

Aunqueestatecnologíasevieneadoptandodiscretamenteenalgunasempresasdeservicio,paralas empresas de desarrollo de software no es tanevidentehacerlapartedelosdesarrollosdeaplica-cionestransaccionales,talescomoERP(Enterprise Resource Planning), financieras, recurso humano,entreotras.

Desarrollarsoftwaretransaccionalintegradoalosflujosdetrabajodelosprocesosdelnegocioesunaestrategiacompetitivaquepuedetraerbenefi-ciosparalasempresasdedesarrolloysusclientes.Porestarazón,enesteartículosedefineunpatrónde interacción entre diagramas de actividades deUML 2.0 [1], que representan las operaciones deunsistema,y losprocesosdelnegociomodeladosy automatizados bajo tecnologías workflow [3, 4].Elcontroldesuevoluciónserealizapormediodemodelosdetrazabilidadquefacilitanelrefinamientoolacorrelaciónconotroselementosendiferentesnivelesdeabstracción.Paramostrarlaaplicacióndelpatrónsedesarrollauncasodeestudio.

Esteartículoestáorganizadodelasiguienteforma.Lasección2presentadefinicionesdetérmi-nosusadoseneldesarrollodelenfoque.Lasección3defineelpatróndeinteracción.Lasección4presenta

Page 3: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

107Escuela de Ingeniería de Antioquia

elmodelodetrazabilidadquesoportalaevolucióndelainteracción.Lasección5exponeuncasodeestudio que demuestra la aplicación del enfoquepropuesto.Lasección6presentaalgunostrabajosrelacionados.Finalmente,lasección7contienelasconclusionesytrabajofuturo.

2. CONCEPTOS BÁSICOS

2.1 Procesos del negocio

Los procesos del negocio determinan laforma como un conjunto de actividades puedenlograrlosobjetivosespecíficosdeunaorganizacióndescribiendosuformadeoperar,tomardecisionesy establecer el flujo de la información necesarioentre los participantes del proceso. Cada procesoesmotivadoporunevento internooexternoa laorganización;seprocesalainformacióndeentrada,semanipulan losobjetosnecesarios, se toman lasdecisionesrequeridasysegeneranlainformaciónyloseventosdesalida.Losprocesosestánrestringidosporunconjuntodereglasdenegocio,quedetermi-nan laspolíticas y la estructurade la informacióndelnegocio[2].

Unprocesopuedeestarcompuestodesubpro-cesosoactividades,reglasdelnegocioydeflujosdecontrol(figura1).

Losprocesosdelnegociosonlabasedeto-dobuendesarrollodesoftwareynormalmenteseidentificanenlaprimerafasedelproceso.Facilitanlaabstraccióndelproblemaparaconstruirlasolucióninformática, y suanálisisestáorientadoa la iden-tificación de los objetivos generales, los requisitosdel software, la selección del tipo de sistema deinformaciónylaarquitecturasobrelacualsedebeconstruirelsistema.

2.2 Tipos de sistemas de información

Algunosdelostiposdesistemasdeinforma-ciónmásrepresentativosson:

• Transaccionales.Sonsistemasqueautomatizanlastareasylosprocesosoperativosdelnegocio,por medio de interfaces de usuario-máquina,funciones de control y operaciones sobre lasbasesdedatos.

• Apoyo a la toma de decisiones.Sonsistemasdealmacenamientoy consultasespecializadasdeinformaciónparasoportar la tomadedecisio-nesenlosmandosmediosyenlaaltagerenciadelasorganizaciones.

• Flujos de trabajo (workflows).Automatizanelflujodelainformaciónquesoportaelprocesoadmi-nistrativodelnegocio,pormedioderoles,men-sajes,actividadesynotificaciones,entreotros.

Figura 1. Un esquema de representación de los procesos del negocio, subprocesos y actividades

Proceso 1 Proceso 2 Proceso n

SubProceso 1 SubProceso 2

Actividad 1 Actividad 2 Actividad 3 Actividad n

SubProceso n

Page 4: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

108 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

Laseleccióndeltipodesistemadeinforma-ciónporlogeneralesexcluyente,esdecir,laaplica-ciónesdeltipotransaccionalounadelasotrasdos.Sin embargo, un sistema transaccional puede serpartedelaautomatizacióndeunflujodeunprocesodenegocioysuimplementaciónsercomplementa-riaduranteelmismoprocesodedesarrollo(porlogeneralsonindependientes).

Normalmente,enelanálisisdeunaaplicacióntransaccionalse identificanlasoperacionesoacti-vidadesdelnegocio,p.ej.“registrarlaideadeunnegocio”(referentealcasodeestudiodelasección5,véaselafigura9)y,asuvez,estaoperaciónpuedegenerartantoinformaciónparalaadministracióndelprocesodelcualformapartecomoactividadesden-trodelflujov.gr.“notificarregistro”.Estosrequisitossonpartedelmismoprocesodelnegocio,pero ladiferenciaestáensuimplementación.

2.3 Flujos de trabajo (workflows)

Unworkflow(WF)esunsistemaparagestio-narlosprocesosdelnegocioconlaintegraciónde

subprocesosyactividadesquefacilitansuoperación,asícomolaautomatizaciónycolaboraciónbasadaen procesos. Permite el modelado, la automatiza-ciónylamejoracontinuadelprocesodelnegocio,encaminandoinformacióndecualquiertipo,segúnelusuariohayadefinidolasreglasdelnegocio.Laintegraciónconsistemastransaccionalesodeotrotipodebeserrealizadamanualoautomáticamente,dependiendodelasherramientasoaplicacionesquepuedacomponer.Enotraspalabras,describelarutacontroladadelainformación,yaqueestádiseñadoparaconseguir losobjetivosdeprocesamientodealgunaclase,comotransformaciónfísica,provisióndeserviciooprocesodeinformación.Stohret al.enlafigura2presentanunmapaconceptualdecómoun proceso del negocio puede ser automatizadodesdesudefiniciónysuusoenunsistema(motor)administradordeworkflow[4].

Tecnologías tales como Oracle Workflow[5],MicrosoftWorkflow[6]ySkelta[7],entreotras,soportaneldiseñoylaconstruccióndelosflujosdetrabajodelosprocesosdelnegocio.Unworkflowestácompuestoporlossiguienteselementos:

Figura 2. Un proceso de negocio desde dos puntos de vista, su definición y los sistemas de workflow (adaptación de [4])

Es definido por un

Actividades

Sub-Procesos

Manuales(las que no forman parte del sistema de workflows)

Automatizadas

or

Sistema Administrador de Workflows(controla aspectos automatizados

del proceso del negocio)

Es manejado por un

Instancias de Procesos(una representación de qué está

sucediendo actualmente)

via

Instancias de Actividades(una representación de qué está

sucediendo actualmente)

Incluye una o más

Usada para creary administrar

Durante la ejecución son representadas por

Ítems de Trabajo(tareas propias de un

Workflow)

Ítems de Trabajo(herramientas/aplicaciones de software

usadas para soportar una actividad)

Page 5: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

109Escuela de Ingeniería de Antioquia

• Ítem. Es una clasificación de un componentequehacepartedeunproceso.Enotrostérmi-nos, es todo objeto/documento que requieratramitarsepormediodelworkflow.

• Atributos. Son las propiedades que describencadaítemidentificadoenelworkflow.Porejem-plo,siunítemes“Registrar Idea de Negocio”,en-toncesalgunosatributosdeeseítempuedenserladescripcióndelaideayelsectordenegocio.

• Proceso.Estácompuestodeactividades(íconos)ytransiciones(líneasdeconexiónoflechas).

• Actividad.Esunaunidaddetrabajoquecontri-buyea laejecucióndeunproceso.Puedeseruna notificación, una función, un evento, unprocesoosubproceso.

• Notificación.Esel resultadodecadaactividaddentrodelflujodetrabajo,esdecir,eslaformadeanunciarloscambiosdeestadodelosobje-tosdel sistemaque interesana losactoresdelproyecto.Así,enlafigura3hayvariasnotifica-ciones,entreellas:“Aprueba idea de negocio”.

• Función. Actividad usada para ejecutar pasostotalmente automatizados en el proceso. Lospasos automatizados de ordinario los realizaunaaplicacióntransaccional.

• Evento.Representaunacontecimientodelne-gociodentrodeunproceso.Uneventopuederecibir,atenderoenviarunacontecimientodelnegocio.

Lasactividadesdefunciónydeeventotienenuncostoasociado.Elcostoesunvalorquere-presentaeltiempo(númerodesegundos)quela actividad tarda en recibir una función, uneventoounanotificaciónparadarlecontinui-dadalflujo.Eltiempoescalculadoporelmotordelworkflow.

• Mensajes. Serefiereaunaactividaddenotifica-ciónasociadaaunítemquepuedeenviaraunusuarioorol.

En la figura 3 se ilustra un ejemplo de unworkflowconstruidoconlatecnologíaOracleWork-flowpara soportarelprocesodeTramitar Idea de Negocio(vercasodeestudioenlasección5).

2.4 Diagramas de actividades

Losdiagramasdeactividades(DA)sonpartede los diagramas de comportamiento UML, quedescribenlafuncionalidaddelsoftwareenunnivelaltodeabstracción.Enlaactualidad, losprocesos

Figura 3. Ejemplo de un workflow [5] que automatiza el proceso de Tramitar Idea de Negocio [9]

Page 6: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

110 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

del negocio se pueden representar en diagramasdeactividadesdeUML2.0[1,8](esdecir,procesos,subprocesosyactividades),conformeconlastécni-casdemodeladodeprocesosdenegociodefinidasporlaBPMI1,lacualespartedelOMG2yseformalizaeneldocumentoBusiness Process Modeling Notation–BPMN–3.

Los diagramas de actividades describen losflujosdecontrolquesoncreados,desdelosmodelosdeprocesosdelnegociohastalosmodelosdeopera-cióndelsistemadescritosporelementostalescomo:modelosdecasosdeuso (flujosbásicos, subflujosy flujos alternos), clases, operaciones, interfaces,componentesycolaboraciones.Undiagramadeac-tividadesestácompuestoporelementosdemodeloidentificadoscomonodosdeacción(actividad/ac-ción, llamada a actividad externa o subproceso),nodosdecontrol,nodosobjeto,flujosdecontrolyflujosdeobjeto[8](figura4).

3. PATRÓN DE INTERACCIÓN

Enesteenfoquesedefineunpatrón4quede-terminalaformacomodeberealizarselainteracciónentre diagramas de actividades de UML 2.0 y losworkflowsqueautomatizanlosprocesosdelnego-cio.Conestepatrónsebuscadefinirloselementosylaformacomodebencorrelacionarselosmodelosdinámicosdecomportamientoquerepresentenlasoperacionesdelsistematransaccionalconlosproce-sosdelnegocio,sussubprocesosyactividades.

Lafigura5ilustraelpatrónpormediodeundiagramadeactividadesquedescribelainteracciónquedeberealizarseentrelosnodosdeundiagrama

de actividades con las actividades de un sistemaworkflow.

Elprocedimientoparausarelpatróndeinte-raccióneselsiguiente.

Paso 1.Adaptar interacción del nodo de acción:encadadiagramadeactividadesseidentificanlosnodos de acción que permiten operacionalizar elsistematransaccional,seevalúalainformaciónqueprocesay seestablece la relaciónconactividadesdefuncióndelworkflowpormediodeaccionesdeseñaldeenvío.

Los diagramas de actividades y sus nodosdeacciónsonadecuadosparainteractuarconlosworkflowsqueautomatizanelproceso, realizandotrestareas.

• Identificar los siguientes datos: nombre de laacción, tipo, actores (de entrada, ejecución ysalida)yoperacionestransaccionales.

1 BusinessProcessManagementInitiative:http://www.bpmi.org.

2 TheObjectManagementGroup:www.omg.org.

3 BusinessProcessManagementNotationv1.0(2006):http://www.bpmn.org/Documents/.

4 Unpatróndescribeunproblemaqueocurreunayotravezennuestroambiente,detalformaquedescribeunasoluciónparaelproblemaquesepuedeusarnveces,sintenerquehacerlomismodosveces[16].

Figura 4. Elementos de los diagramas de actividades en UML 2.0

Nodos de Acción

[cond 1]

[cond 2]

.

.

.… … …

Nodos de Control

Nodos de Objeto

Page 7: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

111Escuela de Ingeniería de Antioquia

• Adicionarunnuevoactor(participante)delflu-joconunabandafuncional(swimlane)queseidentifiquecomoworkflow(figura6,parte(a)).

• Complementar las acciones del flujo de acti-vidadesconnodosdeacciónde señaldeen-víoque indiquen interacciónconelworkflow.Cadaunodeestosseencargarádeestablecerlainteracciónentreeleventodelnododeaccióndescrito y las acciones del workflow (figura 6,parte(b)).

Este nodo se encarga de gestionar la in-formación de control del flujo con los siguientesparámetros:

• FlujoEntrada.Serefierealosvaloresoinforma-ciónqueretornalaoperacióndelsistematran-saccionalparalaactividaddelworkflow(repre-sentadaporunnododeacción).

• ActividadRecibe. Se refiere a la actividad delworkflowquesecorrelacionaconlaoperacióndelflujodeentrada.Segestionalasiguientein-formación:tipo(p.ej.Función),nombreyme-dio(formaqueseutilizapararealizarlaactivi-dadenelworkflow;puedeserunformulariouotrocomoelserviciodecorreoelectrónico).

• ActividadGenerada.Serefiereaunaactividaddelworkflowquesecorrelacionaconlaacción

Figura 5. Patrón de interacción entre un diagrama de actividades y un sistema workflow

Page 8: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

112 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

de señal. Generalmente son notificaciones oeventos. Se gestiona la siguiente información:tipo(p.ej.notificación,evento),mensajeyme-dio.

• FlujoSalida.Serefierea losvaloresoinforma-ciónqueconectaoactivaunanuevaactividaden el workflow. Suelen ser valores de verdadconunaetiquetadeidentificacióndelflujo.

Para identificar lanecesidadde la interacciónsesugiereverificarlasiguienteinformación:

- ¿Lasoperacionesdeunprocesoosubproce-so generan información para la administra-cióndelnegocio,comounanotificación,unevento,unafunciónejecutable?

- ¿Haytransaccionesqueserealizanentreva-riosactoresquedebansoportarsepormediodeunflujodeinformacióncontroladaparalatomadedecisiones?

- Crearunnododeactividadestructuradalla-madoGestionar Acciones del Workflowparaelnuevoactorworkflow,detalformaquereci-baydespachelainformaciónnecesariaparainteractuarconotrasaccionesdeldiagramadeactividades(figura6,parte(c)).

ElnodoGestionar Acciones del Workflowrecibelainformacióndelosnodosdeseñalylavalidapormediodelasaccionesindicadasenlafigura5paraelactorworkflow(descritasenlossiguientespasos).Silainformaciónestáincompletaonocumplecon

losobjetivosestablecidosenelworkflow,activaunnododecontroleneldiagramadeactividadesqueseencargadereportaralnododeacciónlosproblemasencontrados.Estopermitecontrolarlainteracciónentrelosmodelosyadministrarloscambiosencual-quieradelosdos.Además, la interacciónsedebesoportarenmodelosdetrazabilidadquemantenganlosvínculosdetrazadoentrelosnodosdecontroly otros elementos de modelo tales como clases yoperaciones,entreotros.

Paso 2. Identificar la actividad de Función:accióndelworkflowqueestáa laesperadequeocurralaaccióneneldiagramadeactividadesparaidentificarunaactividaddefunciónpreestablecidaenelworkflow.Estaacciónrecibelainformaciónnecesariaparaidentificarlaactividadenelwork-flow.

Paso 3.Verificar Reglas de Actividad:acciónquecompruebaquelainformaciónrecibidapermitaevaluar las reglasdefinidasdentrode laactividad(tipofunción)delworkflow.Lasreglasdeunaactivi-dadporloregularestablecenlarealizacióndeciclos,evaluación de decisiones, seguimiento de rutas oramalesdentrodel flujoyotras reglaspropiasdelmotordelworkflow.Sinosepuedecumpliralgunadelasreglas,seenvíaunmensajealosactores(parti-cipantes)delprocesoyseretornainformaciónaunaaccióndecontroldeldiagramadeactividades.

Paso 4.Validar los objetivos de la actividad:elanalistadedesarrolloalcrearlasactividadesdelwork-flowdefinelosobjetivosquedebecumplircadaunadeellas.Losobjetivospuedenseringresarinforma-cióncomplementaria,establecerinformaciónparalanotificacióndeaceptaciónorechazo,identificarelmediodeenvíodelosmensajesdenotificaciónoevento,entreotros.Estosobjetivosfacilitanalosparticipantes tomar decisiones para continuar oterminarelprocesodelnegocio.Siestainformaciónesincorrectaoincompleta,seenvíaunmensajealosactores(participantes)delproceso,yseretornainformaciónaunaaccióndecontroldeldiagramadeactividades.

Figura 6. Adaptación de un diagrama de actividades para interactuar con un workflow

DIAGRAMA DE ACTIVIDADES

Page 9: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

113Escuela de Ingeniería de Antioquia

Paso 5.Ejecutar Actividad de Función:elwork-flowejecutalaactividaddeacuerdoconlasreglasverificadasylosobjetivosdefinidos.

Paso 6.Habilita siguiente actividad Workflow: alterminarunaactividad,elworkflowautomática-mentehabilitaotraactividadquecontinúaoterminaelprocesodelnegocio.

4. TRAZABILIDAD

Latrazabilidad(delapalabratraceabilityeninglés)orastreabilidadde la interacciónsepuedeextenderaotroselementosdemodeloquesecons-truyanduranteelprocesodedesarrollo,porejemplo,casosdeusoyclases.Paralograrestosedefineunmodelodetrazadoqueestácompuestoporelemen-tostrazables(elementosUMLodefinidosconotrometamodelo)yvínculosdetrazadopormediodeloscualesseharáelcontroldelaevoluciónytransfor-macióndelosprocesosdelnegocioolosrequisitosdel sistema durante el proceso de desarrollo. Losdesarrolladorescreanelmodelodetrazadocomounperfildedesarrolloenelniveldelmetamodelo;asíesposibletenerdiferentesmodelosparadiferentestiposdeproyectos[10].

Los elementos trazables se identifican pormedio de un rol que les da responsabilidades detrazadoduranteelprocesodedesarrollo.Losrolesdefinidosson:

• Ejedetrazado(<<axisTracing>>).Loselemen-tosidentificadosporesteestereotipotienenaso-ciadas tareas de control de la transformaciónparagenerarlospredecesoresysucesoresylagestióndelcambio(análisisde impactoypro-pagación).

• Predecesores (<<predecessor>>). Los ele-mentos identificados por este estereotipo pre-cedenalosejesdeltrazadoypermitenmante-ner la trazahaciaatrás (cuandoseanecesariaunaingenieríainversa).

• Sucesores (<<successor>>): Los elementosidentificadosporesteestereotiposucedenalosejesdel trazado ypermitenmantener la trazahaciadelante.

El modelo de trazado ilustrado en la figura7,enparticular, seorientaal soportedeprocesosdedesarrollocentradosencasosdeuso,comoloeselProcesoUnificado[8].Parasoportarlatrans-formaciónde losprocesosdelnegocio sedefinen

Figura 7. Modelo de trazado basado en casos de uso (definición con base en [10])

Page 10: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

114 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

como ejes del trazado los metaelementos UML:UseCase,ActivityyClass(interrelacionanpormediodeunarelacióndeabstracción<<trace>>).Estosseencargarándecontrolarelpatróndeinteracciónyotrasinstanciasdeloselementosdefinidoscomopredecesoresysucesores.

LospredecesoressedefinenenfuncióndelosmetaelementosBusinessObject,Requirement (exten-sionesdelmetamodelodeUML)yWorkflowSystem(delWorkFlowmetamodel)cuyasinstanciasdefinenlosprocesosdelnegocioylosrequisitosenelespaciodelproblema.LossucesoressedefinenenfuncióndelosmetaelementosUMLCollaboration y Component

(interrelacionanpormediodeunarelacióndeabs-tracción<<trace>>)quepuedenrepresentarlosprocesosdelnegocioenelniveldeldiseño.

Elcasodeusocomoelementoprincipaldelosejesdeltrazadoserelacionaconpredecesoresysuceso-respormediodelasrelacionesdetrazado<<refine>>y<<realize>>,loquepermiteobtenertransitividad,entreotroselementos,deejes,predecesoresysuceso-res.Porejemplo,lacorrelacióndeActivity (Diagrama de Actividad)yelWorkflow (Flujo de Trabajo)atravésdelcasodeuso:UseCasetrazaaActivityyUseCaserealizaalWorkflowSystem;así,portransitividadActivity realizaalWorkflowSystem (verexpresión1):

Tabla 1. Definición de los vínculos de trazado y sus reglas de transformación

Nombre Vínculo fuente del trazado Vínculo fuente del trazado Regla detransformación

<<trace>> <<axisTracing>>Activity <<axisTracing>>UseCase {Ra, Rb }

<<trace>> <<axisTracing>>Class <<axisTracing>>UseCase {Rc, Rd}

<<realize>> <<axisTracing>> UseCase <<axisTracing>> Requirement {Rn}

<<realize>> <<axisTracing>> UseCase <<axisTracing>> BusinessObject {Rm}

<<realize>> <<axisTracing>>WorkflowSystem <<axisTracing>> UseCase {Rl, Rz}

… … … …

UseCase<<trace>>Activity ∧ UseCase<<realize>>WorkflowSystem

Activity<<realize>>WorkflowSystem (1)

Los vínculos de trazado son relaciones deabstracciónyrealizaciónUMLqueusanlosestereo-tipos <<trace>>, <<refine>> y <<realize>>.Lasreglasdetransformaciónestánasociadasalosvínculosdetrazadoentrelosejesdeltrazadoysuspredecesoresysucesores.Latabla1presentaalgunasrelacionesdetrazadoysusreglasdetransformación(p.ej.,Ra,…,Rz)quepuedendefinirseenunlenguajedetransformacióncomoATL[15].

5. CASO DE ESTUDIO

Elproblemaquesetomacomocasodeestu-diocorrespondeaunsistemadeinformaciónparauncentrode innovaciónyemprendimiento (CIE)cuyoobjetoprincipalesgestionarlosproyectosdelosemprendedores,desdequeseregistran,yevalúaunaideadenegociohastaquesedesarrollanunaserie de actividades del proyecto para lograr los

Page 11: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

115Escuela de Ingeniería de Antioquia

objetivosde losplanesestratégicosdefinidosparaelnegociopropuesto[9].

5.1 Identificación de los procesos del negocio

Lagestióndelcentrodeinnovaciónestácom-puestaportresprocesosdelnegocio:GestionarEm-prendedor,TramitarIdeadeNegocioyAdministrarProyecto.Paramostrarlaaplicacióndelpatróndeinteracción,sólosetrabajaconelprocesoTramitar Idea de Negocio.

La figura 8 ilustra el diagrama de activida-des del proceso Trámite de Ideas de Negocio quedescribeelflujodeactividadesqueexisteentrelosactores:EmprendedoryEmpleadoCIE.Elprocesoempiezacuandoelemprendedorpresentaunaideadenegocio, luegoelEmpleadoCIEevalúaque lainformación presentada esté correcta para que elemprendedorprocedaaregistrarlaideapropuesta.Deestaforma,elEmpleadoCIEhaceundiagnósticoydeterminasilaideaquedaentrámite,enviandosugerencias de complementación, si lo consideranecesario,olaapruebaolarechaza.Si laideaesaprobada, senotificaalemprendedorygenera la

información necesaria para activar el proceso deFormalizar Proyecto. El proceso se mecaniza pormediodeunworkflowparaautomatizarelflujodeinformaciónyfacilitarlatomadedecisionesentrelosdiferentesparticipantesdelsistema.

5.2 Interacción de los nodos de acción

Enla figura9(a)semuestraeldiagramadeactividades que soporta la operación de Tramitar Ideas de Negocio enel sistema transaccional (estediagramasoportalaespecificacióndelcasodeusodelmismonombre).Losnodosdeacciónidentifica-dos,numeradosdel1al4,secorrelacionanconlasactividadesdefuncióndelworkflowTramitar Idea de Negocio (figura9(b)).Lacorrelaciónpornombresesoportaenlatabla2.

Esimportanteanotarquelosnombresdelosnodosdeactividades y las actividadesWFdebenserlomássimilaresquesepueda.Estoayudaráalseguimientodelatrazapornombredelelementodemodeloylapropagacióndeloscambiosqueafectenelworkflowduranteelprocesodedesarrollo,antetodocuandolosnodosdeacciónseimplementen

Figura 8. Procesos generales del centro de innovación y emprendimiento

Diagrama de Actividades (DA) Workflow (WF) Presentar idea de negocio Presentar idea de negocio Evaluar información Evaluar idea Registrar ideas de negocio Registrar idea de negocio Generar diagnóstico Empleado CIE valida factibilidad

Page 12: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

116 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

Tabla 2. Elementos de modelo que participan en la correlación

Diagrama de actividades (DA) Workflow (WF)

Presentar idea de negocio Presentar idea de negocio

Evaluar información Evaluar idea

Registrar ideas de negocio Registrar idea de negocio

Generar diagnóstico Empleado CIE valida factibilidad

enotroselementosdemodelocomoclases,opera-ciones, componentes o conectores, y, finalmente,enelcódigo.

Desdecadanododeacciónseverificaquénotificaciones,eventosuotrasactividadespuedengenerar información para la toma de decisionesdentrodelflujodetrabajo.Porejemplo,apartirdelaacciónEvaluar Información,elEmpleadoCIEgeneraunadedosnotificaciones,dependiendodelgradodeasertividaddelaideadenegociopresentada.Sihayerror,senotificaalEmprendedordelerroryrechazo

Figura 9. Correlación de nodos de acción con actividades de función del workflow

Page 13: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

117Escuela de Ingeniería de Antioquia

delaidea.Silaideainicialesfactible,elEmpren-dedorlaregistracompletamenteyselenotificaalEmpleadoCIEparasuevaluación.

Porlotanto,eneldiagramadeactividadesdelprocesoTramitar Idea de Negociosecreancuatroac-cionesdeseñalesdeenvíoqueindicanlainteracciónentreunnododeacciónyunaactividaddelworkflow(enestecaso,denotificación)quereflejaelflujodelasdecisionesque intervienenen lasaccionesdelproceso(figura10).

Cadaaccióndeseñaldeenvíorepresentaunaacciónenelworkflowygestionalosdatosdelnododeacciónque lagenera (paraesteejemplocadaaccióngeneradatosdeenvío,peroestonoquieredecirquetodonododeaccióntengaqueinteractuarconunaactividadworkflow).

5.3 Trazabilidad

Latrazabilidadentrelosdiagramasdeactivi-dadesylosworkflowsseconsigueinicialmentepor

Figura 10. Definición de la interacción del diagrama de actividades “Trámite de Ideas de Negocio” y el workflow “Trámite de Idea de Negocio”

Diagrama de Actividades Sistema WorkflowSubproceso/Actividad/Acción:Emprendedor::PresentarIdeadeNegocio[NodoAccion]

Flujo entrada: CIESystem::Emprendedor::PresentaIdeadeNegocio(NombreEmprendedor, Idea)

Operación: IngresoInicial_IdeaNegocio

ActividadRecibe: Tipo: Función Nombre: Presentación Idea de Negocio

AcciónSeñalEnvio: ActividadGenerada:

mediodelainformaciónquesegeneradurantelainteracción.Cualquiercambioqueocurraenunodelosdosmodelosduranteelprocesodedesarrollosegestionaconlainformaciónregistradaenlatraza.

La tabla 3 presenta dos de las actividadestrazadasdurantelainteraccióndelprocesoTrámite de Idea de Negocio.

Una instancia del modelo de trazado (pre-sentadoenlasección4)seilustraenelmodelodetrazabilidadSistemaCIEv.1.0.0delafigura11.EstesegeneraapartirdelacreacióndelcasodeusoTramitar Idea de NegociooladefinicióndelprocesoTramitarIdeadeNegocioysuinteracciónentreeldiagramadeactividadesconelworkflow.Lasreglasdetransforma-ciónasociadasaestoselementossonejecutadasparagenerarsuspredecesoresysucesores.PorlarelacióndetrazadelcasodeusoconActividadyelWorkflow,dichasreglasdetransformaciónutilizanlainformacióndela interacciónparacomplementardirectamenteelementostalescomoelprocesodelnegocioTramitarIdeadeNegocioylaclaseIdeadeNegocio.

DIAGRAMA DE ACTIVIDADES QUE REPRESENTA LA INTERACCIÓN DEL PROCESO TRÁMITE DE IDEAS DE NEGOCIO CON SU WORKFLOW

Page 14: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

118 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

Si secrean instanciasdeelementos,elpro-cesodelnegocioolosrequisitosantesdelcasodeusoolainteracción,lasreglasdetransformacióndedichoselementosseejecutarándeacuerdoconlarelacióndetrazadoestablecidaentreloselementosdemodeloyelejedeltrazado.

Una vez generada la primera versión delmodelodetrazabilidadparaelSistemaCIEv.1.0.0,cualquier cambio en el proceso del negocio secontrola por medio de la relación de traza entreelcasosdeusoTramitarIdeadeNegocio,laclaseIdeadeNegocio,ylainteracciónentreeldiagramadeactividadesyelworkflowTramitarIdeadeNegocioquesepuedelograrportransitividaddeestosele-mentostrazables.

Tabla 3. Algunas trazas de correlación entre el diagrama de actividades del proceso de negocio y el sistema workflow que soporta el mismo proceso

Diagrama de actividades Sistema workflow

Subproceso/Actividad/Acción:Emprendedor::PresentarIdeadeNegocio[NodoAccion]

Flujo entrada: CIESystem::Emprendedor::PresentaIdeadeNegocio(NombreEmprendedor, Idea)

Operación:IngresoInicial_IdeaNegocio

ActividadRecibe:Tipo: FunciónNombre: Presentación Idea de Negocio

AcciónSeñalEnvio:Notificación: Idea de Negocio

ActividadGenerada:Tipo: Notification (IdeaNegocio)Mensaje: NombreEmprendedor, Idea (descripción)Media: servicio e-mail.FlujoSalida:Enviado/Recibido (booleano).

Subproceso/Actividad/Acción:EmpleadoCIE::EvaluarInformacion[NodoAccion]

Flujo entrada: CIESystem::EmpleadoCIE::EvaluarInformacion(NombreEmpleadoCIE, Idea)

Operación:IngresoInicial_IdeaNegocio

ActividadRecibe:Tipo: FunciónNombre: EvaluarInforamcionMedio: Formulario Evaluación(estados: correcta, incorrecta)

AcciónSeñalEnvio:Notificación: Decisión Evaluación

ActividadGenerada:Tipo: Notification (Decisión)Mensaje: NombreEmpleadoCIE, ResultadoEvaluacion(descripción)Media: servicio e-mail.FlujoSalida:Estado: Error/Factible.

6. TRABAJOS RELACIONADOS

Garcíaet al.presentanunaformasistemáticaparaobtenerelmodelodecasosdeusoyelmo-delo conceptual, desde los modelos del negociobasadoendiagramasdeactividadesUML[11].Elenfoqueesconceptualydescriptivo,noformalizalainteracciónylatrazabilidadentrelosmodelosquesegenerandesdelaidentificacióndelosmodelosdeprocesos.

Rusellet al.proporcionanunaevaluacióndelascapacidadesdelosdiagramasdeactividadesdeUML2.0(fortalezasydebilidades)cuandoseusanparaelmodeladodeprocesosdelnegocio.Laeva-luaciónserealizausandolospatronesdel flujodetrabajo[12],peronoproveeunaconexióndirectaaposiblesinteraccionesconsistemasworkflow.

Page 15: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

119Escuela de Ingeniería de Antioquia

7. CONCLUSIONES Y TRABAJO FUTURO

En este artículo se define un patrón paragestionarlainteracciónentreundiagramadeacti-vidadesUML2.0ysistemasworkflow.Esteenfoqueproporcionavarioselementosdesoportealprocesodedesarrollodesoftwareysu interaccióncon losprocesosdelnegociotalescomo:

• Laformalizacióndelagestióndelosprocesosdelnegociopormediodelossistemasworkflowy su modelado en diagramas de actividadesUML2.0,parasoportarsucorrelaciónconarte-factosdedesarrollodelossistemastransaccio-nalesuotrotipodesistemas.

• Laautomatizacióndelosprocesosdelnegociopormediodesistemasworkflowintegradaalossistemas transaccionalesqueparticipanopro-veen informaciónalprocesodelnegocio.Los

Figura 11. Modelo de trazabilidad para el proceso para el caso de uso Tramitar Idea de Negocio

workflows ayudan a controlar la gestión de lainformaciónquefluyeenunprocesodenego-cioylainterrelacióndesusactividadesconlainformación necesaria para tomar la decisióncorrectadeformaeficiente.

• Elsoportedeunmodelodetrazadoparacon-trolarlainteraccióndelosprocesosdelnegocioylosmodelosdedesarrolloquelosoportan.

Aunqueelmodeladodelosprocesosdelne-gocioesunpuntovulnerableentodaorganización,su automatización en sistemas workflow facilita elcontrolymantenimientodelflujodeinformaciónysucorrelacióndirectaconlossistemasdeinforma-ciónquesedesarrollenoseimplantenenlasáreasdelnegocio.

Enlaactualidad,sedesarrollaunmodelodetransformaciónbajoarquitecturasorientadasamo-delos(Model-DrivenArchitecture)[13],quetomael

Page 16: UN PATRÓN DE INTERACCIÓN ENTRE DIAGRAMAS DE ...

120 Revista EIA

Un patrón de interacción entre diagramas de actividades Uml y sistemas workflow

patróndeinteraccióncomobaseparaladefinicióndelosmodelosindependientesdelacomputación(Computation Independent Models –CIM–),dondesutransformaciónsedefineycontrolapormediodepatronesde trazabilidadcomoelque sepresentaenesteartículo.Además, se trabajaen laevalua-ciónyvaloracióndelimpactodelcambiodesdelosprocesos del negocio y los diferentes modelos dedesarrollodelsistema.

Enuntrabajofuturo,estepatrónseutilizarácomoelementodesoportepara facilitar la imple-mentacióndelosprocesosenmotoresWorkflowoBPEL(http://www.ibm.com/developerworks/library/specification/ws-bpel),detalformaquepuedausarseparalatransiciónhacialasarquitecturasempresaria-lesylossistemasSOA[14].Además,lainteracciónquedefineelpatróntambiénpuedeayudaradefinircatálogos de procesos establecidos por áreas delnegocio,quesepuedanautomatizaryformenpartedelanálisisdearquitecturasempresariales.

REFERENCIAS

1. UML-OMG,UnifiedModelingLanguage:superstruc-turev.2.0.(2005).

2. Zhu,L.Osterweil,L.J.;Staples,M.andKannengiesser,U. (2008).Challengesobserved in thedefinitionofreferencebusinessprocesses.LNCSSpringer,Berlin/Heidelberg,p.95-107.

3. WhiteS.A.(2004).Processmodelingnotationsandworkflowpatterns.BPTrends(March).

4. Stohr,E.A.;zurMuehlen,M.andZhao,J.L.(2002).Workflow and process automation in the age ofe-business:technical,organizationalandeducationalaspects.In:HICSS-35tutorials,AdvancedSeminars,andWorkshops.Waikoloa,Hawaii,UnitedStates.

5. Oracle workflow guide release 2.6.2. Oracle Cor-poration. http://download-uk.oracle.com/docs/cd/B10501_01/Workflow.920/a95265/toc.htm.[citado:7octubre2008].

6. Chappell,D.IntroducingMicrosoftWindowsworkflowfoundation: An early look. Ago 2005. http://msdn.microsoft.com/en-us/library/aa480215.aspx.

7. Skelta BPM.Net, http://www.skelta.com/. [citado: 7octubre2008].

8. Arlow,J.andNeustad,I.(2005).UML2andtheUni-fied Process: Practical object-oriented analysis anddesign(2nded.).Addison-WesleyObjectTechnologySeries.

9. Barrera,A.F.yPineda,J.D.(2008).AnálisisydiseñodelsistemadeinformacióndelCentrodeInnovacióny Emprendimiento de la Escuela de Ingeniería deAntioquia.Trabajodegrado.EscueladeIngenieríadeAntioquia.

10. Tabares,M.S.,Anaya,R.,Moreira,A.,Araújo,J.andArango,F.(2008).Traceabilitymodelstocontrolanaspectualmodel-drivendevelopment.ProceedingsoftheTwentiethInternationalConferenceofEngineering&KnowledgeEngineering.ISBN1-891706-22-5.

11. García,J.,Ortín-Ibáñez,M-J.,Moros,B.andNicolás,J. (2002). Transforming the OOram three-modelarchitecture into a UML-based process. Journal ofObjectTechnology1(4):119-135.

12. Russell, N.; van der Aalst, W.M. P.; ter Hofstede,A. H. M. and Wohed, P. (2006). On the suitabilityof UML 2.0 activity diagrams for business processmodeling.APCCM‚06:Proceedingsofthe3rdAsia-PacificConferenceonConceptualModelling.Vol.53,p.95-104.

13. MDA-Guide (2003). OMG Document v1.0.1. www.omg.org.

14. Krafzig,D.;Banke,K.andSlama,D.(2004).EnterpriseSOA: service-oriented architecture best practices.PrenticeHallPTR.ISBN9780131465756.

15. Jouault,F.andKurtev,I.(2005).TransformingmodelswithATL.In:ProceedingsoftheModelTransforma-tionsinPracticeWorkshopatMoDELS2005,MontegoBay,Jamaica.

16. Alexander,C.;Ishikawa,S.;Silverstein,M.;Jacobson,M.;Fiksdahl-King,I.andAngel,S.(1989).Apatternlanguage.OxfordUniversityPress,NewYork.