herramienta para asistir el nÁlisis de optimizaciones …

127
HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO INFORME TRABAJO FINAL INGENIERÍA DE SISTEMAS Alumno: Guillermo Ezequiel Fittipaldi Ciuffo. Directora: Dra. Daniela Godoy. Facultad Ciencias Exactas - UNICEN

Upload: others

Post on 26-Jun-2022

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS

DE OPTIMIZACIONES EN GESTIÓN DE

PROCESOS DE NEGOCIO

INFORME TRABAJO FINAL

INGENIERÍA DE SISTEMAS

Alumno: Guillermo Ezequiel Fittipaldi Ciuffo.

Directora: Dra. Daniela Godoy.

Facultad Ciencias Exactas - UNICEN

Page 2: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

2 Guillermo Ezequiel Fittipaldi Ciuffo

Índice Capítulo 1. Introducción ...................................................................................... 9

Capítulo 2. Estado del Arte ................................................................................ 12

2.1. Gestión de procesos de negocio ................................................................ 12

2.2. Minería de datos ..................................................................................... 16

2.3. Minería de procesos ................................................................................. 18

2.4. Herramientas de análisis de procesos ........................................................ 21

2.4.1. ARIS Process Performance Manager .................................................... 21

2.4.2. Celonis Process Mining ...................................................................... 22

2.4.3. Comprehend .................................................................................... 22

2.4.4. Discovery Analyst ............................................................................. 22

2.4.5. Futura Reflect .................................................................................. 23

2.4.6. Fluxicon ............................................................................................ 23

2.4.7. Interstage Automated Process Discovery ............................................. 23

2.4.8. Process Discovery Focus .................................................................... 23

2.4.9. Process Analyzer .............................................................................. 24

2.4.10. ProM .............................................................................................. 24

2.4.11. Reflect one ...................................................................................... 24

2.4.12. SNP Business Process Analysis ........................................................... 25

2.5. Comparativo de herramientas ................................................................... 25

2.6. Resumen ................................................................................................ 30

Capítulo 3. Herramienta propuesta ..................................................................... 31

3.1. Necesidad detectada ................................................................................ 31

3.2. Estrategia............................................................................................... 33

3.3. Solución propuesta .................................................................................. 33

3.4. Estado inicial de los datos ........................................................................ 34

3.5. Carga de datos ....................................................................................... 35

3.6. Primer procesamiento .............................................................................. 39

3.7. Ejecución del análisis ............................................................................... 41

3.8. Utilización de los algoritmos ..................................................................... 45

3.9. Resultados ............................................................................................. 49

3.10. Resumen .............................................................................................. 56

Capítulo 4. Descripción funcional de la herramienta .............................................. 58

Page 3: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

3 Guillermo Ezequiel Fittipaldi Ciuffo

4.1. Minería de procesos aplicada .................................................................... 61

4.1.1. Descubrimiento ................................................................................. 61

4.1.2. Chequeo de conformidad .................................................................... 62

4.1.3. Algoritmos implementados en la herramienta ........................................ 63

4.1.3.1 Algoritmos de agrupamiento ........................................................... 63

4.1.3.2 Algoritmos de clasificación .............................................................. 68

4.2. Diagrama funcional de la herramienta ........................................................ 73

4.3. Diagrama de casos de uso ........................................................................ 74

4.4. Diagramas de secuencia ........................................................................... 76

4.5. Diagrama de despliegue ........................................................................... 79

4.6. Resumen ................................................................................................ 81

Capítulo 5. Descripción técnica de la herramienta ................................................. 83

5.1. Diagrama de clases ................................................................................. 83

5.1.1. osbpm.organizador ............................................................................ 86

5.1.2. osbpm.pantallas ................................................................................ 87

5.1.3. osbpm.modelo .................................................................................. 89

5.2. Determinaciones técnicas ......................................................................... 90

5.2.1. Diseño arquitectural ........................................................................... 90

5.2.2. Mecanismo de selección de algoritmo ................................................... 91

5.2.3. Agregar un nuevo método a la herramienta .......................................... 93

5.2.4. Grafos dirigidos ................................................................................. 94

5.2.5. Modelo de datos ................................................................................ 95

5.3. Resumen ................................................................................................ 97

Capítulo 6. Caso de Estudio ............................................................................... 98

6.1. Caso de estudio ...................................................................................... 99

6.1.1. Proceso de Negocio: Aprobación Facturas ............................................. 99

6.1.2. Datos Ingresados del Proceso ............................................................ 103

6.1.2.1 Análisis 1: AgrupamientoJerárquico ............................................... 107

6.1.2.2 Análisis 2: KMeans ...................................................................... 111

6.1.2.3 Análisis 3: Bayes ......................................................................... 114

6.1.2.4 Análisis 4: Árbol .......................................................................... 116

6.1.2.5 Análisis 5: BasadoInstancia .......................................................... 117

6.1.2.6 Resultados Gráficos del caso de estudio ......................................... 118

Page 4: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

4 Guillermo Ezequiel Fittipaldi Ciuffo

6.2. Resumen .............................................................................................. 120

Capítulo 7. Conclusiones y trabajos futuros ........................................................ 122

7.1. Conclusiones ........................................................................................ 122

7.2. Trabajos futuros .................................................................................... 123

Capítulo 8. Bibliografía .................................................................................... 125

Page 5: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

5 Guillermo Ezequiel Fittipaldi Ciuffo

Índice figuras Figura 1.1 - Modelo de la herramienta. ................................................................ 11

Figura 2.1 - Arquitectura BPM. ........................................................................... 14

Figura 2.2 - Proceso de ventas simple. ................................................................ 15

Figura 2.3 - Proceso KDD. ................................................................................. 16

Figura 2.4 - Principales tipos de minería de procesos: descubrimiento, conformidad y realce de la información. [MANIFIESTO2012] ....................................................... 19

Figura 2.5 - Tipos de técnica de minería de proceso en términos de entradas y salidas. [MANIFIESTO2012] .......................................................................................... 20

Figura 3.1 - Mecanismos de análisis. [MinProc2013]. ............................................ 32

Figura 3.2 – Pantalla carga de datos. .................................................................. 36

Figura 3.3 – Pantalla algoritmos de Agrupamiento. ............................................... 43

Figura 3.4 – Pantalla de características para las secuencias. .................................. 44

Figura 3.5 – Pantalla algoritmos Clasificación. ...................................................... 45

Figura 3.6 – Carga de datos. .............................................................................. 49

Figura 3.7 - Resultado. ...................................................................................... 54

Figura 3.8 – Diagrama Secuencias. ..................................................................... 55

Figura 3.9 - Secuencia Característica. ................................................................. 56

Figura 4.1 - Modelo generado con el método de Chandra. ...................................... 62

Figura 4.2 – Cobweb: Visualización del árbol obtenido. .......................................... 66

Figura 4.3 – KMeans: Diagrama resultante. ......................................................... 67

Figura 4.4 - Bayes: Red bayesiana. ..................................................................... 69

Figura 4.5 - Árbol: diagrama resultante. .............................................................. 71

Figura 4.6 - BasadoInstancia: Resultado gráfico. .................................................. 72

Figura 4.7 - Funcionalidad herramienta. .............................................................. 74

Figura 4.8 – Diagrama de casos de uso. .............................................................. 75

Figura 4.9 – Diagrama secuencia: Carga de datos. ............................................... 76

Figura 4.10 – Diagrama de secuencia: Ejecutar análisis. ........................................ 78

Figura 4.11 – Diagrama de despliegue. ............................................................... 80

Figura 5.1 - Carga y transformación de los datos. ................................................. 84

Figura 5.2 - Aplicar algoritmos análisis. ............................................................... 85

Figura 5.3 – Diagrama de Clases: Componente principal. ...................................... 86

Figura 5.4 - OptimizadorModalPantallaPrincipal. ................................................... 88

Figura 5.5 – Variación del patrón de diseño MVC. ................................................. 91

Figura 5.6 – Diagrama de clases: representación Factory. ..................................... 92

Figura 5.7 – Lista de adyacencia. ........................................................................ 95

Figura 6.1 – Proceso Facturas. ......................................................................... 101

Figura 6.2 – Resultado de cargar 1000 instancias. .............................................. 103

Figura 6.3 – Resultado análisis jerárquico primera parte. ..................................... 109

Figura 6.4 – Resultado análisis jerárquico segunda parte. .................................... 110

Figura 6.5 – Resultado KMeans. ....................................................................... 113

Figura 6.6 – Resultado análisis Bayes. ............................................................... 115

Figura 6.7 – Resultado análisis mediante estructura de árbol. .............................. 116

Figura 6.8 - Resultado análisis basado en instancias. ......................................... 118

Figura 6.9 – Diagrama de distribución de secuencia. ........................................... 119

Page 6: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

6 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 6.10 – Secuencia principal. .................................................................... 120

Page 7: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

7 Guillermo Ezequiel Fittipaldi Ciuffo

Índice tablas Tabla 2-1 - Comparativo de herramientas ............................................................ 29

Tabla 3-1 – Mapeo de sentencia del proceso a analizar y los registros de la herramienta. ...................................................................................................................... 36

Tabla 3-2 – Conjunto de datos a emplear en el ejemplo. ....................................... 39

Tabla 3-3 – Instancia ordenada. ......................................................................... 40

Tabla 3-4 – Secuencias detectadas. .................................................................... 41

Tabla 3-5 – Distribución de pesos. ...................................................................... 43

Tabla 3-6 – Algoritmos implementados. ............................................................... 49

Tabla 4-1 – Datos iniciales del proceso. ............................................................... 59

Tabla 6-1 – Referencia componentes BPM. ......................................................... 102

Tabla 6-2 - Resultado KMeans. ......................................................................... 112

Tabla 6-3 - Relación de obtenida. ..................................................................... 114

Page 8: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

8 Guillermo Ezequiel Fittipaldi Ciuffo

Agradecimientos

Mucho me costó llegar a este momento y por eso la lista a incluir en esta sección sería interminable. Distintos sentimientos y sensaciones se cruzan, todos aquellos que viví durante toda la carrera. Llegar a este punto me llena de orgullo, alegría y felicidad. Durante este camino muchas personas me acompañaron y ayudaron desde su lugar con compañía, recomendaciones y enseñanzas, a todas ellas les quiero agradecer simplemente por haber estado. A mis viejos, Mabel y Héctor, que sin su apoyo incondicional, sus palabras de aliento y su impulso no hubiesen llegado a este punto ni hubiese logrado cumplir con esta profesión que tanto me llena y gusta. A mis hermanos, Graciela, Gisela y Gerardo, por su complicidad, por las horas compartidas y el soporte entregado sin mediar “peros” ni necesidad de justificación. Simplemente gracias. A mi directora de tesis, Dra. Daniela Godoy, sin su paciencia, dedicación, sugerencia, acompañamiento y experiencia jamás encontraría este proyecto concluido. Porque desde llegué con la propuesta su guía fue indispensable para lograr este objetivo que venía postergando hace tanto tiempo. Y sobre todo, por la paciencia, la compañía, la compresión, la complicidad y las largas noches de este último año. Por estar a mi lado con este objetivo propuesto en una arremetida para cerrar esta etapa, siempre con palabras de aliento y apoyo, mi compañera de vida Marisol. Mi sol, mi alegría y mi fuente de energía, mi hijo Nicolás. Mi eterno agradecimiento y mi felicidad.

Page 9: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

9 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 1. Introducción En la actualidad las instituciones y compañías cuentan con estructuras internas complejas, de gran volumen de empleados y con procedimientos definidos para lograr sus metas. Estas características hacen que tales organizaciones tengan que revisar cómo se administran para evitar resultados no deseados, sobre todo a la hora de analizar y comprender su evolución. Para adaptarse, las organizaciones necesitan de sistemas de información que les ayuden en lograr los objetivos fijados para cada área, generando resultados positivos, pero produciendo un gran volumen de datos durante la ejecución del proceso definido. Esta problemática se multiplica si consideramos que las áreas deben trabajar de manera conjunta en en la búsqueda de metas comunes a la organización compartiendo la información generada y completándola de acuerdo a lo definido en tiempo y forma hasta finalizar el caso generado, todo esto soportado mediante sistemas de información. Lo antes mencionado crece exponencialmente si consideramos que hoy en día vivimos en un mundo globalizado donde las organizaciones (instituciones y compañías) deben ajustarse para lograr los objetivos planteados. Si bien este punto está fuera del alcance del presente trabajo, permite entender la problemática planteada del crecimiento del volumen de información, sobre todo a la hora de necesitar un análisis a partir de los datos generados en la organización para entender su evolución y poder sacar información que contribuya a la mejora de sus procesos y su consecuente crecimiento. Mediante los sistemas de información existente en las organizaciones, las áreas completaban sus tareas de manera distribuida en sus aplicaciones pero no contaban con una arquitectura integradora de tales trabajos que permita una integración fluida de ellos. Por esto se buscó la mejor manera de integrar los distintos productos de software de las áreas afectadas a objetivos comunes generando procesos de negocio sistematizados que permitan lograr el resultado deseado. Debido a que los sistemas antes mencionados eran heterogéneos en su concepción, la idea de tener un sistema único presentaba grandes complicaciones. En búsqueda de esta integración y unificación en la organización, se definió un lenguaje de modelado e implementación de procesos de negocio denominado Business Process Management Software (BPMS, Software de Gestión de Procesos de Negocio). Business Process Management (Gestión de Procesos de Negocio) está basado en la observación que cada producto que la organización provee es la salida de un número de actividades realizadas. BPM es la clave para organizar y orquestar esas actividades, mejorando la integración de tales pasos facilitando la colaboración efectiva de las distintas áreas en búsqueda de un objetivo común [BPM2007]. BPM es una metodología, así como una colección de herramientas que habilitan a las empresas a especificar paso a paso sus procesos

Page 10: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

10 Guillermo Ezequiel Fittipaldi Ciuffo

de negocio. La Gestión de Procesos de Negocio (BPM) direcciona como las organizaciones pueden identificar, modelar, desarrollar, desplegar y administrar sus procesos de negocio, incluyendo procesos que involucran sistemas de software e interacción humana [BPM2006]. Si bien este paso fue muy importante en el cumplimiento de los objetivos comunes fijados para la organización, nos encontramos con la dificultad de la administración de datos generados sobre todo si buscamos efectuar análisis y comprensión del proceso definido y ejecutado. Es de notar la problemática planteada en párrafos anteriores referida al gran volumen de información existente para el análisis en estas condiciones no está resuelta. La necesidad de las organizaciones de aprender de sus procesos de negocio aplicados en el mundo real, es uno de los mayores desafíos en este campo ya que nos encontramos con la problemática mencionada en este párrafo dificulta lograr este aprendizaje. Por este motivo se comenzó a estudiar e investigar técnicas que ayuden a las organizaciones en este campo dando como resultado el desarrollo de técnicas de minería de procesos. Minería de Procesos significa descubrir, monitorear y mejorar procesos reales por la extracción de conocimiento desde los logs de eventos disponibles en los sistemas de información [Aalst2011]. La práctica de Minería de Proceso deriva del campo de Minería de Datos. La práctica de Minería de Datos se refiere a la extracción de conocimiento desde grandes volúmenes de datos a través de la identificación de patrones en ellos. Esta práctica fue desarrollada y adaptada para crear las técnicas de Minería de Procesos de Negocio que actualmente están siendo usadas para reconstruir los procesos de negocio ejecutados, a partir de los logs de datos generados durante la ejecución. Mediante este trabajo se analizará, especificará y desarrollará una herramienta que aplica la técnica de Minería de Procesos para comprender la ejecución de los procesos de negocio definidos. Esta herramienta está concebida con la idea de presentar simplicidad para analizar la información surgida desde los procesos de negocio ejecutados aplicando diferentes algoritmos de clustering y clasificación de acuerdo al análisis solicitado por el usuario. De este modo lograr una solución que permita tener distintos resultados a partir de un mismo set de datos a analizar mediante la ejecución de distintos algoritmos. Así mismo, permitir extender la herramienta de manera simple a través de interfaces concretas. La solución planteada podrá ser empleada por los analistas de procesos de la organización, como usuarios principales. Esta recibirá como entrada los datos y el mecanismo de acceso a los logs del proceso a analizar, así como el mapeo de dichos componentes con la información primaria de la herramienta. Una vez ingresada esta información, la solución podrá acceder a los datos del proceso de negocio y efectuarle transformaciones necesarias para que puedan ser procesados por los algoritmos mencionados en el párrafo anterior. Dichos

Page 11: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

11 Guillermo Ezequiel Fittipaldi Ciuffo

métodos permitirán realizar el procesamiento de los datos para brindarle información calificada y cuantificada al analista de procesos, sugiriendo puntos de optimización al proceso de negocio analizado. Tal resultado será mostrado de manera textual. A su vez la herramienta generará información gráfica del análisis realizado. En la Figura 1.1 el flujo de análisis de la herramienta, por la izquierda se puede observar el ingreso de la información, mientras que por la derecha se encuentran los resultados obtenidos. El nombre de la herramienta será OSBPM, Optimization Suggest Business Process Manager (Sugeridor de Optimizaciones en Administrador de Procesos de Negocio).

Figura 1.1 - Modelo de la herramienta.

En el presente informe se mencionarán las distintas herramientas del mercado efectuando un comparativo de las soluciones de cada una. Luego, se explicará la propuesta de esta solución a la problemática planteada detallando componentes, etapas y resultados. En los siguientes capítulos se comentara la descripción funcional y técnica de la herramienta desarrollada para el presente trabajo. A continuación se detalla casos de estudio empleando la herramienta y comentando los resultados obtenidos. Y finalmente, en el último capítulo, se mencionan las conclusiones y trabajos futuros sobre el trabajo aquí referido.

Page 12: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

12 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 2. Estado del Arte En el presente capítulo se menciona conceptos generales empleados en el presente trabajo. En la primera sección encontramos definiciones tecnológicas y cuestiones prácticas de BPM, siendo sistemas implementados con esta tecnología la entrada de datos a emplear en la herramienta. Luego, se describe la práctica de Minería de procesos, su origen y lineamientos principales para efectuar el monitoreo, análisis y recomendaciones de mejora para optimizar tales procesos. En la última sección se muestran las herramientas del mercado y académicas que emplean la práctica mencionada, para finalizar con un cuadro comparativo de ellas de acuerdo a cuestiones particulares de sus funcionalidades respecto a la minería de procesos.

2.1. Gestión de procesos de negocio En la actualidad las áreas de administración y de sistemas en las compañías se han mostrado interesadas en la sistematización de sus procesos de negocio con la posibilidad de seguimiento y mejora constante. Esta necesidad pudo ser cubierta aplicando una técnica de modelado y desarrollo denominada Gestión de Procesos de Negocio (BPM, Business Process Management). BPM se basa en la idea que cada producto de un proceso es el resultado de la ejecución de un conjunto de actividades, las cuales tienen una secuencia específica para la concreción del objetivo del proceso y permiten un seguimiento de tal ejecución mediante herramientas destinadas a tal fin. Por tanto, los procesos de negocio permiten organizar y optimizar la realización de dichas tareas. Los sistemas de información juegan un papel fundamental en la administración de los procesos de negocio ya que las actividades que se realizan en las compañías son soportadas por tales componentes de la organización. Estas actividades pueden ser ejecutadas manualmente por empleados con la ayuda de sistemas de información (en muchas ocasiones) o automáticamente mediante la ejecución de funcionalidades implementadas mediante piezas de software específicas. A nivel gerencial, la automatización de los procesos de negocio es fundamental para entender cómo operan las compañías. Estas bases permiten visualizar posibles puntos de optimización y mejora del proceso definido para un mejor resultado.

Page 13: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

13 Guillermo Ezequiel Fittipaldi Ciuffo

Un proceso de negocio es un conjunto de actividades que son realizadas de empleando componentes técnicos y no técnicos de la organización. Estas actividades se efectúan de manera coordinada para lograr un objetivo de la organización [BPM2007]. Los procesos de negocio se definen a partir de un conjunto de actividades que ejecutadas por usuarios y sistemas intervinientes de manera coordinada, colaboran con las organizaciones a cumplir con sus metas propuestas. BPM se define como la gestión de procesos de negocios utilizando métodos, técnicas y software para diseñar, ejecutar, controlar y analizar procesos operacionales que involucran personas, organizaciones, aplicaciones, documentos y otras fuentes de información [BPM2003]. Empleando este tipo de soluciones la organización puede efectuar una gestión de sus procesos de manera simple facilitando el seguimiento y el monitoreo de los resultados de su uso y permitiendo detectar mejoras a partir de la ejecución de los procesos de negocio implementados. La gestión de procesos de negocio combina procesos de negocio, información y recursos de IT, alineando valores centrales de la organización (personas, tecnología, información y procesos) para crear una vista simple integrada, con inteligencia en tiempo real, de ambos componentes sus mediciones de negocio y performance de sistemas IT [SOABPM2006]. Las soluciones que se implementan mediante BPM combinan un conjunto de elementos de la organización, para ayudarle a lograr de manera más eficiente el objetivo perseguido. Los procesos de negocio son la representación exacta de los procesos ejecutados en la organización. Una vez que estos son ellos pueden ser objeto de análisis, mejora y publicación para ser utilizados en la compañía. Esta necesidad puede ser lograda mediante el empleo de herramientas de arquitectura empresarial para concretar la ejecución de las actividades definidas del proceso. Este conjunto de piezas (los procesos de negocio y las herramientas mencionadas) son conocidos como sistemas de gestión de procesos de negocio (BPMS, Business Process Management Systems). Tal combinación es fundamental para el logro del objetivo propuesto para el proceso definido, ya que puede ser ejecutada de manera coordinada desde los distintos puntos geográficos que componen la compañía.

Page 14: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

14 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 2.1 - Arquitectura BPM.

En la Figura 2.1 se aprecia cómo se compone las soluciones BPM. La misma se compone tres capas principales y una transversales. En la parte superior de la imagen se puede ver la capa de acceso y uso de los procesos definidos, esta puede realizarse mediante pantallas provistas en el BPMS o sistemas ERP externos o sistemas dedicados. Sobre esta capa se puede observar dispositivos de acceso a las soluciones. En la capa central encontramos el proceso implementado con el software BPMS, donde se orquesta todo el negocio accediendo a servicios o sistemas de administración de la información existente en la organización. Mientras que en la capa inferior se muestra el módulo de acceso, transformación y administración de la información, en la actualidad esta capa es implementada mediante la arquitectura SOA. A la izquierda se muestra un componente transversal a las capas antes mencionadas, este sección representa a mecanismos de monitoreo existentes de las aplicaciones y de la ejecución propia del proceso implementado, así como también el esquema de acceso la información de la solución implementada. Business Process Management System (BPMS, Sistema de Gestión de Procesos de Negocio) es un conjunto de programas o aplicaciones usadas para definir procesos de negocio de una empresa. Es un software que permite definir, mejorar

Page 15: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

15 Guillermo Ezequiel Fittipaldi Ciuffo

e implementar procesos de negocio [TABPM2010]. BPMS es un componente genérico de software que maneja representaciones explicitas de procesos para coordinar las publicaciones de los procesos de negocio. Este componente de software provee el ambiente de ejecución para que el proceso pueda ser ejecutado desde las distintas áreas involucradas para la concreción del proceso. Como se mencionó anteriormente el proceso definido debe ser modelado en un lenguaje claro y compresible por los distintos stakeholders del proceso. Esta representación tuvo distintas nomenclaturas, y esto dificultaba la comprensión del proceso definido. Un modelo de proceso de negocio consiste de un conjunto de actividades con un dibujo definido que se interrelacionan con otras actividades mediante dibujos relacionales particulares, ejecutando ciertas restricciones definidas para el modelo. En la actualidad contamos con el lenguaje de modelado de procesos de negocio en su versión dos punto cero (BPMN 2.0). Un modelo y notación de procesos de negocio (BPMN) estándar permite que el negocio cuente con una mayor capacidad de comprensión de sus procedimientos internos de negocio empleando una notación gráfica, dándole a las organizaciones la posibilidad de comunicar esos procesos de manera estándar [BPMORG]. En la Figura 2.2 se puede observar un modelo de proceso simple de compra de productos empleando la notación BPMN 2.0.

Figura 2.2 - Proceso de ventas simple.

Cada caso concreto que opera en el proceso definido se denomina instancia de proceso. Estos casos son los que originan la información que será empleada por el presente trabajo para analizar la ejecución de los procesos de negocio definidos. El volumen de información generado en este tipo de soluciones de sistema es muy grande y tiende a crecer rápidamente. La información generada tiene gran valor para que la organización entienda como operan sus procesos y puedan medirlos, pero por el volumen de datos generados esta tarea se vuelve imposible de realizar sin ayuda de otras herramientas de software que empleen prácticas particulares, de modo que el análisis a realizar de los datos generados sea claramente fundamentado.

Page 16: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

16 Guillermo Ezequiel Fittipaldi Ciuffo

2.2. Minería de datos El descubrimiento del conocimiento en Base de Datos (KDD, Knowledge Discovery in Database) es el método tradicional de convertir datos en conocimiento. El proceso no trivial de identificar patrones válidos, nuevos, potencialmente útiles y en última instancia comprensible en los datos [KDD1996]. Data Mining es un paso en el proceso de KDD aplicado a datos de análisis y algoritmos de descubrimiento computacionalmente eficientes, que producen una enumeración particular de patrones sobre los datos. El proceso KDD es un mecanismo de uso de la base de datos con cualquier selección requerida, procesamiento, sub-ejemplos y transformación de datos, para aplicar métodos que enumeren patrones de dichos datos y evalúen el subconjunto de patrones enumerados denominado conocimiento [KDD1996].

Figura 2.3 - Proceso KDD.

En la Figura 2.3 se pueden apreciar las etapas del proceso KDD que se divide en 5 fases:

• Selección de datos. En esta etapa se determinan las fuentes de datos y el tipo de información a utilizar. Es la etapa donde los datos relevantes para el análisis son extraídos desde la o las fuentes de datos.

• Pre procesamiento. Esta etapa consiste en la preparación y limpieza de los datos extraídos desde las distintas fuentes de datos en una forma manejable, necesaria para las fases posteriores. En esta etapa se utilizan diversas estrategias para manejar datos faltantes o en blanco, datos inconsistentes o que están fuera de rango, obteniéndose al final una estructura de datos adecuada para su posterior transformación.

• Transformación. Consiste en el tratamiento preliminar de los datos, transformación y generación de nuevas variables a partir de las ya existentes con una estructura de datos apropiada. Aquí se realizan operaciones de agregación o normalización, consolidando los datos de una forma necesaria para la fase siguiente.

Page 17: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

17 Guillermo Ezequiel Fittipaldi Ciuffo

• Data Mining. Es la fase de modelamiento propiamente tal, en donde métodos inteligentes son aplicados con el objetivo de extraer patrones previamente desconocidos, válidos, nuevos, potencialmente útiles y comprensibles y que están contenidos u “ocultos” en los datos.

• Interpretación y Evaluación. Se identifican los patrones obtenidos y que son realmente interesantes, basándose en algunas medidas y se realiza una evaluación de los resultados obtenidos.

