Chapter 10: Process Implementation with Executable Models

Slides:



Advertisements
Similar presentations
Queensland University of Technology, University of Tartu Part II: the last mile.
Advertisements

Design by Contract.
Queensland University of Technology – University of Tartu From Conceptual to Executable BPMN Process Models A Step-by-Step.
University of Tartu Slides prepared in collaboration with Marcello La Rosa (QUT) With contributions from Remco Dijkman (TU/e) From Conceptual.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Object-Oriented Analysis and Design
Object-Oriented Analysis and Design
Systems Analysis and Design in a Changing World, Fourth Edition
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
[ §6 : 1 ] 6. Basic Methods II Overview 6.1 Models 6.2 Taxonomy 6.3 Finite State Model 6.4 State Transition Model 6.5 Dataflow Model 6.6 User Manual.
Process-oriented System Automation Executable Process Modeling & Process Automation.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
SOFTWARE DESIGN.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Conceptual Modelling – Behaviour
1 Introduction to Software Engineering Lecture 1.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Object Oriented Software Development
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Introduction Object oriented design is a method where developers think in terms of objects instead of procedures or functions. SA/SD approach is based.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Chapter 3: Introducing the UML
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
BPMN.  BPMN will provide businesses with the capability of understanding their internal business procedures in a graphical notation.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
FLOW CHARTS IN PROCESS DESCRIPTION FRANK CHINGARANDE.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
UML Chapter 17.
Analysis Classes Unit 5.
Tools Of Structured Analysis
Software Engineering Lecture 4 System Modeling The Analysis Stage.
Chapter 5 System modeling
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Object-Oriented Software Engineering Using UML, Patterns, and Java,
System Design and Modeling
CSS 496 Business Process Re-engineering for BS(CS)
Abstract descriptions of systems whose requirements are being analysed
Business System Development
CHAPTER 4 Test Design Techniques
Specifying collaborative decision-making systems
Logical architecture refinement
Software Architecture
Chapter 20 Object-Oriented Analysis and Design
Chapter 10 Object States and The Statechart Diagram
Appendix A Object-Oriented Analysis and Design
BPMN - Business Process Modeling Notations
Class Diagrams.
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Chapter 5 Architectural Design.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Object Oriented System Design Class Diagrams
Appendix 3 Object-Oriented Analysis and Design
Ponder policy toolkit Jovana Balkoski, Rashid Mijumbi
From Use Cases to Implementation
Presentation transcript:

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Process Implementation in the BPM Lifecycle

Chapter Overview This chapter deals with turning conceptual models into executable models Executable models can be used by a process-aware information system to coordinate a business process We propose a systematic method for carrying out this transformation, which consists of five steps: Identify the automation boundaries, Review manual tasks, Complete the process model, Bring the process model to an adequate level of granularity, and Specify execution properties. By following this method a conceptual model incrementally becomes less abstract and more IT-oriented As part of this method, two standards complementary to BPMN are used: the Case Management Model and Notation (CMMN), and the Decision Model and Notation (DMN)

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Setting the boundaries Guiding principle: not all processes can be automated. Based on this principle, establish which parts of a process can be coordinated by the BPMS and which parts cannot Input: the conceptual model of the business process Three types of tasks are to be distinguished: Automated: are performed by the BPMS itself or by an external service, Manual: are performed by process participants without the aid of any software, User: are performed by a participant with the assistance of the worklist handler of the BPMS or an external task list manager

Notation The distinction between automated, manual, and user tasks is captured in BPMN via specific markers on the top-left corner of the task box Manual tasks are marked with a hand, User tasks are marked with a user icon. Automated tasks are further classified into the following subtypes in BPMN: Script (script marker), if the task executes some code (the script) internally to the BPMS Service (gears marker), if the task is executed by an external application, which exposes its functionality via a service interface Business rule (table marker), if the task triggers a business rule to be executed by a rules engine external to the BPMS Send (filled envelope marker), if the task sends a message to an external service, Receive (empty envelope marker), if the task waits for a message from an external service

