29
فلسطينية لكترونية الديمية الحكومة ا أكاThe Palestinian eGovernment Academy www.egovacademy.ps Session 13-14 Tutorial 1: Data and Business Process Modeling Session 13-14 Modeling with Business Process Modeling Notation Modeling with Business Process Modeling Notation Dr. Mahmoud H. M. Saheb Palestinian Polytechnic University Reviewed by Prof. Marco Ronchetti, Trento University, Italy

Pal gov.tutorial1.session13 14

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Pal gov.tutorial1.session13 14

أكاديمية الحكومة ا�لكترونية الفلسطينية

The Palestinian eGovernment Academy

www.egovacademy.ps

Session 13-14

Tutorial 1: Data and Business Process Modeling

Session 13-14

Modeling with Business Process Modeling NotationModeling with Business Process Modeling Notation

Dr. Mahmoud H. M. Saheb

Palestinian Polytechnic University

Reviewed by

Prof. Marco Ronchetti, Trento University, Italy

Page 2: Pal gov.tutorial1.session13 14

About

This tutorial is part of the PalGov project, funded by the TEMPUS IV program of the Commission of the European Communities, grant agreement 511159-TEMPUS-1-

2010-1-PS-TEMPUS-JPHES. The project website: www.egovacademy.ps

University of Trento, Italy

Vrije Universiteit Brussel, Belgium

Birzeit University, Palestine (Coordinator )

Palestine Polytechnic University, Palestine

Project Consortium:

University of Namur, Belgium

Vrije Universiteit Brussel, Belgium

TrueTrust, UK

Palestine Polytechnic University, Palestine

Palestine Technical University, PalestineUniversité de Savoie, France

Ministry of Local Government, Palestine

Ministry of Telecom and IT, Palestine

Ministry of Interior, Palestine

Coordinator: Dr. Mustafa JarrarBirzeit University, P.O.Box 14- Birzeit, PalestineTelfax:+972 2 2982935 [email protected]

Page 3: Pal gov.tutorial1.session13 14

© Copyright Notes

Everyone is encouraged to use this material, or part of it, but should properly cite the project (logo and website), and the author of that part.

No part of this tutorial may be reproduced or modified in any form or by any means, without prior written permission from the project, who have the full

copyrights on the material.

3PalGov © 2011

Attribution-NonCommercial-ShareAlikeCC-BY-NC-SA

This license lets others remix, tweak, and build upon your work non-commercially, as long as they credit you and license their new creations under the identical terms.

Page 4: Pal gov.tutorial1.session13 14

Tutorial Map

Topic Time

Module I: Conceptual Data Modeling

Session 0: Outline and Introduction

Session 1.1: Information Modeling 1

Session 1.2: Conceptual Data Modeling using ORM 1

Session 1.3: Conceptual Analyses 1

Session 2: Lab- Conceptual Analyses 3

Session 3.1: Uniqueness Rules 1.5

Intended Learning Objectives

Module 1 (Conceptual Date Modeling)

A: Knowledge and Understanding

11a1: Demonstrate knowledge of conceptual modeling notations and concepts

11a2: Demonstrate knowledge of Object Role Modeling (ORM) methodology.

11a3: Explain and demonstrate the concepts of data integrity & business rules

B: Intellectual Skills

11b1: Analyze application and domain requirements at the conceptual level,

and formalize it using ORM.

4PalGov © 2011

Session 3.1: Uniqueness Rules 1.5

Session 3.2: Mandatory Rules 1.5

Session 4: Lab- Uniqueness & Mandatory Rules 3

Session 5: Subtypes and Other Rules 3

Session 6: Lab- Subtypes and Other Rules 3

Session 7.1: Schema Equivalence &Optimization 1.5

Session 7.2: Rules Check &Schema Engineering 1.5

Session 8: Lab- National Student Registry 3

Module II: Business Process Modeling

Session 9: BP Management and BPMN: An Overview 3

Session 10: Lab - BP Management 3

Session 11: BPMN Fundamentals 3

Session 12: Lab - BPMN Fundamentals 3

Session 13: Modeling with BPMN 3

