Old OCEB2F 05 Business Process Modeling Concepts

From Training Material
Jump to navigation Jump to search

Business Process Modeling Concepts⌘

BPMN⌘

  • The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts to the technical developers, and finally to the business people.
  • BPMN is a standardized business process modelling bridge for the gap between the business process design and process implementation.
  • A vision of BPMN is that it can visually model business activities that become machine executable

BPMN 2.0 XML⌘

  • BPMN 2.0 file is an executable XML representation of a business process

<?xml version="1.0" encoding="UTF-8"?> 
<definitions id="Definition" ... >

  <process processType="Private" isExecutable="true" id="com.sample.bpmn.hello" name="Hello World" >

    <!-- nodes -->
    <scriptTask id="_2" name="Hello" >
      <script>System.out.println("Hello World");</script>
    </scriptTask>
    <startEvent id="_1" />
    <endEvent id="_3" >
        <terminateEventDefinition/>
    </endEvent>

    <!-- connections -->
    <sequenceFlow id="_1-_2" sourceRef="_1" targetRef="_2" />
    <sequenceFlow id="_2-_3" sourceRef="_2" targetRef="_3" />

  </process>

BPMN 2.0 XML⌘

  <bpmndi:BPMNDiagram>
    <bpmndi:BPMNPlane bpmnElement="com.sample.bpmn.hello" >
      <bpmndi:BPMNShape bpmnElement="_2" >
        <dc:Bounds x="96" y="16" width="80" height="48" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_1" >
        <dc:Bounds x="30" y="22" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape bpmnElement="_3" >
        <dc:Bounds x="210" y="22" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge bpmnElement="_1-_2" >
        <di:waypoint x="66" y="40" />
        <di:waypoint x="96" y="40" />
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge bpmnElement="_2-_3" >
        <di:waypoint x="176" y="40" />
        <di:waypoint x="210" y="40" />
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>

</definitions>

BPMN Basics⌘

Flow Objects

  • Events (Circles)
  • Activities (Roundtangles)
  • Gateways (Diamonds)

Swimlanes

  • Pools
  • Lanes

Connecting Objects

  • Sequence Flows
  • Message Flows
  • Associations
  • Data Associations

Artifacts (used to provide additional information about the Process)

  • Group
  • Text Annotation


BPMN Activity Basics⌘

  • Activity denotes work that is performed within a business process
  • Activity can be:
    • Task - the finest level of the process step. Cannot be broken down to a finer level.
    • Subprocess - compound activity (flow of other activities)
      • Collapsed
      • Expanded
Subprocess Rules⌘
  • Pools or Lanes can't be used inside subprocess
  • Subprocess can have only None Start Events
  • sequence flow can't cross subprocess boundary
Subprocess Markers⌘

Event Basics⌘

An Event is something that “happens” during the course of a Process.
  • Events affect the flow of the Process and usually have a cause or an impact. The term “event” is general enough to cover many things in a Process.
  • The start of an Activity, the end of an Activity, the change of state of a document, a Message that arrives, etc., all could be considered Events

Event Basics⌘

  • Types of events:
    1. Start Events - indicate where a particular Process will start (generates a token)
    2. Intermediate Events - indicate where something happens (an Event) somewhere between the start and end of a Process
      • Boundary Intermediate Events - attached to the boundary of an Activity
    3. End Events - indicate where a Process will end (consumes a token - marks the end of a path)


Start and End⌘
  • When there is a start event, then there MUST NOT be other flow elements without incoming Sequence Flow.
  • All other Flow Objects MUST be a target of at least one Sequence Flow
  • When there is a start event, there must be an end event and
  • If there is an end event, there must be a start event
  • End events cannot (by definition) accept outgoing sequence flow.
None Events⌘

  • None Event does not have a defined trigger or result.
  • The Event MUST be displayed without a marker
  • None Start Event starts the process and generates new token
  • None End Event ends a particular flow and consumes the token
Events Example 1⌘

Events Example 2⌘

No Events Example⌘

Timer Start Event⌘

  • Starts the Process on specific date (Monday at 9am, etc..) or a specific cycle (e.g., every Monday at 9am)

Gateways⌘

Gateways are used to control splitting and merging of sequence flows.

  • do not represent ‘work’ being done
  • are considered to have zero effect on the operational measures of the process (cost, time, etc.).
  • two types of gateways: converge and diverge
  • are optional

Messages and Sequences⌘

  • Sequence Flow
    • Solid line with an arrow on one end
    • depict when one activity has started and another has ended.
    • defines the order in which actives are performed for any given process participant
    • Never occurs between participants
  • Message flow
    • Defines the flow of information and messages between participants within a process
    • Messages NEVER occur within the same participant

Token ⌘

  • Token traverses the Sequence Flows and passes through the elements in the Process
  • A token is a theoretical concept that is used as an aid to define the behavior of a Process that is being performed
  • The behavior of Process elements can be defined by describing how they interact with a token as it “traverses” the structure of the Process.
  • A token does NOT traverse a Message Flow

Sequence and Message flow⌘