Exercise 10.1 Assume you have to automate the loan assessment process model of Solution 3.8 (page 110) for the loan provider. Start by classifying the tasks of this process into manual, automated, and user tasks. Then, represent them with appropriate task markers.

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Review manual tasks Goal: check whether the manual tasks can be linked with the BPMS Guiding principle: if the task cannot be seen by the BPMS, it does not exist Two ways of linking a manual task to a BPMS: Implement as User Task Implement as Automated Task Note: There are cases in which it is not convenient to link manual tasks to a BPMS.

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Complete the Process Model Main goal: Establish that the the process model is complete Two principles underlie this step: i) exceptions are the rule, and ii) no data implies no decisions and no task handoff (so, better include how data is used and produced)

Exceptions Often, conceptual process models neglect certain information because modelers deem it as irrelevant for the specific modeling purpose, they assume it is common knowledge, or they are simply not aware of it. Depending on the application scenario, it may be fine to neglect this information in a conceptual model; however, information that is not relevant in a conceptual model may be highly relevant for a process model to be executed In the majority of cases, a model must completed with the aspects concerning exceptions to make it executable

Data objects Purpose: All electronic data objects that are required as input and output by the tasks of our process need to be specified Rationale: Data objects are often assumed to exist in a conceptual model. In an executable model, where a software engine has to run the model, they need to made explicit. Each data object needed by the BPMS engine to pass control between tasks and to take decisions must be modeled.

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Granularity Tasks in a conceptual model may not be at the right level of granularity for implementation They may be either: too abstract, in which case we need to decompose them, or too detailed, in which case they should be aggregated Guiding principle: A BPMS adds value if it coordinates handoffs of work between resources

Unordered tasks As a rule of thumb, a (sub-)process whose tasks are performed in an ad hoc manner, without any predictable order, is not suitable for automation via a BPMN- based BPMS. In this case, a case management system or an ad hoc workflow system is more appropriate. If the BPMS supports the Case Management Model and Notation (CMMN) language, this is not an issue

CMMN Defines which tasks have to be executed, although potentially restricted by certain conditions Describes what has to be achieved in a process instead of how to achieve it Can be used as a type of sub-process in a BPMN model, but also vice versa: tasks in a CMMN model can have BPMN sub-processes.

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Execution Properties To make the model fully executable, we need to specify in the last step how each model element is effectively implemented by the BPMS of choice The relevant Execution Properties are: Variables, messages, signals, errors, and their data types, Data mappings, Service details for service, send and receive tasks, and for message and signal events, Code snippets for script tasks, Participant assignment rules and user interface structure for user tasks, Task, event, and sequence flow expressions, and Other BPMS-specific properties.

DMN Sometimes, the conditions that allow a process instance to be routed towards one or another path in the model can be quite complex. OMG has developed the Decision Model and Notation (DMN) standard, which can be used for specifying business rules DMN provides three parts for the specification of business rules: the Decision Requirements Graph (DRG), which describes how data is propagated between different decisions, the Simple Expression Language (S-FEEL) to define how values are extracted from variables, and Decision Tables (DMN tables)

DMN Tables

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

BPMSs and BPMN Three categories of BPMSs with respect to their support for BPMN: Pure BPMN: These systems have been designed from the ground up to support BPMN natively. Examples are Activiti and Camunda. Adapted BPMN: These tools use a BPMN skin but rely on an internal representation to execute the process model. Examples are Bizagi and Bonita. Non BPMN: There is, lastly, a general category of BPMSs that use their own proprietary language and semantics. These systems do not support BPMN. An example of such a system is YAWL. The book’s website provides tutorial notes showing how to perform the last step of our method (the specification of execution properties) for various concrete BPMSs: http://fundamentals-of-bpm.org

Chapter 10: Process Implementation with Executable Models Contents Identify the Automation Boundaries Review Manual Tasks Complete the Process Model Bring the Process Model to an Adequate Granularity Level Specify Execution Properties The Last Mile Recap

Recap A five-step method was presented for transforming conceptual process models into executable ones: Identify the automation boundaries, Review manual tasks, Complete the process model, Bring the process model to an adequate level of granularity, and Specify execution properties CMMN was discussed as a technique to deal with unordered tasks DMN was presented as a technique to specify business rules