Además de las fases descritas, frecuentemente se incluye una fase previa de análisis de las necesidades de la organización y definición del problema, en la que se establecen los objetivos de la minería de datos. También es usual incluir una etapa final, donde los resultados obtenidos se integran al negocio para la realización de acciones comerciales. Como se mencionó en el proceso de KDD, una de sus etapas es la minería de datos. Esta práctica puede ser empleada en cualquier ámbito donde se maneje información de sobre la cual se quiere sacar provecho. En particular, en las compañías tienen una gran cantidad de datos almacenados en sus ordenadores. Estos datos contienen una información que puede ser de gran utilidad para los resultados de la empresa. La gran abundancia de datos o su deficiente estructura puede hacer muy difícil extraer esta información útil. El objetivo del Data Mining es la extracción de forma automática de información relevante, útil y no evidente contenida en dichos datos [DDM1997]. La Minería de Datos (Data Mining) es la búsqueda de patrones interesantes y de regularidades importantes en grandes bases de datos. El Aprendizaje Automático es el campo de la Ingeniería en Sistemas en el que se estudian y desarrollan algoritmos que implementan los distintos modelos de aprendizaje y su aplicación a la resolución de problemas prácticos. La minería de datos inteligente utiliza métodos de aprendizaje automático para descubrir y enumerar patrones presentes en los datos. Existen tres razones fundamentales por las cuales el Data Mining es una realidad en nuestros días:

• Avances tecnológicos en almacenamiento masivo de datos y CPU. • Existencia de nuevos algoritmos para extraer información en forma

eficiente. • Existencia de herramientas automáticas que no hacen necesario el ser un

experto en estadística, redes neuronales, o algoritmos matemáticos para convertirse en un “DataMiner”.

La técnica mencionada en esta sección sirve de base da la técnica empleada en el trabajo y que se mencionará en la siguiente sección. Numerosos especialistas

Page 18: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

18 Guillermo Ezequiel Fittipaldi Ciuffo

señalan que la Minería de Datos necesita de la integración de enfoques de múltiples disciplinas [MLM1997].

2.3. Minería de procesos Los procesos implementados en la organización necesitan ser medidos y analizados para luego poder optimizarlos y tener mejores resultados. Esta necesidad de las compañías por aprender de sus procesos ejecutados en el mundo real requiere de herramientas que implementen técnicas especiales para el manejo de grandes volúmenes de datos. Estas técnicas son conocidas como minería de procesos (Process Mining). Como se mencionó antes la práctica de minería de proceso deriva del campo de minería de datos (Data Mining), la cual ha sido adaptada para ser empleada en la minería de procesos. En otras palabras minería de procesos es minería de datos pero con una fuerte visión de los procesos de negocio. La meta de la minería de procesos es descubrir, monitorear y mejorar procesos reales a través de la extracción de conocimiento almacenado en los logs generados durante la ejecución del proceso [MANIFIESTO2012]. La minería de procesos trabaja con los logs que contienen los datos de ejecución para reconstruir el proceso de negocio actual ejecutado mediante herramientas de software. Además, los algoritmos han sido optimizados para ayudar a los especialistas de procesos de negocio. Estos logs pueden ser accedidos a través de entornos empresariales donde ejecutan los sistemas con los procesos de negocio implementados (BPMS) o también a través de otros sistemas existentes en la organización. Existen diferentes técnicas (Business Inteligence, Business Activity Monitoring, Complex Event Processing) a aplicar en procesos de negocio que permiten efectuar reportes, monitoreo, mediciones de performance, análisis, etc.. Estas técnicas permiten mejorar cuestiones operacionales como por ejemplo reducir el tiempo y defectos de procesamiento, governance, riesgos y conformidad del proceso. La técnica de minería de procesos ofrece un medio más rigurosamente chequeado respecto a la conformidad, verificando la validez y disponibilidad de la información del proceso core de la organización. Estas técnicas de minería de procesos han ido madurando en los últimos años, en la actualidad otras técnicas se han visto favorecidas con el crecimiento de dicha práctica. Cada vez más proveedores de herramientas existentes en el mercado, emplean funcionalidades de la minería de procesos, algunas son:

• ARIS Process Performance Manager (Software AG), • Comprehend (Open Connect),

Page 19: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

19 Guillermo Ezequiel Fittipaldi Ciuffo

• Interstage Automated Process Discovery (Fujitsu), • Process Discovery Focus (Iontas/Verint), • Process Analyzer (QPR).

El creciente interés en el análisis de procesos basado en logs ha motivado el impulso de esta técnica. Todo comienza en los logs generados mediante los eventos. Todas las técnicas asumen que es potencialmente posible guardar eventos secuencialmente haciendo referencia a casos particulares del proceso. Mediante estos logs se puede almacenar la información que se necesite para que las técnicas de minería de procesos empleen en sus análisis.

Figura 2.4 - Principales tipos de minería de procesos: descubrimiento, conformidad y realce de la información. [MANIFIESTO2012]

La Figura 2.4 muestra tres técnicas de minería de procesos basados en logs de eventos. La primera de las técnicas es descubrimiento, toma la información producida en los logs y produce un modelo sin usar información generada a priori. Esta técnica es la que tiene mayor futuro de las tres, debido a que no necesitan información proveniente de definiciones por usuarios del proceso para realizar el análisis ya que solo emplean datos de eventos producidos en los logs. El siguiente tipo de minería de procesos es llamada chequeo de conformidad. Para esta técnica se tiene un modelo del proceso con logs de evento generados desde el mismo proceso. Este mecanismo de chequeo puede ser usado para validar si los logs como se generaron realmente están de acuerdo con el proceso y vice versa.

Page 20: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

20 Guillermo Ezequiel Fittipaldi Ciuffo

Mediante esta técnica se pueden validar distintos modelos: chequeo de conformidad de modelos procedurales, modelos organizacionales, modelos declarativos, reglas de negocio, etc. El tercer mecanismo de minería de procesos es realce. La idea aquí es mejorar un modelo de proceso existente usando información proveniente de algunos logs de los procesos actuales. Mientras que la técnica de conformidad valida el alineamiento entre el modelo y la realidad, este tercer tipo tiene como meta extender un modelo a priori. Por ejemplo, mediante la obtención de tiempos de ejecución el modelo puede mostrar cuellos de botella, niveles de servicio, tiempos de respuesta y frecuencias.

Figura 2.5 - Tipos de técnica de minería de proceso en términos de entradas y salidas. [MANIFIESTO2012]

La Figura 2.5 muestra los tipos de minería de procesos especificados mediante entradas y salidas. Las técnicas de descubrimiento toman un log y producen un modelo. En tanto la técnica de chequeo de conformidad necesita el log de eventos y el modelo, siendo la salida información con el diagnostico de diferencias y cuestiones comunes entre el log y el modelo. En tanto la tercera técnica también necesita el log y el modelo del proceso y la salida consiste en el modelo extendido o mejorado. El presente trabajo se basa en la conjunción de las técnicas de descubrimiento y chequeo de conformidad. La herramienta recibe como entrada el log generado en el proceso, produce el modelo del mismo basado en la ejecución secuencial de

Page 21: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

21 Guillermo Ezequiel Fittipaldi Ciuffo

las tareas. Luego, con el modelo y el log genera el análisis del proceso con el modelo detectado. En detalle esta herramienta se describirá en el siguiente capítulo.

2.4. Herramientas de análisis de procesos Como se mencionó en la sección anterior, es creciente el interés por las técnicas de minería de procesos en las herramientas desarrolladas por compañías dedicadas al área del software de análisis de proceso. Es por esto que cada vez más empresas han incluido en sus soluciones las prácticas antes mencionadas de acuerdo al objetivo y las necesidades a cubrir de cada una de las suites. Para la presente sección se aplicó la siguiente metodología [BPMining2012] de investigación, a partir de la cual se efectuó el análisis comparativo de herramientas que aplican técnicas de minería de procesos. Esta metodología se divide en tres fases principales: búsqueda de soluciones detectadas que aplican las técnicas de minerías de procesos, análisis del subconjunto de herramientas seleccionadas de acuerdo a sus características y capacidades, y por ultimo comprar tales criterios y capacidades en un cuadro con tal fin. En la primera fase se tomó el conjunto de herramientas que se encuentren vigentes tanto en el sector académico como en la industria del software, en este paso se descartaron por ejemplo soluciones pequeñas o con finalidad puramente de estudio. En la siguiente fase de la metodología se concentró el análisis de las definiciones teóricas y técnicas de minería de procesos que aplican las herramientas seleccionadas, y relevamiento general de cada una. Para finalizar con un cuadro comparativo de las herramientas analizadas. Las siguientes herramientas hacen uso de las técnicas antes mencionadas en sus soluciones. Como se explicó antes en la mención de la metodología aplicada, existen otras compañías de desarrollo de software y organismos académicos que desarrollaron herramientas que emplean técnicas de minería para el análisis de procesos llevados adelante, pero el producto generado por dichas compañías de software consiste en desarrollos a medida más que en la generación de una herramienta propia o desarrollo frameworks de investigación.

2.4.1. ARIS Process Performance Manager 1 Desarrollada por: Software AG. Es una herramienta desarrollada por empresa líder en herramientas de administración de procesos de negocio (BPM), que provee soluciones tanto a compañías como gobiernos en todo el mundo. Por medio de esta herramienta se

1 http://www.softwareag.com/nl/products/aris_platform/aris_controlling/aris_process_performance/overview/default.asp

Page 22: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

22 Guillermo Ezequiel Fittipaldi Ciuffo

pueden lograr obtener resultados cuantitativos para medir el proceso del negocio, a su vez permite visualizar información de las instancias que se están ejecutando en el proceso. La herramienta permite visualizar los modelos definidos en ella como grafos de procesos o diagramas de Gantt. Las instancias pueden ser contabilizadas mediante indicadores de performance del proceso (KPI) y se visualiza esta información a través de distintas herramientas generadas en la suite. Como parte de esta solución existen servicios que permiten mostrar los cuellos de botella de performance del proceso modelado.

2.4.2. Celonis Process Mining 2 Desarrollada por: Celonis. Es una herramienta orientada al descubrimiento automatizado del proceso (Automated Business Process Discovery, ABPD). Está pensada para ser ejecutada como un servicio, y accedida a través de la web de modo que puede ser integrada fácilmente con cualquier arquitectura de distribuida. Puede acceder a la información en cualquier motor de datos y leer complejas estructuras de tablas de manera simple. La visualización de la información generada luego del análisis se muestra mediante aplicaciones que permiten acceder de manera rápida, fácil y sin esfuerzo de desarrollo. Estos resultados provienen de los principales KPI de los procesos. Tiene una interface de usuario que permite acceder al análisis detallado del proceso y a su vez mantener un seguimiento el flujo del mismo.

2.4.3. Comprehend 3 Desarrollada por: Open Connect. Esta herramienta es parte de una suite más compleja. Mediante este componente los procesos pueden ser medidos y analizados de acuerdo a la información generada en la organización. Mediante esta información la gerencia de la compañía pude detectar oportunidades de mejora en la organización. Esta herramienta permite generar informes o reportes que muestran una foto de como la organización está preformando en términos de productividad, eficiencia y como pueden ser mejorados.

2.4.4. Discovery Analyst 4 Desarrollada por: StereoLOGIC. Es una plataforma de solución agnóstica, los empleados de la organización pueden estar distribuidos geográficamente y utilizar plataformas diversas empleando diferentes herramientas. Esta suite capturará los eventos generados y facilita al usuario la visualización de la información.

2 http://www.celonis.de/en/ 3 http://www.oc.com/solutions_processIntelligence.jsp 4 http://www.stereologic.com/stereologic-starts-shipping-discovery-analyst-3-2/

Page 23: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

23 Guillermo Ezequiel Fittipaldi Ciuffo

Debido a la técnica empleada para generar los informes esta suite no requiere la participación del usuario para generar el mapa del proceso, tal definición es lograda automáticamente. La solución permite detectar el problema (desvíos, omisiones, delays, etc.) , guiar al usuario de manera simple y rápida para que este pueda direccionar las modificaciones del proceso analizado.

2.4.5. Futura Reflect 5 Desarrollada por: Futura Process Intelligence. Esta herramienta, provista como un servicio, descubre el mapa del proceso a partir del cual genera el análisis del mismo. No necesita conocimiento previo del proceso ya que basa la definición del proceso en los logs generados por el sistema a analizar.

2.4.6. Fluxicon6 Desarrollada por: Fluxicon Process Laboratories. Fluxicon es provista como parte de un paquete de servicios que permiten descubrir el proceso, descubrir redes sociales, describir detalladamente ejecuciones del proceso, e identificar cuellos de botella de un proceso. El flujo de control de un proceso también puede ser mostrado por esta herramienta. Esta herramienta permite emplear documentación para efectuar una comparación entre lo existente y los objetivos definidos para el proceso.

2.4.7. Interstage Automated Process Discovery 7 Desarrollada por: Fujitsu. Mediante su uso se podrán primero descubrir el proceso, para luego detectar posibles cuellos de botella y resaltar las ineficiencias, además permite comparar los modelos del proceso previamente calculados. Los logs pueden ser provistos desde distintos sistemas de arquitectura enterprise. Esta herramienta está compuesta con funciones analíticas para ser empleadas a la hora de mejorar el proceso.

2.4.8. Process Discovery Focus 8 Desarrollada por: Iontas/Verint. Esta suite analiza los datos basados en eventos generados en la organización. A partir del ensamblado grafico del proceso y recolectando información desde

5 http://www.bizclarity.com.au/Futura.html 6 http://www.fluxicon.com/ 7 http://www.fujitsu.com/global/products/software/middleware/application-infrastructure/interstage/solutions/bpmgt/bpma/ 8 http://www.bptrends.com/publicationfiles/THREE%2002-01-2011-ART-Business-Process-Discovery-Jadhav.pdf

Page 24: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

24 Guillermo Ezequiel Fittipaldi Ciuffo

diferentes aplicaciones en la compañía, las tareas o pasos podrán ser examinadas para su análisis empleando esta solución. La herramienta en cuenta con mecanismos que permiten descubrir y visualizar el proceso del negocio, identificando flujos ineficientes y sugiriendo mejores prácticas de negocio para su optimización. El modo en que reúne la información es el diferencial de esta solución. Los datos son extraídos directamente desde las herramientas empleadas por los usuarios en lugar de acceder a los logs generados para este análisis.

2.4.9. Process Analyzer 9 Desarrollada por: QPR. Es una solución que permite generar automáticamente un flujo de proceso e importantes indicadores (KPI) a partir de la información recolectada desde los software empleados en la organización para completar las funciones requeridas, sin necesidad de que los usuarios diagramen el proceso. Se obtiene el modelo del proceso exactamente igual al que se está ejecutando en la organización. A partir de la información que cuenta la organización, esta herramienta analiza, mide y monitorea los KPI del proceso core. La suite tiene componentes de software que automatizan la integración con las herramientas origen de la información a analizar. Además, la suite permite identificar y descubrir el proceso rápidamente, permitiendo identificar cuellos de botella y problemas similares. A su vez, permite la generación de reportes de los KPI definidos de manera simple.

2.4.10. ProM10 Desarrollada por: Eindhoven University of Technology. Es un framework Open Source para ejecutar algoritmos de minería de procesos. Provee una plataforma para que usuarios y desarrolladores puedan usar y extender fácilmente. Este organismo académico tiene como objetivo establecerse como la plataforma estándar en el mundo académico fortaleciendo uso de la tecnología, promoviendo el uso de aplicaciones y el consumo en la industria. Es una herramienta que está compuesta por una amplia variedad de plugins para responder a las funcionalidades necesarias.

2.4.11. Reflect one Desarrollada por: Pallas Athena. Este producto de software permite descubrir, reconstruyendo el proceso de negocio a partir de logs generados por sistemas en una arquitectura distribuida. Los procesos son analizados de manera iterativa, produciendo mejoras en cada

9 http://www.qpr.com/products/qpr-processanalyzer 10 http://www.processmining.org/prom/start

Page 25: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

25 Guillermo Ezequiel Fittipaldi Ciuffo

iteración y arribando a un modelo final con todas las mejoras sugeridas. Esta herramienta permite el filtrado de información cuando instancias del proceso no contengan los datos mínimos e indispensables para ser considerados en el análisis.

2.4.12. SNP Business Process Analysis11 Desarrollada por: SNP. Es una solución orientada a procesos definidos en módulos del sistema SAP. Esta herramienta lee los logs de SAP y genera el proceso de negocio. Con esta herramienta no es necesario guardar información especial para generar el proceso de negocio. Por este motivo sirve para utilizar datos históricos del proceso a analizar. Puede comparar el modelo de proceso actual con los obtenidos anteriormente. A su vez guarda KPI del proceso, permitiendo que estos puedan ser comparados para entender los cambios de performance del proceso disparando posibles mejoras al proceso actual. Mediante estas mediciones se pueden evitar cuellos de botella o pasos innecesarios del proceso, permitiendo chequear las posibles modificaciones al proceso. Contiene funcionalidad específica para extraer la información generada de uno o varios sistemas de SAP y visualizar gráficamente el proceso descubierto con el nivel de detalle deseado a partir de la carga de filtros.

2.5. Comparativo de herramientas A continuación en la Tabla 2-1 se muestra un cuadro comparativo de las herramientas antes mencionadas. En esta tabla se muestra información respecto a tipo de minería de proceso aplicada en la herramienta, algoritmo aplicado para el análisis, características de visualización del modelo y características generales de la herramienta.

11 http://products.snp-ag.com/snp-business-process-analysis

Page 26: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

26 Guillermo Ezequiel Fittipaldi Ciuffo

Herramienta Tipo Visualización Algoritmo Otras características ARIS Process Performance Manager

Chequeo de conformidad. Realce.

Event-driven Process Chain (EPC). Business Process Model Notation (BPMN). Unified Modeling Language (UML). Web Service Description Language (WSDL). Gran Chart

Grafo. Cuenta con tableros control para monitorear la performance del proceso. Control de instancias, para detectar problemas en el proceso. Visualización organizacional del proceso implementado.

Celonis Process mining

Descubrimiento.

Diagrama de flujo.

Algoritmo propio.

Integración automática con los sistemas a analizar. La extracción de los datos se realiza sin necesidad de conocer la arquitectura o herramienta subyacente. Análisis de datos en tiempo real estando la herramienta online con el sistema a analizar. La identificación de los problemas del proceso se efectúa analizando la información cronológicamente. Interfaz simple para el usuario. Orientado al mercado cambiario. Medición y control del proceso. Trabaja sobre plataforma web.

Comprehend Descubrimiento. Chequeo de conformidad. Realce.

Workflow Net. Algoritmo propio.

Permite dos tipos de vista del proceso. Permite capturar tiempo de ocurrencia de eventos. Permite integración simple con diferentes herramientas que visualicen la

Page 27: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

27 Guillermo Ezequiel Fittipaldi Ciuffo

información, o que requieran análisis de los datos generados.

Discovery Analyst

Descubrimiento. Chequeo de conformidad.

Microsoft Visio 2007. Business Process Model Notation (BPMN). XML Process Definition (XPDL).

Algoritmo propio.

Descubre el proceso a medida que lo usan los empleados. Descubre las actividades ejecutadas en el proceso. Genera documentación del proceso. Crea material del proceso para entrenar a los empleados. Define métricas del proceso. Mide la performance del proceso. Fácilmente integrable con motores de Business Intenligence.

Futura Reflect Descubrimiento. Chequeo de conformidad. Realce.

Workflow Net. Algoritmos genéticos. Camino más corto.

Reportes especializados para resultados de técnica de minería de procesos. Información detallada del proceso. Permite distintas vistas del proceso. Filtra casos excepcionales.

Fluxicon Descubrimiento. Chequeo de conformidad. Realce

Yet Another Workflow Language (YAWL). Preti-Net. Event-driven Process Chain (EPC). Mining Extensible Markup Language (MXML).

Algoritmo genético. Fuzzy logic. Arboles de decisión. Camino más corto. Redes heurísticas.

Provee variedad de algoritmos. Permite visualizar las actividades con distintos niveles de abstracción. Puede medir desvíos del proceso respecto a los objetivos definidos.

Interstage Automated Process Discovery

Descubrimiento. Chequeo de conformidad. Realce

Interstage BPM Studio (Similar a BPMN)

Algoritmo propio.

Permite tomar métricas. Visualizaciones de ejecuciones del proceso de negocio, incluyendo camino más frecuente, repeticiones, rutas excepcionales, etc.

Page 28: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

28 Guillermo Ezequiel Fittipaldi Ciuffo

Efectúa recomendaciones de mejora de proceso. Descubre el proceso de negocio a analizar.

Process Discovery Focus

Descubrimiento. Chequeo de conformidad. Realce

Microsoft Visio 2007.

Modelos de Markov.

Visualiza estadísticas de ejecución de proceso. Permite detectar desvíos en el proceso. Muestra probabilidad de transición de los eventos. Las transiciones se originan con correlaciones para su seguimiento.

Process Analyzer

Descubrimiento. Chequeo de conformidad. Realce.

Diagramas de flujo.

Heurístico de minería de procesos. Basado en eventos.

Generación de reportes de métricas. Integración automatizada. Recomendaciones de mejoras basadas en las ejecuciones del proceso. Análisis de desvíos, duración, varianza de la ejecución del proceso. Diagramas de Benchmark. Reportes adaptados a las necesidades. Representación dinámica de la ejecución real. Posibilidad de prestar servicios en la nube.

ProM Descubrimiento. Chequeo de conformidad. Realce.

Preti net. Heuristic net.

Framework para algoritmos de minería de procesos.

Flexible a la incorporación de diferentes algoritmos. Permite mapear los eventos de los logs a los eventos del modelo de manera manual. Efectúa un pre procesamiento del log. Importa logs especificados en los siguientes formatos: MXML (Mining eXtensible Markup Language) o XES (eXtensible Event Stream).

Page 29: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

29 Guillermo Ezequiel Fittipaldi Ciuffo

No permite edición del proceso, pero puede ser exportado en formato DOT.

Reflect one Descubrimiento. Chequeo de conformidad. Realce.

Workflow Net. Algoritmos genéticos. Camino más corto.

Permite realizar análisis de riesgos y calidad del proceso. Modelar y simular el proceso. Medición y monitoreo constante de los procesos generados con esta solución. Análisis constante del proceso ejecutado. Control del proceso de negocio. Asiste al usuario para evitar potenciales inconvenientes en la ejecución del proceso.

SNP Business Process Analysis

Descubrimiento. Chequeo de conformidad.

Business Process Model Notation 2.0 (BPMN 2.0)

Algoritmo propio.

Determina proceso basado en los datos existentes en el sistema. Emplea la arquitectura de SAP para obtener los datos a analizar. Muestra similitudes y diferencias entre diferentes análisis realizados. Muestra KPI's para ayudar a incrementar la performance del negocio. Permite documentar de manera automática el proceso a analizar. Efectúa análisis en tiempo real. Considera toda la información no filtrada en el proceso. Se encuentra expuesta en una arquitectura web, para asegurar la disponibilidad a toda la compañía.

Tabla 2-1 - Comparativo de herramientas

Page 30: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

30 Guillermo Ezequiel Fittipaldi Ciuffo

2.6. Resumen En la actualidad las organizaciones necesitan de herramientas que les ayuden a comprender como están evolucionando sus procesos de negocio y comprender sus necesidades de mejora. En el presente capítulo se mencionaron técnicas y herramientas que permiten lograr dicho objetivo. En primer lugar se menciona la práctica que permite implementar soluciones orientadas a procesos de negocio, BPM es el mecanismo para desarrollar soluciones de software que cumplan las necesidades de la organización. En el presente capítulo se menciona de manera resumida la definición de esta práctica, sus componentes y arquitectura de sus soluciones. En particular en el presente trabajo se analizarán procesos de negocio empleando esta práctica. Con el crecimiento de las aplicaciones de software el volumen de información creció exponencialmente, tal crecimiento incentivó a la investigación y definición de técnicas que permitan analizar la información contenida en los datos generados por cada aplicación. En primera instancia se avanzó en el campo de la minería de procesos, para extraer datos útiles de grandes volúmenes de información, y que los usuarios puedan comprender estos datos. Luego, con el advenimiento de soluciones empresariales globales se necesitó de una técnica que contemple la problemática presentada, diferente a la presentada por las aplicaciones tradicionales. Esta técnica es la minería de procesos, la cual es la base para la herramienta desarrollada en el presente trabajo. Las técnicas mencionadas en este párrafo son detalladas en secciones de este capítulo. En las últimas secciones de la presente parte de este trabajo, encontramos referencias a aplicaciones destinadas al análisis de información generada desde procesos de negocio, con un apartado de comparaciones entre ellas mediante las principales características de este tipo de aplicaciones.

Page 31: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

31 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 3. Herramienta propuesta

3.1. Necesidad detectada Como se mencionó, el empleo de BPM consiste en gestionar las actividades empresariales de una manera integral. Existen diversas motivaciones para la emplear soluciones de este tipo en la compañía. Una de ellas puede ser generar suficiente visibilidad y crear registros de auditoría a través de una cadena de actividades, con el fin de satisfacer una variedad de requerimientos normativos y definiciones de negocio [MOBPM2012]. Este conjunto de actividades ejecutadas de acuerdo a lo definido en el proceso por los usuarios y sistemas para cumplir con su objetivo, definen secuencias de ejecución cronológica que más adelante serán empleadas en el presente trabajo. En cada punto de interacción estas soluciones persisten información de los pasos cumplimentados. Un incremento en el nivel de automatización de ejecución de las transacciones debido a la informatización de las actividades del proceso reduce el tiempo de ejecución del mismo, ofrece una mayor capacidad de volumen de transacciones y reduce los errores generados por el hombre [MOBPM2012]. Esta acción permite a su vez reunir mayor detalle de los procesos definidos en la organización mientras son ejecutados mediante un software especializado. Tal uso de los procesos, origina información útil para el negocio que debe ser procesada y analizada para poder interpretarla. Por tal motivo es necesario contar con herramientas destinadas para el fin antes mencionado facilitando las tareas correspondientes para optimizar y madurar el proceso definido. Contando con tales piezas de software, los procesos de negocio pueden ser monitoreados y analizados por analistas especializados –por ejemplo, la frecuencia de trabajo, cuántas están en estado de terminación, rangos de tiempos de finalización, secuencias de ejecución, etc. Para que las organizaciones puedan incrementar la competitividad y la evolución de sus procesos de negocio de acuerdo a las necesidades que ellas tengan contando con información de sus ejecuciones, deben contar con herramientas que le permitan visualizar la información generada por sus procesos automatizados. Tales piezas de software se pueden clasificar de acuerdo a alguna de las técnicas mencionadas en la Figura 3.1, aquí se puede ver un diagrama mostrando cual fue el primer mecanismo empleado y cuales surgieron después.

Page 32: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

32 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.1 - Mecanismos de análisis. [MinProc2013].