Session 14: Lab- Modeling with BPMN 3

Session 15: BP Management & Reengineering 3

Session 16: Lab- BP Management & Reengineering 3

and formalize it using ORM.

11b2: Analyze entity identity at the application and domain levels.

11b4: Optimize, transform, and (re)engineer conceptual models.

11b5: Detect &resolve contradictions & implications at the conceptual level.

C: Professional and Practical Skills

11c1: Using ORM modeling tools (Conceptual Modeling Tools).

Module 2 (Business Process Modeling)

A: Knowledge and Understanding

12a1: Demonstrate knowledge of business process modeling notations and concepts.

12a2: Demonstrate knowledge of business process modeling and mapping.

12a3: Demonstrate understand of business process optimization and re-engineering.

B: Intellectual Skills

12b1: Identify business processes.

12b2: Model and map business processes.

12b3: Optimize and re-engineer business processes.

C: Professional and Practical Skills

12c1: Using business process modeling tools, such as MS Visio.

Page 5: Pal gov.tutorial1.session13 14

Session ILOs

After completing this session students will be able to:

1. Demonstrate knowledge of BP modeling and mapping.

2. Using BP modeling tools.

5PalGov © 2011

2. Using BP modeling tools.

Page 6: Pal gov.tutorial1.session13 14

Session Outline

Session 13 and 14 are video, discussions, and practical activities related with modeling.

• BPMN– Activities, LOOP Activities (slide 8)

– Communication with Other BPMN Processes and Services (slide19)

– Example

6PalGov © 2011

• Lab– Case study: a library book lending process (slide 25)

– Purchasing process

• Most Common BP Mistakes in BPMN process Modeling

Dr. Tomislav Rozmanhttp://www.slideshare.net/tomirozman/eurospi2007trozman

Page 7: Pal gov.tutorial1.session13 14

Video session

Video from Bizagi•BPD Basic elements 15:00 (Previous session)•BPMN complete set 22:00•Gate Ways 16:00•Gate ways animation: http://knowhow.visual-paradigm.com/business-process-modeling/bpmn-

7PalGov © 2011

paradigm.com/business-process-modeling/bpmn-gateways/

Discussion

Page 8: Pal gov.tutorial1.session13 14

Activity basics

Task

Sub Process

Call Activity

Page 9: Pal gov.tutorial1.session13 14

Loop activities

• The attributes of Tasks and Sub-Processes will determine if they are repeated or performed once.

• There are two types of loops:

9PalGov © 2011

• There are two types of loops:

Standard and Multi- Instance. A small looping indicator will be displayed at the bottom-center of the activity.

Condition is evaluated

after each loop.

Page 10: Pal gov.tutorial1.session13 14

Sequence Flow Looping

• Loops can be created by connecting a Sequence Flow to an “upstream” object. An object is considered to be upstream if that object has an outgoing Sequence Flow that leads to a series

10PalGov © 2011

Sequence Flow that leads to a series of other Sequence Flows, the last of which is an incoming Sequence Flow for the original object.

• Loop-until

Page 11: Pal gov.tutorial1.session13 14

Multiple Instances

• The attributes of Tasks and Sub-Processes will determine if they are repeated or performed once. A set of three horizontal lines will be displayed at the bottom-center of the activity for sequential Multi-Instances (see lower figure to the right). A set of three vertical lines will be displayed at the bottom-

11PalGov © 2011

three vertical lines will be displayed at the bottom-center of the activity for Parallel Multi-Instances (see lower figure to the left).

• The number is predefined as FOR Loop

Page 12: Pal gov.tutorial1.session13 14

Task properties

• Task type: (non, service, receive, send, user, script, abstract, manual, reference, …)

• Start quantity (see page 193)

• Completion quantity

12PalGov © 2011

• Completion quantity

• Loop type: (none, standard, MultiInstance)

• Loop counter

• MI condition: (hide, show)

• MI ordering: (parallel, sequential)

• MI flow condition: (none, one, all, complex)

Page 13: Pal gov.tutorial1.session13 14

Types of Task Specialization

Abstract

(Plain)

