Introducción a los diagramas EPC (Event-Driven Process Chain)

3
48704

Creación: 12-08-2009

índice de contenidos

1.Introducción
2. Entorno
3.Notación de los diagramas EPC
3.1.Evento
3.2.Función
3.3.Unidad organizativa
3.4.Información, material o recurso
3.5.Conector lógico
3.6.Flujo de control
4.Herramientas para trabajar con diagramas EPC
4.1.Gliffy
4.2.Dia
5.Conclusiones
6.Sobre el autor

1. Introducción

En este tutorial veremos en que consisten los diagramas EPC, o Event-driven Process Chain.

Haciendo una traducción más o menos literal, podríamos decir que EPC es: “Líneas de proceso gestionadas por eventos”

De esta forma, los diagramas EPC son una técnica de modelado de procesos de negocio, principalmente utilizada para el análisis de procesos con la intención de implementar una
planificación empresarial de recursos (ERP – Sistema usado para gestionar y coordinar todos los recursos, información y funciones de un negocio).

Por esto se puede decir que los diagramas EPC quedan dentro de la categoría de herramientas para BPM (Business Process Management, o Gestión de Procesos de Negocio). En esta línea ya hemos vistos otros tutoriales como:

 

Dentro del mundo de EPC, también podemos encontrar el “EPC Markup Language”. Este es un formato de XML para el intercambio de modelos EPC, independiente de herramientas y plataformas.


2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 17′ (2.93 GHz Intel Core 2 Duo, 4GB DDR3 SDRAM, 128GB Solid State Drive).
  • NVIDIA GeForce 9400M + 9600M GT with 512MB
  • Sistema Operativo: Mac OS X Leopard 10.5.6


3. Notación de los diagramas EPC

La notación de este tipo de diagramas es muy sencilla, ya que sólo consta de unos elementos. A continuación vamos a ver cuales son:

3.1. Evento

Son elementos pasivos. Describen sobre que circunstancias trabaja una función o proceso, o el resultado de una función o proceso.

Algunos ejemplos: “documentación recibida”, “plazas disponibles”, …

Normalmente los diagramas EPC comienzan y terminan con un evento.

3.2. Función

Son elementos activos. Modelan las tareas o actividades de la compañía. Describen la transformación de un estado inicial a un estado final. En el caso de que se puedan dar varios estados finales, la selección del correspondiente estado final, se puede modelar explícitamente como una función de decisión, usando conectores lógicos.

Las funciones se pueden refinar en otros diagramas EPC.

Algunos ejemplos: “solicitar documentación”, “comprobar plazas disponibles”, …

3.3. Unidad organizativa

Determina la persona u organización, dentro de la estructura de la empresa, que es responsable de una función específica.

Algunos ejemplos: “departamento de ventas”, “jefe de ventas”, …

Siempre va unida a una función mediante una línea continua.

3.4. Información, material o recurso

Representan objetos en el mundo real, por ejemplo objetos de negocio, entidades, … que pueden ser datos de entrada que sirvan como base para una función, o datos de salida producidos por una función.

Algunos ejemplos: “material”, “pedido” ,”solicitud”, …

Se unen con las funciones mediante una flecha de línea continua, donde la punta de la flecha indica si es información de entrada o de salida.

3.5. Conecto lógico

Describen las relaciones lógicas entre los elementos (eventos y funciones) en el flujo de control.

Con la ayuda de los conectores lógicos es posible dividir el flujo de control de un flujo a dos o más flujos, y sincronizar el flujo de control de dos o más flujos a un único flujo.

Hay tres tipos de relaciones lógicas:

  1. Branch/Merge (XOR)
  • Branch: Corresponde con tomar una decisión sobre que camino coger entre varios flujos de control. Cuando se cumple la condición, el branch activa sólo uno de los flujos de control de salida, y desactiva el resto.
  • Merge: Puede tener dos o más flujos de entrada, y un único flujo de control de salida. Sincroniza una única alternativa activada con el resto, que han de estar desactivadas.
  1. Fork/Join (AND)
  • Fork: Activa todos los flujos de control de salida, de forma concurrente.
  • Join: Sincroniza todos los flujos de controla de entrada activos.
  1. Or
  • Activa uno o más de los flujos de control de salida, y desactiva el resto de los flujos de salida.
  • En el Or de cierre, cuando por fin uno de los flujos de entrada es activado, el OR le pasa el control al siguiente elemento.