La Inteligencia de Procesos de Negocio (Business Process Intelligence, BPI) permite evaluar a los procesos en términos de velocidad, costo, cantidad y calidad. Facilita la identificación de las oportunidades de optimización del proceso. Se enfoca en la relación entre los indicadores y los procesos – visualizando gráficamente alguna instancia específica del proceso, mostrando partes más relevantes del proceso con sus indicadores [GDIP2011]. BPI emplea datos históricos para generar los resultados mostrados, existe una extensión de dicha técnica que emplea datos en tiempo real conocida como Monitoreo de Actividades de Negocio (Business Activity Monitoring, BAM) [BAMBI2005]. BAM es el uso de tecnologías para definir y analizar proactivamente oportunidades críticas y riesgos en una organización para maximizar el beneficio y optimizar la eficiencia [BAM2006]. Por su parte, Analizador de Procesos (Process Analitycs) es la familia de métodos y herramientas que pueden ser aplicadas a los eventos generados en la ejecución del proceso y la secuencia de actividades de ese sistema, a fin de dar sustento a la toma de decisiones en la organización [BPA2009]. Cabe aclarar que esta rama trabaja tanto con datos históricos como con datos de ejecuciones actuales. Las Soluciones Manejadas por Tableros de Información permiten que el usuario presente la información de un modo fácil de leer e interpretar. Dichos tableros son elementos esenciales en la operación diaria de las organizaciones, ya que le proveen a los analistas las vistas de todas las métricas que reflejan la performance del negocio [MDD2006]. Mediante esta orientación, los usuarios trabajan con datos actuales y datos históricos, mostrados mediante tableros

Inteligencia de

Procesos de

Negocio (BPI)

Monitoreo de

Actividades de

Negocio (BAM)

Analizador de

Procesos

Modelos Manejados

por Tableros de

Información

Minería de procesos

Page 33: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

33 Guillermo Ezequiel Fittipaldi Ciuffo

completos de información gráfica y ajustada a la necesidad del negocio. Estos tableros pueden generarse de acuerdo a la necesidad y la búsqueda de mejoras. Por último, Las técnicas de minería de procesos son capaces de extraer conocimiento de los registros de eventos comúnmente disponibles en los sistemas de información actuales. Estas técnicas proveen nuevos medios para descubrir, monitorear y mejorar los procesos en una variedad de dominios de aplicación [MANIFIESTO2012]. El presente trabajo emplea estas técnicas para brindarle a los analistas información de la ejecución los procesos de la organización. El proceso debe registrar de algún modo la operatoria de manera constante, para poder tener sustento de tal información generada con la misma ejecución. Mediante estas técnicas los usuarios pueden inferir ejecuciones de casos presentados de acuerdo a lo ejecutado hasta el momento.

3.2. Estrategia Debido a la problemática relacionada con el volumen de datos generados en las soluciones BPM, se definió, diseño y desarrollo una solución que permite al usuario del negocio obtener información de la ejecución del proceso en base a los datos generados durante su ejecución. Mediante el resultado provisto por la herramienta, el analista podrá comprender como el proceso es usado en la organización, y promover mejoras al proceso analizado. Para esta solución, como se mencionó en antes, se aplicará la técnica de minería de procesos empleando algoritmos clásicos de minería de datos para el análisis de la información. Estos algoritmos son ampliamente empleados en el análisis de grandes cantidades de información. A continuación se describirá la funcionalidad de la solución desarrollada, en el siguiente capítulo se describirá técnicamente la herramienta implementada.

3.3. Solución propuesta Los procesos de negocio automatizados mediante herramientas específicas para tal fin son definidos mediante secuencia de actividades, ejecutadas por usuarios o sistemas para lograr el objetivo fijado. Cada proceso puede estar compuesto por una o más secuencias de actividades válidas con el mismo punto de inicio y mismo o distinto punto final. Para estos procesos se definen entidades de información denominadas instancias. Cada instancia contiene información de la ejecución del negocio permitiendo tener registros útiles para analistas encargados de la optimización y mejora del mismo.

Page 34: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

34 Guillermo Ezequiel Fittipaldi Ciuffo

Como se mencionó antes, dicha información crece rápidamente a medida que el proceso es utilizado en la organización. El volumen de datos encontrado hace imposible comprender la problemática del negocio, y por tanto efectuar sugerencias o puntos de mejora al proceso. Dicha dificultad genera la necesidad de una herramienta que facilite su análisis y compresión del negocio. A continuación se describe la funcionalidad llevada adelante por el presente trabajo.

3.4. Estado inicial de los datos Los procesos de negocio están definidos por una secuencia actividades ejecutadas en un orden cronológico y en un ambiente tecnológico. Como se definió en capítulo anterior este conjunto de actividades ejecutadas de manera coordinada permite alcanzar un objetivo fijado por la organización. La representación explicita de los procesos de negocio con sus secuencias de actividades y las correspondientes restricciones es la administración de los procesos de negocio (BPM). Tal conjunto de actividades al encontrarse automatizado mediante herramientas de software especializadas, permite persistir su secuencia de ejecución paso a paso como hecho natural de su procesamiento. Esta facilidad ayuda a cumplimentar la premisa inicial de la técnica de minería de procesos, contar con un log de ejecución del proceso a analizar con herramientas que empleen tal técnica. A su vez, es posible almacenar la información del negocio que se está ejecutando. El presente trabajo se nutre de los aspectos descriptos en los párrafos anteriores como punto de partida de su ejecución. Los datos a ser considerados por la herramienta para su procesamiento, deben ser cargados mediante mecanismos disponibles de acceso a datos. Estas piezas de información se encuentran en su estado inicial, de acuerdo a como son generadas por el proceso de negocio ejecutado. Es requisito contar con registros mínimos para efectuar el correspondiente análisis. Más allá de la conexión empleada para acceder a los datos, la herramienta requiere conocer identificador del proceso y su descripción, identificador de la instancia del proceso, identificador de actividad del proceso y su descripción, y fecha de llegada a dicha actividad. A su vez, puede darse información de la persona que ejecuto la actividad y su rol, que pueden contribuir al análisis posterior. Estos campos son genéricos y en general existentes en cualquier suite de BPM empleada para el desarrollo del proceso de negocio a implementar. También el usuario puede dar información del negocio que pueda ayudar a diferenciar o discriminar los casos, para ello existe el campo parámetros adicionales donde se puede agregar información propia del negocio y que pueda ser extraída con la sentencia SQL ingresada, este campo tiene la característica

Page 35: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

35 Guillermo Ezequiel Fittipaldi Ciuffo

que el usuario debe ingresar las columnas de la consulta separadas por comas. Más adelante se dará en el presente capitulo ejemplos de esta carga. El identificador de proceso hace referencia al valor que unívocamente determina el proceso a analizar, su descripción es el nombre dado a dicha secuencia de actividades pero puede no estar presente para el análisis. El identificador de instancia es la pieza de información que permite diferenciar a cada instancia del proceso, cabe aclarar que por cada secuencia de actividades se tiene un único identificador de instancia. El identificador de actividad es el dato diferencial de actividades dentro de la secuencia, la descripción puede o no repetirse dentro en el proceso. El dato fecha hace referencia al momento en que la instancia arribo a la actividad en cuestión.

3.5. Carga de datos Una vez que se ingresó la información necesaria para la carga de los datos del proceso a analizar, la herramienta cuenta con los datos para acceder a ellos. Adicionalmente, con el fin de acotar la población a considerar se debe ingresar la cantidad de instancias a considerar. De este modo tendremos una “foto” acotada del negocio, para efectuar distintos análisis variando la cantidad de instancias a considerar. Luego de seleccionar la cantidad de instancias, la herramienta está en condiciones de efectuar la carga de los datos. A continuación, se describirá el funcionalmente la propuesta que mitiga la necesidad detectada. Inicialmente se cuenta con un conjunto de datos que fueron generados de acuerdo a su ejecución en el proceso de negocio, estos datos se suponen sin orden ni posibilidad de ser comprendidos a simple vista. Cabe aclarar que en los datos deben ser pasados a la herramienta, para ello en necesario suministrar la consulta para acceder a la información, así como también el mapeo de las columnas con los registros descriptos en la sección anterior y que serán empleados en el correspondiente análisis. Por ejemplo, mediante la siguiente sentencia SQL y su correspondiente mapeo indicamos como acceder a los datos: SELECT SOLICITUDID, SYSTEM_ID, TRACKING_POINT_ID, TIME_STAMP, SOLICITUDESTADO, SOLICITUDTIPOCOMPROBANTE, SOLICITUDIMPORTE FROM TG_TG_FPL En la Tabla 3-1 se muestra el mapeo de los registros indicados en la sentencia con los registros que necesita la herramienta para cargar los datos a analizar. Tal mapeo debe ser exacto pues como se mencionó antes, esta información se empleará en el procesamiento de los datos.

Page 36: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

36 Guillermo Ezequiel Fittipaldi Ciuffo

Sentencia SQL Registro mínimo de solución SOLICITUDID identificadorInstancia SYSTEM_ID idProceso TRACKING_POINT_ID idActividad TIME_STAMP fechaHoraInicio SOLICITUDESTADO decripcionActividad SOLICITUDTIPOCOMPROBANTE, SOLICITUDIMPORTE

parametrosAdicionales

Tabla 3-1 – Mapeo de sentencia del proceso a analizar y los registros de la herramienta.

Este mapeo se indica a través de un archivo xml o a través de la carga manual en la pantalla de la herramienta. En la Figura 3.2 se muestra dicho mapeo en la pantalla de la herramienta.

Figura 3.2 – Pantalla carga de datos.

Page 37: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

37 Guillermo Ezequiel Fittipaldi Ciuffo

Además de cargar los datos por pantalla manualmente, la herramienta permite efectuar el ingreso de la información desde un archivo XML como se mencionó anteriormente. Estructurada de manera específica, el contenido del archivo facilita el mecanismo de ingreso de datos para el análisis. La estructura de la información es como se muestra a continuación: <?xml version="1.0" encoding="UTF-8"?> <osbpm xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <configuracion> <driver_class>oracle.jdbc.OracleDriver</driver_class> <url>jdbc:oracle:thin:@localhost:1521:xe</url> <username>PDWDB</username> <password>PDWDB01</password> <consulta>SELECT SOLICITUDID,SYSTEM_ID,TRACKING_POINT_ID,TIME_STAMP,SOLICITUDESTADO,SOLICITUDTIPOCOMPROBANTE,SOLICITUDIMPORTE FROM TG_TG_FPL</consulta> <nombreProcesoAnalisis>Facturas</nombreProcesoAnalisis> <idProcesoAnalisis>3</idProcesoAnalisis> <nombreColumnaConsulta> <identificadorInstancia>SOLICITUDID</identificadorInstancia> <idProceso>SYSTEM_ID</idProceso> <descripcionProceso/> <idActividad>TRACKING_POINT_ID</idActividad> <decripcionActividad>SOLICITUDESTADO</decripcionActividad> <rol/> <responsable/> <fechaHoraInicio>TIME_STAMP</fechaHoraInicio> <fechaHoraFin/> <parametrosAdicionales>SOLICITUDTIPOCOMPROBANTE,SOLICITUDIMPORTE</parametrosAdicionales> </nombreColumnaConsulta> </configuracion> </osbpm> Como se puede apreciar, además de los campos relacionados a la sentencia SQL se carga información de la conexión a la base de datos así como también de la conexión a la base de datos origen de la información. La estructura se compone de tres cuerpos principales:

• Conexión a la base de datos. • Sentencia SQL para extraer los datos. • Mapeo de las sentencia SQL con la estructura manejada por la

herramienta.

Page 38: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

38 Guillermo Ezequiel Fittipaldi Ciuffo

En la Tabla 3-2 se muestra un ejemplo del conjunto de datos obtenidos por la sentencia ingresada para ser cargados y procesados en la solución implementada. El conjunto de datos del presente capítulo será empleado para ejemplificar el funcionamiento de la solución, de modo que resulte más sencillo su entendimiento.

SOL SYSTEM_ID T_P_ID TIME_STAMP SOLICITUDESTADO SOLICITUDTIPOCOMPROBANTE IMPORTE

121 3 1162 16/10/2014 12:24:30 PM Factura Recibida FACTURA DE TERCERO 1000

121 3 1158 16/10/2014 12:25:08 PM Factura Digitalizada FACTURA DE TERCERO 1000

121 3 1154 16/10/2014 12:27:27 PM Factura Aprobada FACTURA DE TERCERO 1000

121 3 1160 16/10/2014 12:39:00 PM Factura Eliminada FACTURA DE TERCERO 1000

121 3 1159 16/10/2014 12:37:53 PM Pago Aprobado FACTURA DE TERCERO 1000

121 3 1156 16/10/2014 12:37:53 PM Inicio Contabilizacion FACTURA DE TERCERO 1000

121 3 1161 16/10/2014 12:27:27 PM Factura Aprobada FACTURA DE TERCERO 1000

122 3 1158 16/10/2014 01:51:46 PM Factura Digitalizada FACTURA DE TERCERO 1000

122 3 1160 16/10/2014 03:27:07 PM Factura Eliminada FACTURA DE TERCERO 1000

122 3 1162 16/10/2014 01:51:36 PM Factura Recibida FACTURA DE TERCERO 1000

123 3 1153 16/10/2014 03:57:23 PM Contabilizacion Validada FACTURA DE TERCERO 4950

123 3 1155 16/10/2014 04:15:01 PM Finalizada FACTURA DE TERCERO 4950

123 3 1162 16/10/2014 03:21:52 PM Factura Recibida FACTURA DE TERCERO 4950

123 3 1156 16/10/2014 03:26:20 PM Inicio Contabilizacion FACTURA DE TERCERO 4950

123 3 1154 16/10/2014 03:25:45 PM Detalle Completado FACTURA DE TERCERO 4950

123 3 1161 16/10/2014 03:26:45 PM Detalle Completado FACTURA DE TERCERO 4950

123 3 1159 16/10/2014 03:26:20 PM Pago Aprobado FACTURA DE TERCERO 4950

123 3 1158 16/10/2014 03:22:02 PM Factura Digitalizada FACTURA DE TERCERO 4950

124 3 1153 16/10/2014 04:01:24 PM Contabilizacion Validada FACTURA DE TERCERO 50820

124 3 1155 16/10/2014 04:25:01 PM Finalizada FACTURA DE TERCERO 50820

124 3 1158 16/10/2014 03:28:49 PM Factura Digitalizada FACTURA DE TERCERO 50820

124 3 1156 16/10/2014 03:31:35 PM Inicio Contabilizacion FACTURA DE TERCERO 50820

124 3 1154 16/10/2014 03:31:17 PM Detalle Completado FACTURA DE TERCERO 50820

124 3 1161 16/10/2014 03:31:17 PM Detalle Completado FACTURA DE TERCERO 50820

124 3 1159 16/10/2014 03:31:35 PM Pago Aprobado FACTURA DE TERCERO 50820

124 3 1162 16/10/2014 03:28:34 PM Factura Recibida FACTURA DE TERCERO 50820

Page 39: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

39 Guillermo Ezequiel Fittipaldi Ciuffo

125 3 1153 16/10/2014 04:05:02 PM Contabilizacion Validada FACTURA DE TERCERO 450

125 3 1155 16/10/2014 04:25:01 PM Finalizada FACTURA DE TERCERO 450

125 3 1162 16/10/2014 03:34:23 PM Factura Recibida FACTURA DE TERCERO 450

125 3 1156 16/10/2014 03:36:33 PM Inicio Contabilizacion FACTURA DE TERCERO 450

125 3 1154 16/10/2014 03:36:08 PM Detalle Completado FACTURA DE TERCERO 450

125 3 1161 16/10/2014 03:36:08 PM Detalle Completado FACTURA DE TERCERO 450

125 3 1159 16/10/2014 03:36:33 PM Pago Aprobado FACTURA DE TERCERO 450

125 3 1158 16/10/2014 03:34:52 PM Factura Digitalizada FACTURA DE TERCERO 450

126 3 1153 16/10/2014 04:11:12 PM Contabilizacion Validada FACTURA DE TERCERO 980

126 3 1155 16/10/2014 04:35:00 PM Finalizada FACTURA DE TERCERO 980

126 3 1162 16/10/2014 03:38:07 PM Factura Recibida FACTURA DE TERCERO 980

126 3 1156 16/10/2014 03:39:57 PM Inicio Contabilizacion FACTURA DE TERCERO 980

126 3 1154 16/10/2014 03:39:46 PM Detalle Completado FACTURA DE TERCERO 980

126 3 1161 16/10/2014 03:39:46 PM Detalle Completado FACTURA DE TERCERO 980

126 3 1159 16/10/2014 03:39:57 PM Pago Aprobado FACTURA DE TERCERO 980

126 3 1158 16/10/2014 03:38:31 PM Factura Digitalizada FACTURA DE TERCERO 980

Tabla 3-2 – Conjunto de datos a emplear en el ejemplo.

Se puede apreciar la necesidad de poder identificar cada caso de modo que la herramienta pueda discriminarlos para el análisis del proceso, sobre todo considerando el volumen de información generada. Para ello, el mapeo de la estructura de datos en la herramienta es importante de modo que el algoritmo cuente con un esquema de ejecución determinado.

3.6. Primer procesamiento Los datos serán cargados a través de la ejecución de la consulta usando los datos de conexión proporcionados. Una vez que los datos están listos para comenzar la transformación de ellos, en este paso la herramienta genera las secuencias antes mencionadas. Una secuencia es un flujo de ejecución que se llevó a cabo en el proceso, es decir, una instancia que se inicia en el proceso, va avanzando actividad por actividad hasta su punto de detención o finalización de acuerdo a los datos cargados. Por lo tanto, cada secuencia está compuesta por un conjunto de actividades ejecutadas en un orden cronológico, y por un conjunto de instancias que ejecutaron tal secuencia (como atributos principales).

Page 40: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

40 Guillermo Ezequiel Fittipaldi Ciuffo

Para lograr la transformación, el paso inicial consiste en ordenar por instancias los datos cargados. De este modo se logra una organización parcial de la información y un primer filtro de acuerdo a la cantidad de casos a analizar. Como segunda acción, cada instancia es organizada cronológicamente. Finalizando esta etapa, los datos son organizados por secuencia conteniendo información de actividades que la componen y las instancias que ejecutaron dicha secuencia. Así como los tiempos de ejecución de cada instancia, y el tiempo promedio de cada secuencia. La Tabla 3-3 muestra la información organizada por instancias, si bien este caso ya estuvo ordenado la herramienta supone que esta información inicial puede no estarlo y por tanto es necesario realizar tal acción. En la tabla 3.3 se muestra usando como ejemplo la instancia 123 como quedaría ordenada cronológicamente los datos.

SOL SYSTEM_ID T_P_ID TIME_STAMP SOLICITUDESTADO SOLICITUDTIPOCOMPROBANTE IMPORTE

123 3 1162 16/10/2014 03:21:52 PM Factura Recibida FACTURA DE TERCERO 4950

123 3 1158 16/10/2014 03:22:02 PM Factura Digitalizada FACTURA DE TERCERO 4950

123 3 1154 16/10/2014 03:25:45 PM Detalle Completado FACTURA DE TERCERO 4950

123 3 1161 16/10/2014 03:26:05 PM Detalle Completado FACTURA DE TERCERO 4950

123 3 1159 16/10/2014 03:26:20 PM Pago Aprobado FACTURA DE TERCERO 4950

123 3 1156 16/10/2014 03:26:40 PM Inicio Contabilizacion FACTURA DE TERCERO 4950

123 3 1153 16/10/2014 03:57:23 PM Contabilizacion Validada FACTURA DE TERCERO 4950

123 3 1155 16/10/2014 04:15:01 PM Finalizada FACTURA DE TERCERO 4950

Tabla 3-3 – Instancia ordenada.

Siguiendo el ejemplo, la transformación inicial resulto en las siguientes secuencias generadas:

Identificador secuencia Secuencia actividades

Id instancias

Tiempo de Ejecucion (Segs) Peso

Clasificación usuario

Secuencia_0

Factura Recibida, Factura Digitalizada, Factura Aprobada, Pago Aprobado, Inicio Contabilizacion, Factura Aprobada, Factura Eliminada

121 300000 0,2 Defecto

Secuencia_1 Factura Recibida, Factura Digitalizada, Factura Eliminada 122 39800 0,2 Defecto

Secuencia_2

Factura Recibida, Factura Digitalizada, Detalle Completado, Detalle Completado, Pago Aprobado, Inicio Contabilizacion, Contabilizacion Validada, Finalizada

123, 124, 125, 126 386100 0,6 Defecto

Page 41: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

41 Guillermo Ezequiel Fittipaldi Ciuffo

Tabla 3-4 – Secuencias detectadas.

En la Tabla 3-4 anterior se muestra como se genera la primera transición de los registros luego de ejecutado el procesamiento de la información cargada. Esta composición es el punto de partida de la herramienta para lograr su objetivo, en ella además se destacan los siguientes aspectos:

• Se generó el identificador de la secuencia. • Se agrupó actividades que la componen en orden cronológico. • Se agrupó instancias que la ejecutaron. En la tabla se muestra

solo los identificadores a modo de ejemplo. • Se infirió el tiempo de ejecución promedio de la secuencia, a

partir de los tiempos de ejecución de cada instancia. • Se calculó un peso para la secuencia. • Se asignó el valor “Defecto” a la clasificación dada por los

usuarios

Los tres últimos puntos fueron calculados por el algoritmo encuentran su fundamento de existencia en el objetivo de la herramienta, encontrar patrones especiales de acuerdo a las características de cada instancia para detectar los puntos de optimización del proceso. En cuanto al tiempo, es calculado en base al promedio de ejecución de cada instancia, el atributo peso es inferido de acuerdo a la cantidad de instancias que ejecutaron el proceso y que recorrieron dicha secuencia en el mismo y por último el atributo clasificación del usuario, se le asigna el valor “Defecto”. Los atributos peso y clasificación permiten asignar características de manera dinámica a las instancias del proceso para el análisis; estas características se mencionaran con mayor detalle en la siguiente sección. Cabe aclarar que toda esta transformación de la información es transparente al usuario. A su vez, en este paso y para cuestiones de comprensión del proceso, se calcula el diagrama de flujo con la representación del proceso en cuestión. Esta estructura permite definir el flujo completo del mismo. Si bien estas estructuras generadas no detectan flujos paralelos en el proceso, si es que los tuviera. A cuestiones del objetivo buscado por la herramienta para determinar las ejecuciones del negocio, basta con detectar las secuencias de actividades. Es decir, la herramienta no busca una representación exacta del proceso, sino más bien entender y poder encontrar problemas clásicos de los procesos de negocio.

3.7. Ejecución del análisis A partir de la carga correcta de las instancias y su correspondiente transformación la herramienta se encuentra en condiciones de ejecutar el análisis. En la presente sección se describe la configuración necesaria para tal acción, así como los pasos

Page 42: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

42 Guillermo Ezequiel Fittipaldi Ciuffo

que el usuario debe realizar. La solución permite que el analista categorice y priorice las secuencias generadas presentando mediante la posibilidad de configurar distintos escenarios de análisis de acuerdo a la información provista de manera dinámica. En la sección anterior se mencionaron los atributos peso y clasificación de usuario, aquí es donde describe su importancia. Mediante la asignación del peso, la herramienta permite ingresar una inferencia numérica del usuario para las secuencias a analizar. Este peso las prioriza de acuerdo a la preponderancia dada por el usuario en su análisis. El cien por ciento de este valor está dado por la totalidad de las secuencias. La herramienta infiere una preponderancia de acuerdo a la cantidad de instancias que recorrieron dicho flujo o secuencia, pero el usuario puede modificar este valor de acuerdo a sus necesidades y que desee sobreponer sobre el resto. Como se mencionó, la sumatoria de este peso no sobrepasa la unidad. El atributo restante, clasificación de usuario, permite al analista categorizar las secuencias. Este valor es el empleado por los algoritmos para agrupar o clasificar (de acuerdo al algoritmo empleado) los flujos de actividades detectados por la herramienta. Es por este motivo, principalmente, la preponderancia de dicho atributo y el porqué de su importancia. El usuario puede cambiar esta configuración al momento de ejecutar los datos ingresados para lograr analizar situaciones particulares. Se encuentran dos secciones principales donde el usuario puede iniciar el análisis de los datos. En la Figura 3.3 se puede observar la aplicación lista para ejecutar alguno de los algoritmos de Agrupamiento de acuerdo a la selección del analista. La sección a la derecha muestra las secuencias generadas, mientras que a la izquierda se encuentra la sección de selección y configuración de algoritmos. En primer lugar, el combo selector de algoritmos disponibles. Luego el combo que permite configurar el Parámetro para determinar si se emplearan solo el peso o también el tiempo de la secuencia en el análisis. Por último, el analista puede determinar la distribución de pesos a asignar a cada secuencia:

• Distribución Uniforme: el algoritmo determina de manera uniforme los pesos asignados a las secuencias.

• Distribución Por Secuencia: se distribuye el peso de acuerdo a la cantidad de instancias que ejecutaron la secuencia.

• Distribución Manual: el analista pondera las secuencias según su criterio.

Page 43: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

43 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.3 – Pantalla algoritmos de Agrupamiento.

En la Tabla 3.5 se muestran ejemplos de distribución de pesos a las secuencias detectadas por la herramienta de acuerdo a lo descripto anteriormente.

Uniforme Por Secuencia Manual Secuencia_0 0,333333 0,2 0,3 Secuencia_1 0,333333 0,2 0,2 Secuencia_2 0,333334 0,6 0,5

Tabla 3-5 – Distribución de pesos.

La Distribución Manual es cargada por el usuario, en este caso se realizó la asignación mostrada en la tabla a modo de ejemplo. Como se mencionó anteriormente en esta sección, el usuario debe darle una categorización a los flujos de actividades según su criterio.

Page 44: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

44 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.4 – Pantalla de características para las secuencias.

En la Figura 3.4 se puede ver y a modo de ejemplo como el usuario elige los valores a considerar en el análisis a ejecutar luego de elegir el algoritmo a emplear. Para este caso el usuario eligió cargar los pesos manualmente y ya efectuó la carga de la caracterización o la Propiedad de cada secuencia. Para el caso del algoritmo KMeans el usuario puede determinar la cantidad de centroides a tener en cuenta para el análisis. Para los algoritmos de clasificación la carga antes de ejecutar el análisis es la misma, salvo por la elección del Parámetro. En este caso no se carga dicha configuración porque la herramienta solo permite una única forma de ser ejecutado, el parámetro del peso es empleado en todos los casos, pero para algunos algoritmos se emplea también el tiempo de ejecución de la instancia como atributo de análisis. En la Figura 3.5 se muestra la pantalla que la herramienta presenta para los algoritmos que emplean este tipo de heurística. En la siguiente sección se mencionaran los tipos de análisis disponibles y sus configuraciones para la ejecución.

Page 45: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

45 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.5 – Pantalla algoritmos Clasificación.

3.8. Utilización de los algoritmos En el desarrollo del presente trabajo se decidió que los algoritmos a emplear se basen en la técnica de minería de datos, demostrando que dicha práctica puede ser empleada para analizar procesos de negocio. Como se describió en este capítulo la herramienta efectúa el análisis mediante el empleo de la técnica de minería de procesos, en la etapa de análisis emplea los algoritmos de minería de datos. Dada la madurez y vigencia en el ámbito académico de la herramienta WEKA se optó por emplear los algoritmos que en ella se implementaron. WEKA es una colección de algoritmos de aprendizaje de minería de datos. Sus algoritmos pueden ser empleados directamente a un conjunto de datos o pueden emplearse invocándolos desde código Java [WEKA1993]. Por estos motivos se decidió incorporarlos en la solución, facilitando además futuros algoritmos que se deseen agregar a la herramienta. Este último punto fue otro de los objetivos planteado al inicio del trabajo, permitir que nuevos algoritmos de manera simple sumen nuevos mecanismos de análisis. Al seleccionar los algoritmos de minería de datos desarrollados en la universidad de Waikato, en el proyecto se encontró la disyuntiva de implementar vectores de trabajo para ser empleados en los algoritmos o reutilizar los vectores definidos

