Master's in Computer Science and Business Management PDF

Document Details

KnowledgeableGold4285

Uploaded by KnowledgeableGold4285

ISCTE

José Cascais Brás

Tags

BPMN modelling process modelling Business Process Management business management

Summary

This document is about BPMN modelling constructs. It describes elements such as icons, best practices, common mistakes, and process execution through examples. BPMN is a business process modeling notation.

Full Transcript

Master's in Computer Science and Business Management P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Process Modelling and Deployment José Casc...

Master's in Computer Science and Business Management P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Process Modelling and Deployment José Cascais Brás Professor P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS BPMN Modelling Constructs José Cascais Brás Professor to: to: João CreditsCredits Caldeira Fernando Brito e Abreu DCTI & SSE/ISTAR DCTI & SSE/ISTAR 01 BPMN icons (modelling constructs) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS 02 Best practices and common mistakes 03 Process execution MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT BPMN icons (modelling constructs) Icons convey specific meanings But their power is only revealed when composed with each other! P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Icons used to build phrases MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT BPMN icons also have specific meanings BPMN icons used to build phrases P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS EXERCISE: Use the BPMN poster (next slide) and write the equivalent description of this model in natural language BPMN icons used to build phrases P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS 10 minutes | EXERCISE EXERCISE: Use the BPMN poster (next slide) and write the equivalent description of this model in natural language MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT BPMN icons used to build phrases MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Core set of elements Events Are something that “happens” during the course of a business process. Events affect the flow of the process and usually have a trigger or a result. They can start, interrupt, or end the flow. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Dynamic view of a process (token based) ❑ Token marks elements which are “active” at a particular time ❑ Flow of tokens often includes synchronization (wait for) / chronologic relationship ❑ Many tokens may co-exist P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Event types ❑ Start events produce tokens ❑ End events consume tokens ❑ Intermediate events mean that something happened within a business process engine P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Start message Throw message Catch message End message Simplest useful process ❑ It has at least one activity! P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Activities: tasks and sub-processes An activity is work that is performed within a business process P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Atomic activities Non-atomic (compound) activities An activity is a unit of work performed Activities types within a business process P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS A call activity is a globally defined sub-process or A sub-process is an task that is A task is an atomic activity that may reused in the activity contain tasks and current process other sub-processes Activities markers P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Task performed Task performed by a Sends a message to Task that waits for a without any business human performer another lane or pool message to arrive. process execution (the user) using a Terminates when the Terminates when the engine or software software application. message is sent. message is received. application. Sequence of steps in a Task that uses a web Task that provides scripting language service, an automated input to a Business (e.g. JavaScript), to be application, or other Rules Engine (e.g. executed “internally” kinds of external Drools) and then by a Business Process services. obtains its output. Engine. Multi-instance activities Multi-instance means that the activity repeats itself several times Marker name # loops (activity instances) Instance execution order Standard loop Unknown at design type (1) Sequential P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Sequential Known at design type (2) Sequential Parallel Known at design type (2) Parallel The number of instances to be executed is: 1. defined by a completion condition; each time an activity instance is completed, this condition is checked: if not met, a new activity instance is generated; otherwise the process continues to the next flow object. 2. either calculated in advance and assigned to a data object or determined by the number of list entries in a list data object. More on activity types and markers The double border means that the sub- The ad hoc marker means this is a P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS process has transactional properties, that collection of tasks that exists solely for is, all its tasks must be completed, or the handling a specific case. sub-process must be rolled-back to its initial state. A compensation activity (task or sub- Markers can be composed. For instance, this is a process) fixes a problem in another activity parallel compensation call script task. (e.g. rollback of an interrupted transaction, mitigating a cancellation or error, etc.) A sub-process can be expanded to show the details Sub-processes (expanded) of the process of the lower- level set of activities. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS As soon as the parent process activates the sub-process, the start event of the sub-process is automatically triggered Event sub-process(within dotted lines) are Event Sub processes triggered by events and can be added at the process level or at any subprocess level. The triggering event is configured using a start event. Therefore, none start events are not supported for event subprocesses. The event sub-process runs in parallel P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS with the higher-level process, due to the non-interrupting start event The event sub-process interrupts the higher-level process, due to the interrupting start event. Connectors P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS A Sequence Flow is used to A Message Flow is An Association is used show the order that which used to show the flow to associate information activities will be performed of messages between and artefacts with flow in a Process two entities objects Connection Rules P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS The object listed in the row can The object listed in the row can have a sequence flow to the have a message flow to the object listed in the column object listed in the column Gateways Gateways are modelling elements that are used to control how Sequence Flows interact as they converge and diverge within a Process. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS If the flow does not need to be controlled, then a Gateway is not needed. Parallel (AND) gateway ❑ Activity02, Activity03 and Activity04 will be executed in parallel ❑ The process will only be continued when each of them is completed P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Exclusive (XOR) gateway ❑ A single Activity02, Activity03 and Activity04 will be executed ❑ The choice is based on the logic defined within the gateway G01 P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Inclusive (OR) gateway ❑ Several activities can be executed in parallel ❑ It covers the functionality of parallel and exclusive gateways P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Complex gateway ❑ Several activities can be executed in parallel ❑ It covers the functionality of parallel and exclusive gateways P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Combining gateways Swimlanes: Pools and Lanes A Pool is a “swimlane” and a graphical container for partitioning a set of activities from other Pools, usually in the context of B2B situations. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS A Lane is 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 within a Pool. The meaning of the Lanes is up to the modeller. 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), etc. In addition, Lanes can be nested or defined in a matrix. For example, there could be an outer set of Lanes for company departments and then an inner set of Lanes for roles within each department. Nested Lanes P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS This feature is not supported by some tools (e.g. Bizagi) Artifacts Data Object Data Objects are not flow objects (i e connected through Sequence Flow), but they do provide information about how documents, data, and other objects are used and updated within a Process P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Text Annotations are a mechanism for a modeller to provide additional information for the reader of a BPMN diagram Data Store Data Store provide a mechanism for activities to retrieve or update stored information that will exist beyond the scope of the process Group Group provide a mechanism to visually organize activities Timer starts event: Message start event: a message Start Events Cyclic timer events, points in time, time is always sent to a spans or timeouts. specific receiver Signal start event: P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS None start Signaling across event different processes. A signal thrown can be Conditional start event: caught multiple times. Reacting too hanged business conditions or A signal is broadcasted everywhere. The signal for integrating business rules starting a process may originate from the same pool or a different one Multiple start event: If one out of several processes starts, the process is started Parallel multiple event: Catching all out of a set of parallel events. Message Events In message-catching events the An untyped start event means that the trigger of this token only moves ahead after the (sub)process is not exactly known or is not important. required message is received P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS We represent a pool as a black box (i.e. without detailing its contents) when the internal process is unknown or irrelevant Process synchronization Event Based Gateway is always followed by catching events or Intermediate timer event : receive tasks Sequence flow is routed to the subsequent event/task process waits until the which happens first. interview time is reached P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Throwing events have an explicit or Catching events have an explicit implicit outgoing message flow or implicit incoming message flow Message semantics Messages 2 through 4 represent interactions with tasks in another pool! Messages 2: triggers the execution of Task 2, without interrupting Task 1 (non-interrupting border event) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Messages 3: triggers the execution of Task 3, interrupting Task 1 (interrupting border event) Messages 4: is sent right after Task 1 ends, and then Task 4 is executed (intermediate throwing event) A data flow (using a data object) can be used to represent a message sent between two tasks within the same pool. Interrupting vs non-interrupting events Upon receiving a meeting request, the calendar is updated without interrupting P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS report writing. However, when new data is provided, writing is interrupted, and calculations are updated before returning to the report. Event handling Intermediate Events attached to the boundary of an activity (aka border events) represent triggers that can interrupt the activity. All work within the activity will be stopped and flow will proceed from the Event. Timer, Exceptions, Messages, etc. can be Triggers. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Wait for 10 minutes before continuing to task 2 After 10 minutes, task 1 is interrupted, and the process flow continues to task 3 Event handling Another example of how Intermediate Events can be used to trigger action P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS A start event is most times triggered from the outside of the process Compensation handling and transactions A Transaction is an activity that has a double border. Transactions are supported by a transaction protocol (e g WS Transaction) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Normal Outgoing Sequence Flow represents the path to follow on successful completion. Activities used for compensation (with marker) are outside normal flow and are Associated with normal activities. An Exception Intermediate Event A cancel Intermediate Event represents the path to follow in represents the path to follow case of a transaction hazard on cancelled completion. Compensation handling and transactions P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Transaction in collapsed view Compensation handling and transactions P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS This is the diagram for the transaction Compensation handling and transactions P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Transaction in expanded view MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT BPMN can be extended if required … Example taken from the MOOC “Introduction to BPMN extension BPMN and Signavio Collaboration Hub”(lesson 1) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS This can be represented in standard BPMN with a parallel gateway followed by three “Eat meal ” activities, one in each Example taken from the MOOC “Introduction to BPMN extension BPMN and Signavio Collaboration Hub”(lesson 2) “IT Systems” can be represented by collapsed pools and message flows to/from them. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT common mistakes Best practices and MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Naming conventions MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Naming conventions Send and receive tasks After the message is sent or received, the task is considered P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS complete, and no other work is performed in its scope The two models are equivalent, so why bother? (answer on the next slide …) Send and receive tasks Send and receive tasks can have attached boundary P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS events, while intermediate events cannot! Common best practices violations Avoid using implicit start events! All hanging tasks or P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS intermediate events are triggered automatically when the process starts This process is the same as above, but uses an explicit start event Common best practices violations Avoid using implicit end events! This process considers P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS an implicit end event This process is the same as above, but uses an explicit end event Common best practices violations EXPLICIT exclusive IMPLICIT exclusive (XOR) gateway (XOR) gateway P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS IMPLICIT Parallel (AND) gateway EXPLICIT Parallel (AND) gateway Avoid mixing implicit and explicit gateways in the same diagram! Common best practices violations WRONG LABELLING: Send or receive tasks explicitly define that a message should be received or sent, and no further work is performed in their scope. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Labelling of modelling elements should not violate BPMN semantics! BPMN icons used to build phrases P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS 10 minutes | EXERCISE EXERCISE: Can you find a best practice violation? MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Exercise Best practices violations (non-exhaustive list) Severity Description Moderate [BP] Naming convention not adopted consistently P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Moderate [BP] Send or receive task used instead of intermediate event Moderate [BP] Implicit start or end event Moderate [BP] Implicit split or merge gateway Low [BP] Crossing and/or overwriting of lines (reduces understandability) Low [BP] Redundant end events (with missing merge gateway) Common modelling mistakes Missing sequence flows: activities in one pool are not connected! P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS When modelling multiple pools (e g in business-to-business situations, where two or more processes interact), a common mistake is when activities in a Pool are not connected to sequence flows The most frequent reason for this mistake is that a modeler may treat multiple pools as a single process and incorrectly interpret messages flows as a way of indicating a sequence of activities This kind of process model is not valid because the sequence of activities has not been clearly defined. Common modelling mistakes Incorrect usage of Sequence Flows: sequence flow crosses process / pool boundary! P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Another common problem when modelling multiple pools is that a modeller may treat a set of pools as a single pool with multiple lanes In this case, a modeler uses sequence flows between pools The end result will be an incorrect model (See Figure 2 of a single process that spreads over the boundaries of the pool Common modelling mistakes Improper use of Lanes: each lane in Only one None Start Event the pool contains a start event! can exist in a pool (process) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Sometimes, a modeller incorrectly treats a lane as a pool, thereby representing individual processes within separated lanes. This is wrong because a lane is just an “activity classifying mechanism.” Best practices violations (non-exhaustive list) Severity Description Severe Missing sequence flows (flow “continues” in another process) Severe Sequence flow used for mimicking message flow (with send/receive events/tasks) Severe Deadlock (process instance may be stuck here forever) Severe Incorrect process structure (inadequate pools/lanes) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Moderate Multiple none start events in the same process (pool) Moderate End event used instead of terminate event or vice-versa Moderate Task type overloading (e.g., script & send types simultaneously) Moderate Semantic fuzziness (e.g., missing or wrong labeling of modeling elements) Moderate Wrong or missing task, event or gateway type assignment Moderate Service task without provider or client identification (message flow missing) Moderate Send/receive events or tasks without destination/source identification Low Useless / redundant modeling element (e.g.too fine grained / mergeable with other) Low Infinite loop (missing option to exit loop) Low Wrong direction of (or simply missing) information flow Low Missing data store or data object when state must be read or kept MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Additional examples MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Home Pizza example MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Medical consultation example Incident management example (1) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Try finding best practices violations in the next slides … MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Incident management example (2) MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Incident management example (3) MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT example (4) Incident management MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT example (5) fixed! Best practices Incident management Order to Delivery (bottom-up approach) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS When a process becomes more complex, as we add details, we should consider using abstraction to make models simpler. Order to Delivery (bottom-up approach) Acquire raw materials The bottom-up approach to abstraction implies identifying interrelated groups of tasks and encapsulating them in a sub-process with a given P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS name that captures the common semantics. Ship and invoice Order to Delivery (with subprocesses) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS This abstracted version is much more understandable as a whole for a beginner that aims becoming a domain expert ☺ Order to Delivery (top-dow) P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Sub-processes can be expanded to see details MODELLING CONSTRUCTS P ROCESS MODELLING & D EPLOYMENT Process execution Process execution technology: BPEL The Web Services Business Process Execution Language (WS-BPEL), commonly known as BPEL ❑ is an XML-based OASIS standard language for specifying actions within business processes with web services. P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS ❑ focusing exclusively on the executable aspects. ❑ does not contain elements to represent the graphical aspects of a BPMN process diagram. ❑ is being used by many process orchestration/workflow management tools such as: Process execution technology: BPEL Audiences: Business Environment Purposes: Strategy Consultants P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS Process Designers BPMN Modeling Focus BP Scope System Architects BPEL Executing Software Engineers Business Analysts Technology implementation Mapping from BPMN to BPEL P ROCESS MODELLING & D EPLOYMENT MODELLING CONSTRUCTS

Use Quizgecko on...
Browser
Browser