Bajar - Universidad de Concepción

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