XOR

AND

OR

3.6. Flujo de control

Conecta eventos con funciones, caminos de procesos, o conectores lógicos, creando secuencias cronológicas e interdependencias lógicas entre ellos.

Se representan como flechas de línea discontinua.

 

A continuación presentamos otro diagrama donde se puede ver la relación de los flujos de control con los distintos elementos y operadores lógicos. En este diagrama, el punto negro representa el flujo de control activo (que está en “ejecución”). Podemos apreciar las diferencias entre los distintos operadores lógicos a la hora de dividir y sincroniza los distintos flujos de control.

Ekkart Kindler (2006). On the Semantics of
EPCs: A Framework for Resolving the Vicious Circle.
Technical Report. Computer Science Department, University of Paderborn, Germany
http://www.upb.de/cs/kindler/Publikationen/copies/tr-ri03.pdf


4. Herramientas para trabajar con diagramas EPC

Como hemos visto, la notación es muy sencilla, así que podemos usar prácticamente cualquier herramienta de dibujo para pintar diagramas EPC. Pero vamos a mencionar dos herramientas gratuitas en concreto.

4.1. Gliffy

Se trata de una herramienta de dibujo online. Está desarrollada con Flash y podemos acceder a ella directamente desde nuestro navegador, sin necesidad de instalar nada.

Tiene dos tipos de licencias. En la gratuita sólo podremos hacer diagramas públicos (los puede ver cualquiera), pero aun así dispone de mucha funcionalidad.

Los diagramas de este tutorial están hechos con esta herramienta, usando la paleta de “Flow Chart” y la paleta “Basic Shapes”.

http://www.gliffy.com/

4.2. Dia

Es una herramienta open-source (http://projects.gnome.org/dia/) que podemos encontrar para Linux, Windows o Mac (http://dia.darwinports.com/).

Podríamos decir que es una especia de Visio, pero para el mundo de código abierto. Lleva muchos años en el mercado y tiene bastantes funcionalidades. Una de estas funcionalidades es que nos podemos crear nuestras propias paletas de elementos. De esta forma podemos encontrar una paleta para trabajar con diagramas EPC en la web: http://dia-installer.de/shapes/edpc/index_en.html

5. Conclusiones

Esto sólo ha sido una pequeña introducción y ahora nos tenemos que poner manos a la obra; pero lo que está claro es que tenemos infinidad de herramientas a nuestro alcance, y esta de los diagramas EPC puede ser de mucha ayuda a la hora de enfrentarnos al análisis de un nuevo sistema donde desconocemos por completo el negocio. En estos casos es especialmente importante, antes de lanzarnos a codificar, entender el problema; y que mejor manera que modelar el negocio con este tipo de diagramas. Así veremos que las cosas no son tan sencillas como pude parecer a primera vista.

Además es fundamental introducirnos poco a poco en el mundo de gestión de procesos (BPM), ya que dentro de este campo podemos encontrar multitud de soluciones, tanto de pago como open-source, que nos pueden ahorra mucho tiempo a la hora de desarrollar nuestros sistemas empresariales.

6. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software) y ScrumMaster

Socio fundador de Autentia (Formación, Consultoría, Desarrollo de sistemas transaccionales)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – «Soporte a Desarrollo»

http://www.autentia.com

 

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

3 COMENTARIOS

  1. Muchas gracias por el contenido, me ha sido de mucha ayuda en la investigación sobre los diferentes tipos de Estándares por el modelado, de nuevo muchas gracias.

  2. Gracias por el artículo, me parece muy claro.
    Sólo una duda: cuándo recomendarías utilizar este tipo de diagramas en lugar de los clásicos diagramas de flujo donde los puntos de decisión están representados con un rombo?
    Gracias de nuevo!

    • Bueno no es que recomiende uno y otro diagrama, sino que presento un poco los EPC para que se conozcan y para tener alternativas en función de gustos y necesidades. Así que utiliza el que mejor se ajuste a tus circunstancias o con el que más cómoda te sientas.
      Un saludo y gracias!

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad