Você está na página 1de 38

Uma Introduo Modelao de Processos com UML...

Jos Borbinha

ndice
Processos de negcio (BP) Modelao de BP em UML Mais sobre modelao de BP... Modelao de BP no Enterprise Architect Modelao de BP em UML Modelao de BP em BPMN

Processos de Negcio (jlb)

Conceitos
Um Processo de Negcio representa um conjunto de actividades cujo objectivo geral criar valor num determinado contexto (empresa, organizao, grupo, etc.). A descrio de um Processo de Negcio consiste assim na especificao do seu incio e fim, na definio ou definio dos seus inputs e outputs (que devem ser mensurveis), e na descrio das suas actividades, incluindo a forma como estas se coordenam entre si no tempo e no espao. Um Levantamento de Processos de Negcio consiste na identificao dos processos de negcio de um dado contexto de problema, assim como das actividades que os compem. NOTA: Num Levantamento de Processos de Negcio os processos devem ser tipicamente descritos na perspectiva dos stackholders (o cliente, o dono do negcio/processo, ...), pois devem poder ser entendidos e validados por estes.

Processos de Negcio (jlb)

Modelao de Processos de Negcio


A Modelao de Processos de Negcio (BPM - Business Process Modeling) tem como objectivo a definio e a descrio esquemtica de Processos de Negcio. A Modelao de Processos de Negcio necessita assim de recorrer a notaes, podendo para isso ser usada a notao da UML Unified Modeling Language (atravs de perfiz adequados), ou mais especificamente a BPMN Business Processing Modeling Notation.

Processos de Negcio (jlb)

Caracterizao de um Processo de Negcio


Um Processo de Negcio: 1. Tem um objectivo (goal) 2. Tem entradas concretas (inputs) 3. Tem sadas concretas (outputs) 4. Usa recursos (resources) 5. Tem um nmero de actividades que so executadas sempre da mesma forma 6. Tem um impacto horizontal no contexto geral (podendo assim, num contexto de um sistema de informao, afectar mais do que um componente, ou subsistema). 7. Cria valor para um cliente (cliente do processo).

Processos de Negcio (jlb)

Numa notao informal clssica de um processo de negcio...

Processos de Negcio (jlb)


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. Processos de Negcio (jlb)
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. Processos de Negcio (jlb) 8
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. Processos de Negcio (jlb)
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.
Processos de Negcio (jlb)
Retirado de: http://www.sparxsystems.com/business_process_model.html

10

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.
Processos de Negcio (jlb)
Retirado de: http://www.sparxsystems.com/business_process_model.html

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.

Processos de Negcio (jlb)


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

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.

Processos de Negcio (jlb)


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

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.

Processos de Negcio (jlb)


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

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.

Processos de Negcio (jlb)


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

15

ndice
Processos de negcio (BP) Modelao de BP em UML Mais sobre modelao de BP... Modelao de BP no Enterprise Architect Modelao de BP em UML Modelao de BP em BPMN

Processos de Negcio (jlb)

16

Modelao de Processos em UML


Podem ser definidos perfiz da UML para capturar a representao visual de processos de negcio, recorrendo a actores e casos de utilizao e ainda a diagramas de actividade, estado, classe e objecto. Business Use Cases podem suportar a modelao de processos de negcio, ao nvel da organizao, em analogia aos (System) Use Cases na modelao ao nvel dos sistemas. A descrio de um Business Use Case, estando ao nvel do negcio, refere assim os processos de negcio. O resultado da modelao de processos de negcio pode ser usado para o levantamento de requisitos de um sistema!!!
Processos de Negcio (jlb)
http://www.sparxsystems.com/platforms/business_process_modeling.html

17

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 UMLs 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.
Processos de Negcio (jlb) 18

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

Um perfil de Business Use Cases (versus System Use Cases)

Exemplo de um perfil UML para processos de negcio (esteretipos de business actor e business use case)

Processos de Negcio (jlb)

19

Conceitos em Modelao de Processos com UML


Actor do Negcio (Business Actor) Actor exterior ao processo, que com ele interage!
Trabalhador do Negcio (Business Worker) Abstraco de algo que representa um papel activo no caso de utilizao do negcio (pode ser um sistema ou um humano)!

Entidade do Negcio (Business Entity) Qualquer entidade relevante para o negcio!


Processos de Negcio (jlb) 20

Exemplos de diagramas de Business Use Case

Processos de Negcio (jlb) http://www-128.ibm.com/developerworks/rational/library/360.html

21

Diagramas de actividade detalham os processo de negcios (workflows na perspectiva Business Use Case)...

Processos de Negcio (jlb) http://www-128.ibm.com/developerworks/rational/library/360.html

22

Business Object Model: Diagramas de Classes


Business Workers

Entidades do Processo
Processos de Negcio (jlb) http://www-128.ibm.com/developerworks/rational/library/360.html 23

Business Object Model: Diagramas de Classes (outro exemplo)

Processos de Negcio (jlb) http://www-128.ibm.com/developerworks/rational/library/360.html

24

Business Object Model: Diagramas de actividade, com streamlines realando os papis dos business workers

Processos de Negcio (jlb) http://www-128.ibm.com/developerworks/rational/library/360.html

25

Business Actor

Business Object Model: Diagramas de Sequncia


Business Worker

Processos de Negcio (jlb) http://www-128.ibm.com/developerworks/rational/library/360.html

26

Do modelo do negcio para o modelo do sistema


Uma modelao de negcio pode ser aproveitada para a modelao de um sistema:
Cada business use case pode vir a corresponder a um sub-sistema Cada processo de negcio pode vir a corresponder a um caso de utilizao do sistema (sub-sistema) Cada entidade do negcio (business entity) pode vir a corresponder a uma classe (entidade) do sistema
Processos de Negcio (jlb) 27

ndice
Processos de negcio (BP) Modelao de BP em UML Mais sobre modelao de BP... Modelao de BP no Enterprise Architect Modelao de BP em UML Modelao de BP em BPMN

Processos de Negcio (jlb)

28

Mais sobre modelao de BP...


O problema da modelao de Processos de Negcio uma rea nova e conturbada, ainda em constante e frequente (re-)definio de conceitos e linguagens...: BPMN Business Process Modeling Notation ... BPML Business Process Modeling Language ... Tecnologia e conceitos como por exemplo WS (WebServices), SOA (Service Oriented Architectures) trouxeram novas perspectivas, novos requisitos e novos focos de polmica (ver por exemplo http://www.ebpml.org/):
BPEL Business Process Execution Language (WS-BPEL, BPEL4WS, ..., BPEL-J, ...)
Processos de Negcio (jlb) 29

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.
Processos de Negcio (jlb) 30

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

Processos de Negcio (jlb)

31

ILOG JViews BPMN Modeler 1.0

Processos de Negcio (jlb)

32

Exemplo

Processos de Negcio (jlb)

33

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

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

Processos de Negcio (jlb)

34

ndice
Processos de negcio (BP) Modelao de BP em UML Mais sobre modelao de BP... Modelao de BP no Enterprise Architect Modelao de BP em UML Modelao de BP em BPMN

Processos de Negcio (jlb)

35

Modelao 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.
Processos de Negcio (jlb) 36

Instalar Profiles no EA
http://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.

Processos de Negcio (jlb)

37

Modelao de BP em BPMN
Add-in ao Enterprise Architect para BPML
http://www.sparxsystems.com.au/products/mdg_bpmn.html http://www.sparxsystems.com.au/bin/EABPMN.exe

Processos de Negcio (jlb)

38