Unidad 2
Tipos de modelado
Docente: Ing. Tania Peralta Guaraca
Objetivo general de la Unidad 2
Caracterizar el proceso de modelado identificando
los factores claves del proceso para definir el
alcance de los proyectos de software.
Contenido
• Modelado de procesos de negocios • Modelado del comportamiento
– BPM – Diagramas de estado
– BPMN – Diagramas de secuencias
– Herramientas de modelado de procesos de – Diagrama de actividades
negocios • Modelado de arquitectura
• Modelado estático del sistema – Diagramas de componentes
– Diagrama de clases – Diagramas de despliegue
– Lenguajes formales de especificación • Metamodelado
– Lenguaje restringido a objetos (OCL) – MDA/MDE/Metamodelos
– Lenguajes de Dominio Específico (DSL)
Fundamentals of Business Process Management
• Accesible en: [Link]
[Link]/b
ook/10.1007/978-3-642-
33143-5/page/1
• Más información en:
[Link]
[Link]/
Contenido
• Modelado de procesos de negocios • Modelado del comportamiento
– BPM – Diagramas de estado
– BPMN – Diagramas de secuencias
– Herramientas de modelado de procesos de – Diagrama de actividades
negocios • Modelado de arquitectura
• Modelado estático del sistema – Diagramas de componentes
– Diagrama de clases – Diagramas de despliegue
– Lenguajes formales de especificación • Metamodelado
– Lenguaje restringido a objetos (OCL) – MDA/MDE/Metamodelos
– Lenguajes de Dominio Específico (DSL)
Modelado de procesos de negocios
• Los procesos de negocio son una colección de eventos,
actividades y puntos de decisión interrelacionados que
involucran a varios actores y objetos y que de forma conjunta
llevan a un resultado que proporciona valor para al menos un
cliente (Dumas et al. 2013).
• Los modelos de procesos de negocio (BPM) son un
instrumento para comprender y analizar las operaciones de
negocio, y para impulsar el diseño de soluciones de
tecnología de información que soportan la ejecución de
procesos de negocio.
Ejemplos: Procesos
• Order-to-cash: Este es un tipo de proceso realizado por un proveedor, que
comienza cuando el cliente envía una orden para comprar un producto o un
servicio y termina cuando el producto o servicio en cuestión haya sido
entregado al cliente y la cliente haya realizado el pago correspondiente
• Quote-to-order: Este tipo de proceso normalmente precede a un proceso
Order-to-cash. Se inicia desde el momento en que un proveedor recibe una
"Solicitud de Cotización“ de un cliente y termina cuando el cliente en
cuestión coloca una orden de compra en base a la cotización recibida.
• Issue-to-resolution. Este tipo de proceso se inicia cuando un cliente
plantea un problema o asunto, como una queja relacionada con un defecto
en un producto o un problema se encuentra cuando se consume un
servicio. El proceso continúa hasta que el cliente, el proveedor, o
preferiblemente ambos, de acuerdo en que el problema se ha resuelto.
Mi lavadora no funciona
Warranty?
Call Centre
Technician
Customer Customer
Parts
Service Store
Dispatch
VALUE
issue-to-resolution process
© Michael Rosemann
Procesos y Resultados
• Todo proceso lleva a uno o varios resultados:
– Los resultados positivos producen valor
– Los resultados negativos no producen valor (o lo reducen)
• Ejemplos
– Fallo reparado sin la intervención del técnico
– Fallo reparado con intervención mínima del técnico
– Fallo reparado cubierto totalmente por la garantía
– Fallo reparado cubierto parcialmente por la garantía
– Fallo reparado no cubierto por la garantía
– Fallo no reparado
Propósitos de modelado de procesos
Process
• Comunicación identification
• Documentación Process
Process architecture
architecture
Conceptual
• Análisis (por ejemplo Process
Conformance
Conformance and
and As-is
As-is process
process
simulación) performance
performance insights
insights discovery model
model
Process
monitoring and Process
Ejecutable controlling analysis
Executable
Executable Insights
Insights on
on
process
process weaknesses
weaknesses and
and
model
model their
their impact
impact
Process Process
implementation redesign
• Automatización To-be
To-be process
process
model
model
• Testing
10
Conceptual
Contenido
• Modelado de procesos de negocios • Modelado del comportamiento
– BPM – Diagramas de estado
– BPMN – Diagramas de secuencias
– Herramientas de modelado de procesos de – Diagrama de actividades
negocios • Modelado de arquitectura
• Modelado estático del sistema – Diagramas de componentes
– Diagrama de clases – Diagramas de despliegue
– Lenguajes formales de especificación • Metamodelado
– Lenguaje restringido a objetos (OCL) – MDA/MDE/Metamodelos
– Lenguajes de Dominio Específico (DSL)
Business Process Model and Notation (BPMN)
• OMG standard (nowadays BPMN 2.0)
• Soportado por muchas herramientas:
[Link] existen mas de 70 herramientas
• Valido para modelos conceptuales y
ejecutables
Lecciones aprendidas
Tecnologías de Proporciona
la Información
Valor de Negocio
Permite
Proporciona
Cambio
Proceso
Index Group (1982)
BPMN
• BPMN viene de Business Process Modeling
Notation (Notación para el Modelado de Procesos de
Negocio).
• Es un estándar de representación gráfica de procesos de
negocio
• Pretende ser un lenguaje accesible tanto para
desarrolladores como para clientes y directivos.
[Link]
Tres niveles de BPMN
• Nivel 1 (Modelado descriptivo): Usa un
subconjunto reducido de elementos de
BPMN y su objetivo es facilitar la definición
de un proceso.
• Nivel 2 (Modelado analítico): Usa toda la
expresividad de BPMN para describir el
proceso de negocio de forma precisa,
incluyendo manejo de excepciones.
• Nivel 3 (Modelado ejecutable): Orientado a la
implementación del proceso de negocio.
15
Un proceso sencillo
Actividades Flujo de
secuencia
Eventos
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Tokens
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Convenciones de nombres
• Actividades: VERBO + NOMBRE (Primera letra mayúsculas)
– Aprobar orden
• Eventos: NOMBRE + PARTICIPIO (Primera letra
mayúsculas)
– Factura emitida
• Procesos: NOMBRE + ADJETIVO (Minúsculas)
– Gestión de pagos
• Evitar nombres muy largos (< 5 palabras)
• Evitar verbos genéricos (ej. Hacer)
BPMN…..
• Un modelo de procesos BPMN consiste de
un gráfico de cuatro tipo de elemento :
start end
activity event gateway sequence
flow
Empezaremos el modelado
An order-to-cash: El proceso se desencadena
por la recepción de una orden de compra de
un cliente. Tras la recepción de la orden de
compra se revisa la disponibilidad de stock
para determinar si el artículo solicitado puede
ser atendido. Dependiendo de la disponibilidad
la orden de compra puede ser confirmada o
rechazada. Si el pedido es confirmado, una
factura se emite y los productos solicitados se
envían. El proceso se completa mediante el
archivo de la orden o si el pedido es
rechazado.
Empezaremos el modelado -
Descomposición
• An order-to-cash: El proceso se desencadena por
la recepción de una orden de compra de un
cliente.
• Tras la recepción de la orden de compra se
revisa la disponibilidad de stock para determinar
si el artículo solicitado puede ser atendido.
• Dependiendo de la disponibilidad la orden de
compra puede ser confirmada o rechazada.
• Si el pedido es confirmado, una factura se emite y
los productos solicitados se envían.
• El proceso se completa mediante el archivo de la
orden o si el pedido es rechazado.
Empezaremos el modelado -
Descomposición
• An order-to-cash:
• El proceso se desencadena por la
recepción de una orden de compra de un
cliente.
• Tras la recepción de la orden de compra
se revisa la disponibilidad de stock para
determinar si el artículo solicitado puede
ser atendido.
• ……
BPMN Model
Check stock
availability
Purchase
order
received
Empezaremos el modelado -
Descomposición
• An order-to-cash:
• …….
• Dependiendo de la disponibilidad la orden
de compra puede ser confirmada o
rechazada.
• Si el pedido es confirmado, una factura se
emite y los productos solicitados se envían.
• El proceso se completa mediante el archivo
de la orden o si el pedido es rechazado.
Order-to-cash BPMN Model
end
Reject order
activity Items not in
stock
Order event
rejected
Check stock
availability
split gateway end
Purchase
order Items in event
received stock Confirm Emit Archive
Ship goods
start order invoice order
Order
event fulfilled
Ejecución del Modelo de Proceso
Order #1
The “token game”
Order #2
Order #3
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
Ejemplo :Order-to-cash
Volviendo a revisar
[…] Si la orden es confirmada, una factura es emitida y
los productos solicitados son enviados. El proceso se
termina con el archive de la orden. […]
Reject order
Items not in
Order
stock
rejected
Check stock
availability
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
Order-to-cash Primer intento
Reject order
Items not in
Order
stock
rejected
Check stock
availability split Emit invoice
Purchase
order Items in
received stock Confirm Emit Archive
Ship goods
order invoice order
Order
fulfilled
split join
Ship goods
Gateways
M. Weske: Business Process Management,
© Springer-Verlag Berlin Heidelberg 2007
Data-based XOR AND OR
Event-based XOR Complex
Fig 4.84. Gateway types in the BPMN, Object Management Group (2006)
Gateways
• Nodo exclusivo: el flujo continúa por la primera alternativa que
satisface la condición. Si ninguna satisface, entonces continúa
por la alternativa que tiene la marca “/”
Condición 1
Condición 2
Facturación
• Cuando se recibe la factura de un cliente, tiene que ser comprobada. La
comprobación puede resultar en tres casos:
• No hay errores, en cuyo caso la factura es contabilizada;
• Hay errores pero pueden ser corregidos, en cuyo caso la factura es
reenviada al cliente, y
• Hay errores pero no pueden ser corregidos, en cuyo caso la factura se
bloquea. Al terminar una de estas tres atividades, la factura es almacenada y
el proceso termina.
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Decisiones exclusivas
XOR split XOR join
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Gateways
• Ejecución en paralelo (bifurcación): se usa
cuando dos o más tareas se empiezan a
llevar a cabo concurrentemente
Gateways
• Ejecución en paralelo (unión): se usa para
postsincronizar dos o más tareas que se han
llevado a cabo concurrentemente. Espera un
token de todas las ramas.
Embarque ….
• Al recibir la tarjeta de embarque, los pasajeros van al
control de seguridad. Aquí tienen que pasar el control
personal y el control del equipaje. Una vez realizado,
pueden pasar a la puerta de embarque.
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Ejecución en paralelo
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Order-to-cash: Revisión del Modelo de
Procesos
Reject order
Items not in
stock Order
rejected
Check stock
availability XOR-split Send invoice
Purchase
order Items in
received stock
Archive
Confirm order
order
Order
AND-split AND-join fulfilled
Ship goods
Gateways
• Nodo inclusivo: el flujo continúa por todas las alternativas que
satisfacen la condición.
Condición 1
Condición 2
• Inclusive merge: procede cuando todas las ramas activas
terminan.
Pedidos
• Una compañía tiene dos almacenes que
almacenan distintos productos, uno está en
Amsterdam y otro en Hamburgo. Cuando se
recibe un pedido, se distribuye a estos
almacenes: si alguno de los productos están
en Amsterdam, un subpedido se envía allí;
del mismo modo, si algún producto está en
Hamburgo, un subpedido se envía allí.
Después el pedido se registra y el proceso
termina.
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Decisión inclusiva
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Punto muerto
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Proceso de gestión de pedidos…
• Si el producto solicitado no está en stock, hace falta fabricarlo antes de que
la gestión del pedido pueda continuar. Para fabricar un producto, es
necesario pedir los materiales para fabricarlo. Dependiendo del producto, los
materiales se pueden pedir al Proveedor 1, al Proveedor 2 o a ambos. Una
vez que los materiales están disponibles, el producto se puede fabricar y el
pedido se confirma. Por otro lado, si el producto está en stock, se obtiene del
almacen antes de confirmar el pedido.
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Proceso de gestión de pedidos…
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Ministerio de ….
• En el ministerio de hacienda, las peticiones recibidas se registran en el
sistema. Luego se investigan para preparar una respuesta del ministerio. La
finalización de la respuesta incluye la preparación de la misma por un
miembro del gabinete y su revisión por parte del responsible del mismo.
• Si éste no aprueba la respuesta, tiene que ser preparada de nuevo por el
miembro del gabinete. El proceso termina cuando la respuesta es aprobada.
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Bucles
© M. Dumas et al. Fundamentals of BPM, Springer-Verlag, 2013
Puntos de Vista para el Modelamiento de Procesos
Organization
Who?
Lanes &
Pools
What?
Tasks When?
Events
Flows
Gateways
Which?
Data Objects,
Data / Materials Stores
Pools y lanes
Flow Objects Artefacts Connecting Objects
• Los pools y lanes no tienenSequence
un significado
Flow
Events Data Object
M. Weske: Business Process Management,
concreto, pero lo habitual es:
© Springer-Verlag Berlin Heidelberg 2007
– Pools:Order
ActivitiesPlace
Representan
Group organizaciones
Message Flow / procesos
– Lanes: Representan roles o Association
Gateways
departamentos en
Annotation
una organización (nunca personas concretas)
Swimlanes
Lane
Pool
Fig 4.78. Business Process Modeling Notation: categories of elements
Order-to-cash: Procesos con lanes
Message Flow
A Message Flow representa un flujo de información entre dos procesos (Pools).
Message
Pool 2
Pool 2
Receive
Pool 1
Pool 1
Send Receive
Send
49
Order-to-cash
50
Process Modelling Viewpoints
Which?
Data Objects,
Data / Materials Stores
Nuevamente el proceso: Order-to-cash
Send
invoice
Confirm Archive
Items in order order
stock Order
fulfilled
Check stock
Ship goods
availability
Purchase
order Items not in
received stock
Reject order
Order
rejected
Modelo con artefactos de información
BPMN Information Artifacts
Contenido
• Modelado de procesos de negocios • Modelado del comportamiento
– BPM – Diagramas de estado
– BPMN – Diagramas de secuencias
– Herramientas de modelado de procesos de – Diagrama de actividades
negocios • Modelado de arquitectura
• Modelado estático del sistema – Diagramas de componentes
– Diagrama de clases – Diagramas de despliegue
– Lenguajes formales de especificación • Metamodelado
– Lenguaje restringido a objetos (OCL) – MDA/MDE/Metamodelos
– Lenguajes de Dominio Específico (DSL)
Contenido
• Modelado de procesos de negocios • Modelado del comportamiento
– BPM – Diagramas de estado
– BPMN – Diagramas de secuencias
– Herramientas de modelado de procesos de – Diagrama de actividades
negocios • Modelado de arquitectura
• Modelado estático del sistema – Diagramas de componentes
– Diagrama de clases – Diagramas de despliegue
– Lenguajes formales de especificación • Metamodelado
– Lenguaje restringido a objetos (OCL) – MDA/MDE/Metamodelos
– Lenguajes de Dominio Específico (DSL)
Diagrama de Clases
• Que es?
– Presenta las clases del sistema con sus
relaciones estructurales y de herencia.
• Objetivos
– Representar los aspectos estáticos del
sistema
• Que no hace?
– No representa la dinámica de los objetos
Diagrama de Clases
UML - Diagrama de Clases
• Parte central del diseño
• Relación muy cercana con el código final
– Herramientas que generan el esqueleto del
código de forma automática
• Se evitan defectos propios de la conversión manual
• Se describen
– Clases (nombre, atributos, métodos)
– Asociaciones entre clases
– Relaciones de herencia
Diagrama de Clases
• Muestra las clases e interfaces que componen el
sistema y las relaciones que existen entre ellas
• Muestra aspectos estáticos
• Clase: conjunto de objetos que comparten:
– Atributos
– Operaciones
– Relaciones
– Semántica
Diagrama de Clases
• Modelo de Dominio (Conceptual): ayudan a entender
los conceptos del dominio del problema y el
vocabulario del mismo. Se excluyen detalles
referentes a la implementación o al lenguaje de
programación.
• Diagramas de clases de implementación: muestran
todos los métodos y atributos necesarios para
implementar cada clase. Es un diagrama dependiente
de la implementación y del lenguaje.
Elementos de un Diagrama de Clases
• Clases. Describen un conjunto de objetos
con propiedades y comportamientos
comunes.
• Relaciones. Enlaces entre los distintos
elementos de los diagramas.
• Interfases. Conjunto de operaciones de
una clase o paquete visibles desde otras
clases o paquetes.
Elementos de un Diagrama de Clases
Los diagramas de clases representan la estructura del
sistema
Clases
• Una clase es la descripción de un conjunto de objetos con
los mismos comportamientos y propiedades.
• La estructura de una clase esta compuesta
de:
– Los atributos:
• Datos asociados a los elementos y que toman valor al
instanciar objetos de una clase.
– Las operaciones (métodos):
• Funciones o procesos propios de los objetos de una clase.
Notación UML para clases
Notación UML para clases
Atributos
• Un atributo representa una propiedad de una clase.
– Ejemplo: Un persona tiene nombre, edad, etc.
• Los nombres de atributos son únicos dentro de una
misma clase.
• Cada atributo tiene un valor para cada instancia
• En UML:
– La primera letra de un atributo se escribe con minúscula.
– La sintaxis para los atributos en un diagrama UML de
clases es la siguiente:
• visibilidad nombre : tipo de dato
• Ejemplo: + nombre : String
Atributos de clases
Atributos de clases
Atributos de clases
Atributos
• Una entidad con estructura, comportamiento o
identidad debe ser modelado como una clase, no como
atributo de otra clase.
• Sólo considere atributos que directamente estén
relacionados a una aplicación particular.
– Obtenga los atributos más importantes primero, se
adicionarán detalles después.
• Asegúrese de dar a cada atributo un nombre
significativo.
Atributos de clases
• Mostrar sólo tipos primitivos relativamente “simples”
como atributos.
• Las conexiones a otros conceptos se representarán
como asociaciones, no como atributos.