information systems for business processes
DESCRIPTION
Tutorial given by Prof. J. Guerrero-Garcia at ENC'2012 conferenceTRANSCRIPT
Tutorial on Information Systems for Bussiness Process
Dra. Josefina Guerrero García Dr. Juan Manuel González Calleros
Facultad de Ciencias de la ComputaciónBenemérita Universidad Autónoma de PueblaCiudad UniversitariaAv. San Claudio y 14 sur, Edificio 136ªPuebla, México.
Email: [email protected] [email protected] Twitter: @Juan__Gonzalez
1-2
@Juan__Gonzalez
Los procesos
• Un proceso es un conjunto de actividades o eventos (coordinados u organizados) que se realizan o suceden (alternativa o simultáneamente)bajo ciertas circunstancias con un fin determinado.
• La definición de un proceso indica el ordenamiento de tareas en tiempo, espacio, y recursos.– Relación directa con las tareas de alto nivel– Nos permite determinar lo que se requiere y no entrar en
los detalles (modelo de tareas)
• Para modelar problema más extensos y complejos
1-3
@Juan__Gonzalez
¿Por qué modelar procesos?
• Dan soporte a los procesos de negocios cuando son automatizados usando Workflow– Requisito necesario para permanecer competitivo
• Workflow se refiere a los procesos de negocio que pueden ser automatizados– En particular nos interesan aquellos que usan sistemas
basados en computadoras
• El modelado de procesos usando Workflows permite ladefinici{on de tareas de alto nivel, las cuales pueden ser detalladas con modelos de tareas
1-4
@Juan__Gonzalez
¿Por qué modelar procesos?
• A pesar de que los sistemas de información se consideran vitales en una organización no necesariamente cumplen con tales expectativas en la practica. – Las tareas son definidas asumiendo que serán ejecutadas
por personas– La estructura organizacional define grupos de usuarios– Después se determina si se requieren sistemas para
apoyarlos en sus actividades
Los sistemas no logran sus objetivos
1-5
@Juan__Gonzalez
¿Por qué modelar procesos?
• Es importante construir Sistemas con éxito es, al menos por dos razones: – 1) para lograr exitio un SI debe ser
comprensible para las organizaciones y solo puede ser posible si tiene en cuenta prácticas actuales de trabajo,
– 2) un SI determina, en cierto grado , qué trabajo se puede hacer y cómo puede llevarse a cabo, • debe ser diseñado de acuerdo a los objetivos y metas
de las organizaciones
1-6
@Juan__Gonzalez
Modelando Procesos
• Workflow define las actividades relacionadas con la ejecución coordinada de múltiples tareas realizadas por los diferentes recursos para lograr un objetivo comercial común. – Una de las tareas define el trabajo que hacer por una
persona, por un sistema de software o por ambos.– Para controlar y coordinar la ejecución de tareas
tenemos que conocer quienes las deben ejecutar bajo que condiciones y donde, así como las relaciones entre las propias tareas.
1-7
@Juan__Gonzalez
Modelando Procesos – Lo que buscamos modelar
1-8
@Juan__Gonzalez
Modelando Procesos – Lo que buscamos modelar
1-9
@Juan__Gonzalez
Modelando Procesos – Lo que buscamos modelar
1-10
@Juan__Gonzalez
Beneficios del modelado de procesos–Adherencia a los procesos de modelos
(compatible)–Explicita representación de control del flujo del
trabajo• Cambios al modelado de procesos no requiere
esfuerzo de codificación–Explicita representación del envolvimiento de los
recursos• Trabajo es directamente ruteado hacia el
recurso correcto• Aspectos como carga de trabajo, historial,
entre otros, pueden ser tomados en cuenta en la asignación de trabajo
1-11
@Juan__Gonzalez
Ciclo de vida del modelado de procesos
process(re)design
andanalysis
systemconfiguration
diagnosis
processenactment
andmonitoring
Diagnostico
(Re)Diseño de
procesos y análisis
Configuración del sistema
Mejora de procesos y monitoreo
1-12
EL CONCEPTO DE TAREADonde todo inicia
1-13
@Juan__Gonzalez
1. El concepto de tarea
– Esta es una tarea• Incribirse a un peridico a traves de un formulario• Pedir un libro• Validar un plano con un urbanista cara a cara
– Esta no es una tarea• Garantizar la distribución de periodicos
– Tarea Interactiva = tarea de usuario• Exemples:
– Guardar una solicitu de compra– Imprimir el correo de forma masiva
1-14
@Juan__Gonzalez
El concepto de tarea
• Ciclo simplificado de tareas
Taskcreated
Taskoffered
Taskallocated
Taskdelegated
Taskstarted
Tasksuspended
Taskcancelled
Taskfailed
Taskcompleted
Taskfinished
define
offerstart
start
startallocate
delegatereturn
cancel fail
suspendresume
run, redo
undo, repeat
finish
reviewTask
created
Taskoffered
Taskallocated
Taskdelegated
Taskstarted
Tasksuspended
Taskcancelled
Taskfailed
Taskcompleted
Taskfinished
define
offerstart
start
startallocate
delegatereturn
cancel fail
suspendresume
run, redo
undo, repeat
finish
review
1-15
@Juan__Gonzalez
Ciclo de vida estándar de una tarea
• Creación– Resulta de identificar el objetivo operacional que la define
• Afectación a un actor– El actor se convierte en responsable de la tarea
• Lanzamiento– Una vez que las condiciones se dan se lanza la tarea
• Toma de responsabilidad– Inicio de la realización efectiva de la tarea
• Terminación– Momento donde el objetivo de la tarea se ha cumplido
• Destrucción– Supresión de referencias en situaciones de cooperación
1-16
@Juan__Gonzalez
1. Concepto de tarea
• Definición– Tratamiento de una unidad de ejecución espacio-
temporal en una unidad organizacional usando el mismo conjunto de recursos
• ¿Cómo identificar tareas?– Criterios de identificación
1-17
@Juan__Gonzalez
1. Concepto de tarea
• Criterios de identificación• Cambio de unidad espacial (inter organización/manual/auto/mecánica)
– reubicaciónestación de trabajootro lugar (oficina general / sucursal)
• Cambio de recursoPersona: + experto en finanzasHardware: Pocket PC +, - terminalInformación: Cliente -> Producto
• Cambio de unidad temporal– Existencia de una interrupción
existencia de un punto de esperaTipo de decisión: Si la opción es correcta
– Tipo de acumulador: para cada permanencia en la unidad de implementación
– Cambio en la frecuencia de ejecución
1-18
@Juan__Gonzalez
1. Concepto de tarea
– Ejemplo : « Tratamiento de ordenes del cliente »• 1. Preparación de la orden
– Tarea manual– Abrir sobres, verificar la orden de compra que este
debidamente firmada y contenga la información necesaria para identificar al cliente
• 2. Registro de la Orden– Tarea interactiva– El operador de registros debe, via una terminal de
trabajo, codificar los dato de la orden.
-Punto de espera-Punto de decisión-Cambio de recurso
1-19
@Juan__Gonzalez
1. Concepto de tarea
• Ejemplo: « Tratamiento de ordenes del cliente » 2. Registro de la Orden
• 3. Preparación de una solicitud– Tarea automática– Actualiza el inventario de productos asocia a la
orden. Algunas cosas de la solicitud dan origen a solicitud de compras, el resto es guardado y será enviado en uno o más envíos.
• 4. Preparación de la entrega– Tarea automática– Cuando n solicitudes han sido generadas, se procede
con la preparación de los envíos de manera que se optimizan los recursos
-Punto de decisión-Cambio de recurso
Punto de espera
1-20
@Juan__Gonzalez
1. Concepto de tarea
• Ejemplo: « Tratamiento de ordenes del cliente »
• 4. Preparación del envío
• 5. Tratamiento del pedido– Tarea manual– Cruzar la bodega recolectando los productos
• 6. Elaboración del paquete– Tarea interactiva– Al final de la recolección de cosas se colocan en una
maquina que empaqueta, ahí mismo se envia a imprimir el recibo, factura y los documentos de envío
-Cambio de recurso-Cambio de lugar
-Cambio de recurso
1-21
@Juan__Gonzalez
1. Concepto de tarea
• Ejemplo: « Tratamiento de ordenes del cliente »– 6. Elaboración del paquete
• 7. Envío de mercancía– Tarea manual– El paquete y los docs de acompañamiento (o prueba de no entrega)
son enviados al cliente.
• 8. Selección de ordenes retrasadas– Automática– Cuando llega mercancía, entregas retrasadas de estos productos
son seleccionadas
-Cambio de recurso
-Diferencia deperiodicidad
1-22
@Juan__Gonzalez
1. Concepto de tarea
• Ejemplo: « Tratamiento de ordenes del cliente »– 8. Selección de ordenes retrasadas
• 9. Notificación de no reservas– Tarea automática– Cada vez que el producto se ha terminado una
notificación se hace al cliente
-Diferencia deperiodicidad
1-23
@Juan__Gonzalez
Tabla de Identificación de Tareas
– Presentación estándar de las tareas
– N° = número de la tarea en la aplicación– Nom de la tarea = nombre de la tarea, verbo objeto
afectado por la acción– Pred = no predecesor de la tarea– Definición = descripción detallada de la tarea– Justificación = lista de criterios de identificación de la
tarea– Naturaleza = manual, interactiva, automática o abstracta
N° Nom de la tarea Pred Definición Justificación Naturaleza1 Hacer un
expediente_ Ccrear un expediente
Len la sucuralManual
1-24
@Juan__Gonzalez
1. Concepto de tarea
• Criterios de identificacion («Trucos»)– Para descubrir una tarea
• Cambio de lugar– recorrido, cambio de lugar en la sucursal, cambio de oficina, ir a otro
puesto de trabajo• Cambio de recurso
– de tipo de persona : una a otra persona– de tipo material :
» Todo cambio de materia prima (man/int/auto/méca)» terminal, impresora, red Internet
– de tipe informacional : otro tipo de expediente• Punto de espara de tipo decisión
– Decisión humana– Línea correcta, ccompra registrada, si…, acceptada, podría ser en
caso de …, aprueba
1-25
@Juan__Gonzalez
1-26
@Juan__Gonzalez
1. Concepto de tarea
• Criterios de identificacion («Trucos»)– Para descubrir una tarea
• Punto de espera tipo acumulación– Ara da producto, una vez que llega todo, esperamos un
paquete para enviar, enviar despues de que llegan 10 paquetes
• Diferencia de periodicidad– A cada re aprovisionamiento – cada que un producto esta
disponible– A terminar la semana – al menos 20 minutos de espera
1-27
@Juan__Gonzalez
1. Concepto de tarea
• Criterios de identificación («Trucos»)– Para descubrir una tarea
• No-permanencia en la unidad de ejecución en ejecuciones sucesivas
• Punto de espera – Ya que, cuando, enseguida, el fin de…, es seguido de …,
inicia, después, en la recepción de– Mensaje de hora : son 5 horas
Tâche C
Tâche A
Tâche B
Tâche D
Tâche E
Si C depende logicamente de A y B Donde la ejecución es asincrna, entonces C es una tarea
1-28
HERRAMIENTA DE IDENTIFICACIÓN DE TAREAS
Elicitación de requerimientos
1-29
@Juan__Gonzalez
29 HCIS’2008 – Milan, September 8-9th, 2008, during IFIP World Congress 2008
Tool support
• Herramienta para la identificación de tareas
1-30
@Juan__Gonzalez
Nivel : clasificación manual
• Definición :– El usuario del programa hace el trabajo de
elicitación– Sin la ayuda de un proceso automatizado
• Método :– Selección de una zona de texto de un
escenario– Seleccionar el modelo apropiado y el tipo de
objetos
1-31
@Juan__Gonzalez
Nivel : clasificación manual
12
3
1-32
@Juan__Gonzalez
Nivel : clasificación manual
• Ventajas : – Resultados asegurados– Más fácil de implementar que una herramienta
automatizada– No hay necesidad de datos de clasificación
• Inconvenientes : – Fastidiosa para el usuario– Costoso en tiempo
1-33
@Juan__Gonzalez
1. Identificación de tareas
1-34
@Juan__Gonzalez
1. Concepto de tarea
• Ejercicio – Identifica y lista las tareas Cuando un cliente llega a la agencia inmobiliaria, ingresa su solicitud a la secretaria de solicitudes. Indica el tipo de bien que desea renta o comprar, sus restricciones de presupuesto así como las principales características de los bienes que le podrían interesar.
El empleado registra su solicitud, es decir, asocia el perfil del cliente con las variable estándar de comprar de bienes, en caso de ser nuevo cliente se da de alta su perfil en el sistema.
La conclusión del registro de una solicitud lanza de manera automática, para cada variante del perfil del cliente, la impresión de bienes que pudieran ser de su interés y que aún estén disponibles (esta lista describe la ubicación del bien, el precio solicitado y la información de la superficie)
El cliente examina las listas y elimina lo que no le interesa. Si quedan cosas de su interés entonces se le dirige al servicio de visitas.
Para cada bien que le interesa al cliente, se le proporcionan más amplios detalles, mientras otro empleado busca fotografías del bien. Gracias a los detalles extras y las fotos, el cliente puede tener una opinión más amplia del bien. El empleado registra si el cliente esta o no de acuerdo y procede a la visita física del inmueble.
1-35
MODELADO DE TAREAS
1-36
@Juan__Gonzalez
Modelado de tareas
• Los modelos de tareas describen las actividades del usuario para alcanzar sus metas
• Conocer las tareas necesarias para la consecución de objetivos es fundamental para el proceso de diseño (sobre todo si pensamos en sistemas de información como solución).
• Si nos dieron a los desarrolladores sólo representaciones informales (como los escenarios o en papel maquetas), que tendrían que tomar muchas decisiones de diseño por su propia cuenta, probablemente sin los antecedentes necesarios, para obtener un sistema interactivo completo.
1-37
@Juan__Gonzalez
Modelado de tareas
• Modelos de tareas representan la intersección entre el diseño de la interfaz de usuario y enfoques más sistemáticos por dar a los diseñadores un medio de representación y manipulación de una abstracción de las actividades que debe realizar para alcanzar los objetivos del usuario.
• En algunos casos el modelo de tarea de un sistema existente se crea con el fin de entender mejor el diseño subyacente y analizar sus posibles limitaciones y cómo superarlas.
1-38
@Juan__Gonzalez
Modelado de tareas
• El propósito es indicar cómo las actividades se deben realizar para obtener un nuevo sistema, usable que es apoyado por una nueva tecnología.
• Modelos de tareas pueden ser representados en diferentes niveles de abstracción.:– Alto nivel: las actividades de las principales tareas – Bajo nivel: las actividades se representan con una
granularidad pequeña, todos los detalles.
1-39
@Juan__Gonzalez
Modelado de tareas
• El modelo puede ser una aplicación completa o una de sus partes. – los diseñadores quieren modelar algunas sub-
conjuntos con el fin de analizar e identificar las posibles opciones de diseño y las mejores soluciones.
• Cuanto mayor sea el conjunto de funcionalidades consideradas, más difícil el trabajo de modelado.
• Existen herramientas que facilitan la labor del modelado
1-40
@Juan__Gonzalez
Modelado de tareas
• Modelos de tareas se puede utilizar para muchos tipos de aplicaciones: – Hay aplicaciones que son claramente orientado a los
objetivos y lo que las tareas están claramente estructurados, – otras aplicaciones de soporte a una amplia gama de
opciones disponibles en cualquier momento, con la posibilidad constante de que los usuarios libremente decidan qué hacer y cómo hacerlo, en este caso el modelo de tarea no debe ser muy estructurado a fin de que tales posibilidades.
1-41
@Juan__Gonzalez
Modelado de tareas
• Muchos de los modelos de trabajo, los métodos de trabajo de análisis y herramientas de apoyo se han introducido en la literatura y son ampliamente utilizados en la práctica.
• A continuación listaremos algunos de los enfoques más usados en la literatura.
1-42
@Juan__Gonzalez
Herramientas para el modelado de tareas
• Muchas notaciones existen para modelar tareas– Flexibles y expresivas– Con información sistemática de cómo usar la
información en el modelado de tareas– Diferentes niveles de detalle– Diferentes operadores y relaciones– Diferentes representaciones gráficas
• Al final la mayoría converge a una solución muy similar• Disponibilidad de herramientas para hacer el trabajo más
fácil
1-43
@Juan__Gonzalez
Uso de modelos de tareas
• Mejor comprensión de la aplicación (y de su uso en particular)
• Registro de discusiones (multidisciplinario)• Ayuda al diseño• Ayuda a la evaluación de usabilidad• Ayuda a la evaluación de rendimiento • Ayuda al usuario a ejecutar tareas (ayuda
contextual)• Documentación (contenido + estructura)
1-44
@Juan__Gonzalez
Análisis de tareas
• El análisis de tareas consiste en el estudio de:– Información que necesita el usuario para realizar la tarea (qué
hacer) – Terminología y símbolos del dominio del problema (elementos)– Descripción de cómo esas tareas se realizan actualmente
(cómo)
• Es el proceso de analizar la manera en que las personas realizan sus trabajos– Lo que hacen– Sobre qué cosas actúan– Qué necesitan saber
1-45
Estandar Ansi-Cea
Según estudios, la mitad de los productos electrónicos de consumo devueltos a la tienda funcionan al 100% - los clientes simplemente no pudieron averiguar como operarlos.
1-46
La crisis de usabilidad tiene al menos dos aspectos:
Complejidad Inconsistencia
1-47
Complejidad
El control por computadora a hecho fácil poder agregarle características a los productos.
Como resultado a provocado que los usuarios no puedan manejar intuitivamente los diseños de la interfaz de usuario.
1-48
Inconsistencia
La diferencia que existe entre las interfaces de dispositivos con funciones similares o del mismo fabricante.
1-49
ANSI/CEA-2018
La aprobación del estándar ANSI/CEA-2018 fue motivada precisamente por la crisis de usabilidad en los productos electrónicos controlados por computadora.
1-50
Interfaz de usuario basada en tareas
Una manera de reducir la complejidad es eliminando el mayor número de características como sea posible.
Apple ha sido notable por hacer esto.
1-51
Referencias
Building Task-Based User Interfaces with ANSI/CEA-2018, Charles Rich, Worcester Polytechnic Institute, IEEE Computer, Vol. 42
[Implementación ANSI/CEA-2018] http://www.cs.wpi.edu/~rich/cetask
[Implementación GUI] http://www.cs.wpi.edu/~rich/courses/cs525u-s08/projects
1-52
@Juan__Gonzalez
ConcurTaskTrees
• Estructura jerárquica de las tareas• Sintaxis es gráfica
– Facilita su uso y comprensión
• Se centra en las actividades del usuario• Se crea en 3 niveles
– Descomposición de las tares– Definición de las relaciones espacio-temporales de las tareas– Asociación de objetos para la ejecución de tareas
• Interfaz de usuario • Datos de dominio de la aplicación
1-53
@Juan__Gonzalez
ConcurTaskTrees
• Cada tarea se especifica con:– Identificador– Nombre– Categoría– Tipo– Frecuencia de uso– Plataforma donde se usa– Anotaciones informales– Precondiciones
1-54
Abstracta
Aplicación
Interaccíón
Usuario
ConcurTaskTrees: Las categorías
Cooperativa
1-55
@Juan__Gonzalez
ConcurTaskTrees: operadores temporales• T1 >> T2 habilitar• T1 [ ]>> T2 habilitar + paso de información• T1 |> T2 suspender / resumir• T1 [ ] T2 Selección• T1 [> T2 Deshabilitar• T1 |=| T2 Independencia (cualquier orden)• T1* Iteración• T1{n} Iteración finita• T1 ||| T2 Concurrencia• T1 |[x]| T2 Concurrencia + paso información• [T] Opcional• T Recursión
1-56
@Juan__Gonzalez
T1 T2
Time
1-57
@Juan__Gonzalez
T1
T2
Time
1-58
@Juan__Gonzalez
T1T2
Time
T2T1
1-59
@Juan__Gonzalez
T1 T2
Time
T2 T1
1-60
@Juan__Gonzalez
T1T2
Time
1-61
@Juan__Gonzalez
T1T2
Time
T1
1-62
@Juan__Gonzalez
T1 T2
Time
1-63
@Juan__Gonzalez
T1T2
Time
T2T1
1-64
@Juan__Gonzalez
Operadores temporales
• * Iteración. La tarea es ejecutada repetidamente. Esto se repite tantas veces como sea necesario y solo hasta que otra tarea la desactiva.
T2T1
1-65
@Juan__Gonzalez
Operadores temporales
• * Iteración finita. La tarea es ejecutada repetidamente n cantidad de veces. La cantidad de repeticiones depende del problema.
T2T1
N veces
1-66
@Juan__Gonzalez
Operadores temporales
• [] tarea opcional. Indica la posibilidad de que una tarea no sea ejecutada.
1-67
@Juan__Gonzalez
Operadores temporales
• Recursión. Cuando una tarea ya defina puede ser reusada en otra parte del árbol de tareas..
1-68
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, tareas de alto nivel
1-69
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, nivel intermedio
1-70
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, bajo nivel intermedio
1-71
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, nivel intermedio
1-72
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, bajo nivel
1-73
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, tareas de alto nivel
1-74
@Juan__Gonzalez
Ejemplo
• Uso de un teléfono celular, bajo nivel
1-75
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Nombre de la tarea: Usa la nomenclatura– Tipo de tarea + Objeto que manipula
1-76
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Nombre de la tarea: Usa la nomenclatura– Tipo de tarea + Objeto que manipula
1-77
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Nombre de la tarea: Usa la nomenclatura– Tipo de tarea + Objeto que manipula
1-78
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Nombre de la tarea: Usa la nomenclatura– Tipo de tarea + Objeto que manipula
Items de tarea Definición
Colección Especifica la manipulación de un conjunto de items de tareas
Contenedor
Especifica un item que agrupa o acumular otros items de tareas
Element o
Es el item que representa un característica simple
Operation Especifica una función
1-79
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Nombre de la tarea: Usa la nomenclatura– Tipo de tarea + Objeto que manipula
1-80
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Evitar la ambigüedad
Cual es el orden de ejecución de estas tareas?
T2, (T3 y T4), Si T4 es ejecutada puedo ejecutar T5 ¿Esto es correcto? ¿T3 es alcanzable?
1-81
@Juan__Gonzalez
Recomendaciones al modelar tareas
• Evitar la ambigüedad
La ejecución ahora es clara T2, (T3 y T4), T5 o T6
1-82
@Juan__Gonzalez
El modelo de tareas es independiente de la herramienta
1-83
@Juan__Gonzalez
Ejercicio
• Hacer el modelo de un ATM – Pensar en las actividades normales – Pensar en las actividades anormales
• Algunas restricciones– Insertar_Tarjeta, Ingresar Codigo Pin, Retirar
tarjeta– Solicitar retiro, Seleccionar cantidad, Retirar
efectivo– Etc…
1-84
@Juan__Gonzalez
ATM: Tarea
• Meta: obtener dinero, pagar tarjeta de crédito, consulta de saldo
• Prerequisitos: – Tener tarjeta– Conocer cantidar a
retirar– Conocer número pin– Conocer no de cuenta
de tarjeta de credito• Resultados
– Retiro de dinero– Tarjeta en mano– Comprobante de pago
a tarjeta– Saldo de la tarjeta
Abstract
Application
Interaction
User
Categories
• T1 >> T2 habilitar• T1 [ ]>> T2 habilitar +
paso de información• T1 |> T2 suspender /
resumir• T1 [ ] T2 Selección• T1 [> T2 Deshabilitar• T1 |=| T2 Independencia
(cualquier orden)• T1* Iteración• T1{n} Iteración finita• T1 ||| T2 Concurrencia• T1 |[x]| T2 Concurrencia +
paso información• [T] Opcional• T Recursión
Operators
1-85
PROCESOS
1-86
@Juan__Gonzalez
Un árbol puede ser muy extenso
[ ]>>
Visualization
List Meter
Zonename
LastReading
||||||||
Selection
Filter Process filter
[ ]>>
Process
[ ]>>
Selection
[ ]>>
Order
Zone Code
SerialNumber
|||
Meter Order
Address Number
|||
Meter's Address
[ ]
Client Zone
|||
All NewMeter
Operations on instances
||||
Actions
Actions
InstanceSelection
[ ]>>
Navigation
InstanceSelection
PressButton
[ ]>> [ ]>>
Subscriber
[ ]
LastReading
Navigate
Calibre
[ ]
...
... ...
1-87
@Juan__Gonzalez
División de Tareas
Time Space (location) User Stereotype
Workflow Series of time periods Different locations Different groups of resources
Process Series of time periods Same location One resource or a group of resources
Task Same time period Same location Same resource
1-88
@Juan__Gonzalez
Diseño de Sistemas de Workflow
1-89
@Juan__Gonzalez
Modelando Procesos
• UML Diagramas de actividad– OMG– Version 2.0 inspirado en redes de Petri
• El concepto de lugar (place) hace falta (por lo tanto no es posible describir ciertos escenarios)
• No hay un mapeo directo• No hay semántica simeple ni clara
– No es su intención que sea ejecutable– No hay formalización– Notación prácticamente no usada ya que se
adopta la notación BPMN
1-90
@Juan__Gonzalez
Organizando workflows
• La gente trabaja para vivir– Estamos organizados como unidades de negocio especializados– Limitado rango de productos– Implica nuevos tipos de trabajo: trabajo creado– Los empleados necesitan entender para que cliente estan
trabajando
• Proceso de negocio– Caso= todos los tipos de trabajo = trabajo,
empleo, producto, servicio, elemento• Abstracto o concreto• Discreto por naturaleza: delimitado en el tiempo
1-91
@Juan__Gonzalez
Organizando workflows
• Cada caso involucra un proceso– Un proceso consiste de
• Una serie de tareas que requieren ser ejecutadas• Un conjunto de condiciones que determinan el orden de las
tareas• Es igual a un procedimiento
– Una tarea es la unidad logica de trabajo que es ejecutada individualmente por un recurso• Ejecución <> responsabilidad
– Orden de tareas = diagrama de procesos
= n predecesores, 1 sucesor = 1 predecesor, n sucesores
1-92
@Juan__Gonzalez
Organizando workflows
• Una tarea en una proceso representa tareas de alto nivel las cuales pueden ser detalladas usando modelos de tareas– Un modelo de tareas es asociado
• Un proceso es ejecutado por cada caso– La ejecución de una tarea por un recurso es
llamado actividad• Varios casos podrían usar el mismo proceso
pero cada caso seguirá su propia ruta– Depende de los atributos del caso
1-93
@Juan__Gonzalez
Definición de proceso
• La definición de un proceso especifica que pasos son requeridos y en que orden deben ser ejecutados.– (enrutamiento, definición, procedimiento, workflow script)– (orden de compra, declaración de impuestos, proceso de
reclamación de seguro)• La definición de un procesos consiste de:
– Tareas (paso, actividad, elemento del proceso)– Una tarea es de alto nivel y puede descomponerse en
subtareas.– Condiciones (estado, fase, requirimiento)– Una condición es usada para determinar las tareas que
esán disponibles.
1-94
@Juan__Gonzalez
Caso
• Un caso es la ‘cosa' que requiere ser procesada siguiendo la definición del proceso.– (instancia de un proceso, job, projecto)– (reclamo de seguro, orden de compra, queja, aplicación
de prestamo)• El estado de un caso esta determinado por:
– Variables del caso (parámetros del caso)– Los atributos lógicos del caso que son usados para
direccionar el caso.– Condiciones– Los requerimientos que son satisfechos.
• Datos de la aplicación están fuera del modelado de procesos.
1-95
@Juan__Gonzalez
Modelando Procesos
place transition arc
• La notación esta inspirada en las redes de Petri • Definido por Carl Adam Petri en los años sesenta• Teoría formal para el modelado de concurrencia
(varias actividades, varias personas, juntos o separados)
• Grafo bipartito formado por los lugares/places (representados por círculos) y transiciones (representadas por las barras o cajas)
1-96
@Juan__Gonzalez
Modelando Procesos
tarea condición
caso
Detalle de tarea [ ]>>
Visualization
List Meter
Zonename
LastReading
||||||||
Selection
Filter Process filter
[ ]>>
Process
[ ]>>
Selection
[ ]>>
Order
Zone Code
SerialNumber
|||
Meter Order
Address Number
|||
Meter's Address
[ ]
Client Zone
|||
All NewMeter
Operations on instances
||||
Actions
Actions
InstanceSelection
[ ]>>
Navigation
InstanceSelection
PressButton
[ ]>> [ ]>>
Subscriber
[ ]
LastReading
Navigate
Calibre
[ ]
...
... ...
1-97
@Juan__Gonzalez
Red de Petri de un proceso de reclamación de intervención de aseguradora de autos
Obtener cotización
Reparar auto
Comprar auto nuevo
Manejar cuenta
preliminares de reclamación de seguros
Presentar reclamación Final de seguro
Nota: Tareas de alto nivel
1-98
@Juan__Gonzalez
Habilitando las transiciones
• Las transiciones cambian los estados de la red al ser ejecutadas.
• Solo las transiciones habilitadas pueden ser ejecutadas.
• Informalmente, una transición esta habilitada si todos los estados reueridos para su ejecución contienen al menos un token.
1-99
@Juan__Gonzalez
Ejecución de una transición: Ejemplo
Antes
1-100
@Juan__Gonzalez
Ejecución de una transición: Ejemplo
Antes
1-101
@Juan__Gonzalez
Ejecución de una transición: Ejemplo
Antes Después
1-102
@Juan__Gonzalez
Ejecución de una transición: Ejemplos
1-103
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
1-104
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Única transición disponible
1-105
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Transiciones disponibles
1-106
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Rechazar la moneda me regresa al
estado inicial
1-107
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Aceptar la moneda
1-108
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Listo para entregar
dulce
1-109
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Listo para recibir
moneda
Listo para rellenar maquina
1-110
@Juan__Gonzalez
Ejemplo concreto
Deposito de dulces
rellenar
Entregar dulce
Listo para deposito de moneda
Insertar moneda
Retener moneda
Rechazar moneda
Listo a entregar
Aceptar moneda
Solicitar relleno
Listo para recibir
moneda
No necesariamente
se abastase inmediatamente
1-111
@Juan__Gonzalez
Otro ejemplo de red de Petri: Elevador 1
El número de tokens representa el número de movimientos verticales que puede hacer un elevador hacia arriba o abajo en cualquier estado del sistemaAnimation by Wil van der Aalst, Vincent Almering and Herman Wijbenga
1-112
@Juan__Gonzalez
El token representa el elevador y sus posibles estados estan representados por lospisosP1 a P4 y las transiciones A1 a A6 el ascenso o descenso del elevador Animation by Wil van der Aalst, Vincent Almering and Herman Wijbenga
Otro ejemplo de red de Petri: Elevador 2
1-113
@Juan__Gonzalez
El token representa la persona que usa al elevador y sus tareas denotadas de A1 a A4Animation by Wil van der Aalst, Vincent Almering and Herman Wijbenga
Otro ejemplo de red de Petri: Elevador 3
1-114
@Juan__Gonzalez
Ejercicio de modelado
• ¿Qué aprendimos de los ejemplos anteriores?– La perspectiva y el objeto en estudio hace que el modelado de
procesos sea diferente
• Ejercicio– Modelar la red de Petri necesaria para controlar los semáforos de
un cruce simple, es decir, si el semáforo1 tiene luz roja ponerle luz roja al semáforo 2.
• Modela primero un semáforo• Después busca el estado común que relaciona los dos semáforos
1-115
@Juan__Gonzalez
Animation by Wil van der Aalst, Vincent Almering and Herman Wijbenga
Solución al problema de tráfico de semáforo
2011 BUAP 116
Catalogo de PatronesPatrones de Control Primario• Sequence
2011 BUAP 117
Catalogo de PatronesPatrones de Control Primario• And-Split – ejecuta actividades en paralelo• Ejemplos• Después de la terminación de la tarea de captura de la matrícula,
ejecutar crear el perfil de los estudiantes y enviar confirmación de inscripción al mismo tiempo.
• Cuando una alarma de intrusión se recibe, active la tarea alertar guardia e informar inmediatamente a la policía.Una vez el cliente haya pagado por los bienes, empaquetarlos y emitir un recibo.
2011 BUAP 118
Catalogo de PatronesPatrones de Control Primario• And-Join – sincronizar dos hilos paralelos de ejecución• Ejemplos• La tarea de despacho de bienes se ejecuta
inmediatamente después de que tanto la verificar factura y producir recibo son completadas.
• La declaración de efectivo en el cajón sólo puede ocurrir cuando la tienda ha sido cerrada y el resumen de tarjeta de crédito ha sido impreso.
2011 BUAP 119
Catalogo de PatronesPatrones de Control Primario• XOR-Split – seleccionar una ejecución de muchas alternativas• Ejemplos• Dependiendo del volumen de tierra para ser trasladados, se envía
la petición de la retroexcavadora, el bobcat o la excavadora-D9 para completar el trabajo.Después de la tarea revisión de elección se haya completado, o bien declaran los resultados o la tarea de recuento de votos se realiza.
2011 BUAP 120
Catalogo de PatronesPatrones de Control Primario
• XOR-Join – une dos alternativas de ejecución• Ejemplos• A la conclusión de la excavación de la excavadora bobcat o la d9,
la tarea de estimación de cantidad de tierra excavada es realizada para solicitar pago.
• Después de hacer el pago u otorgar creditos, se inicia la tarea de hacer recibo del producto.
2011 BUAP 121
Catalogo de Patrones
• Or-Split – seleccione muchos caminos de ejecución de entre muchas opciones
• Ejemplos• Dependiendo de la naturaleza de la llamada de emergencia, una o
más tareas de envío es efectuada: enviar policía, enviar carro de bomberos y enviar ambulancia.
2011 BUAP 122
Catalogo de PatronesPatrones de Conexión y Sincronización Avanzados• Or-Join – La unión de dos o más líneas de ejecución (que
divergieron previamente en un punto especifico) y se unen en una única línea de consecución.
• La Unión sincronizada estructurada ocurre en un contexto estructurado, es decir debe existir un or-split antes en el modelo de procesos.
2011 BUAP 123
Catalogo de PatronesPatrones de Conexión y Sincronización Avanzados• Or-Join• Ejemplos• Dependiendo la naturaleza de la llamada una o más tareas de
envío es efectuada: enviar policía, enviar carro de bomberos y enviar ambulancia. Cuando todos los vehículos de emergencia lleguen al lugar del accidente, la tarea transferir-paciente comienza.
2011 BUAP 124
YAWLHerramienta para modelado de procesos
2011 BUAP 125
YAWL notación
Composite task Multiple Instance task
2011 BUAP 126
Ejemplo general de Yawl
reservar
Vuelo
hotel
auto
pagar
2011 BUAP 127
Ejemplo general de Yawl
registro
vuelo
hotel
auto
pagar
2011 BUAP 128
Ejemplo general de Yawl
Registroplanear_segmento_itiner
ario
pagar
registrar_segmento_itirenario
vuelo
hotel preparar_información_
pago
auto
2011 BUAP 129
Ejemplo General YAWL
registro
avión
hotel
auto
pagar
cancelar
2011 BUAP 130
Actividad• Una agencia de viajes ejecuta varias tareas. Primero el
cliente es registrado. Después, el empleado busca oportunidades que son comunicadas al cliente. Después el cliente es contactado para determinar si sigue interesado o no en el viaje ysi quiere otras opciones. Hay 3 posibilidades: 1) el cliente no esta interesado, 2) quiere ver mas alternativas, 3) el cliente selecciona una oportunidad.
• Si el cliente selecciona un viaje, el viaje es reservado. En paralelo, uno o dos tipos de seguros (seguro de cancelación, perdida de equipaje) se preparan si es del deseo del cliente, puede ser que ninguno. Dos semanas antes del inicio del viaje los documentos son enviados al cliente. Un viaje puede ser cancelado en cualquier momento después de hacer la reservación y antes de que inicie el viaje. Notar que los que no tengan seguro no seran reembolsados.
2011 BUAP 131
Ejercicio
Asignación y aceptación del trabajoEn el trabajo siempre estas bajo las
ordenes de otras personasJefe Cliente
siempre tiene la razónGuían nuestro trabajo
Las ordenes del jefe a su personalDirectas. Cuando el producto realizado es
directamente dirigido al cliente, procesos primarios
Indirectas. Cuando el trabajo involucra mantenimiento o mejora de los procesos de producción, procesos secundarios y terciarios
Asignación y aceptación del trabajoLos organigramas en una empresa sirven
para definir el orden en que una tarea es asignada de una persona a otra.
Los actores que intervienen en este proceso son:La persona que asigna la tarea es conocido
como director; mientras que la persona a la que se le asigna una tarea es un contratista.Puede ser una persona o una empresa
Asignación y aceptación del trabajoPara tener éxito es importante:
Tener bien claro quién es nuestro clienteUn empleado trabaja mejor si sabe quien es
su clienteAyuda a la certidumbre sobre el potencial de
lo que hacePara toda relación entre director y
contratista existe una relación de trabajo o un contrato, a veces no escrito, donde se establecen las condiciones del producto (caso) a desarrollarse:Tiempo de elaboraciónCosto
Asignación directaLa capacidad de especificar directamente en tiempo de diseño la identidad de el recurso que va a ejecutar una tarea.
Asignación basada en el rolLa capacidad de especificar en tiempo de diseño que una tarea sólo puede ser ejecutada con los recursos que desempeñan una función (rol) determinada.
Asignación diferidaLa posibilidad de aplazar la especificación de la identidad del recurso que ejecuta una tarea hasta el tiempo de ejecución.
Asignación Aleatoria
La habilidad de ofrecer or asignar trabajos to suitable recursos on a random basis.
Ejemplo:The Judge case trabajo is asignard to a Magistrate on a random basis.
Asignación Round Robin
La habilidad de asignar un trabajo a recursos disponible usando ciclos
Ejemplo:Trabajos de revisión de artículos son asignados a los Referee usando un ciclo.
Cola más cortaLa habilidad de asignar un trabajo al recurso que tiene el
menor número de trabajo asignado a él. Tiene como objetivo acelerar el rendimiento
Delegación
Escalada La habilidad de un sistema de workflow para ofrecer o asignar
un trabajo a un recurso o grupo de recursos diferente a aquel al que se había escogido previamente vía asignación u oferta. Con el objetivo de lograr la ejecución del trabajo, generalmente por que se ha llegado a una fecha límite.
Desasignación La habilidad of a recurso (o grupo de recursos) a renunciar al
trabajo que es asignado a él y hacerlo disponible para la asignación a otro recurso o grupo de recursos.
Reasignación con estado
La habilidad de un recurso a asignar un trabajo a otro recurso sin perdida del valor de los datos y el estado de avance de la tareas.
Reasignación sin estado La habilidad de un recurso de reasignar un trabajo que estaba
ejecutando a otro recurso sin mantener el estado de la tarea.
Suspensión / Resumen La habilidad para un recurso para suspender y resumir la
ejecución de un trabajo.
Saltar
La habilidad para un recurso de saltar un trabajo asignado y marcarlo como realizado.
Allocation Patterns
1-149
DESARROLLO DE SISTEMAS DE INFORMACIÓN
1-150
@Juan__Gonzalez
Proceso
1-151
@Juan__Gonzalez
Marco de Referencia
1-152
@Juan__Gonzalez
Paso 1
1-153
@Juan__Gonzalez
Paso 2
1-154
@Juan__Gonzalez
Paso 3
2011 BUAP 155155 November 9-11, 2009 - Mérida, Mexico CLIHC’09
• Tasks in the process are detailed using task models
Ejercicio6. Task Modeling
2011 BUAP 156156 November 9-11, 2009 - Mérida, Mexico CLIHC’09
• Attributes identified for the tasksTask Task Type Task Item User category Facet
Insert Name Create Element Interactive Input
Insert Zip Code Create Element Interactive Input
Select Age category
Select Element Interactive Input
Select Gender Select Element Interactive Input
Ejercicio
2011 BUAP 157
Ejemplo
157 November 9-11, 2009 - Mérida, Mexico CLIHC’09
User Interface Action Types Facet Specification Information to take into account Possible Abstract Interaction Component
“create name” and “create zip Code” Create attribute value Data type, domain characteristics A text output with a text input associated to it
“select gender and select age Category”
Select attribute value + selection values known
Data type, domain characteristics, selection values
A dropdown list, a group of radio buttons textual or characters.
1-158
Example of MDE of Uis in UsiXMLTotal graphical VS predominant graphical
ITEA UsiXML project #08026, 2009-2012
1-159
Example of MDE of Uis in UsiXML
Predominant vocal VS total vocal
ITEA UsiXML project #08026, 2009-2012
1-160
CUI rendering in VUItoolkit
1-161
X3D generated from Alice
• It’s a real 3D UI!
1-162
FUI included in virtual scene
2011 BUAP 163
User Interface Flow
User interfaces flow
u 2u 3
u 1
1 11
2 21 22 23 24
3 31
2011 BUAP 164
User Interface Flow
2011 BUAP 165
Runtime Monitoring
1-166
CONCLUSIONES
1-167
Overview
1-168
@Juan__Gonzalez
Overview
Identification of workflow elements
Task modeling
Organization modeling
Job and user modeling
Process modeling
Workflow modeling
Wf UI definition
Workflow editor
Conc
eptu
al
mod
els
(Ch.
3)
Met
hod
(Ch.
5)
Softw
are
(Ch.
6)
Requirements Design Implementation
Elicitation
Task model Process
model
Workflow model
UsiXML
Model elicitation tool and task spreadsheet
TransformiXMLGrafiXML
.
.WUIPsProcess editor
IdealXML
Resource editor
Organizational model
Mapping model
1-169
@Juan__Gonzalez
Algunas reflexiones ??
• El modelado de tareas presenta una solución que es independiente de cualquier posible solución, incluso, computacional.
• Podemos generar interfaces de usuario a partir de modelos de tareas ?
• Como relacionar un modelo de tareas con otros modelos
• Los invitamos a leer la iniciativa W3C• http://www.w3.org/2005/Incubator/model-based-ui/wiki/Main_Page• http://www.w3.org/2005/Incubator/model-based-ui/wiki/Task_Meta_
Models
1-170
@Juan__Gonzalez
Join us
BUAP
http://www.facebook.com/UsiXML
@usixml
1-171
For more information and downloading,http://www.lilab.eu
User Interface eXtensible Markup Languagehttp://www.usixml.orghttp://www.usixml.euRegister as a member of the UsiXML End-User Club at
http://www.usixml.eu/end_user_club
Thank you very much for your attention!
Contact in Mexico
Dra. Josefina Guerrero-García [email protected]
Dr. Juan Manuel González-Calleros [email protected] @Juan__Gonzalez