En los Procesos complejos, la organización de las entradas y las salidas entre las Actividades también puede ser compleja. Si bien no es necesa- riamente evidente en el gráfico, BPMN proporciona los mecanismos para manejar esta complejidad.
Para agrupar los Artefactos recibidos (entradas) se utilizan conjuntos de datos de entrada o "Inputsets". Todas las Actividades tienen por lo menos un inputset, pero no son visibles cuando sólo hay una entrada. Si hay más de una entrada, se agrupan en uno o más inputsets. Sin embargo, en algunos casos una única entrada puede ser parte de más de un input-
set.
El objetivo de agrupar las entradas es combinar piezas de datos incom- pletos en un conjunto completo de datos que es suficiente para que la Actividad empiece su trabajo.
Aunque haya más de un inputset, sólo se requiere uno para instanciar la Actividad. El primer inputset que se complete permitirá el inicio de la Ac- tividad. Si más de uno de los inputsets se completan, entonces el inputset que ocupe el primer lugar en la lista de inputsets (para la Actividad) se utilizará. Tenga en cuenta que existen otros factores que afectan el inicio de una Actividad, que se describen en “Realizando una Actividad” en la página 173.
Figura 12-12 muestra que la entrada completa a la Tarea "Revisar Infor- me" es un Informe, pero dependiendo de lo que ocurrió antes de la Tarea, el Informe puede llegar en un solo documento (una entrada en un input-
set), o puede llegar en dos partes (dos entradas en otro inputset). La eje-
cución de la Tarea requerirá ya sea el documento completo o las dos par- tes, pero no una mezcla. Esto es, si el "Informe Parte 1" llega, la Tarea no puede comenzar hasta que llegue el "Informe Parte 2".36 Si el "Informe
Completo" llega en algún momento antes de que la Tarea se inicie, enton- ces, ese inputset quedaría cumplido y la Tarea puede comenzar.
<
36 En realidad, existen configuraciones de atributos más avanzadas que permitirían el inicio de
Figura 12-12—Múltiples Entradas y Salidas de Actividades
No hay marcadores o indicadores gráficos para diferenciar los inputsets. Estos se consideran parte de los detalles de la Actividad y exponer las diferencias añadiría demasiada complejidad al diagrama. Sin embargo, hay formas de ayudar al lector del diagrama para ver si diferentes input-
sets están siendo utilizados. El modelador puede conectar todas las Aso-
ciaciones de un inputset al mismo punto del límite de la Actividad. La Figura 12-12, arriba, muestra cómo los dos inputsets de la Actividad están conectados a dos puntos diferentes del límite de la Actividad. Por otra parte, cuando las flechas de Anotación de las dos entradas que componen un único inputset se combinan, es evidente que estas entradas son elementos de dicho inputset. No es necesario conectar las Asociacio- nes de esta manera, pero es una forma conveniente de demostrar que dos (o más) Artefactos pertenecen al mismo inputset. 37
Los Outputsets (conjuntos de datos de salida) también pueden agrupar Artefactos de salida (resultados). Para una instancia de una Actividad, sólo se produce un outputset. El trabajo de la Actividad oculta la decisión
<
37 En nuestros talleres, los delegados han tenido dificultades para apreciar la razón de existen-
cia de los inputsets. Los inputsets aparecen confusos ya que dos entradas diferentes (que no son modeladas como un inputset) por defecto, son requeridas antes que el estado de la Actividad cambie a ejecutando. (ver El Ciclo de Vida de una Actividad en la página 200 para saber más sobre estados de las Actividades). La razón de utilizar inputsets se entiende completamente solo cuando se les pide a los delegados que encuentren otra manera de modelar que una Actividad puede comenzar cuando esté disponible alguno de los dos conjuntos de entradas existentes. (como en Figura 12-12 más arriba). Éste es un tema complejo, y en BPMN se tomó la decisión de proporcionar flexibilidad, pero sin que esto impactara en la calidad del diagrama. Siempre se debe buscar el equilibrio entre el detalle que se muestra en el diagrama vs. lo que se oculta en los atributos de los elementos.
de cuál es el outputset elegido. En este ejemplo (Figura 12-12 arriba), la evaluación será o bien positiva o bien negativa (pero no ambas).
Al igual que sucede con la agrupación de los puntos de conexión de las Asociaciones en los inputsets, si una Actividad produce dos salidas que forman parte del mismo outputset, una buena práctica es mostrarlos sa- liendo del mismo punto de la Actividad.
También es posible mapear un determinado inputset a un outputset es- pecífico—es decir, si llega el inputset "Uno", entonces produce el outputset "Dos". La definición del mapeo entre inputsets y outputsets se define de- ntro de los atributos de la Actividad (ninguno de estos atributos se mues- tran gráficamente).
Mejor Práctica: Modelando inputsets—Si hay más de un inputset, elija un punto del lími‐ te de una Actividad y haga que todas las entradas que pertenezcan a un único inputset se conecten a ese punto. Las entradas de los otros input‐
sets deben conectarse, cada una, a puntos separados del límite de la
Actividad. El mismo patrón se puede aplicar al modelar los outputsets.