© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.

Slides:



Advertisements
Similar presentations
Johnb DFDs and Design John Bell The DeMarco notation.
Advertisements

Activity Diagrams in UML. Definition Activity diagrams represent the dynamics of the system. They are flow charts that are used to show the workflow of.
Process Patterns in BizAGI. Slide 2 Overview Types of events Types of gateways Design patterns list.
Chapter 7 Structuring System Process Requirements
Business Process Modelling -9.2/ Marcello La Rosa Queensland University of Technology Brisbane, 19 September 2013.
1 Introduction to modeling Process modelling. 2 Where are we? #TitleDate 1Introduction ORM modeling Relational modeling
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Introduction to BizAgi. Slide 2 User Interface (Summary) The user interface for BizAgi resembles Office It uses a similar ribbon The Palette contains.
Introduction To System Analysis and Design
Use Cases Elizabeth Bigelow CS C 9/15/2000.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
BPMN An Introduction ISIS. © ILOG, All Rights Reserved 2 Definition of BPMN Business Process Modeling Notation provides:  The capability of defining.
Use Case Analysis – continued
SE-565 Software System Requirements More UML Diagrams.
Bite sized training sessions: Process Modelling – Part 1 of 2 Process Model Diagrams.
Chapter 2 Accountants as Business Analysts
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Department of Computer Science 1 CSS 496 Business Process Re-engineering for BS(CS)
CHAPTER FIVE Dr. Rami Gharaibeh BUSINESS PROCESS MODELS.
Business Process Management System Using Intalio BPMS.
Marlon Dumas marlon.dumas ät ut . ee
Chapter 7 Structuring System Process Requirements
USE Case Model.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Object-Oriented Analysis - Instructor Notes
WMS systems manage and coordinate several independent subtasks. The coordination problems get even more serious when the subtasks are performed on separate.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
Session 5: Business Process Modeling (BPMN) Events
Week 5: Business Processes and Process Modeling MIS 2101: Management Information Systems.
Chapter 7 Structuring System Process Requirements
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Object-Oriented Modeling
Interaction Modeling Interaction model describes how objects interact to produce useful results. Interactions can be modeled at different levels of abstraction:
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Interaction Models (2): Sequence Diagrams Extracted from textbook: Object Oriented Modeling and Design with UML M. Blaha, J. Rumbaugh 1.
مهندسی مجدد فرآیندهای تجاری
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Sequence Models.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
Marlon Dumas University of Tartu
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
BPMN.  BPMN will provide businesses with the capability of understanding their internal business procedures in a graphical notation.
© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University.
Prof. Marcello La Rosa BPM Discipline Queensland University of Technology.
Business Process Modelling
Prof. Marcello La Rosa BPM Discipline Queensland University of Technology.
Business Process and Functional Modeling
System Architect support for Business Process Modeling Notation (BPMN)
Information Delivery Manuals: Process Mapping
CSS 496 Business Process Re-engineering for BS(CS)
Activity and State Transition Diagram
Activity Flow Design - or - Organizing the users’ Work
Simulating Processes Motivation
Lab 6: Business Process Modeling Notation (BPMN) Additional Exercises
AH-3 common errors Not using a separate pool for the client (consultant submitting his/her expense report) Consequence is no start event for the “main.
Marlon Dumas marlon.dumas ät ut . ee
BPMN - Business Process Modeling Notations
Presentation transcript:

