Modelado de Procesos de Negocio
Ingeniería de la programación
Ingeniería de la programación
Índice
Introducción y motivación.
Terminología Gestión Orientada a Procesos (BPM).
Conceptos básicos de BPMN.
Conceptos avanzados de BPMN.
BPMN para Ingeniería de Requerimientos.
Herramientas de modelado.
Herramientas de modelado.
Referencias.
Introducción/Motivación
Construcción de un Sistema de Información
Diagramas de Secuencia
Casos de Uso Esquemas conceptuales
Diagramas de Transición
Ingeniería del Software
El proceso de producción
Diagramas de
Colaboración Lenguajes
Introducción/Motivación
Construcción de un Sistema de Información
Diagramas de Secuencia
Casos de Uso Esquemas conceptuales
Diagramas de Transición
Ingeniería del Software
Las necesidades del negocio no se consideran.No se definen responsabilidades.
Problemas de comunicación con los Stakeholder
Kotonya y Somerville
Diagramas de Colaboración
Transición
Lenguajes
Introducción/Motivación
La construcción de un sistema
software es un proceso complejo en el que es necesario comprender:
El entorno en el que el sistema operará.
Los roles y las
responsabilidades de los empelados que lo utilizarán.
Organización
Sistema
Introduction/Motivation
Diferente nivel de abstración
Objetivos, Roles, Tareas, etc
Clases, estados, etc
funcionalidad
Modelos organizacionales
Construcción de un Sistema de Información
etc
Diagramas de Secuencia
Diagramas de Colaboración
Casos de Uso Esquemas conceptuales
Diagramas de Transición
Lenguajes
Ingeniería del
Software
Introducción y motivación: Objetivo general
Enlazar la fase de modelado organizacional con la fase de modelado de requisitos utilizando una aproximación basada en procesos de negocio.
Organización Organización Organización Organización
Modelo Organizacional
Modelo de Requisitos
Requisitos
Requisitos
Terminología: proceso de negocio
Terminología: proceso de negocio.
Un proceso de negocio o un método de negocio es una colección relacionada de actividades o tareas estructuradas que producen un servicio específico o producto para un cliente o conjunto de
clientes. Frecuentemente se visualizan mediante un “flowchart”
como una secuencia de actividades.
Los procesos “core” son aquellos que crean el valor principal de la compañía:
Comprar, Ventas, Fabricación.
Los procesos de soporte complementan a los procesos “core”:
Los procesos de soporte complementan a los procesos “core”:
Contabilidad, Servicio Técnico, Centro de atención telefónica, Reclutamiento de empleados.
Terminología
Los enfoques funcionales en la gestión de las organizaciones
tienden a describir los procesos que ocurren dentro de las
unidades funcionales o departamentos.
Terminología
En la actualidad (gestión orientada a procesos):
Los procesos existen a través de la estructura organizativa (vista transversal de la organización)
Agrupan empleados de diferentes funcionalidades (departamentos) para completar el trabajo.
Ejemplos:
desarrollo de un nuevo producto: pasos desde que nace la
desarrollo de un nuevo producto: pasos desde que nace la idea hasta que se realiza un prototipo.
tramitación de pedidos: pasos que van desde la recepción del pedido hasta la entrega y cobro del producto.
contratación de un empleado.
Terminología
Gestión tradicional.
Centrados en procesos
operativos o administrativos que dependen de una unidad funcional
Responsabilidad compartida por varias personas, prevalece la organización vertical.
Gestión orientada a procesos.
Se centra en procesos críticos para el éxito del negocio, con independencia de las
unidades funcionales implicadas.
La responsabilidad es única,
Los departamentos
condicionan la ejecución de las actividades.
Orientación de las actividades hacia el jefe o departamento.
Se busca la eficiencia: ser más productivo.
Las mejoras tienen un ámbito limitado: el departamento.
La responsabilidad es única, conviviendo la organización vertical con la horizontal.
Los procesos condicionan la ejecución de las actividades.
Orientación hacia el cliente externo o interno.
Se busca la eficacia: ser más competitivo.
Las mejoras tienen un ámbito interfuncional: el proceso.
Terminología
Responsabilidad única del proceso.
Definir propietarios de procesos:
Visión interfuncional.
Credibilidad, visión global, capacidad de dirección.
Funciones propietario proceso:
Buscar la mejora permanente.
Coordinar y resolver conflictos inter-intra departamentales.
Coordinar y relaciones intra-inter empresas.
Control y seguimiento.
Ejemplo: Proceso de negocio, tramitación de pedido en DELL
El pedido se procesa para su entrega a fábrica.
Una vez
recibido/confirmado el pago, el pedido se
entregará a la fabricación.
MONTAJE Y PRUEBAS.
Un equipo de montaje monta
Se realiza el pedido de piezas al inventario para poder programar el pedido para su fabricación. El tiempo de prefabricación depende del sistema
solicitado y, sobre todo, de la disponibilidad de piezas.
Un equipo de montaje monta las piezas en un sistema y es responsable de la totalidad del montaje, así como de la calidad y garantía. Los sistemas pasan a la fase de pruebas para su
comprobación mediante diagnósticos de Dell y descarga de software.
Los sistemas completados se colocan en cajas,
conjuntamente con el ratón, el teclado, los cables de alimentación y la
documentación. Las cajas se cierran y se completa la preparación para el envío.
El producto pasa al
departamento de logística y es despachado a la dirección indicada por el cliente.
Ejemplo
problema:
responder a la llamada de un cliente que solicita un producto para tenerlo en su almacén en una fecha determinada y con un precio que se necesita negociar para cerrar o no la operación en ese momento.
involucra:
consultar inventario (productos disponibles, reservados, en inspección, suficientes, pendientes de llegar,...)
considerar importancia del pedido (adelantar o no a otros pendientes), controlando el riesgo de la operación
plantear conveniencia y plazos de fabricación para añadirlos a los de entrega de proveedores (si es necesario material)
considerar un plazo de entrega real (nivel de saturación de la
considerar un plazo de entrega real (nivel de saturación de la fábrica)
considerar subcontratación a terceros
considerar productos sustitutivos para completar el pedido (por ejemplo, servidos anteriormente al mismo cliente).
tener en cuenta costes de los productos en su compra y en su transformación considerando distintas alternativas de compra por volumen, o de fabricación por lotes económicos,...
para responder a la pregunta se involucra a gran parte de las áreas de la empresa
Conceptos básicos de BPMN
BPMN son las siglas de Business Process Modeling Notation.
BPMN en la actualidad es un estándar de OMG (Object Management Group).
BPMN propone una notación que sea entendible por:
Los analistas de negocio que modelan las versiones iniciales de los procesos de negocio de la organización.
Los analistas informáticos y programadores que desarrollan la infraestructura en la cual se ejecutarán esos procesos.
infraestructura en la cual se ejecutarán esos procesos.
Los empleados de la organización que se encargan de
“ejecutar” y monitorizar los procesos.
BPMN se basa en “flowcharts” y en la actualidad está disponible en numerosas herramientas.
A un modelo de procesos en BPMN se le llama BPD (Business
Process Diagram).
Conceptos básicos de BPMN: versiones
BPMN surge por iniciativa de BPMI.org que comenzó a desarrollar BPML (Lenguaje de modelado de procesos de negocio ejecutable, basado en XML). La notación recibió el nombre de BPMN.
La primera iniciativa para desarrollar la notación es de Septiembre de 2000.
Versión 1.0 de BPMN (OMG): Mayo 2004
Conjunto de elementos gráficos, semántica informal, primeras herramientas de algunos vendedores.
Versión 1.1 (Enero 2008), sobre 60 vendedores de herramientas.
Versión 1.2 (Enero 2009), correcciones de Versión 1.1.
Version 2.0 beta propuesta por IBM/SAP/Oracle y otros en Junio 2010.
metamodelo (formato de intercambio), semántica descrita formalmente.
BPMN ejemplo
La notación básica contiene los siguientes elementos:
Un ejemplo con parte de la notación:
BPMN poster versión 1.2
Data Object
Task
Multiple Instances
Collapsed Subprocess
Loop
Business Process Modelling Notation
v. 1.2Catching Throwing End Intermediate Start
Data-based Exclusive Gateway
Inclusive Gateway
Event-based Exclusive Gateway Paralllel Gateway
Complex Gateway
Gateways
Events
Activities Data
Transaction
Data Object
Undirected Association
Directed Association Bidirected Association
20
Documentation
Text Annotation Group
Author: Christoph Hartmann Web: http://www.acidum.de
Ad-hoc Subprocesses
∼
∼
∼
∼
Transaction
Plain Message Timer Error Cancel Compensation Conditional Signal Multiple Link Terminate
Catching Throwing
Sequence Flow
Conditional Flow
Default Flow
Message Flow
Pool
BPMN ejemplo: proceso básico
Proceso de compra/venta :
Un proceso de negocio o un método de negocio es una colección relacionada de actividades o tareas estructuradas que producen un servicio específico o producto (sirven para una meta particular)
para un cliente o conjunto de clientes. Frecuentemente se para un cliente o conjunto de clientes. Frecuentemente se visualizan mediante un “flowchart” como una secuencia de actividades, tal como definimos anteriormente.
Elementos del diagrama:
Eventos: inicial, final.
Tareas/Actividades.
Se muestra el camino sin excepciones del proceso, o la situación
BPMN procesos con caminos excepcionales
Elementos nuevos:
Gateways (Puertas).
Diferentes caminos sobre el proceso.
Diferentes eventos de finalización para diferentes estados de
finalización.
Pools y Lanes
Un Pool (piscina) representa un participante en el proceso. Un participante puede ser una
entidad de negocio (una compañía) o puede ser un rol más general (comprador, vendedor,
fabricante, etc.).
Las Lanes (calles) se utilizan para organizar y categorizar actividades dentro de una piscina.
Pueden representar roles internos, sistemas o departamentos de la organización.
departamentos de la organización.
Las calles pueden estar anidadas, por ejemplo
los departamentos de una compañía pueden
modelarse como calles externas y los roles de
cada departamento como calles internas.
BPMN: Pools y Lanes
¿Quién lleva a cabo cada actividad?
Lane: Rol o unidad organizacional.
Lane: Puede también ser un Sistema.
¿Qué proceso?
Nombre del pool. Es más usual utilizar como nombre del pool
el nombre de la organización.
BPMN: subprocesos
Los subprocesos permiten una descomposición jerárquica del modelo.
Procesar Pedido VentasFinanzas
Recibir Pedido
Comprobar
Crédito Enviar
Factura Si
Pedido completado
Si Crédito ok?
No
No
Pedido Fallido
entar Pedido
Almacén lmacén
Cumplimentar Pedido Si
Stock suficiente?
Comprobar Seleccionar de
No
Sin stock
BPMN eventos
BPMN en la versión 1.2
dispone de los siguientes tipos de eventos:
Los eventos específicos llevan asociado un icono que
muestra su significado
Adicionalmente los eventos se
pueden categorizar atendiendo
a las causas que lo generan
(en los iniciales e intermedios)
y a los efectos que producen
(en los finales).
BPMN eventos específicos
Mensaje
Se recibe (o se emite) un mensaje de cualquier tipo, desde un e-mail hasta una conversación en persona. Los datos del mensaje pueden condicionar el flujo posterior
Temporizador
Puede definirse un disparador que inicie un proceso en determinados momentos, o que suspenda el flujo una cantidad de tiempo determinada.
Error (o excepción)
Estos eventos suelen asociarse a una actividad, y reflejan situaciones anómalas que pueden suceder en su ejecución.
Cancelación
Se da lugar cuando el usuario decide cancelar una actividad o proceso y finalizarlo con un procesamiento normal de eventos.
Compensación
Un evento de compensación se produce cuando una transacción finaliza de manera incorrecta y son necesarias operaciones que deshagan los cambios producidos.
Regla
Se pueden disparar eventos basándose en el cumplimiento de una regla determinada.
Enlace
Estos eventos son virtuales y suelen emplearse para conectar distintas páginas de un diagrama, cuando el flujo de proceso es excesivamente grande.
BPMN gateways
Las puertas son los elementos que controlan la divergencia y convergencia de varios flujos de secuencia en el proceso. Por tanto determinará ramificación, bifurcación, fusión y unión de caminos .
Bifurcación XOR (basada en datos)
El flujo se bifurca en uno de los caminos basando su condición en los datos de entrada
Bifurcación XOR (basada en evento) El flujo se bifurca en uno de los caminos dependiendo del evento concreto que se reciba.
Bifurcación OR
El flujo se bifurca en varios caminos de forma independiente, se podrá avanzar por cada camino paralelamente pero sólo si se satisface la condición respectiva.
Bifurcación compleja
La ramificación se basa en condiciones complejas o situaciones especiales
Bifurcación y unión AND
Se emplea cuando se desea dividir el flujo en varios caminos que se ejecutarán
paralelamente. El mismo símbolo se usa para bifurcar los caminos y para volver a
fusionarlos.
BPMN gateways
Hay que destacar que no siempre es necesario usar un elemento pasarela para crear ramificaciones; con el fin de agilizar los
diagramas, se permite obviar las bifurcaciones XOR y OR
empleando simples conectores de secuencia indicando la condición necesaria en cada uno.
El flujo por defecto se sigue si no se satisfacen ninguna de las
otras condiciones.
Flujo de mensajes
El flujo de mensaje es el mecanismo proporcionado para definir la comunicación entre partes del negocio o entre negocios. Estos
mensajes se establecen siempre entre piscinas (pools) separadas, o en diagramas más refinados por ejemplo entre actividades
concretas (cada una de ellas formando parte de un proceso
separado).
Flujo de mensajes
Proceso del cliente:
Pool externa y de caja negra (no se muestran detalles).
Los mensajes fluyen entre los pools.
Cliente
Pedido Ofrecer Respuesta Informe
Fallo
Factura
Procesar Pedido VentasFinanzas Comprobar
Crédito Preparar
Factura Si
Pedido completado Si
Crédito ok?
No
Pedido Fallido Recibir Pedido
Ofrecer artículo sustitución
Aceptado?
No Si
No
Flujo de mensajes
Los mensajes muestran interacciones entre los pools (procesos).
En BPMN 2.0 se llaman diagramas de colaboración, en BPMN 1.2 coreografía.
Con respecto al diagrama anterior:
El evento de inicio dispara la ejecución del proceso cuando el mensaje es recibido.
El evento de finalización envía un mensaje y termina la
El evento de finalización envía un mensaje y termina la ejecución del proceso.
Respectivamente se crea y se termina una instancia de
proceso.
Flujo de mensajes
Los sistemas externos pueden modelarse mediante roles.
El sistema de comprobación de crédito proporciona un servicio que puede modelarse utilizando una caja negra o una caja blanca.
Ventas
Cliente
Pedido Fallido Recibir Pedido
Pedido
Ofrecer artículo sustitución
Ofrecer Respuesta
Aceptado?
No Si
Informe Fallo
Factura
Procesar Pedido FinanzasAlmacén
Comprobar Crédito
Cumplimentar Pedido
Preparar Factura Si
Pedido completado Si
Crédito ok?
Stock suficiente?
No No
Más sobre actividades
Una actividad representa el trabajo realizado dentro de un proceso de negocio. Una actividad puede ser atómica (tarea) o bien
compuesta (subproceso).
Las figuras que representan actividades pueden mostrar símbolos específicos dependiendo de ciertos atributos que definen el
específicos dependiendo de ciertos atributos que definen el
comportamiento de la actividad.
Más sobre actividades
Bucle
La actividad puede repetirse varias veces atendiendo a sus condiciones de iteración definidas en los atributos.
Instancia múltiple
La actividad puede ejecutarse en múltiples instancias en paralelo, de forma simultánea en el tiempo.
Ad Hoc (Independiente)
Una actividad ad hoc tiene lugar fuera del flujo general del proceso de negocio.
Combinación de los anteriores
Un subproceso pude mostrarse colapsado o expandido.
Combinación de los anteriores
Los comportamientos anteriores no son excluyentes;
una actividad puede presentar todos ellos de forma simultánea.
Más sobre actividades
Tanto en las versiones anteriores de BPMN como en la versión 2.0 existen las siguientes categorías de tareas:
Los iconos son opcionales, pero su utilización puede ayudar
a clarificar el diagrama.
Más sobre actividades
Tarea manual: Tarea no automatizada que un rol humano realiza sin utilizar el sistema.
Tarea humana: Tarea que realiza un rol humano utilizando un sistema informático.
Tarea servicio: Permite enlazar con algún tipo de servicio como un servicio Web o una aplicación automatizada.
Tarea script: Ejecuta un script (JavaScript, Xpath, etc) definido por el modelador.
definido por el modelador.
Tarea mensaje: Admite dos variantes envío de mensaje y recepción de mensaje. En el primer caso se envía un
mensaje a un participante externo (similar al evento de
envío de mensaje), en el segundo se recibe (similar a la
recepción de un mensaje).
Artefactos
Se puede considerar como artefacto a todo elemento gráfico
incluido en el diagrama que no afecta directamente al proceso de negocio pero que ayuda a complementarlo con información
adicional.
Los objetos de datos representan elementos del sistema que afectan a las actividades a las que están asociadas. Su significado varía en función del uso que se desee darle: pueden representar desde registros de una base de datos hasta objetos físicos usados en las actividades. Es común asociarlos a tareas y subprocesos en las actividades. Es común asociarlos a tareas y subprocesos
indicando una relación de dependencia (de entrada, de salida, o de
ambas).
Artefactos
Anotaciones de texto:
Este artefacto sirve para documentar brevemente algún elemento del diagrama. Su uso debe restringirse a casos puntuales en los que sea conveniente dejar constancia de algún aspecto relevante del proceso, pero no como herramienta sistemática de documentación.
Grupo:
Un grupo es una mera herramienta visual que permite realizar agrupaciones de elementos de forma totalmente libre. Estas agrupaciones no tienen significado en el proceso de negocio y su única finalidad esno tienen significado en el proceso de negocio y su única finalidad es proporcionar una ayuda gráfica a la hora de indicar áreas críticas del proceso o cualquier otra funcionalidad que se le desee darle.
Transacciones
Un subproceso tanto en forma expandida o colapsada pude ser
considerado una transacción. Esto implica que el subproceso puede tener las siguientes terminaciones:
Completar con éxito: se muestra con un flujo normal que deja al subproceso.
Completar con fallo: representa que la transacción se cancela y esto puede originar que se ejecute un roll-back o una compensación.
Excepción: Si ocurre cualquier tipo de fallo, la actividad se interrumpe y la actividad continua a partir del evento de error intermedio.
y la actividad continua a partir del evento de error intermedio.
BPMN para ingeniería de requisitos
El objetivo del apartado es especificar requerimientos que den soporte a las tareas contenidas en un proceso de negocio.
La entrada es un modelo BPMN en el que se marcan aquellas tareas que son consecutivas, es decir todas aquellas que se ejecutan sin interrupción una a continuación de otra.
En el ejemplo todos los objetos de flujo son consecutivos.
BPMN para ingeniería de requisitos.
La plantilla textual recibe el nombre de Descripción Extendida de Tarea (ETD).
Task Description: CAR RENTAL
Business Process: Car Rental Role: Office Employee Subtasks: Choose a car, Check whether a customer is new or not, Record customer data, Search for customer data, Fill contract, Choose Extras, Take deposit, Print contract details
Input Output
Domain Entity State Domain Entity State
Car Ready Rental Contract Open
Customer (1) - Customer (2) -
Extra Ready Car Rented
- - Extra Rented
¿Qué similitudes diferencias tiene la plantilla con respecto a un modelo de casos de uso?
User intention System responsibility Normal
2. Select a car
4. Select a customer 5. Introduce rental contract information
1. Show cars 3. Show customers
6. Store information 7. Show contract details 8. Print contract details Alternatives
4.a.1. Introduce customer data
4.a.2. Store customer data (5) Extensions
5.a.2. Select extras
5.a.1. Show extras 5.b.1. Introduce deposit amount