Page 46: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

46 Guillermo Ezequiel Fittipaldi Ciuffo

en WEKA. Por la misma razón mencionada antes, se decidió transformar las secuencias detectadas a vectores arff. Un archivo ARFF (Attribute-Relation File Format, Archivo con Formato Atributo-Relación) es un archivo en formato de texto ASCII que describe una lista de instancias compartiendo un conjunto de atributos. Los archivos ARFF fueron desarrollados en el Proyecto de Maquinas de Aprendizaje del Departamento de Ciencias de la computación de la Universidad de Waikato para el uso con la máquina de aprendizaje WEKA [ARFF2008]. La versión adoptada es la definida por extensión al formato ARFF descripto en el libro de minería de datos escrito por Ian H. Witten y Eibe Frank. A continuación se comenta brevemente las secciones de dicho formato. La cabecera del formato contiene el nombre de la relación, una lista de los atributos (columnas en los datos) y sus tipos. Siguiendo con el ejemplo del capítulo y empleando atributos nominales en este caso, la cabecera tiene el formato: @relation Facturas @attribute identificadorInstancia {121,122,123,125,128,131,139,124,126,127,129,132,136,137,138,130,133,134,135,140} @attribute pesoSecuencia {0.05,0.25,0.4,0.15} @attribute identificadorSecuencia {Secuencia_0,Secuencia_1,Secuencia_2,Secuencia_3,Secuencia_4,Secuencia_5,Secuencia_6} @attribute tiempoPromedioSecuencia {870000.0,5731000.0,2822000.0,1913875.0,3156000.0,1.2171893333333333E9,3.1309956085E10} @attribute SOLICITUDIMPORTE {1000,4950,450,980,3025,43047.54,50820,1960,71995,2032.74,6008.37,89723.95,945,2976.5,720514.65,571.12,1243439.46} @attribute SOLICITUDTIPOCOMPROBANTE {'FACTURA DE TERCERO','NC TERCEROS'} @attribute ClasificacionSecuencia {Incompleta,Completa} En tanto, el conjunto correspondiente a los vectores que se emplearan para el análisis tiene la siguiente estructura: @data 0,0,0,870000,0,0,0 1,0,1,5731000,0,0,0 2,1,2,2822000,1,0,1 3,1,2,2822000,2,0,1 4,1,2,2822000,3,0,1 5,1,2,2822000,4,0,1

Page 47: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

47 Guillermo Ezequiel Fittipaldi Ciuffo

6,1,2,2822000,5,1,1 7,2,3,1913875,6,0,1 8,2,3,1913875,3,0,1 9,2,3,1913875,7,0,1 10,2,3,1913875,3,0,1 11,2,3,1913875,8,0,1 12,2,3,1913875,9,1,1 13,2,3,1913875,10,1,1 14,2,3,1913875,11,1,1 15,0,4,3156000,12,0,0 16,3,5,1217189333.333333,13,0,0 17,3,5,1217189333.333333,14,0,0 18,3,5,1217189333.333333,15,0,0 19,0,6,31309956085,16,0,0 Cabe aclarar que los tags @relation, @attribute y @data contemplan la diferencia entre letras mayúsculas y minúsculas. El elemento relation es acompañado por un string que describe el espacio de datos. Por su parte, el tag attribute refiere únicamente al nombre de un atributo del vector y su tipo de datos, el orden del atributo indica la posición de la columna del vector de datos. Los tipos de datos disponibles son: Numeric, Nominal, String y Date. En cuanto a la sección de los datos, cada línea representa a una instancia. Sus datos están separados por comas y cada columna se corresponde con un atributo declarado en la cabecera. El fin de la línea indica el final de la instancia. La herramienta debe preparar la información para que los algoritmos puedan entenderla, por este motivo el vector de secuencias que se tenía hasta este momento debe ser transformado. Este procesamiento debe generar la estructura como se muestra en el ejemplo, con la estructura de cabecera y los vectores de las instancias a analizar. Como se mencionó antes, en primer lugar se define la estructura de cabecera, determinando la relación de datos a analizar, los atributos compondrán dicha relación y el tipo de cada uno de ellos. Para el presente trabajo la relación se definió a partir del nombre del proceso a analizar. En tanto, los atributos fueron divididos en dos grupos, el primer grupo se compone de aquellos datos que se encuentran en todas las relaciones que analice la herramienta:

• La identificación de la secuencia: nombre dado de manera automática a cada secuencia que detecta la herramienta.

• El identificador de instancia: cada instancia que se ejecuta en el proceso a analizar tiene este valor univoco diferencial.

• El tiempo de la instancia en recorrer la secuencia: tiempo calculado desde que la instancia comenzó la ejecución de la

Page 48: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

48 Guillermo Ezequiel Fittipaldi Ciuffo

secuencia hasta el punto final que arribó al momento de extracción de los datos.

• La clasificación dada por el usuario a la secuencia: es el valor ingresado por el usuario a cada secuencia antes de disparar el análisis.

Cada proceso que se analice estará compuesto por este grupo de datos, que sirven para identificar y diferenciar cada instancia al ejecutar cada análisis. El segundo de los grupos está dado por los parámetros adicionales que ingrese el usuario mediante el campo “Parámetros Adicionales” de la pantalla o el tag “parametrosAdicionales” del archivo XML, es información propia del negocio y puede variar entre procesos analizados. Su utilidad radica en la posibilidad de dar características a cada vector para el aprendizaje y predicción de los algoritmos empleados. Por ejemplo, el atributo nominal SOLICITUDTIPOCOMPROBANTE de la cabecera antes mostrada es un dato propio de la relación Facturas y puede tener los valores del conjunto {'FACTURA DE TERCERO','NC TERCEROS'}; en otra relación este atributo posiblemente no exista. Como se puede apreciar, una mención especial la lleva el tipo de datos Nominal, para estos se define el conjunto de valores posibles de acuerdo a la información existente en las instancias de las secuencias a analizar, componiendo de este modo el conjunto mencionado para cada instancia. En los restantes tipos de datos solo se define el atributo, pero deben estar definidos para luego ser interpretados por el algoritmo. Una vez que se terminó de definir la cabecera, se transforman las secuencias a vectores de acuerdo a los atributos generados. Los vectores representan las instancias del proceso a analizar y están compuestos por los atributos antes mencionados separados por comas. Si bien se mencionó en la definición teórica de la representación ARFF, como un formato de archivo, la herramienta no representa la información como tal sino que calcula la estructura justo antes de la ejecución del método de análisis. Es decir, para el presente trabajo esta organización de datos no se genera en archivos sino que se procesa y trabaja en tiempo de ejecución, luego se destruye para dar lugar a un nuevo análisis. Por tanto, el procesamiento para llegar al formato mencionado es generado de este modo para facilitar el análisis de distintos casos de manera dinámica. En la Figura 3.3 y en la Figura 3.4 se puede observar los algoritmos disponibles a emplear para los análisis. Estos pueden ser de Clasificación o de Agrupamiento (clustering). En la herramienta están disponible cinco de estos métodos, pero se consideró durante el diseño la posibilidad de agregar otros algoritmos que implementen los lineamientos de WEKA para la presente solución. Cada algoritmo puede procesar determinados tipos de atributos y otros no, por lo tanto se debe considerar este factor a la hora de generar el vector de atributos

Page 49: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

49 Guillermo Ezequiel Fittipaldi Ciuffo

de entrada para algoritmo. Por tal motivo, luego de cargar el peso (si corresponde) y la clasificación de usuario, la herramienta genera los vectores de instancias del proceso a analizar de acuerdo al tipo de atributo que el algoritmo interprete y a características propias del método que eligió el analista, en la Tabla 3.6 se observa un mapeo de los algoritmos disponibles y los atributos que emplean en la herramienta.

Algoritmo Tipo algoritmo Tipo atributo KMeans Agrupamiento Nominal HierarchicalClusterer Agrupamiento Nominal J48 Clasificación Numerico IBk Clasificación Numerico NaiveBayes Clasificación Nominal

Tabla 3-6 – Algoritmos implementados.

Una vez que los vectores fueron generados, y de acuerdo a la configuración de análisis cargada por el usuario la herramienta ejecuta el análisis para luego mostrar el resultado al usuario.

3.9. Resultados En el presente trabajo los resultados están divididos en dos fases. En la primera fase se encuentra el resultado de cargar los datos desde el origen. Este resultado es el obtenido en la primera transformación de los datos, para generar las secuencias que las instancias de proceso negocio han ejecutado. Este se muestra en la solapa de Resultado detallando una descripción de las secuencias y sus características.

Figura 3.6 – Carga de datos.

Page 50: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

50 Guillermo Ezequiel Fittipaldi Ciuffo

En la Figura 3.6 se observa una referencia de las secuencias detectadas a partir de la carga de los datos, en ella podemos encontrar:

• Propiedad: en la carga inicial asigna valor por defecto, más tarde cuando el usuario cargue la clasificación de secuencia se asigna ese valor.

• Identificador de secuencia: valor asignado al detectar una nueva secuencia.

• Peso: peso asignado inicialmente a la secuencia. En este momento la distribución de pesos es por secuencia.

• Secuencia detectada: se muestra las secuencias detectadas listando los nombres dados al atributo “Desc. Actividad” de la herramienta, ordenados de manera cronológica según el valor dado en “Fecha Hora Inicio” del presente trabajo.

Una vez cargados los datos el usuario puede efectuar la selección del algoritmo y la carga de datos necesaria para la ejecución del análisis, luego de un instante estamos en condiciones de visualizar el resultado del algoritmo. El resultado del algoritmo es la segunda fase de los resultados que el presente trabajo genera, aquí se observan tres secciones: Resultado, Diagrama Secuencias, Secuencia Característica. En la primer parte de esta fase se encuentra la solapa Resultado. Aquí se puede observar la estructura generada por el método aplicado al ser construido con los vectores de instancia detectados por la herramienta. La construcción ya sea por algoritmos de clasificación o por algoritmos de agrupamiento, se efectúa de manera atómica por los métodos reutilizados de la herramienta de minería de procesos WEKA. A partir del resultado mostrado, se puede inferir como se comportarán las instancias con determinadas características en sus datos si se dan ciertas condiciones. Siguiendo con el ejemplo, en el campo SOLICITUDIMPORTE nos encontramos con una instancia con determinado valor y con condiciones variables cargadas por el usuario, el analista puede inferir qué conjunto de actividades ejecutará. Si se considera que este caso es muy frecuente en la organización, podemos entender que esta secuencia debe ser revisada para que el proceso completo tenga una mejor performance en su ejecución. Esta problemática es de ayuda a los analistas de procesos para detectar cuestiones a mejorar en el proceso de negocio definido e implementado en soluciones BPM. En la Figura 4.7 se puede observar cómo se despliega en pantalla este resultado. A continuación se muestra el contenido del resultado, este se puede dividir en tres partes:

Page 51: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

51 Guillermo Ezequiel Fittipaldi Ciuffo

• Características del análisis: donde se informa el nombre de la relación, cantidad de instancias consideradas, y la cantidad de atributos considerados en el análisis.

• Estructura generada por el algoritmo: estructura generada por el método empleado, en el ejemplo mostrado se observa el resultado generado por el método J48

• Referencia del análisis: información para entender secuencias y atributos empleados en el análisis.

Ejemplo texto resultado: ========================================== Resultado Ejecución: ========================================== Relación: Facturas Instancias: 100 Atributos: 6 ========================================== Clasificador completo: ========================================== J48 pruned tree ------------------ pesoSecuencia <= 0.12 | pesoSecuencia <= 0.06 | | pesoSecuencia <= 0.02: Incompleto (14.0) | | pesoSecuencia > 0.02 | | | identificadorSecuencia = Secuencia_0: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_1: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_2: Incompleto (6.0) | | | identificadorSecuencia = Secuencia_3: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_4: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_5: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_6: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_7: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_8: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_9: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_10: IncompletoA (6.0) | | | identificadorSecuencia = Secuencia_11: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_12: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_13: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_14: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_15: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_16: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_17: Incompleto (0.0) | | | identificadorSecuencia = Secuencia_18: Incompleto (0.0)

Page 52: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

52 Guillermo Ezequiel Fittipaldi Ciuffo

| | | identificadorSecuencia = Secuencia_19: Incompleto (0.0) | pesoSecuencia > 0.06 | | B_SOLICITUDIMPORTE <= 52: IncompletoA (21.0) | | B_SOLICITUDIMPORTE > 52: IncompletoB (11.0) pesoSecuencia > 0.12: Completo (42.0) Number of Leaves : 24 Size of the tree : 29 ========================================== Referencia: ========================================== Secuencias detectadas: Propiedad: Incompleto - Secuencia_0 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Factura-Aprobada_Factura-Aprobada_Pago-Aprobado_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_1 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Factura-Eliminada** Propiedad: Incompleto - Secuencia_2 : Peso (0.06) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Finalizada** Propiedad: IncompletoA - Secuencia_3 : Peso (0.12) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Incompleto - Secuencia_4 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Factura-Devuelta-al-Analista-de-Area_Encabezado-Modificado_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Finalizada** Propiedad: IncompletoA - Secuencia_5 : Peso (0.09) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Completo - Secuencia_6 : Peso (0.23) :: ||Factura-Recibida** Propiedad: Incompleto - Secuencia_7 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_8 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada**

Page 53: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

53 Guillermo Ezequiel Fittipaldi Ciuffo

Propiedad: Completo - Secuencia_9 : Peso (0.19) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: IncompletoA - Secuencia_10 : Peso (0.06) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_11 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_12 : Peso (0.02) :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Factura-Eliminada** Propiedad: IncompletoB - Secuencia_13 : Peso (0.11) :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Finalizada** Propiedad: Incompleto - Secuencia_14 : Peso (0.01) :: ||Factura-Rechazada_Factura-Rechazada** Propiedad: Incompleto - Secuencia_15 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_16 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Incompleto - Secuencia_17 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Encabezado-Modificado_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_18 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Incompleto - Secuencia_19 : Peso (0.01) :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Factura-Devuelta-al-Analista-de-Area_Encabezado-Modificado_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Factura-Eliminada** ==========================================

Page 54: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

54 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.7 - Resultado.

Continuando con la segunda fase de resultado, se encuentra en la segunda solapa un gráfico de tora el cual muestra la distribución de las secuencias y los porcentajes de utilización, entendiendo visualmente como ha sido ejecutado el proceso en análisis. Esta parte del resultado agrega información a lo detectado por el algoritmo empleado, ayudando al analista a comprender al proceso en cuestión. En la Figura 3.8 y continuando con el ejemplo se puede observar la distribución de secuencias detectadas por la herramienta. Cada porción es referida a una secuencia que fue ejecutada por un grupo de instancias.

Page 55: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

55 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.8 – Diagrama Secuencias.

Este diagrama muestra información global y agrupada por secuencias del proceso de negocio. Su principal motivación es ayudar a entender el comportamiento del proceso de acuerdo a la información ejecutada en el negocio. Mediante la solapa de Resultado, podemos llegar a inferir cuestiones futuras de acuerdo a características encontradas. Ambos resultados ayudan en la optimización del proceso, mediante información histórica y predictiva. En tanto, la última solapa del resultado se encuentra la Secuencia característica del análisis efectuado. En la Figura 3.9 se muestra una porción del flujo detectado por la herramienta. Como se mencionó, en tal sección se puede observar la secuencia más frecuente en el conjunto de datos analizados. Cuando se menciona secuencia más frecuente, se refiere a la secuencia con mayor cantidad de instancias que transitaron dicho flujo, del conjunto de datos dados a analizar. En este caso se muestra un diagrama de flujo compuesto por nodos que representan la información dada en “Desc. Actividad”, organizadas secuencialmente de arriba hacia abajo. Las líneas con forma de “rulos” representan flujos con origen y destino en el mismo nodo. Las restantes líneas son flujos rectos, donde la actividad superior es el origen y la inferior el destino. Aquellas actividades más empleadas dentro de la secuencia se muestran con un color más rojizo y las restantes se visualizan de color verde.

Page 56: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

56 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 3.9 - Secuencia Característica.

Dicha porción de resultado permite visualizar de manera clara los pasos que la mayoría de las instancias del proceso de negocio han ejecutado. Esta secuencia puede contener todas las actividades del proceso o no, todo depende del flujo “recorrido” por las instancias del proceso. Por tanto, y a modo de resumen, en esta fase de resultado en primer lugar se pretende inferir nuevos casos en base a los datos históricos y dependiendo del tipo de algoritmo y el algoritmo empleado. En la segunda parte, la solapa del Diagrama Secuencias, se puede entender cómo se distribuyeron las instancias en las distintas secuencias ejecutadas. Y por último, como está compuesta la secuencia más característica. De este modo la herramienta nos brinda una visión completa del análisis realizado con posibilidad de inferir casos futuros.

3.10. Resumen Las organizaciones cuentan en la actualidad con aplicaciones globales que generan gran volumen información de la cual más allá de la necesidad por la cual se producen, permiten aprender y optimizar procesos de negocio de modo que la empresa los ejecute de mejor manera en cada una de sus acciones internas o proceso. Para ello es necesario contar con herramientas que permitan interpretar dicha información. En el presente capítulo se mencionan las distintas clasificaciones de este tipo de herramientas y sus características. Una de este

Page 57: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

57 Guillermo Ezequiel Fittipaldi Ciuffo

tipo de herramienta sentó base para la herramienta desarrollada en el presente trabajo. A continuación se mencionan detalles de la herramienta aquí desarrollada. Comenzando con el estado inicial de los datos generados mediante el proceso a analizar. Especificando el mecanismo de ingreso, seteo y mapeo de estructuras para que dicha información pueda ser cargada e interpretada por la solución de software del presente trabajo. Más adelante se detalla y ejemplifica el procesamiento de la información, preparando la misma para que la herramienta pueda ejecutar el análisis. Mostrando como va cambiando la estructura de los datos que la aplicación emplea. Una vez que se transformaron los datos la herramienta habilita los algoritmos implementados en la solución. Se muestra también, que datos deben ser ingresados para su empleo en el análisis y que mediante este ingreso se puedan generar distintos escenarios de análisis de manera dinámica en conjunto con los datos generados por el proceso a analizar. Los algoritmos implementados en la herramienta también tienen su sección en el presente capitulo detallando la estructura de datos necesaria para que ellos puedan ejecutar el análisis dada su implementación particular, empleada en el presente trabajo. Para finalizar, en la sección anterior se describe el resultado del procesamiento y análisis a través de la salida generada por dichas operaciones empleando la herramienta. Mostrando un ejemplo de resultado obtenido con las distintas solapas para este fin. El primer caso es el resultado del algoritmo ejecutado, de cual se observan características obtenidas. La segunda solapa muestra el gráfico de torta obtenido de acuerdo a la composición de cada secuencia y para finalizar la secuencia característica del proceso con la población analizada y cuál es la actividad preponderante en dicha secuencia.

Page 58: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

58 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 4. Descripción funcional de la herramienta El presente trabajo sienta el fundamento de su necesidad, en el gran volumen de datos generados en las organizaciones empleando herramientas de modelado de procesos de negocio, en particular aquellas que utilizan las prácticas de BPM. Debido a esta gran cantidad de información se necesitan soluciones para mostrar mediante tableros y datos contabilizados las cuestiones ocurridas en la ejecución de los negocios para que sus procesos evolucionar y mejorar. Los analistas de negocio necesitan de estas herramientas para tener la información para realizar mejoras a sus procesos. Como se mencionó en el capítulo “Estado del Arte”, existen distintas técnicas y métodos para efectuar el análisis de los procesos. Para esta herramienta se siguieron los pasos mencionados para la técnica de minería de procesos en particular se enfoca la conjunción de la técnica Descubrimiento y la técnica de Chequeo de Conformidad, de la Figura 3.5 del capítulo mencionado antes. A partir de los logs y del modelo dado en ellos, la herramienta busca dar un diagnostico e inferir cuestiones futuras dadas la casuísticas del modelo. OSBPM (Optimization Suggestions Business Process Management, Sugeridor de Optimizaciones de Gestión de Procesos de Negocio) busca inferir situaciones futuras a partir de los datos actuales obtenidos en los logs del proceso a analizar y su modelo. Tales registros son generados durante la ejecución del proceso llevada adelante por los usuarios del mismo. Por este motivo es necesario acordar con desarrolladores del proceso que dejen marca de cada actividad ejecutada en el mismo. La información que se quiera obtener de esta marca dependerá de los analistas de procesos para que puedan efectuar el análisis del mismo. Una vez que se cuenta los registros de la ejecución del proceso de negocio el analista de procesos deberá cargar los datos requeridos para realizar el análisis en la solución desarrollada en este trabajo. En la Figura 3.2 se puede observar la información necesaria a ingresar en la herramienta, mientras que en la Tabla 4.1 se describe cada campo. Es importante brindar esta información de manera precisa pues serán empleados para extraer los datos del proceso a analizar.

Page 59: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

59 Guillermo Ezequiel Fittipaldi Ciuffo

Nombre Campo Obligatorio Descripción Driver Si Descripción del conector empleado para

acceder a los datos. Cadena conexión Si Definición de la cadena empleada para la

conexión a la base de datos. Usuario Si Usuario de la base de datos que contiene la

información del proceso. Contraseña Si Contraseña de la base de datos. Id. Proceso No Identificador del proceso. La herramienta

no diferencia el proceso principal con este dato, sí con su descripción.

Nombre Proceso Si Descripción del proceso, permite describir el proceso.

Consulta SQL Si Consulta de acceso a los datos empleados para el análisis.

Col. Id. Instancia Si Identificador para cada una de las instancias que ejecutan el proceso.

Col. Id. Proceso Si Identificador de proceso o subproceso. Un subproceso es un proceso ejecutado dentro de otro proceso. Es donde pertenece la actividad que se muestra en los datos

Col. Desc. Proceso No Descripción del proceso o subproceso donde se ejecuta la actividad.

Col. Id. Actividad Si Identificador de la actividad ejecutada por la instancia. Diferencia las actividades del proceso

Col. Desc. Actividad Si Nombre descriptivo de la actividad. Col. Rol No Cada actividad es ejecutada por un rol en

particular del proceso. Col. Responsable No Es el usuario que ejecuto la actividad del

proceso. Col. Fecha Hora Inicio Si Fecha de ejecución de la actividad. Parámetros Adicionales (separador ,)

No Son datos particulares del proceso a analizar, permiten caracterizar a una instancia. Cada columna es separada por comas.

Cant. Inst. Si Cantidad de instancias que se considerarán en el análisis del proceso actual.

Tabla 4-1 – Datos iniciales del proceso.

La herramienta emplea el campo “Consulta SQL” para obtener los datos del proceso a analizar. Como se explicó en el capítulo anterior, estos datos son mapeados en la estructura de la solución, de modo que se pueda procesar la información como se mencionó antes. La herramienta permite la carga de dichos datos de manera manual o a partir de un archivo XML con estructura particular. En el segundo método de carga la herramienta realiza automáticamente la carga en los datos a los campos correspondientes. La estructura del XML es como sigue:

Page 60: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

60 Guillermo Ezequiel Fittipaldi Ciuffo

<configuracion> <driver_class>oracle.jdbc.OracleDriver</driver_class> <url>jdbc:oracle:thin:@localhost:1521:xe</url> <username>PDWDB</username> <password>PDWDB01</password> <consulta>SELECT SOLICITUDID,SYSTEM_ID,TRACKING_POINT_ID,TIME_STAMP,SOLICITUDESTADO,SOLICITUDTIPOCOMPROBANTE,SOLICITUDIMPORTE FROM TG_TG_FPL</consulta> <nombreProcesoAnalisis>Facturas</nombreProcesoAnalisis> <idProcesoAnalisis>3</idProcesoAnalisis> <nombreColumnaConsulta> <identificadorInstancia>SOLICITUDID</identificadorInstancia> <idProceso>SYSTEM_ID</idProceso> <descripcionProceso/> <idActividad>TRACKING_POINT_ID</idActividad> <decripcionActividad>SOLICITUDESTADO</decripcionActividad> <rol/> <responsable/> <fechaHoraInicio>TIME_STAMP</fechaHoraInicio> <fechaHoraFin/> <parametrosAdicionales>SOLICITUDTIPOCOMPROBANTE,SOLICITUDIMPORTE</parametrosAdicionales> </nombreColumnaConsulta> </configuracion> Se puede apreciar que la estructura aquí mostrada es similar a la composición de campos mencionados en la Tabla 4.1. Dada esta información, la herramienta convierte los datos existentes en el archivo XML para mapearlos como datos de entrada necesarios para el procesamiento y posterior análisis del proceso de negocio mediante alguno de los métodos mencionados en la siguiente sección. Una vez que los datos son cargados desde la base de datos, la herramienta está en condiciones de inferir el modelo del proceso de negocio para ser empleado en el análisis. De acuerdo a esto, la herramienta realiza el “Descubrimiento” del modelo de proceso a analizar. Luego, con los logs y el modelo inferido, la herramienta aplica el mecanismo de “Chequeo de conformidad” para efectuar el diagnóstico como resultado del procesamiento. Estas dos etapas constituyen la conjunción de dos de los tres tipos de minería de procesos mencionados antes en el presente informe (ver Figura 2.5). Este diagnóstico se realiza empleando alguno de los algoritmos implementados en la solución para interpretar la utilización del proceso de negocio.

Page 61: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

61 Guillermo Ezequiel Fittipaldi Ciuffo

Más adelante en el presente capitulo se dará la descripción funcional de la solución sustentada por los diagramas de UML destinados a tal fin. En primer lugar los diagramas de casos de uso, luego un diagrama de secuencia del caso más preponderante y complejo de la solución, más adelante el diagrama de estados de la herramienta. En el siguiente capítulo se dará descripción y definiciones técnicas de la herramienta desarrollada, así mismo se fundamentarán las decisiones tomadas.

4.1. Minería de procesos aplicada

4.1.1. Descubrimiento El objetivo fundamental del descubrimiento es revelar automáticamente modelos de procesos que describan procesos, con precisión, considerando solamente registros de eventos de sus procesos operacionales [AlB2013]. En el presente trabajo se emplea este proceso en primera instancia, y luego de la carga de la información, la herramienta busca inferir el modelo del proceso de negocio a analizar. Este paso en búsqueda del objetivo de la herramienta es importante ya que permite que el analista de procesos pueda determinar con más claridad el flujo de las instancias del proceso y cómo es su utilización. De este tipo de minería de procesos existen diferentes trabajos que emplean distintos tipos de algoritmos de descubrimiento priorizando distintas cuestiones, por ejemplo, resaltar el flujo principal del proceso sacrificando la precisión para lograr distintos niveles de abstracción y obtener modelos más entendibles [WG2009]. Otros, proponen un método para pre procesar las trazas antes de obtener el modelo de procesos [ChV2009]. En la Figura 4.1 se puede apreciar un modelo generado a partir del último método mencionado

Page 62: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

62 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 4.1 - Modelo generado con el método de Chandra.

En el presente trabajo se simplifica el modelo inferido, buscando precisión secuencial del flujo de actividades característico del proceso analizado. Esto es, la secuencia más ejecutada por las instancias o registros de eventos del proceso de negocio. Facilitando la interpretación del modelo inferido ya que se focaliza en el caso más preponderante.

