ATSI 2006/2007
Aula prática
Introdução ao BPMN
Índice
• Conceitos
• Modelação de BP em UML...
• Modelação de BP em BPMN
Conceitos
• Um Processo de Negócio representa um conjunto de actividades
cujo objectivo geral é criar valor num determinado contexto
(empresa, organização, grupo, etc.).
• A descrição de um Processo de Negócio consiste assim na
especificação do seu início e fim, na definição ou definição dos
seus “inputs” e “outputs” (que devem ser mensuráveis), e na
descrição das suas actividades, incluindo a forma como estas se
coordenam entre si no tempo e no espaço.
• Um Levantamento de Processos de Negócio consiste na
identificação dos processos de negócio de um dado contexto de
problema, assim como das actividades que os compõem.
• NOTA: Num Levantamento de Processos de Negócio os processos
devem ser tipicamente descritos na perspectiva dos stackholders
(o cliente, o dono do negócio/processo, ...), pois devem poder ser
entendidos e validados por estes.
Modelação de Processos de Negócio
• A Modelação de Processos de Negócio (BPM - Business
Process Modeling) tem como objectivo a definição e a
descrição esquemática de Processos de Negócio.
• A Modelação de Processos de Negócio necessita assim de
recorrer a notações, podendo para isso ser usada a notação da
UML – Unified Modeling Language (através de perfiz
adequados), ou mais especificamente a BPMN – Business
Processing Modeling Notation.
Caracterização de um Processo de Negócio
Um Processo de Negócio:
1. Tem um objectivo (“goal”)
2. Tem entradas concretas (“inputs”)
3. Tem saídas concretas (“outputs”)
4. Usa recursos (“resources”)
5. Tem um número de actividades que são executadas
sempre da mesma forma
6. Tem um impacto horizontal no contexto geral (podendo
assim, num contexto de um sistema de informação, afectar
mais do que um componente, ou subsistema).
7. Cria valor para um cliente (cliente do processo).
Uma notação informal “clássica” de representação de alto nível (sem
detalhes internos) um processo de negócio...
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Goal: A business process has some well defined goal. This is the
reason the organization does this work, and should be defined in
terms of the benefits this process has for the organization as a
whole and in satisfying the business needs.
• Information: Business processes use information to tailor or complete their activities. Information,
unlike resources, is not consumed in the process - rather it is used as part of the transformation
process. Information may come from external sources, from customers, from internal organizational
units and may even be the product of other processes.
• Output: A business process will typically produce one or more outputs of value to the business,
either for internal use or to satisfy external requirements. An output may be a physical object (such
as a report or invoice), a transformation of raw resources into a new arrangement (a daily schedule
or roster) or an overall business result such as completing a customer order. An output of one
business process may feed into another process, either as a requested item or a trigger to initiate
new activities.
• Resource: A resource is an input to a business process, and, unlike information, is typically
consumed during the processing. For example, as each daily train service is run and actuals
recorded, the service resource is 'used up' as far as the process of recording actual train times is
concerned.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Goal: A business process has some well defined goal. This is the reason the organization does this
work, and should be defined in terms of the benefits this process has for the organization as a whole
and in satisfying the business needs.
• Information: Business processes use information to tailor or complete
their activities. Information, unlike resources, is not consumed in the
process - rather it is used as part of the transformation process.
Information may come from external sources, from customers, from
internal organizational units and may even be the product of other
processes.
• Output: A business process will typically produce one or more outputs of value to the business,
either for internal use or to satisfy external requirements. An output may be a physical object (such
as a report or invoice), a transformation of raw resources into a new arrangement (a daily schedule
or roster) or an overall business result such as completing a customer order. An output of one
business process may feed into another process, either as a requested item or a trigger to initiate
new activities.
• Resource: A resource is an input to a business process, and, unlike information, is typically
consumed during the processing. For example, as each daily train service is run and actuals
recorded, the service resource is 'used up' as far as the process of recording actual train times is
concerned.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Goal: A business process has some well defined goal. This is the reason the organization does this
work, and should be defined in terms of the benefits this process has for the organization as a whole
and in satisfying the business needs.
• Information: Business processes use information to tailor or complete their activities. Information,
unlike resources, is not consumed in the process - rather it is used as part of the transformation
process. Information may come from external sources, from customers, from internal organizational
units and may even be the product of other processes.
• Output: A business process will typically produce one or more outputs
of value to the business, either for internal use or to satisfy external
requirements. An output may be a physical object (such as a report or
invoice), a transformation of raw resources into a new arrangement (a
daily schedule or roster) or an overall business result such as
completing a customer order. An output of one business process may
feed into another process, either as a requested item or a trigger to
initiate new activities.
• Resource: A resource is an input to a business process, and, unlike information, is typically
consumed during the processing. For example, as each daily train service is run and actuals
recorded, the service resource is 'used up' as far as the process of recording actual train times is
concerned.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Goal: A business process has some well defined goal. This is the reason the organization does this
work, and should be defined in terms of the benefits this process has for the organization as a whole
and in satisfying the business needs.
• Information: Business processes use information to tailor or complete their activities. Information,
unlike resources, is not consumed in the process - rather it is used as part of the transformation
process. Information may come from external sources, from customers, from internal organizational
units and may even be the product of other processes.
• Output: A business process will typically produce one or more outputs of value to the business,
either for internal use or to satisfy external requirements. An output may be a physical object (such
as a report or invoice), a transformation of raw resources into a new arrangement (a daily schedule
or roster) or an overall business result such as completing a customer order. An output of one
business process may feed into another process, either as a requested item or a trigger to initiate
new activities.
• Resource: A resource is an input to a business process, and, unlike
information, is typically consumed during the processing. For example,
as each daily train service is run and actuals recorded, the service
resource is 'used up' as far as the process of recording actual train
times is concerned.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Supply link from object Information. A supply link indicates that the
information or object linked to the process is not used up in the
processing phase. For example, order templates may be used over and
over to provide new orders of a certain style - the templates are not
altered or exhausted as part of this activity.
• Supply link from object Resource. An input link indicates that the attached object or
resource is consumed in the processing procedure. As an example, as customer orders
are processed they are completed and signed off, and typically are used only once per
unique resource (order).
• Goal link to object Goal. A goal link indicates the attached object to the business
process describes the goal of the process. A goal is the business justification for
performing the activity.
• Stateflow link to object Output
• Stateflow link from event Event. A stateflow link indicates some object is passed into a
business process. It captures the passing of control to another entity or process, with
the implied passing of state or information from activity to activity.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Supply link from object Information. A supply link indicates that the information or object linked to the
process is not used up in the processing phase. For example, order templates may be used over
and over to provide new orders of a certain style - the templates are not altered or exhausted as part
of this activity.
• Supply link from object Resource. An input link indicates that the
attached object or resource is consumed in the processing procedure.
As an example, as customer orders are processed they are completed
and signed off, and typically are used only once per unique resource
(order).
• Goal link to object Goal. A goal link indicates the attached object to the business process describes
the goal of the process. A goal is the business justification for performing the activity.
• Stateflow link to object Output
• Stateflow link from event Event. A stateflow link indicates some object is passed into a business
process. It captures the passing of control to another entity or process, with the implied passing of
state or information from activity to activity.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Supply link from object Information. A supply link indicates that the information or object linked to the
process is not used up in the processing phase. For example, order templates may be used over
and over to provide new orders of a certain style - the templates are not altered or exhausted as part
of this activity.
• Supply link from object Resource. An input link indicates that the attached object or resource is
consumed in the processing procedure. As an example, as customer orders are processed they are
completed and signed off, and typically are used only once per unique resource (order).
• Goal link to object Goal. A goal link indicates the attached object to the
business process describes the goal of the process. A goal is the
business justification for performing the activity.
• Stateflow link to object Output
• Stateflow link from event Event. A stateflow link indicates some object is passed into a business
process. It captures the passing of control to another entity or process, with the implied passing of
state or information from activity to activity.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Supply link from object Information. A supply link indicates that the information or object linked to the
process is not used up in the processing phase. For example, order templates may be used over
and over to provide new orders of a certain style - the templates are not altered or exhausted as part
of this activity.
• Supply link from object Resource. An input link indicates that the attached object or resource is
consumed in the processing procedure. As an example, as customer orders are processed they are
completed and signed off, and typically are used only once per unique resource (order).
• Goal link to object Goal. A goal link indicates the attached object to the business process describes
the goal of the process. A goal is the business justification for performing the activity.
• Stateflow link to object Output
• Stateflow link from event Event. A stateflow link indicates some object is passed into a business
process. It captures the passing of control to another entity or process, with the implied passing of
state or information from activity to activity.
Retirado de: http://www.sparxsystems.com/business_process_model.html
• Supply link from object Information. A supply link indicates that the information or object linked to the
process is not used up in the processing phase. For example, order templates may be used over
and over to provide new orders of a certain style - the templates are not altered or exhausted as part
of this activity.
• Supply link from object Resource. An input link indicates that the attached object or resource is
consumed in the processing procedure. As an example, as customer orders are processed they are
completed and signed off, and typically are used only once per unique resource (order).
• Goal link to object Goal. A goal link indicates the attached object to the business process describes
the goal of the process. A goal is the business justification for performing the activity.
• Stateflow link to object Output
• Stateflow link from event Event. A stateflow link indicates some object
is passed into a business process. It captures the passing of control to
another entity or process, with the implied passing of state or
information from activity to activity.
Retirado de: http://www.sparxsystems.com/business_process_model.html
Modelação de BP em UML
http://www.sparxsystems.com/platforms/business_process_modeling.html
UML provides activity, state, object and class diagrams to
capture important business processes and artifacts. More
detailed BPM models can easily be built using UML
Profiles.
Sparx Systems has available for download a detailed UML
Profile for Business Process Modeling based on the
extensions defined by Hans-Erik Eriksson and Magnus
Penker in their book, "Business Modeling with UML". This
profile is used to define a set of stereotypes for working
with Business Activities, Processes, Objects and
Information flows.
Modelação de Processos em UML
• Podem ser definidos perfiz da UML para capturar a
representação visual de processos de negócio, recorrendo
a actores e casos de utilização e ainda a diagramas de
actividade, estado, classe e objecto.
• “Business Use Cases” podem suportar a modelação de
processos de negócio, ao nível da organização, em
analogia aos “(System) Use Cases” na modelação ao nível
dos sistemas.
• A descrição de um “Business Use Case”, estando ao nível
do negócio, refere assim os processos de negócio.
• O resultado da modelação de processos de negócio pode
ser usado para o levantamento de requisitos de um
sistema!!!
http://www.sparxsystems.com/platforms/business_process_modeling.html
Um perfil de “Business Use Cases”
(versus “System Use Cases”)
Exemplo de um perfil
UML para processos
de negócio
(estereótipos de
“business actor” e
“business use case”)
Conceitos em Modelação de
Processos com UML
• Actor do Negócio (“Business Actor”) – Actor
exterior ao processo, que com ele interage!
• Trabalhador do Negócio (“Business Worker”) –
Abstracção de algo que representa um papel
activo no caso de utilização do negócio (pode
ser um sistema ou um humano)!
• Entidade do Negócio (“Business Entity”) –
Qualquer entidade relevante para o negócio!
Exemplos de diagramas de “Business Use Case”
http://www-128.ibm.com/developerworks/rational/library/360.html
Diagramas de actividade UML detalham os processo de negócios
(“workflows” na perspectiva “Business Use Case”)...
http://www-128.ibm.com/developerworks/rational/library/360.html
UML Business Object Model: Diagramas de
Classes
“Business Workers”
Entidades do Processo
http://www-128.ibm.com/developerworks/rational/library/360.html
UML Business Object Model: Diagramas de
Classes (outro exemplo)
http://www-128.ibm.com/developerworks/rational/library/360.html
UML Business Object Model: Diagramas de actividade, com
“streamlines” realçando os papéis dos “business workers”
http://www-128.ibm.com/developerworks/rational/library/360.html
UML Business Object Model: Diagramas de
Sequência
Business
Actor
Business
Worker
http://www-128.ibm.com/developerworks/rational/library/360.html
Do modelo do negócio para o
modelo do sistema
Uma modelação de negócio pode ser aproveitada
para a modelação de um sistema:
– Cada “business use case” pode vir a corresponder a
um sub-sistema
– Cada processo de negócio pode vir a corresponder a
um caso de utilização do sistema (sub-sistema)
– Cada entidade do negócio (“business entity”) pode vir
a corresponder a uma classe (entidade) do sistema
BPMN: Contexto de Definição
• The Object Management Group (OMG) - www.omg.org
• Unified Modeling Language (UML)
– UML 2.0 (Junho 2005)
– UML 2.1.1 (início de 2007)
– www.uml.org
• Business Process Management Initiative (BPMI)
– BPMN 1.0 Specification (Maio 2004)
– Adopçao formal do BPMN 1.0 pelo OMG (Fev. 2006)
– www.bpmi.org.
BPMN Tutorial
• Introduction to BPMN - (PDF 359K)
– Stephen A. White - IBM, May 2004
• http://www.bpmn.org/Documents/Introduction%20to%20BPMN.pdf
• NOTA: Após a data de publicação desta introdução confirmou-se o
acordo formal entre o BPMI e o OMG, sendo a BPMN adoptada pelo
OMG:
– http://www.omg.org/news/releases/pr2005/06-29-05.htm
Business Process Diagram
• “BPMN defines a Business Process
Diagram (BPD), which is based on a
flowcharting technique tailored for creating
graphical models of business process
operations. A Business Process Model,
then, is a network of graphical objects,
which are activities (i.e., work) and the
flow controls that define their order of
performance.”
Exemplo
http://en.wikipedia.org/wiki/BPMN
BPMN Basics
A BPD is made up of a set of graphical elements. These elements enable
the easy development of simple diagrams that will look familiar to most
business analysts (e.g., a flowchart diagram).
The elements were chosen to be distinguishable from each other and to
utilize shapes that are familiar to most modelers. For example, activities are
rectangles and decisions are diamonds. It should be emphasized that one of
the drivers for the development of BPMN is to create a simple mechanism
for creating business process models, while at the same time being able to
handle the complexity inherent to business processes
The approach taken to handle these two conflicting requirements was to
organize the graphical aspects of the notation into specific categories. This
provides a small set of notation categories so that the reader of a BPD can
easily recognize the basic types of and information can be added to support
the requirements for complexity without dramatically changing the basic
look-and-feel of the diagram. The four basic categories of elements are:
–
–
–
–
Flow Objects
Connecting Objects
Swimlanes
Artifacts
Elementos Base da Notação
http://www.bpmn.org/exampleIndex.htm
Event
• An Event is represented by a circle and is
something that “happens” during the course of a
business process. These Events affect the flow
of the process and usually have a cause
(trigger) or an impact (result). Events are circles
with open centers to allow internal markers to
differentiate different triggers or results.
• There are three types of Events, based on when
they affect the flow:
– Start
– Intermediate
– End
Acontecimentos (Events)
Activity
• An Activity is a generic term for work that a
company performs.
• An Activity can be atomic or nonatomic
(compound).
• The types of Activities are:
– Task
– Sub-Process (the Sub-Process distinguished
by a small plus sign in the bottom center of
the shape).
Tipos de Actividades (Processos e Sub-Processos)
Tipos de Actividades (sub-processos)
Gateway
• A Gateway is used to
control the divergence
and convergence of
Sequence Flow. Thus, it
will determine traditional
decisions, as well as
the forking, merging,
and joining of paths.
Internal Markers will
indicate the type of
behavior control.
Decisões (“Gateways”)
Connecting Objects
• Sequence Flow: Show the order (the sequence) that activities will be
performed in a Process. Note that the term “control flow” is generally not
used in BPMN.
• Message Flow: Show the flow of messages between two separate
Process Participants (business entities or business roles) that send and
receive them. In BPMN, two separate Pools in the Diagram will represent
the two Participants.
• Association: Used to associate data, text, and other Artifacts with flow
objects. Associations are used to show the inputs and outputs of activities.
Ligações (Sequências, Mensagens e Associações)
Exemplo de um BP...
Outro Exemplo de um BP...
Estado inicial
Decisão
Estado final
Fluxo paralelo (fork)
Fluxo sequencial
Junção (join)
Actividade ou
Processo
Já agora, o mesmo exemplo como um
Diagrama de Actividade em UML 2.0...
Exemplo de um segmento de um
processo com mais detalhes...
Exemplo com eventos de compensação (acções de restauro
do sistema para o estado anterior a uma transacção)
Eventos de
compensação
Actividades de
compensação
Swimlanes
Many process modeling methodologies utiliz the concept of
swimlanes as a mechanism to organize activities into
separate visual categories in order to illustrate different
functional capabilities or responsibilities.
BPMN supports swimlanes with two main constructs:
– Pool: Represents a Participant in a Process. It is also acts as a
graphical container for partitioning a set of activities from other
Pools, usually in the context of B2B situations.
– Lane: A sub-partition within a Pool and will extend the entire length
of the Pool, either vertically or horizontally. Lanes are used to
organize and categorize activities.
Exemplo Interacção Médico-Paciente I
Pools
Mensagens
Exemplo Interacção Médico-Paciente II
Lanes
Artefactos
BPMN was designed to allow modelers and modeling tools some
flexibility in extending the basic notation and in providing the ability to
additional context appropriate to a specific modeling situation.
Any number of Artifacts can be added to a diagram as appropriate for the
context of the business processes being modeled.
The current version of the BPMN specification pre-defines only three
types of BPD Artifacts, which are:
– Data Object: A mechanism to show how data is required or
produced by activities. They are connected to activities through
Associations.
– Group: The grouping can be used for documentation or analysis
purposes, but does not affect the Sequence Flow.
– Annotation: Annotations are a mechanism for a modeler to
provide additional text information for the reader of a BPMN
Diagram.
Exemplo com Swimlanes, Artefactos, ...
“Data Object”
Participante
(Actor)
Indicação de
decomposição
funcional
(i.e. contém subprocessos)
Fluxo
de
dados
Nota
(explicação, ..)
Exemplo de Validação de Crédito
Exemplo de Leilão
Sobre mapeamento de BPMN para BPEL...
Mais exemplos no site da BPMN....
Download

Stateflow link to object Output