INTRODUCCIÓN
Desde principios de los años noventa el modelado de procesos de negocio (MPN) ha ido ganado interés para muchas organizaciones. La mejora de estos procesos de negocio de manera eficaz y flexible se ha convertido en una de las causas más críticas para el éxito de las compañías (Davies, Green, Rosemann, Indulska, & Gallo, 2006). El MPN se considera una parte esencial para comprender y estructurar las actividades que una organización utiliza para lograr sus metas; consiste en la descripción y visualización de los procesos por medio de un modelo que los represente en forma de un gráfico o diagrama. El MPN tiene algunos años de desarrollo, pero las investigaciones sobre los aspectos relacionados con su calidad son relativamente recientes (J. Mendling, Reijers, & Recker, 2010). Puede definirse la calidad como el cumplimiento de todas las propiedades deseables de un modelo para satisfacer las necesidades de los usuarios (Bandara, Gable, & Rosemann, 2005). La falta de un soporte automático de verificación en las herramientas de modelado y la dificultad que requiere la comprensión de las implicaciones de comportamiento de sus diseños para muchos modeladores implica la presencia de problemas de calidad en los modelos debido a que grandes proyectos de documentación suelen confiarse a modeladores noveles y no expertos. La enseñanza del modelado de procesos debe enfocarse en transmitir los principios generales, más allá de un lenguaje de modelado específico, guiado a la obtención de modelos con la mayor calidad posible (Jan Mendling, 2007). En este trabajo se presenta la herramienta denominada SAD_BPMN creada para evaluar la calidad de modelos de procesos de negocio usando la notación BPMN, donde se incorporan elementos de la teoría de grafos para su materialización. Además, se ofrece ayuda a los modeladores a través de un conjunto de directrices prácticas y medidas que permiten corregir los errores de modelado tomando como fundamento el patrón y clasificación taxonómica para directrices prácticas en modelos de procesos de negocio propuesto en (Moreno, 2015), así como la visualización de los errores para contribuir al aseguramiento de la calidad del proceso de modelado.
METODOLOGÍA COMPUTACIONAL
En las empresas se organizan las actividades por medio de un conjunto de procesos de negocio para alcanzar sus metas (García Molina, Ortín, Moros, Nicolás, & Toval, 2007). Un proceso de negocio posee siempre un objetivo a lograr y puede estar relacionado con la satisfacción del cliente, proveedor o empleado con la entrega de un determinado servicio o producto. Según Dumas y cols. (Dumas, La Rosa, Mendling, & Reijers, 2013), un MPN consiste en un conjunto de actividades estructuradas y relacionadas entre sí que se realizan en coordinación. Estos modelos contienen la información necesaria para ayudar a formalizar el flujo de trabajo mediante la descripción de las actividades requeridas. El MPN es la descripción gráfica de dichos modelos mediante las técnicas y herramientas adecuadas para ello y tiene como objetivo fundamental facilitar la comprensión por parte de los involucrados, ayudar a verificar propiedades de interés y proporcionar bases para la formalización del proceso (Dumas et al., 2013). Por tanto, el MPN puntualiza funciones, controladores, entorno de trabajo, prerrequisitos y resultados.
Lenguaje para el modelado de procesos de negocios BPMN
El MPN además se conoce como una especificación de flujos de trabajo. Para diseñar un flujo de trabajo es necesario un lenguaje o una herramienta de modelado. Entre algunos de estos lenguajes se pueden mencionar: UML (Unified Modeling Language) (Eichelberger & Schmid, 2009), EPC (Event Process Chain) (Jan Mendling, 2008), Lenguaje de Definición de Procesos XML (XML Process Definition Language; XPDL), BPMN (Business Process Modeling Notation) (OMG, 2011). BPMN define solamente los diagramas de procesos del negocio y posee un enfoque centrado en procesos (García Molina et al., 2007). Este brinda una notación estándar entendible por los analistas que realizan diseños iniciales de los procesos, los responsables de desarrollar la tecnología que se ejecutará y los gerentes de negocios, encargados de administrar y realizar el monitoreo de los procesos (OMG, 2011). El propósito de BPMN es ofrecer un lenguaje de enlace entre el diseño y la implementación de los procesos, ofreciendo soporte solamente para los conceptos aplicables a los procesos de negocio; este lenguaje se ha convertido de amplio uso por ser el estándar aceptado por OMG (acrónimo del inglés Object Management Group) (OMG, 2011). El mismo proporciona cuatro categorías básicas que permiten modelar los procesos de negocios: Objetos de flujo (eventos, actividades, compuertas), Objetos conectivos (flujo de secuencia, flujo de mensajes, asociación), Contenedores (pool y lane) y Artefactos (OMG, 2011). Estas categorías son de fácil comprensión y reconocimiento en los diagramas para soportar los requerimientos y complejidades. Por estas razones se ha desarrollado una gran cantidad de herramientas para modelar usando BPMN, entre las cuales se encuentran: Aris Express (ARIS COMMUNITY, 2009), Camunda (Allan Fernández, 2014), Bonita (Castillo, 2011), Signavio (Kunze & Weske, 2010), Bizagi (Rowman, 2009), Visual Paradigm (García Molina, Ortín, Moros, Nicolás & Toval, 2007), entre otras. Las herramientas Bonita y Bizagi han logrado gran popularidad entre los modeladores del negocio porque poseen una interfaz que le permite al usuario desarrollar sus diagramas de una manera eficiente e intuitiva (Castillo, 2011). Por todo esto se decide crear la herramienta SAD_BPMN para evaluar modelos BPMN e implementar la carga de archivos desde las herramientas de modelado Bonita y Bizagi, lo cual permite completar el modelado de procesos de manera fácil de entender; permite documentar los procesos de forma gráfica en un formato estándar conocido; automatizar procesos complejos, organizarlos dentro de aplicaciones, niveles y categorías.
Grafos dirigidos para manipular modelos de procesos de negocio
Los grafos dirigidos son una estructura de datos que se utiliza para almacenar información relacionada, cuyos enlaces son unidireccionales e indican hacia dónde están dirigidos; expresan de forma sencilla las relaciones que se dan entre los elementos, es decir facilitan la resolución de problemas de una manera práctica y exacta, permitiendo obtener resultados confiables que son de ayuda a la hora de tomar decisiones en la solución de problemas. Los grafos son útiles en el MPN, pues un modelo de proceso de negocio puede ser analizado como un grafo dirigido, donde los elementos del modelo son los vértices del grafo y los flujos son las aristas. De esta forma se puede realizar un análisis de los elementos BPMN en el archivo. xpdl generado por Bizagi, realizando un mapeo entre estos elementos y la estructura de un grafo dirigido. Una vez realizado el mapeo, el trabajo con las directrices prácticas y el cálculo de las medidas de calidad asociadas se puede efectuar de manera más sencilla, por medio de recorridos en el grafo. Estos aspectos se detallan en las secciones siguientes.
Calidad en los modelos de procesos de negocio
Los MPN son útiles para describir la lógica del negocio ya que proporcionan un entendimiento comprensible de un proceso, permitiendo el análisis de una empresa dada. Los modelos de procesos bien diseñados ayudan a prevenir errores desde el comienzo de la ingeniería de dominio, lo que es vital ya que el costo de los errores se incrementa exponencialmente durante el ciclo de vida del software. Para esto es importante que estén libres de errores. La aplicación de directrices prácticas de modelado constituye una forma de mejorar la calidad de los MPN. Como consecuencia de no detectar o no corregir los errores, los modelos conceptuales de baja calidad suelen incrementar el esfuerzo de desarrollo o resultar en un proceso o en un sistema que no satisface a los usuarios (J. Mendling et al., 2010). El estándar BPMN no garantiza que los procesos se modelen de forma clara y eficaz; la forma en que los modeladores interpretan las condiciones de negocio y cómo definen su estructura, es crucial para asegurar que se entienden correctamente.
En la (Figura 1) se muestra un modelo de proceso de negocio que contiene una serie de errores; se aprecia que el modelador no utiliza eventos de inicio y fin, no etiqueta los elementos y no hace corresponder las compuertas, lo cual es incorrecto porque da lugar a malas interpretaciones del modelo.
(fuente: elaboración propia).
Directrices prácticas
Una directriz práctica es una buena práctica o consejo que ofrece una guía sobre cómo un modelo de proceso puede mejorarse; tiene como objetivo aconsejar a los modeladores para mejorar la calidad de los modelos de procesos. En varias investigaciones se han seleccionado directrices prácticas relevantes para el MPN (Moreno, 2015). Este conjunto de directrices puede agruparse en los conjuntos siguientes: (a) representación visual y estilo de etiquetado de los modelos; y (b) las directrices de la complejidad que tratan sobre tamaño y morfología, los cuales tienen como objetivo mejorar la corrección semántica de los modelos (Moreno, 2015).
Medidas de calidad
Las medidas de calidad para MPN están asociadas a las directrices prácticas y estas medidas se utilizan para cuantificar, de forma precisa, la ocurrencia de los problemas en aspectos estructurales en los modelos al aplicar cada directriz, caracterizando cuantitativamente la calidad interna de los modelos de procesos (Moreno, 2015) (Sánchez González, García Rubio, Ruiz González, & Piattini Velthuis, 2010). En los últimos años, el número de estas medidas se ha incrementado para mejorar los modelos en etapas tempranas de su desarrollo. La calidad interna de los modelos de procesos debe ser cuantificada con más de una medida para obtener la mayor cantidad de información posible de un modelo dado; de ahí que sea ventajoso usar varias medidas de calidad para determinar si las características de un modelo no concuerdan con las directrices. Las medidas utilizadas en este trabajo han sido agrupadas en dos bloques: medidas de complejidad y medidas de representación visual propuestas en (Moreno, 2015), donde se tratan 50 directrices con un total de 67 medidas asociadas, de las cuales 29 pertenecen al bloque de complejidad y 38 al bloque de representación visual.
RESULTADOS Y DISCUSIÓN
En la herramienta SAD_BPMN se analizaron los MPN almacenados en archivos de salida .xpdl o .bpmn creados en las herramientas Bizagi y Bonita respectivamente. A continuación, a modo de ejemplo, se analiza el trabajo realizado con los archivos creados en Bizagi. De forma análoga, se realiza para los archivos creados con Bonita por lo que la presentación y discusión se centra en los primeros. En este caso, la validación de los diagramas toma como entrada archivos .xpdl, los cuales se dividen en tres secciones principales:
Información de la herramienta: Se muestra información detallada de la versión de Bizagi.
Descripción del pool y lane asociado: Esta sección está dedicada a los pool y los lane asociados a cada pool. Aquí se muestra la información relacionada con el largo y el ancho, las coordenadas relativas en el gráfico donde están ubicados y el color de estos elementos.
Información del proceso: En esta sección se describen detalladamente todas las componentes involucradas en la modelación del proceso de negocio.
Dado que el archivo .xpdl se muestra en formato XML, se seleccionaron las bibliotecas JDOM (Java Document Object Model) y JGraph. La primera por ser una biblioteca de código abierto que permite manipular archivos en formato xml y la segunda por ser una biblioteca de software libre para el dibujado y la manipulación de grafos. Para almacenar la información de los modelos de procesos de negocio se utilizaron grafos dirigidos, pues son una estructura de datos apropiada para almacenar información relacionada, por ende tienen gran similitud con los modelos de negocio por lo que en este trabajo se hace uso de la teoría de grafos implementándose a través de listas de adyacencia para manipular la información de cada uno de los elementos del modelo de proceso de negocio y de esta forma realizar un análisis de los elementos BPMN en el archivo .xpdl generados por Bizagi.
Para realizar la transferencia de información del MPN a un grafo dirigido, donde cada componente del proceso se corresponde con un vértice del grafo y los flujos de secuencias son las aristas que unen a su vez los vértices; logrando que todos los componentes queden representados por vértices. En la (Figura 2) se muestra un MPN con 6 componentes y 6 flujos de secuencia para conectar los componentes y en la (Figura 3) se observa la transformación de dicho modelo a grafo donde existen 6 vértices con 6 aristas.
(fuente: elaboración propia).
(fuente: elaboración propia).
Cada vértice almacena el identificador, nombre, una lista de coordenadas y el tipo de componente que representa; en el caso de las compuertas además se almacena el alto, el ancho; en los eventos se guarda el subtipo para diferenciarlos y en el caso de los flujos de secuencia se recoge un origen y un destino. Para la implementación de la carga de modelos en archivos .xpdl se adaptó la herramienta al patrón de diseño Estrategia (del inglés Strategy) pues permite realizar un cambio de estrategia en tiempo de ejecución sustituyendo el objeto que se encargará de implementarla (Freeman, Freeman, Sierra, & Bates, 2008); la herramienta SAD_BPMN está formada por una interfaz llamada AbstractModel la cual la implementa las clases LoadBonita y LoadBizagi; además cuenta con una clase cliente llamada SAD_BPMN la cual realiza la carga del modelo, en dependencia del archivo que el modelador desea evaluar .xpdl o .bpmn, generado por las herramientas Bizagi y Bonita respectivamente. La (Figura 4) muestra el diagrama de clases correspondiente al patrón Estrategia implementado en la herramienta SAD_BPMN.
(fuente: elaboración propia).
La (Figura 5) muestra la interfaz gráfica de SAD_BPMN y sus funcionalidades principales. La herramienta permite evaluar MPN, se implementaron las directrices prácticas con sus respectivas medidas asociadas para la evaluación de los mismos: Solapamiento de elementos y Pool sin etiquetar, ofreciendo ayuda a los modeladores a través de un conjunto de directrices prácticas y medidas que permiten corregir los errores de modelado, así como la visualización de los errores para contribuir al aseguramiento de la calidad del proceso de modelado.
(fuente: elaboración propia).
En la (Figura 6) se muestra un ejemplo de un MPN con elementos solapados, donde existen 6 elementos solapados (Tarea 2, Tarea 3, Tarea 4, Tarea 5, Tarea 6 y evento de fin) y tres solapamientos.
(fuente: elaboración propia).
El procedimiento correspondiente para determinar si existen elementos solapados en el diagrama de procesos de negocio se muestra a continuación:
Paso 1: Inicializar la lista de elementos solapados vacía;
Paso 2: Declarar las variables numéricas x, y, ancho y alto;
Paso 3: Recorrer la lista de tareas representadas en el grafo dirigido como sigue:
Para cada elemento i-ésimo de la lista de tareas hacer:
Evaluar ancho como el ancho del elemento registrado en la posición i-ésima de la lista de tareas;
Evaluar alto como el alto del elemento registrado en la posición i-ésima de la lista de tareas;
Evaluar x como la abscisa del punto del elemento registrado en la posición i-ésima de la lista de tareas;
Evaluar y como la ordenada del punto del elemento registrado en la posición i-ésima de la lista de tareas;
si x + ancho> x
si y + alto > y
si x < x + ancho
si y < y + alto
si id del elemento es igual al identificador del elemento registrado en la posición i-ésima de la lista de tareas entonces:
Añadir par de elementos en la lista de elementos solapados;
//hacer lo mismo para los eventos y las compuertas
Paso 5: Retornar lista de elementos solapados;
El modelo de procesos de negocio que se muestra en la (Figura 6) fue evaluado en la herramienta SAD_BPMN aplicando la directriz práctica solapamiento de elementos y el resultado obtenido se puede observar en la (Figura 7).
(fuente: elaboración propia).
En la (Figura 8) se muestra un ejemplo de un modelo de proceso de negocio donde se puede apreciar que el pool está sin etiquetar.
(fuente: elaboración propia).
El modelo de procesos de negocio que se muestra en la (Figura 9) fue evaluado en SAD_BPMN aplicando la directriz práctica Pool sin etiquetar donde los valores a devolver son 1 si el pool esta sin etiquetar y 0 en otro caso.
(fuente: elaboración propia).
Si el modelador desea visualizar los errores encontrados por la herramienta a su modelo, se deben seleccionar las directrices relacionadas con la complejidad o representación visual para lo cual se utilizan las medidas descritas en (Moreno, 2015); seleccionar la opción en el sistema para mostrar sugerencias al modelador y obtiene su diagrama con los errores encontrados; en el ejemplo de la (Figura 10) se seleccionó la directriz Alto número de eventos de inicio y se muestra cómo la herramienta señala con un cuadro de color rojo los múltiples eventos de inicio, pues esta directriz sugiere no utilizar más de dos eventos de inicio en el modelo.
(fuente: elaboración propia).
Actualmente se trabaja con la herramienta en el curso Aspectos Avanzados de Ingeniería de Software en la Maestría de Ciencia de la Computación y en la asignatura de Ingeniería de Software en la carrera de Ingeniería Informática, ambas de la Universidad Central “Marta Abreu” de Las Villas, Cuba, siendo avalado de muy satisfactorio. Constituye un importante material a consultar en cualquier investigación que se realice sobre MPN lo cual contribuye a elevar el nivel de profesionalidad en los especialistas de la ingeniería de requisitos.
CONCLUSIONES
Los modelos de procesos de negocio son útiles para describir la lógica del negocio y son muy utilizados en la actualidad, ya que pueden proporcionar un entendimiento comprensible de un proceso, lo que permite el análisis de una empresa dada. Para esto, es importante que estén libres de errores. Esto sugiere la aplicación de directrices prácticas de modelación para poder garantizar una buena calidad del modelado. En este trabajo se analizaron las estructuras de los archivos de salida de las herramientas Bonita y Bizagi y se implementó la lectura de los MPN desarrollados en ellas y un módulo para realizar propuestas de cambios a los modelos de forma visual a partir de su evaluación siguiendo directrices prácticas de modelado con el empleo de medidas asociadas que constituyen una ayuda indudable en la evaluación de la calidad de los modelos y, desde el punto de vista metodológico, contribuye a la enseñanza de los temas de modelado de procesos de negocio dentro de la ingeniería de dominio.