4.1.2. Chequeo de conformidad Un analista de procesos puede utilizar un modelo teórico del proceso para comprobar si la realidad (según la información en el log de eventos) está conforme al modelo y viceversa, esto resulta de gran utilidad a dichos analistas para detectar desviaciones, localizarlas, explicarlas y medir su gravedad. En el presente trabajo aplica de manera diferente esta técnica. Si bien no efectúa comparación con el modelo del proceso a analizar (ya que este no es input de la herramienta), genera a partir de algoritmos de minería de datos el análisis de la información recolectada de los logs y en conjunto con el modelo generado pueda diagnosticar la funcionalidad del proceso y determinar las mejoras pertinentes. El resultado del algoritmo permite inferir el diagnostico al analista de manera que este pueda ser interpretado libremente.

Page 63: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

63 Guillermo Ezequiel Fittipaldi Ciuffo

4.1.3. Algoritmos implementados en la herramienta En la presente sección se realizara una introducción breve a los algoritmos empleados en la herramienta. Esta mención es a titulo descriptivo de los métodos con las características particulares de su implementación. La minería de datos cuenta con tres grandes componentes [ADMA1997]: Clustering o clasificación, Reglas de asociación y Análisis de Secuencias. En el Clustering o Clasificación se analizan los datos y se generan conjuntos de reglas que agrupen y clasifiquen los datos futuros. Debe tenerse en cuenta que en la Minería de Datos se busca obtener reglas que particionen los datos en clases predefinidas, esto se torna complicado cuando hay una gran cantidad de atributos y millones de registros. Una regla de asociación es una regla que implica o presenta ciertas relaciones entre un grupo de objetos en una base de datos. En el proceso de la minería de datos se obtienen varias reglas de este tipo con distintos niveles de abstracción. Nuevamente, no debemos olvidar que esto puede implicar el análisis iterativo de bases de datos transaccionales o relacionales, con millones de registros, lo cual presenta un elevado costo operativo. Por lo tanto, la obtención de reglas a partir de bases de datos relacionales o transaccionales es un importante tema de estudio. Por último, el análisis de secuencias trata de encontrar patrones que ocurren con una secuencia determinada. Trabaja sobre datos que aparecen en distintas transacciones – a diferencia de los datos que aparecen relacionados mediante reglas dentro de una misma transacción. En particular para el presente trabajo se implementaron algoritmos que emplean técnicas de: Agrupamiento (clustering) y clasificación. A continuación se describen dichos algoritmos.

4.1.3.1 Algoritmos de agrupamiento Buscan agrupamientos de tal forma que los objetos de un grupo sean similares entre sí de acuerdo a algún criterio y diferentes de los objetos de otros grupos de acuerdo a dicho criterio. AgrupamientoJerárquico Los llamados métodos jerárquicos tienen por objetivo agrupar para formar un nuevo grupo o bien separar alguno ya existente para dar origen a otros dos, de tal forma que, si sucesivamente se va efectuando este proceso de aglomeración o división, se minimice alguna distancia o bien se maximice alguna medida de

Page 64: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

64 Guillermo Ezequiel Fittipaldi Ciuffo

similitud [HC2006]. Una característica del método es calcular la distancia entre objetos, y luego entre grupos cuando los objetos están en un grupo determinado. Existen dos estrategias para agrupamiento jerárquico:

• Aglomerativas: esta es una estrategia de proximidad ascendente: cada observación comienza en su propio grupo, y los pares de grupos son mezclados mientras uno sube en la jerarquía.

• Divisivas: estrategia denominada descendente: todas las observaciones comienzan en un grupo, y se realizan divisiones mientras uno baja en la jerarquía.

Para la herramienta en cuestión se implementa la estrategia aglomerativa basada en métodos. Entre los diferentes métodos que implementan el agrupamiento por herencia se empleó el método Cobweb, este método describe probabilísticamente los clusters detectados. COBWEB [KAICC1987], se caracteriza porque utiliza aprendizaje incremental, esto es, realiza las agrupaciones instancia a instancia. Durante la ejecución del algoritmo se forma un árbol (árbol de clasificación) donde las hojas representan los segmentos y el nodo raíz engloba por completo el conjunto de datos de entrada. Al principio, el árbol consiste en un único nodo raíz. Las instancias se van añadiendo una a una y el árbol se va actualizando en cada paso. La actualización consiste en encontrar el mejor sitio donde incluir la nueva instancia, operación que puede necesitar de la reestructuración de todo el árbol (incluyendo la generación de un nuevo nodo anfitrión para la instancia y/o la fusión/partición de nodos existentes) o simplemente la inclusión de la instancia en un nodo que ya existía. La clave para saber cómo y dónde se debe actualizar el árbol la proporciona una medida denominada utilidad de categoría, que mide la calidad general de una partición de instancias en un segmento. La reestructuración que mayor utilidad de categoría proporcione es la que se adopta en ese paso. El algoritmo es muy sensible a dos parámetros, entre otros:

a) Acuity: Este parámetro es muy necesario, ya que la utilidad de categoría se basa en una estimación de la media y la desviación estándar del valor de los atributos, pero cuando se estima la desviación estándar del valor de un atributo para un nodo en particular, el resultado es cero si dicho nodo sólo contiene una instancia. Así pues, el parámetro acuity representa la medida de error de un nodo con una sola instancia, es decir, establece la varianza mínima de un atributo.

b) Cut-off: Este valor se utiliza para evitar el crecimiento desmesurado del número de segmentos. Indica el grado de mejoría que se debe producir en la utilidad de categoría para que la instancia sea tenida en cuenta de manera individual. En otras palabras: cuando no es suficiente el incremento de la utilidad de categoría en el momento en el que se añade

Page 65: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

65 Guillermo Ezequiel Fittipaldi Ciuffo

un nuevo nodo, ese nodo se corta, conteniendo la instancia otro nodo ya existente.

Se puede decir que Cobweb organiza las instancias incrementalmente en un árbol de clasificación. Cada nodo del árbol de clasificación representa una clase y las hojas son nombradas con un concepto probabilístico que sumariza las distribuciones de atributo-valor de los objetos clasificados en dicho extremo del árbol. Dicha estructura puede ser empleada para detectar atributos faltantes o la clase de nuevos objetos en el dominio. Además COBWEB pertenece a los métodos de aprendizaje conceptual o métodos basados en modelos. Esto significa que cada cluster se considera como un modelo que puede describirse intrínsecamente. Al algoritmo COBWEB no hay que proporcionarle el número exacto de clusters que queremos, sino que en base a los parámetros anteriormente mencionados encuentra el número óptimo. Para poder obtener un árbol más manejable, se modifica el parámetro cut-off del valor cargado por defecto. El valor elegido es 0,05 y para concretar el análisis de manera simple y efectiva, para este algoritmo se deja sin elegir la clase índice de los atributos. Empleando este algoritmo el analista de procesos obtiene las distintas instancias del proceso organizadas en una estructura de árbol que les permite entender cómo se comportaron las distintas ejecuciones del negocio. Detectando de manera simple cuales son los flujos característicos y donde se debería poner foco en optimizar los procesos. Un flujo que han ejecutado muchas instancias puede indicar diferentes cuestiones, por ejemplo, se deberán optimizar las tareas que en ese flujo se ejecutan de modo que el proceso completo sea más eficiente. También se pueden detectar casos particulares del proceso, donde posiblemente se pueda unificar las tareas para lograr una mejor utilidad de dicho flujo.

Page 66: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

66 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 4.2 – Cobweb: Visualización del árbol obtenido.

En la Figura 4.2 se puede apreciar una distribución arbórea resultante de analizar un modelo complejo. Si bien la imagen se muestra de manera compacta, si esta es organizada visualmente puede dar un valor adicional que ayude a entender la composición del árbol obtenido y a su vez, con la información textual resultante podemos lograr un análisis completo, sobre todo a inferir casos futuros. KMeans Se trata de un algoritmo clasificado como Método de Particionado y Recolocación. Este método es hasta ahora el más utilizado en aplicaciones científicas e industriales. El nombre le viene porque representa cada uno de los clusters por la media (o media ponderada) de sus puntos, es decir, por su centroide. Este algoritmo de clustering es una partición basada en la técnica de clasificación/agrupamiento de ítems en K grupos (donde K es usado para especificar el número de clusters). El agrupamiento es realizado minimizando la suma de las distancias al cuadrado entre ítems y al centroide correspondiente. Un centroide es “el centro de masa de un objeto geométrico de masa uniforme”. La representación mediante centroides tiene la ventaja de que tiene un significado gráfico y estadístico inmediato. Este algoritmo selecciona K números de objetos, cada uno de los cuales representa un centro de cluster. Para cada uno de los objetos restantes, se le asigna el cluster más similar. Esta similitud se define en base a la distancia entre

Page 67: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

67 Guillermo Ezequiel Fittipaldi Ciuffo

el objeto y el centroide del cluster. El algoritmo procesa centro por centro de cluster, hasta completar todo el conjunto de datos [KMeans2012]. Este algoritmo trabaja con las discrepancias entre los elementos y los centroides. La suma de las discrepancias entre un punto y su centroide, expresado a través de la distancia apropiada, se usa como función objetivo. La función objetivo, suma de los cuadrados de los errores entre los puntos y sus centroides respectivos, es igual a la varianza total dentro del propio cluster. En el presente trabajo se emplea el algoritmo SimpleKMeans, empleando distancia euclidiana para el procesamiento de cada centroide. A diferencia del método anterior, este necesita que se ingrese la cantidad de centroides a clasificar. Dicho valor debe ser ingresado antes de realizar el análisis. Mediante este algoritmo la herramienta agrupa las instancias con menor distancia a cada uno de los centroides determinado. Este agrupamiento de secuencias permite detectar, además de los grupos de secuencias con mayor semejanza, cuales son los valores dados para cada vector representando a la instancia a considerar con dichos valores podemos determinar por ejemplo las actividades que fueron alcanzadas por las secuencias del mayor agrupamiento, que valores tienen las instancias que recorrieron dicha secuencia, pudiendo de este modo preparar el proceso para que se comporte mejor en los casos principales del proceso. A su vez, mediante los parámetros adicionales que ayudan a caracterizar mejor las secuencias con valores deseados por el analista se logrará comprender aún con mayor detalle la casuística de los mayores agrupamientos obtenidos.

Figura 4.3 – KMeans: Diagrama resultante.

Page 68: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

68 Guillermo Ezequiel Fittipaldi Ciuffo

La visualización del algoritmo permite detectar de manera simple la distribución lograda de los elementos en análisis de acuerdo a las características que cada uno tiene. En la Figura 4.2 se puede apreciar un denograma generado luego de construir el modelo con el método de agrupamiento mencionado en esta sección.

4.1.3.2 Algoritmos de clasificación Este tipo de algoritmos de minería de datos buscan modelos (funciones) que describen y distinguen clases o conceptos para futuras predicciones. El problema de la clasificación es el más frecuente en la práctica. Bayes Este calificador es un método probabilístico simple basado en el teorema de Bayes con independencia de suposiciones. Básicamente este clasificador asume que cada atributo describe en cierta medida a una clase, y asume que la presencia (o ausencia) de características particulares de una clase está relacionada a la presencia (o ausencia) de cualquier otra característica [FSANBC2010]. Es decir, para clasificar un auto podríamos decir que tiene llantas, volante, asientos, un motor, y puertas. El paradigma clasificatorio en el que se utiliza el teorema de Bayes en conjunción con la hipótesis de independencia condicional de las variables empleadas para predecir situaciones dada la clase se conoce bajo diversos nombres que incluyen los de idiota Bayes, naive Bayes, simple Bayes y Bayes independiente [CB2004]. El clasificador naive bayes provee un método simple con semántica clara, representando, usando y aprendiendo el conocimiento probabilístico. Este método puede ser visto como una especialización de una red Bayesiana, el término naive es por dos aspectos de simplificación que se asumen. Por un lado asume que los atributos predecibles de una clase son condicionalmente independientes y por otro lado propone que los atributos ocultos o latentes de la clase no influyan en el proceso de predicción [nBC1995]. Contemplando únicamente para dicho proceso los atributos existentes. A pesar de sus suposiciones aparentemente sobre simplificadas, el clasificador naive Bayes se ha comportado de buena manera (trabajar de manera eficiente) en situaciones del mundo real. En 2004 se mostró que son teóricas las razones de la ineficiencia de los clasificadores naive Bayes [HZONB2004]. Aun una comparación con otros métodos de clasificación mostró que este método fue más eficiente que mecanismos más actuales, como Random Forest o Boosted Trees [CSLA2006].

Page 69: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

69 Guillermo Ezequiel Fittipaldi Ciuffo

Una de las ventajas de este algoritmo es que no necesita grandes cantidades de datos para estimar los parámetros necesarios para obtener la clasificación. Esto se debe a que se asume que todas las variables son independientes, este método solo debe determinar las variancias de las variables para clase en lugar de la covariancia de la matriz completa [NB2002]. En particular, para el presente trabajo, se emplea la variante denominada updateable. Este clasificador usa una precisión por defecto de 0.1 para atributos numéricos para instancias sin entrenamiento previo. Su nombre es NaiveBayesUpdateable. Este algoritmo realiza la clasificación de las instancias analizadas de acuerdo a los valores contenidos en cada caso. El analista de procesos podrá comprender las características de esta clasificación, tanto por los valores de cada instancia del proceso como por las características del negocio dadas por los parámetros adicionales. Además de entender la población actual, el usuario podrá predecir en base a los valores de clases de las instancias comportamientos futuros del proceso. Con este sustento el analista podrá mejorar el proceso actual para que se comporte mejor en el futuro.

Figura 4.4 - Bayes: Red bayesiana.

La Figura 4.4 muestra un ejemplo de red de bayes simples. En el mismo se muestra la red bayesiana y las tablas de probabilidad condicional de algunas de las variables. En ella encontramos la probabilidad a priori de Comida, P(C); probabilidad de Tifoidea dada Comida, P (T|C); y probabilidad de Fiebre dada Tifoidea y Gripe, P (F|T, G). En este ejemplo se asume que todas las variables

Page 70: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

70 Guillermo Ezequiel Fittipaldi Ciuffo

son binarias [RB2006]. Aquí se emplea el mismo modelo binario, para el presente trabajo presenta la utilidad de detectar rápidamente aquellas clasificaciones con mayor cantidad de instancias asignadas a la categoría en cuestión. Árbol Estos algoritmos están entre los más conocidos y ampliamente usados de todos los métodos de máquinas de aprendizaje. Los métodos de árboles de decisión comienzan con un conjunto de casos y crean una estructura de datos de árbol que puede ser usada para clasificar nuevos casos. Cada caso es descripto por un conjunto de atributos los cuales pueden tener valores numéricos o no numéricos. Asociado con cada caso encontramos una hoja que contenga el nombre de una clase. Cada nodo interno contiene una bifurcación usada para seguir de nodo en nodo de acuerdo a características de los casos [T1993]. Estas estructuras son guías jerárquicas multi-via donde los valores de los elementos que la componen son el criterio para evaluar cada instancia. Cada elemento en dicha estructura se refiere a la toma de una decisión o camino hacia otra jerarquía, hasta que todos los elementos involucrados se han tomado en cuenta. Esta estructura es multi-vía porque pueden existir más de dos opciones y a su vez es una guía porque al responder una pregunta se llega a una decisión [ALES1997]. Un árbol de decisión, o un árbol clasificador, es usado para aprender un método de clasificación el cual determina el valor de un atributo dependiente dados los valores de los atributos independientes. Esta verificación es un problema conocido como clasificación supervisada, porque los atributos dependientes y el conjunto de clases son dados [DT2013]. Los arboles de decisión son un tipo especial de modelo de clasificación. Idealmente, los modelos deben ser capaces de predecir los valores de la clase del nuevo elemento, no visto previamente con gran precisión. En el trabajo aquí implementado se utilizó la variante J48 de árboles de decisión, con generación de árboles “podados” o “no podados”. Este es un algoritmo de inducción que genera una estructura de reglas o árbol a partir de subconjuntos (ventanas) de casos extraídos del conjunto total de datos de “entrenamiento”. El algoritmo genera una estructura de reglas y evalúa su “bondad” usando criterios que miden la precisión en la clasificación de los casos. Emplea dos criterios principales para dirigir el proceso dados por [TDC2005]:

