Business Process Modelling via BPMN, Session I
-
Upload
amirhossein-aghdassi -
Category
Education
-
view
510 -
download
0
Transcript of Business Process Modelling via BPMN, Session I
BUSINESS PROCESS MODELLING via BPMN
WHO IS AMIRHOSSEIN?
• Software Designer and Analyst, 2009-2014
• Software Development Consultant / Instructor, 2014-2015
• Founder of “Espersa Ins.”, 2015-Now
AGENDA• Introduction to Business Process
Modelling
• Elements of BPMN
• Events, activities and gateways
• Four main structural blocks
• Information artifacts
• Resources: pools and lanes
• Process decomposition and reuse
• Your process model
MODELLING?
– George E.P. Box (1919-2013)
“Essentially,all models are wrong;but some are useful.”
BUSINESS PROCESS MODEL AND NOTATION (BPMN)
• Released by Object Management Group (OMG)
• BPMN 2.0: March 2011
• Similar to UML’s Activity Diagrams
Fairly complex language: over 100 symbols
but
Easy to learn: A handful of symbols cover many of modelling needs
BASIC ELEMENTS
Event Activity(Task)
SequenceFlow Gateway
SIMPLE ORDER MANAGEMENT
Ship product(s)
Receive payment
Archive order
Confirm order
Order received Order fulfilled
BRANCH & MERGE
Split Gateway Join Gateway
TYPES OF GATEWAYS
XOR(One)
AND(All)
OR(Some)
EXCLUSIVE DECISIONUSING XOR GATEWAYS
Resend to customer
Check for mismatch Park invoice
Post invoice
Block invoice
Invoice received Invoice handled
No mismatch(es)
Mismatch(es), butcan be corrected
Mismatch(es), andcan not be corrected
PARALLEL EXECUTIONUSING AND GATEWAYS
Proceed to security check
Pass security
screening
Pass luggage screening
Boarding passreceived
Departure levelreached
Proceed to depart. level
ORDER MANAGEMENTMORE ELABORATED VERSION
Get address
Ship product(s)
Archive order
Send invoice
Receive payment
Retrieve product(s)
Confirm order
Check availability
Reject order
Orderrejected
Orderreceived
Orderfulfilled
EXERCISE IASSESSING LOAN APPLICATIONS
A loan application is approved if it passes two checks:I. The applicant’s loan risk assessment, done automatically by a systemII. The appraisal of the property for which the loan has been asked, carried
out by a property appraiser.
The risk assessment requires a credit history check on the applicant, which is performed by a financial officer.
Once both the loan risk assessment and the property appraisal have been performed, a loan officer can assess the applicant’s eligibility. If the applicant is not eligible, the application is rejected, otherwise the acceptance pack is prepared and sent to the applicant.
کار کالسی اول ارزیابی درخواستهای وام
یک درخواست وام با گذراندن شرایط زیر پذیرفته میشود: (i .برآورد ریسک وام به متقاضی که به صورت اتوماتیک توسط سیستم احنام میشود(ii .تعیین قیمت وثیقه که توسط ارزیاب ملک احنام میشود
برآورد ریسک نیازمند استعالم سابقهی متقاضی است که توسط مسئول امور مالی صورت میپذیرد.
زمانی که تعیین قیمت وثیقه و برآورد ریسک احنام شد،مسئول اعطای وام میتواند واجد نباشد، شرایط واجد متقاضی که صورتی در کند. مشخص را متقاضی بودن شرایط برای و شده صادر وام حوالهی صورت، این غیر در میشود؛ رد متقاضی درخواست
متقاضی ارسال میگردد.
EXERCISE IIORDER DISTRIBUTION
An online store has two warehouses that store different products in TehranPars and Ekbatan.
When an order is received, it is distributed across these warehouses: if some of the relevant products are maintained in TehranPars, a sub-order is sent there; likewise, if some relevant products are maintained in Ekbatan, a sub-order is sent there.
Afterwards, the order is registered and the process completes.
کار کالسی دوم توزیع سفارشات
کاالهای که دارد اکباتان و تهرانپارس در بزرگ انبار دو آنالین فروشگاه یک متفاوتی را نگهداری میکنند.
زمانی که یک سفارش دریافت میشود، توزیع آن از این انبارها شروع میشود. اگر برخی از کاالهای سفارش داده شده در انبار تهرانپارس باشد، یک زیرسفارش سفارش کاالهای از برخی اگر ترتیب، همین به میشود. فرستاده انبار آن برای داده شده در انبار اکباتان باشد، یک زیرسفارش برای آن انبار فرستاده میشود.
پس از آن، سفارش ثبت شده و فرآیند کامل میشود.
INCLUSIVE DECISIONFIRST TRIAL
Forward to Ekbatan
Warehouse
Check order line-
items
Register order
Forward to TehranPars Warehouse
Forward to Ekbatan
Warehouse
Orderreceived
Ordercompleted
Only contains TehranPars products
Only containsEkbatanproducts
Contains both TehranParsand Ekbatan products
Forward to TehranPars Warehouse
INCLUSIVE DECISIONSECOND TRIAL
Forward to TehranPars WarehouseCheck
order line-items
Register order
Orderreceived
Ordercompleted
Does not contains TehranPars products
Forward to Ekbatan
Warehouse
containsTehranPars products
Does not contains Ekbatan products
containsEkbatan products
INCLUSIVE DECISIONUSING OR GATEWAYS
Check order line-
items
Forward to TehranPars Warehouse
Forward to Ekbatan
Warehouse
Orderreceived
Ordercompleted
Register order
Contain TehranPars products
Contain Ekbatan products
ORDER MANAGEMENT+ PRODUCT MANUFACTURING3.2 Branching and Merging 77
Fig. 3.12 The order fulfillment process diagram with product manufacturing
3.2.4 Rework and Repetition
So far we have seen structures that are linear, i.e. each activity is performed at mostonce. However, sometimes we may require to repeat one or several activities, forinstance because of a failed check.
Example 3.7
In the treasury minister’s office, once a ministerial inquiry has been received, it is firstregistered into the system. Then the inquiry is investigated so that a ministerial responsecan be prepared. The finalization of a response includes the preparation of the responseitself by the cabinet officer and the review of the response by the principal registrar. If theregistrar does not approve the response, the latter needs to be prepared again by the cabinetofficer for review. The process finishes only once the response has been approved.
To model rework or repetition we first need to identify the activities, or morein general the fragment of the process, that can be repeated. In our example thisconsists of the sequence of activities “Prepare ministerial response” and “Reviewministerial response”. Let us call this our repetition block. The property of a repeti-tion block is that the last of its activities must be a decision activity. In fact, this willallow us to decide whether to go back before the repetition block starts, so that thiscan be repeated, or to continue with the rest of the process. As such, this decisionactivity should have two outcomes. In our example the decision activity is “Reviewministerial response” and its outcomes are: “response approved” (in this case wecontinue with the process) and “response not approved” (we go back). To modelthese two outcomes, we use an XOR-split with two outgoing branches: one whichallows us to continue with the rest of the process (in our example, this is simply
QUESTION
When should we use anOR-join?
ABNORMALITIES3.2 Branching and Merging 75
Fig. 3.11 What type should the join gateway have such that instances of this process can completecorrectly?
liver a token to the OR-join. If the branch is active, the OR-join will wait for thattoken, otherwise it will not. Once all tokens of active branches have arrived, theOR-join synchronizes these tokens into one (similarly to what an AND-join does)and sends that token to its output arc. We call this behavior synchronizing mergeas opposed to the simple merge of the XOR-join and the synchronization of theAND-join.
Let us delve into the concept of active branch. Consider the model in Fig. 3.11,which features a join gateway with undefined type (the one grayed out with a ques-tion mark). What type should we assign to this join? Let us try an AND-join tomatch the preceding AND-split. We recall that an AND-join waits for a token to ar-rive from each incoming branch. While the token from the branch with activity “C”will always arrive, the token from the branch with activities “B” and “D” may notarrive if this is routed to “E” by the XOR-split. So if activity “D” is not executed,the AND-join will wait indefinitely for that token, with the consequence that theprocess instance will not be able to progress any further. This behavioral anomalyis called deadlock and should be avoided.
Let us try an XOR-join. We recall that the XOR-join works as a passthroughby forwarding to its output branch each token that arrives through one of its inputbranches. In our example this means that we may execute activity “F” once or twice,depending whether the preceding XOR-split routes the token to “E” (in this case “F”is executed once) or to “D” (“F” is executed twice). While this solution may work,we have the problem that we do not know whether activity “F” will be executedonce or twice, and we may actually not want to execute it twice. Moreover, if thisis the case, we would signal that the process has completed twice, since the endevent following “F” will receive two tokens. And this, again, is something we wantto avoid.
REWORK / REPETITION
Prepare response
Investigate inquiry
Register inquiry
Review response
Inquiryreceived
Correspondanceaddressed
Responseapproved
Responsenot approved
EXERCISE IIIASSESSING LOAN APPLICATIONS
Once a loan application is received by the loan provider, and before proceeding with its assessment, the application itself needs to be checked for completeness.
If the application is incomplete, it is returned to the applicant, so that they can fill out the missing information and send it back to the loan provider.
This process is repeated until the application is found complete.
MODELLING VIEWPOINTS
When?
Control
Which?
Data / Service / Product
What?
Function
Who?
Resource / Organisation
INFORMATION ARTIFACTS
Data Object Data Store
[Annotation Group
Directed Association(Data Association) Undirected Association
ORDER MANAGEMENT+ ARTIFACTS
80 3 Essential Process Modeling
Fig. 3.14 The order fulfillment example with artifacts
from activity “Obtain raw materials from Supplier 1” to Raw materials, indicatesthat Raw materials is an output object for this activity. To avoid cluttering the dia-gram with data associations that cross sequence flows, we may repeat a data objectmultiple times within the same process model. However, all occurrences of a givenobject do conceptually refer to the same artifact. For example, in Fig. 3.14 Purchaseorder is repeated twice as input to “Check stock availability” and to “Confirm order”since these two activities are far away from each other in terms of model layout.
Often the output from an activity coincides with the input to a subsequent activity.For example, once Raw materials have been obtained, these are used by activity“Manufacture product” to create a Product. The Product in turn is packaged andsent to the customer by activity “Ship product”. Effectively, data objects allow usto model the information flow between process activities. Bear in mind, however,that data objects and their associations with activities cannot replace the sequenceflow. In other words, even if an object is passed from an activity A to an activity B,we still need to model the sequence flow from A to B. A shorthand notation forpassing an object from an activity to the other is by directly connecting the dataobject to the sequence flow between two consecutive activities via an undirectedassociation. See for example the Shipment address being passed from activity “Get
QUESTION
Do Data Objects affect the token flow?
QUESTION
Do we always need to model Data Objects?
EXERCISE IVASSESSING LOAN APPLICATIONS
When a claim related to a major car accident is evaluated, a clerk first retrieves the corresponding car accident report in the Police Reports database. If the report is retrieved, it is attached to the claim file. The claim file and the police report serve as input to a claims handler who calculates an initial claim estimate. Then, an “action plan” is created based on a “checklist”. Based on the action plan and the initial claims estimate, a claims manager negotiates a settlement with the customer. After this negotiation, the claims manager makes a final decision, updates the claim file to record this decision, and sends a letter to the claimant to inform him/her of the decision.
Please depict all relevant documents in the model.
RESOURCES
• Active vs. passive resources
• Resource classes
POOLS AND LANES
RECRUITMENT
ORDER MANAGEMENT+ POOLS
Cus
tom
erS
uppl
ier
Check stock availability
Confirm order
Reject order
Send invoice
Ship goods
Place purchase
order
Purchaseorder
Order Rejection Notification
Order confirmationnotification
Invoice
Make payment
Shipment notification
ORDER MANAGEMENT+ POOLS AND LANES
ORDER MANAGEMENT+ ARTIFACTS, POOLS AND LANES
843
EssentialProcess
Modeling
Fig.3.15
The
orderfulfillmentexam
plew
ithresource
information
EXERCISE VCLAIMS HANDLING PROCESS AT A CAR INSURER
A customer submits a claim by sending in relevant documentation. The Customer Service department checks the documents for completeness and registers the claim. The Claims Handling department picks up the claim and first checks the insurance policy. Then, an assessment is performed. If the assessment is positive, a garage is phoned to authorise the repairs and the payment is scheduled (in this order). In any case (whether the outcome is positive or negative), an e-mail is sent to the customer to notify the outcome.
SOME TOOLS …• Computer-Aided Software Engineering (CASE) tools:
• Enterprise Architect by Sparx Systems
• Rational System Architect by IBM
• ARIS Express by Software AG
• Visual Paradigm for UML
• Workflow engines:
• Activiti by Alfresco
• jBPM by Red Hat
NEXT SESSION
Model complex business processes using extensions …
WE SHOULD LEARNED • Basic process models in BPMN:
• Simple activities, events, gateways, data objects, pools, and lanes
• Process model vs. process instance
• Information flow between activities and events
• Pools and lanes that can be used to model resources
• Some software tools that supports BPMN
REFERENCES
• Fundamentals of Business Process Management by Marlon Dumas et al., Springer, 2013
• Business Process Management: Concepts, Languages, Architectures (2nd Edition) by Mathias Weske, Springer, 2012