Universidad de Concepción Facultad de Ingeniería Departamento de Ingeniería Civil Informática y Ciencias de la Computación Gestión Informática “Modelamiento de procesos de negocios usando UML” Rodrigo Díaz Orellana Concepción, martes 17 de abril de 2001 Sumario El presente informe detalla la metodología para el modelamiento de procesos de negocio usando UML, extraída desde el libro “Enterprise modeling using UML”. Esta metodología simplifica enormemente el proceso de modelamiento de los procesos de negocios vistos desde una perspectiva de sistemas de computación. 2 Indice SUMARIO ............................................................................................................... 2 INDICE .................................................................................................................... 3 INTRODUCCIÓN .................................................................................................... 4 CONCEPTOS FUNDAMENTALES ........................................................................ 5 PROCESOS DE NEGOCIOS (BUSINESS PROCESS) ....................................................... 5 ETAPAS DE PROCESOS (PROCESS STEPS) ................................................................ 5 PROCESOS COMPUESTOS ....................................................................................... 6 WORKFLOW ........................................................................................................... 6 DISEÑO DE PROCESOS CON UML ...................................................................... 6 CASOS DE USO DE NEGOCIOS (BUSINESS USE CASE) ................................................ 7 DIAGRAMA DE ESTADOS DE PROCESOS .................................................................... 7 DIAGRAMA DE ACTIVIDADES DE ROLES (ROLE ACTIVITY DIAGRAM) .............................. 8 DIAGRAMA DE SECUENCIA DE PROCESOS (PROCESS SEQUENCE DIAGRAM) .............. 10 CONCLUSIONES ................................................................................................. 12 BIBLIOGRAFÍA .................................................................................................... 13 3 Introducción Dentro de una organización existen diversos procesos relacionados con los negocios que la empresa realiza. Dentro de los diferentes tipos de empresas existen procesos de manufactura, finanzas, planificación, producción, etc. Encontrar una notación que describa esta heterogénea variedad de procesos es una tarea no trivial. El presente documento muestra como los procesos de una organización pueden ser modelados usando la notación UML (Unified Modeling Language) y sus estructuras. En primer lugar se define un proceso de negocio y sus componentes, con la intención de colocar a los lectores en un terreno común. Luego se pasan a definir los elementos del lenguaje UML que aplican al modelar un proceso de negocio. En este trabajo se da por sentado que el lector conoce los conceptos básicos y los diagramas más usados de la notación UML; por lo tanto, estos no serán definidos, sino más bien aplicados a nuestro contexto. 4 Conceptos fundamentales Procesos de Negocios (business process) Un proceso de negocio define el cómo una organización logra sus propósitos. Los procesos de negocios están compuestos de procesos atómicos relacionados entre sí por reglas de trabajo. El término “proceso de negocio” tiene variadas definiciones, por la naturaleza de la realidad que describe; sin embargo, en forma general se puede decir que un proceso de negocio “representa el flujo de trabajo e información a lo largo de un negocio”. En el contexto de la orientación a objetos, los procesos son representados por objetos con ciclos de vida adecuados. Etapas de procesos (process steps) En todo ámbito, podemos percibir que los hechos de naturaleza continua. Sin embargo, para simplificar el trabajo de modelar objetos que cambian de valor en intervalos continuos, preferimos representarlos como una sucesión de eventos discretos, con una posición determinada en la línea de tiempo. Las etapas de procesos, conocidas además como transacciones, identifican eventos del proceso. Pueden acceder o cambiar el estado de una o más entidades de negocios, y las acciones que realiza varían considerablemente entre los diferentes procesos, compañías y dominios, por lo que son personalizados en la mayor parte de los casos. Una etapa de proceso puede ser representada por clases, que pueden ser especializadas progresivamente por la herencia de clases de procesos generales. Esta especialización se produce removiendo opciones de la clase genérica, lo que restringe el conjunto de posibles combinaciones de etapas componentes y flujos de trabajo. 5 Procesos compuestos Tal como la gran mayoría de las organizaciones son complejas, los procesos de negocios que subyacen son complejos. Por esta razón, muchas veces es imposible que sean ejecutados en una sola secuencia de pasos. Un proceso compuesto esta formado por un conjunto de procesos, con reglas de flujo de trabajo para especificar su secuencia y dependencias. Workflow “El elemento molecular de todo proceso de negocio es el Workflow, una interacción entre dos personas dentro de las cuales una ejecuta a cabalidad una tarea para la satisfacción de otra” [White and Fisher, 1994] Diseño de procesos con UML Un proceso de negocios involucra muchas tareas, incluyendo su definición, instanciación, flujo de trabajo, seguridad, documentación e interfaces de usuario. En todo caso, como la mayor parte de estos requerimientos son compartidos por todo los procesos, por lo que pueden ser implementar como un proceso genérico desde el cual se pueden deducidos. A pesar que no existe un acuerdo común respecto a los conceptos de proceso y workflow, emergen entendimientos comunes de las relaciones entre los casos de uso de negocios, procesos de negocios y workflow. Las relaciones que se pueden hacer entre los procesos de negocios y el workflow y los elementos de UML son las que se describen a continuación. 6 Casos de uso de negocios (Business Use Case) Los diagramas de caso de uso tienen por objetivo describir cómo el sistema será usado por los usuarios, que son agentes externos a él. Están compuestos por un conjunto de etapas de procesos que son las que componen el proceso de negocio, y los actores, que son roles organizacionales que ejecutan las etapas de procesos. Consulta Cotización Rol de Consumidor Orden de compra Rol de Proveedor Entrega Figura 1 Como se puede ver en el ejemplo, el proceso se inicia con una consulta del cliente, la que es respondida por el proveedor con una cotización. Esta a su vez puede resultar en una orden de compra de parte del cliente y luego entregada y facturada por el proveedor. Este proceso involucra dos distintos tipos de actores (un cliente y un proveedor), los que juegan roles diferentes respecto al proceso. Uno de los propósitos principales de los diagramas de caso de uso de negocio es facilitar la comunicación entre los usuarios y los desarrolladores Diagrama de estados de procesos El diagrama de estados de procesos es un diagrama de transición de estados, donde los estados son una configuración posible del conjunto de variables definidas para el proceso de negocio y las transiciones son las etapas de procesos. 7 Siguiendo el ejemplo de la compra de productos, el diagrama de estados de procesos es el siguiente consulta Consultado cotizacion rechazar Cotizado Rechazado orden Ordenado cancelado Cancelado factura Facturado nota de credito Anulado archivo archivo Figura 2 El inconveniente de estos diagramas de estado es que no permiten modelar procesos distribuidos en los que diferentes personas en diferentes lugares, o aquellos donde los eventos a los que responde el proceso pueden cambiar, dependiendo del estado actual. Estas y muchas características no son soportadas por un diagrama de estados de procesos, por lo que se necesita un diagrama no estático que defina con un mayor detalle el orden en el que se ejecutan los procesos. Diagrama de actividades de roles (Role Activity diagram) El diagrama de actividades de roles es una especialización del diagrama de estados de procesos, puesto que vincula las etapas de proceso a los roles de la organización que las ejecutan. Modelan la interacción entre los diferentes actores, incluyendo al cliente, en un proceso de negocio. La notación usada para realizar un diagrama de actividades de roles se muestra a continuación 8 Rol o unidad organizacional CLIENTE Estado de inicio del proceso Estado de finalización del proceso Subproceso Actividad o subproceso Dependencia entre actividades Barra de sincronización Líneas punteadas de división entre roles Actividad de decisión Figura 2 Continuando con el ejemplo del proceso de venta, el diagrama de actividades de roles (como siempre, bastante sencillo) es el siguiente CLIENTE PROVEEDOR consulta NECESIDAD PREPARAR cotizacion EVALUAR orden EJECUTAR facturacion SATISFACCION Figura 4 9 Los diagramas de actividades pueden ser bastante complejos, debido a que la cantidad de etapas de procesos y roles puede ser bastante grande. Es por eso que muchas veces es aconsejable simplificar los diagramas, creando especies de subprocesos que no son más que agrupaciones de etapas de procesos. En el caso que se ha desarrollado, por ejemplo no se ha tomado en cuenta el nivel de complejidad del proceso de cotización. Es posible que el proveedor no tenga en existencia algunos de los artículos solicitados, y deba cotizar entre sus proveedores mayoristas la existencia y el precio del artículo. A su vez, una cotización puede desencadenar una serie de documentos, estudios de factibilidad, etcétera. Para el proceso de cotización se puede entonces generar un nuevo diagrama de actividades, esta vez con un mayor nivel de detalle e incorporando roles organizacionales no incorporados en el diagrama principal. Como se puede ver, el diagrama de actividades de roles tiene una definición recursiva, por lo que es ideal para manejar la complejidad de los procesos, al añadir detalles progresivamente a través de los subprocesos. Diagrama de secuencia de procesos (Process Sequence Diagram) Los diagramas de secuencia de procesos modelan la interacción entre una etapa de proceso y los demás objetos del proceso. Estos diagramas no investiga a fondo el comportamiento de los objetos, sino describe cómo ellos colaboran durante las etapas de procesos. O sea, modelan lo que hacen, no cómo lo hacen. A continuación la cotización vista en detalle en el apartado anterior es modelada con un diagrama de secuencia de procesos, vista desde una perspectiva de costos. 10 COTIZACION LINEA DE ITEM CLIENTE PRODUCTO IMPUESTO estaDisponible() if avail getPrice() addLineItem() getTaxRate() getTotalValue() isCreditOK() completed() Figura 5 11 Conclusiones La pretensión del autor al escribir el presente informe es presentar la forma en que, usando la notación UML, es posible modelar el comportamiento de una organización desde el punto de vista de los procesos de negocios. El propósito de modelar los procesos de negocios es, a primera vista, confeccionar un sistema de información que apoye a estos procesos. Sin embargo, un razonamiento más acabado indica que además se pueden conseguir bastantes beneficios al modelar. Por ejemplo, puede ser que la organización no tenga formalizados la mayoría o todos los procesos, por lo que modelarlos crea una visión bastante más acabada de cómo funciona la empresa. Esto se puede ver por lo general en empresas emergentes o en las PYMES. Además, el ver los procesos desde una perspectiva más general (desde afuera, en una hoja de papel, no desde dentro) puede ayudar a detectar carencias y fallas en cierto proceso, lo que de otro modo no es posible descubrir. Por otra parte, los diagramas, por su naturaleza simple, ayudan tremendamente a la hora de dialogar con gerentes no tecnológicos, ya que como dice el refrán, “una imagen vale más que mil palabras”. Finalmente, usar en particular metodología orientadas al objeto permite a la hora de modelar procesos de negocios ayuda a detectar componentes reutilizables, lo que crea procesos de negocios flexibles y de un nivel de abstracción más alto con respecto a la tecnología usada. 12 Bibliografía [Marshal, Chris, 2000] Chris Marshall. Enterprise Modeling using UML: designing succeful software though business analysis. Addison Wesley, 2000 [White and Fisher, 1994] Thomas E. White and Lanya Fisher. New tools for New Times: The Workflow Paradigm. Lighthouse Point, FL: Future Strategies, 1994 [Larman, Craig, 1999] Craig Larman. UML y patrones. Introducción al análisis y diseño orientado a objetos. Prentice Hall, México, 1999 13