1. Calcula el valor de la información proporcionada por una regla candidata (o rama del árbol.

2. Calcula la mejora global que proporciona una regla o rama.

Page 71: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

71 Guillermo Ezequiel Fittipaldi Ciuffo

El analista encontrará particularmente útil este algoritmo de análisis por la simplicidad del resultado representado y la facilidad de predecir casos nuevos en la estructura generada desde la raíz hasta el elemento diferencial de cada caso. Al igual que los algoritmos anteriores, esta ayuda permite al analista de procesos focalizarse en los casos realmente relevantes a partir de la estructura de árbol generada.

Figura 4.5 - Árbol: diagrama resultante.

Como se mencionó antes los arboles de decisión son una estructura que resulta simple de comprender y más simple aún para inferir situaciones futuras, de acuerdo a los valores que los vectores a analizar tienen. En la Figura 4.5 se puede apreciar lo reciente mente mencionado. BasadoInstancia En esta sección se refiere a algoritmos basado en instancias, los cuales usan específicamente instancias en lugar de abstracciones pre-compiladas durante las tareas de predicción. Estos algoritmos pueden también describir conceptos probabilísticos porque usan funciones de similaridad para producir congruencia entre las instancias. Los algoritmos basados en instancias consisten en una variación de la función k-nearest neighbor (k-NN, k vecinos cercanos). Se demostró su capacidad al compararlos con el modelo de reglas de decisión de Bayes [IB1991]. El algoritmo de vecinos más cercanos (Nearest Neighbor) es un algoritmo de aprendizaje inductivo que almacena todos lo n ejemplos disponibles de un conjunto de entrenamiento, T, durante el aprendizaje. Las instancias están definidas por un vector de entrada y luego del procesamiento se tiene una clase

Page 72: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

72 Guillermo Ezequiel Fittipaldi Ciuffo

de instancias como salida. Durante el procesamiento estos sistemas usan una función de distancia para determinar cuan cercano es un nuevo vector de entrada a cada instancia almacenada y usa la instancia más cercana para predecir la clase resultante [KNN2000]. Es un algoritmo del método aprendizaje perezoso (lazy learning). Este método de aprendizaje se basa en que los módulos de clasificación mantienen en memoria una selección de ejemplos sin crear ningún tipo de abstracción en forma de reglas o de árboles de decisión (de ahí su nombre, lazy, perezosos). Cada vez que una nueva instancia es encontrada, se calcula su relación con los ejemplos previamente guardados con el propósito de asignar un valor de la función objetivo para la nueva instancia [IRC2007]. De los diferentes métodos que implementan métodos basados en instancias se seleccionó el método IBK. El mismo selecciona el valor de K basado en el método de validación cruzada y el cálculo de la distancia con la ponderación de las instancias. La clasificación lograda mediante este algoritmo permite determinar a partir de los K vecinos aquellas instancias que son más próximas de acuerdo a su similitud con los vectores seleccionados. De este modo ayudará a predecir dada las características de un vector nuevo que secuencia puede recorrer en el proceso a analizar.

Figura 4.6 - BasadoInstancia: Resultado gráfico.

En la Figura 4.6 podemos apreciar un denograma clasificatorio de instancias, donde se nota claramente los conglomerados más próximos a un centroide. La

Page 73: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

73 Guillermo Ezequiel Fittipaldi Ciuffo

densidad del mismo detecta las clasificaciones más características del negocio y donde poner mayor énfasis en el futuro tener mejores resultados.

4.2. Diagrama funcional de la herramienta Como se mencionó antes, OSBPM es una herramienta que permite a un analista de procesos efectuar análisis de procesos de negocio sugiriendo aquellos casos principales de ejecución de acuerdo a la utilización de los mismos. Para lograr este objetivo la herramienta requiere de pasos previos a ser coordinados con los equipos de desarrollo de soluciones BPM, de modo que preparen las soluciones para dejar “marcas” a lo largo de la ejecución del proceso a analizar. Estos elementos son los que el analista proporcionará para que la herramienta concrete su objetivo. Actualmente la herramienta soporta ingreso de datos a partir de una base de datos. Este medio de almacenamiento tiene optimizada cuestiones de acceso a los datos facilitando, a su vez, el guardado y filtrado de información de modo sencillo y rápido, además de ser un mecanismo empleado en la gran mayoría de las aplicaciones de BPM, tanto por el negocio que debe ser persistido por el proceso como las transiciones llevadas adelante por la solución desarrollado. En la Figura 4.7, donde se muestra un nivel más bajo de abstracción al mostrado en la Figura 1.1, se puede observar como la funcionalidad comentada en el capítulo anterior es alcanzada por la herramienta desarrollada en el presente trabajo. Como primer paso se efectúa el acceso y la carga de datos desde el origen. En este paso se realiza el mapeo de los datos del proceso de negocio a la estructura interna de la herramienta para comenzar el procesamiento. Una vez finalizado dicho mapeo, se cumplimenta la primera transformación de tales datos. Dicho procesamiento se realiza a partir de los datos cargados y empleando un algoritmo de detección de secuencia se infiere el modelo del proceso. Es en este paso donde se aplica la técnica de “Descubrimiento” de la Minería de Procesos. El modelo logrado en este paso tiene como resultado las secuencias ejecutadas por las instancias y facilita la generación de la estructura para mostrar al usuario la secuencia característica del proceso. Las secuencias ayudan a comprender los flujos ejecutados en el proceso por cada una de las instancias.

Page 74: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

74 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 4.7 - Funcionalidad herramienta.

En la siguiente etapa la herramienta prepara los datos para ser procesados y obtener el diagnóstico mediante el análisis efectuado el algoritmo elegido por el usuario. Es en esta etapa donde se realiza la segunda transformación mencionada antes. Tal procesamiento convierte los vectores de secuencias en una estructura similar pero que puede ser interpretada por los algoritmos antes mencionados. En esta etapa, y gracias a la colaboración de los algoritmos, el analista puede efectuar el “Chequeo de conformidad” del proceso. Esta etapa se ve muestra en la Figura 4.7, bajo el nombre “Aplicar algoritmo análisis”. Es en esta etapa que la herramienta emplea parametría propia para efectuar la segunda transformación y luego ejecutar el algoritmo. Cabe aclarar que la herramienta permite ejecutar varias veces esta etapa permitiendo variar el escenario preparado mediante el peso y la propiedad asignada a la secuencia, y el algoritmo a ejecutar. Una vez que el algoritmo elegido ha completado su análisis, se presenta el resultado al usuario para que pueda completar el objetivo buscado.

4.3. Diagrama de casos de uso La herramienta compone su funcionalidad en tres casos principales. Estos son:

1. El analista de procesos ingresa información de los datos. 2. El analista de procesos presiona el botón "Cargar datos".

Page 75: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

75 Guillermo Ezequiel Fittipaldi Ciuffo

3. El analista de procesos presiona el botón "Ejecutar análisis". En la Figura 4.8 se muestra el diagrama con los casos mencionados. Estos casos de uso son expresados a alto nivel, el desglose de estos no se realizará pues con ellos se logra el objetivo de describir la funcionalidad de la herramienta.

Figura 4.8 – Diagrama de casos de uso.

Esta solución está principalmente dirigida a analistas de procesos, quienes son los encargados de definir y refinar los procesos de negocio de las organizaciones. Ellos tienen el conocimiento necesario, junto con distintos usuarios referentes de la organización que ejecutan tareas en el proceso automatizado. A ellos están principalmente destinada esta herramienta. Para comenzar el Caso de uso 1 se refiere a la información cargada por el usuario para brindarle información necesaria de modo que la herramienta acceda a los datos. Tal especificación deben estar cargados y mapeados de manera correcta sin ellos la herramienta no podrá lograr su objetivo principal. La carga de los datos puede realizarse campo a campo de la pantalla o desde un archivo con formato determinado para ser mapeado a los campos de la pantalla. El contenido de la pantalla es el mostrado en la Tabla 4.1. El caso de uso dos, El analista de procesos presiona el botón "Cargar datos", la solución tiene la información correspondiente para efectuar la búsqueda de los datos y el usuario puede presionar el botón correspondiente a la carga de los datos. La herramienta ejecuta la carga el contenido del proceso ejecutado y la deja disponible para su posterior análisis. Esto es, transformar los datos de modo que puedan ser interpretados por los algoritmos encargados del análisis en la siguiente etapa.

Page 76: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

76 Guillermo Ezequiel Fittipaldi Ciuffo

Por último, El analista de procesos presiona el botón "Ejecutar algoritmo", el tercer caso de uso. La herramienta cargó los datos del proceso, los preparó para la ejecución y los deja disponibles para que el usuario de la herramienta elija el algoritmo a emplear y cargue la configuración del modelo a analizar. Aquí el analista puede modificar el escenario de análisis mediante la carga de peso y característica para cada conjunto de datos. Cabe recordar que estos conjuntos están compuesto por las instancias del proceso y el agrupamiento está dado por las secuencias recorridas por dichas entidades del proceso. Mediante la carga dinámica de dichos parámetros los usuarios de la herramienta pueden generar distintas condiciones de análisis.

4.4. Diagramas de secuencia En la presente sección se mostrarán los diagramas que describen los flujos de ejecución más importantes de la herramienta y con la idea de explicar su funcionamiento de manera clara. En primer lugar se representa la carga de los datos y la primera transformación, en el siguiente diagrama se hace referencia al segundo procesamiento de la información para más tarde ejecutar el análisis. El segundo caso de uso hace referencia a la carga de los datos en la herramienta. En la ejecución de esta funcionalidad se toma la información ingresada por el analista. De este modo accede a los datos del proceso de acuerdo a la configuración cargada, es mediante la sentencia SQL que se extraen los datos del proceso desde el origen indicado. Con el mapeo de las columnas con los atributos de la solución se completa la carga de los datos. Luego del mapeo interno, se genera la primera transformación para obtener las secuencias ejecutadas por cada una de las instancias del proceso de negocio. A continuación se muestra el diagrama aquí referido.

Figura 4.9 – Diagrama secuencia: Carga de datos.

Page 77: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

77 Guillermo Ezequiel Fittipaldi Ciuffo

En la Figura 4.9 se puede observar el flujo de ejecución para efectuar la carga y transformación de los datos del proceso. El usuario a través de la pantalla dispara la carga, es el objeto OptimizadorCoordinador el encargado de solicitarle al OptimizadorModelo que construya el modelo de datos necesarios para que la herramienta realice el análisis. La instancia de la clase XMLLoader contiene el mecanismo de obtención de la información del proceso. Una vez que la herramienta cargo la información del proceso, mediante el objeto GeneradorAdyacentes se generan las secuencias así como el grafo representante del proceso a analizar. Tal conjunto será el empleado por la solución para generar el resultado. Una vez que la herramienta haya convertido los datos del proceso en información entendible por ella, se habilitan los controles para que el usuario dispare la ejecución del análisis con el algoritmo elegido y la configuración cargada para el escenario de análisis a generar. Luego que el analista cargo la configuración deseada para el análisis, la herramienta se encuentra lista para cumplir su objetivo. Se realiza la segunda transformación, las secuencias son convertidas al formato mencionado en el capítulo anterior, ARFF, de modo que los algoritmos puedan comprender y analizar los datos provistos. Un instante más tarde, la herramienta construye la estructura del algoritmo seleccionado para ser mostrada al analista. Mediante la cual, el usuario podrá inferir casos futuros si se dan determinados sucesos en el proceso pudiendo de este modo sugerir optimizaciones que mejoren el comportamiento del mismo en tiempos de respuesta y prestaciones del mismo.

Page 78: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

78 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 4.10 – Diagrama de secuencia: Ejecutar análisis.

En la Figura 4.10 encontramos el flujo de ejecución principal para encontrar el resultado del análisis. Una vez que se cargaron y procesaron los datos, donde se efectuó la primera trasformación de ellos. La herramienta habilita para ejecutar el análisis, el usuario elige el algoritmo, elegir distribución de peso a emplear y presionar el botón “Ejecutar algoritmo” comenzando con el diagrama mostrado. La clase OptimizadorModalPantallaPrincipal dispara la ejecución del análisis invocando al método ejecutarAnalisis del objeto OptimizadorCoordinador. Este último es el encargado de organizar la ejecución del análisis, iniciando con la carga de la de los pesos asociados a las secuencias. Para el diagrama se eligió la distribución manual de pesos. Una vez cargada dicha parametrización, se invoca a una instancia de la clase OptimizadorModelo para la ejecución del algoritmo. La clase OptimizadorModelo es la encargada de toda la lógica relacionada con la ejecución del análisis. La primera acción está relacionada con la transformación de las instancias del proceso en las instancias ARFF. En el próximo capítulo se mencionará con mayor detalle cómo se refiere a la clase para generar las instancias ARFF. El modelo transformado será empleado en para el análisis empleando el algoritmo elegido, es después de este paso donde se realizará la construcción de la estructura del algoritmo.

Page 79: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

79 Guillermo Ezequiel Fittipaldi Ciuffo

El OptimizadorModelo dispara la construcción de la estructura basada en las instancias generadas. Es esta estructura la que ayudará al analista a inferir casos futuros basados en la experiencia obtenida por el algoritmo. La clase que se encarga de generar esta estructura es subclase de ProcessExplorer y se emplea según el método elegido. Una vez que el método genero la estructura, pasa el resultado al OptimizadorModelo, para que este lo informe y el OptimizadorModelPantallaPrincipal muestre el resultado al usuario.

4.5. Diagrama de despliegue Hasta el momento se describieron las principales características funcionales de la herramienta. En esta sección se mostrarán los principales componentes que la integran buscando darle un sentido operativo a la funcionalidad especificada antes. En el siguiente capítulo se mostrará la composición aun nivel más bajo de abstracción mencionando también aspectos y decisiones técnicas empleadas en el desarrollo de la presente solución.

Page 80: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

80 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 4.11 – Diagrama de despliegue.

El modelo está formado por dos componentes principales, y considera un tercer componente por ser origen de información. Los dos principales esta conformados por el módulo OSBPM, el modulo base de datos principal y el tercer componente base de datos Logs. En el módulo OSBPM, contiene toda la funcionalidad de la solución. Este provee el componente de visualización al usuario, osbpm.pantalla, su diseño fue considerado un nivel de abstracción tal que permita el cambio rápido y sencillo de pantalla al usuario, con interface simple y de funcionalidad específica para su uso. En el módulo antes mencionado, nos encontramos también el componente principal encargado de coordinar el flujo de ejecución desde la carga de los datos hasta la obtención de los resultados. Este elemento de la herramienta llamado osbpm.ordenador, contiene la funcionalidad básica para integrar la pantalla de la

Page 81: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

81 Guillermo Ezequiel Fittipaldi Ciuffo

solución y la entidad encargada tanto de las transformaciones como de la ejecución del análisis. El coordinador fue diseñado para proveerle al desarrollador mecanismo simple de herencia y composición, de modo que pueda ser extendido y optimizado según se requiera. Por último, se encuentra el módulo osbpm.modelo. Este contiene el mecanismo central de la herramienta, contenedor de las invocaciones a los algoritmos para lograr el objetivo del análisis de acuerdo al método y configuración elegida. Cada clase que lo compone tiene como objetivo agregarle funcionalidad a la solución, ya sea para lograr la transformación de los datos como los algoritmos necesarios para efectuar el análisis. Estas clases son especificadas de manera que su extensión o especialización sea lograda con el menor cambio al modelo y la mayor velocidad de incorporación. La aplicación toma como dos componentes distintos el acceso a datos, osbpm.modeloDatos y osbpm.generadorProceso. Por un lado, la base de la solución donde se encuentran los datos propios de la misma. Esta conexión a la base se realiza mediante un conector genérico que permite flexibilidad, eficiencia y simplicidad en el manejo de datos. El segundo componente de acceso a datos destinado a efectuar la carga de la información que el usuario dio como entrada a la herramienta. El mecanismo empleado facilita el ingreso desde distintos tipos de orígenes, en este caso la herramienta cuenta con carga de datos desde diferentes tipos de base de datos y la conexión se logra mediante el estándar del lenguaje empleado para el desarrollo de la herramienta. Se provee conectores a bases de datos Oracle y SQL Server. En la Figura 4.11 se puede apreciar lo recientemente mencionado en esta sección, se ve claramente los tres componentes principales de la herramienta y la organización interna de cada componente. Dicho diagrama ayuda a comprender de manera más simple la composición de la herramienta y sus partes principales. Además, ayuda a justificar su existencia.

4.6. Resumen Este capítulo describe funcionalmente la herramienta. Esta descripción abarca desde las tareas a realizar por los desarrolladores del proceso a analizar, hasta la popularización de la herramienta. Se comenzó comentado la descripción de los valores a proporcionar para que la herramienta pueda cargar las marcas dejadas por los desarrolladores del proceso en los logs que fueron persistiendo a medida que el proceso se fue ejecutando. Como se mencionó antes, el presente trabajo permite la carga a partir de una

Page 82: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

82 Guillermo Ezequiel Fittipaldi Ciuffo

estructura de archivo XML. Aquí se encuentra la descripción de dicha estructura y un ejemplo de contenido del mismo para ser cargado por la solución implementada. Otro de los puntos abordados por el presente capítulo menciona las técnicas de minería de procesos aplicadas en el diseño de la solución, que fueron una guía fundamental en el transcurso del presente trabajo. De los tres métodos mostrados en la Figura 2.5 dos fueron empleados y comentados en el presente capitulo. Para cumplir el segundo de los métodos, se aplicaron métodos empleados en la técnica de minería de procesos. Los algoritmos empleados se describen brevemente y desde el punto de vista funcional que aplica al problema en cuestión, el análisis de procesos de negocio a través de sus instancias. Aquí se presenta una breve descripción funcional a nivel global de la solución, mencionando donde las técnicas de minería de procesos son aplicadas. En esta descripción se da un mayor detalle al mostrado en la Figura 1.1, especificando con un mayor detalle que ocurre en cada sección de la herramienta. En las siguientes secciones se describe a través de diagramas de UML la funcionalidad llevada adelante por la herramienta. Comenzando por los casos de uso y la descripción de cada uno, siguiendo por los diagramas de secuencias de las principales funcionalidades implementadas en la herramienta mostrando su mecanismo de invocación. Para finalizar en un nivel más alto de abstracción, donde se muestra la modularizacion de la solución propuesta. Este capítulo permite tener una noción clara de la funcionalidad contenida en el presente trabajo, cuáles fueron los métodos y algoritmos empleados, y como el analista de procesos debe interactuar e interpretar la solución implementada.

Page 83: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

83 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 5. Descripción técnica de la herramienta El presente capítulo se describe la herramienta con una mirada técnica. A continuación se mencionarán las clases del componente principal, donde se nombrarán métodos y características principales de la herramienta desarrollada. Más adelante se mencionan los puntos de extensión de la herramienta, y consideraciones principales a tener en cuenta. Para finalizar con cuestiones referidas al modelo de datos existente. Se continuará con la explosión del diagrama mostrado en la Figura 1.1, bajando un nivel más de abstracción sobre los componentes allí mencionados. Esto permite dar un nivel mayor de detalle a la descripción de la herramienta.

5.1. Diagrama de clases Una de las características buscada para la solución fue un diseño flexible, aobre todo para incorporar otros algoritmos sin mayor inconveniente. Esto se extrapolo al resto del diseño, haciendo que el modelo pueda ser adaptado de manera sencilla y sin demasiado esfuerzo. Facilitando el crecimiento tanto con funcionalidad nueva como con mejoras a la solución existente. Para lograr tal cometido se buscó un diseño modular de la solución, determinando una separación clara de sus componentes principales de modo que estos en conjunto alcancen el objetivo propuesto a la solución. En las Figuras 5.1 y 5.2 se muestran con mayor detalle el contenido de cada componente del diagrama mostrado en la Figura 3.2. Esto ayuda a mapear los módulos de la herramienta de acuerdo a la funcionalidad definida. En la Figura 5.1 se puede apreciar como el componente más a la izquierda se implementó mediante el módulo de pantallas de carga de la desarrollo. Claramente en dicho modulo se efectúa la carga de los datos del proceso empleando la funcionalidad implementada en el modelo. Como se mencionó antes los datos son procesados para poder representar las secuencias ejecutadas en el proceso. Para ello el modulo conteniendo el modelo implementa el algoritmo que infiere dichas estructuras internas de la herramienta logrando una representación secuencial de las ejecuciones del proceso de negocio.

Page 84: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

84 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 5.1 - Carga y transformación de los datos.

Luego de producido el primer procesamiento de los datos surgidos del proceso de negocio, la herramienta se encuentra en condiciones que el usuario ingrese su elección para realizar el análisis. Una vez cargado el algoritmo y la configuración del escenario a emplear, OSBPM está preparado para ejecutar la segunda etapa. En la Figura 5.2 se puede ver la etapa de ejecución de análisis. En ella se efectúa la trasformación de las secuencias a la estructura de datos símil a ARFF, mediante el procesamiento en el modelo. Esta estructura es símil porque no almacena en archivo la información transformada, sino lo mantiene en memoria para su procesamiento. Con la estructura generada los algoritmos mencionados en el capítulo anterior puedan analizar los datos del proceso.

Page 85: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

85 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 5.2 - Aplicar algoritmos análisis.

Cabe comentar que la segunda transformación que genera la herramienta emplea clases adicionales para poder transformar las secuencias en vectores comprensibles por los algoritmos empleados. Estos vectores son generados con tipos de datos definidos que se definen para las estructuras ARFF: String, Date, Nominal. Estos modelos de alto nivel de abstracción permiten dar una idea de la composición de módulos de la herramienta y su integración para lograr el objetivo planteado. A su vez facilita la introducción del diseño modular definido, mostrando los paquetes que la integran. Como se mencionó anteriormente el diseño modular de la herramienta facilita la extensión y optimización de sus componentes. A continuación, en la Figura 5.1, se muestra el diagrama de sus principales módulos, compuestos por las clases más importantes de cada uno. En esta figura no contempla todas las clases empleadas en el desarrollo sino que busca mostrar y comentar los elementos más relevantes y su relación en la solución.

Page 86: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

86 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 5.3 – Diagrama de Clases: Componente principal.

5.1.1. osbpm.organizador Para comenzar se encuentra el módulo osbpm.organizador, en el encontramos clases encargadas de organizar y traducir los mensajes entre las clases de las pantallas y las clases con la lógica de la herramienta. En él se encuentran la interface Coordinador y las clases OptimizadorCoordinador y Traductor. Se puede apreciar la interface Coordinador que abstrae un conjunto mínimo de operaciones para el inicio, carga y ejecución de la herramienta. Esta composición, da un nivel de generalización que facilita la extensión y cambio del mecanismo definido en la herramienta y utilizado para cubrir sus las necesidades de la solución.

Page 87: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

87 Guillermo Ezequiel Fittipaldi Ciuffo

En tanto, la clase OptimizadorCoordinador contiene la especialización provista inicialmente en la herramienta. Los métodos que allí se encuentran efectúan la carga de datos iniciales para la carga de la solución. Otro método aquí desarrollado es el encargado de coordinar la carga de datos del proceso a analizar. Este envía la información ingresada por el usuario al componente del modelo, de este modo se deja disponible la información para el siguiente paso. Por último, tiene el método encargado de disparar la ejecución del análisis y derivar los datos resultantes a la pantalla donde se mostrarán al usuario. Buscando el mapeo con los diagramas funcionales de la herramienta, se ve claramente como este paquete integra tanto el primer componente de la solución como el segundo donde se dispara el próximo algoritmo. Este componente es fundamental en la herramienta, ya que interactúa con los restantes componentes de la solución y organiza las tareas ejecutadas en cada paso. En tanto, la clase Traductor es la encargada de generar la traducción del objeto contenedor de los datos de la vista y el objeto contenedor de datos del modelo. Su importancia radica en la necesidad de independencia entre el componente modelo y el componente pantalla. Da separación necesaria para la proveer flexibilidad a la solución.

5.1.2. osbpm.pantallas Este módulo contiene las clases encargadas que generan las pantallas de la herramienta. A su vez este módulo contiene dos módulos más, uno con las clases auxiliares necesarias para generar las pantallas y su lógica; y el restante para contener las pantallas de dialogo. Las clases principales son las mostradas en la Figura 5.1, OptimizadorPantallaPrincipal y OptimizadorModalPantallaPrincipal. La clase OptimizadorPantallaPrincipal provee un nivel de abstracción de pantalla, donde los métodos de creación y la composición de la pantalla se definen en las clases que la extienden. Aquí se implementan los métodos que son genéricos para todas las pantallas y la funcionalidad mínima de interacción con el usuario. Esta configuración además simplifica la interacción con las ventanas de dialogo y demás pantallas de la herramienta. Por otro lado, la clase OptimizadorModalPantallaPrincipal, implementa la representación a pantalla completa, esta no da la posibilidad al usuario de modificar las dimensiones de la pantalla principal. En la Figura 6.2 se muestra la pantalla generada por esta clase. Aquí se puede notar la división y organización mostrada. Se notan dos secciones principales, una la de datos y elección del análisis a realizar, y la otra la de resultados obtenidos.

Page 88: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

88 Guillermo Ezequiel Fittipaldi Ciuffo

En la primera parte, encontramos tres solapas: Datos, Agrupamiento y Clasificación. La solapa de datos, tiene todos los datos de entrada para el análisis, así como el mapeo de atributos de la herramienta, comentado antes en el presente trabajo; las restantes solapas contienen las opciones de configuración para los algoritmos, también comentada antes. En la segunda sección de la pantalla principal encontramos otras tres solapas: Resultado, Diagrama Secuencias y Secuencia Característica. Estas últimas solapas mostraran los resultados obtenidos en las distintas dos etapas de la herramienta. La clase aquí mencionada se encarga de crear y darle funcionalidad a la pantalla principal.

Figura 5.4 - OptimizadorModalPantallaPrincipal.

La parte de los datos es utilizada en la primera parte del modelo de la solución. Aquí es donde los datos son cargados, es la pantalla mostrada en la Figura 3.2 y despcripto en la Tabla 4.1, y mencionada en el componente mostrado en la sección anterior donde se concreta la carga de datos iniciales para la herrmainta. Las restantes clases agregan funcionalidad, ya sea para mostrar ventanas de dialogo al usuario como clases necesarias para generar interfaces de la solución. Por ejemplo, la clase DiagramaAnalisis, del paquete osbpm.pantallas.auxiliares, es la encargada de procesar los datos para mostrarlos en la sección Diagrama Secuencias.

Page 89: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

89 Guillermo Ezequiel Fittipaldi Ciuffo

5.1.3. osbpm.modelo Es el componente principal de la herramienta, donde se encuentra toda la funcionalidad de la herramienta. Contiene las clases fundamentales encargadas de la carga de datos, tanto paramétricos de la herramienta como aquellos provenientes del proceso a analizar. A su vez, dentro de este componente se encuentran las clases encargadas del procesamiento de los datos, ejecución de los algoritmos y obtención de los resultados. Son estas clases las que realizan la funcionalidad de la herramienta. Este componente como se pudo ver en las Figuras 5.1 y 5.2 se puede apreciar la importancia de este componente en la aplicación desarrollada. En este módulo encontramos la clase OptimizadorModelo, descripta más adelante y también los siguientes paquetes:

1. osbpm.modelo.analizadorDatos. 2. osbpm.modelo.analizadorDatos.algoritmos. 3. osbpm.modelo.analizadorDatos.algoritmos.agrupamiento. 4. osbpm.modelo.analizadorDatos.algoritmos.clasificadores. 5. osbpm.modelo.analizadorDatos.clasesComplementarias.

Estos paquetes contienen los distintos componentes desarrollados para que la solución implementada en este trabajo ejecute el análisis de los datos del proceso. En la Figura 5.3 se muestran algunos de los componentes que aquí se mencionan. La clase OptimizadorModelo su funcionamiento va desde la carga de los datos propios de la herramienta como conectores de base de datos, como la descripción y configuraciones disponibles de los algoritmos existentes (más adelante se mencionará como se lleva adelante esto). Es en esta clase donde se encuentra también el método encargado de solicitar la carga de instancias del proceso a analizar. A su vez, contiene la lógica para efectuar el análisis mediante la ejecución del método elegido con la configuración cargada, una vez ejecutado el algoritmo carga el resultado para dejarlo disponible si lo requieren. El paquete osbpm.modelo.analizadorDatos contiene las clases necesarias que definen la estructura de las instancias a analizar, en ellas se logra la segunda trasformación mencionada en capítulos anteriores. Aquí se encuentran las clases para lograr la representación de las instancias en el formato ARFF de acuerdo a la configuración de análisis elegida. Por ejemplo, la clase ConstructorModeloSecuenciaNominal, la cual genera una estructura nominal (mencionada en el tercer capítulo) compuesta por los atributos

Page 90: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

90 Guillermo Ezequiel Fittipaldi Ciuffo

identificadorInstancia, pesoSecuencia, identificadorSecuencia, los parámetros adicionales (cargados por el usuario, ver el cuarto capítulo) y clasificacionSecuencia transforma las instancias de las secuencias del proceso a este conjunto de datos para el análisis elegido. Más adelante se menciona como se logra instanciar cada una de estas clases. Otro componente del paquete mencionado en esta sección es el paquete osbpm.modelo.analizadorDatos.algoritmos, aquí se encuentra la clase que permite generalizar los métodos de análisis existentes en la herramienta, esta clase es denominada ProcessExplorer y se encuentra representada en la Figura 5.3. Esta generalización será mencionada más adelante en el presente capítulo. Los paquetes 3 y 4, del listado anterior, contienen los algoritmos incluidos en la solución. Los algoritmos que emplean la estrategia de clasificación se encuentran en osbpm.modelo.analizadorDatos.algoritmos.clasificadores, mientras que los restantes (que emplean la estrategia de clustering o agrupamiento) se encuentran en osbpm.modelo.analizadorDatos.algoritmos.agrupamiento implementando métodos de clustering. Estas clases son las especializaciones de la clase mencionada en el párrafo anterior. Por último, se encuentra el paquete osbpm.modelo.analizadorDatos.clasesComplementarias, donde se encuentran aquellas clases que se emplean en la herramienta para lograr el objetivo buscado. Cada una es empleada con una finalidad determinada, por ejemplo para dar estructura a las distribuciones de pesos a cada secuencia, o para dar estructura a cada secuencia facilitando la segunda transformación.

5.2. Determinaciones técnicas

5.2.1. Diseño arquitectural En la sección anterior, Figura 5.3, se puede apreciar que la estructura principal de la solución tiene una clara división de componentes:

• Las pantallas del usuario, conteniendo toda su lógica tanto de visualización como de eventos de la herramienta.

• El paquete organizador de la ejecución, que se encarga coordinar, controla y traduce la información tanto para ejecutar la funcionalidad de la herramienta, como para mostrar al usuario los resultados producidos.

• El componente encargado de cumplimentar la funcionalidad definida para lograr el objetivo del presente trabajo.

Page 91: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

91 Guillermo Ezequiel Fittipaldi Ciuffo

Esta configuración se diseñó pensando en lograr una arquitectura de lógica modular que sea suficiente para implementar la funcionalidad buscada y flexible para agregar nuevas funcionalidades en la herramienta. Esta configuración se tomó de acuerdo a la especificación de una variante del patrón de diseño MVC (Model-View-Controler, Modelo-Vista-Controlador). Con la particularidad que la configuración elegida, mantiene la separación entre el modelo y la vista, siendo el controlador el encargado de coordinar la interacción de la aplciación. La variante de MVC mencionada antes se denomina Model-View-Presenter (MVP, Modelo-Vista-Presentación) [MVP90], Figura 5.5, divide en el componente orientado a los datos, el componente orientado a la interface gráfica y el componente presentador. El primer componente formado por el modelo, cuyos elementos pueden ser modificados por acción del usuario y el conjunto de comandos que encapsulan las operaciones sobre el modelo de acuerdo a lo realizado por el usuario. El segundo componente, refiere a la interface de usuario (GUI) y al conjunto de eventos asociados a este componente que serán ejecutados en el modelo. Y Finalmente, el presentador, refiere al componente que orquesta la interacción entre los otros componentes; generalmente hay un presentador por pantalla.

Figura 5.5 – Variación del patrón de diseño MVC.

En la solución aquí implementada la funcionalidad del componente presentador se encuentra en el paquete osbpm.organizador, en tanto osbpm.modelo contiene lo mencionado en el componente Modelo y la Vista se encuentra en el paquete osbpm.pantallas.

5.2.2. Mecanismo de selección de algoritmo

Page 92: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

92 Guillermo Ezequiel Fittipaldi Ciuffo

Otro punto a remarcar en el diseño de la herramienta es el mecanismo empleado para instanciar el algoritmo elegido por el usuario para el análisis. Estas determinaciones técnicas se orientan a proveer flexibilidad a la hora de agregar algoritmos de análisis. Este objetivo fue logrado mediante el uso de dos mecanismos, abstracción y reflexión. El primer mecanismo está diseñado bajo el lineamiento del patrón de diseño Factory [DP1997], mediante el cual se define una interface de creación de clases, pero se deja a las subclases la creación efectiva de las clases a instanciar. En la herramienta encontramos las siguientes clases: AlgoritmoAnalisisFactory, ProcessExplorer y las subclases correspondientes a los métodos a emplear que representan la composición mencionada. En la Figura 5.6 se puede apreciar este mecanismo de creación.

Figura 5.6 – Diagrama de clases: representación Factory.

Mediante este diseño se logra la flexibilidad necesaria para incorporar nuevos métodos con el menor esfuerzo posible. En la siguiente sección se menciona y ejemplifica como se puede efectuar esta extensión. Es en la clase AlgoritmoAnalisisFactory, donde se emplea la facilidad provista por el lenguaje de desarrollo elegido para la solución aquí implementa. Esta facilidad es conocida como Reflection [REFL2015]. Este mecanismo permite cambiar el comportamiento en tiempo de ejecución. De este modo, el cambio de algoritmo se resuelva en dicho momento con un conjunto mínimo de clases. Mediante dicho uso la herramienta tiene mayor flexibilidad, ya que solo se debe agregar la clase de un nuevo algoritmo si se desea incorporar otro a la solución. La línea de código donde se implementa este mecanismo es:

Page 93: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

93 Guillermo Ezequiel Fittipaldi Ciuffo

Class<?> claseAlgoritmo = Class.forName(algoritmo.getNombrePaquete() + algoritmo.getNombreClase()); La intención de mostrar esta porción de código es dejar ver la simplicidad provista en la solución.

5.2.3. Agregar un nuevo método a la herramienta Como se viene mencionando a lo largo del presente documento se diseñó la solución con la idea de lograr una fácil extensión de la misma. Esta flexibilidad tuvo su principal razón en la idea de agregar nuevos algoritmos de manera simple y con un mínimo de desarrollo. En la presente sección se especifica cómo se debe proceder para lograr este objetivo. Como se mencionó en la sección anterior en la herramienta se implementó la clase ProcessExplorer. Esta clase abstracta generaliza la interface de los métodos que la herramienta emplea para interactuar con las clases encargadas de implementar el algoritmo. Actualmente esta clase es extendida por las siguientes clases:

• AgrupamientoJerarquico • KMeans • Arbol • BasadoInstancia • Bayes

Estas clases se encuentran implementan la funcionalidad de los métodos descriptos en el capítulo anterior, ver sección 4.1.3. Agregar un método el punto de partida es aquí. El desarrollador deberá implementar una clase que extienda de la clase abstracta ProcessExplorer e implementar los métodos correspondientes de acuerdo a la funcionalidad necesaria:

• cargarModeloDeInstancias(Modelo modelo): carga la clase Modelo de la solución, la cual contiene la estructura que representa el proceso a analizar.

• generarEstructuraAnalizador(Instances instancias): donde se implementa la generación de la estructura del método analizador, basado en el vector de instancias en formato ARFF que representan a la ejecución en el proceso.

• String obtenerEstructuraResultanteModelo(): retorna la estructura generada por el algoritmo que se implementa en la clase.

Page 94: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

94 Guillermo Ezequiel Fittipaldi Ciuffo

Esta estructura permite integrarse con el resto de la solución. Mediante la clase AlgoritmoAnalisisFactory se logra cumplimentar la integración de la nueva clase a la herramienta. Pero gracias al mecanismo Reflection implementado en dicha clase el desarrollador no debe generar codificación alguna. Sin embargo es necesario un paso adicional tal que la funcionalidad aquí mencionada pueda interpretar la clase contenedora del nuevo método. Es necesario agregar una descripción en una tabla paramétrica, comentada en la sección 5.2.5, se agregue la descripción del paquete donde la nueva clase se agregó y el nombre de la clase que implementa el método agregar. Estas dos descripciones son empleadas para instanciar el método a utilizar luego que el analista lo selecciono en la pantalla correspondiente. De este modo, agregando una clase a la estructura de la herramienta y agregando un mapeo en la tabla correspondiente, podemos agregar un nuevo método a la solución desarrollada.

5.2.4. Grafos dirigidos Dada la problemática a analizar y como una de las características principales del dominio, la solución infiere el proceso de negocio empleando para ello la información ingresada por medio de las instancias del mismo. Esta característica de la solución busca no solo dar resultado adicional a la ejecución del algoritmo, sino pensando en extensiones futuras para la misma, ya sea para cuestiones análisis como para graficar el modelo logrado. Cabe recordar la inferencia se realiza en la primera trasformación de la herramienta comentada antes en el presente documento. Los grafos se pueden clasificar en diferentes tipos dependiendo de cómo se defina la relación entre los elementos, podemos encontrar: grafos dirigidos o no dirigidos y etiquetados o no etiquetados. También se pueden combinar ambas categorías. Para el presente trabajo se emplean los grafos dirigidos para la representación mencionada, siendo suficiente para representar el modelo secuencial necesario. A su vez existen distintas implementaciones para esta representación: matrices de adyacencia, listas de adyacencia y multi-listas de adyacencia. En este caso, y por cuestiones de simplicidad y recorridos a realizar se eligió la lista de adyacencia. En la Figura 5.7 se muestra un ejemplo grafico de la representación elegida. Cabe recordar que la necesidad de inferir un modelo como este radica en la necesidad de mostrar gráficamente la composición, y para tal necesidad esta estructura ayuda en la representación a mostrar por las diversas características de la solución aquí implementada.

Page 95: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

95 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 5.7 – Lista de adyacencia.

En esta opción definimos una lista enlazada con un nodo por cada elemento del grafo. Cada nodo contendrá además una lista enlazada con sus elementos adyacentes [GRAFO9899].

5.2.5. Modelo de datos El modelo de datos actual no contiene complejidad alguna en lo referido a un esquema relacional ni en lo referido al volumen de datos contenidos. Su importancia está dada por la simplicidad tecnológica actual para referenciar a los datos y en la posibilidad soportada en por este tipo de herramientas (motores de base de datos) para el crecimiento de datos la tabla aquí mencionada. Como se mencionó anterior mente, esta tabla permite mantener una solución paramétrica de los algoritmos soportados en la herramienta. En esta tabla denominada OSBPM_ALGORITMO_ANALISIS se encuentra definido la lógica a cargar de los algoritmos empleados. Dicha tabla tiene la siguiente estructura: CREATE TABLE "OSBPM"."OSBPM_ALGORITMO_ANALISIS" ( "IDENTIFICADOR" NUMBER, "NOMBRE_PAQUETE" VARCHAR2(500 BYTE), "NOMBRE_CLASE" VARCHAR2(100 BYTE), "NOMBRE_PAQ_MODELO" VARCHAR2(500 BYTE), "NOMBRE_CLASE_MODELO" VARCHAR2(100 BYTE), "TIPO_ALGORITMO" VARCHAR2(100 BYTE), "PARAMETRO_ALGORITMO" VARCHAR2(100 BYTE)

Page 96: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

96 Guillermo Ezequiel Fittipaldi Ciuffo

) En la tabla encontramos los siguientes campos:

• IDENTIFICADOR permite diferenciar unívocamente cada fila de datos.

• NOMBRE_PAQUETE contiene la ruta de paquetes java en la solución del algoritmo representado en la fila actual, por ejemplo: “osbpm.modelo.analizadorDatos.algoritmos.clasificadores.” siendo este conjunto de datos un paquete de válido en la solución.

• NOMBRE_CLASE: corresponde al nombre de la clase que contiene el algoritmo. Este campo es el mostrado en el combo de la pantalla en la sección de algoritmos. Por ejemplo: “BasadoInstancia”, clase que contiene el algoritmo a ejecutar.

• NOMBRE_PAQ_MODELO: cadena de caracteres representando el paquete (al igual que el paquete del algoritmo) donde se encuentra el modelo de instancias que se emplearán para el algoritmo de la fila. Por ejemplo: “osbpm.modelo.analizadorDatos.”.

• NOMBRE_CLASE_MODELO: contiene la clase que se encargara de dar el modelo de instancias a emplear para el algoritmo en cuestión. Un caso puede ser: “ConstructorModeloSecuenciaNumerico” esta clase contenida en la herramienta será la encargada de construir el modelo de instancias para el algoritmo a emplear.

• TIPO_ALGORITMO: diferencia el tipo de algoritmo que se está empleando. Ayuda a determinar en qué grupo de algoritmos se mostrará el método en cuestión. Por ejemplo: “clasificación”.

• PARAMETRO_ALGORITMO: indica que parámetros configurables existen para el algoritmo en cuestión. Por ejemplo: “Peso y Tiempo” en este caso el algoritmo a ejecutar contemplara en las instancias los parámetros de Tiempo y Peso.

En el listado anterior, cuando se menciona “modelo de instancias” se refiere a lo mencionado en el capítulo anterior, cuando hace referencia a lograr la estructura de instancias para el conjunto de vectores en formato ARFF. Si bien esta estructura podría haberse llevado a otro mecanismo de parametrización de datos, el modelo elegido y los componentes con los que la herramienta cuenta hacen más sencillo el acceso a tal información, simplifica la extensión de la herramienta y le permite crecer hacia un modelo orientado a base de datos relacional con mayor volumen de datos.

Page 97: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

97 Guillermo Ezequiel Fittipaldi Ciuffo

5.3. Resumen El presente capitulo da una visión técnica de la herramienta aquí implementada. En el comienzo del mismo se muestra un diseño conceptual de la solución con un alto nivel de abstracción. Los componentes en mostrados en dicho diagrama son mapeados a la estructura de clases de la solución. Luego, un diagrama de clases resumido es mostrado. En él se muestran los componentes principales con la finalidad de mostrar la flexibilidad de la solución, más adelante se describen los módulos que la componen. En la siguiente sección se describen las determinaciones técnicas comenzando por un diseño arquitectural de la solución, este diseño se describe en base a sus componentes principales. Entre las especificaciones aquí mencionadas se menciona el esquema seguido para asignar métodos de análisis de manera dinámica, empleando un mecanismo provisto por el lenguaje seleccionado para el desarrollo de la herramienta. Este desarrollo permite que la herramienta procese en tiempo de ejecución la instanciación del método elegido para el análisis. Para implementar el objetivo seguido por la herramienta, se aplicó un esquema de abstracción tal que el agregado de un nuevo método de análisis a emplear, no resulte complejo. El mecanismo llevado adelante es comentado en este capítulo. El presente trabajo aplica una estructura para representar el proceso en análisis, el cual es empleado también en la etapa de visualización de la secuencia característica que recorrió dicho proceso. Esta estructura de grafo dirigido es mencionada aportando características de la implementación aquí realizada. Para finalizar en el presente capitulo, se menciona la tabla implementada para la herramienta. Dicha tabla contiene datos paramétricos para la selección dinámica del algoritmo. Ayuda a la herramienta a determinar cuestiones de configuración para el algoritmo elegido.

Page 98: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

98 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 6. Caso de Estudio Como se mencionó en capítulos anteriores el presente trabajo trata de sugerir optimizaciones para procesos de negocio implementados con la práctica de BPM, aplicando la técnica de minería de procesos para lograr el objetivo. La característica que resalta es de inferir en base a los datos situaciones futuras en tal proceso por los datos actuales y los pasados. Otro punto favorable a la herramienta es realizar el análisis con distintos métodos, permitiendo comparar los resultados obtenidos con diferentes “miradas”. A su vez, el analista de procesos puede configurar distintos escenarios durante el análisis. Estos escenarios permiten asignarle importancia y característica distintiva de cada secuencia de acuerdo a la necesidad de análisis. Es importante esta funcionalidad porque permite de manera sencilla comparar el análisis manteniendo la configuración, haciéndolo más objetivo. Además, al ser parametrizable en tiempo de ejecución es muy dinámico su cambio, alternando y refinando el objetivo buscado por el usuario. Por lo antes expuesto, el presente capítulo contiene secciones con dos partes principales. La primer parte contiene la descripción del proceso que será analizado y un ejemplo de los datos surgidos del mismo. En la siguiente sección se describen los casos de estudio aplicados al proceso de la sección anterior, esta sección tiene varios componentes que influyen en el análisis:

• Cantidad de instancias: valor entero de cantidad de instancias a considerar en el análisis. Permite contemplar un subconjunto inicial de instancias de negocio teniendo una foto del proceso. A su vez, permite que este valor sea cambiado permitiendo entender como el proceso fue cambiando.

• Secuencias: conjunto de caracteres que describen un flujo de actividades ordenadas de acuerdo a su ejecución. Su utilidad es indispensable para armar el vector a emplear el análisis.

• Distribución de peso: distribución de peso elegida para el caso, y asignación de los pesos para cada secuencia.

• Caracterización de secuencia: conjunto de caracteres empleado para asignar característica a cada secuencia detectada.

• Datos particulares: permite ingresar parámetros particulares al algoritmo que se empleará en el análisis. Esta información permite refinar la configuración del algoritmo a emplear.

Page 99: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

99 Guillermo Ezequiel Fittipaldi Ciuffo

Y para finalizar los siguientes contenidos:

• Resultado: información del resultado de la ejecución del algoritmo. Cada caso tendrá su resultado para el conjunto de datos iniciales.

• Conclusión: como punto final se emiten comentarios y conclusiones del caso aplicado.

Dicho contenido permitirá comprender la utilidad de la herramienta, dando soporte para decisiones futuras de optimización del proceso.

6.1. Caso de estudio

6.1.1. Proceso de Negocio: Aprobación Facturas A continuación se menciona el flujo de actividades correspondientes al proceso de negocio que se analizará en la herramienta. De él surgen distintos casos de estudio aplicando distintos escenarios de acuerdo a la configuración propuesta. El negocio refiere al proceso de recepción y aprobación de facturas, para ser contabilizadas y fuera del alcance del proceso, su posterior pago al proveedor. El inicio ocurre cuando se reciben las facturas, estas son las digitalizadas y cargadas en el sistema en dos etapas por cuestiones de negocio. Luego, ingresa en el ciclo de aprobación. El ciclo de aprobación se divide en tres partes, la aprobación del área a la cual la factura es dirigida en primer lugar. Si corresponde de acuerdo al monto de la factura, esta es derivada a la aprobación de alto nivel gerencial. Y como tercera etapa, si corresponde la factura tiene una segunda etapa de aprobación del área de contabilidad. Para finalizar el circuito una vez completado. Cada etapa de aprobación está compuesta por una cadena de aprobación, formada por uno o más aprobadores dependiendo del monto de la factura. Esta cadena puede originar que se formen ciclos sobre la misma actividad, debido a la configuración del proceso ya que si bien son distintos usuarios la tarea ejecutada es la misma. Esta característica se repite en las dos etapas de aprobación.

Page 100: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

100 Guillermo Ezequiel Fittipaldi Ciuffo

En el flujo de actividades se consideran devoluciones. De este modo se puede volver a repetir la secuencia de ejecución. Por tal motivo se repiten actividades ya ejecutadas, pudiéndose encontrar más de una vez cada actividad si el caso fue devuelto a una tarea anterior en el proceso, incluso las cadenas de aprobación. Luego de pasar por las actividades de aprobación se encuentra el final del proceso como se mencionó, pudiendo finalizar de manera aprobada o rechazada de acuerdo al resultado de la aprobación. Los dos son finales validos de la secuencia. En los datos que se analiza no se consideran solamente los casos finalizados sino todas las secuencias en el proceso. Esta característica ayuda a entender la problemática del negocio así como también conocer donde se encuentran en el momento del análisis las facturas en el proceso. Las actividades que se encuentran en el proceso a analizar son:

• Factura Recibida Sin Digitalizar • Detalle Completado • Factura Recibida • Factura Digitalizada • Encabezado Modificado • Factura Devuelta al Operador ME • Factura Devuelta al Analista de Area • Pendiente de Aprobacion por el Area • Factura Aprobada • Inicio Contabilizacion • Factura Contabilizada • Factura Eliminada • Factura Rechazada • Contabilizacion Validada • Pendiente Aprobacion Controlling • Pago Aprobado • Finalizada • Contabilizada Manualmente

Una característica que tiene la información dada para el análisis es, en lugar de nombre de actividades se tiene el nombre de los estados correspondientes a las actividades según donde se encuentre en el proceso. Queda a criterio del analista de procesos su unificación para el análisis o no.

Page 101: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

101 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 6.1 – Proceso Facturas.

En la Figura 6.1 se puede apreciar el flujo de actividades del proceso de carga y aprobación de facturas. Las figuras dentro del flujo representan distintos componentes de BPM y el conjunto en secuencia determinada componen el proceso de negocio definido. En la Tabla 6.1 se encuentra la referencia con el significado de los elementos de BPM empleados en la definición del proceso que aquí analizaremos. Cada componente tiene un significado y justificación de uso en el proceso.

Page 102: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

102 Guillermo Ezequiel Fittipaldi Ciuffo

Elementos BPMN 1.2. Símbolo Nombre

Actividad

Lane

Evento de inicio o fin

Decisión

Bifurcación simple

Tarea de usuario

Tarea automática

Tabla 6-1 – Referencia componentes BPM.

A continuación se mencionan los casos de estudio con el análisis correspondiente al empleo de los datos sobre el proceso antes mencionado. Cada caso de estudio contiene la siguiente estructura: Datos Ingresados del Proceso:

• Cantidad de instancias: cantidad de entidades de proceso de negocio que se consideran en el análisis. Cuando se menciona una entidad, se refiere a una factura.

• Secuencias: flujo de actividades detectado para el grupo de entidades provenientes de los logs.

Casos de estudio:

• Algoritmo: método de análisis empleado en el caso de estudio. • Distribución peso: distribución de peso seleccionada para el

análisis. A su vez se muestra en esta sección los pesos asignados a cada secuencia en cada caso de estudio.

• Resultado: se muestra el resultado obtenido al ejecutar el método mencionado antes sobre el conjunto de datos a analizar.

Page 103: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

103 Guillermo Ezequiel Fittipaldi Ciuffo

• Conclusión: comentario del resultado obtenido al analizar los datos con la herramienta.

6.1.2. Datos Ingresados del Proceso A continuación se mencionan la cantidad de instancias que se consideraran de la totalidad de los datos que para este caso en particular se cuenta. Cantidad de instancias a incluir: 1000

Figura 6.2 – Resultado de cargar 1000 instancias.

Secuencias: Como se puede apreciar en la Figura 7.2 la herramienta detecto 33 secuencias diferentes que las 1000 instancias del proceso ejecutaron. Secuencias detectadas: Propiedad: Defecto - Secuencia_0 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Factura-Aprobada_Factura-Aprobada_Pago-Aprobado_Inicio-Contabilizacion_Factura-Eliminada**

Page 104: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

104 Guillermo Ezequiel Fittipaldi Ciuffo

Propiedad: Defecto - Secuencia_1 : Peso (0.0080) : Cant. Inst.: 8 :: ||Factura-Recibida_Factura-Digitalizada_Factura-Eliminada** Propiedad: Defecto - Secuencia_2 : Peso (0.019) : Cant. Inst.: 19 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_3 : Peso (0.032) : Cant. Inst.: 32 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_4 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Factura-Devuelta-al-Analista-de-Area_Encabezado-Modificado_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_5 : Peso (0.0090) : Cant. Inst.: 9 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_6 : Peso (0.703) : Cant. Inst.: 703 :: ||Factura-Recibida** Propiedad: Defecto - Secuencia_7 : Peso (0.016) : Cant. Inst.: 16 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_8 : Peso (0.0030) : Cant. Inst.: 3 :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_9 : Peso (0.083) : Cant. Inst.: 83 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_10 : Peso (0.0060) : Cant. Inst.: 6 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_11 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_12 : Peso (0.016) : Cant. Inst.: 16 :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Factura-Eliminada** Propiedad: Defecto - Secuencia_13 : Peso (0.053) : Cant. Inst.: 53 :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_14 : Peso (0.0090) : Cant. Inst.: 9 :: ||Factura-Rechazada_Factura-Rechazada** Propiedad: Defecto - Secuencia_15 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada**

Page 105: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

105 Guillermo Ezequiel Fittipaldi Ciuffo

Propiedad: Defecto - Secuencia_16 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_17 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Encabezado-Modificado_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_18 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_19 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Factura-Devuelta-al-Analista-de-Area_Encabezado-Modificado_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_20 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Encabezado-Modificado_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_21 : Peso (0.0030) : Cant. Inst.: 3 :: ||Factura-Recibida_Factura-Digitalizada_Encabezado-Modificado_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_22 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Factura-Eliminada** Propiedad: Defecto - Secuencia_23 : Peso (0.0020) : Cant. Inst.: 2 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_24 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Factura-Devuelta-al-Analista-de-Area_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_25 : Peso (0.0020) : Cant. Inst.: 2 :: ||Factura-Recibida_Factura-Eliminada** Propiedad: Defecto - Secuencia_26 : Peso (0.012) : Cant. Inst.: 12 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_27 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_28 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada** Propiedad: Defecto - Secuencia_29 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Inicio-Contabilizacion_Pago-Aprobado_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada**

Page 106: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

106 Guillermo Ezequiel Fittipaldi Ciuffo

Propiedad: Defecto - Secuencia_30 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Detalle-Completado_Pago-Aprobado_Inicio-Contabilizacion_Contabilizacion-Validada_Inicio-Contabilizacion_Contabilizacion-Validada_Finalizada** Propiedad: Defecto - Secuencia_31 : Peso (0.0060) : Cant. Inst.: 6 :: ||Factura-Recibida_Factura-Digitalizada_Inicio-Contabilizacion_Detalle-Completado_Contabilizacion-Validada_Inicio-Contabilizacion_Factura-Eliminada** Propiedad: Defecto - Secuencia_32 : Peso (0.0020) : Cant. Inst.: 2 :: ||Factura-Recibida_Factura-Digitalizada_Detalle-Completado_Inicio-Contabilizacion_Contabilizacion-Validada** Propiedad: Defecto - Secuencia_33 : Peso (0.0010) : Cant. Inst.: 1 :: ||Factura-Recibida_Factura-Digitalizada**

El listado mostrado antes, y luego de la carga, la herramienta asignó por defecto de las propiedades de las secuencias y la distribución de peso calculado en base a la cantidad de instancias de cada secuencia para cada caso. A su vez se asignaron los nombres de las secuencias encontradas. Como se mencionó en el quinto Capítulo, salvo el nombre de la secuencia la herramienta permite modificar la propiedad y el peso asignado a cada secuencia. Cada secuencia está compuesta por el conjunto de valores ingresados en el campo “Col. Desc. Actividad” de la pantalla, a modo de flujo de pasos ejecutados por las instancias en el proceso. Asignación de Propiedad y Peso: A continuación se muestra la asignación de valores empleada para los análisis que se realizarán. Cabe aclarar que se empleará distribución de peso por secuencia.

• Secuencia_0 : Propiedad: Eliminada -: Peso (0.0010) • Secuencia_1 : Propiedad: Eliminada -: Peso (0.0080) • Secuencia_2 : Propiedad: Finalizada -: Peso (0.019) • Secuencia_3 : Propiedad: Finalizada -: Peso (0.032) • Secuencia_4 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_5 : Propiedad: Eliminada -: Peso (0.0090) • Secuencia_6 : Propiedad: Incompleta -: Peso (0.703) • Secuencia_7 : Propiedad: Eliminada -: Peso (0.016) • Secuencia_8 : Propiedad: Eliminada -: Peso (0.0030) • Secuencia_9 : Propiedad: Finalizada -: Peso (0.083) • Secuencia_10 : Propiedad: Eliminada -: Peso (0.0060) • Secuencia_11 : Propiedad: Eliminada -: Peso (0.0010) • Secuencia_12 : Propiedad: Eliminada -: Peso (0.016) • Secuencia_13 : Propiedad: Finalizada -: Peso (0.053) • Secuencia_14 : Propiedad: Eliminada -: Peso (0.0090) • Secuencia_15 : Propiedad: Eliminada -: Peso (0.0010)

Page 107: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

107 Guillermo Ezequiel Fittipaldi Ciuffo

• Secuencia_16 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_17 : Propiedad: Eliminada -: Peso (0.0010) • Secuencia_18 : Propiedad: Eliminada -: Peso (0.0010) • Secuencia_19 : Propiedad: Eliminada -: Peso (0.0010) • Secuencia_20 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_21 : Propiedad: Finalizada -: Peso (0.0030) • Secuencia_22 : Propiedad: Eliminada -: Peso (0.0010) • Secuencia_23 : Propiedad: Eliminada -: Peso (0.0020) • Secuencia_24 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_25 : Propiedad: Eliminada -: Peso (0.0020) • Secuencia_26 : Propiedad: Eliminada -: Peso (0.012) • Secuencia_27 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_28 : Propiedad: Incompleta -: Peso (0.0010) • Secuencia_29 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_30 : Propiedad: Finalizada -: Peso (0.0010) • Secuencia_31 : Propiedad: Eliminada -: Peso (0.0060) • Secuencia_32 : Propiedad: Incompleta -: Peso (0.0020) • Secuencia_33 : Propiedad: Incompleta -: Peso (0.0010)

Se siguió el siguiente criterio para la asignación de la propiedad:

• Finalizada: representan aquellos flujos de actividades completos de manera correcta de acuerdo a lo definido funcionalmente para el proceso.

• Eliminada: característica asignada para aquellas instancias que finalizaron el proceso no aprobada o rechazada, se podría decir que estos casos tuvieron una finalización no correcta desde el punto de vista funcional.

• Incompleta: son todos los casos que al momento de obtener la información no completaron ninguno de los flujos anteriores. Contemplado la distribución de pesos por secuencia, se puede observar que la mayor parte de la población se encuentra en este grupo.

6.1.2.1 Análisis 1: AgrupamientoJerárquico Resultado Relación: Facturas-weka.filters.unsupervised.attribute.NumericToNominal-R1-6 Instancias: 1000 Atributos: 6 Number of merges: 70

Page 108: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

108 Guillermo Ezequiel Fittipaldi Ciuffo

Number of splits: 56 Number of clusters: 199 Principales distribuciones: leaf 1 [701] leaf 146 [50] leaf 153 [25] Las hojas restantes resultan insignificantes para el estudio, ya que son nodos con instancias únicas y arrojan información alguna. A su vez, la herramienta genera una mapeo de referencia del resultado anterior, para el análisis de este resultado. Se muestran partes de los agrupamientos logrados resultante un grupo acotado a modo informativo: nodo: 71 ---- Instancia: [0.0080, Secuencia_1, 2618625.0, 899724.66, FACTURA_DE_TERCERO, Eliminada] nodo: 75 ---- Instancia: [0.0080, Secuencia_1, 2618625.0, 231786.29, FACTURA_DE_TERCERO, Eliminada] nodo: 76 ---- Instancia: [0.0080, Secuencia_1, 2618625.0, 4000, RECIBO, Eliminada] nodo: 76 ---- Instancia: [0.0080, Secuencia_1, 2618625.0, 4000, RECIBO, Eliminada] nodo: 73 ---- Instancia: [0.0080, Secuencia_1, 2618625.0, 5808, FACTURA_DE_TERCERO, Eliminada] nodo: 197 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 4950, FACTURA_DE_TERCERO, Finalizada] nodo: 198 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 450, FACTURA_DE_TERCERO, Finalizada] nodo: 185 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 980, FACTURA_DE_TERCERO, Finalizada] nodo: 187 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 3025, FACTURA_DE_TERCERO, Finalizada] nodo: 192 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 43047.54, NC_TERCEROS, Finalizada] nodo: 189 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 86439.98, FACTURA_DE_TERCERO, Finalizada] nodo: 177 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 22059.78, FACTURA_DE_TERCERO, Finalizada] nodo: 188 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 304.36, FACTURA_DE_TERCERO, Finalizada] nodo: 186 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 1909535, FACTURA_DE_TERCERO, Finalizada] nodo: 183 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 28030.47, FACTURA_DE_TERCERO, Finalizada] nodo: 184 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 16654.25, FACTURA_DE_TERCERO, Finalizada] nodo: 196 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 7018, FACTURA_DE_TERCERO, Finalizada] nodo: 182 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 17424, FACTURA_DE_TERCERO, Finalizada] nodo: 180 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 406560, FACTURA_DE_TERCERO, Finalizada]