Sequence Flow Splitting⌘

  • Conditional flow - sequence flow with a condition that is evaluated to determine whether or not the sequence flow will be used
  • Default flow - (with slash marker) used only if all the other outgoing conditional flows are not true

Intermediate Events⌘

The process waits for a certain action to happen

  • Can be attached to the boundary of an activity
    • Message (arrives from a participant and triggers the Event)
    • Timer (absolute date or cycle – e.g. Every Monday at 9 am) which tigers the event
    • Error (only boundary of the activity)
    • Signal (send to everyone)

Messages⌘

  • There are three types of message events
    • Start
    • Intermediate
    • End
  • Intermediate event can send or wait for a message (receive a message)

Messages⌘

Gateways⌘

  • Type of gateway determines type of behaviour for both, the diverging and converging Sequence Flow

Exclusive⌘

XOR Gateway

  • A diverging Exclusive Gateway (Decision) is used to create alternative paths within a Process flow
  • Only one of the paths can be taken, this means the gateway is exclusive
  • A Decision can be thought of as a question that is asked at a particular point in the Process
  • The question has a defined set of alternative answers
  • Each answer is associated with a condition Expression that is associated with a Gateway’s outgoing Sequence Flows
Exclusive Gateway Example⌘

or

Merging (exclusive)⌘

Parallel Gateway ⌘

AND Gateway

  • A Parallel Gateway is used to create or synchronize (combine) parallel flows
  • A Parallel Gateway creates parallel paths without checking any conditions; each outgoing Sequence Flow receives a token upon execution of this Gateway
  • For incoming flows, the Parallel Gateway will wait for all incoming flows before triggering the flow through its outgoing Sequence Flows
Parallel Gateway Example 1⌘

or

Parallel Gateway Example 2⌘

Quiz, what will happen?⌘

Inclusive Gateway ⌘

OR Gateway

  • A diverging Inclusive Gateway (Inclusive Decision) can be used to create alternative but also parallel paths within a Process flow
  • Unlike the Exclusive Gateway, all condition Expressions are evaluated
  • The true evaluation of one condition Expression does not exclude the evaluation of other condition Expressions
  • All Sequence Flows with a true evaluation will be traversed by a token
  • Since each path is considered to be independent, all combinations of the paths MAY be taken, from zero to all
  • However, it should be designed so that at least one path is taken.
Inclusive Gateway Example 1⌘

Inclusive Gateway Example 2⌘

Event-Based Exclusive Gateway⌘

  • The Event-Based Gateway represents a branching point in the Process where the alternative paths that follow the Gateway are based on Events that occur
  • This is opposed to the evaluation of Expressions using Process data (as with an Exclusive or Inclusive Gateway which are Data Based)
  • A specific Event, usually the receipt of a Message, determines the path that will be taken
  • Basically, the decision is made by another Participant, based on data that is not visible to Process, thus, requiring the use of the Event-Based Gateway.
Example⌘
  • A company is waiting for a response from a customer they will perform one set of Activities if the customer responds “Yes” and another set of Activities if the customer responds “No.”
  • The customer’s response determines which path is taken
  • The identity of the Message determines which path is taken
  • That is, the “Yes” Message and the “No” Message are different Messages
Example⌘
  • The receipt of the Message can be modeled with an Intermediate Event with a Message trigger or a Receive Task
  • In addition to Messages, other triggers for Intermediate Events can be used, such as Timers

or

Artifacts⌘

  • Artifacts
    • Text annotation
    • Groups
  • Artifacts have no impact on execution they extend the documentation
  • Text objects can be connected to any object with an Association

Group⌘

  • Provides a visual mechanism to group elements of a diagram informally.
  • Group can be used for documentation or analysis purposes.
  • Groups do not affect the flow of the Process.

Text Annotation ⌘

  • Is a mechanism for a modeler to provide additional information for the reader of a BPMN Diagram
  • The Text Annotation object can be connected to a specific object on the Diagram with an Association
  • Does not affect the flow of the Process

Association⌘

  • Association lines are dotted connections to objects
    • Association appears as a dotted line and optional arrow
    • A directional Association is often used with Data Objects to show that a Data Object is either an input to or an output from an activity

Data Objects⌘

  • The primary construct for modeling data within the Process flow.
  • Represented by the rectangle and the folded corner
  • Typically attached to activities and flows, but they can be associated with: tasks, gateways, events, sequence lines or message lines
  • Data Associations are used to move data between Data Objects.
  • Tokens do not flow along a Data Association.

Pools and Lanes⌘

  • Pool = Participant
    • The pool shape contains the elements of a process flow performed by the process participant
    • The pool shape represents a participant
    • The pool shape is optional

Pools and Lanes⌘

  • Lane
    • A lane in BPMN is an optional subdivision of a pool, but can be used without a pool
    • Graphically separates areas of the process diagram for more visibility and understanding
    • Documentation only, doesn't execute
    • Text can be in any direction
    • The meaning of the Lanes is up to the modeler.
    • Lanes are often used for such things as internal roles (e.g., Manager, Associate), systems (e.g., an enterprise application), an internal department (e.g., shipping, finance),

Black/White Box Pools⌘

Pool may have no internal details - "black box pool" or may be shown as a "white box pool" with all details.