universidad dr. josé matías delgado facultad de economía...
Post on 03-Nov-2018
277 Views
Preview:
TRANSCRIPT
Universidad Dr. José Matías Delgado Facultad de Economía
Dr. Santiago I. Barberena Carrera Computación
Tesis: Metodología para el análisis y diseño de sistemas
de información para automatizar procesos administrativos internos, utilizando workflow
Presentada por: José Roberto Mendoza Pérez
Nelly Gabriela Hazle Serrano Serrano
Asesor: Lic. Ricardo Nosthas
Antiguo Cuscatlán 06, de diciembre de 2003.
2
Índice
ÍNDICE .................................................................................................................................................................... 1
1 ASPECTOS TEÓRICOS FUNDAMENTALES ......................................................................... 5
1.1 ORIGEN DE LA INFORMACIÓN ........................................................................................................... 5 1.2 CONCEPTO DE INFORMÁTICA ........................................................................................................... 5 1.3 TECNOLOGÍA DE INFORMACIÓN ....................................................................................................... 6 1.3.1 CONCEPTO ........................................................................................................................................... 6 1.3.2 GESTIÓN ............................................................................................................................................... 7 1.3.3 ARQUITECTURA ................................................................................................................................... 8 1.4 SISTEMAS DE INFORMACIÓN ............................................................................................................. 9 1.4.1 CONCEPTO ........................................................................................................................................... 9 1.4.2 TIPOS .................................................................................................................................................... 9 1.4.3 CICLO DE VIDA DE LOS SISTEMAS DE INFORMACIÓN ........................................................................ 13 1.4.3.1 Modelo de cascada ............................................................................................................................ 13 1.4.3.2 Modelo de construcción de prototipos ............................................................................................. 16 1.4.3.3 Modelo evolutivo .............................................................................................................................. 17 1.4.3.4 Modelo de desarrollo rápido de aplicaciones ................................................................................... 19 1.4.3.5 Modelo de métodos formales ........................................................................................................... 20 1.4.4 UML .................................................................................................................................................. 21 1.4.4.1 Concepto ............................................................................................................................................ 21 1.4.4.2 Origen ................................................................................................................................................ 22 1.4.4.3 Utilización ......................................................................................................................................... 22 1.4.4.4 Principales diagramas ....................................................................................................................... 23 1.4.5 ANÁLISIS DE SISTEMAS ...................................................................................................................... 24 1.4.6 DISEÑO DE SISTEMAS ......................................................................................................................... 25 1.5 WORKFLOW Y LA INFORMÁTICA ................................................................................................... 26
2 TECNOLOGÍA DE WORKFLOW ............................................................................................ 28
2.1 ANTECEDENTES ................................................................................................................................ 28 2.2 CONCEPTO DE WORKFLOW............................................................................................................. 29 2.3 BENEFICIOS DE IMPLANTAR WORKFLOW ...................................................................................... 30 2.4 COMPONENTES DE UN WORKFLOW ................................................................................................ 31 2.5 SISTEMAS DE ADMINISTRACIÓN DE WORKFLOW .......................................................................... 33 2.5.1 CONCEPTO ......................................................................................................................................... 33 2.5.2 CARACTERÍSTICAS ............................................................................................................................. 33 2.5.3 MODELO DE REFERENCIA DE WORKFLOW ........................................................................................ 35 2.5.4 EJECUCIÓN DE UN WORKFLOW .......................................................................................................... 36 2.5.4.1 Tratamiento de los procesos ............................................................................................................. 36 2.5.4.2 Tratamiento de la organización ........................................................................................................ 38 2.5.5 TIPOS DE WORKFLOW ........................................................................................................................ 41 2.5.5.1 Según su alcance ............................................................................................................................... 41 2.5.5.2 Según el tipo de proceso o estructura de las tareas .......................................................................... 41 2.5.5.3 Según la tecnología que lo soporta ................................................................................................... 43 2.6 RELACIÓN DE WORKFLOW CON OTRAS TECNOLOGÍAS ............................................................... 44
3
3 ANÁLISIS DE WORKFLOW ..................................................................................................... 47
3.1 FUNDAMENTOS ................................................................................................................................. 47 3.2 METODOLOGÍA ................................................................................................................................ 48 3.2.1 ESTUDIO PRELIMINAR ........................................................................................................................ 49 3.2.1.1 Presentación de la organización ....................................................................................................... 50 3.2.1.2 Descripción del entorno .................................................................................................................... 51 3.2.1.3 Definición de las métricas ................................................................................................................. 53 3.2.2 MODELADO DE PROCESOS ................................................................................................................. 57 3.2.2.1 Selección del método ........................................................................................................................ 57 3.2.2.2 Modelado del proceso actual ............................................................................................................ 60 3.2.2.3 Modelado del proceso meta .............................................................................................................. 61 3.2.3 VALIDACIÓN ...................................................................................................................................... 62 3.2.3.1 Métodos de validación ...................................................................................................................... 63 3.2.3.2 Validación del proceso actual ........................................................................................................... 64 3.2.3.3 Validación del proceso meta ............................................................................................................. 65 3.3 INSTRUMENTOS ................................................................................................................................ 65 3.3.1 DIAGRAMA DE ENTORNO ................................................................................................................... 65 3.3.2 DIAGRAMA DE PROCESO .................................................................................................................... 67 3.4 CASO PRÁCTICO: MODELADO BÁSICO .......................................................................................... 74 3.4.1 PRESENTACIÓN DE LA ORGANIZACIÓN ............................................................................................. 75 3.4.2 DESCRIPCIÓN DEL ENTORNO ............................................................................................................. 77 3.4.3 DEFINICIÓN DE MÉTRICAS ................................................................................................................. 78 3.4.4 DIAGRAMACIÓN DEL PROCESO ......................................................................................................... 78 3.4.5 VALIDACIÓN ...................................................................................................................................... 86 3.5 CASO PRÁCTICO: MODELADO AVANZADO .................................................................................... 86 3.6 CASO PRÁCTICO: VALIDACIÓN AUTOMATIZADA ......................................................................... 93 3.7 PRUEBAS DE CALIDAD ...................................................................................................................... 95 3.8 DOCUMENTACIÓN ............................................................................................................................ 99 3.8.1 ESTUDIO PRELIMINAR ........................................................................................................................ 99 3.8.2 PROCESO ACTUAL ............................................................................................................................ 100 3.8.3 PROCESO META ................................................................................................................................ 102 3.9 LISTA DE VERIFICACIÓN PARA EL ANALISTA .............................................................................. 104 3.10 FACTORES DE ÉXITO PARA EL ANÁLISIS ...................................................................................... 108
4 DISEÑO DEL SISTEMA ............................................................................................................ 110
4.1 FUNDAMENTOS .............................................................................................................................. 110 4.2 METODOLOGÍA .............................................................................................................................. 114 4.2.1 MODELADO DEL FLUJO DE TRABAJO ............................................................................................... 115 4.2.1.1 Patrones de sincronización.............................................................................................................. 117 4.2.1.1.1 Discriminador .................................................................................................................................. 117 4.2.1.1.2 Uniones N-de-M ............................................................................................................................. 121 4.2.1.1.3 Múltiples instancias de una actividad ............................................................................................. 124 4.2.1.2 Patrones basados en estado ............................................................................................................. 127 4.2.1.2.1 Selección diferida ............................................................................................................................ 127 4.2.1.2.2 Encaminamiento paralelo alternado ............................................................................................... 131 4.2.1.3 Patrones productor-consumidor ..................................................................................................... 134 4.2.1.3.1 Productor-consumidor con actividad de terminación .................................................................... 135 4.2.1.3.2 Productor-consumidor con cola saturada ....................................................................................... 139 4.2.2 MODELADO DE LOS ROLES .............................................................................................................. 142 4.2.3 MODELADO DE LAS SALIDAS REUTILIZABLES ................................................................................ 143
4
4.2.3.1 Diagramación de los estados .......................................................................................................... 143 4.2.3.2 Diagramación de las transiciones ................................................................................................... 145 4.2.4 MODELADO DE LOS PROCEDIMIENTOS ............................................................................................ 151 4.3 PRUEBAS DE CALIDAD .................................................................................................................... 155 4.4 DOCUMENTACIÓN .......................................................................................................................... 156 4.5 LISTA DE VERIFICACIÓN PARA EL DISEÑADOR ............................................................................ 159 4.6 FACTORES DE ÉXITO PARA EL DISEÑO ......................................................................................... 160
5 CONSIDERACIONES Y RECOMENDACIONES ............................................................... 163
5.1 INTEGRACIÓN DEL EQUIPO DE ANÁLISIS Y DISEÑO ..................................................................... 163 5.2 UTILIZACIÓN DE HERRAMIENTAS CASE .................................................................................... 166 5.2.1 IBM HOLOSOFX .............................................................................................................................. 166 5.2.2 LOTUS WORKFLOW ......................................................................................................................... 169 5.3 VARIACIONES AL MODELO DE ANÁLISIS Y DISEÑO ..................................................................... 178 5.3.1 BPM ................................................................................................................................................. 178 5.3.2 DIAGRAMA DE ESTADO – ACTIVIDAD (DEA) ................................................................................ 182 5.3.2.1 Concepto .......................................................................................................................................... 182 5.3.2.2 Ejemplo ............................................................................................................................................ 189
GLOSARIO ............................................................................................................................................................. 192
ANEXOS .................................................................................................................................................................. 199
NOTACIÓN BÁSICA DE UML ................................................................................................................................... 199
BIBLIOGRAFÍA .................................................................................................................................................... 213
5
1 Aspectos teóricos fundamentales
1.1 Origen de la información
En el ámbito de la informática, el origen o fuente de la información es el dato ,
representación formalizada de un hechos que puede considerarse en forma
aislada. Aunque de manera aislada portan un significado, generalmente no son
de utilidad por sí solos; Por ejemplo; el número de horas laboradas por cada
empleado de la compañía y los montos que estos devengan por hora.
La información consiste en datos organizados o procesados con el propósito de
generar un significado. Por ejemplo, al multiplicar las horas que cada empleado
trabaja por el sueldo que recibe por hora, se obtienen sus ingresos brutos. La
sumatoria de estos permite obtener el importe total de la nómina de la compañía,
monto que es considerado información por el dueño de la empresa.
1.2 Concepto de informática
Es la ciencia del tratamiento automático y racional de la información considerada
como soporte de los conocimientos y las comunicaciones, en los dominios
técnicos, económicos y sociales. Actualmente, comprende las siguientes áreas:
6
� Algoritmos y estructuras de datos.
� Lenguajes de programación.
� Arquitecturas computacionales.
� Computación numérica y simbólica.
� Ingeniería de software.
� Bases de datos y recuperación de información.
� Inteligencia artificial y robótica.
� Interacción hombre-computadora.
1.3 Tecnología de información
1.3.1 Concepto
Se refiere al uso de componentes orientados a apoyar la construcción y
operación de los sistemas de información, aplicados de manera conjunta con
procesos, métodos y conocimiento que permiten llevar a cabo tareas especificas.
7
Entre los componentes utilizados se encuentran las redes de datos, satélites,
fibra óptica, discos compactos, fax, conmutadores, pasarelas, concentradores,
módems, programas, unidades de almacenamiento de datos, servicios de
mensajería electrónica, tarjetas inteligentes y similares.
1.3.2 Gestión
Garantiza la selección adecuada, despliegue, operación, mantenimiento y
actualización de las tecnologías de información. Se ha convertido en una
actividad estratégica para la organización, ya que determina la interacción de los
usuarios con los activos de información en cuanto a:
Accesibilidad.
Distribución.
Maniobrabilidad.
La accesibilidad especifica quien puede usar la información, desde dónde, con
qué seguridad, por qué interfases y a través de qué medios. Toma en cuenta la
ubicación física de los usuarios y su posición dentro de la cadena de valor de la
organización (proveedor, consumidor, socio estratégico y similares).
La distribución se concentra en definir las formas y estructuras donde se
pondrá a disposición de los usuarios la información (archivos planos, base de
8
datos de texto, bases de datos multimedia, mensajes, bases de datos
descentralizada, entre otras).
La maniobrabilidad define las opciones disponibles para alterar las
configuraciones de equipo y aplicaciones sobre las cuales se mueven los
recursos de información. Aspectos importantes de esta son la portabilidad, la
escalabilidad, la adherencia a estándares y modularidad.
1.3.3 Arquitectura
A la disposición de las tecnologías de información en una organización se le
conoce con el nombre de “arquitectura de tecnologías de información” y puede
comprender:
Componentes físicos (hardware). Corresponde al equipo, medios y
dispositivos periféricos que se usan en un sistema de computadora o redes de
comunicación.
• Programas (software). Es un conjunto de instrucciones, escritas con
ayuda de un lenguaje de programación, que manipula el hardware.
• Soluciones de conectividad (middleware). Es un subconjunto del
software que permite que los usuarios de una aplicación accedan a datos
en otra aplicación, ocultando los componentes subyacentes; es decir, los
9
usuarios y programadores pueden utilizar y desarrollar aplicaciones sin
necesidad de preocuparse por los detalles técnicos del entorno sobre el
que estas se ejecutarán.
1.4 Sistemas de información
1.4.1 Concepto
De acuerdo con la ANSI1, “son aquellos sistemas utilizados para analizar,
controlar o distribuir información, llevando a cabo las funciones de captura,
procesamiento, almacenamiento, transmisión y presentación. El formato de la
información puede incluir palabras impresas, señales análogas y digitales”.
1.4.2 Tipos
Según el nivel organizacional al cual brindan soporte, los sistemas de
información pueden clasificarse en:
• Procesamiento de Transacciones: registran las operaciones rutinarias
del negocio. Brindan velocidad y exactitud; además se pueden programar
para seguir rutinas sin ninguna variación.
A manera de ejemplo, entre estos sistemas se pueden mencionar los
sistemas bancarios de cuentas corrientes, sistemas de administración de
1 American National Standards Institute (Instituto Americano de Estándares Nacionales).
10
inventarios, sistemas de contabilidad financiera, sistemas de
administración de recursos humanos o sistemas de escritorio de servicio.
• Automatización de Oficina: dan soporte a los trabajadores de datos,
quienes, por lo general, no crean un nuevo conocimiento, sino que usan
la información para analizarla y transformar datos, o para manejarla en
alguna forma y luego compartirla o diseminarla formalmente por toda la
organización y, algunas veces, más allá de ella. Estos comprenden
procesadores de palabra, hojas de cálculo, editor de publicaciones,
calendarización electrónica, comunicación mediante correo de voz e
intercambio electrónico de documentos.
• Gestión de Conocimiento: dan soporte a los trabajadores
profesionales, tales como científicos, ingenieros y doctores; les ayudan a
crear un nuevo conocimiento que contribuye a la organización o a toda la
sociedad. Consiguen la información precisa para la persona apropiada
en el instante oportuno, proporcionando herramientas para el análisis de
esa información y la capacidad para responder a las ideas que se obtiene
a partir de esa información.
Entre estos sistemas es posible mencionar los escritorios digitales, los
sistemas de administración de contenidos, las bibliotecas virtuales, las
bases de conocimiento de soporte o los foros de preguntas y respuestas.
11
• Información Gerencial: están al nivel de gestión de las organizaciones,
y apoyan las funciones de planificación y control para proveer informes
de resumen y de excepción; dependen de los datos proporcionados por
los sistemas de procesamiento de transacciones. Estos sistemas son
elaborados ad-hoc para cada empresa.
• Apoyo a las Decisiones: están al nivel de gestión de las
organizaciones, y combinan datos y modelos analíticos sofisticados para
apoyar el proceso de decisión.
Son distintos a los sistemas de información gerencial, que se concentran
en proporcionar a los gerentes información especificada con anterioridad
y que puede utilizarse para tipos de decisiones estructuradas.
• Información Ejecutiva: son sistemas de información gerencial
adaptados a las necesidades estratégicas de información de la alta
gerencia. Los ejecutivos obtienen la información que necesitan de
muchas fuentes, incluidas cartas, memorandos, publicaciones periódicas
e informes generados manualmente, y también mediante sistemas
computacionales. Otras fuentes de información ejecutivas son las
reuniones las llamadas telefónicas y las actividades sociales.
12
Su meta consiste en proporcionar a la alta gerencia un acceso inmediato
y fácil a información selectiva sobre factores clave que son fundamentales
para el logro de los objetivos estratégicos de una empresa.
• Colaboración o Trabajo en Grupo: dan soporte a las personas que
trabajan juntas en la organización. Aprovecha la sinergia potencial y el
poder disponible a través de las computadoras en red. Pueden ayudar a
los miembros del grupo a calendarizar y asistir a reuniones, compartir
datos, crear y analizar documentos, comunicarse en formas no
estructuradas con otros por medio de correo electrónico, realizar
conferencias en grupo, hacer administración de imagen a nivel
departamental y manejar y monitorear el flujo de trabajo.
• Inteligencia Artificial o Expertos: usan los enfoques del razonamiento
de la inteligencia artificial para resolver los problemas que les planteen
los usuarios de negocios. Captura en forma efectiva el conocimiento de
un experto y lo usa para resolver un problema particular experimentado
en una organización.
Son utilizados en muchos campos, incluyendo medicina, ingeniería, las
ciencias físicas y la empresa. Entre algunos de los más utilizados se
encuentran los sistemas de manufactura CAD CAM, los sistemas de
minería de datos o los sistemas médicos de diagnostico digital.
13
1.4.3 Ciclo de vida de los sistemas de información
El ciclo de vida del desarrollo de sistemas (CVDS2) es un proceso por el cual los
analistas de sistemas, los ingenieros de software, los programadores y los
usuarios finales elaboran sistemas de información y aplicaciones informáticas. Es
una herramienta de gestión de proyectos que planea, ejecuta y controla los
proyectos de desarrollo de sistemas.
Muchos son los modelos que se han propuesto en el tiempo para estructurar las
etapas del ciclo de vida de un sistema. Entre los más conocidos están:
• Modelo de cascada.
• Modelo de construcción de prototipos.
• Modelos evolutivos.
• Modelo de desarrollo rápido de aplicaciones.
• Modelo de métodos formales.
1.4.3.1 Modelo de cascada
Es el más básico de todos los modelos de ciclo de vida y sirve de base para
otros modelos. Fue originalmente documentado por Winston Royce en el año
1970. Ve el desarrollo de un sistema como una secuencia simple de fases en
2 Del ingles, “software life cycle –SWLC”.
14
donde cada fase tiene un conjunto de objetivos bien definidos y crea un resultado
que sirve como insumo para la siguiente fase (ver Figura 1.1). Si dicho resultado
es rechazado, la fase completa debe repetirse.
Figura 1.1: Productos e insumos de las fases en un ciclo de vida de cascada3
El diagrama inicial propuesto con el modelo es mostrado en la Figura 1.2:
3 Desarrollo y gestión de Proyectos Informaticos, Steve McConnell, Microsoft Press, McGraw-Hill, primera edición, 1996.
Documentosy productosde entrada
Documentosy productosde entrada
Documentosy productosde salida
Documentosy productosde salida
Tareas propiasde cada fase
Validación del trabajo
Replanificación y/oretroalimentación
Tareas propiasde cada fase
Validación del trabajo
Replanificación y/oretroalimentación
Procedende de lafase anterior A la fase posterior
Experienciaacumulada
15
Figura 1.2: Ciclo de vida de cascada4
Aunque el modelo es fácil de entender presenta los siguientes inconvenientes:
• El cambio de requerimientos durante el desarrollo de un sistema es difícil de
manejar, pues el modelo no provee mecanismos que permitan retroceder a
fases anteriores.
• El usuario tiene la posibilidad de involucrarse únicamente durante la
especificación de requerimiento, una de las fases mas tempranas del modelo.
• Debido al enfoque secuencial, la concurrencia de actividades no es soportada,
ocasionando que se extienda la duración de los proyectos.
• No proporciona resultados tangibles en forma de aplicación (software) hasta el
final del ciclo de vida. Será hasta el final del ciclo que el usuario podrá
comprobar si alguno de los requerimientos no esta o ha sido incorrecto.
4 Desarrollo y gestión de Proyectos Informaticos, Steve McConnell, Microsoft Press, McGraw-Hill, primera edición, 1996.
16
1.4.3.2 Modelo de construcción de prototipos
El objetivo del modelo es realizar un sistema provisorio con el conjunto inicial de
necesidades para implantarlas rápidamente con la intención de ir
expandiéndolas y refinándolas gradualmente, al ir comprendiendo el sistema el
usuario y quien lo desarrolla. Es un proceso que cuenta con tres actividades bien
definidas (ver Figura 1.3), al final de las cuales el usuario deberá evaluar el
producto para decidir si es necesaria someterlo a una nueva iteración, con el
objetivo de obtener un producto con funcionalidad adicional.
Figura 1.3: Modelo de ciclo de vida de prototipos5
Resulta útil cuando los requerimientos cambian con rapidez, cuando el cliente no
tiene la capacidad de brindar las especificaciones completas del producto que
espera recibir, cuando no se tiene claro el alcance de la aplicación o cuando los
desarrolladores no están seguros de la arquitectura o los algoritmos adecuados a
utilizar. Estas situaciones podrían hacer que el riesgo de un proyecto se
5 Desarrollo y gestión de Proyectos Informaticos, Steve McConnell, Microsoft Press, McGraw-Hill, primera edición, 1996.
Toma derequerimientosElaboración y
revisión delprototipo
Prueba de prototipo
Toma derequerimientosElaboración y
revisión delprototipo
Prueba de prototipo
17
incremente lo suficiente como para desistir de la idea de llevarlo a cabo. Si se
divide un proyecto de alto riesgo en un conjunto de proyectos de menor alcance,
el usuario tendrá la oportunidad de reducir los riesgos y analizarlos únicamente al
inicio de un nuevo proceso de prototipado.
1.4.3.3 Modelo evolutivo
Este modelo se considera una combinación del ciclo de vida en cascada y el
ciclo de vida de prototipos, con un énfasis particular en el manejo del riesgo. Fue
propuesto inicialmente con el nombre de espiral, en el año de 1986. Este nombre
fue utilizado posteriormente por la IEEE6, en 1988.
En este modelo, el sistema no debe definirse completamente al inicio. Los
desarrolladores deberán definir únicamente las características de más alta
prioridad. Estas se implantarán y presentarán a los usuarios para obtener
retroalimentación. Con el conocimiento adquirido del usuario, se reinicia el
proceso de definir e implantar más características.
El diagrama propuesto para el modelo se muestra en la figura 1.4:
6 Institute of Electrical and Electronics Engineers, Inc.
18
Figura 1.4: Modelo de ciclo de vida evolutivo.7
Las actividades numeradas en el diagrama son las siguientes:
• Análisis de riesgos.
• Diversos prototipos.
• Simulación y modelos.
• Concepto de operación.
• Requerimientos de software.
• Diseño, validación y verificación de software.
7 Desarrollo y gestión de Proyectos Informaticos, Steve McConnell, Microsoft Press, McGraw-Hill, primera edición, 1996.
19
• Detalles de diseño.
• Implantación del código.
• Diversas pruebas.
• Planeación.
1.4.3.4 Modelo de desarrollo rápido de aplicaciones
Es un enfoque que ha sido diseñado para acelerar el desarrollo de sistemas de
información, con una calidad superior a los resultados que es posible esperar
con los modelos tradicionales.
Se basa en el reconocimiento de que los sistemas de información del negocio
involucran la actividad humana, lo que hace que los procesos de desarrollo sean
menos predecibles que lo esperado.
Existen cuatro grandes principios inherentes al enfoque:
• Incrementar la velocidad del desarrollo de sistemas, utilizando herramientas y
técnicas adecuadas para la organización del negocio y su entorno competitivo.
• Utilizar un enfoque de prototipos iterativo para el desarrollo de sistemas.
20
• Concentrar el énfasis en la participación de los usuarios durante todo el proceso
de desarrollo, a través de sesiones de trabajo y talleres estructurados.
• Utilizar un número herramientas y técnicas conocidas, traslapadas para formar
el entorno de recursos.
Las fases documentadas para este modelo son:
• Planeamiento de requerimientos
• Diseño del sistema
• Construcción
• Implantación
1.4.3.5 Modelo de métodos formales
Consiste de técnicas matemáticas para describir propiedades de un sistema e
incluye una notación precisa para la construcción de modelos de un sistema, la
cual se utiliza para especificar el sistema requerido y es concerniente a "lo que"
es hecho por un sistema no tanto "cómo" es hecho.
21
1.4.4 UML8
1.4.4.1 Concepto
Es un lenguaje visual estándar de la industria, de propósito general, con un
ámbito amplio de aplicación y soportado por un número importante de
herramientas en el mercado.
Permite modelar sistemas y comunicarlos, a través de diagramas e información
textual. Como lenguaje, brinda un medio para especificar, visualizar, construir y
documentar los componentes de un sistema. La especificación se refiere a la
concepción de un modelo, la visualización a la creación de diagramas, la
construcción al uso de las descripciones visuales para desarrollar el sistema y la
documentación a los modelos y diagramas para capturar el conocimiento del
sistema durante un ciclo de desarrollo.
La palabra Modeling enfatiza la capacidad que brinda el lenguaje para generar
modelos. De acuerdo con la OMG (Object Management Group), “un modelo
captura un conjunto de ideas acerca de un área de tema, las cuales son
conocidas como abstracciones”. La palabra Unified se debe a la estandarización
del lenguaje.
8 Unified Modeling Language.
22
1.4.4.2 Origen
UML se deriva de tres metodologías de desarrollo orientadas a objetos:
Booch ’93. Método propuesto por Grady Booch en 1991, enfocado en el diseño
y construcción de software.
OMT (Object Modeling Technique9). Método propuesto por James Rumbaugh,
enfocado en el análisis de sistemas.
OOSE (Object-Oriented Software Engineering10). Método propuesto por Ivan
Jacobson, enfocado en la ingeniería de negocios y análisis de requerimientos.
La especificación UML 1.0 surge a mediados de los 90’s, bajo la responsabilidad
de la OMG. La revisión actual del estándar ha sido denominada UML 2.0.
1.4.4.3 Utilización
UML es independiente del proceso de desarrollo. Por esta razón, es posible
utilizarlo tanto para sistemas que se desarrollan con un ciclo de vida de cascada
u otros modelos más sofisticados. Los autores del lenguaje proponen su uso en
los ciclos de vida iterativos e incrementales. A diferencia de otras metodologías
(DFD, OMT y similares), proporciona herramientas para una tarea previa al
9 Técnica para el modelado de objetos. 10 Ingeniería de aplicaciones orientada a aplicaciones.
23
desarrollo de un sistema: la toma de requerimientos, también conocido como el
proceso de “levantamiento11 de requerimientos”. Adicionalmente, cuenta con
herramientas que pueden utilizarse para el análisis, diseño, implantación y
prueba.
1.4.4.4 Principales diagramas
UML esta compuesto por diferentes elementos gráficos que se combinan para
conformar diagramas. Su finalidad es presentar diversas perspectivas de un
sistema, a las cuales se les conoce como modelo. Los diagramas más utilizados
son:
Clases.
Objetos.
Casos de uso.
Estados.
Secuencias.
Actividades.
Colaboraciones.
Componentes.
11 Del inglés elicitation, que quiere decir “recolectar”.
24
Distribución.
Es importante mencionar que en un modelo UML de un sistema no es necesario
que aparezcan todos los diagramas.
La metodología de diseño propuesta en este trabajo se basa en el uso de
herramientas UML. La literatura oficial del lenguaje puede ser consultada en
www.omg.org; sin embargo, como material de apoyo para quienes no han tenido
contacto previo con los diagramas utilizados, se ha incluido una introducción en
el Anexo A: “Notación básica de UML”.
1.4.5 Análisis de sistemas
El aspecto fundamental de esta fase del ciclo de vida de un sistema de
información es comprender todas las facetas importantes del proceso de la
empresa que se encuentra bajo estudio. Describe lo que un sistema debería
hacer para satisfacer las necesidades de información de los usuarios. Los
responsables de su ejecución trabajan con los usuarios para dar respuesta a
preguntas clave, tales como:
¿Qué es lo que se hace?
¿Cómo se hace?
¿Con qué frecuencia?
25
¿Qué tan grande es el volumen de transacciones?
¿Qué decisiones se toman en el proceso?
¿Cuál es el grado de eficiencia con que se efectúan las tareas?
¿Existe algún problema, qué tan serio es y qué lo origina?
El resultado del análisis de esta fase es un documento conocido como la
“especificación formal del sistema” y es un insumo para las actividades de
diseño.
1.4.6 Diseño de sistemas
Produce los detalles técnicos que establecen la forma en la que el sistema
cumplirá con el modelo identificado durante la fase de análisis. Da como
resultado especificaciones de:
Interfaz de usuario. Se centra en las interacciones entre los usuarios y las
aplicaciones, para garantizar la creación de entradas y salidas. No forma parte
del dominio de una solución de workflow.
Estructuras de almacenamiento. Consiste en el modelado de bases de datos y
archivos utilizados por el sistema. Workflow no restringe este aspecto en el
diseño de un sistema.
26
Algoritmos de procesamiento y control. Define los pasos a seguir para procesar
los datos de un sistema y generar la información requerida por los usuarios.
Constituyen el área principal de interés de un sistema workflow. Actualmente, se
clasifican en tres distintos grupos:
Servicios de usuario. Requeridos para el diseño de los procesos que se
comunican con las interfaces de captura o presentación de información.
Servicios de aplicación. Establecen las reglas empresariales, transforman
información y administran transacciones.
Servicios de datos. Definen la interacción con los repositorios de
almacenamiento.
1.5 Workflow y la informática
Antes de iniciar la exposición de workflow, en el siguiente capitulo, es importante
comprender que:
Es una tecnología de información, aplicable en el área de la ingeniería de
software, para la construcción de sistemas de colaboración.
Suele encontrarse inmerso en modelos de procesos de negocio elaborados por
un analista, integrando componentes de un sistema.
27
La utilización de workflow es independiente de los ciclos de vida de sistemas.
Sin embargo, la utilización de UML para la fase de diseño hace adecuado el uso
de un modelo iterativo, ya sea el de prototipos o el evolutivo.
28
2 Tecnología de workflow
2.1 Antecedentes
Hace más de dos décadas, las aplicaciones eran altamente dependientes de la
organización de los datos en un disco. Un cambio en las estructuras de
almacenamiento obligaba a actualizar el código de los programas afectados.
Para superar esta dependencia, surgieron los sistemas de gestión de base de
datos.
De igual manera, muchas aplicaciones en las empresas no permiten la fácil
modificación de los procesos, pues se encuentran inmersos en el código
programado. Por esta razón, un cambio en la forma de operar del negocio
conlleva un mantenimiento a los programas existentes.
El uso de la tecnología de workflow hace posible que la tarea de distribuir el
trabajo sea desmembrada de los programas, dando como resultado aplicaciones
más flexibles y menos vulnerables a los cambios del negocio. Una aplicación
independiente de los procesos consiste de una definición del flujo del trabajo y un
conjunto de programas que proveen los servicios de usuario y datos.
29
2.2 Concepto de workflow
En 1993, con la misión de promover y desarrollar el uso de workflow a través del
establecimiento de estándares para la terminología de los sistemas,
interoperabilidad y conectividad, se fundó la Coalición de Administración de
Workflow (Workflow Management Coalition). Actualmente está integrada por
más de doscientos ochenta y cinco miembros12, distribuidos en todo el mundo.
La Coalición se ha convertido rápidamente en un cuerpo primario para
estándares del mercado creciente de sistemas de workflow. Comercialmente, es
conocida por el acrónimo WfMC. Sus investigaciones y estándares son
publicados periódicamente en un manual de trabajo conocido como “Workflow
Handbook” (Manual de Workflow).
La WfMC define workflow como ”la automatización de un proceso de negocios,
durante el cual se trasladan documentos, información o tareas de un participante
a otro a la espera que se realicé una actividad, de acuerdo a un conjunto de
reglas.”
Los participantes pueden ser personas, que interactúan a través de estaciones
de trabajo, u otros sistemas, a través redes de comunicación.
12 Entre los miembros se encuentran empresas de renombre, tales como: BEA Systems, Fujitsu Software Corporation, Hitachi Ltd Software División, IBM, Lucent Technologies, Microsoft Corporation, Oracle, SAP AG, Sun Microsystems y Toshiba Corp como miembros completos. Como miembros asociados y académicos se encuentran empresas como: ACER Softech (Shanghai) Inc., Andersen Consulting, ATI Technologies Inc., Corel, Gartner Group, Intel Corporation, J D Edwards & Company, KPMG Consulting Inc., Object Management Group (OMG), PricewaterhouseCoopers LLP, Unisys Corporation y Versata.
30
Aunque el workflow podría estar organizado manualmente, la WfMC aclara que
su definición debe ser considerada en el contexto de un sistema de información
computarizado.
2.3 Beneficios de implantar workflow
Para determinar los principales beneficios de implantar la tecnología workflow, la
WfMC lleva a cabo investigaciones periódicas, en las que participan usuarios y
proveedores de soluciones tal como aparecen publicadas en el portal de
workflow patrocinado por la coalición13 estos son:
Incremento de la eficiencia. La automatización de varios procesos de negocios
resulta en la eliminación de pasos innecesarios.
Mejor control de los procesos. La administración de los procesos de negocio se
facilita a través de la estandarización de los métodos de trabajo y la
disponibilidad de pistas de auditoria.
Mejora en el servicio al cliente. La consistencia en los procesos conlleva una
mayor capacidad de predicción en los niveles de respuesta.
Flexibilidad. Se posibilita el rediseño de los procesos sobre la marcha, a medida
que cambian las necesidades del negocio.
13 Los beneficios han sido transcritos directamente de www.e-workflow.org
31
Mejores procesos de negocio. Se fomenta la agilidad y simplicidad de estos.
2.4 Componentes de un workflow
Un workflow esta integrado por:
• Procesos de negocio. Es un conjunto de uno o más procedimientos o
actividades enlazadas, que permiten alcanzar un objetivo de negocio.
Puede estar contenido dentro de una sola unidad organizacional o puede
recorrer diferentes organizaciones, como seria el caso de la relación
cliente-proveedor.
Durante su modelación es necesario definir las condiciones que lo
iniciaran y las salidas que entregará al finalizar. Su duración es variable y
las actividades pueden ser automatizadas o manuales, encontrándose
estas últimas fuera del alcance de la administración de workflow.
Para referirse a la modelación, la WfMC sugiere el termino “Definición del
Proceso”, la cual consiste en un conjunto de actividades, relaciones,
criterios de inicio y fin e información propia de cada actividad.
• Información. Contenido que es trasladado por el sistema de workflow.
Esta se compone de datos que pueden clasificarse como:
32
o Datos de control. Son administrados por el sistema de
workflow y utilizados para identificar los estados de los
procesos, actividades o cualquier otro recurso del sistema.
o Datos relevantes al flujo. Son utilizados para determinar las
condiciones de transición entre las distintas actividades. Estos
se encuentran accesibles para el sistema de administración
del flujo de trabajo.
o Datos aplicativos. Estos no se encuentran accesibles para el
sistema de administración de flujo de trabajo, pues son
específicos de la aplicación y son relevantes únicamente para
el desarrollo de las actividades del usuario o de los procesos
aplicativos.
• Organización. Como parte de la definición del flujo de trabajo, los
procesos establecen qué personas llevan a cabo las tareas individuales,
describiendo sus relaciones, las funciones que desempeñan y los roles
que pueden asumir. Esta información incluye aspectos normativos, tales
como políticas, reglas del negocio y calendarios de trabajo.
Un modelo organizativo representa la estructura de la empresa en
términos de empleados, puestos, unidades, funciones y autoridades. Las
33
unidades son un conjunto de puestos con tareas comunes o relacionadas,
entre las cuales puede existir una relación jerárquica.
2.5 Sistemas de administración de workflow
2.5.1 Concepto
Al sistema que define, crea y administra la ejecución de un workflow a través
del uso de software se le llama Workflow Management System (WfMS
Sistema de Administración de Workflow). Es aquí donde se interpretan los
procesos definidos para convertirlos en unidades de software que se ejecutan
en memoria, coordinando la interacción de los participantes y la invocación
de los recursos disponibles en el entorno.
2.5.2 Características
Independientemente del tipo de sistema que se trate, todos los WfMS exhiben
características comunes que brindan la base de integración e interoperabilidad
con el entorno existente, el cual se explicará más adelante con ayuda del Modelo
de Referencia propuesto por la WfMC.
Desde una perspectiva de alto nivel, todos los WfMS deben soportar tres áreas
funcionales:
34
Funciones de tiempo de construcción. Relacionadas con la definición y
modelado del proceso de workflow y las actividades constituyentes.
Funciones de tiempo de ejecución. Se dividen en dos grandes grupos:
Instanciación y control. Relacionadas con la administración de un workflow en
un entorno operativo, coordinando la secuenciación de las diversas actividades
que han sido definidas como parte de cada proceso.
Interacción. Relacionadas con las interacciones de los usuarios y las
aplicaciones existentes, necesarias para procesar los distintos pasos del flujo de
trabajo.
Las tareas de instanciación y control están a cargo de un módulo de software
llamado “servicio de promulgación de workflow” (workflow enactment service,
WES), diseñado para dar soporte a la ejecución de procesos, a través de uno o
más componentes internos llamados “motores de workflow”, y mantener el
control de los datos centralizado o distribuido en diversos WfMS, incluyendo
información útil para recuperarse ante la presencia de condiciones de falla.
35
Las áreas funcionales anteriores pueden representarse con ayuda de la Figura
2.1:
Figura 2.1: Características de un sistema de workflow.14
2.5.3 Modelo de referencia de workflow
Es la denominación utilizada por la WfMC para el entorno completo de un WfMS.
Su objetivo es identificar los componentes e interfaces existentes en un entorno
de aplicación de workflow.
Las interfaces hacia los componentes externos son implantadas con ayuda de la
WAPI (Workflow API), que consiste en un conjunto de funciones a través de las
cuales los servicios de un sistema de workflow pueden ser accesados y tiene por
14 Workflow Handbook 2001, John Wiley & Sons LTD with the Workflow Management Coalition, 2001.
Tiempo deconstrucción
Tiempo deejecución
Definición delproceso
Análisis de Proceso de Negocio,Modelado y Herramientas de Definición
Definición y diseñodel proceso
Servicio de promulgacióndel workflow
Instanciacióny controldel proceso
Interaccióncon usuarios yaplicaciones
Aplicacionesy herramientas
Cambios alproceso
Tiempo deconstrucción
Tiempo deejecución
Definición delproceso
Análisis de Proceso de Negocio,Modelado y Herramientas de Definición
Definición y diseñodel proceso
Servicio de promulgacióndel workflow
Instanciacióny controldel proceso
Interaccióncon usuarios yaplicaciones
Aplicacionesy herramientas
Cambios alproceso
36
objetivo permitir que las aplicaciones de workflow puedan comunicarse o
adaptarse a diferentes WfMS, de manera estandarizada. Aunque la WfMC la
define utilizando el lenguaje de programación C, no se hace ninguna asunción
respecto a la implantación de las funciones con ayuda de un lenguake en
particular.
El modelo de referencia puede representarse con ayuda de la Figura 2.2:
Figura 2.2: Modelo de referencia de workflow – componentes e interfaces.15
2.5.4 Ejecución de un workflow
2.5.4.1 Tratamiento de los procesos
Pueden ejecutarse muchas veces, en diferentes momentos o de manera
simultanea. A cada caso se le conoce con el nombre de instancia de
15 Workflow Handbook 2001, John Wiley & Sons LTD with the Workflow Management Coalition, 2001.
Interface 5
Interface 4
Interface 3Interface 2
Interface 1
Workflow Enactment Services
Process Defination Tools
Workflow API and Interchage formats
Workflow Engine(s)
Administration & Monitoring tools
Workflow Engine(s)
Invoked Applications
Workflow Client Applications
Process Defination Tools
Interface 5
Interface 4
Interface 3Interface 2
Interface 1
Workflow Enactment Services
Process Defination Tools
Workflow API and Interchage formats
Workflow Engine(s)
Administration & Monitoring tools
Workflow Engine(s)
Invoked Applications
Workflow Client Applications
Process Defination Tools
37
proceso , la cual, a la vez, está compuesta por instancias de actividades ,
cada una independiente a efecto de control y auditoria, exhibiendo cualquiera
de los siguientes estados:
Activa. Ha sido asignada a un participante para que este realice el trabajo
especificado.
Inactiva. La instancia de la actividad ha sido creada pero no cuenta con trabajo
asociado.
Suspendida. No existe trabajo en progreso y este se reanudará hasta que se
cumplan las condiciones indicadas en la definición de la actividad. Es posible que
algunas actividades se les restringa este estado.
Terminada. El participante ha desarrollado todo el trabajo asociado con la
actividad.
La ejecución, da lugar al concepto de trabajo , que es el aporte de los
usuarios a un proceso ejecutándose en el negocio. Una actividad puede
generar una o más unidades de trabajo y juntas constituyen la
responsabilidad asumida por el usuario cuando se le asigna. Los elementos
de trabajo son presentados a los participantes por medio de una lista, que
ayuda a controlar su progreso y estado.
38
Figura 2.3: Diferencia entre “proceso” y “trabajo”. 16
2.5.4.2 Tratamiento de la organización
La comunicación y cooperación entre los empleados de una empresa se
basa en reglas organizativas que un sistema de administración de workflow
debe ser capaz de entender y seguir.
Los empleados participan como individuos, unidades organizativas, equipos
de trabajo o roles. Los grupos de trabajo son mucho más flexibles que las
unidades organizativas, ya que una persona puede formar parte de más de
uno a la vez, mientras que solamente puede pertenecer a un departamento.
A los distintos participantes se les llama “actores”.
16 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
39
La organización es una estructura dinámica. Los empleados cambian
continuamente y, por consiguiente, los integrantes de los grupos de trabajo y
las unidades. Un workflow debe ser capaz de responder a esta realidad y
evitar que un cambio en el modelo organizativo conlleve su reconstrucción.
A quien asume la responsabilidad de llevar a cabo una actividad se le
denomina “propietario de la actividad” y puede estar relacionado con
múltiples actividades.
Para evitar las dependencias entre procesos y actores, la asociación puede
establecerse a través del concepto rol , un “contenedor” cuyo propósito es
brindar una abstracción para el actor y que especifica un conjunto de
candidatos como ejecutores potenciales, que pueden llevar a cabo el trabajo
asociado con una actividad.
Toda instancia de una actividad tiene que estar asignada a un actor,
utilizando una estrategia activa o pasiva, según se requiera.
La estrategia activa permite que el WfMS seleccione uno de los posibles
candidatos y le coloque el trabajo en su lista, notificándole automáticamente
justo después de la asignación.
40
En la estrategia pasiva, el WfMS añade el elemento de trabajo a una lista
compartida, accesible por todos los posibles candidatos. Uno de estos
escogerá, eventualmente, la actividad. Los roles se utilizan como un distintivo
que el usuario toma para realizar el trabajo (ver Figura 2.4).
Figura 2.4: Estrategia de asignación pasiva.17
Más allá del “propietario de la actividad” existe el “propietario del trabajo”,
que consiste en una persona o grupo de personas que tienen el control
general sobre la ejecución de un proceso. Mientras las instancias en
ejecución no encuentran problemas, es probable que no se involucre; sin
embargo, cuando surgen errores o comportamientos no previstos, debe
intervenir para brindar una solución. La autoridad que posee es la suficiente
como para reasignar actividades, cambiar el flujo del proceso o modificar los
elementos que ocasionan el problema. Esto último implica este debe tener
un conocimiento detallado del proceso, aunque no sea responsable de
17 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
41
ejecutar sus actividades día a día. Normalmente, por las decisiones y
funciones que realiza, el propietario puede ser el gerente de la unidad
organizativa o el empleado involucrado con mayor experiencia.
2.5.5 Tipos de workflow
2.5.5.1 Según su alcance
De acuerdo con su alcance o ámbito de soporte, las aplicaciones administradas
por un WfMS pueden clasificarse en:
Intra-organizacional. Cuando las actividades de los procesos se realizan por
entidades internas a la organización.
Inter-organizacional. Cuando las actividades de los procesos involucran
interacciones con entidades externas a la organización.
2.5.5.2 Según el tipo de proceso o estructura de las tareas
Aunque existen muchos parámetros que pueden considerarse, esta clasificación
busca similitudes en los procesos de negocios, tomando como criterios las
relaciones entre la complejidad de las tareas y su estructura, así como la relación
entre el valor de las tareas para el negocio y sus patrones de ejecución (tareas
excepcionales o repetitivas).
42
Al aplicar las relaciones anteriores, los tipos de workflow pueden agruparse en
las siguientes categorías:
Workflow administrativo. Se refiere a procesos con patrones llamados
burocráticos, en los cuales los pasos a seguir se encuentran claramente
establecidos y existe un conjunto de reglas conocidas por los participantes.
Workflow ad-hoc. Es similar al administrativo, excepto que son creados para
manejar excepciones o situaciones únicas.
Workflow colaborativo. Se caracteriza principalmente por el número de
participantes involucrados y la interacción entre ellos. A diferencia de otros tipos
de workflow, que se basan en la premisa de que siempre existe un progreso, un
workflow colaborativo puede involucrar múltiples iteraciones en un mismo paso
hasta que se haya alcanzado un acuerdo. Si dicho acuerdo no es posible, un
workflow colaborativo podría incluso permitir el retorno a etapas previas.
Workflow de producción. Es el workflow de más alto nivel. Puede
caracterizarse como la implantación de un proceso crítico del negocio, es decir,
aquellos relacionados directamente con la misión de la empresa. Al implantar un
workflow de producción deberán considerarse entornos de ejecución
heterogéneos, complejos y de gran escala.
43
2.5.5.3 Según la tecnología que lo soporta
Otra clasificación encontrada frecuentemente en la literatura de workflow es la
relacionada con la tecnología que soporta su implantación, distinguiendo entre
las siguientes categorías:
• Basado en mensajes. Utilizan principalmente las herramientas de
correo electrónico y se encuentran estrechamente asociados con el
workflow colaborativo y el ad-hoc. Este tipo de workflow no es
recomendado para workflow de producción o en entornos donde existan
grandes cantidades de procesos.
• Basado en documentos. Utilizan el concepto de trasladar documentos
por diversas rutas y son adecuados para las soluciones de workflow
administrativo que se apoyan principalmente en formularios. Su habilidad
para interactuar con otras aplicaciones es limitada.
• Basado en procesos. Generalmente implantan sus propios
mecanismos de comunicación, se construyen sobre las bases de datos y
proporcionan una amplia variedad de interfaces que permiten la
interacción tanto con los sistemas heredados como con los nuevos. Este
tipo de workflow es utilizado por los modelos de producción.
44
2.6 Relación de workflow con otras tecnologías
Las tecnologías que se relacionan con un sistema de workflow son cambiantes,
pues básicamente todas aquellas que promuevan la cooperación de usuarios e
integración de recursos de información, son candidatas a integrarse a un
workflow. Una clasificación de las tecnologías disponibles podría incluir las
siguientes categorías:
Ingeniería de procesos y automatización. Las aplicaciones basadas en
workflow, no son creadas mejorando las aplicaciones existentes. Son el
resultado de un reingeniería de negocios, “la revisión y rediseño radical de los
procesos del negocio, para alcanzar mejoras dramáticas en los parámetros
actuales de rendimiento, tales como costo, calidad, servicio y rapidez”. El
resultado de una reingeniería de negocios es un proceso documentado de
manera adecuada, el cual puede implantarse posteriormente, utilizando un
sistema de administración de workflow (WfMS).
Administradores de transacciones. La mayor parte de sistemas de workflow
integran aplicaciones disponibles en un entorno distribuido. Esto implica el uso
de un programa que tenga la capacidad de dar seguimiento a las actividades de
una transacción para garantizar la integridad de la información.
45
Bases de datos. Normalmente, los componentes de un workflow son descritos
por información almacenada en bases de datos.
Sistemas de administración de redes. Conocidos como NMS (Network
Management Systems). Aplicaciones que permiten dar seguimiento a los
recursos distribuidos en una red, para garantizar la disponibilidad y adecuado
consumo de recursos. Otros elementos que pueden controlarse son la seguridad
y la acumulación de estadísticas.
Desarrollo de aplicaciones. Lo más común es que las empresas utilicen
métodos formales para el análisis y diseño, recurriendo a las tecnologías CASE
disponibles para workflow.
Computación móvil. La implantación de un sistema de workflow conlleva un
incremento en la eficiencia de distribución de información e interfaces de captura
de datos. El uso de equipos móviles, tales como computadoras de mano,
computadoras portátiles, teléfonos celulares, agendas, y similares.
Internet. Ya sea que se trate de un sistema de workflow disponible únicamente
para los empleados de una organización o de un sistema abierto a proveedores
y clientes, Internet se convierte en una herramienta para integrar equipos de
trabajo distribuidos geográficamente.
46
Middleware de integración. Responsable de permitir que dos aplicaciones
distintas se comuniquen entre sí, ya sea de manera sincrónica o asincrónica.
Administración de documentos. Los sistemas de administración de
documentos son generalmente un producto que acompaña las soluciones de
workflow. Un sistema de administración de documentos brinda acceso
controlado y transparente a la documentación de la organización, incluyendo
distintos formatos, tales como: imágenes, archivos de procesadores de palabra,
gráficos, hipertextos, formularios electrónicos, correos electrónicos, archivos de
video y archivos de audio. La administración misma de los documentos puede
someterse a un workflow, automatizando el ciclo de vida de estos: creación,
edición, revisión, publicación y archivado.
Administración de proyectos. Estas herramientas son normalmente utilizadas
para controlar tiempos, costos y entregas. Utilizando las herramientas de
proyección propias de un sistema de administración de proyectos, los gerentes
de proyectos podrán realizar pronósticos respecto a la manera en que
evolucionarán los plazos y presupuestos de un proyecto, según las tendencias
mostradas por el flujo de proyecto establecido para realizar las tareas del plan de
proyecto.
47
AnálisisAnálisis
DiseñoDiseño
AdministraciónAdministración
AutomatizaciónAutomatización
3 Análisis de workflow
3.1 Fundamentos
En un sistema basado en workflow, el análisis es la primera fase del ciclo de
vida, el cual se encuentra estructurado en cuatro grandes fases, representadas
con la ayuda de la Figura 3.1:
Figura 3.1: Modelo de ciclo de vida de workflow
El análisis y el diseño son el objeto de estudio del presente trabajo. La
automatización consiste en convertir el proceso diseñado a una aplicación, la
cual podrá crearse a partir de cero o para integrar los aplicativos existentes a
alguna herramienta de administración de workflow. La administración consiste en
el monitoreo continuo del flujo de trabajo automatizado, para capturar
estadísticas en tiempo real y realizar modificaciones que le permitan adaptarse a
nuevos requerimientos de la organización.
1
2
3
4
48
3.2 Metodología
La metodología de análisis propuesta en este trabajo puede representarse con
ayuda del siguiente diagrama:
Figura 3.2: Fases para la conducción del análisis
Las actividades listadas en cada fase pueden utilizarse como guía para el trabajo
a realizar. El detalle de cada una de ellas se expone en las siguientes secciones.
El estudio preliminar se presenta en el orden sugerido en la Figura 3.2; sin
embargo, para los procesos actual y meta se ha seguido un esquema de
presentación diferente, ya que tienen actividades en común, basadas en los
mismos procedimientos aunque con objetivos diferentes. Los temas se
desarrollan de acuerdo con el siguiente esquema:
Estudio preliminar
Presentación de la organización
Descripción del entorno
Definición de métricas
Estudio preliminar- Presentación dela organización
- Descripción delentorno
- Definición delas métricas
Procesoactual- Modelado- Validación
Procesometa- Modelado- Validación
Estudio preliminar- Presentación dela organización
- Descripción delentorno
- Definición delas métricas
Procesoactual- Modelado- Validación
Procesometa- Modelado- Validación
49
Modelado
Selección del método
Proceso actual
Proceso meta
Validación
Cálculo de promedios ponderados
Simulación del proceso
Proceso actual
Proceso meta
3.2.1 Estudio preliminar
Está orientado a conocer el entorno dentro del cual se ejecutan los procesos de
negocio. Ayuda a establecer un marco de referencia que evita la implantación de
soluciones no alineadas con las estrategias propuestas por la dirección.
El tiempo aproximado para terminar estas actividades es de dos semanas,
dependiendo de los recursos asignados para la investigación, el tamaño de la
organización, su distribución geográfica y la disponibilidad de los usuarios.
50
En esta fase, el equipo de trabajo debería estar integrado por:
Analistas de negocio. Conocen los objetivos, normativa, estructura, recursos y
operaciones de la organización. Son los responsables de exponer las iniciativas
de cambio, derivadas de nuevas oportunidades de negocio o problemas
existentes. Brindan las especificaciones de los procesos que se desean
automatizar y las alternativas de mejora o rediseño a validar. Su participación se
hace viable a través de los lenguajes de modelado gráfico.
Analistas de sistemas. Son responsables de elaborar los modelos de
procesos, actual y esperado. Cuentan con un conocimiento amplio de las
tecnologías de información, particularmente workflow. Su capacidad para
comprender aspectos técnicos les permite leer una abstracción de alto o de bajo
nivel.
Por lo general, las herramientas requeridas durante esta etapa consisten en
aplicaciones de oficina. Si la empresa cuenta con los recursos suficientes, se
recomienda la utilización de un modelador de procesos.
3.2.1.1 Presentación de la organización
El objetivo de esta actividad es describir los elementos de la organización que se
encuentran relacionados con el proceso que se desea modelar, incluyendo:
51
Unidades de negocio. Debe enumerarse el tipo de unidad, sus relaciones
jerárquicas, las funciones que tiene a cargo y los puestos que agrupa.
Calendario de trabajo. Establece las turnos, vacaciones, feriados, las horas y
días laborales en una semana regular.
Entidades externas. Individuos u organizaciones que existen fuera del dominio
del proceso y que interactúan con este para aportar o consumir información.
Políticas. Enumera las directivas de carácter general que afectan la ejecución
del proceso a modelar.
Reglas de negocio. Enumera las directivas de carácter específico que afectan
la ejecución de algunas tareas del proceso a modelar.
No existe un instrumento único para obtener esta información. Puede recurrirse a
la recopilación de documentos, entrevistas con los participantes del proceso y
encuestas.
3.2.1.2 Descripción del entorno
Ningún proceso opera de manera aislada dentro de la organización. En general,
cuando estos se analizan, es posible darse cuenta que en algún punto se
encuentran vitalmente conectados a otros.
52
Para evitar que el analista intente abarcar todos los procesos dentro de la
organización, resulta importante que se establezcan sus fronteras. Debe quedar
establecido el punto único de inicio y las condiciones de entrada que lo disparan,
así como los puntos de finalización, según se cumplan condiciones de parada.
El entorno puede resumirse con ayuda de los siguientes elementos:
Clientes. Receptores internos o externos de un resultado del proceso.
Ejecutores. Personas o sistemas que llevan a cabo las tareas del proceso. A
efecto de clarificar el análisis podrán distinguirse entre ejecutores internos y
externos.
Entrada. Acción o condición que sirve de estímulo para iniciar el proceso.
Salida. Producto que se espera generar y que se entrega a los clientes del
proceso.
Subproceso. Subconjunto de tareas que han sido agrupadas basándose en
criterios como la distribución geográfica de los ejecutores, unidad organizativa
que las realiza, puestos de trabajo u objetivo que persiguen. Su uso es opcional,
ya que la secuencia de tareas que lo integran puede trasladarse de manera
directa al flujo de trabajo del proceso que lo contiene.
53
Entre los instrumentos a utilizar para llevar a cabo esta actividad se encuentran
los diagramas sinópticos y de bloque. Si la empresa decide utilizar otro tipo de
diagrama, deberá procurar que cada uno de los elementos quede claramente
representado.
3.2.1.3 Definición de las métricas
Son indicadores de desempeño que permiten a los analistas de negocio validar
el esfuerzo de mejora e impacto del mismo. Si estas no se establecen, es difícil
evaluar el éxito del proyecto, una vez diseñado el nuevo proceso.
Adicionalmente, se utilizan para monitorear el desempeño del workflow, una vez
que este ha sido implantado. Pueden clasificarse en cualquiera de las siguientes
categorías:
Cantidad. Contabilizan ocurrencias de eventos en un proceso; el resultado
puede presentarse de manera directa o relacionado con otras métricas. Entre
estas se pueden mencionar:
Frecuencia (por ejemplo, solicitudes de crédito evaluadas en una semana).
Proporción de resultados (por ejemplo, número de solicitudes de crédito
aprobadas contra rechazadas).
54
Proporción de alternativas de acción (por ejemplo, número de créditos
aprobados directamente contra los aprobados por junta).
Proporción de diferentes motivadores (por ejemplo, número de nuevos créditos
contra ampliaciones).
Tiempo . Ayuda a controlar plazos relacionados con la ejecución de un flujo de
trabajo. Existen formas distintas de especificarlo:
Tiempo de ciclo. Es el transcurrido desde el inicio hasta la finalización del
proceso. También puede llamársele tiempo calendario o tiempo de reloj, cuando
se trata de ciclos cortos que pueden medirse en días u horas.
Tiempo de trabajo. Es el que corresponde al trabajo efectivo; es decir, excluye
cualquier espera.
Tiempo laborado. Contabiliza las horas acumuladas por todos los que trabajan
en el proceso. Equivale al total de horas que se paga a los trabajadores.
Tiempo de ocio. Representa las horas invertidas esperando a que suceda un
evento. Puede ocurrir por la manera en que se ha diseñado un proceso.
55
Tiempo de tránsito. Es el que se requiere para trasladar el trabajo de una etapa
a otra.
Tiempo de cola. El que debe esperarse antes de iniciar la siguiente actividad de
proceso. La unidad de trabajo se encuentra lista para la siguiente actividad, pero
debe esperar a que se despachen otras unidades que llegaron previamente.
Tiempo de configuración. Es el necesario para preparar los recursos que se
utilizarán para iniciar el trabajo.
Involucrados. El número de unidades, ubicaciones y personas que participan
en la ejecución del proceso. Normalmente se intentan listar los siguientes
elementos:
Personas.
Puestos de trabajo.
Departamentos.
Lugares.
Lenguajes.
Países.
56
Eficiencia. Permiten determinar el aprovechamiento de los recursos. Estas
pueden incluir:
Porcentaje de retrabajo.
Porcentaje de errores.
Etapa en que ocurren los errores.
Rapidez con que se descubren los errores.
Iteraciones necesarias para corregir el error.
Costo. Desembolsos registrados durante la ejecución del proceso. Si se desea
una clasificación exacta, podrían segregarse los gastos para incluirlos en otra
categoría. Entre los que resultan útiles para el análisis se encuentran:
Costos por ejecución.
Costos por errores.
Costos de retrabajo.
Costos de oportunidad.
57
3.2.2 Modelado de procesos
La metodología propone la diagramación de los procesos actual y meta.
Idealmente el analista de negocio proporcionará las especificaciones para que el
analista de sistemas las represente utilizando un lenguaje gráfico de carácter
técnico, tal como el que se expone en la sección “3.3 Instrumentos” de este
capitulo.
Esta actividad es normalmente un esfuerzo cooperativo, debido a que los
procesos suelen ser complejos y la totalidad del conocimiento podría no estar
concentrada en un solo usuario. La agilidad en la recolección de información y
elaboración del proceso asociado resultan de valor para la organización.
3.2.2.1 Selección del método
Un analista puede realizar el modelado utilizando cualquiera de los siguientes
enfoques:
Descomposición
Incremental
Combinado
La descomposición consiste en dividir el proceso en partes de menor tamaño,
llamada subprocesos. Varios analistas o equipos de trabajo pueden modelarlos
58
de manera simultanea. Al finalizar, se integran los modelos de cada subproceso
en uno que resultará más complejo y que satisface las necesidades del negocio.
Se recomienda utilizar este enfoque cuando:
El trabajo fluye a través de limites bien definidos (por ejemplo, funciones o
unidades organizativas diferentes).
Los expertos que participan en el proceso cuentan con un conocimiento
profundo y especializado de la parte que desempeñan.
Los empleados involucrados se encuentran distribuidos en diferentes
ubicaciones.
Se dificulta juntar a todos los usuarios interesados en las reuniones de trabajo.
El enfoque incremental resulta útil cuando solo es posible identificar las
actividades principales de un flujo de trabajo, dificultándose la especificación de
otras intermedias. La idea consiste en elaborar un esqueleto alrededor de dichas
actividades, para ir añadiendo información a medida que esta se obtiene o
confirma.
Resulta adecuado utilizarlo en los siguientes casos:
59
Las funciones de los participantes se encuentran estrechamente integrados,
generando la ausencia de fronteras claras para la asignación de las actividades.
No existen usuarios con el conocimiento completo y detallado de todo el
proceso.
Existen participantes que cuentan con una idea principal del proceso.
La mayor parte de los empleados que participan se encuentran en la misma
ubicación.
Es relativamente fácil juntar a los usuarios expertos en las reuniones.
Los enfoques anteriores representan situaciones extremas; sin embargo, la labor
de modelar un proceso puede llevarse a cabo en un entorno con características
de ambos, de manera que estos podrían aplicarse simultáneamente o en
distintos momentos, según se requiera. A este enfoque se le llama combinado .
Por ejemplo, la representación de alto nivel podría aplicarse para dividir un
proceso en subprocesos, aquellos cuyo flujo se desconozca de manera exacta,
deberán modelarse de manera incremental.
60
3.2.2.2 Modelado del proceso actual
Consiste en una representación grafica del proceso tal como existe en la
organización; es decir, antes de aplicar cualquier idea de mejora o rediseño,
incluyendo:
Las actividades o trabajo requerido para completarlo.
Los recursos utilizados.
La información consultada, modificada, creada y borrada.
Las decisiones que ocasionan variaciones en el flujo de trabajo.
Métricas necesarias para estimar el nivel de desempeño, tomando en cuenta
tiempo y costo.
Su creación brinda el conocimiento y fundamento que permiten validar, más
adelante, la necesidad de mejora o rediseño.
Capturar el proceso actual en un modelo para conducir el análisis permite:
Reflejar el conocimiento de la organización.
61
Facilitar la identificación de las áreas de problema.
Generar consenso entre los analistas y los gerentes acerca de las necesidades
de cambio en el proceso actual.
Estimular nuevas ideas para nuevos diseños del proceso.
Facilitar la identificación de las fuentes de información.
Proveer una línea de referencia para medir las mejoras en un proceso
rediseñado.
Proveer un instrumento para la discusión del proceso, sus problemas y
oportunidades de mejoras.
El tiempo requerido puede ser de una a dos semanas, dependiendo del alcance.
3.2.2.3 Modelado del proceso meta
Consiste en una representación grafica del proceso como se desea implantar en
la organización; es decir, después de aplicar las ideas de mejora o rediseño.
La presentación del diagrama del futuro proceso permite:
62
Generar consenso entre miembros de equipo de análisis y los usuarios sobre la
necesidad de cambiar el proceso existente.
Verificar el cumplimiento de los objetivos de desempeño deseados.
Comparar diferentes escenarios hasta determinar la solución óptima.
Tener un instrumento para la discusión y divulgación de los cambios
implantados.
Si esta actividad no es completada, el peligro consistiría en que la organización
podría permanecer estancada en el entorno actual. Es importante para que los
usuarios entiendan los cambios y las razones por las que fueron desechados
aquellos que se consideraron fuente de problemas.
El tiempo requerido puede oscilar entre las dos y cuatro semanas, dependiendo
de los alcances y objetivos del proyecto.
3.2.3 Validación
Es un paso importante del análisis. Durante la implantación de workflow es
necesario que los usuarios confirmen que la tecnología aportará los beneficios
esperados, generalmente en términos de tiempos, costo y productividad. Esta
63
última esta asociada a relaciones como el número de ordenes de venta por día,
transacciones en caja por hora y similares.
Aunque la validación podría llevarse a cabo en forma manual, en procesos
grandes o complejos, el tiempo requerido para cada ciclo podría durar más de lo
deseado. Limitar la cantidad de cálculos para estimar tendencias, disminuye la
exactitud. Por esta razón el uso de herramientas puede simplificar esta actividad
e incrementar la capacidad del analista de sistemas para apoyar a los usuarios
en el sondeo de diversos puntos de impacto.
3.2.3.1 Métodos de validación
El analista debe utilizar dos diferentes métodos:
Cálculo de promedios ponderados
Simulación de procesos
El primero ayuda a las organizaciones a entender las métricas de costo y tiempo.
La combinación de decisiones y alternativas crean un conjunto de rutas a través
de las cuales se traslada y transforma la información, estas son conocidas con el
nombre de casos . Pueden evaluarse de manera individual ya que suelen existir
variaciones en la cantidad o tipo de recursos consumidos. La ponderación
consiste en relacionar cada caso con su probabilidad de ocurrencia, para que el
64
usuario pueda estimar las demandas de un proceso dentro de un plazo
especifico.
El segundo se refiere a las pruebas que ayudarán a los usuarios a determinar
qué proceso es el más eficiente, de un conjunto de modelos propuestos. Esto es
posible a través de la generación de escenarios del tipo “¿qué pasaría sí?”,
donde se varían parámetros para comparar resultados, tales como la tasa de
trabajos de entradas, número de recursos de un departamento y similares.
A diferencia de los promedios ponderados, que brindan una visión estática de los
resultados que se espera obtener, la simulación se considera un análisis de tipo
dinámico, que permite manipular distintos aspectos del proceso para crear
escenarios que reflejan las distintas oportunidades de mejora de manera
individual o conjunta.
3.2.3.2 Validación del proceso actual
Durante esta fase del análisis, el cálculo de promedios ponderados genera
información de interés, ya que permite establecer líneas de referencia que
cuantifiquen el impacto de las mejoras propuestas por los procesos meta.
El analista de negocio es quien determina el indicador de desempeño de mayor
importancia para la organización o la prioridad, cuando exista más de uno.
65
La simulación pude utilizarse por los analistas de negocio para confirmar las
deficiencias identificadas en un proceso o detectar debilidades que pasan
desapercibidas durante la observación en los distintos puestos de trabajo.
3.2.3.3 Validación del proceso meta
Para cada escenario de solución propuesto, el analista debe proyectar las
mejoras de tiempo, costo o productividad, por lo que deberá realizar él calculo de
promedios ponderados. Adicionalmente es necesario verificar la ausencia de
irregularidades en los nuevos procesos, tales como cuellos de botella, tiempos
muertos y terminaciones prematuras, entre otras. La simulación facilita a los
usuarios la comprensión de los efectos que sus recomendaciones tienen cuando
llevan a cabo la mejora o rediseño de proceso con el analista de negocio.
3.3 Instrumentos
3.3.1 Diagrama de entorno
Este instrumento puede utilizarse durante el estudio preliminar y constituye un
apoyo para el analista al momento de:
Identificar a todos los individuos y organizaciones externas que generan
entradas, reciben resultados o brindan cualquier otro tipo de soporte para la
realización del proceso.
66
Organizar la agenda de reuniones con todos los involucrados, para validar,
ampliar o reducir las fronteras establecidas al inicio del proyecto.
El proceso puede representarse como un solo elemento o dividido en sus
subprocesos, dependiendo del enfoque utilizado (ver 3.2.2.1) documentación de
procesos. La plantilla propuesta se presenta en la Figura 3.3.
67
Figura 3.3: Plantilla de fronteras de procesos
3.3.2 Diagrama de proceso
Para diagramar el proceso (actual o meta) se sugiere utilizar el lenguaje gráfico
propuesto por la empresa Holosofx18. Una vez finalizada esta actividad, el
modelo debe validarse en talleres o entrevistas con los usuarios.
Los símbolos con ayuda de los cuales se elabora el modelo del proceso se
encuentran resumidos en la siguiente tabla:
18 HOLOSOFX . Fue fundada en 1990. Lanzando el Workflow BPR Versión 1 en 1994. La versión 2 del mismo software fue liberada en 1996, incorporando al Workflow interfaces de integración con WFMS comerciales, tales como IBM MQSeries Workflow. La versión 3 fue liberada en 1998. En 2001 HOLOSOFX introdujo su Suite BPM 4.1. BPM Suite comprende BPM Workbench, BPM Monitor, y el BPM Server.
Clientes del procesoClientes del proceso
Eventos iniciadores/entradas del
proceso
Eventos iniciadores/entradas del
proceso
Entregables/Salidas del proceso
Entregables/Salidas del proceso
Entidades externas (Involucradas en el
proceso)
Entidades externas (Involucradas en el
proceso)
SubprocesoSubproceso
Unidades organizativas (Involucradas en el proceso)
Unidades organizativas (Involucradas en el proceso)
68
Símbolo Descripción
OBJETOS DE TRABAJO
Tarea
Representa la actividad de más bajo nivel que
puede llevar a cabo una persona o sistema.
Tiene un costo y duración asociados. Consume
recursos de la organización.
Las siguientes recomendaciones deberían
atenderse al momento de seleccionar el nombre:
Utilice verbos activos que reflejen el trabajo
realizado.
Evite las palabras “proceso” y “tarea”.
Inicie las palabras con una mayúscula.
Mantenga los nombres cortos.
Utilice nombres generalmente aceptados.
Mantenga los nombres consistentes.
69
Proceso
Representa una agrupación de alto nivel de las
tareas que integran un proceso del negocio. Puede
contener símbolos de Tarea o Proceso
(subprocesos) creando una jerarquía.
Son nombrados utilizando frases de acción que
reflejan el trabajo realizado.
Tanto los procesos como actividades pueden
relacionarse únicamente a través de las Salidas
Reutilizables.
OBJETOS DE DECISIÓN
Decisión
Existen dos tipos: binarias y múltiples. Las binarias
tienen como salida "si" y "no". Las múltiples tienen
como salida dos o más opciones.
Debe ser descrita a manera de pregunta.
Opción
Debe seleccionarse para determinar la tarea que
continúa. Son los posibles resultados de una
Decisión.
70
OBJETOS DE FLUJO
Salidas Reutilizables
Fluye de entre las Tareas y Procesos de un modelo
de proceso. Es representada por la letra fi (φ) del
alfabeto griego. Por definición, es la salida de una
actividad que es utilizada como la entrada para otra.
A efecto de facilitar la lectura de un diagrama,
puede reemplazarse por una figura que sugiera el
tipo de salida (carta, fax, correo electrónico, etc.).
Conector
Actúa como medio de transporte (correo
electrónico, fax o teléfono) para llevar una Salida
Reutilizable de una actividad a la siguiente.
Cuenta con atributos adicionales al medio, tal como
el tiempo de duración de la transferencia.
Fusión
Representa la incorporación de salidas reutilizables
entregadas por distintas rutas. La complejidad de
análisis se deriva de la forma en que se integran
múltiples salidas en una sola para trasladarla a la
siguiente actividad del proceso.
71
Ir a
Ayudan a representar avances o retrocesos en el
proceso, para obviar o repetir actividades.
Si se utiliza una figura en forma de estrella se está
indicando un avance en el proceso, hacia una
actividad que se encuentra mucho más adelante
que la siguiente actividad. Añade claridad en la
lectura.
Si se utiliza un triángulo se indica re-trabajo; es
decir, repetición de tareas ya finalizadas. Es una
manera de representar iteraciones.
ELEMENTOS EXTERNOS
Entidad Externa
Se encuentra fuera de la organización y participa en
el proceso, como origen de las entradas o
destinatario de las salidas.
Proceso Externo
Es un grupo de una o más actividades realizadas
por una Entidad Externa.
Final
Representa una ruta del proceso que ha llegado a
su fin. Un proceso puede estar constituido de
múltiples rutas, algunas de las cuales terminarán
antes que otras.
72
La diagramación puede iniciar con un modelo que contenga los subprocesos
principales y las salidas reutilizables que se requieren para relacionarlos. A esta
representación se le conoce con el nombre de “diagrama de primer nivel”.
A medida que este se desglosa en otras actividades y subprocesos, se forma
una jerarquía que no debería superar los cinco niveles, para poder mantener
controlado el nivel de complejidad.
En adición a la notación propuesta, deben tomarse en cuenta los siguientes
aspectos:
Una tarea tiene asociada unidades organizativas, roles, tiempos y recursos.
Los roles se deben asignar a actores, los cuales deben quedar especificados,
aunque pueden sufrir modificaciones en el tiempo.
Todo rol y consumo de recursos tienen un costo asociado. La recolección de
estos datos resulta útil en las tareas de validación.
Las salidas reutilizables tienen un contenido; aunque durante el modelado del
proceso actual no es indispensable detallarlo, es necesario que se incluya como
parte del proceso meta, pues constituyen una especificación de implantación.
73
Las decisiones se llevan a cabo en base a datos y cálculos sobre las salidas
reutilizables o elementos del entorno.
Todo conector se encuentra asociado a un medio de transferencia, el cual
implica un tiempo y un costo.
Todo proceso y tarea deben contar con un propietario al momento de su
ejecución.
Los procesos externos no pueden ser controlados por la empresa. Sin embargo,
tienen una duración asociada, la cual incide en el tiempo de ejecución del
proceso.
Las bifurcaciones, derivadas de las DECISIONES, y FUSIONES presentan una
dificultad adicional, pues es necesario identificar las implicaciones que tienen en
el flujo de trabajo. La WfMC distingue los siguientes casos, al abordar el tema de
la secuencialidad y paralelismo:
Elemento
Clase Bifurcación Fusión
AND Un punto en el cual el workflow se divide en dos o más hilos de
Un punto en el workflow en el cual convergen dos o más hilos de
74
control que deben ejecutarse simultáneamente.
control que se ejecutan en paralelo. Se requiere establecer las reglas de sincronización para las salidas reutilizables.
OR Un punto en el cual el workflow debe decidir entre múltiples hilos de control que es posible ejecutar, basándose en una condición.
Un punto en el cual el workflow en el cual convergen hilos de control alternativos; es decir, que no pudieron haberse ejecutado en paralelo.
Modalidades de bifurcación y fusión propuestas por la WfMC.
Debido a que los elementos de modelado no permiten establecer diferencias
para cada una de las situaciones anteriores y que en la practica podrían
presentarse variaciones o combinaciones, es importante incluir este detalle al
elaborar la documentación.
3.4 Caso práctico: Modelado básico
Para ilustrar la aplicación de los instrumentos expuestos en las secciones
anteriores, se ha escogido una empresa ficticia. El objetivo es aplicar los
conceptos, no evaluar su uso en distintos entornos de producción. La empresa
se dedica a fabricar bicicletas para deportistas profesionales y los distribuye a
través de detallistas o de manera directa. Durante su tiempo de permanencia, la
empresa ha logrado convertirse en proveedor de partes para otros
manufactureros.
75
3.4.1 Presentación de la organización
Las unidades organizativas que participan en la ejecución del proceso “Ordenes
de Venta” son:
Contabilidad y administración
Procesamiento de órdenes
Despacho
El calendario laboral de la empresa consiste de 52 semanas anuales, cada una
de ellas compuesta de 5 días hábiles, comenzando a las 8:00 horas y
terminando a las 17:00 horas, con un tiempo de descanso de 75:00 minutos,
contados a partir de las 12:00 horas. Se consideran días no laborales aquellos
establecidos por la ley, sin tomar en cuenta el período de vacaciones anual de
cada empleado, pues son autorizados de manera que no exista una interrupción
en el servicio a los clientes.
El proceso opera con el siguiente conjunto de reglas de negocio:
Las órdenes de venta son recibidas por teléfono durante las horas laborales y
por los sistemas B2C y B2B implantados en la empresa, el resto del tiempo.
76
Solamente el personal de venta autorizado puede recibir órdenes de venta o
modificaciones a las mimas.
Solamente un empleado autorizado puede verificar la información de las
órdenes.
Todas las ventas que involucran clientes que no tienen líneas de crédito y que
tienen un nivel de riesgo medio, tienen que ser revisadas por el Gerente de
Contabilidad, quien es responsable de verificar el beneficio del crédito,
independientemente del valor de la orden.
Se enviarán copias de las órdenes aprobadas y rechazadas a Cuentas por
Cobrar y al Gerente de Contabilidad.
Las órdenes de alto riesgo son enviadas a Cuentas por Cobrar, donde se emite
una notificación al cliente.
Las órdenes deben conservarse en archivo durante diste años, después de
recibida la original.
Las copias de todas las órdenes aprobadas y rechazadas, informes de crédito,
notas de denegación y órdenes de trabajo deben conservarse en archivo durante
77
siete años, después de que las órdenes asociadas hayan sido entregadas o
rechazadas.
3.4.2 Descripción del entorno
El procesamiento de órdenes de venta, puede dividirse en tres grandes
subprocesos:
Orden del cliente.
Obtención de la información de crédito.
Revisión del crédito.
Como primer paso del análisis se debe identificar las fronteras del proceso:
Figura 3.4: Plantilla de fronteras del proceso “caso de análisis”.
A
2. Empleados
1. Clientes Externos
Procesos de Cliente
2. Empleados
1. Clientes Externos
Procesos de Cliente
2. Ordenes de Venta
1. Ordenes de Cliente
Disparadores/Entradas de procesos
2. Ordenes de Venta
1. Ordenes de Cliente
Disparadores/Entradas de procesos
2. Notificación de Rechazo
1. Orden de Trabajo
Entregables/Salidas de Procesos
2. Notificación de Rechazo
1. Orden de Trabajo
Entregables/Salidas de Procesos
2. Agencia de Créditos
1. Cliente
Entidades Externas (Involucradas con el
proceso)
2. Agencia de Créditos
1. Cliente
Entidades Externas (Involucradas con el
proceso)
3. Revisión de Crédito
2. Obtener Info. de Crédito
1. Ordenes de Cliente
Subprocesos
3. Revisión de Crédito
2. Obtener Info. de Crédito
1. Ordenes de Cliente
Subprocesos
3. Compras
2. Ventas
1. Contabilidad y Administración
Unidades Organizativas (Involucradas en el proceso)
3. Compras
2. Ventas
1. Contabilidad y Administración
Unidades Organizativas (Involucradas en el proceso)
78
3.4.3 Definición de métricas
De acuerdo con lo requerido por los directores de la empresa, se espera tener la
posibilidad de controlar el número, costos y tiempo de ejecución de los siguientes
casos:
Ordenes aceptadas con crédito pre-aprobado.
Ordenes de bajo riesgo aceptadas.
Ordenes de mediano riesgo aceptadas con aprobación ulterior.
Ordenes de mediano riesgo rechazadas.
Ordenes de alto riesgo rechazadas.
3.4.4 Diagramación del proceso
El flujo de trabajo inicia con la ejecución del SUBPROCESO “Preparar Orden de
Cliente”. La SALIDA REUTILIZABLE “Orden de Venta” contiene la información
necesaria para evaluar la decisión “¿Línea de Crédito Disponible?”. Los
porcentajes de probabilidad que el flujo de trabajo siga alguna de las opciones
disponibles se indican utilizado números enteros.
79
Figura 3.5: Modelo del proceso “Órdenes de Venta – Alto Nivel”
Si la respuesta es afirmativa, se ejecuta la ACTIVIDAD “Emitir Orden de Trabajo”
que dará como resultado final la “Orden de Trabajo”. Para el caso contrario, se
procede a obtener la información de crédito y se traslada la “Orden de Venta”,
con el estado “Completa”, para que sea sometida a una revisión de crédito, que
tiene como fin evaluar la elegibilidad del cliente para recibir el financiamiento. Las
SALIDAS REUTILIZABLES dependen de las condiciones que se hayan establecido en
el subproceso, las cuales reflejan las políticas y reglas del negocio.
Preparar Orden de Cliente
Orden de Trabajo
Notificación de Cliente
Orden de Venta
Línea de Crédito
Disponible?
Si 80No 20 Orden de
Venta
Rechazar Orden de Venta
Revisar Crédito
Orden de Ventas
Obtener Info. de Crédito
Emitir Orden de Compra
Aceptada
Aceptada
Rechazada
Rechazada
Orden de Venta 1
Orden de Venta 2
Orden de Venta 3
Preparar Orden de Cliente
Orden de Trabajo
Notificación de Cliente
Orden de Venta
Línea de Crédito
Disponible?
Si 80No 20 Orden de
Venta
Rechazar Orden de Venta
Revisar Crédito
Orden de Ventas
Obtener Info. de Crédito
Emitir Orden de Compra
Aceptada
Aceptada
Rechazada
Rechazada
Orden de Venta 1
Orden de Venta 2
Orden de Venta 3
Orden de Venta
Línea de Crédito
Disponible?
Si 80No 20 Orden de
Venta
Rechazar Orden de Venta
Revisar Crédito
Orden de Ventas
Obtener Info. de Crédito
Emitir Orden de Compra
Aceptada
Aceptada
Rechazada
Rechazada
Orden de Venta 1
Orden de Venta 2
Orden de Venta 3
80
Las órdenes rechazadas deben ser notificadas a los clientes, para luego finalizar
el proceso. Este diagrama constituye el “Modelo de Orden de Ventas de Primer
Nivel” (ver Figura 3.5).
Los niveles siguientes incluyen el detalle de los subprocesos utilizados
anteriormente. La entidad externa “Cliente” aparece como el generador del
evento que es capaz de poner en marcha el proceso. Debido a que las opciones
para la colocación de la orden son diversas, es necesario introducir un elemento
de decisión múltiple desde el comienzo, pues durante la ejecución, cada uno de
estos dara lugar a un caso que podrá evaluarse de manera independiente y con
distintas probabilidades de ocurrencia, indicadas con un número entero.
Figura 3.6: Proceso “Preparar Orden de Cliente”
cliente
Tipo de
Orden? Teléfono
Orden Telefónica
Crear Orden de Cliente
Orden de Venta
Orden de Venta
Orden de Venta
Orden de Trabajo
Emitir Orden de Trabajo
B2B
Orden B2B
Registrar Orden de Cliente
B2C
Orden B2C
Traducir Orden de Cliente
cliente
Tipo de
Orden? Teléfono
Orden Telefónica
Crear Orden de Cliente
Orden de Venta
Orden de Venta
Orden de Venta
Orden de Trabajo
Emitir Orden de Trabajo
B2B
Orden B2B
Registrar Orden de Cliente
B2C
Orden B2C
Traducir Orden de Cliente
81
Los simbolos seleccionados para denotar las salidas reutilizables dan una idea
rápida a los analistas de negocio y usuarios a cerca de los medios con que se
encuentran relacionadas. El teléfono corresponde a las llamadas telefónicas, el
mundo con algún formulario disponible a través de la web y el mundo con las
computadoras en red hacen pensar en dos sistemas de negocio que
intercambian datos de manera automatizada. (Ver Figura 3.6).
La necesidad de representar los tres casos por separado se hace evidente
cuando observamos el trabajo demandado por cada uno. En el primero, el
trabajo es realizado completamente por la empresa, a través de personal de
atención teléfonica que entrevista al cliente y llena el formulario diseñado para
este proposito. La cantidad de ordenes que pueden recibirse de manera
simultanea depende del número de líneas teléfonicas que hayan sido destinadas
para este fin. Cuando se trata de un acceso web denominado B2C19, parte del
trabajo es realizado por el cliente y parte por la empresa. Sin embargo, la
capacidad de atención se ha incrementado significativamente, pues el número
de ordenes que se registran concurrentemente excede por un margen elevado al
del caso anterior. Adicionalmente, el horario de disponibilidad se ha extendido
para dar servicio 7 días a la semana, las 24 horas del día. La modalidad B2B20
supone automatización en ambos extremos de la relación, pues la orden es
19 Busines to Customer. Concepto utilizado en comercio electrónico para denominar a aquellas aplicaciones que están orientadas a realizar negocios con los consumidores finales, a través del World Wide Web. 20 Business to Business. Concepto utilizado en comercio electrónico para denominar a aquellas aplicaciones que están orientadas a interconectar dos o más empresas, a efecto de automatizar las operaciones de negocio a través de las cuales se relacionan.
82
colocada y recibida utilizando programas orientados a la codificación y
decodificación de mensajes comerciales, tales como EDI21 o XML22.
Los segundo subprocesos a desglozar en un diagrama de segundo nivel es el
que hemos denominado “Obtener Información de Crédito”. Este inicia con la
SALIDA REUTILIZABLE “Orden de Venta” necesaria para la creación de la solicitud
de información sobre créditos, que es enviada a una entidad externa
especializada en suministrar información de este tipo (ver Figura 3.7).
Figura 3.7: Proceso “Obtener Información de Crédito”
El proceso que ejecuta la empresa dedicada a consultar la referencia crediticia
de los clientes no es de interés para la empresa. Ya sea que se trate de un flujo
de trabajo manual o automatizado, el único valor para el modelo es la salida
entregada, cuya información permite actualizar la orden de venta.
Finalmente se detallan las actividades comprendidas en la “Revisión de Crédito”.
Surgen aquí tres casos adicionales, derivados de la regla del negocio que dicta
lo que es necesario hacer dependiendo del riego que conlleva la operación de
crédito. A diferencia del primer subproceso, cada caso genera su propia salida,
21 Electronic Data Intechange – Intercambio Electrónico de Datos. 22 Extensible Markup Language – Lenguaje de Composición Ampliable.
Orden de Venta
Reporte de Crédito
Preparar reporte de crédito
Agencia de Crédito
Solicitud de crédito
Crear solicitud de Info. de Creditos
Orden de Venta
Actualizar Orden de Venta
83
pues no converge con los demás en alguna actividad común (ver Figura 3.8). En
el diagrama de primer nivel deben unirse aquellas que corresponden a salidas
reutilizables con el mismo estado y se conectan a la actividad que espera
recibirlas.
Figura 3.8: Proceso “Revisión de Crédito”
Las tareas del proceso han sido descritas con ayuda de la siguiente tabla:
Tarea Unidad
Organizacional Rol
Duración Total
Trabajo Efectivo
Crear Orden de Cliente
Ventas Procesador de ordenes
10.0000min. 3.0000min.
Registrar Orden de Cliente
Ventas Sistema 1.0000min. 11.0000s.
Traducir Orden de Cliente
Ventas Sistema 1.0000min. 11.0000s.
Emitir Orden de Trabajo
Despacho Despachador 10.0000min. 5.0000min.
Crear Solicitud de Info. de Créditos
Ventas Procesador de Ordenes
5.0000hs. 1.0000min.
Orden de Venta
Aprueba Crédito?
Si 50No 50
Revisar Perfil de Cliente
Bajo Riesgo
Mediano Riesgo
Alto Riesgo
20
60
20
Valuo de Crédito?
Orden de Venta
Aceptada
Aceptada
Rechazada
Rechazada
Orden de Venta
Orden de Venta
Orden de Venta
Orden de Venta
Aprueba Crédito?
Si 50No 50
Revisar Perfil de Cliente
Bajo Riesgo
Mediano Riesgo
Alto Riesgo
20
60
20
Valuo de Crédito?
Orden de Venta
Aceptada
Aceptada
Rechazada
Rechazada
Orden de Venta
Orden de Venta
Orden de Venta
84
Actualizar Orden de Ventas
Ventas Procesador de Ordenes
10.0000min. 5.0000min.
Revisar Perfil de Cliente
Contabilidad y Administración
Gerente Contable
3.0000h. 30.0000min.
Rechazar Orden de Venta
Despacho Despachador 3.0000min. 1.0000min.
Especificaciones de las tareas del proceso “Ordenes de Ventas”
En cuanto a los elementos de decisión, los únicos datos requeridos son la
probabilidad de incidencia de cada opción:
Decisión /Opción
Incidencia (%)
Bajo Riesgo 20 Mediano Riesgo
60
Alto Riesgo 20 teléfono 25 B2B 45 B2C 30 Línea de crédito disponible?
80% (Si) 20% (No)
Esta aprobado el crédito?
50% (Si) 50% (No)
Especificaciones de las opciones del proceso “Ordenes de Venta”
Las salidas reutilizables incluyen información extendida por los usuarios; la
categoría está relacionada con el medio físico en el que se encuentra la
información y el tipo corresponde a una clasificación interna. La información
extendida queda a criterio del Analista de Sistemas y se identificará según el
entorno para el cual se desea implantar una solución de workflow.
85
Salida reutilizable (phi) Categoria Tipo Orden de ventas Documento en
paple Forma en papel
Orden de Trabajo Documento en paple
Forma en papel
Solicitud de crédito Fax Fax Reporte de crédito Fax Fax Orden de trabajo Documento en
paple Forma en papel
Notificación cliente Documento en paple
Correo Electrónico
Especificaciones de las salidas reutilizables del proceso “Ordenes de Venta”
Parte La información de los conectores puede ser generada de manera
automática cuando se cuenta con un modelador de procesos, pues estos son
utilizados para relacionar elementos en un flujo, el tiempo de transferencia se
encuentra asociado con los medios que se utilicen y suelen ser estándares para
cada uno de estos. Se recomienda que el analista recolecte estos datos antes de
tabularlos. A continuación se presenta ejemplos de especificación:
Objeto Origen Objeto Destino Medio Duración Cliente Teléfono Teléfono 1.0000m Crear Orden de Cliente Emitir Orden de Trabajo Correo Interno de
Oficina 4.0000h
Actualizar Orden de Venta Revisar Perfil de Cliente Correo Interno de Oficina
4.0000h
Especificaciones de los medios del proceso “Ordenes de Venta”
86
3.4.5 Validación
A efecto de demostrar los beneficios del nuevo proceso23, la empresa recurrió al
uso de un programa analizador, adquirido de un proveedor de aplicaciones, para
calcular promedios ponderados y generar simulaciones. Lo siguientes hallazgos
fueron comunicados a los analistas de negocio y usuarios:
El tiempo de ciclo del proceso se redujo de 25.34 horas a 4.01 horas – un
impacto del 84.17%.
El costo del ciclo de proceso se redujo de $6.87 a $1.89.
El trabajo requerido se redujo del 100% (inicial) a un 40%.
El nivel de procesamiento electrónico incrementó del 0% al 98%.24
3.5 Caso práctico: Modelado avanzado
El modelo presentado hasta este momento se pude clasificar como simple,
partiendo del hecho que no considera paralelismos (bifurcaciones y fusiones) ni
recurrencias (retornos).
23 El ejemplo parte del supuesto que el proceso modelado se utilizará para reemplazar el que actualmente utiliza la empresa y que no ha sido incluido como parte de la explicación. 24 Este caso se presenta cuando las empresas parten de procesos completamente manuales a procesos mecanizados. Queda claro que la reducción del costo del ciclo de procesos va acompañada de una inversión en tecnología. Debería realizarse un estudio de inversión para determinar si el ahorro es fuente suficiente para el retorno de la misma. Podría también presentarse la situación de que a pesar de obtener condiciones favorables de retorno, el monto a invertir sea lo suficientemente grande como para que el proyecto de automatización no sea factible.
87
Para analizar otras posibles situaciones que se presentan en entornos de
producción real, se considera el caso de una empresa que, conociendo su
situación actual, desea diagramar el proceso meta25.
El escenario trata de una empresa que ha iniciado la automatización de las
solicitudes de sus clientes, derivadas de los productos y servicios que se ofrecen.
Algunas de estas pueden solucionarse de manera simple y directa, en base a
información existente derivada de manuales o casos similares, mientras que
otras requerirán de una investigación detallada.
Para poder tramitarlas y darles seguimiento, la empresa realiza las siguientes
actividades:
Creación de la solicitud de cliente. Este documento debe contener la
información general y detallada del cliente.
Investigación de aspectos de desarrollo y mercadeo relacionados con la
solicitud del cliente, la cual podrá afectar la respuesta.
Creación de la respuesta para el cliente. La respuesta debe contar con el
resultado de la investigación a cargo de los departamento de Desarrollo y
25 El objetivo de este ejemplo es mostrar nuevas posibilidades de modelación, no volver a aplicar la metodología desde el inicio.
88
Mercadeo, en los casos que se requiera, así como la conclusión para el cliente,
que será llamada “redacción de la respuesta”.
Los responsables de su ejecución son personas o grupos de trabajo que forman
parte de los siguientes departamentos de la organización:
Servicio al Cliente . Todos los miembros de este Departamento son
considerados actores principales del proceso de solicitud de cliente. Ellos son los
que crean las solicitudes y las respuestas que se envían posteriormente a los
mismos.
Mercadeo . Algunos miembros de este departamento participan regularmente en
el proceso, investigando detalles de mercadeo relacionados con la solicitud del
cliente. Otros miembros del departamento asisten ocasionalmente en el proceso
de requisiciones.
Desarrollo . Al Igual que Mercadeo, algunos de los miembros de este
departamento tienen una participación regular en el proceso, con el objetivo de
investigar detalles de Desarrollo relacionados con la solicitud. Otros miembros
del departamento participan ocasionalmente en el procesamiento de la solicitud.
Personas de diferentes departamentos pueden pertenecer al mismo grupo de
trabajo; en este caso se integran dos grupos, uno para cada departamento:
89
Grupo de Investigación de Mercadeo.
Grupo de Investigación de Desarrollo.
Todos los miembros del Departamento del Servicio al Cliente pueden participar
en el proceso a través de los siguientes roles:
“Supervisor” – las personas con este rol son los supervisores de todo el trabajo
del personal novato. Este rol es el propietario de todas las solicitudes de cliente
que se están procesando.
“Asistente”. Las respuestas que ellos elaboren a los clientes deben ser
revisadas y aprobadas por un supervisor antes que puedan ser enviadas.
Figura 3.9: Proceso Solicitudes de Clientes (Reclamos). 26
El Departamento de Servicio al cliente lleva a cabo la TAREA “Crear Solicitud”,
en la cual llena un formulario con los datos generales del cliente y el detalle de
la solicitud, para completar la “Solicitud del Cliente”.
26 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
Crear Solicitud
Solicitud del cliente
Investigar Solicitud
Solicitud de Cliente Investigada
Crear Respuesta Respuesta
para Cliente
Revisar Respuesta
Respuesta para Cliente Revisada
Crear Solicitud
Solicitud del cliente
Investigar Solicitud
Solicitud de Cliente Investigada
Crear Respuesta Respuesta
para Cliente
Revisar Respuesta
Respuesta para Cliente Revisada
90
Esta información es enviada por medio de un correo electrónico a los
departamentos de Mercadeo y Desarrollo para que sea investigada. Cada uno
de los grupos revisa la solicitud y agrega sus comentarios.
El miembro del Departamento de Servicio al Cliente que generó la solicitud del
cliente es notificado, de manera automatizada, cuando la investigación ha
terminado, para que este pueda redactar la respuesta. Se revisan los
comentarios y se prepara la correspondencia que será enviada al cliente.
La “Revisión de Respuestas” está a cargo del “Supervisor” del área. Se llevan a
cabo las correcciones necesarias y se envía al cliente.
La descripción anterior es el modelo más simple. Cuando se recibe una
solicitud en el departamento de Servicio al Cliente, el empleado tiene la
capacidad de distinguir qué tipo de investigación es necesaria:
Investigación de mercadeo.
Investigación de Desarrollo.
Ambas investigaciones.
91
Hasta este punto se ha asumido que cada opción de la decisión es excluyente;
es decir, se ejecuta una sola ruta, pues un flujo no cumplir dos condiciones
simultáneamente. Sin embargo, en este ejemplo carece de sentido que un
departamento tenga que esperar hasta que otro haya terminado la
investigación, ya que el ámbito de estas es independiente.
Cuando la ejecución concurrente es posible, todas las actividades que siguen a
una decisión, y que hayan cumplido con la comparación, deben recibir una
copia idéntica de la solicitud. Esto se resuelve fácilmente, a través de una
duplicación del documento.La segunda consideración es más compleja, pues
una vez terminadas las investigaciones de cada departamento, las salidas
reutilizables deben combinarse en una sola. Esto debe llevarse a cabo a través
de una actividad del sistema, que el modelo de diagramación se representa
como una FUSIÓN. La salida puede ser simple, una consolidación de datos en
otra SALIDA REUTILIZABLE, o compuesta, que permite diferenciar en su contenido
las SALIDAS REUTILIZABLES originales. En ambos casos la nueva salida se
llamará “Investigación Consolidada” y será enviada al Departamento de
Servicio al Cliente. (ver Figura 3.10).
92
Figura 3.10: Modelo de fusiones – “Integración de Investigaciones”.27
La tercera opción, que no conlleva paralelismo, es cuando no se requiere de
investigación y el mismo departamento de Servicio al Cliente puede generar la
respuesta para el cliente. La única tarea adicional es completar la solicitud del
cliente con la información disponible y someterla a revisión.
Finalmente, debe considerarse el caso en el cual los supervisores revisan las
respuestas elaboradas por los asistentes y las regresan a estos por presentar
errores que darán lugares a un retrabajo por correcciones. Este ciclo se repetirá
27 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
Crear Solicitud
Solicitud del cliente
Integración Consolidada
Crear Respuesta
Respuesta para
Cliente
Revisar Respuesta
Respuesta para Cliente Revisada
Investigación Necesaria
Investigación de Desarrollo
Investigación de Mercadeo
FIntegración de Investigaciones
Solicitud de Cliente
Investigada
Solicitud de Cliente
Investigada
Crear Respuesta con Información Disponible
Respuesta para
Cliente
Investigación no Necesaria
Crear Solicitud
Solicitud del cliente
Integración Consolidada
Crear Respuesta
Respuesta para
Cliente
Revisar Respuesta
Respuesta para Cliente Revisada
Investigación Necesaria
Investigación de Desarrollo
Investigación de Mercadeo
FIntegración de Investigaciones
Solicitud de Cliente
Investigada
Solicitud de Cliente
Investigada
Crear Respuesta con Información Disponible
Respuesta para
Cliente
Investigación no Necesaria
93
hasta que el supervisor dé el visto bueno a la respuesta redactada (ver Figura
3.11).
Figura 3.11: Depuración del proceso Solicitudes de Cliente (Reclamos).28
3.6 Caso práctico: Validación automatizada
Para demostrar los resultados que es posible obtener utilizando una
herramienta de validación, se seleccionó un proceso simple, el cual contaba
únicamente con dos actividades y una validación, tal como se muestra en la
Figura 3.12:
28 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
Crear Solicitud
Solicitud del cliente
Integración Consolidada
Crear Respuesta
Respuesta para
Cliente
Revisar Respuesta
Respuesta para Cliente Revisada
Investigación Necesaria
Investigación de Desarrollo
Investigación de Mercadeo
FIntegración de Investigaciones
Solicitud de Cliente
Investigada
Solicitud de Cliente
Investigada
Crear Respuesta con Información Disponible
Respuesta para
Cliente
Investigación no Necesaria
No
Si
Respuesta para Cliente
Corregir Respuesta
Crear Solicitud
Solicitud del cliente
Integración Consolidada
Crear Respuesta
Respuesta para
Cliente
Revisar Respuesta
Respuesta para Cliente Revisada
Investigación Necesaria
Investigación de Desarrollo
Investigación de Mercadeo
FIntegración de Investigaciones
Solicitud de Cliente
Investigada
Solicitud de Cliente
Investigada
Crear Respuesta con Información Disponible
Respuesta para
Cliente
Investigación no Necesaria
No
Si
Respuesta para Cliente
Corregir Respuesta
94
Figura 3.12: Proceso “Empaque de Ordenes de Trabajos”.
Las actividades representadas fueron documentadas con los siguientes
datos:
Figura 3.13: Unidades Organizativas que participan en el proceso.
Días de duración corresponde al tiempo total transcurrido en la actividad y
días trabajados al tiempo efectivo invertido. La decisión da lugar a dos
Casos, cada uno de los cuales tiene asociado un tiempo total de ejecución.
El informe resultante de promedios ponderado de tiempos que se generó
para el modelo anterior fue el siguiente:
Actividad Unidad Organizativa Puesto Días de DíasDuración Trabajados
Determinar Tipo de Empaque Bodega Asistente de Bodega 0.00083 0.00021 Empaque (cartón) Empacado Asistente de Bodega 0.01250 0.00208 Ensamblar (caja de madera) Empacado Asistente de Bodega 0.02083 0.01875
95
Figura 3.14: Informe de promedios ponderados de tiempo.
Si se añaden a las actividades los costos derivados de los recursos
asociados, es posible obtener un reporte que permite evaluar los costos de
cada caso y el total derivado del promedio ponderado.
3.7 Pruebas de calidad
Durante la fase de análisis es importante conducir pruebas que garanticen la
calidad del producto. Aunque esta actividad no añade valor, el tiempo y
recurso invertido compensa el impacto que tendría descubrir una falla de
análisis en fases subsiguientes del ciclo de vida de un workflow.
Las diversas pruebas que pueden llevarse a cabo pueden clasificarse en dos
grandes grupos:
a. Pertinentes a la metodología de modelado. Estas pruebas
podrían entenderse como validaciones sintácticas, orientadas a
garantizar que se respetarán las reglas para el uso e interconexión
de los elementos utilizados para construir los diagramas de
Nombre de Caso del Proceso
PorcentajeTiempo de Proceso
Tiempo de Transferencia
Tiempo de Espera
Tiempo de Trabajo
Caso 1 70.00 0.15d 0.08d 0.06d 0.01dCaso 2 30.00 0.15d 0.04d 0.01d 0.09dPromedio Ponderado 100.00 0.15d 0.07d 0.04d 0.04d
Tesis \ Reporte: Tiempos de Casos del Proceso
96
procesos. Estas pruebas se encuentran íntimamente relacionadas
con la metodología de modelado utilizada y no existe garantía
alguna de su universalidad.
El responsable de este control debería ser un analista distinto del
que elaboró el modelo.
b. Pertinentes al proceso modelado. Estas pruebas servirán para
evidenciar que el proceso cumple consistentemente con las metas
propuestas por el negocio. Existen varias herramientas
estadísticas que pueden utilizarse como parte de esta validación.
Una herramienta particularmente útil para realizar la validación es la
conocida como FMEA (Failure Modes and Effects Analysis, análisis
de tipos y efectos de falla). Consiste en listar los problemas
potenciales o tipos de falla y evaluar sus riesgos en términos de
severidad, probabilidad de ocurrencia y facilidad de detección.
Donde existen riesgos potenciales, la FMEA puede ser utilizada para
documentar las fallas encontradas. El resultado final es un plan de
control, donde cada oportunidad de falla se encuentra asociada con
herramientas de análisis estadístico.
97
Uno de los problemas frecuentes es el de variación, situación en
donde cada uno de los resultados del proceso difiere levemente de
los otros resultados. Estos cambios pueden caracterizarse tomando
una muestra de los resultados y distribuyéndolos en un histograma.
Por ejemplo, una empresa determina que el llenado de una orden de
venta no debe durar más de 100 segundos. La tolerancia es 100
más 5 segundos. Cuando los analistas toman una muestra de 12
ordenes y simulan el proceso, obtienen los siguientes resultados:
98.7, 99.3, 100.4, 97.6, 101.4, 102.0, 100.2, 96.4, 103.4, 102.0, 98.0
y 100.5. El siguiente histograma muestra los resultados obtenidos:
Figura 3.15: Histograma de mediciones de tiempo
Tomar más de una muestra en el tiempo seria una segunda prueba
el objetivo es verificar que el promedio no se encuentre
L Límite inferior
especificado Límite superior especificado
98
trasladándose hacia arriba o abajo. De suceder esto, diremos que el
proceso diseñado es inestable y su diseño deberá revisarse para
detectar las actividades (subproceso o ciclos) que producen la
inestabilidad.
El estudio de capacidad es otra prueba que permite evaluar la
capacidad de un proceso para generar productos buenos, de
manera consistente. Si el flujo de trabajo lleva implícito la
transformación de un documento, utilizando un histograma de
variaciones se puede determinar en qué medida los documentos
administrados por el proceso son entregados con la información
requerida por el usuario.
La variación de la salida podría tener sus causas en las entradas;
por ejemplo, la ausencia de documentación del cliente podría
generar solicitudes de crédito que no es posible evaluar o que
conllevan otorgamientos de créditos de alto riesgo. Este impacto
puede anticiparse utilizando una técnica llamada “Trasmisión de la
Variación”, en la cual el analista tratará de relacionar distintas
calidades de entrada y salida.
Si el equipo de análisis carece de herramientas de simulación, las
pruebas serán difíciles de conducir. En este caso, se recomienda
99
que esta fase se aproveche para su diseño, para ejecutar las
pruebas durante el prototipado del sistema, en la fase de desarrollo,
o implantación.
3.8 Documentación
3.8.1 Estudio preliminar
El formato de redacción es libre. Se considera importante lo claro y conciso que
se expone cada elemento investigado. Debe evitarse la redacción extensa, pues
únicamente se resume lo expuesto en los documentos de planeación de la
empresa o los resultados de las entrevistas o encuestas.
Para introducir el proyecto, se incluye más información que la obtenida como
parte de la metodología, para que los usuarios puedan asociar el workflow a
implantar con las necesidades de la empresa que lo impulsaron.
La siguiente tabla sugiere la estructura a utilizar:
Documento: ESPECIFICACIONES DE SISTEMA
El título del documento debe incluir el nombre del proceso al cual se aplicará la tecnología de workflow.
Capítulo 1: INTRODUCCION
Sección 1.1: Antecedentes Objetivo
Esta sección contiene los objetivos y metas del proyecto. Deben presentarse tal como se encuentren especificados en los documentos
Establecer un marco de referencia
100
que se utilizaron para formular la iniciativa de automatización o cualquier otro instrumento en el que se basó la formulación del proyecto.
En esta sección deberán enumerarse los factores que la empresa considera relevantes para el éxito del proyecto.
Responsable
Analista de Negocio
Sección 1.2: Motivadores de cambio Objetivo
Ordenados y clasificados según su área de impacto. Establecer un marco de referencia
Responsable
Analista de Negocio
Sección 1.3: Delimitación del proceso Objetivo
Se puede utilizar el diagrama de entorno para representar al proceso, sus clientes, entradas, salidas, entidades organizativas internas y entidades organizativas externas.
Las políticas y reglas de negocio que afectan el proceso deberán listarse y explicarse. Esta información ayuda a que los usuarios evalúen la vigencia de las mismas con el nuevo modelo de proceso a implantar.
Establecer un marco de referencia
Responsable
Analista de Sistema
3.8.2 Proceso actual
La información presentada recurre al lenguaje visual utilizado para construir los
diagramas y la información generada durante las validaciones. Se recomienda
que al momento de ser entregada se induzca de manera rápida a los usuarios,
para evitar interpretaciones erróneas, por desconocimiento de los elementos
sintácticos, y generar la retroalimentación deseada.
La siguiente tabla sugiere la estructura a utilizar:
101
Capítulo 2: PROCESO ACTUAL
Sección 2.1: Modelo Objetivo
Diagrama del proceso tal como se encuentra implantado en la organización. Es necesario que cada elemento representado incluya los siguientes datos:
Elemento Especificaciones
Tarea Nombre
Unidad organizativa
Roles
Duración
Trabajo efectivo
Espera
Recursos utilizados
Salida reutilizable Nombre
Estado
Conector Medio que representa
Tiempo de transferencia
Actividad origen
Actividad destino
Decisión Nombre
Tipo (binaria, múltiple)
Modalidad de bifurcación
Opción Nombre
Oportunidad de selección (%)
Fusión Nombre
Modalidad de fusión
Ir a Tarea destino
Descripción
Presentar el proceso a través de un lenguaje visual
Responsable
Analista de Sistemas
102
Entidad externa Nombre
Proceso externo Nombre
Entidad externa
Duración
Sección 2.2: Validación Objetivo
Incluye las tablas que contienen los promedios ponderados de tiempo y costo para cada caso del proceso, así como el total que es posible esperar en un entorno de producción real.
Para el caso de las simulaciones, deberán entregarse los resultados para los indicadores de desempeño sugeridos por los usuarios.
Presentar los promedios obtenidos y los resultados de las simulaciones
Responsable
Analista de Sistemas
3.8.3 Proceso meta
Esta documentación es relevante para los usuarios, analistas de negocio y
diseñadores. Estos últimos necesitan el modelo al momento de crear las
especificaciones de implantación. La estructura del contenido es similar a la
utilizada para describir el proceso actual y se presenta en la siguiente tabla:
Capítulo 3: PROCESO META
Sección 3.1: Modelo Objetivo
Diagrama del proceso tal como se espera implantar en la organización. Es necesario que cada elemento representado incluya los siguientes datos:
Presentar el proceso a través de un lenguaje visual
Documentar las especificaciones para el diseño del workflow
103
Elemento Especificaciones
Tarea Nombre
Unidad organizativa
Roles
Duración
Trabajo efectivo
Espera
Recursos utilizados
Las actividades de un proceso que estén reguladas por un procedimiento deben documentarse, utilizando los siguientes datos.
Salida reutilizable Nombre
Estado
Datos que contiene
Conector Medio que representa
Tiempo de transferencia
Actividad origen
Actividad destino
Decisión Nombre
Tipo (binaria, múltiple)
Datos utilizados
Fórmulas de evaluación
Modalidad de bifurcación
Opción Nombre
Oportunidad de selección (%)
Fusión Nombre
Modalidad de fusión
Ir a Tarea destino
Descripción
Responsable
Analista de Sistemas
104
Entidad externa Nombre
Proceso externo Nombre
Entidad externa
Duración
Sección 3.2: Validación Objetivo
Incluye las tablas que contienen los promedios ponderados de tiempo y costo para cada caso del proceso, así como el total que es posible esperar en un entorno de producción real.
Para el caso de las simulaciones, cada una debe ser descrita utilizando la siguiente información:
Característica Detalle
Entradas Indica el contenido de las distintas entradas que se utilizarán en el escenario.
Recursos Enumera cada una de las tareas que constituyen el proceso con los recursos que se le asignarán.
Tiempos Especifica las duraciones, trabajo efectivo y espera de las distintas actividades.
Medios Lista los conectores del modelo y los medios que utilizarán para transferir la información, incluyendo su impacto en tiempo.
Cada escenario debe ir acompañado de los resultados de ejecución.
Presentar los promedios obtenidos y los resultados de las simulaciones
Responsable
Analista de Sistemas
3.9 Lista de verificación para el analista
La metodología propuesta no debe considerarse como un conjunto rígido de
elementos a aplicar. Las actividades propuestas para cada una de las fases
podría variar, dependiendo de la magnitud del proyecto, el tipo de empresa, la
naturaleza del proceso y el grado de automatización de las organizaciones.
105
En la siguiente tabla se presenta una lista de actividades que puede servir como
referencia para la elaboración del plan de trabajo definitivo. Las actividades de
inicio y cierre han sido incluidas para enmarcar las distintas fases del análisis en
el contexto de un plan general de trabajo.
Actividad: Presentación de proyecto Instrumentos
Reunión de trabajo en la que los Analistas de Negocio exponen el proyecto a los Analistas de Sistemas, incluyendo los problemas detectados y las oportunidades de mejora.
Se recomienda la participación de:
Directores que brindan el apoyo al proyecto
Gerentes involucrados en el proceso
Usuarios expertos en la ejecución del proceso
Analistas de Negocio
Analistas de Sistemas
Sesión de grupo
Herramientas
Aplicaciones de oficina
Entregable
Integración del equipo de trabajo que será responsable del análisis
ESTUDIO PRELIMINAR
Actividad: Presentación de la organización Instrumentos
El objetivo es levantar los datos de la organización que se consideran necesarios para modelar el flujo de trabajo a automatizar. Parte de esta información debería estar disponible en los documentos referenciados por el Analista de Negocio al momento de presentar el proyecto.
Entrevistas
Encuestas
Recolección de documentos
Herramientas
Aplicaciones de oficina
Entregable
Perfil de la empresa
Actividad: Descripción del entorno Instrumentos
El Analista de Sistemas buscará delimitar el proceso en el cual se trabajará, estableciendo fronteras de inicio y finalización.
Diagrama de entorno
Herramientas
106
Aplicaciones de oficina
Entregable
Diagrama de entorno
Actividad: Definición de métricas Instrumentos
El negocio debe decidir qué indicadores de desempeño le interesa controlar y los niveles máximos y mínimos que está dispuesto a tolerar durante las ejecuciones de un proceso.
No aplica
Herramientas
Aplicaciones de oficina
Entregable
Lista de indicadores y niveles esperados
ANÁLISIS DEL PROCESO ACTUAL
Actividad: Modelado Instrumentos
Elaboración de un diagrama que ayude a representar la estructura del proceso que se utiliza en la organización antes de iniciar el estudio. El analista deberá decidir qué enfoque utilizar:
Descomposición
Incremental
Combinado
Lenguaje de modelado
Herramientas
Aplicaciones de oficina
Modelador de procesos
Entregable
Diagrama de proceso
Control de calidad
Verificación sintáctica
Actividad: Validación Instrumentos
El modelo de proceso terminado debe presentarse a los usuarios con los siguientes objetivos:
Estar seguro que el diagrama refleja la realidad
Establecer una línea de rendimiento para los indicadores de
desempeño que se desea monitorear
Confirmar las debilidades detectadas e incluir otras que no hayan
Promedios ponderados
Simulación
Histograma de variación
Herramientas
Aplicaciones de oficina
Modelador de procesos
107
sido consideradas Entregable
Diagrama de proceso
Líneas de referencia para el desempeño
Control de calidad
Variación de ejecución
Consistencia de las salidas
ANÁLISIS DEL PROCESO META
Actividad: Modelado Instrumentos
Elaboración de un diagrama que ayude a representar la estructura del proceso tal como los Analistas de Negocio sugieren que debería ser. Debido a que el proceso ya se encuentra documentado, el único trabajo a realizar es su conversión a un lenguaje visual técnico.
Lenguaje de modelado
Herramientas
Aplicaciones de oficina
Modelador de procesos
Entregable
Diagrama de proceso
Control de calidad
Verificación sintáctica
Actividad: Validación Instrumentos
El modelo de proceso terminado debe presentarse a los usuarios con los siguientes objetivos:
Verificar que el proceso cumple con las metas estipuladas
Lograr un consenso respecto a las mejoras que se implantarán
Simular distintos escenarios para analizar su impacto
Promedios ponderados
Simulación
Histograma de variación
Herramientas
Aplicaciones de oficina
Modelador de procesos
Entregable
108
Diagrama de proceso
Mediciones de los indicadores solicitados por el negocio
Control de calidad
Variación de ejecución
Consistencia de las salidas
3.10 Factores de éxito para el análisis
Existen diversas áreas en las que una organización debe enfocarse para
garantizar que el workflow sea analizado de manera adecuada:
La organización debe tener funciones claramente definidas y asignadas. Si esta
información no se encuentra documentada y aprobada por la dirección, se
dificultará la asignación de roles y propietarios.
Los empleados responsables de la ejecución deben participar al momento del
modelado de los procesos. Cuando se trata del proceso actual, muchas veces
los manuales disponibles en la organización no corresponden con las actividades
que se llevan a cabo. Para el caso de los modelos propuesto, es necesario
conocer si existen restricciones para aplicar el flujo como se desea, tales como
disponibilidad de equipos, medios de comunicación, horarios y personas.
109
Aunque los modelos no deben encontrarse diseñados pensando en
componentes técnicos (lenguajes de programación, sistemas operativos,
protocolos, etc.), es posible hacer referencia a soluciones existentes en la
empresa. Los procesos no pueden existir al margen de las estrategias de IS/IT
adoptadas por el negocio.
Cuando se interactúe con sistemas de información del negocio, es preferible
que el flujo de trabajo se adecue a la forma de operación de estas, evitando que
sean utilizadas en modelos para los cuales no fueron diseñadas.
Los analistas deben tener acceso a toda la información relacionada con los
actores y recursos que participan. Las validaciones propuestas son útiles en la
medida que se encuentran basadas en datos que correspondan con la realidad
del negocio.
Los analistas responsables de modelar los procesos deben ser capacitados en
el uso de los instrumentos y herramientas.
110
4 Diseño del sistema
4.1 Fundamentos
El propósito de la fase de diseño es brindar modelos de bajo nivel para el flujo de
trabajo que se desea automatizar, orientados a la incorporación de los procesos
en un WFMS e integración de las aplicaciones que participarán.
El modelado, en esta fase, consiste en relacionar las especificaciones de análisis
con aspectos técnicos de implantación. Los instrumentos que se utilizan deben
facilitar la comunicación con analistas, programadores, probadores e
implantadores. Aunque algunos usuarios tengan interés en participar las
actividades de diseño, debe tenerse en mente que los instrumentos pueden
resultar complejos.
Entre los temas actuales que más frecuentemente se discuten en el ámbito de
las soluciones de workflow se encuentran la arquitectura cliente/servidor de tres
capas y UML. Aunque existen avances individuales, adoptados e impulsados por
distintas empresas y discutidos sobre una amplia variedad de plataformas, son
pocos los intentos realizados para integrar estos conceptos en una sola teoría
unificadora con un ámbito de aplicación amplio.
111
Este capítulo aborda un primer paso en esta dirección, el diseño de sistemas,
respondiendo a la pregunta de cómo pueden modelarse los procesos de negocio
basados en workflow – independientemente de las herramientas que la empresa
decida utilizar para administrarlos. Los instrumentos expuestos han sido
extraídos de UML. De todos los diagramas utilizados como parte de la notación
gráfica sugerida por este estándar, los de actividad y estado son los que
justifican su adopción, como se demostrará más adelante.
El tema de Cliente/Servidor cobra importancia al momento de la implantación.
Las siguientes consideraciones han sido incluidas en este capítulo para que el
diseñador comprenda el ámbito de su labor y evite invertir esfuerzos en la
creación de especificaciones que existen fuera del alcance de la solución,
aunque constituyen elementos de apoyo fundamentales.
El modelo se basa en la diferenciación y distribución de las funciones de un
sistema en capas, tal como se muestra en la siguiente figura:
112
Figura 4.1 Arquitectura Cliente/Servidor de tres capas.29
En la capa inferior, llamada de persistencia, se encuentran ubicados todos los
datos que necesita la aplicación. En la segunda capa, se encuentra la lógica de
las aplicaciones de negocio, adoptando la forma de Objetos de Negocio (BO,
Business Objects). Es en esta capa que se implantarán las especificaciones de
diseño, a manera de Objetos de Proceso (PO, Process Objects), responsables
de describir los elementos que constituyen los flujos de trabajo (ver Figura 4.2).
El sistema de administración de workflow contiene dichos objetos y define la
secuencia de las actividades sobre los Objetos del Negocio.
29 “Business Objects, Workflow und die UML”, OBJEKTSpectrum, Número 3, 1999, SIGS-DATACOM Alemania.
113
Figura 4.2 Arquitectura sugerida para un sistema basado en workflow
Las herramientas requeridas en esta fase suelen ser aplicaciones de modelado.
Se consideran necesarias para las soluciones de gran escala, pues las
metodologías actuales de diseño, tales como UML, son lo suficientemente
complejas como para exigir los ingenieros de sistemas que se elaboren los
diagramas en forma manual. Muchas de estas herramientas tienen la capacidad
de exportar el diseño a código de implantación, lo que ayudaría a reducir
significativamente el esfuerzo en las siguientes actividades del ciclo de
desarrollo30.
Para completar esta fase se suelen requerir entre cuatro y diez semanas,
dependiendo de la experiencia del equipo de trabajo, las herramientas de
modelado disponibles y el alcance de la aplicación.
30 Estas herramientas suelen considerarse dentro de la categoría de aplicaciones CASE y, por lo general, su costo tiende a ser excesivamente alto. Un rango de precios común suele ser entre los US$10,000.00 y US$75,000.00, dependiendo si generan modelos propietarios o estándares, siendo estas ultimas las más caras.
Aplicaciones
Objetos de
ProcesoObjetos de
Negocio
Persistencia
Aplicaciones
Objetos de
ProcesoObjetos de
Negocio
Persistencia
114
Normalmente, en esta actividad participan los analistas de negocios, brindando
descripciones para los componentes del flujo y validando la secuencia de las
actividades en los diagramas, y los analistas de sistemas (ingenieros de
desarrollo o programadores), cuyo rol será garantizar que el modelo generado
cumpla con los requerimientos establecidos por el estándar utilizado.
4.2 Metodología
La metodología de análisis propuesta en este trabajo puede representarse con
ayuda del siguiente diagrama:
Figura 4.3 Fases para la conducción del diseño
Cada una de las actividades listadas para las distintas fases demandan
conocimiento de UML y experiencia en su aplicación. El contenido se enfoca en
el uso del lenguaje para resolver situaciones de workflow y no en la
diagramación completa de los procesos.
A efecto de facilitar la lectura de los conceptos presentados, la metodología,
instrumentos y ejemplos han sido incluidos en una sola sección, siguiendo el
Modeladodel flujo detrabajo- Identificaciónde patrones
- Diagramación deactividades
Modeladode los roles- Diagramación de“swimlanes”
Modeladode las salidasreutilizables- Diagramaciónde estados
- Diagramaciónde transiciones
Modeladode losprocedimientos- Diagramación desecuencias
Modeladodel flujo detrabajo- Identificaciónde patrones
- Diagramación deactividades
Modeladode los roles- Diagramación de“swimlanes”
Modeladode las salidasreutilizables- Diagramaciónde estados
- Diagramaciónde transiciones
Modeladode losprocedimientos- Diagramación desecuencias
115
orden indicado. Estos últimos están estructurados en modelos pequeños, con
alcance limitado, generalmente orientados a la solución que se desea explicar,
debido a que resulta difícil forzar un caso de estudio que contenga todas las
posibles variantes.
Al igual que en el análisis, el control de calidad se expone en una sección
independiente, aunque no se considera una fase de la metodología, sino una
actividad inherente a todas.
4.2.1 Modelado del flujo de trabajo
Actualmente, no existe un lenguaje grafico estándar para modelar workflow.
Recientemente los diagramas de actividad UML han surgido como un estándar
de-facto para el modelado de los flujos de trabajo. Su objetivo es representar qué
participante realiza cuál actividad y en qué momento.
Esta sección busca justificar el uso de los diagramas de actividad para
representar un sistema de workflow, comprobando sistemáticamente la
capacidad de estos para modelar un conjunto de patrones de workflow31,
definidos como “formas abstractas de situaciones recurrentes relacionadas con
31 La aplicación de esta noción en el ámbito de workflow fue presentada por primera vez por W. M. P. van der Aalst en la “Quinta Conferencia Internacional sobre Sistemas de Información Cooperativos”, en Eilat, Israel, el mes de septiembre de 2000 y analizada en marzo de 2001 por el BETA Research Institute. Consultar http://tmitwww.tm.tue.nl/research/patterns. Entre los evaluadores de estos patrones se encuentra prestigiosas casas de software o consultoria, tales como: COSA, FLOWer, Domino Workflow, Eastman, Visual Workflow, Forte Conductor, Meteor, Mobile, MQSeries/Workflow, Staffware, Verve Workflow, I-Flow, InConcert, Changengine y SAP R/3 Workflow.
116
el orden de las actividades en un flujo de trabajo y las interacciones entre ellas”.
De acuerdo con la funcionalidad que soportan, estos pueden clasificarse en:
Patrones de sincronización.
Patrones basados en estado.
Patrones productor-consumidor.
El contenido de las siguientes secciones ha sido estructurado de la siguiente
forma:
Descripción del patrón.
Caso en que podría utilizarse.
Soporte disponible en los WFMS.
Diagrama de actividad.
Ejemplo.
Para el último punto se recurre al modelo de investigación de solicitudes utilizado
en el capítulo anterior (ver Sección 3.5: “Caso práctico: Modelado avanzado”).
Las actividades de interés se adaptan de acuerdo con el tema a tratar y el
resultado se presenta en una tabla con los siguientes apartados:
117
Modificaciones necesarias para aplicar el patrón.
Modelo UML asociado.
4.2.1.1 Patrones de sincronización
Corresponden a situaciones en las cuales una o varias actividades simultáneas
necesitan ser completadas antes que otra actividad sea iniciada. Se consideran
dentro de esta categoría los siguientes casos:
Discriminador.
Unión N-de-M.
Múltiples instancias de una actividad.
4.2.1.1.1 Discriminador
Es un punto dentro de un workflow compuesto por múltiples hilos de ejecución,
en el que se espera a que uno termine antes de activar la siguiente actividad del
flujo. Cuando los restantes finalizan son “ignorados”, pero no se aceptarán
nuevas ejecuciones hasta que la última rama entrante termine.
Un ejemplo podría ser una consulta compleja que es enviada a dos diferentes
bases de datos a través de Internet (ver Figura 4.4). Tan pronto como una
118
entrega el resultado la ejecución del flujo continua. El segundo resultado es
ignorado.
Figura 4.4: Consulta por internet utilizando un patrón discriminador32.
En la mayoría de los WFMS, el discriminador no puede ser modelado a nivel
conceptual33. Una excepción notable es Verve34, que ofrece un constructo35
específico para este patrón. En el workflow de SAP R/336 es posible indicar
cuántas de las ramas iniciadas por una bifurcación deben ser esperadas por una
unión. A diferencia de la especificación anterior, el producto marca las ramas
como “lógicamente borradas”, una vez que la primera ha terminado. Para el caso
de Lotus Workflow cuando el hilo de control primario finaliza, el resto queda
suspendido; es decir, no disponibles para los usuarios aunque presentes en
memoria.
32 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002. 33 W.M.P. Van Der Aalst, A.H.M ter Hofstede, B. Kiepuszewski, and A. Barros. Workflow patterns. Technical Report WP 47, BETA Research Institute, 2000. Accessed March 2001 from http://tmitwww.tm.tue.nl/research/patterns. 34 ver sitio http//www.verve.com ó http://www.versata.com. 35 Elemento sintáctico para la creación de modelos. 36 ver sitio http://www.sap.com
InternetInternetBase de datos
Consulta consulta
ResultadoResultado
Base de datos
InternetInternetBase de datos
Consulta consulta
ResultadoResultado
Base de datos
119
En UML el discriminador se representa como un conjunto de regiones de una
actividad, las cuales se comunican a través de señales y que contienen los hilos
de ejecución entrantes y saliente. Cuando la actividad se inicia, las regiones
correspondientes a las ramas entrantes del discriminador son ejecutadas
simultáneamente, mientras que la región correspondiente a la rama de salida se
encuentra en estado de espera. Cuando una de estas termina, se produce una
señal (e) que permite a la rama saliente continuar con su ejecución (Ver Figura
4.5).
Figura 4.5: Diagrama de actividad para representar un discriminador.37
La representación anterior no corresponde completamente con la definición del
discriminador. Considere, por ejemplo, la situación descrita en la Figura 4.6. El
modelo obliga a una sincronización no deseada entre las actividades B, C y D;
específicamente, si B finaliza antes que C, D es iniciada. Ahora, si D finaliza
antes que C y la condición guarda ([cond]) se cumple, la actividad A no puede
37 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
120
ejecutar inmediatamente, ya que debe esperar a que termine la actividad C.
Esta restricción no es impuesta por la semántica del discriminador.
Figura 4.6: Patrón discriminador como parte de un ciclo.38
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
Para redactar la respuesta al cliente basta con tener los resultados de una de
las investigaciones.
Ambas investigaciones tienen la misma validez para la empresa.
38 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
Discriminador
(a) Descripción Informal (b) Expresado como un diagrama de actividad de UML
Discriminador
(a) Descripción Informal (b) Expresado como un diagrama de actividad de UML
121
Modelo UML asociado
Figura 4.7: Utilización del discriminador para representar la creación de una respuesta que depende de un solo informe.
4.2.1.1.2 Uniones N-de-M
También es conocida con el nombre de Unión Parcial39. Este tipo de situación en
un workflow sucede cuando M ramas en paralelo deben converger en una sola.
La rama saliente debe iniciar una vez que N ramas entrantes hayan terminado.
La terminación de las restantes debe ser ignorada. El discriminador puede
considerarse una unión del tipo 1 de N.
39 F. Casati, S. Ceri, B. Pernici, and G. Pozzi. Conceptual modeling of workflows. In Proc. of the 14th International Object-Oriented and Entity-Relationship Modelling Conference (OOER'95), pages 341-354. Springer Verlag, December 1995.
Solicitud de cliente
Investigación de Mercadeo
Investigación de Desarrollo
Informe de Mercadeo
Informe de Mercadeo
/enviar informe
/enviar informe
Esperar investigación Crear respuestainforme
Respuesta
122
Un ejemplo de unión parcial es cuando un documento tiene que ser enviado a
tres revisores externos. Una vez que se hayan recibido dos revisiones, el
documento puede ser procesado. La tercer revisión puede ignorarse (Ver Figura
4.8).
Figura 4.8 Documento con revisores externos – Patrón uniones N-de-M.40
Los WFMS comerciales lo tratan de manera similar al discriminador, excepto que
se introduce un contador que permite dar seguimiento al número de señales
enviadas por las ramas entrantes.
40 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
reviewer Areviewer Areviewer Areviewer A reviewer Breviewer Breviewer Breviewer B reviewer Creviewer Creviewer Creviewer C
paperpaperpaperpaper
reviewer Areviewer Areviewer Areviewer A reviewer Breviewer Breviewer Breviewer B reviewer Creviewer Creviewer Creviewer C
paperpaperpaperpaper
reviewer Areviewer Areviewer Areviewer A reviewer Breviewer Breviewer Breviewer B reviewer Creviewer Creviewer Creviewer C
paperpaperpaperpaper
Documento
Revisor A
Revisor B
Revisor C
123
Bajo el esquema de la Figura 4.9, la rama de salida es iniciada cuando llega la
señal de terminación N - 1. Cuando la unión N-de-M es parte de un ciclo, la
solución de los diagramas de actividad se encuentra con la misma limitante que
el patrón del discriminador.
Figura 4.9: Diagrama de actividad para representar un patrón uniones N-de-M.41
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
El número de investigaciones a realizar tiene que ser mayor que dos.
La respuesta requiere de los resultados de dos investigaciones.
Modelo UML asociado
41 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
124
Figura 4.10: Utilización del N-de-M para representar la creación de una respuesta que
depende de dos de las tres investigaciones posibles.
4.2.1.1.3 Múltiples instancias de una actividad
Es un punto en un workflow donde una actividad A se activa varias veces, de
manera simultánea, y es necesario que todas hayan finalizado para poder
continuar con la actividad B. El número de instancias que necesitan ejecutarse
se conoce cuando se llega a dicha actividad.
Este puede ser el caso de una requisición de N artículos hacia M ubicaciones
distintas y la cual podrá cerrarse hasta que todos las entregas hayan sido
cumplidas (ver Figura 4.11). Muchos WFMS no dan soporte a este concepto.
Solicitud de cliente
Investigación Mercadeo
Informe de Mercadeo
/enviar informe
Esperar investigación Crear respuestainforme
[i < (N - 1)]
Respuesta
Investigación Ventas
Informe de Ventas
/enviar informe
N := 2i := 0
informe[i < (N - 1)]/i := i + 1
Investigación Desarrollo
Informe de Desarrollo
/enviar informe
125
Figura 4.11 Requisición de Computadoras – Patrón “múltiples instancias de una actividad”.42
Dentro de un diagrama de actividad, es posible indicar que múltiples
invocaciones de una actividad se ejecutarán simultáneamente; característica
conocida con el nombre de invocación dinámica. La multiplicidad dinámica de un
estado es el máximo número permitido de invocaciones y se indica con un
numeral en la esquina superior derecha de la tarea (representando con un
asterisco la ausencia de limites). Este estado se abandonará cuando todas las
invocaciones asociadas sean completadas. Si una de estas es abortada por un
evento externo, todas las invocaciones se abortaran también. La diagramación
de una invocación dinámica se representa en siguiente figura:
42 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
…
100 solicitantes
…
EnvEnvEnvEnvíos concurrentesos concurrentesos concurrentesos concurrentes
…
100 solicitantes
…
EnvEnvEnvEnvíos concurrentesos concurrentesos concurrentesos concurrentes
…
100 solicitantes
…
EnvEnvEnvEnvíos concurrentesos concurrentesos concurrentesos concurrentes
126
Figura 4.12 Diagrama de actividad para representar una invocación dinámica.43
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
Un cliente puede presentar varias solicitudes en una transacción.
Las respuestas deben presentarse en un solo informe.
Modelo UML asociado
Figura 4.13: Utilización del discriminador para representar la creación de una respuesta que depende de un solo informe.
43 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
Solicitud deinvestigacióndel cliente
*Respuesta
127
4.2.1.2 Patrones basados en estado
Corresponden a situaciones en donde los recursos humanos o materiales no se
encuentran disponibles y las actividades pasan por estados de espera antes de
su procesamiento. Se consideran dentro de esta categoría los siguientes casos:
Selección diferida.
Encaminamiento paralelo alternado.
4.2.1.2.1 Selección diferida
Consiste en un punto del workflow donde una de muchas ramas es escogida
basándose en alguna información externa, la cual no necesariamente estará
disponible cuando este punto se alcance. Esto difiere de la selección normal, en
que no es hecha de manera explicita (basada en datos existentes), sino que
múltiples alternativas son presentadas al entorno y la selección de estas es
diferida o aplazada hasta que se recibe una señal externa.
Utilizando la terminología de los WFMS, esto significa que las actividades
alternativas son colocadas en listas de trabajo, pero tan pronto como una de
estas inicia su ejecución, las otras son descartadas.
128
Un ejemplo de esto podría ser la finalización de un contrato, el cual debe ser
firmado ya sea por el director o por el director adjunto y la secretaria, quienquiera
que se encuentre disponible primero, como se muestra en la siguiente figura:
Figura 4.14 Contrato con firmas de responsable disponible – Patrón Selección Diferida44.
En algunos WFMS la selección diferida es manejada al nivel de implantación
utilizando mensajes de cancelación, pero esta solución no funcionara siempre
debido a problemas de concurrencia.
44 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
contrato
OROROROR
directordirectordirectordirector secretarsecretarsecretarsecretariaiaiaia director adjuntodirector adjuntodirector adjuntodirector adjunto
Firmado Firmado
++++
contrato
OROROROR
directordirectordirectordirector secretarsecretarsecretarsecretariaiaiaia director adjuntodirector adjuntodirector adjuntodirector adjunto
Firmado Firmado
++++
129
Figura 4.15 Diagrama de actividad para representar la selección diferida.45
Utilizando diagramas de actividad, la selección diferida puede ser expresada
como un estado normal que espera la ocurrencia de un evento en el entorno y
selecciona una de las ramas salientes según el evento. Tal como se muestra en
la Figura 4.15.
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
Las solicitudes de investigación esperan en una bandeja de entrada.
Cada departamento decide qué solicitud investigar.
Las solicitudes que no necesitan investigación deben evaluarse en forma
manual.
45 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
130
Modelo UML asociado
Figura 4.16: Modelo para la decisión de investigaciones a realizar utilizando el patrón de selección diferida.
En la práctica esta selección podría estar asociada con un “menú de selección
del usuario”: (a) no conducir investigación, (b) conducir ambas investigaciones,
(c) conducir solamente una investigación de Mercadeo y (d) conducir solamente
una investigación de Desarrollo. La decisión dejaría de ser diferida si a partir de
los datos de la solicitud del cliente el sistema puede decidir de manera
automática la ruta a seguir en el diagrama de actividad.
Investigación de Desarrollo
investigación de Desarrollo
investigación de Mercadeo
Seleccionar investigación
Crear respuesta con información disponible
Investigación de Mercadeo
sin investigación
Analizar solicitud
131
4.2.1.2.2 Encaminamiento paralelo alternado
En este patrón un conjunto de actividades {A1, A2..., An} necesitan ejecutarse en
un orden arbitrario y cada una se ejecuta una sola vez. El orden a seguir es
decidido en tiempo de ejecución; hasta que una actividad es completada se toma
la decisión sobre cual se ejecutará a continuación. En cualquier caso, no
existirán dos ejecuciones simultáneas.
Lo anterior podría aplicar al caso de una empresa en la que un candidato para
un puesto de trabajo necesita realizar tres pruebas: una óptica, una medica y una
mental. Estas pueden realizarse en cualquier orden aunque, por razones obvias,
no al mismo tiempo. Cuando se termina una prueba, la decisión sobre cuál
realizar a continuación se toma en base a la disponibilidad de los médicos.
Muchos WFMS pueden soportar este patrón a nivel conceptual. A nivel de
implantación, puede ser programado introduciendo un recurso compartido por
todas las actividades. Este recurso actúa como un semáforo, obligando la
serialización.
En UML el patrón puede ser expresado en términos de una selección diferida,
realizada entre n ramas, de manera que la i-ésima inicie con la actividad Ai (1 < i
> n). En la rama que conduce a la actividad A1, otra selección diferida es
realizada (después de que A1 ha sido ejecutada) entre n -1 ramas, iniciando con
132
A2...,An. Este proceso de selecciones diferidas anidadas es recursivamente
repetido hasta que todas las permutaciones de A1...,An sean completadas.
Una mejor opción es obligar la alternabilidad de las actividades, colocando cada
una de ellas en una región concurrente independiente y bloqueando su ejecución
a través de estados de sincronización que emanan de una sola “región de
bloqueo”, generalmente la de más a la izquierda. Una estafeta es insertada en el
estado de sincronización para bloquear una actividad Ai hasta que se presente el
evento que habilita la ejecución de la misma. Cuando Ai inicia su ejecución, la
región de bloqueo entra en un estado que difiere las ocurrencias de eventos que
pueden desbloquear la ejecución de las otras actividades. Por ejemplo, en la
Figura 4.17, los eventos s1, s2 y s3 son utilizados para indicar que las
actividades A1, A2 y A3 pueden ser ejecutadas, respectivamente. Si uno de esos
eventos ocurre mientras una de las actividades está en ejecución, el
procesamiento de esta ocurrencia es diferido hasta que la ejecución de la
actividad disparada ha completado.
133
Figura 4.17: Patrón encaminamiento paralelo alternado.46
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
La solicitud del cliente se relaciona con un artículo que debe pasar por
distintas pruebas en varios laboratorios.
Todas las pruebas deben ser aplicadas al artículo antes de poder dar una
respuesta al cliente.
46 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
134
Modelo UML asociado
Figura 4.18: Utilización del encaminamiento paralelo alternado para representar de una respuesta
4.2.1.3 Patrones productor-consumidor
Son propios de los sistemas distribuidos y corresponden a situaciones donde
múltiples instancias de una actividad A (el productor) son ejecutadas
secuencialmente y la terminación de cada una de estas instancias desencadena
la ejecución de una instancia de otra actividad B (el consumidor). A y B se
ejecutan simultáneamente, aunque existe una interdependencia entre ellas (B es
ocasionada por A). Se consideran dentro de esta categoría los siguientes casos:
Productor-consumidor con actividad de terminación
PruebaLaboratorio 1
/enviar informe
Esperar solicitudde prueba
s1/diferirs2/diferir
PruebaLaboratorio 2
/enviar informe
i := 3
informe[i >1]/i := i - 1
s1
s2
informe[i = 1]
135
Productor-consumidor con cola saturada
4.2.1.3.1 Productor-consumidor con actividad de terminación
Involucra tres actividades (A, B y C) y el proceso inicia con la ejecución de una
instancia de A. Cuando esta termina, una de B es habilitada. Simultáneamente,
una segunda de A puede ser iniciada, para activar otra instancia de B cuando
haya terminado. El proceso continúa, de manera que en cualquier punto del
tiempo las siguientes condiciones se mantienen:
Al menos una instancia de A estará corriendo.
La ejecución de la i-ésima de B no iniciará antes de que la i-ésima instancia de
A haya finalizado.
Cuando todas las instancias de A hayan finalizado, el sistema continuará
ejecutando instancias de B hasta que el número de las ejecuciones finalizadas
de B sea igual a las de A, momento en que se ejecuta la instancia de C.
Un ejemplo es la compra en una sucursal virtual (ver Figura 4.19). Cada vez que
el cliente ordena un artículo, el sistema debe contactar al proveedor adecuado
para verificar la disponibilidad del artículo y el tiempo estimado de entrega. Una
vez que el cliente establece que no desea ningún otro artículo, y que las
136
disponibilidades han sido verificadas, se envía un correo con la lista de todos los
productos disponibles y su tiempo de entrega.
Figura 4.19: Compra en una sucursal virtual – Patrón productor-consumidor.47
Suele estar disponible en aquellos WFMS que dan soporte a "múltiples
instancias con sincronización". Sin embargo, es posible limitar la descripción de
este patrón a un caso donde a lo sumo una instancia de B estará ejecutándose a
la vez, para poder diagramarlo en términos de discriminador, ciclos y contadores.
De hecho, este es el enfoque que se adopta para poder representar el patrón
con UML.
En el diagrama de actividad (ver Figura 4.20), las instancias de la actividad A y B
corren en dos regiones concurrentes de otra actividad compuesta. Cada vez que
47 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
V1 V2 V3 V4
< Correo electrónico >
customercustomercustomercustomer
OrdeOrdeOrdeOrden de n de n de n de V3V3V3V3’artartartartículosculosculosculos
comprobar disponibilidad de artcomprobar disponibilidad de artcomprobar disponibilidad de artcomprobar disponibilidad de artículoculoculoculoplazo de entrega esperadoplazo de entrega esperadoplazo de entrega esperadoplazo de entrega esperado
No desea otro artNo desea otro artNo desea otro artNo desea otro artículoculoculoculo
Lista de productos disponiblesLista de productos disponiblesLista de productos disponiblesLista de productos disponiblesTiempo de entrega de productosTiempo de entrega de productosTiempo de entrega de productosTiempo de entrega de productos
V1 V2 V3 V4
< Correo electrónico >
customercustomercustomercustomer
OrdeOrdeOrdeOrden de n de n de n de V3V3V3V3’artartartartículosculosculosculos
comprobar disponibilidad de artcomprobar disponibilidad de artcomprobar disponibilidad de artcomprobar disponibilidad de artículoculoculoculoplazo de entrega esperadoplazo de entrega esperadoplazo de entrega esperadoplazo de entrega esperado
No desea otro artNo desea otro artNo desea otro artNo desea otro artículoculoculoculo
Lista de productos disponiblesLista de productos disponiblesLista de productos disponiblesLista de productos disponiblesTiempo de entrega de productosTiempo de entrega de productosTiempo de entrega de productosTiempo de entrega de productos
137
una instancia de A es completada, esta establece una estafeta en estado de
sincronización e incrementa un contador i. Cada una de las estafetas generadas
por la terminación de una instancia de A activan una transición que conlleva la
ejecución de una instancia de la actividad B. Cuando una instancia de la
actividad B ha terminado, una segunda estafeta es colocada en estado de
sincronización. Una vez que todas las instancias de A han finalizado, las
estafetas de este segundo estado de sincronización son “consumidas” una tras
otra, decrementando el contador i. Cuando el valor del contador llega a cero,
significa que B fue ejecutada tantas veces como A. El estado compuesto es
abandonado y C es ejecutada una sola vez.
Figura 4.20: Diagrama de actividad para representar un patrón productor-consumidor con
actividad de terminación.48
48 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
138
Esta solución ha sido diseñada de manera que en cualquier punto del tiempo, a
lo sumo una instancia de B estará corriendo.
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
El cliente puede presentar múltiples solicitudes.
Las solicitudes pueden ocurrir en cualquier momento.
No es necesario que una investigación haya terminado para iniciar con otra.
Hasta que se hayan procesado todas las solicitudes e investigaciones se
creará una respuesta.
139
Modelo UML asociado
Figura 4.21: Modelo para el procesamiento de solicitudes utilizando el patrón productor-consumidor con actividad de terminación.
4.2.1.3.2 Productor-consumidor con cola saturada
Es similar al anterior, excepto que en cualquier momento, la diferencia entre el
número ejecuciones de la actividad A y B es limitada por un número entero
llamado tamaño de la cola.
Crear solicitud
Investigarsolicitud
Esperar solicitud
Esperar informe
Crearrespuesta
140
Un ejemplo es la obtención de una tarjeta de identificación de estudiante en una
universidad (Ver figura 4.22), en la cual el solicitante debe llenar un formulario y
presentarlo a un supervisor para su verificación. Una vez que este ha sido
revisado, la solicitud es enviada al área de fotografía. Sin embargo, la cola que
conduce desde el mostrador del supervisor hasta el área de fotografía no puede
contener más de cinco personas. Si llegara a este nivel, se dejarían de recibir
solicitudes hasta que una de las personas sea atendida por el área de fotografía.
Figura 4.22: Obtención de identificación de estudiante – Patrón productor-consumidor con cola
saturada.49
El diagrama de actividad debe modificarse de manera que se lleve control sobre
dos contadores (ver Figura 4.23): uno para las ejecuciones de A y otro para las
de B. Cada vez que la actividad A es finalizada, si la variable booleana "más” es
verdadera, un estado de espera es iniciado, el cual podrá ser abandonado
solamente cuando “contador de A – Contador de B < tamaño de la cola”.
49 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
5 5 5 5 sillassillassillassillas
aplicanteaplicanteaplicanteaplicante
fotfotfotfotógrafografografografo
Staff de oficinaStaff de oficinaStaff de oficinaStaff de oficina
5 5 5 5 sillassillassillassillas
aplicanteaplicanteaplicanteaplicante
fotfotfotfotógrafografografografo
Staff de oficinaStaff de oficinaStaff de oficinaStaff de oficina
141
Figura 4.23: Diagrama de actividad para representar un patrón productor-consumidor con cola saturada.50
A continuación se muestra la manera en que el patrón podría aplicarse al
ejemplo de investigación de solicitudes del capítulo anterior:
Modificaciones necesarias para aplicar el patrón
Por la naturaleza del servicio ofrecido en el caso de estudio, no es posible
implantar este modelo en un entorno de producción real, pues esto implicaría
que:
La empresa no asume la responsabilidad de dar soporte a sus clientes
cuando existen más de cinco solicitudes en cola.
50 UML Activity Diagrams as a Workflow Specification Language, Marlon Dumas and Arthur H.M., University of Tecnology, Australia. 2002.
142
4.2.2 Modelado de los roles
Una vez terminada la modelación del flujo de trabajo podemos convertirlo a un
Swimlane, propuesto por UML para indicar el responsable de ejecutar las
actividades. Este diagrama es mostrado como un conjunto de regiones
separadas de las vecinas por líneas verticales sólidas y etiquetas en la parte
superior con los nombres de los roles, tal como se muestra a continuación:
Figura 4.24: Diagrama de actividad swimlane.51
No existe una regla que obligue a utilizar el nombre del rol, pues siendo un
diagrama UML su semántica es independiente de cualquier implantación. Si
observamos “Cliente”, “Ventas” y “Bodega” son actores, siendo el primero una
persona y los otros dos unidades organizativas.
51 http://etna.int-evry.fr/COURS/UML/notation/notation10.html.
Cliente Ventas Bodega
Solicitudes
Pago
Tomar orden
Llenar orden
Entregar orden
Reunir Orden
143
4.2.3 Modelado de las salidas reutilizables
Aunque el flujo de trabajo puede modelarse estrictamente en términos de un
diagrama de actividad, no es posible representar los estados por los que pasa
(evoluciona) la información. Esto se debe a que los diagramas de actividad
resaltan lo que se hace dentro del proceso.
Para modelar los procesos como un conjunto de estados por donde pasa la
información sobre la cual se trabaja en las distintas actividades, resaltando sobre
que se trabaja dentro del proceso, es necesario recurrir a dos instrumentos
adicionales:
Diagrama de estados.
Diagrama de transiciones.
4.2.3.1 Diagramación de los estados
Describen la evolución que sufre la información a lo largo de un flujo de trabajo.
Se preocupan por representar el ciclo de vida de un elemento, en el cual este es
creado, conoce, hace y comunica algo a otros elementos, atiende solicitudes y
es destruido. Se entenderá como estado una condición o situación específica de
un elemento.
144
En workflow cuando se habla de documento se hace referencia a cualquier
conjunto de datos en una instancia de un proceso, agrupados con independencia
de su estructura de almacenamiento o de la forma de acceso a ellos. Si
tomamos como ejemplo las fases por las que pasa una orden de venta, el
diagrama de estado resultante sería:
Figura 4.25: Procesamiento de una orden de venta.52
No es posible hacer una correspondencia directa entre los diagramas de estado
y los diagramas de actividad, aunque existen elementos que puedan
relacionarse.
52 UML A Beginner’s Guide, Jason T. Roff, primera edición 2003, Mc Graw Hill, USA.
Vacía Validada
En ProcesoCancelada
Procesada
Pago exitoso
Pago presentado
Método de pago
falló
Ítem agregado
Cancelada
Procesada
Pago exitoso
Pago presentado
Método de pago
falló
Ítem agregado
Debitada aInventario
145
4.2.3.2 Diagramación de las transiciones
Una dificultad adicional que es relacionar las salidas reutilizables con las
actividades que las generan y las consumen. UML proporciona dos mecanismos
para representar las transiciones:
Flujo de control
Flujo de objetos
El primero es el utilizado por los diagramas de actividad, para indicar el sentido
del avance, utilizando líneas sólidas del origen al destino. Son conocidas con los
nombres de transiciones por omisión o transiciones automáticas, por no estar
etiquetadas y dispararse tan pronto como el estado de acción origen termina su
procesamiento.
El segundo tipo se utiliza para indicar los objetos que entran o salen de los
estados de acción. Es representado con flechas punteadas que van del origen al
objeto que conforma el flujo y de este objeto al estado de acción destino (ver
Figura 4.26). Si una transición de flujo de objeto indica el orden de los estados de
acción, la transición de flujo de control puede omitirse.
146
Como podemos ver, una transición de flujo de objeto puede utilizarse para
modelar “salidas reutilizables”, lo que facilita representar un concepto del dominio
del problema en el dominio de la solución.
Figura 4.26: Transición de flujo de objeto.53
Aplicando los aspectos de diseño expuestos y retomando el modelo de proceso
para atención de ordenes de venta utilizado en el capítulo anterior para exponer
la metodología de análisis, el diagrama de actividad del proceso sería:
53 Learning UML, Communicating Software Design Graphically, Sinan Si Alhir, O’Reilly, primera edición, julio 2003.
Ingresar solicitud de materiales
Autorizar solicitud de materiales
Crear orden de compra
Solicitud de materiales
Solicitud de materiales autorizada
Ingresar solicitud de materiales
Autorizar solicitud de materiales
Crear orden de compra
Solicitud de materiales
Solicitud de materiales autorizada
147
Figura 4.27: Diagrama de actividad para el procesamiento de una orden de venta.
Orden
Procesar orden de cliente
Orden de venta
Procesar orden de empresa Digitar orden del cliente
[Orden telefónica]
[Orden B2C]
[Orden B2B]
Obtener información del crédito (subproceso)
Rechazar orden de venta
Emitir orden de trabajo
Orden de venta
Revisar crédito(subproceso)
Orden de venta
Orden de trabajo
Notificación de rechazo
[Crédito aprobado]
[Crédito rechazado]
[Línea de crédito no existe]
[Línea de crédito existe]
Revisar disponibilidad de crédito
Orden de venta
148
El ejemplo anterior muestra únicamente patrones simples de workflow. Las
decisiones (representadas con ayuda de rombos) son elementos de modelado
opcionales que añaden legibilidad al diagrama; UML soporta las bifurcaciones
con opción sin necesidad de “decisiones”, ya que son las guardas
(representadas entre corchetes) las que determinan el flujo a seguir.
Durante la exposición de la metodología de análisis se abordó el estudio de un
proceso en el cual un cliente presenta un reclamo respecto a un producto que ha
comprado y que genera un proceso de investigación en la empresa para dar
respuesta al cliente, este proceso permite utilizar el concepto de sincronización
en el modelado, tal como se muestra en la Figura 4.28.
149
Figura 4.28: Diagrama de secuencia para la tramitación de un reclamo de cliente.
Reclamo
Crear solicitud
Solicitud de cliente
Investigación de Desarrollo
Informe de Dearrollo
[Investigación de Desarrollo]
[Investigación de Mercadeo]
Analizar solicitud
Solicitud de cliente
Crear respuesta con información disponible
Investigación de Mercadeo
[Investigación no necesaria]
Informe de Mercadeo
Consolidar investigaciones
Investigación
Respuesta
Revisar respuesta
Respuesta
Crear respuesta con resultados de investigación
Solicitud de cliente Respuesta
150
En el caso anterior, el paralelismo puede o no presentarse, dependiendo del
resultado del estado de la actividad “Analizar solicitud”. Si las reglas del negocio
exigieran la conducción de ambas investigaciones, la siguiente modificación seria
necesaria:
Figura 4.29: Diagrama de secuencia parcial para representar investigaciones simultaneas.
Investigación de Desarrollo
Informe de Dearrollo
[Investigación necesaria]
Investigación de Mercadeo
Informe de Mercadeo
Consolidar investigaciones
Solicitud de cliente
151
4.2.4 Modelado de los procedimientos
Con los diagramas anteriores se ha logrado representar la funcionalidad del
negocio. Sin embargo, ninguno ha brindado información suficiente a los
programadores respecto a las micro actividades que es necesario implantar para
que el sistema desarrollado se comporte de acuerdo a lo esperado por los
usuarios. Por ejemplo, no es posible deducir en qué momento realizar la
autenticación, autorización, verificación, codificación, almacenamiento, creación
de estructuras temporales, actualización de bitácoras o procedimientos similares.
Para modelar las interacciones entre los objetos y actores de un sistema es
recomendable utilizar los diagramas de secuencia: “podría argumentarse que
cualquier diagrama de secuencia podría ser modelado como un diagrama de
actividad y viceversa. Sin embargo, dependiendo del modelo, podría encontrarse
una técnica de diagramación más adecuada que la otra. Mientras que los dos
diagramas aparentan brindar la misma información, la forma de expresarla es
completamente diferente. Un diagrama de secuencia se enfoca más en los
objetos y actores involucrados en un sistema y como estos interactúan entre sí.
Un diagrama de actividad, por otro lado, se enfoca en la funcionalidad y los
pasos de una actividad a otra” 54.
54 UML A Beginner’s Guide, Jason T. Roff, , Mc Graw Hill USA, primera edición 2003.
152
Para demostrar la utilidad de los diagramas de secuencia en el diseño de un
workflow, puede tomarse en cuenta el procedimiento detallado para la creación
de una orden de venta, presentado en el capítulo anterior (ver Sección 3.4:
“Caso práctico: Modelado básico”):
Obtener los datos generales del cliente. El sistema exige que toda orden de
venta se pueda asociar con un cliente. Si el cliente no existe, este deberá poder
registrarse durante la toma del pedido (ver Figura 4.30).
153
Figura 4.30: Diagrama de secuencia para la obtención de los datos generales de un cliente.
Obtener el pedido del cliente. El vendedor debe registrar cada uno de los
artículos que el cliente desea adquirir, introducir la cantidad, registrar los precios
unitario, estimar el total y calcular los impuestos (ver Figura 4.32).
Devolver datos de cliente
Vendedor
Interfaz manual
Digitar código de cliente
[orden telefónica]
Catálogo de clientes
Buscar cliente
[clienteexiste]
Inicializarorden deventa condatos declientedevueltos
Solicitar datos al cliente
Devolver código de nuevo cliente
Registrar cliente
Inicializarorden deventa condatos declientedevueltos
154
Figura 4.31: Diagrama de secuencia para la obtención de los datos de pedido de un cliente.
Los mensajes que están condicionados a espacios de tiempo (por ejemplo,
escalar una solicitud de crédito a un Gerente después de tres días de no haber
sido atendida por el analista de créditos) se representan entre llaves, junto a
cada mensaje a la izquierda de la línea de vida o a través de una flecha vertical
descendente desde la primera hasta la ultima actividad de un grupo que debe
Cargar losdatos delartículo enla orden de venta
Devolver datos de artículo
Vendedor
Interfaz manual
Digitar código de artículo
Inventario
Buscar artículo
[artículo sinexistencias]Solicitar datos al cliente
«crear»
Notificar al usuario
Cuadro de Mensajes
Buscar artículossustitutos conexistencias
Devolver artículos
Mostrar artículos sustitutos
Seleccionar artículo sustituto
X«destruir»
Cargar losdatos delartículo sustituto en la orden de venta
* [mientras más artículos pedidos]Totalizar la orden de venta
Ordenes
Guardar la orden de venta
155
ejecutarse en un tiempo no mayor al especificado. Combinando las restricciones
con las iteraciones es posible modelar un procedimiento de notificación
periódico, hasta cierto límite de tiempo. La iteración se terminará tan pronto como
se presente una condición (en nuestro caso, revisar la solicitud de crédito) o
cuando caduque el tiempo estipulado.
4.3 Pruebas de calidad
Se propone clasificar las pruebas de diseño en dos grandes grupos:
Pertinentes a la metodología de modelado. Tal y como se explicó para el
control de calidad del análisis, estas pruebas podrían entenderse como
validaciones sintácticas. Para el caso de este trabajo, deberían estar orientadas
a verificar la aplicación correcta de la metodología propuesta por la OMG para
UML. El responsable de este control debería ser un diseñador distinto del que
elaboró el modelo.
Pertinentes al proceso modelado. En este caso buscaremos garantizar que
las especificaciones del dominio del problema han sido representadas en el
dominio de la solución, de manera completa. Se proponen dos tareas para
validar que las especificaciones de diseño correspondan con los requerimientos
del usuario:
156
Construir una tabla cruzada. En las filas deben listarse las especificaciones de
análisis y en las de diseño. Las intersecciones indicarán qué característica(s) de
diseño corresponde(n) a qué característica(s) de análisis.
Un déficit de especificaciones de diseño seguramente no podrá
satisfacer la necesidad del usuario. Un superávit de especificaciones,
por otro lado, es arriesgado; si nadie puede dar una justificación real
de su inclusión, debe ser considerada como excedente. La reacción
del usuario ante dicho exceso de funcionalidad es impredecible, por
lo que es recomendable que se excluya.
Una vez validada la correspondencia de especificaciones, deberá analizarse la
“completitud” de la correspondencia; es decir, que la(s) especificación(es) de
diseño satisfagan totalmente lo indicado en las especificaciones de análisis.
4.4 Documentación
El resultado de la fase de diseño es un documento que será utilizado por los
responsables de la automatización del workflow para convertir el modelo de
especificaciones del proceso a uno de ejecución. Su contenido está basado en
diagramas.
La estructura sugerida se presenta en la siguiente tabla:
157
Documento: ESPECIFICACIONES DE AUTOMATIZACIÓN
El título del documento debe incluir el nombre del proceso para el cual se presentan los diagramas de especificaciones técnicas.
Capítulo 1: Modelado del flujo de trabajo
Sección 1.1: Diagramas de actividad
Muestra los pasos y puntos de decisión que suceden dentro de un proceso de negocio. Ayudan a entender cómo funcionará el workflow implantado.
Es necesario incluir los siguientes datos:
Elemento Especificaciones
Actividad Nombre
Descripción
Diagrama de secuencia asociado
Transición Eventos
Variables
Guardas
Responsable
Ingeniero de sistemas
Capítulo 2: Modelado de Roles
Sección 2.1: Diagramas de “swimlanes” Responsable
Estructura del diagrama de actividades que permite segregar sus componentes de acuerdo con los responsables de su ejecución.
Es necesario incluir los siguientes datos:
Elemento Especificaciones
Rol Nombre
Descripción
Actores potenciales
Ingeniero de sistemas
158
Capítulo 3: Diagramación de Salidas Reutilizables
Sección 3.1: Diagramas de Estado Responsable
Muestra la evolución que sigue un documento durante la ejecución del flujo de trabajo.
Es necesario incluir los siguientes datos:
Elemento Especificaciones
Estado Nombre
Descripción
Evento de transición
Ingeniero de sistemas
Sección 3.2: Diagramas de Transición Responsable
Modalidad de los diagramas de actividades que incorpora las transiciones de objetos para representar los insumos y productos de las actividades.
Es necesario incluir los siguientes datos:
Elemento Especificaciones
Transición de objeto
Nombre
Atributos
Actividad de origen
Actividad de destino
Ingeniero de sistemas
Capítulo 4: Diagramación de Procedimientos
Sección 4.1: Diagramación Secuencia Responsable
159
Especificación de los procedimientos utilizados por las actividades.
Es necesario incluir los siguientes datos:
Elemento Especificaciones
Mensaje Correlativo
Descripción
Estructura
Tipo
Actor/Objeto origen
Actor/Objeto destino
Ingeniero de sistemas
4.5 Lista de verificación para el diseñador
En la siguiente tabla se presenta una lista de actividades que puede servir como
referencia para la elaboración del plan de trabajo para el diseño del sistema. La
actividad inicial ha sido incluida para entrelazar esta fase con los resultados de la
previa:
Actividad: Presentación del análisis Instrumentos
Reunión de trabajo en la que los Analistas de Negocio exponen el proyecto y los Analistas de Sistemas exponen el documento de especificaciones elaborado.
Se recomienda la participación de:
Gerente de proyecto
Analistas de Negocio
Analistas de Sistemas
Ingenieros de Sistemas
Sesión de grupo
Herramientas
Aplicaciones de oficina
Modelador de procesos
Entregable
Integración del equipo de desarrollo
160
MODELADO DEL SISTEMA
Actividad: Creación de las especificaciones Instrumentos
Conversión de los modelos presentados por los analistas a modelos que puedan ser utilizados para la automatización de los flujos de trabajo. Los siguientes aspectos deben ser considerados:
Flujo de actividades
Roles
Salidas reutilizables
Procedimientos
Diagramas UML:
Actividad
Swimlane
Estado
Transición
Secuencia
Herramientas
Modelador UML
Entregable
Diagramas UML
Control de calidad
Funcionalidad
Completitud
4.6 Factores de éxito para el diseño
Entre los elementos que deben tomarse en cuenta para garantizar que el diseño
será realizado de manera adecuada se encuentran:
Capacitación del equipo de desarrollo. El personal responsable de esta fase
debe ser inducido de manera formal tanto a la tecnología workflow como a las
instrumentos de modelado proporcionados por UML.
161
Uso de herramientas de modelado. La extensión y complejidad de los
diagramas de diseño hacen que estos sean propensos a fallas. Es
recomendable que la validación sintáctica sea dejada a una aplicación
especializada. Adicionalmente, el entorno de trabajo permite simplificar la
construcción, extensión y modificación de modelos, reducir el tiempo requerido.
Considerar el entorno de automatización. Como se comentó durante la
exposición de la metodología, no todos los WfMS brindan soporte a la totalidad
de patrones que suelen presentarse en un workflow. El diseñador no puede
elaborar sus modelos al margen de las facilidades que brinde la herramienta de
implantación.
El primero se refiere al grupo de trabajo, debiendo ser personal altamente
técnico capaz de traducir las necesidades de negocio a soluciones de
información. Además de tener amplio conocimiento sobre la herramienta base
para la metodología, UML.
El segundo factor se refiere a las características del equipo y herramientas que
tengan como recurso los diseñadores, ya que de estos depende gran parte de la
calidad, preescisión y rapidez con que se entreguen resultados.
162
Por ultimo tenemos detalles que no son directamente manejados por el grupo,
pero marcan una diferencia en el que y como se hace el trabajo, ya que de estos
depende la calidad de datos que se están procesando.
163
5 Consideraciones y recomendaciones
5.1 Integración del equipo de análisis y diseño
Un proyecto de implantación de workflow debe estar integrado por participantes
que cumplan los siguientes roles:
Especialistas de negocio. Estas personas comprenden los procesos de la
organización y sus reglas, velan por el contenido de los documentos y
comprenden su valor para el negocio.
Especialista en colaboración. Están familiarizados con estándares y
protocolos de esta área. Su capacidad para comprender aspectos técnicos les
permite leer una abstracción de alto o de bajo nivel de un proceso de negocio.
Especialistas en tecnología. Suelen integrarse durante el diseño de las
aplicaciones, aunque no es raro que participen durante el análisis para evaluar la
factibilidad de algunas soluciones o para exponer aspectos técnicos que faciliten
la estructuración de las mismas. Cuentan con la capacidad para implantar un
proceso, ejecutarlo y monitorearlo.
164
Durante los capítulos anteriores se ha sugerido el nombramiento de Analistas de
Negocio, Analistas de Sistemas e Ingenieros de Sistemas, cumpliendo los roles
de especialistas de negocio, colaboración y tecnología, respectivamente. Sin
embargo, es posible que los puestos mencionados no existan de igual manera
en una empresa, por lo que la afinidad con los roles podría servir como un criterio
de selección para los miembros del equipo.
Es inevitable que durante el modelado de los sistemas existan brechas de
oportunidad para que se presenten inconsistencias entre lo requerido por el
usuario y lo entregado por los diseñadores al equipo de programación. El papel
de los especialistas en colaboración es fundamental durante todo el proceso,
pues son los únicos que conocen tanto la terminología del negocio como la
relacionada con los aspectos técnicos.
Existen otras personas que podrían participar, dependiendo de la complejidad
del problema y de los recursos disponibles en la empresa. Entre ellas se
encuentran:
Los administradores de proyecto.
Los documentadores de sistemas.
Los auditores de calidad.
165
No existe una formula universal para deducir el número de especialistas de cada
tipo. Los factores que impactan esta decisión incluyen la extensión del sistema,
el tiempo de entrega, la experiencia previa del personal, el presupuesto
asignado y las herramientas que se utilizarán para modelar y construir el
sistema. Jim McCarthy, Jefe de Desarrollo de Microsoft Visual C++, en su obra
“Dynamics of Software Development”55, publicada por Microsoft Press, comenta:
“un error común de muchos Gerentes de Desarrollo, es contratar solo
programadores o contratarlos en números desproporcionados con respecto al
resto del equipo. [...] en mi grupo, la proporción es normalmente algo como seis
programadores, dos o tres personas de control de calidad, un jefe de
programación y dos técnicos de documentación. La proporción varía a lo largo
de toda Microsoft y probablemente será diferente a la de su equipo. Pero resulta
poco probable que se logren resultados aceptables con algo más que dos
programadores por cada persona de control de calidad”.
Si revisamos la estructura del equipo de Microsoft para adaptarla a un proyecto
de implantación de workflow concluiremos que:
Es recomendable segregar la función del analista, pues su enfoque se
encuentra mucho más orientado a aspectos de negocio que técnicos.
55 Primera edición, 1995.
166
Las funciones de diseño y programación podrían ser desempeñadas por un
mismo técnico, ya que dependiendo de lo sofisticado de las herramientas de
modelado su labor podría verse reducida.
El control de calidad debe ser realizados por personas distintas a los
programadores.
5.2 Utilización de herramientas CASE
En el contexto de workflow, una herramienta CASE tiene por objetivo reducir la
brecha que existe entre los modelos de procesos de negocio en el dominio del
problema y el dominio de la solución. Las organizaciones necesitan de una
herramienta que permita reduzca las barreras de comunicación entre los
lenguajes de negocio y técnico. Existen varias opciones disponibles en el
mercado; en esta sección se presentan dos alternativas para mostrar la utilidad
que brindan en el ciclo de vida de workflow: IBM Holosofx56 y Lotus Workflow.
5.2.1 IBM Holosofx
Atiende la necesidad de facilitar la comunicación entre usuarios y técnicos,
proporcionando un espacio de trabajo común que permite a las empresas
transformar el contenido de negocio a IT y viceversa (ver Figura 5.1).
56 Durante la elaboración del trabajo IBM liberó el producto con el nombre WebSphere Business Integration Modeler.
167
Figura 5.1: Área de trabajo común para los expertos del negocio y profesionales IT.
El entorno consiste de tres componentes interdependientes:
Workbench . Utilizado para la modelación de procesos de negocio. Incluye una
herramienta para la conversión a UML.
Monitor. Utilizado para supervisar los procesos implantados en tiempo real a
través de simulaciones.
Server. Utilizado para compartir la información de procesos a través de Internet.
168
Se basa en una metodología denominada CBPM57, concepto que consiste en
continuamente analizar y mejorar un proceso de negocio. El análisis y diseño
propuestos en el presente se basa en este ciclo de vida.
El enlace entre IT y el negocio, es una de las características más importantes de
la herramienta. Utiliza UML para modelar los sistemas, sus elementos y
componentes. Los modelos de negocio son resueltos utilizando BPM58, enfoque
para el diseño de procesos que será explicado más adelante. Al momento de
generar las “transformaciones”, el CASE trabaja de manera transparente para el
diseñador.
A partir del modelo UML, se permite su exportación a MQSeries Workflow59, un
sistema de administración de flujos de trabajo (WfMS) que también ha sido
desarrollado por IBM. El workflow es exportado utilizando FDL60, a partir del cual
puede iniciarse la ejecución, durante la cual se asignan las tareas individuales a
las personas indicadas y se inician las interacciones con las aplicaciones del
negocio.
57 Continuous Business Process Management. 58 Business Process Management. 59 Durante la redacción de este documento, IBM anunció el nuevo nombre comercial de esta herramienta como WebSphere MQ Workflow. 60 Flowmark Definition Language. Flowmark es el WFMS predecessor de MQSeries Workflow. Este mismo formato de exportación es utilizado por IBM Holosofx para BPM al preparar el workflow que será publicado en MQSeries Workflow.
169
Figura 5.2: Fases de requeridas por MQSeries Workflow.61
Las soluciones IBM Holosofx y MQSeries Workflow se encuentra basada tanto
en estándares62 de la industria y como en tecnologías propietarias.
5.2.2 Lotus Workflow
Esta herramienta ha sido diseñada como un conjunto de bases de datos de
Lotus Domino® y programas para entornos Microsoft Windows, que permiten a
las organizaciones planificar, programar, controlar, supervisar un proceso de
negocio.
El producto se basa en la transportación de portafolios (ver Figura 5.3),
contenedor lógico compuesto por:
61 MQSeries Workflow for Windows NT for Beginners, Dieter Wackerow, International Technical Support Organization, primera edición 2002. 62 IBM es patrocinador de la WfMC.
170
Una cubierta, que contiene información general a cerca del trabajo que sé esta
transfiriendo.
Un documento principal, que contiene la información relevante para el workflow.
Documentos opcionales, con información relacionada al documento principal y
que ayuda a comprender mejor el trabajo.
Figura 5.3: Estructura de un portafolio.63
Las actividades (ver Figura 5.4) son aquellas por las cuales se desplazan los
documentos que forman parte del portafolio, cuentan con un propietario y
pueden estar comprendidas por una o varias tareas, que describen el trabajo que
debe de realizarse sobre los documentos.
63 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
Cubierta
Carpeta
Documento principal
Contenido principal del caso de negocio
Documentos de carpeta
Contenido adicional
Información relacionada con
workflow
Cubierta
Carpeta
Documento principal
Contenido principal del caso de negocio
Documentos de carpeta
Contenido adicional
Información relacionada con
workflow
Portafolio
171
Figura 5.4: Actividades y tareas.64
Los documentos fluyen a través de transiciones (ver Figura 5.5), las cuales
definen el camino que deben seguir, y pueden ser:
Obligatorias. Siempre se deberá ejecutar la actividad subsiguiente.
Condicionales. Existen caminos alternos que dependen de ciertas
características de los documentos.
64 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
Actividad A
Actividad B
Actividad C
Tarea XTarea YTarea Z
Tarea QTarea RTarea S
Tarea KTarea LTarea M
Persona A
Persona B
Persona C
Actividad A
Actividad B
Actividad C
Tarea XTarea YTarea Z
Tarea QTarea RTarea S
Tarea KTarea LTarea M
Persona A
Persona B
Persona C
172
De opciones múltiples. Cuando el usuario es libre de seleccionar el camino que
puede seguir y cuenta con más de dos posibilidades.
De opciones exclusivas. Cuando solo existen dos caminos a seguir y es el
usuario el que toma la decisión.
Figura 5.5: Transiciones entre actividades.65
La herramienta cuenta con tres componentes esenciales:
Arquitect. Este es un programa de Windows en el cual se diseñan los procesos
y se indica como parte del diagrama de workflow:
Las actividades
Relaciones de transferencia
Puntos de decisión
El trabajo que debe realizarse en los documentos
65 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
173
Engine. Este esta integrado por cuatro bases de datos principales que
constituyen el mecanismo de operaciones. Estas son las que están activas
cuando se realizan los trabajos.
Figura 5.6: Base de datos que componene el motor de Lotus Workflow.66
La de aplicación es la que se encuentra de cara a los usuarios, por lo
tanto, es la que se utiliza para crear los trabajos, ejecutar tareas, ver los
estados y progreso, etc. La del directorio, es en la que se almacena una
estructura de la empresa que estará involucrada en el workflow. Se
organiza en departamentos, jefes, empleados, personal de staff, grupos
de empleados, roles, sustitutos, relaciones y propiedades del trabajo. La
de Almacén, es donde se guardan todos los procesos para poder ser
llamados a ejecución o por el contrario guardarlos como parte de una
bitácora histórica
66 Using Domino Workflow, Soren Peter Nielsen, IBM Corporation ITSO, Primera edición 2000.
ApplicationApplication DirectoryDirectory
DesignDesign ProcessProcess
Aplicación
Diseño
Directorio
Procesos
ApplicationApplication DirectoryDirectory
DesignDesign ProcessProcess
Aplicación
Diseño
Directorio
Procesos
174
Viewer (Visor de Lotus Workflow). Es una aplicación que ofrece una
representación gráfica global de las actividades anteriores, actuales y posteriores
de un trabajo. Lotus workflow también cuenta con el “Lotus Workflow Web
Viewer”, que es una versión para Web del mismo, con la mayoría de sus
funciones.
Lotus workflow tiene bases de datos que son opcionales, estas son:
Base de datos de archivado. Se almacena toda la información referente a los
trabajos que han sido finalizados.
Base de datos de registro. Se almacena información referente a todas las
acciones que se presentaron durante la ejecución de las actividades.
Para ayudar a comprender metodología propuesta (Ver siguiente Tabla), se
presenta a continuación un recorrido de alto nivel del proceso que debe seguirse
para la creación de un workflow.
Fase 1. Modelado de la organización
Descripción: Esta actividad se lleva a cabo en la base de datos de directorio, a través de una interfase de alto nivel en la cual se define la organización por medio de definiciones de personas, departamentos y grupos.
175
En los documentos de definición de personas o participantes se determinan los datos siguientes:
Nombre. Usuario que tiene una participación activa dentro del workflow.
Departamento. Nombre del departamento al que pertenece el involucrado.
Grupos. Nombre de los grupos de los que forma parte el usuario.
Roles. Nombre de las tareas que puede ejecutar el usuario.
En los documentos departamento se define los datos:
Nombre del departamento.
Director del departamento. Este usuario es el receptor de todas las notificaciones relacionadas al grupo.
Jerarquía. Posición que ocupa el Departamento en la organización.
Miembros. Conjunto de usuarios que forman parte de cada una de las unidades organizativas.
En los documentos de grupo se puede definir esta información:
Director. Al igual que en los departamentos, es la persona que recibe todos los mensajes con relación al grupo.
Miembros. Lista de usuarios que ya tiene su documento como personas. A diferencia de los departamentos, una persona puede pertenecer a más de un grupo.
Sustitutos. Lista de usuarios o grupos que pueden realizar las mismas funciones que los usuarios titulares del grupo, pero solo entran en función cuando uno de los miembros no puede ejecutar las tareas asignadas.
Actividad 2. Modelado del entorno de trabajo
Descripción: En este modelo se genera un documento denominado: “calendario”. Este documento contiene la siguiente información:
176
Día festivo. Fecha exacta del día festivo.
Horario de trabajo. Horario de atención a los usuarios para los días ordinarios.
Días de la semana. Espeficación de que días que se labora dentro de la organización.
Actividad 3. Modelado del proceso
Descripción: En la interfase de alto nivel del Lotus Workflow Architect, se modela el workflow que se desea programar con ayuda de elementos de diagramación, tales como: actividades, actividades automatizadas, conectores, decisiones, etc.
Cada uno de los elementos diagramados, contiene documentación y configuración.
Por ejemplo, la documentación y configuración que puede ser integrada como parte de una actividad tenemos:
Para las actividades que forman parte del workflow, las propiedades que pueden ser configuradas son:
Nombre. Indentificador de la actividad.
Propietario. Nombre del usuario que puede administrar la actividad.
Tareas. Listado de las tareas que deben de realizarse antes de dar por finalizada la actividad.
Formulario. Documento que contiene la información que se desea por parte del usuario para que sea completada o lo ayude para una toma de decisiones.
Intervalo. Periodo de tiempo que debe durar esta actividad (puede expresarse en minutos, horaso en días).
Descripción. Sumario que explica la actividad, sus
177
objetivos y metas.
Actividad 4. Prueba y activación de proceso
Descripción: Una vez terminado el proceso, se puede generar una prueba para comprobar la eficiencia del mismo o tratar de identificar las fallas.
La activación del proceso se realiza desde el Lotus Workflow Architect, aunque el proceso activado se almacenará en la base de datos de procesos luego de haber comprobado que el worklfow esta funcionando correctamente, de lo contrario la empresa deberá considerar la revisión a cada uno de los procesos dañados.
Actividad 5. Iniciación de trabajos
Descripción: Los trabajos que se desean generar dentro del workflow, se deben activar desde la interfase para usuario final que se encuentra en la base de datos de la aplicación. La activación de un workflow puede ser de alguno de estos tipos: manual, automática, por procesos o eventos externos.
AplicaciónAplicaciónAplicaciónAplicaciónAplicaciónAplicación
178
5.3 Variaciones al modelo de análisis y diseño
5.3.1 BPM67
Ya la filosofía de Holosofx se resumió en la Sección 5.2 de este capítulo.
Básicamente, la formula propuesta es BPM + UML. Ambos conceptos
constituyen estándares de la industria y son adecuados para el modelado de
soluciones de workflow. Aunque no ha sido necesario entender BPM para
exponer la metodología de análisis propuesta en este trabajo, se considera
importante ampliar su concepto.
En un artículo publicado en eAI Journal, en noviembre de 2002, titulado
“Business Process Modeling Language (BPML): Automating Business
Relationships”68, se define BPM como “un paradigma que permite separar la
descripción lógica de un proceso de los detalles de su implantación. […] BPM
parte del análisis de los procesos a través de los cuales una empresa hace
negocios. Una vez que el diseño subyacente a estos procesos se ha
comprendido, las empresas pueden tomar acciones para depurarlo y mejorarlo,
o aplicar tecnología para automatizarlo”. En términos de BPM, un proceso “se
refiere a múltiples actividades separadas pero relacionadas. Este automatizado
cuentan con una interfaz a sistemas que permiten llevar a cabo muchas de sus
tareas de manera rápida, al tiempo que se reducen los errores”.
67 Business Process Management – Administración de Procesos de Negocio. 68 Jeanne Baker, página 27.
179
“Workflow hace referencia únicamente al subconjunto de BPM en la que se
involucra la colaboración humana, roles, actividades basadas en la organización
y procesos de larga duración”.
La BPMI.org69, responsable de coordinar la liberación de estándares para BPM,
propone una notación gráfica (BPMN70) para expresar procesos de negocio en
un diagrama (BPD71), incluyendo la posibilidad de representar eventos, tareas,
subprocesos, decisiones, flujos, mensajes y swimlanes. Existen elementos
orientados a facilitar el modelado de un workflow, entre los cuales se encuentran
los desencadenadores, responsables de dar inicio a un proceso.
Por ejemplo, si una persona debe resumir el resultado de una discusión en un
foro siete días después de iniciado, la porción del BPD que representa dicha
situación sería:
69 Business Process Management Initiative – Iniciativa para la Administración de Procesos de Negocio, 70 Business Process Modeling Notation – Notación para el Modelado de Procesos de Negocio. 71 Business Process Diagram – Diagrama de Proceso de Negocio.
180
Figura 5.7:Diagramación de una actividad con temporizador72
Otro aspecto interesante es que el manejo de decisiones puede basarse en
datos o eventos. Las primeras son las más comunes y son conocidas solamente
por el nombre de Decisión. Las basadas en eventos esperan a que suceda
alguno que haya sido especificado para continuar, tal como se muestra:
Figura 5.8: Bifurcación basada en eventos.73
Finalmente, las estructuras para agrupación de tareas en subprocesos permite la
modelación de situaciones inusuales, tales como los procesos ad-hoc, en los
72 Business Process Modeling Notation Working Draft (0.9), Stephen A. White, Business Process Management Initiative (BPMI), primera edición 2002. 73 Business Process Modeling Notation Working Draft (0.9), Stephen A. White, Business Process Management Initiative (BPMI), primera edición 2002.
Mensaje C
Mensaje D
1 Día
Revisar discusión
Moderar correos de discusión
181
cuales el orden de ejecución de las tareas no es relevante y dependerá
completamente de los participantes, ya que no existe forma alguna de predecir la
secuencia.
Un proceso ad-hoc colapsado se representaría como una “actividad” más del
diagrama, utilizando la siguiente notación:
Figura 5.9: Porceso ad-hoc colapsado.74
Al expandir el proceso se vería un conjunto de actividades separadas, sin
relaciones de dependencia entre sí:
Figura 5.10: Proceso ad-hoc expandido.75
El modelo resultante es exportado a un lenguaje que es parte de las
especificaciones propuestas y proporciona un modelo abstracto para expresar
procesos de negocio ejecutables.
74 Business Process Modeling Notation Working Draft (0.9), Stephen A. White, Business Process Management Initiative (BPMI), primera edición 2002.
75 Business Process Modeling Notation Working Draft (0.9), Stephen A. White, Business Process Management Initiative (BPMI), primera edición 2002.
182
Los equipos de análisis y diseño deben tomar en cuenta el soporte que brindan
las herramientas de modelado a los estándares propuestos por la BPMI.org.
Debido a que la especificación publicada actualmente se encuentra en su
primera versión, es posible que no sea un factor determinante el que estas se
apeguen completamente. Sin embargo, en la medida que las metodologías
utilizadas se orienten a los conceptos presentados por el enfoque de BPM, el
proceso por incorporar sus beneficios se agilizará.
5.3.2 Diagrama de Estado – Actividad (DEA)
5.3.2.1 Concepto
Esta propuesta no constituye una metodología, sino un instrumento para el
diseño de procesos. Es respaldada por la empresa Lithium Software76 y se
encuentra basada en conceptos de UML, aunque no debe considerarse una
extensión aprobada del estándar. El objetivo de exponerlo es brindar a los
diseñadores de una opción de modelado para proyectos de pequeña escala.
La siguiente tabla muestra las consideraciones y recomendaciones que deben
tenerse en cuenta al momento de utilizarla:
76 Lithium Software es una empresa uruguaya dedicada a la consultoría y desarrollo de sistemas informáticos, especializada en sistemas de workflow y bases de datos documentales fundada en el año 2001. Entre los productos fabricados por esta empresa se encuentra el Sistema de Administración de Workflow (WFMS) llamado DocFlow 2.1, orientada a la automatización de los procesos de negocios (flujos de aprobación, toma de decisiones, administración de documentos, etc.). La herramienta brinda la capacidad de monitorear los procesos de negocio, administrarlos, obtener estadísticas importantes y detectar cuellos de botella para realizar estudios más profundos para su optimización.
183
Metodología Consideraciones Recomendaciones
UML Ampliamente documentada
Apoyo a la mayoría de
patrones de workflow
Estándar de la industria
Múltiples opciones de CASE y
herramientas de modelado
Curva de aprendizaje baja a
media
Considerarla como la primera
alternativa de solución
Utilizarla para proyectos de
mediana a gran escala
DEA Documentación limitada
Apoyo restringido a pocos
patrones de workflow
Propietario (Lithium Software)
Opción única de CASE
(Lithium Software DocFlow)
Curva de aprendizaje baja
Aunque los modelos
resultantes no son reconocidos
por las herramientas
estándares, la simplicidad y
facilidad de uso lo hacen ideal
para proyectos pequeños
Consideraciones y recomendaciones para la selección de la metodología de diseño.
La propuesta consiste en utilizar los siguientes elementos para la modelación de
los procesos:
Elemento Descripción
Actividad Representa el trabajo a ser realizado por un
participante dentro de un proceso.
184
Estado
Representa los datos del sistema conjuntamente
con la condición de los mismos.
Es importante que al habla de Documento se
hace referencia a cualquier tipo de datos de un
proceso, y no solamente a aquellos almacenados
de forma documental. La segunda parte del
nombre de este elemento (state) hace referencia
al estado de los datos representados por el
documento.
Participante
Representa a los involucrados en un proceso de
workflow. Se distinguen dos tipos de ellos:
Participante Usuario: Recurso humano definido
con acceso al sistema, es decir un usuario.
Participante Sistema: Recurso no humano que
participa. Es importante aclarar que para sea
considerado un participante en un proceso, éste
debe realizar alguna actividad en el mismo, es
decir, debe tener un papel activo.
Conectores
Los conectores representan las transiciones de un
proceso, en los diagramas de actividad
representan el pasaje del hilo de ejecución de una
actividad finalizada (actividad de salida) hacia la
próxima a efectuarse (actividad de llegada). En
los diagramas de estados representan el pasaje
de parte o toda la información de la instancia del
185
proceso de un estado a otro.
Conectores automáticos
(conectores de tiempo)
Representan transiciones dentro un proceso y
son aquellos en los cuales la condición lógica es
exclusivamente una condición temporales
evalúen variables de tiempo.
Ejes de flujo
Representan las bifurcaciones (split) y las uniones
(join) del proceso. Los mismos son usados en
combinación con los conectores.
Elementos de los diagramas estados - actividad (DEA)77.
En adición a los elementos de diagramación de la tabla anterior, se utilizan las
siguientes relaciones de construcción78:
Relación de construcción (Eje de
flujo)
Descripción
77 Definiciones transcritas literalmente de las propuestas por Lithium Software para la creación de un DEA. 78 Definiciones transcritas literalmente de las propuestas por Lithium Software para la creación de un DEA.
186
AND Bifurcación
Se utiliza para señalar un sentido de
totalidad, es decir el proceso sigue en
paralelo por todas las transiciones que
sigan al AND.
AND Unión
Se utiliza para señalar un sentido de
totalidad, es decir, el proceso sigue
luego del AND si y solo si todas las
transiciones anteriores han sido
ejecutadas.
OR Bifurcación Se utiliza para señalar un sentido de
unicidad, es decir el proceso sigue por
una y solo una de las opciones que
siguen al OR. Junto a cada bifurcación
que se deriva del OR deberá indicarse
la condición a satisfacer.
OR Unión
Se utiliza para señalar un sentido de
unicidad, es decir, el proceso sigue
luego del OR si cualquiera de las
transiciones anteriores es ejecutada.
187
AND Exclusivo
Se utiliza para señalar un sentido de
totalidad y posterior seguimiento
exclusivo. Esto significa que el
proceso, en principio, sigue en
paralelo por todas las transiciones
salientes del AND/E, pero después de
que alguna haya terminado el resto
son anuladas.
OR Exclusivo
Se utiliza para señalar un sentido de
unicidad y posterior exclusividad, es
decir, el proceso sigue luego del OR/E
si cualquiera de las transiciones
anteriores es ejecutada y a todas las
restantes transiciones que llegan al
OR/E se les anula el hilo de ejecución
una vez ejecutada la transición.
Fin de Hilo de Ejecución
Este elemento que un hilo de
ejecución ha terminado dentro de la
instancia de un proceso.
Relaciones de Construcción para los DEA79.
En términos de un diagrama de actividad, una bifurcación permite que inicie un
proceso paralelo y una unión permite que los procesos paralelos se consoliden
en un flujo de proceso único. Cuando una bifurcación es encontrada cada rama
79 Definiciones transcritas literalmente de las propuestas por Lithium Software para la creación de un DEA.
188
es, en esencia, un diagrama de actividad independiente. Ninguno de los flujos de
control debe esperar por el otro al menos antes de llegar a una unión.
Tanto las bifurcaciones como las uniones son representadas con una línea
gruesa negra. Las primeras tienen una transición entrante y dos o más salientes.
Las segundas, por otro lado, tienen dos o más transiciones entrantes y una sola
transición saliente. El diagrama DEA cambia la línea negra por operadores
lógicos de bifurcación / unión, logrando el siguiente efecto:
Eje de flujo DEA Diagrama de actividad
AND Bifurcación Bifurcación
AND Unión Unión
OR Bifurcación Decisión/[guarda]80
OR Unión No existe solución posible
AND Exclusivo Encaminamiento paralelo alternado
OR Exclusivo Discriminador
No existe solución posible Unión N-de-M
No existe solución posible Múltiples instancias que requieren sincronización
No existe solución posible Selección diferida
No existe solución posible Productor-Consumidor con actividad de terminación
80 Indica la condición que debe satisfacerse para seguir con una transición.
189
No existe solución posible Productor-Consumidor con cola saturada
Relación entre los DEA y los diagramas de actividad.
Como podrá verse, aunque la idea de combinar los diagramas de actividad con
los de estado es atractiva, debido a la falta de soporte para la totalidad de
patrones de workflow, los DEA no pueden convertirse en la herramienta única de
diagramación. Lamentablemente, se ha sacrificado la funcionalidad por hacer un
énfasis excesivo en la simplicidad. Aparentemente se olvida que el diagrama se
desarrolla en el ámbito de las funciones del diseño de sistemas, donde la mayor
parte de involucrados son especialistas en informática, y no como parte de las
funciones de análisis, donde la participación de los usuarios finales es clave.
5.3.2.2 Ejemplo
Para demostrar el uso de los DEA, se modela un pequeño flujo de trabajo,
orientado a la compra de insumos, en el cual:
Un empleado hace una solicitud de materiales por varios artículos.
La solicitud debe ser autorizada por la Gerencia.
Los artículos deben ser buscados primero en los inventarios de la empresa y, de
no haber existencias, podrán ser comprados a un proveedor.
190
Durante las distintas actividades la solicitud de materiales (SM) sufre
transformaciones, producto de los datos que se van incorporando en cada
actividad. El diagrama seria:
Figura 5.11: Integración de actividades, participantes y estados-de-documento.81 .
Si quisiéramos seguir utilizando los constructos disponibles para los diagramas
de actividad, el diagrama resultante sería:
Figura 5.16: Diagrama DEA utilizando consturctos.82
Aunque la incorporación de los roles dentro de la actividad facilita la lectura, no
compensa la facilidad de agrupar funciones presentada por un Swinmane, por lo
81 Arquitectura de procesos para modelos de Workflow, Pablo Morales, Lithium Software, Montevideo – Uruguay, primera edición 1993. 82 Arquitectura de procesos para modelos de Workflow, Pablo Morales, Lithium Software, Montevideo – Uruguay, primera edición 1993.
191
que puede modificarse la forma de presentar esta información. Una ventaja de
los DEA es el espacio requerido para la diagramación.
192
Glosario
C
CASE. Acrónimo de Computer Aided Sofware Engineering (Ingeniería de
Software Asistida por Ordenador). Herramienta de ingeniería de software que
abarca todas las etapas del ciclo de vida de un sistema de información.
Confiabilidad. Es la probabilidad de que un sistema de software no causara la
falla del sistema durante un tiempo especificado bajo condiciones especificadas.
Corrección. Ver correctitud.
Correctitud. El Glosario Estándar de IEEE de la Terminología de Ingeniería de
Software define correctitud en términos de estar libre de fallas, de satisfacer los
requisitos especificados y satisfacer las necesidades y expectativas del usuario.
Bertrand Meyer, en su libro “Construcción de Software Orientado a Objetos”,
llama a este término corrección, definiéndolo como “la capacidad de los
productos de software para realizar con exactitud sus tareas, tal y como se
definen en las especificaciones”.
193
D
Defecto. Es la causa mecánica o algorítmica de un error.
Dinámica organizacional. La dinámica organizacional explica y relaciona los
procesos por los cuales las organizaciones producen y regulan sus actividades
dentro y fuera de las mismas, pensando el dentro y el afuera con un cierto grado
de indeterminación, en concordancia con la permeabilidad y difusión de los
límites organizacionales e interorganizacionales, que caracterizan a los sistemas
abiertos.
E
Error. Significa que el sistema esta en un estado tal que el procesamiento
adicional del sistema conducirá a una falla.
F
Falla. Es cualquier desviación del comportamiento observado con respecto al
especificado.
H
Hardware. La Academia recomienda "equipo(s)". En general se puede usar
"equipamiento". Se propuso en tiempos "soporte físico", pero el término es
194
probablemente inerradicable, pues ninguna de las traducciones es totalmente
satisfactoria.
I
IEEE. (Institute of Electrical and Electronics Engineers, Inc., Instituto de
Ingenieros en Electricidad y Electrónica, Inc.) Es una sociedad profesional con
membresía en todo el mundo. Se empeña en actividades técnicas educacionales
y profesionales que promueven la teoría y la practica de la electro tecnología
para el desarrollo personal y profesional de sus miembros. Fomenta el
conocimiento y los avances científicos y tecnológicos, los cuales, miembros del
IEEE transforman en productos prácticos y seguros y en procedimientos que
engrandecen la calidad de vida.
Integridad. Es la capacidad de los sistemas de software para proteger sus
diversos componentes contra modificaciones no autorizadas.
M
Middleware. Es el software de conectividad que consiste en un conjunto de
servicios habilitadores que permiten interactuar a múltiples procesos que se
ejecutan en distintas maquinas a través de la red.
195
Desde hace tiempo el termino Middleware se escucha dentro del mundo de la
Informática y con mayor fuerza dentro del campo de las Tecnologías de la
Información, sin embargo, el mismo no ha tenido un significado concreto.
Las arquitecturas Cliente/Servidor clásicas están dejando paso a nuevas
infraestructuras en las cuales aparecen nuevos conceptos como la distribución
en n-capas, en las que los diferentes Middleware han tomado una importancia
vital.
Tanto es así que en las aplicaciones actuales, la comunicación de datos se han
convertido en un factor crítico.
Los Middleware representan dentro de las arquitecturas Cliente/Servidor un
nuevo enfoque de las mismas, permitiendo la interconexión de aplicaciones entre
muy diversos entornos y a través de diferentes lenguajes de programación.
De igual modo proporcionan la posibilidad de la incorporación de los nuevos
conceptos de escalabilidad y seguridad, dentro de arquitecturas abiertas,
basadas en diferentes estándares, todo ello desde el punto de vista del
paradigma de la Orientación a Objetos.
196
Dentro de este mundo, cada fabricante ofrece diferentes soluciones de
interconexión, algunos ejemplos de las mismas pueden ser CORBA soportado
directamente por la OMG, RMI de Sun Microsystems, etc.
Modelización. Acto de elaborar una o más representaciones gráficas de un
sistema. La Figura resultante representa las necesidades planteadas por los
usuarios en cuanto a datos, procesos y redes desde un punto de vista de
empresa.
O
Objeto de negocio. En el entorno de la solución, es una analogía para los
objetos que se encuentran en el entorno del problema. Tienen ciertos atributos y
determinados comportamientos. Un ejemplo puede ser la cuenta de un cliente en
la empresa, representada por un saldo y sujeta a depósitos y aplicación de
intereses.
P
Pre-condición. Una expresión lógica que es evaluada por un WFMS para
decidir si una instancia de un proceso o actividad es iniciada cuando una
instancia de un proceso es iniciada.
197
Post-condición. Una expresión lógica que es evaluada por un WFMS para
decidir si una instancia de un proceso o actividad es iniciada cuando una
instancia de un proceso es terminada.
Procedimiento. Forma específica de desempeñar una actividad.
Proceso. Serie de recursos y actividades interrelacionadas que transforman
entradas en salidas.
R
Robustez. Es la capacidad de los sistemas de software para reaccionar
apropiadamente ante condiciones inesperadas (excepciones).
S
Seguridad. Es la capacidad de los sistemas de software para proteger sus
diversos componentes contra accesos no autorizados.
Sistema. Grupo de elementos que se integran con el propósito común de lograr
un objetivo.
Software. La Academia recomienda "programa(s)" o "programación". Se
propuso en tiempos "soporte lógico", pero el término es probablemente
inerradicable pues ninguna de las traducciones es totalmente satisfactoria.
198
T
Transacción. Cualquier suceso o actividad que afecta a toda la organización
(facturación, entrega de mercancía, pago a empleados, depósito de cheques y
otras). Los tipos de transacciones cambian en cada una de las diferentes
organizaciones.
199
Anexos
Notación básica de UML
La siguiente información constituye una guía rápida que ayuda a conocer los
conceptos básicos de diagramación de UML, con el objetivo de asistir en la
lectura de los diagramas incluidos en este trabajo. Si se desea conocer la
especificación completa, se recomienda visitar el sitio Web http://www.uml.org, a
cargo del Object Managemet Group, un consorcio sin fines de lucro que da
mantenimiento a esta y otras especificaciones de dominio publico.
El resumen presentado también se encuentra disponible en
http://www.cs.ualberta.ca/~pfiguero/soo/uml/. De la información disponible la
siguiente resulta pertinente a este trabajo:
Diagramas de Casos de Uso. Un diagrama de Casos de Uso muestra las
distintas operaciones que se esperan de una aplicación o sistema y cómo se
relaciona con su entorno (usuarios u otras aplicaciones). Se muestra como
ilustración los casos de uso de la máquina de café.
200
Caso de uso
Se representa en el diagrama por una elipse, denota un requerimiento
solucionado por el sistema. Cada caso de uso es una operación completa
desarrollada por los actores y por el sistema en un diálogo. El conjunto de
casos de uso representa la totalidad de operaciones desarrolladas por el
sistema. Va acompañado de un nombre significativo. En el caso del
ejemplo se tienen como casos de uso de la cafetera RecibirDinero,
PedirAzucar, PedirProducto, DarVueltas y Cancelar.
Actor
Es un usuario del sistema, que necesita o usa algunos de los casos de
uso. Se representa mediante un, acompañado de un nombre significativo,
si es necesario.
201
Relaciones en un diagrama de casos de uso
Entre los elementos de un diagrama de Casos de uso se pueden
presentar tres tipos de relaciones, representadas por líneas dirigidas entre
ellos (del elemento dependiente al independiente).
Communica (communicates). Relación entre un actor y un caso de uso,
denota la participación del actor en el caso de uso determinado. En el
diagrama de ejemplo todas las líneas que salen del actor denotan este
tipo de relación.
Usa (uses). Relación entre dos casos de uso, denota la inclusión del
comportamiento de un escenario en otro. En el caso del ejemplo el caso
de uso Cancelar incluye en su comportamiento DarVueltas; y
PedirProducto incluye también DarVueltas
Extiende (extends). Relación entre dos casos de uso, denota cuando un
caso de uso es una especialización de otro. Por ejemplo, podría tenerse
un caso de uso que extienda la forma de pedir azúcar, parta que permita
escoger el tipo de azúcar (normal, dietético moreno) y además la cantidad
en las unidades adecuadas para cada caso (cucharaditas, bolsitas o
cucharaditas, respectivamente). Un posible diagrama se muestra a
continuación.
202
Diagrama de secuencia. Un diagrama de secuencia muestra la interacción de
un conjunto de objetos en una aplicación a través del tiempo. Esta descripción es
importante porque puede dar detalle a los casos de uso, aclarándolos al nivel de
mensajes de los objetos existentes, como también muestra el uso de los
mensajes de las clases diseñadas en el contexto de una operación.
A continuación se muestra un ejemplo de diagrama de secuencia, que da
detalle al caso de uso PedirProducto del ejemplo de la cafetera.
Línea de vida de un objeto
203
Un objeto se representa como una línea vertical punteada con un
rectángulo de encabezado y con rectángulos a través de la línea principal
que denotan la ejecución de métodos (véase activación). El rectángulo de
encabezado contiene el nombre del objeto y el de su clase, en un formato
nombreObjeto: nombreClase. Por ejemplo, el objeto m, instancia de la
clase MaquinaCafe envía dos mensajes seguidos para dar respuesta a la
operación PedirProducto: Servir al objeto p de la clase Producto y
DarVueltas a sí mismo.
Activación
Muestra el periodo de tiempo en el cual el objeto se encuentra
desarrollando alguna operación, bien sea por sí mismo o por medio de
delegación a alguno de sus atributos. Se denota como un rectángulo
delgado sobre la línea de vida del objeto. En el ejemplo anterior el objeto
_ingredientes se encuentra activado mientras ejecuta el método
correspondiente al mensaje Servir; el objeto p se encuentra activo
mientras se ejecuta su método Servir (que ejecuta _ingredientes.Servir) y
el objeto m se encuentra activo mientras se ejecuta p.Servir y DarVueltas.
Mensaje
204
El envío de mensajes entre objetos se denota mediante una línea sólida
dirigida, desde el objeto que emite el mensaje hacia el objeto que lo
ejecuta. En el ejemplo anterior el objeto m envía el mensaje Servir al
objeto p y un poco más adelante en el tiempo el objeto m se envía a sí
mismo el mensaje DarVueltas.
Diagramas de estados. Muestra el conjunto de estados por los cuales pasa un
objeto durante su vida en una aplicación, junto con los cambios que permiten
pasar de un estado a otro. Un ejemplo en el caso de la cafetera son los estados
posibles para la clase MaquinaCafe:
205
Estado
Identifica un periodo de tiempo del objeto (no instantáneo) en el cual el
objeto esta esperando alguna operación, tiene cierto estado característico
o puede recibir cierto tipo de estímulos. Se representa mediante un
rectángulo con los bordes redondeados, que puede tener tres
compartimientos: uno para el nombre, otro para el valor característico de
los atributos del objeto en ese estado y otro para las acciones que se
realizan al entrar, salir o estar en un estado (entry, exit o do,
respectivamente). En el caso del ejemplo anterior, se tienen cuatro
estados (EnFuncionamiento, SinCambio, SinIngredientes,
MalFuncionamiento) , en los cuales se desarrollan ciertas acciones al
entrar; por ejemplo, al entrar al estado SinIngredientes se debe realizar la
accion "Indicador SinIngredientes en On".
Se marcan también los estados iniciales y finales mediante los símbolos
de circulo relleno y circulo relleno con circulo concéntrico vació.
Eventos
Es una ocurrencia que puede causar la transición de un estado a otro de
un objeto. Esta ocurrencia puede ser una de varias cosas:
206
Condición que toma el valor de verdadero o falso
Recepción de una señal de otro objeto en el modelo
Recepción de un mensaje
Paso de cierto período de tiempo, después de entrar al estado o de cierta
hora y fecha particular.
El nombre de un evento tiene alcance dentro del paquete en el cual está
definido, no es local a la clase que lo nombre.
En el caso del ejemplo anterior se encuentra nombrado en varias
transiciones el evento userInput, que recibe como parámetro un Button,
para indicar el botón que ha sido presionado por el usuario de la máquina
de café.
Envío de mensajes
Además de mostrar y transición de estados por medio de eventos, puede
representarse el momento en el cual se envían mensajes a otros objetos.
Esto se realiza mediante una línea punteada dirigida al diagrama de
estados del objeto receptor del mensaje. Si tomamos como ejemplo un
207
control remoto que puede enviar órdenes de encender o apagar al
televisor o a la videograbadora se puede obtener un diagrama de estados
como el siguiente:
Los tres aparatos tienen diagramas de estados separados y algunas de
las transiciones del control remoto causan el envío de mensajes
(togglePower) a los otros aparatos.
208
Transición simple
Una transición simple es una relación entre dos estados que indica que
un objeto en el primer estado puede entrar al segundo estado y ejecutar
ciertas operaciones, cuando un evento ocurre y si ciertas condiciones son
satisfechas. Se representa como una línea sólida entre dos estados, que
puede venir acompañada de un texto con el siguiente formato:
event-signature ‘[’ guard-condition] ‘/’ action-expression ‘ ’̂ send-clause
event-signature es la descripción del evento que da a lugar la transición,
guard-condition son las condiciones adicionales al evento necesarias para
que la transición ocurra, action-expression es un mensaje al objeto o a
otro objeto que se ejecuta como resultado de la transición y el cambio de
estado y send-clause son acciones adicionales que se ejecutan con el
cambio de estado, por ejemplo, el envío de eventos a otros paquetes o
clases.
En el caso del ejemplo inicial de esta hoja se tiene una transición entre los
estados IntroduciendoMoneda y SeleccionadoAzucaryProducto que tiene
una transición con el siguiente detalle:
209
userInput( Button ) | [TodoOk=true} / MostrarNivelAzucar,
MostrarProducto
El evento que dispara el cambio de estado es userInput( Button). Se
requiere como condición adicional que no se haya detectado ninguna falla
(TodoOk = true) y se ejecuta MostrarNivelAzucar y MostrarProducto, que
deberían ser ejecutables por el objeto al cual pertenece el diagrama.
Transición interna
Es una transición que permanece en el mismo estado, en vez de
involucrar dos estados distintos. Representa un evento que no causa
cambio de estado. Se denota como una cadena adicional en el
compartimiento de acciones del estado.
Supongamos el estado de una interfaz pidiendo password al usuario. En
este caso puede tenerse una transición interna que muestre una ayuda al
usuario. Esta transición se muestra en el siguiente diagrama con la
cadena "help / display help " dentro del cuerpo del estado.
210
Diagramas de actividades. Un diagrama de actividades es un caso especial de
un diagrama de estados en el cual casi todos los estados son estados de acción
(identifican que acción se ejecuta al estar en él) y casi todas las transiciones son
enviadas al terminar la acción ejecutada en el estado anterior. Puede dar detalle
a un caso de uso, un objeto o un mensaje en un objeto. Sirven para representar
transiciones internas, sin hacer mucho énfasis en transiciones o eventos
externos. Se presenta a continuación un ejemplo de diagrama de actividades
para un mensaje de un objeto. Generalmente modelan los pasos de un
algoritmo.
212
Estado de acción
Representa un estado con acción interna, con por lo menos una transición
que identifica la culminación de la acción (por medio de un evento
implícito). No deben tener transiciones internas ni transiciones basadas en
eventos (Si este es el caso, represéntelo en un diagrama de estados).
Permite modelar un paso dentro del algoritmo.
Se representan por un rectángulo con bordes redondeados.
Transiciones
Las flechas entre estados representan transiciones con evento implícito.
Pueden tener una condición en el caso de decisiones.
Decisiones
Se representa mediante una transición múltiple que sale de un estado,
donde cada camino tiene un label distinto. Se representa mediante un
diamante al cual llega la transición del estado inicial y del cual salen las
múltiples transiciones de los estados finales. Un ejemplo se ve en la figura
cuando no hay cafe y se toma una decisión entre hay cola o no hay cola.
213
Bibliografía
Análisis y Diseño de Sistemas
KENDALL, Kenneth
Tercera Edición, 1997
Prentice Hall Hispanoamérica
Análisis y Diseño de Sistemas de Información
WHITTEN, Jeffrey
Tercera Edición, 1997
McGraw-Hill
Arquitectura de procesos para modelos de Workflow
MORALES, Pablo
primera edición, 1993
Lithium Software, Montevideo – Uruguay
Así es la Gestión del Conocimiento
HONEYCUTT, Jerry
Primera Edición en Español, 2001
Microsoft, McGraw-Hill
214
Business Objects, Workflow und die UML
PETERS, Ralf
OBJEKTSpectrum, Número 3, 1999
SIGS-DATACOM Alemania
Business Process Implementation – Building Workflow Systems
JACKSON, Michael
Primera Edición, 1997
Segunda Reimpresión, 1999
Addison-Wesley, USA
ACM Press, USA
Business process management with IBM Holosofx
WALKER, Natalie
Primera edición, 2003
Casaflora Communications, USA
Business Process Modeling Notation Working Draft (0 .9)
WHITE, Stephen A.
Primera Edición, 2002
Business Process Management Initiative (BPMI)
215
Business Process Reengineering and Beyond
HELTON, Allan
Primera Edición, 1995
IBM Corporation, ITSO
Conceptual modeling of workflows
CASATI, F.
Of the 14th International Object-Oriented and Entity-Relationship Modelling
Conference (OOER'95)
Springer Verlag, December 1995
Continuous Business Process Management with HOLOSOF X BPM Suite
and IBM MQSeries Workflow
DEBORIN, Eugene
Primera edición, 2002
IBM International Technical Support Organization
Desarrollo y gestión de Proyectos Informáticos
McCONNELL, Steve
Microsoft Press
216
Primera Edición en Español, 1996
McGraw-Hill, USA
Guía de Redes de Área Extensa
PARNELL, Terè
Primera Edición en Español, 1997
LAN Times, McGraw-Hill
IBM TXSeries for AIX
Documentación de producto para la versión 4.2
IBM Corporation 1997, Transarc Corporation 1997
Information Systems Process Improvement
CASSIDY, Anita
Primera edición, 2001
St. Lucie Press, USA
Ingeniería de Software
SOMMERVILLE, Ian
Sexta Edición, 2002
Pearson Educación México
217
Ingeniería del Software: Un Enfoque Práctico
PRESSMAN, Roger
Cuarta Edición, 1997
McGraw-Hill
ISO 9000, QS 9000, ISO 14000: Normas internacionale s de administración de calidad, sistemas de calidad y sistemas ambienta les
GONZALEZ, Carlos
Primera Edición, 1998
McGraw-Hill
Learning UML – Communicating Software Design Graphi cally
ALHIR, Sinan Si
Primera Edición, 2003
O’Reilly USA
Sistemas de Información Gerencial
McLEOD Jr., Raymond
Séptima Edición, 2000
Prentice Hall
Sistemas de Información Gerencial
218
O’BRIEN, James A.
cuarta Edición, 2001
Irwin McGraw Hill
Tecnologías de Información para la Administración
TURBAN, Efraim
Primera Edición en Español, 2001
CECSA
Tecnologías de la Información y su Uso en Gestión: Una Visión Moderna de los Sistemas de Información
BARROS, Oscar
Primera Edición, 1998
McGraw-Hill
UML Activity Diagrams as a Workflow Specification L anguage
MARLON, Dumas
Primera edición, 2002
University of Tecnology, Australia
UML A Beginner’s Guide
219
ROOF, Jason T.
primera edición, 2003
Mc Graw Hill, USA.
Using Domino Workflow
NIELSEN, Soren Peter
Primera Edición, 2000
IBM Corporation, ITSO
The Workflow Reference Model
HOLLINGSWWORTH, David
Primera Edición, 1995
WFMC
WD, Guide for ISO/IEC 12207 (Software Life Cycle Pr ocess)
ISO/IEC JTC1/SC7, Software Engineering, Secretariat: CANADA (SCC)
Primera edición 1995
Workflow Handbook 2001
220
WILEY, John & Sons
LTD with the Workflow Management Coalition
Primera edición, 2001
Workflow Modeling
SHARP, Alec
Primera Edición, 2001
ARTECH HOUSE, INC.
Sitios web visitados
http://orbita.starmedia.com/~selajp/lecturas/online/medioambiente.htm
http://www.inf.udec.cl/revista/
http://www.dicofr.com/
http://interactif.lemonde.fr/
http://cariari.ucr.ac.cr/
http://www.acm.org/tsc/lifecycle.html
http://www.lithium.com.uy
top related