Page 109: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

109 Guillermo Ezequiel Fittipaldi Ciuffo

nodo: 195 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 336.78, FACTURA_DE_TERCERO, Finalizada] nodo: 179 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 888.5, FACTURA_DE_TERCERO, Finalizada] nodo: 178 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 16413.7, FACTURA_DE_TERCERO, Finalizada] nodo: 191 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 178828.78, NC_TERCEROS, Finalizada] nodo: 194 ---- Instancia: [0.019, Secuencia_2, 1.408657894736842E7, 312073.36, FACTURA_DE_TERCERO, Finalizada] nodo: 153 ---- Instancia: [0.032, Secuencia_3, 8813906.25, 50820, FACTURA_DE_TERCERO, Finalizada]

….. …… …...

Figura 6.3 – Resultado análisis jerárquico primera parte.

Page 110: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

110 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 6.4 – Resultado análisis jerárquico segunda parte.

Conclusión El algoritmo detecto 199 agrupamientos gracias a la carga del paramento cut-Off del algoritmo. Dichos agrupamientos se lograron a partir de los 1000 casos existentes para analizar, la estructura fue lograda luego de realizar 70 combinaciones de los grupos que fue formando por similitud y debió dividir 56 veces casos que se encontraban en un grupo a una distancia de similitud mayor a la tomada de referencia por el algoritmo. En referencia al negocio podemos decir que la mayoría de los casos detectados se encuentra en el cluster 1, un poco más del 70% de los datos analizados. En dicho grupo podemos encontrar los casos que no han completado el proceso de negocio, estos casos recorrieron la secuencia_6 definida del proceso, a su vez se puede observar en todos los casos se tratan de Factura de terceros que han ingresado al proceso. La secuencia está compuesta por la actividad Factura Recibida, como única actividad de proceso. Debido al gran volumen de casos que recorrieron este flujo, claramente se detecta que es un punto de sobrecarga en la actividad diaria del negocio y por tanto debe plantearse una estrategia para mitigar la problemática.

Page 111: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

111 Guillermo Ezequiel Fittipaldi Ciuffo

Como efecto colateral, se puede decir a raíz de este resultado que nos encontramos ante un cuello de botella en el proceso. A su vez, el algoritmo nos arroja como información un segundo grupo de concentración de instancias aunque mucho menor que el anterior. Esta segunda concentración de casos, tiene como característica particular el monto de cada caso. Este agrupamiento formo una partición del nodo 3 por contener características similares al grupo mencionado en el párrafo anterior. El resto de los casos se dividen entre secuencias incompletas y finalizadas, así como también instancias eliminadas con flujos distintos a los recorridos por las secuencia 6. Claramente este agrupamiento detecta y sugiere un cambio u optimización en el proceso de negocio al comienzo del mismo, mostrando claramente un cuello de botella en esa secuencia. En las Figuras 6.2 y 6.3 se muestra un resumen de la pantalla resultante del análisis mediante el método aquí mencionado, al ser ejecutado en la herramienta.

6.1.2.2 Análisis 2: KMeans Resultado Relación: Facturas-weka.filters.unsupervised.attribute.NumericToNominal-R1-6 Instancias: 1000 Atributos: 6 Number of iterations: 2 Within cluster sum of squared errors: 1637.0 Initial starting points (random): Cluster 0: 0.703,Secuencia_6,5.083682914651494E7,18409.81,'FACTURA DE TERCERO',Incompleta Cluster 1: 0.703,Secuencia_6,5.083682914651494E7,2706.91,'FACTURA DE TERCERO',Incompleta Cluster 2: 0.703,Secuencia_6,5.083682914651494E7,157648.47,'FACTURA DE TERCERO',Incompleta Cluster 3: 0.703,Secuencia_6,5.083682914651494E7,1480937.5,'FACTURA DE TERCERO',Incompleta Cluster 4: 0.083,Secuencia_9,1002771.0843373494,47474.35,'FACTURA DE TERCERO',Finalizada Cluster 5: 0.012,Secuencia_26,2.6904833333333332E7,95994.9,'FACTURA DE TERCERO',Eliminada Cluster 6: 0.703,Secuencia_6,5.083682914651494E7,5528283.6,'FACTURA DE TERCERO',Incompleta

Page 112: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

112 Guillermo Ezequiel Fittipaldi Ciuffo

Cluster 7: 0.703,Secuencia_6,5.083682914651494E7,2789.8,'FACTURA DE TERCERO',Incompleta Cluster 8: 0.703,Secuencia_6,5.083682914651494E7,45336.84,'FACTURA DE TERCERO',Incompleta Cluster 9: 0.703,Secuencia_6,5.083682914651494E7,83245.65,'FACTURA DE TERCERO',Incompleta Missing values globally replaced with mean/mode Final cluster centroids:

Attribute

Cluster# Full Data

0 1 2 3 4 5 6 7 8 9

(1000.0)

