Download - 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.
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
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
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)
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]
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
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
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
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])
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
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
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
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
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.
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
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.