Used when first scoping out a process.

Service Indicates an automated process which calls a

external service to get work done.

Send A task which sends a message to a external entity

Receive A task which receives a message from an external

entity. entity.

User A task involving both man and machine.

Manual Used to indicate non-automated task.

Business

Rule

An atomic activity that is included within a Process.

Script Determines how task operates when (java script) is specified.

Page 14: Pal gov.tutorial1.session13 14

• Service Task: is a Task that uses some sort of service, which could be a Web service or an automated application.

14PalGov © 2011

• Send Task: is a simple Task that is designed to send a Message to an external Participant (relative to the Process). Once the Message has been sent, the Task is completed.

Page 15: Pal gov.tutorial1.session13 14

• Receive Task A Receive Task is a simple Task that is designed to wait for a Message to arrive from an external Participant (relative to the

15PalGov © 2011

external Participant (relative to the Process). Once the Message has been received, the Task is completed.

Page 16: Pal gov.tutorial1.session13 14

• User Task A User Task is a typical “workflow” Task where a human performer performs the Task with the assistance of a software application and is scheduled through a task list manager of some sort.User Tasks need to be rendered on user interfaces like forms

16PalGov © 2011

• Manual Task A Manual Task is a Task that is expected to be performed without the aid of any business process execution engine or any application. An example of this could be a telephone technician installing a telephone at a customer location.

Page 17: Pal gov.tutorial1.session13 14

• Business Rule Task: provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide.Business rule is a very specific type of service, often maintained by business people instead of IT. Most BPM systems have their own BRE (business rules engine) or decision table system.

17PalGov © 2011

decision table system.

• A Script Task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the Task is ready to start, the engine will execute the script. When the script is completed, the Task will also be completed.

Page 18: Pal gov.tutorial1.session13 14

Sub Process

A Sub-Process that represents a set of coordinated activities carried out by independent, loosely-coupled

systems in accordance with a contractually defined business relationship.

Results of tasks in a transaction to be, as a whole,

Sub Process tasks

18PalGov © 2011

Transaction

whether "all tasks are executed" or "none of them is executed." The tasks are tentatively executed first,

and if all the tasks are successfully completed, the

process continues. Otherwise, all of them are undone and started over again.

Event Sub Process

This embedded sub-process is not instantiated by

normal sequence flow. It is triggered by an Eventbut runs in context of Activity.

Page 19: Pal gov.tutorial1.session13 14

Synchronous Vs Asynchronous:

When you invoke a synchronous operation, you send a message and then wait for an response before proceeding with the process flow.

When you invoke an asynchronous operation, you send a message

Communication with Other BPMN Processes and Services

19PalGov © 2011

When you invoke an asynchronous operation, you send a message but do not wait for an answer to proceed with the process flow.

The asynchronous operation receives the message and starts running. You can obtain the answer of an asynchronous operation by invoking a callback operation. If you invoke the callback operation before the asynchronous operation finishes running, then you must wait for it to complete before getting the answer.

Page 20: Pal gov.tutorial1.session13 14

BPMN provides multiple ways for BPMN processes to communicate with other processes

or services:

Messages

They enable you to invoke asynchronous services or asynchronous BPMN processes. You

can also use them to define the interface your process exposes to other processes or

services.

Send and Receive Tasks

They are very similar to message events. You can choose to use one or the other.

Communication with Other BPMN Processes and Services:Asynchronous

20PalGov © 2011

They are very similar to message events. You can choose to use one or the other.

The only difference they have with message events is that they support boundary events.

They enable you to invoke asynchronous services or asynchronous BPMN processes. You

can also use them to define the interface your process exposes to other processes or

services. Don’t mix them with send receive message in one model if message event is not

a boundary event.

.

Signal Events

They enable you to broadcast a message to multiple process. The processes waiting for

that specific message react to it.

http://docs.oracle.com/cd/E14571_01/doc.1111/e15176/ipc_bpmpd.htm#BHBBFBHD

Page 21: Pal gov.tutorial1.session13 14

Service tasks enable you to invoke synchronous operations in services and BPMN processes.When the BPMN Service Engine runs a service task, it invokes the operation specified in the service task and waits for a response. The BPMN Service Engine does not move the token to the next activity until it receives a response from the synchronous service or BPMN process.

Communication with Other BPMN Processes and Services:Synchronous

21PalGov © 2011

http://docs.oracle.com/cd/E14571_01/doc.1111/e15176/ipc_bpmpd.htm#BHBBFBHD

Page 22: Pal gov.tutorial1.session13 14

Event Sub Process

(interrupting and non-interrupting)

(I/N)-Message - Event Sub-Process -

(I/N)- Timer - Event Sub-Process -

(I/N)- Conditional - Event Sub-Process -

(I/N)- Signal - Event Sub-Process -

22PalGov © 2011

(I/N)- Multiple - Event Sub-Process -

(I/N)- Parallel Multiple - Event Sub-Process -

(I/N)- Escalation Event Sub-Process -

(I)- Error - Event Sub-Process -

(I)– Compensation - Event Sub-Process -

Page 23: Pal gov.tutorial1.session13 14

Event Sub process - Example

23PalGov © 2011

Understanding BPMN Release 2.0, Robert Shapiro

Page 24: Pal gov.tutorial1.session13 14

Session 14: Lab Activity

• Demonstration for Workflow patterns (from Bizagiresources and the BPMN equivalents of the of Workflow Patterns research headed by Wil van der Aalst) http://www.workflowpatterns.com/vendors/documentation/BPMN-pat.pdf

And www.diveintobpm.org

24PalGov © 2011

And http://www.workflowpatterns.com/patterns/control/index.php

• WP1: Sequence WP10: Synchronizing Merge• WP2: Parallel Split WP11: Arbitrary Cycles• WP3: Synchronization WP12: Implicit Termination• WP4: Exclusive Choice WP13 to 16: Multiple Instances• WP5: Simple Merge WP17: Deferred Choice• WP6: Multi-Choice WP18: Interleaved Routing• WP7: Multiple Merge WP19: Milestone• WP8: Discriminator WP20: Cancel Activity• WP9: N out M Join WP21: Cancel Case

Page 25: Pal gov.tutorial1.session13 14

The Borrower requests a book from the Librarian, the Librarian gets the book status using software; the book could have the following status:1- Book is on Loan: the librarian sends on loan reply, waits for the following options:•Cancel the request if he received decline hold from the borrower or he did not receive any reply from the borrower.•If he received a Hold request from the borrower then he will request

Case Study: a library book lending process

25PalGov © 2011

•If he received a Hold request from the borrower then he will request hold using the SW and sends a Hold reply for the borrower. After two weeks he will check the status again2-Book is available: the Librarian checkout the book then sends checkout reply.

Draw BPMN, presentation and discussion

Page 26: Pal gov.tutorial1.session13 14

Assignment 3

•Draw the Purchase process which is described in the following link: http://www.almohasb1.com/2009/04/purchasing-

procedures.html

26PalGov © 2011

procedures.html

•Draw one of the processes in your organization using BizAgi or Bonita.

Presentation and discussion.

Page 27: Pal gov.tutorial1.session13 14

Summary

• In this session we presented and discussed• BPMN complete

• Gate Ways

• BPMN LOOP Activities, BizAgi video for loops with examples

And the Most Common BP Mistakes in BPMN

27PalGov © 2011

And the Most Common BP Mistakes in BPMN process Modeling

• Next session will discuss the

– best practices for BPM and

– BP re-engineering.

Page 28: Pal gov.tutorial1.session13 14

References

• Analysis of Most Common Process ModellingMistakes in BPMN Process Models

Dr.Tomislav Rozman

http://www.slideshare.net/tomirozman/eurospi2007trozman

28PalGov © 2011

• A heuristic method for detecting problems in business process models

Volker Gruhn and Ralf Laue, DOI 10.1108/14637151011076485

• http://www.bpmn.org/

• Elearning.Bizagi.com

Page 29: Pal gov.tutorial1.session13 14

Thanks

Dr. Mahmoud H. Saheb

29PalGov © 2011