(700.0) (1.0) (1.0) (1.0) (197.0) (96.0) (1.0) (1.0) (1.0) (1.0)

pesoSecuencia

0.703 0.703 0.703 0.703 0.703 0.083 0.016 0.703 0.703 0.703 0.703

identificadorSecuencia

Secuencia_6

Secuencia_6

Secuencia_6

Secuencia_6

Secuencia_6

Secuencia_9

Secuencia_7

Secuencia_6

Secuencia_6

Secuencia_6

Secuencia_6

tiempoPromedioSecuencia

5.083682914651494E7

5.083682914651494E7

5.083682914651494E7

5.083682914651494E7

5.083682914651494E7

1002771.0843373494

2.5262125E7

5.083682914651494E7

5.083682914651494E7

5.083682914651494E7

5.083682914651494E7

B_SOLICITUDIMPORTE

30.33 30.33 2706.91

157648.47

1480937.5

980 4000 5528283.6

2789.8 45336.84

83245.65

S_SOLICITUDTIPOCOMPROBANTE

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

FACTURA DE TERCERO

ClasificacionSecuencia

Incompleta

Incompleta

Incompleta

Incompleta

Incompleta

Finalizada

Eliminada

Incompleta

Incompleta

Incompleta

Incompleta

Tabla 6-2 - Resultado KMeans.

Page 113: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

113 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 6.5 – Resultado KMeans.

Conclusión Se ejecutó el algoritmo SimpleKMeans sobre una población de 1000 facturas, buscando se agrupen en 10 grupos mostrando el resultado en la Tabla 6.3 de manera transpuesta para que sea visible en este documento. En las Figura 6.5 se muestra la pantalla resultante del análisis en la herramienta. De acuerdo a lo mostrado en la Tabla anterior se puede apreciar una alta concentración de instancias cercanas al centroide 0, con clasificación de secuencia Incompleta, tipo de comprobante “Factura de Terceros” y nombre de flujo “Secuencia_6”. Este centroide demuestra la gran cantidad de facturas no finalizadas del proceso, y una gran probabilidad que facturas del tipo antes mencionado permanezcan en esta condición. Esta afirmación se apoya en la diferencia de concentración de instancias, 70%, la segunda mayor concentración la tiene el cluster 4, con un 19,4%. El centroide 4 mencionado tiene la característica de tratarse de instancias con clasificación de secuencia Finalizada y con tipo de comprobante “Factura de terceros”. Esto denota la gran cantidad de instancias de ese tipo, por lo que se deberá poner atención en el flujo que estas recorren y contemplar optimizaciones al proceso definido para ese caso en particular.

Page 114: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

114 Guillermo Ezequiel Fittipaldi Ciuffo

En tanto, el tercer agrupamiento en importancia es el cluster 5 con 96 instancias en dicho conglomerado de facturas. Este conjunto de instancias tienen la particularidad de pertenecer a las facturas del tipo “FACTURA DE TERCERO”, de la secuencia “secuencia_7”. Este conglomerado de instancias debe ser contemplado a la hora de realizar optimizaciones por cuestiones de cantidad detectadas en la población elegida para el análisis. Mediante este método se puede comprender rápidamente cuales son los tipos de facturas más importantes, puede ser que el negocio sepa que tienen el volumen más grande de facturas de este tipo en el proceso de negocio en análisis. Pero es muy probable que no tenga conocimiento que características tenga dicho agrupamiento, como por ejemplo en que clasificación de secuencia tiene el mayor conglomerado de facturas. Este algoritmo permite clarificar información no visible a priori en el total de la población del proceso analizado.

6.1.2.3 Análisis 3: Bayes Resultado Relación: Facturas-weka.filters.unsupervised.attribute.NumericToNominal-R1-6 Instancias: 1000 Atributos: 6 Naive Bayes Classifier

Clasificación Probabilidad Eliminada 0,10 Finalizada 0,20 Incompleta 0,71

Tabla 6-3 - Relación de obtenida.

Page 115: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

115 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 6.6 – Resultado análisis Bayes.

Conclusión En la Figura 6.6 se puede apreciar el resultado del análisis empleando el mecanismo de Bayes. Se puede apreciar la clasificación en los tres grupos de manera clara. Teniendo como primera clasificación las instancias Eliminadas, en segundo lugar encontramos las Finalizadas y por ultimo las incompletas. Dada la propiedad dada a cada secuencia, se puede ver que la primera clasificación muestra instancias que fueron catalogadas como eliminadas, entendiendo por esto que se debe poner esfuerzo en detectar el porqué de la cantidad en esa categoría y que factor pudo incidir en tal grupo. La necesidad de este entendimiento radica en el análisis de instancias finalizadas de manera incorrecta o por un flujo no principal y sobre todo casos desperdiciados para el proceso. Posiblemente esta clasificación remite a toma de decisiones en cuanto a capacitación de los usuarios de sistema y comunicados a los proveedores para corregir esta circunstancia. Este punto fue resaltado en este análisis debido a su posibilidad de corrección. Otra conclusión a tener en cuenta, y como en el resto de los casos, la mayoría de las instancias no han completado el proceso de negocio. Esto demuestra un condicionante para el normal desempeño en estas tareas.

Page 116: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

116 Guillermo Ezequiel Fittipaldi Ciuffo

Este tipo de análisis ayuda a detectar la clasificación característica de la población en estudio, y permite inducir tomas de decisiones de acuerdo a las clasificaciones asignadas para el estudio del proceso de negocio.

6.1.2.4 Análisis 4: Árbol Resultado Relación: Facturas Instancias: 1000 Atributos: 5 J48 pruned tree ------------------ pesoSecuencia <= 0.083 | pesoSecuencia <= 0.016 | | pesoSecuencia <= 0.003 | | | tiempo <= 615452000 | | | | pesoSecuencia <= 0.001: Finalizada (8.0/4.0) | | | | pesoSecuencia > 0.001: Incompleta (3.0/1.0) | | | tiempo > 615452000: Eliminada (17.0/6.0) | | pesoSecuencia > 0.003: Eliminada (82.0) | pesoSecuencia > 0.016: Finalizada (187.0) pesoSecuencia > 0.083: Incompleta (703.0) Number of Leaves : 6 Size of the tree : 11

Figura 6.7 – Resultado análisis mediante estructura de árbol.

Page 117: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

117 Guillermo Ezequiel Fittipaldi Ciuffo

Conclusión El análisis logrado mediante este algoritmo es el más simple en cuanto a comprensión del resultado logrado respecto a las problemáticas planteadas. Su estructura arbórea permite comprender de manera sencilla las características de cada extremo u hoja del árbol. La Figura 6.7 muestra el resultado de la ejecución del algoritmo en la herramienta. Referido al caso en particular, podemos decir que instancias con peso mayor a 0,083 fueron clasificadas dentro de instancias no completadas. Esto hace pensar que las instancias siguientes estarán en dicha clasificación. Como efecto secundario, podemos esperar que una gran cantidad de instancias sigan cayendo en las mismas condiciones a las referidas antes y por considerarse algo no-bueno para el negocio, es que debería pensarse en estrategias para mitigar estas cuestiones. Por otro lado si las instancias son de menor peso al mencionado en el párrafo anterior, menos de 0,083. En este punto el algoritmo detecto como pivote peso menor o mayor a 0,016; dividiendo la población de instancias, la herramienta detecto una segunda división referida al peso dejando a la derecha de este nodo una nueva subdivisión y su izquierda (mayores a 0,016 y menores a 0,983) las facturas finalizadas. Este mismo estudio se puede continuar haciendo hasta que se finalice la estructura del árbol. Además del análisis antes mencionado, sustentado por las instancias de entrada al algoritmo, se puede inferir que sucedería si llega una factura a la que se le asigne más de 0,1 de peso. De acuerdo a lo observado, estos casos permanecerían inconclusos. Por otro lado, si el peso asignado se encuentra entre 0,016 y 0,083 seguramente esta factura se finalice. Así, con información surgida desde las instancias este algoritmo simplifica el análisis de dicho conjunto. Con una estructura resultante clara y simple de comprender.

6.1.2.5 Análisis 5: BasadoInstancia Resultado Relación: Facturas Instancias: 1000 Atributos: 6 ZeroR predicts class value: Incompleta

Page 118: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

118 Guillermo Ezequiel Fittipaldi Ciuffo

IB1 instance-based classifier using 1 nearest neighbour(s) for classification

Figura 6.8 - Resultado análisis basado en instancias.

Conclusión En el análisis anterior se empleó un método Lazy para efectuarlo. Dado que la herramienta no trabaja con datos de entrenamiento se empleó el método de clasificación ZeroR. El método anterior predice la clase con mayoría de instancias. En la población a analizar. Este método detecto la clase Incompleta, como la más poblada y por este motivo es la principal que el analista de procesos debe poner atención. En la Figura 6.8 se muestra la pantalla resultante del análisis con el método aquí mencionado.

6.1.2.6 Resultados Gráficos del caso de estudio En las Figura 6.9 podemos apreciar gráficamente lo obtenido por los algoritmos, donde se muestra claramente la secuencia Secuencia_6 como la más preponderante en la población analizada. Esta secuencia con aproximadamente el 70% de los casos representa la mayor parte de las instancias en dicho flujo de

Page 119: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

119 Guillermo Ezequiel Fittipaldi Ciuffo

actividades. El resto se reparte las aproximadamente 300 instancias de la población.

Figura 6.9 – Diagrama de distribución de secuencia.

Esta visualización de la herramienta permite dar una noción grafica de la distribución de las instancias del negocio en el proceso analizado. Dicha posibilidad ayuda a comprender como se comporta el proceso durante la ejecución de los casos facilitando su entendimiento y análisis. Representa un valor adicional para el análisis del proceso y la distribución de los casos en él. Adicionalmente la herramienta muestra gráficamente la secuencia del grupo con mayor cantidad de instancias, es decir la secuencia típica o característica. En la Figura 6.10 se muestra esta pantalla resultante del reconocimiento de los casos a analizar.

Page 120: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

120 Guillermo Ezequiel Fittipaldi Ciuffo

Figura 6.10 – Secuencia principal.

Como se mencionó esta pantalla ayuda a entender gráficamente la secuencia y en la secuencia cual fue la actividad más empleada. En el caso en cuestión la secuencia característica está compuesta por una única actividad y se debe a que la mayoría de los casos se encuentran frenados en la primera actividad del flujo. Este tipo de grafico ayuda a comprender la secuencia típica de modo que el análisis pueda sugerir un punto particular del proceso a optimizar.

6.2. Resumen Mediante este capítulo se comprende la utilidad de la herramienta. Aquí se menciona el contenido del caso de estudio, así como las partes que lo componen. Además se describen las partes que componen el análisis. A continuación se describió el caso de estudio, dando la presentación grafica del proceso de negocio que se empleó para el análisis. A su vez se da una breve descripción del lenguaje de modelado que emplea BPM para presentar sus procesos con la intensión de comprender la simbología empleada. Una vez comprendido el proceso a emplear como caso de estudio, se demuestra la primera transformación lograda por la herramienta. En ella se detallan las secuencias detectadas luego de inferir el modelo del proceso mediante los datos ingresados. También se describe la clasificación empleada para el caso y su descripción, tal clasificación es empleada por los algoritmos para generar los modelos correspondientes al proceso en cuestión.

Page 121: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

121 Guillermo Ezequiel Fittipaldi Ciuffo

Cada algoritmo construye su modelo, tal estructura es la empleada por el analista de procesos para concretar el análisis. En el caso de estudio en cuestión se mencionan el resultado de los algoritmos implementados en la herramienta y sus conclusiones demostrando la aplicabilidad de este tipo de herramientas en para la problemática en análisis. Cada algoritmo empleado demuestra el valor de su aplicabilidad para comprender el comportamiento del negocio bajo análisis. Esta es la segunda etapa que se muestra en la Figura 1.1 del presente documento. Para estos tipo de herramientas la información gráfica es de mucha utilidad en para el análisis, para finalizar el capítulo se demuestra este comentario con la presentación de la distribución de secuencias mediante el análisis sobre el diagrama de torta aplicado al caso de estudio así como también la secuencia característica del proceso.

Page 122: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

122 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 7. Conclusiones y trabajos futuros

7.1. Conclusiones En la actualidad las organizaciones emplean soluciones globales cada vez con mayor frecuencia, contemplando todas las áreas que involucran una problemática en particular. Proyectos de tal dimensión requieren de arquitecturas que den soporte para alcanzar a toda la organización. Estas características pueden ser alcanzadas mediante implementaciones BPM, concretando la automatización de procesos de negocio y dando solución a todas las áreas involucradas de la organización con un único producto de software orquestando dicho problema de negocio. El producto generado, una vez que es usado genera un gran volumen de información que puede ayudar a optimizar dicho proceso de negocio, pero que requiere de técnicas y estrategias de análisis para lograr tal objetivo. La gran cantidad de información generada necesita de técnicas especiales que puedan procesar y transformar tales datos para su análisis. En el presente trabajo se emplea la técnica de Minería de procesos para realizar tal procesamiento, mediante el recupero de logs almacenados en la base de datos a partir de componentes tradicionales de conexión. La selección de este tipo de acceso a la información tiene dos justificaciones principales lograr acceso a datos de modo simple y ágil, sobre todo al necesitar acceder a un gran volumen de datos (sobre todo con el correr del tiempo), y por otro lado, emplear mecanismo conocido contemplando ser extendido de manera simple para obtener la información mediante otros mecanismos. El empleo de la técnica de Minería de procesos facilitó el diseño de la aplicación marcando pasos claros y concretos para el objetivo buscado. Se incluyeron algoritmos de minería de datos demostrando su utilidad y validez ante la casuística de datos presentada. Mediante el procesamiento, transformación y análisis de los datos, el presente trabajo presentó una herramienta entender e informar resultado surgido del estudio de toda la población de datos generados por los procesos de negocio. Dando posibilidad a inferir casos futuros gracias a la información proporcionada por los algoritmos empleados. Si bien se mencionó la existencia de gran cantidad de herramientas que permiten efectuar análisis de los datos históricos y generar reportes de los resultados en tales contextos de aplicación. Empleando las herramientas para el análisis sobre información histórica, sin posibilidad de variar algoritmos de análisis, se logra simplemente un resultado cuantitativo de ejecuciones. Cabe aclarar que todas las herramientas empleadas no permiten agregar nuevos algoritmos de análisis. Mediante la solución actual un objetivo planteado (y concretado) fue permitir agregar algoritmos de modo que la herramienta sea extensible en ese aspecto.

Page 123: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

123 Guillermo Ezequiel Fittipaldi Ciuffo

Como se mencionó antes, la solución implementada demuestra la utilidad de la técnica de minería de procesos para problemática planteada, empleando algoritmos de minería de datos en los distintos análisis. Este objetivo fue cumplido y comprobado mediante el caso de estudio presentado y comentado. En el séptimo capítulo, donde se presenta el caso de estudio, podemos experimentar la complejidad de contar con tanta información útil que nos puede ayudar a optimizar los procesos, infiriendo sugerencias en base a los resultados obtenidos. La posibilidad dada por la herramienta de extraer información útil desde los logs del proceso a analizar, da un valor adicional por contar con información real de la ejecución del proceso. Contar con una herramienta que permita analizar detalladamente la ejecución de los procesos de negocio, brinda a la organización la posibilidad de mejorar sus procesos de manera simple y transparente a la ejecución de los mismos. El analista de procesos puede ejecutar su tarea sin interferir con las tareas de los usuarios, al ser esta una solución independiente del ambiente donde corre el proceso. Por tratarse de una solución que se basa en los logs del proceso, le permite al analista considerar ejecuciones pasadas y ejecuciones presentes si se tiene acceso a la ejecución actual, pudiendo de este modo inferir ejecuciones futuras y por tanto encaminar las optimizaciones de acuerdo a los puntos sugeridos por el análisis.

7.2. Trabajos futuros Considerando que es un campo que va a seguir evolucionando de acuerdo al crecimiento de las organizaciones y sus procesos globalizados, esta herramienta tiene mucho por crecer y mucho por mejorar. Entre los puntos a crecer, la herramienta podría llegar a efectuar comparaciones de resultados pasados y resultados de análisis actuales. Este desarrollo involucra desde el almacenamiento de los resultados de ejecuciones, hasta comparación de dichos resultados con análisis actuales. De este modo, podríamos considerar la evolución del proceso a lo largo del tiempo. Otro punto a crecer, es desarrollar la lectura de logs a partir de archivos. Si bien el motor de base de datos responde de mejor manera a las diferentes consultas a efectuar, se puede presentar la ocasión donde no se pueda acceder a bases de datos para obtener información. Por lo que sería bueno contemplar otro mecanismo de acceso a logs. En cuanto a mejoras, y referida al análisis del usuario, se podría agregar un tablero de diagramas representativos del análisis. De este modo la herramienta brindaría no solo información textual sino también gráfica, facilitando las tareas

Page 124: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

124 Guillermo Ezequiel Fittipaldi Ciuffo

de análisis. Por ejemplo un demograma, un diagrama de árbol, etc., de acuerdo a la necesidad.

Page 125: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

125 Guillermo Ezequiel Fittipaldi Ciuffo

Capítulo 8. Bibliografía

[BPM2007] Business Process Management - Concepts, Languages, Architectures. Mathias Weske. Springer. 2007. Cap. 1: 3 – 6.

[BPM2006] BPM and SOA: A Strategic Alliance. Dr. Gopala Krishna Behara. BPTrends. 2006. 1-4.

[Aalst2011] Process Mining: Discovery, Conformance and Enhancement of Business Processes. AALST, W. VAN DER. Springer-Verlag, Berlin.2011. Cap.1: 29-35.

[BPM2003] Business Process Management: A Survey. Van der Aalst, Ter Hofstede, and Weske. Lecture Notes in Computer Science. Vol. 2678: 1-12.

[SOABPM2006] Patterns: SOA Foundation - Business Process Management Scenario. Martin Keen, Greg Ackerman, Islam Azaz, Manfred Haas, Richard Johnson, JeeWook Kim, Paul Robertson. IBM Redbooks publication. 2006. Cap.3: 33-41.

[TABPM2010] Todo Alrededor de BPM. J. J. Camargo Vega, J. E. Otóla Luna y A. B. Alvarado Gaona. Edit. Panamericana Formas e Impresos S.A. 2010. Vol. 9: 34-42.

[BPMORG] www.bpmn.org - Object Management Group Business Process Model and Notation. OMG. 2005.

[DDM1997] Discovering Data Mining from Concept to Implementation. Cabena, P.; Hadjinian, P.; Stadler, R.; Verhees, J. & Zanasi, A. Prentice Hall. 1997. Cap. 1: 20-36.

[MLM1997] Machine Learning. Mitchell, T. McGraw-Hill. 1997. Cap. 2:60-80.

[ADMA1997] Analysis of Data Mining Algorithms. Joshi, K.P. UMBC University. EEUU. 1997. Cap. 2: 4-10.

[KAICC1987] Knowledge acquisition via incremental conceptual clustering. Fisher, D. Kluwer Academic Publishers. 1987. Vol. 2: 145-153

[KDD1996] Knowledge Discovery and Data Mining: Towards a Unifying Framework. Usama Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth. AAAI. 1996. Vol. 96: 1-7.

[MANIFIESTO2012] Manifiesto sobre Minería de Procesos. Wil van der Aalst, Arya Adriansyah, Ana Karla Alves de Medeiros, Franco Arcieri, Thomas Baier, Tobias Blickle, Jagadeesh Chandra Bose, Peter van den Brand, Ronald Brandtjen, Joos Buijs, Andrea Burattin, Josep Carmona, Malu Castellanos, Jan Claes, Jonathan Cook, Nicola Costantini, Francisco Curbera, Ernesto Damiani, Massimiliano de Leoni, Pavlos Delias, Boudewijn van Dongen, Marlon Dumas, Schahram Dustdar, Dirk Fahland, Diogo R. Ferreira, Walid Gaaloul, Frank van Geffen, Sukriti Goel, Christian G¨unther, Antonella Guzzo, Paul Harmon, Arthur ter Hofstede, John Hoogland, Jon Espen Ingvaldsen, Koki Kato, Rudolf Kuhn, Akhil Kumar, Marcello La Rosa, Fabrizio Maggi, Donato Malerba, Ronny Mans, Alberto Manuel, Martin McCreesh, Paola Mello, Jan Mendling, Marco Montali, Hamid Motahari Nezhad, Michael zur Muehlen, Jorge Munoz-Gama, Luigi Pontieri, Joel Ribeiro, Anne Rozinat, Hugo Seguel Perez, Ricardo Seguel P´erez, Marcos Sep´ulveda, Jim Sinur,

Page 126: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

126 Guillermo Ezequiel Fittipaldi Ciuffo

Pnina Soffer, Minseok Song, Alessandro Sperduti, Giovanni Stilo, Casper Stoel, Keith Swenson, Maurizio Talamo, Wei Tan, Chris Turner, Jan Vanthienen, George Varvaressos, Eric Verbeek, Marc Verdonk, Roberto Vigo, Jianmin Wang, Barbara Weber, Matthias Weidlich, Ton Weijters, Lijie Wen, Michael Westergaard, and Moe Wynn. IEEE Task Force on Process Mining. 2012. 2-10.

[BPMining2012] Business Process Mining: From Theory to Practice. C.J. Turner, A. Tiwari, R. A. Olaiya and Y, Xu. Business Process Management Journal. 2012. Vol. 18: 493-512.

[MOBPM2012] Manual Oracle Business Process Management Suite 11g. Manoj Das, Manas Deb y Mark Wilkins. McGraw-Hill. 2012. Cap. 11: 559-621.

[MinProc2013] Gestión de procesos de negocio basada en evidencia. Marlon Dumas. Universidad de Tartu. 2013. 363-375.

[GDIP2011] Gestión del Desempeño e Inteligencia de Procesos. BPI Center. 2011. 4-10.

[BAMBI2005] Business Activity Monitoring and Business Intelligence. Harpal Kochar, Senior Principal Product Management, Oracle. ebizQ. 2005. http://www.ebizq.net/topics/cep/features/6596.html

[BAM2006] Business Activity Monitoring (BAM) definition. Margaret Rouse. TechTarget. WhatIs.com. 2006. http://searchcio.techtarget.com/definition/business-activity-monitoring-BAM

[BPA2009] Business Process Analytics. Michael zur Muehlen. Handbook on Business Process Management. 2009. Vol. 2: 4-24.

[MDD2006] Model-Driven Dashboards for Business Performance Reporting. Pawan Chowdhary, Themis Palpanas, Florian Pinel, Shyh-Kwei Chen, Frederick Y. Wu. IBM T.J. Watson Research Center. 2006. 2-10.

[WEKA1993] Weka 3: Data Mining Software in Java. Machine Learning Group at the University of Waikato. http://www.cs.waikato.ac.nz/ml/index.html

[ARFF2008] Attribute-Relation File Format (ARFF). 2008. http://www.cs.waikato.ac.nz/ml/weka/arff.html

[WG2009] Process Mining in Flexible Environments. Eindhoven: Technische Universiteit: University Press Facilities. GÜNTHER, CH. W. Rev. cubana ciencia informatica. 2009. vol. 8.

[AlB2013] Mining Configurable Process Models from Collections of Event Logs. Eindhoven University of Technology. Springer-Verlag Berlin Heidelberg. 2013. 1-16.

[ChV2009] Abstractions in Process Mining: A Taxonomy of Patterns. CHANDRA B., J. Y VAN DER AALST, W. Lecture Notes in Computer Science. 2009. Vol. 5701: 159-175.

[MVP2014] Taligent/IBM Model-View-Presenter (MVP). Stefano Borini. 2014. http://forthescience.org/books/modelviewcontroller /02_mvc_variations/23_taligent_mvp.html

[DP1997] Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison-Wesley Profesional Computing Series. 1997. Cap. 3: 81-135.

Page 127: HERRAMIENTA PARA ASISTIR EL NÁLISIS DE OPTIMIZACIONES …

HERRAMIENTA PARA ASISTIR EL ANÁLISIS DE OPTIMIZACIONES EN GESTIÓN DE PROCESOS DE NEGOCIO -

127 Guillermo Ezequiel Fittipaldi Ciuffo

[REFL2015] ORACLE Java Documentation. 2010. https://docs.oracle.com/javase/tutorial/reflect/

[GRAFO9899] GRAFOS. Universidad de Oviedo. TAD. 1999. Cap. 6. [HC2006] Métodos Jerárquicos de Análisis Cluster. Universidad de

Granada. 2006. Cap. 3. [KMeans2012] K-Means Clustering in Spatial Data Mining using Weka

Interface. Ritu Sharma, M. Afshar Alam, Anita Rani. International Journal of Computer Applications. 2012. 26-30

[FSANBC2010] The Impact of Feature Selection on the Accuracy of Naive Bayes Classifier. Jasmina Novakovic. Telecommunications forum TELFOR. 2010. 1113-1116.

[NB2002] Bayesian Online Classifiers for Text Classification and Filtering. Chai, K. Proceedings of the 25th annual international ACM SIGIR conference on Research and Development in Information Retrieval. 2002. 97-104

[CB2004] Clasificadores Bayesianos. Larrañaga, P. e Inza, I. Departamento de Ciencias de la Computación e Inteligencia Artificial. 2004. http:/www.sc.ehu.es/ccwbayes/docencia/ mmcc/docs/t6bayesianos.pdf.

[nBC1995] Estimating Continuous Distributions in Bayesian Classifier. George H. Jhon, Pat Langley. Proceedings of the Eleventh Conference on Uncertainty in Artificial Intelligence. 1995. 338-345.

[HZONB2004] The Optimality of Naive Bayes. Harry Zhang. FLAIRS2004 conference. 2004. http:/ / www. cs. unb. ca/ profs/ hzhang/publications/ FLAIRS04ZhangH. pdf

[CSLA2006] An empirical comparison of supervised learning algorithms. Caruana, R. and Niculescu-Mizil, A. Department of Computer Science. 2006. https://www.cs.cornell.edu/~caruana/ctp /ct.papers/caruana.icml06.pdf

[RB2006] Redes Bayesianas. Luis E. Sucar. INAOE. 2006. Cap. 1: 1-28. [T1993] C4.5: Programs for Machine Learning. J. Ross Quinlan.

Springer. 1993. Vol. 16: 235-240. [ALES1997] Automated Land Evaluation System ALES Version 4.65 User’s

Manual. David G. Rossiter. Cornell University, Department of Soil, Crop & Atmospheric Sciences. 1997. 11-26.

[TDC2005] Técnicas para el análisis de datos clínicos. David F. Nettleton. DIAZ DE SANTOS. 2005. Cap. 7: 119-158.

[DT2013] C4.5 algorithm and Multivariate Decision Trees. Korting, Thales S. INPE. 2013. https://www.academia.edu/1983952 /C4._5_algorithm_and_Multivariate_Decision_Trees

[IB1991] Analyses of Instance-Based Learning Algorithms. Marc K. Albert, David W. Alha. Machine Learning. 1991. Vol. 6: 37-66.

[IRC2007] Inteligencia en redes de comunicaciones. Alejandro B. Valiente, Zaida C. Jiménez. 2007. http://www.it.uc3m.es/jvillena/irc/practicas/05-06/12mem.pdf

[KNN2000] An Integrated Instance-Based Learning Algorithm. D. Randall Wilson, Tony R. Martinez. Computational Intelligence. 2000. , Vol. 16: 2-28.