38
Uma Introdução à Modelação de Processos com UML... José Borbinha

Uma Introdução à Modelação de Processos com UML

  • Upload
    yardley

  • View
    28

  • Download
    0

Embed Size (px)

DESCRIPTION

Uma Introdução à Modelação de Processos com UML. José Borbinha. Índice. Processos de negócio (BP) Modelação de BP em UML Mais sobre modelação de BP... Modelação de BP no Enterprise Architect Modelação de BP em UML Modelação de BP em BPMN. Conceitos. - PowerPoint PPT Presentation

Citation preview

Page 1: Uma Introdução à Modelação de Processos com UML

Uma Introdução à Modelação de Processos com UML...

José Borbinha

Page 2: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 2

Índice

• Processos de negócio (BP)

• Modelação de BP em UML

• Mais sobre modelação de BP...

• Modelação de BP no Enterprise Architect

– Modelação de BP em UML

– Modelação de BP em BPMN

Page 3: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 3

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.

Page 4: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 4

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.

Page 5: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 5

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).

Page 6: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 6

Numa notação informal “clássica” de um processo de negócio...

Retirado de: http://www.sparxsystems.com/business_process_model.html

Page 7: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 7

• 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

Page 8: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 8

• 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

Page 9: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 9

• 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

Page 10: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 10

• 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

Page 11: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 11

• 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

Page 12: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 12

• 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

Page 13: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 13

• 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

Page 14: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 14

• 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

Page 15: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 15

• 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

Page 16: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 16

Índice

• Processos de negócio (BP)

• Modelação de BP em UML

• Mais sobre modelação de BP...

• Modelação de BP no Enterprise Architect

– Modelação de BP em UML

– Modelação de BP em BPMN

Page 17: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 17

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

Page 18: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 18

Sobre perfiz de UML...A UML profile is a specification that does one or more of the following:

• Identifies a subset of the UML metamodel. • Specifies “well-formedness rules” beyond those specified by the

identified subset of the UML metamodel. “Well-formedness rule” is a term used in the normative UML metamodel specification to describe a set of constraints written in UML’s Object Constraint Language (OCL) that contributes to the definition of a metamodel element.

• Specifies “standard elements” beyond those specified by the identified subset of the UML metamodel. “Standard element” is a term used in the UML metamodel specification to describe a standard instance of a UML stereotype, tagged value or constraint.

• Specifies semantics, expressed in natural language, beyond those specified by the identified subset of the UML metamodel. 

• Specifies common model elements, expressed in terms of the profile.

http://www.omg.org/technology/documents/profile_catalog.htm

Page 19: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 19

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”)

Page 20: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 20

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!

Page 21: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 21

Exemplos de diagramas de “Business Use Case”

http://www-128.ibm.com/developerworks/rational/library/360.html

Page 22: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 22

Diagramas de actividade detalham os processo de negócios (“workflows” na perspectiva “Business Use Case”)...

http://www-128.ibm.com/developerworks/rational/library/360.html

Page 23: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 23

Business Object Model: Diagramas de Classes

http://www-128.ibm.com/developerworks/rational/library/360.html

Entidades do Processo

“Business Workers”

Page 24: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 24

Business Object Model: Diagramas de Classes (outro exemplo)

http://www-128.ibm.com/developerworks/rational/library/360.html

Page 25: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 25

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

Page 26: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 26

Business Object Model: Diagramas de Sequência

http://www-128.ibm.com/developerworks/rational/library/360.html

Business Actor

Business Worker

Page 27: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 27

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

Page 28: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 28

Índice

• Processos de negócio (BP)

• Modelação de BP em UML

• Mais sobre modelação de BP...

• Modelação de BP no Enterprise Architect

– Modelação de BP em UML

– Modelação de BP em BPMN

Page 29: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 29

Mais sobre modelação de BP...O problema da modelação de Processos de Negócio é uma área nova e conturbada, ainda em constante e frequente (re-)definição de conceitos e linguagens...:

– BPMN – Business Process Modeling Notation– ...– BPML – Business Process Modeling Language– ...– Tecnologia e conceitos como por exemplo WS (Web-

Services), SOA (Service Oriented Architectures) trouxeram novas perspectivas, novos requisitos e novos focos de polémica (ver por exemplo http://www.ebpml.org/):

• BPEL – Business Process Execution Language (WS-BPEL, BPEL4WS, ..., BPEL-J, ...)

Page 30: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 30

BPMN – Business Process Modeling Notation

http://www.bpmi.org/• BPMN provides a Business Process Diagram

(BPD), which is a Diagram designed for use by the people who design and manage business processes.

• BPMN also provides a formal mapping to an execution language of BPM Systems (BPEL4WS).

• Thus BPMN would provide a standard visualization mechanism for business processes defined in an execution optimized business process language.

Page 31: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 31

http://www.bpmn.org/exampleIndex.htm

Page 32: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 32

ILOG JViews BPMN Modeler 1.0

Page 33: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 33

Exemplo

http://en.wikipedia.org/wiki/BPMN

Page 34: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 34

BPML – Business Process Modeling Language

• http://en.wikipedia.org/wiki/Business_Process_Modeling_Language

• Business Process Modeling Language (BPML) is a meta-language for the modeling of business processes...

• BPML was a proposed language, but now the BPMI has dropped support for this in favor of BPEL4WS...

Page 35: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 35

Índice

• Processos de negócio (BP)

• Modelação de BP em UML

• Mais sobre modelação de BP...

• Modelação de BP no Enterprise Architect

– Modelação de BP em UML

– Modelação de BP em BPMN

Page 36: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 36

Modelação de BP em UMLhttp://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.

Page 37: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 37

Instalar “Profiles” no EAhttp://www.sparxsystems.com/downloads/profiles/BPProfile.xml• Right click on the UML Profiles tree node in the Resources View and

select Import Profile from the context menu - as in the to the right. • The Import UML Profile dialog will open. • Locate the XML Profile file to import using the Browse [...] button. • Set the required import options for all stereotypes defined in the profile

- you can select to import:– Element Size yes/no - check this to import the element size

attributes. – Color and Appearance yes/no - check this to import the color

(background, border and font) and appearance (border thickness) attributes.

– Alternate Image yes/no - check this to import the metafile image. – Code Templates yes/no - check this to import the code templates

if they exist. – Overwrite Existing Templates yes/no - check this to overwrite any

existing code templates defined in the current project. • Press Import.

Page 38: Uma Introdução à Modelação de Processos com UML

Processos de Negócio (jlb) 38

Modelação de BP em BPMNAdd-in ao Enterprise Architect para BPML

http://www.sparxsystems.com.au/products/mdg_bpmn.html

http://www.sparxsystems.com.au/bin/EABPMN.exe