© Richard Welke 2002 CIS 4120 Fa13: Define/Innovate BP’s Richard Welke Director, CEPRIN Professor, CIS Robinson College of Business Georgia State University Atlanta, GA Session 6: Additional hints on BPMN modeling

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 1 Before starting to draw the process model Clearly identify the customer of the process Clearly state the name of the process and be clear about its scope Identify what triggers (starts) the process and what the normal result is Identify any activities that are out-of-scope of the process In other words … The process owner has no control over how these activities are done These will be external services Then draw your pools (customer, process, external services) And the start event and what triggers it (e.g., message from the client) 2

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 2: Label everything One of BPMN’s objectives is to communicate (to a variety of audiences) Therefore, l abel everything: Sub-processes (make the names meaningful) Conditional gateways (both the gateway “question” and the paths) Events (including start/end where useful; particularly multiple ends) Messages (the content of flows sent to other pools) Use annotation shapes where there’s potential ambiguity

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 3: Use verb-noun for tasks Label activities as Verb-Noun (you’ve heard this before ) Action taken (verb) Thing the action is taken on (noun) Avoid “wishy-washy” names (e.g. perform, process, handle, transform) i.e., be precise Examples Good … Check credit Approve request Poor … Claims processing Compliance Handle claim

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 4: Let sequence flow do work Don’t use a task to do the work of a sequence flow Send/receive should be used *only* for messages going from/to *outside* the process

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 5: Use appropriate split/merge Remember and use the appropriate forms of merge when splitting X-OR  X-OR or Task OR  OR AND  AND (Task may or may not be legal) Event Gateway  X-OR If splitting from a task directly: No conditional “diamond” means always take this path Conditional “diamond” on path means just that; must label the condition Conditional path split acts like an “OR” gateway so use the appropriate merge 6

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 6: Decompostion In nearly every form of professional modeling there’s a means for aggregating details In BPMN this is the sub-process Applies when there’s a set of 2+tasks that: Are performed within the same role (swimlane) Have a single starting and normal end point Have a common purpose (and name) For example: Credit-Check, Order Validation Two kinds: Embedded/reference (not intended to be reused) Independent (separately defined, modeled and maintained – reused or intended for re-use) 7

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Catching common errors A pool must have one and only one start event No sequence lines allowed into a start event Intermediate events must have one and only one flow line in and one and only one out X-OR gateways must have the question it answers stated (and all flows out with “answers”) OR gateways and conditional flows out of tasks must have all paths out labeled with condition You can only communicate between pools with message flows (not sequence flows) All tasks must have at least one sequence flow in and out Don’t use tasks to describe sequence flow behavior (e.g., “Go back and re-calculate quote”) 8

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke More on subprocesses Used for (and useful for): De-cluttering your diagram (decomposition) Grouping a set of tasks/gateways within a swimlane Replace with one sub-process An event whose effect spans multiple activities Put the event on the sub-process boundary If it occurs it will halt whatever is going on within the sub- process and take the external branch you show A prospective “service” A collection of activities could be an independent service Might initially show it as a subprocess (As-Is model) Could then be a service in the To-Be model 9

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke How to do it … Develop first-cut, main process (start-end) Look for collections of activities that have a common goal (single start-end) Use collapsed sub-processes for those aspects your process will directly control Consider … Could group and call it “Create PO”

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke How to do it (II) … Should it be an embedded or external sub- process? Will it be re-used or independently modified? Is it a candidate “service” (another reuse form)? Either way, we’ll have to “cut and paste” Select for cut … 11

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke How to do it (III) … Cut then put a sub-process in place of the cut And paste the “cut” into the “Generate PO” sub- process 12

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Suggestion 4: Use services Different kinds of service usage Synchronous Both the request and response happen within the scope of the requesting activity Asynchronous The request is made to a service by one task but a response is received by a different task 13 Note: This can also be done using send/receive message events from the “main pool”

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Using services Use “black-box” pool services when the needed set of activities are: Not in your control (i.e. outside of your domain of influence) As a way to temporarily “black-box” collections of activities Those that remain “black-boxed” are indirectly controlled via SLA’s (service-level agreements) This set of activities are performed by a group outside of your scope Since you can’t model and include them; show as external service with messages between “your” process and the “black-box” service

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Other things … Iterations Interleaved coordination Complex decision patterns (with rules) 15

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Iteration patterns Number of iterations known at design time N known at process design time Example: Perform two credit checks Number of iterations only known at run-time Condition for activity completion determined as process is running Example: Variable number of line items in a purchase request each have to be examined and priced Can be done on a collection of tasks:

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Interleaved routing Sequential execution of many non-ordered activities Way of working arises, for example, when many tasks compete for the same resources Performers of these tasks decide, in-situ, who will perform the next step

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke Handling complex decision patterns When faced with a cascading set of decision gateways … Often better to treat as a rules processing service interaction The rules engine contains the logic that determines an outcome value that sets the path followed We’ll cover rules specification in a upcoming session

CIS4120 Fa13 Session 6: Additional hints on BPMN modeling © Richard Welke In-Class 6-0 (Attraction booking) Develop a BPMN diagram for the following scenario: A travel agency wants to establish an “attraction booking” service that’s comprised of a bus trip, hotel and “attraction” (e.g. a museum). The service is triggered by an incoming client request and returns one of two different messages: an unavailable notification or a confirmation. The business process of the service starts by first checking the request. If for certain reasons the request can only be handled manually by an employee (e.g. group travels), a sub-process for manual handling is begun. Otherwise, the process enters a sub-process, where a bus and hotel booking occur in parallel. However, if one of these fails, the transaction is canceled, a log message is written and the unavailability message is sent. If both bookings succeed, an attraction is booked by invoking another service. The only thing that could go wrong is a timeout; i.e. the attraction booking service is not responding in time. If this happens, a manual handling of the booking has to be made. If the attraction booking invocation succeeds, a confirmation is sent. The manual handling always results in a successful booking, in which case a confirmation message is sent. 19