You are on page 1of 108

BPMN – Business Process Model Notation

GVHD: TS Phạm Nguyễn Cương

Intel® Teach Program Essentials


1. Nguyễn Thúy Ngọc Course
2. Nguyễn Thị Ngọc Hoa
3. Phạm Thủy Tú
4. Phạm Thị Thanh Phương
Nội dung trình bày

1 Mô hình hóa nghiệp vụ với BPMN

2 Các thành phần cơ bản trong BPMN

3 Một số vấn đề liên quan

4 Ví dụ minh họa

2
Mô hình hóa nghiệp vụ với BPMN

HV: Nguyễn Thúy Ngọc

3
Nội dung trình bày
1. Mô hình hóa nghiệp vụ với BPMN
 Giới thiệu BPMN
 Mô hình hóa nghiệp vụ với BPMN
2. Các thành phần cơ bản trong BPMN
 Flow Objects: Activities, Events, Gateways
 Connecting objects
 Swimlandes
 Artifacts
3. Một số vấn đề liên quan
4. Ví dụ minh họa

4
1. Mô hình hóa nghiệp vụ
 Mô hình hóa: trừu tượng hóa sự vật, hiện tượng trong
thế giới thực

5
1. Mô hình hóa nghiệp vụ (tt.)
 Mô hình hóa quy trình nghiệp vụ: mô tả bằng hình vẽ
chuỗi các hoạt động của quy trình nghiệp vụ thực tế

Mô hình hóa

Quy trình nghiệp vụ thực tế Mô hình nghiệp vụ

6
1. Mô hình hóa nghiệp vụ (tt.)
Level 1 Level 2 Level 3
Process Map Process Descritption Process Model / Flow Chart

Process A

Activity bloc 1

Activity bloc 2

Activity bloc 3 X

Activity bloc n

Process B X

Process C

Tổng quát Chi tiết

7
1. Mô hình hóa nghiệp vụ (tt.)

Tài liệu kỹ thuật thống nhất  giảm thiểu rủi ro

Hiểu rõ về quy trình hiện tại  cơ sở cải tiến quy trình

8
1. Mô hình hóa nghiệp vụ (tt.)

Những thách thức của việc mô hình hóa

9
1. Mô hình hóa nghiệp vụ (tt.)

Yêu cầu khách hàng, nghiệp vụ

Business analyst
Xác định quy trình (nghiệp vụ)

Process developer: “code”

10
1. Mô hình hóa nghiệp vụ (tt.)
 Business Analyst (BA): cầu nối giữa khách hàng và lập
trình viên

Mô hình nào để giảm


thiểu nhập nhằng ?

11
1. Mô hình hóa nghiệp vụ (tt.)

Không đủ ký hiệu để mô tả

Finance

Customer
Inventory

Ordering

Mô hình hóa

Quy trình nghiệp vụ thực tế

12
1. Mô hình hóa nghiệp vụ (tt.)
 Một số công cụ mô hình hóa nghiệp vụ phổ biến

THIẾU ký hiệu mô tả
Xử lý liên quan thời gian Mô hình hóa
Flowchart
Xử lý lặp với BPMN
Xử lý liên quan thông điệp
…

Business Process Model


13
1.1 Giới thiệu BPMN
 Business Process Modeling Notation (BPMN): tập
hợp nhiều ký hiệu để mô hình hóa trực quan các quy
trình nghiệp vụ xử lý

14
1.1 Giới thiệu BPMN (tt.)
 Hướng đến người làm nghiệp vụ

Business Environment
Đối tượng tham gia Mục tiêu

Strategy Consultants

Business Analysts BPMN Modeling

Process Designers Focus  BP Scope 

BPEL
System Architects
Execution

Software Engineers
Technology Implementation
15
1.1 Giới thiệu BPMN (tt.)
 Lịch sử phát triển BPMN: từ BPMN 1.0 thành viên OMG

Hình thức hóa được ngữ nghĩa


BPMN 2.0 Có sự tương quan giữa các events
Thêm nhiều ký hiệu tương tác với user
Choreography model
BPMN 1.2

BPMN 1.1 -Chưa nhất quán


-Ngữ nghĩa nhập nhằng

BPMN 1.0

16
1.1 Giới thiệu BPMN (tt.)
 Ưu điểm so với mô hình flowchart, activity diagram:
oNhiều ký hiệu, ngữ nghĩa  gần với thực tế
oMô tả cách rõ ràng, hạn chế nhập nhằng, dễ đọc, dễ hiểu
oPhát sinh ra ngôn ngữ thực thi BPEL

17
1.2 Mô hình hóa nghiệp vụ với BPMN
 Các bước cơ bản trong quản lý quy trình

18
1.2 Mô hình hóa nghiệp vụ với BPMN

Menu

19
1.2 Mô hình hóa nghiệp vụ với BPMN

20
Chọn bánh Đặt bánh Đợi 15’ Hỏi phục vụ Nhận bánh

Khách hàng

Nhận đơn hàng Trấn an khách hàng Phục vụ bánh

NV phục vụ

Chuẩn bị bánh Nướng bánh

Số lượng nhiều
Bộ phận bếp
21
Nhận bánh
Gọi đặt bánh Đợi 60’ Gọi điện hỏi & thanh toán

Khách hàng

Nhận đơn hàng Trấn an khách hàng


NV phục vụ

Quy trình
chuẩn bị bánh
Bộ phận bếp

Đóng gói Lập hóa đơn


giao bánh thanh toán
NV giao bánh 22
2. Các thành phần của BPMN
 4 loại ký hiệu cơ bản:
 Flow objects
 Connecting objects
 Swimlanes
 Artifacts

23
2.1 Activity
 Mô tả công việc / hoạt động trong quy trình kinh doanh
 Atomic activity: task

 Composite (non-automic): sub-process

24
2.1.1 Task
 Mô tả 1 hành động trong 1 xử lý mà không thể chia nhỏ
(chi tiết) hơn
 Loop
 Compensation
 Multiple Instance

Có thể sử dụng kết hợp

25
2.1.1 Task (tt.)
 Biểu diễn thêm ngữ nghĩa cho task
Task được thực hiện bằng service của hệ thống,
hoặc từ các web service khác

Task gửi / nhận message cho participants bên ngoài


có liên quan đến quy trình xử lý
Gửi / nhận được message  task kết thúc

Task do con người thực hiện CÓ sự trợ giúp của


phần mềm ứng dụng

Task do con người thực hiện KHÔNG CÓ sự trợ


giúp của phần mềm ứng dụng

26
2.1.1 Task (tt.)
Task tra cứu thông tin tỉ giá ngoại tệ từ service của
hệ thống hoặc từ các Web service

Task gửi message về thông tin đặt hàng cho


khách hàng

Task do nhân viên thực hiện việc kiểm tra thông


tin khách hàng

Task lắp đặt thiết bị mới do nhân viên thực hiện


không có sự trợ giúp của chương trình

27
2.1.1 Task (tt.)
 Loop: mô tả công việc được thực hiện lặp lại nhiều lần
(lưu ý điều kiện dừng)

28
2.1.1 Task (tt.)
 Compensation: mô tả sự quay ngược “backwards” -
khôi phục lại trạng thái trước đó
 Thường dùng kết hợp với transaction

29
2.1.1 Task (tt.)
 Multiple Instance: Mô tả các công vụ được thực hiện
song song

30
2.1.2 Sub Process
 Mô hình hóa xử lý phân cấp  phân rã thành các xử lý
nhỏ (chi tiết) hơn

Expand

31
2.1.2 Sub Process (tt.)
 4 loại sub process cơ bản
 Loop

 Compensation

 Multiple Instance

 Ad Hoc

32
2.1.2 Sub Process (tt.)
 Ad-Hoc Sub-Process: mô tả nhóm các công việc chưa
xác định được quan hệ thứ tự thực hiện công việc

33
BPMN - Các khái niệm cơ bản (tt)

HV: Nguyễn Thị Ngọc Hoa

34
Nhắc lại: BPMN – Các thành phần cơ bản
 Được phân thành 4 nhóm chính:
 Flow objects
 Connecting objects
 Swimlanes
 Artifacts

Quy trình Seminar 35


Nội dung trình bày
1. Mô hình hóa nghiệp vụ với BPMN
 Giới thiệu BPMN
 Mô hình hóa nghiệp vụ với BPMN
2. Các thành phần cơ bản trong BPMN
 Flow Objects
• Activities
• Events
• Gateways
 Connecting objects
 Swimlandes
 Artifacts
3. Một số vấn đề liên quan
4. Ví dụ minh họa
36
Nội dung
2. Các thành phần cơ bản
 Flow Objects
• Activities
• Events
• Gateways
 Connecting objects
 Swimlandes
 Artifacts

37
Event: Tổng quan
 Event (biến cố / loại sự kiện) là các sự kiện xảy ra trong quá trình
thực hiện tiến trình.
 Dựa vào trình tự thực hiện có 3 loại:
 Start Event
 Intermediate Event
 End Event

Gửi tài liệu cho nhóm “đang hoạt động”


vào lúc 6h sáng thứ sáu hàng tuần. 38
Events:Tổng quan (tt).
 Thông tin “deltail” được thêm vào
tạo ra nhiều loại event khác nhau.

 Dựa theo cách thức tác động tới


quy trình, chia làm 2 loại:
 Catching: xảy ra khi bắt sự
kiện, như nhận được message
(Start Event, Intermediate
Event)
 Throwing: xảy ra có một kết
quả được tạo ra. (Intermediate
Event, End Event.)

39
Start Event
 Giúp xác định khi nào một quy trình nghiệp vụ được bắt
đầu.

None: bắt đầu quy trình xử lý không cần điều kiện kích hoạt

Message: xử lý được kích hoạt khi có thông điệp được gửi


đến (email, fax, phone,…)

Timer: xử lý được kích hoạt sau khoảng thời gian xác định
(1 giờ, 2 ngày, ngày 12 hàng tháng,…)

Rule / Conditional: xử lý được kích hoạt theo điều kiện,


quy tắc (khi có đủ 10 sinh viên thì mởi lớp)

Multiple: xử lý có thể được kích hoạt từ ít nhất 1 hay nhiều


event khác nhau

40
Intermediate Event
 Xảy ra giữa start event và end event.
 Giúp xác định những điều kiện làm gián đoạn hoặc trì
hoãn tiến trình nghiệp vụ.

None: minh họa quá trình chuyển trạng thái xử lý (normal flow)

Msg “catch”: xử lý được kích hoạt khi nhận thông điệp


Msg “throw”: xử lý được kích hoạt khi gửi thông điệp đi

Timer: hoãn xử lý sau khoảng thời gian, sau đó sẽ thực hiện

Rule: xử lý được kích hoạt khi điều kiện đúng

41
Intermediate Event (tt).

Multiple “catch”: có thể nhận nhiều triggers kích hoạt xử lý


Multiple “throw”: có thể gửi đi nhiều triggers kích hoạt xử lý

Link: chuyển sang xử lý khác “go-to”

Parallel Multiple: xử lý được kích hoạt khi có nhiều đầy đủ các


trigger tham gia (xử lý song song nhiều trigger cùng 1 lúc)

Compensation “catch” / “throw”: xử lý được kích hoạt khi có


lỗi và muốn phục hồi lại trạng thái trước đó

Error: xử lý được kích hoạt khi gặp lỗi

Escaltion: xử lý được kích hoạt để giải quyết một ràng buộc nào
đó không được thỏa mãn trong quá trình xử lý (ví dụ: vượt quá
thời gian quy định) 42
End Event
 Kết quả của xử lý đưa đến trạng thái kết thúc quy trình

None: kết thúc quy trình xử lý

Message: gửi kết quả cho đối tượng tham gia (participants)
thông điệp và kết thúc quy trình

Error: thông báo lỗi và kết thúc quy trình

43
Event: sử dụng
1. Event (Normal Flow): đặt giữa 2 activity.
 Điều kiện để thực hiện Activity tiếp theo.

2. Event (Attached to Boundary): gắn với phạm vi của 1 Activity.


 Được sử dụng trong việc quản lý lỗi, ngoại lệ (error / exception
handling)
 .

44
Nội dung
2. Các thành phần cơ bản trong BPMN
 Flow Objects
• Activities
• Events
• Gateways
 Connecting objects
 Swimlandes
 Artifacts

45
Gateways - Overview

 Gateway là đối tượng điều khiển dùng để trộn hoặc phân chia các
luồng thực thi.

Internal markers will


indicate the type of
behavior control.

46
Parallel gateway (AND)

 Tất cả Activity được xử lí song song; tiến trình được tiếp tục khi tất
cả được hoàn tất.
 Logic of tokens: AND

47
Exclusive gateway (XOR)
 Một trong các activity sẽ được thực thi. Việc lựa chọn phụ thuộc
vào điều kiện logic tại Gateways

 Chia làm 2 loại:


 Data-based:

 Event-based:

48
Inclusive gateway (OR)
 Một vài activity sẽ được lựa chọn thực thi.
 Bao hàm chức năng của cả parallel và exclusive
gateways.

49
Gateway: sử dụng
 Để dễ hiểu chỉ nên sử dụng:

 Chỉ sử dụng GATEWAY khi cần điều khiển tiến trình.

50
Nội dung
2. Các thành phần cơ bản
 Flow Objects
 Activities
 Events
 Gateways
 Connecting objects
 Swimlandes
 Artifacts

51
Connecting objects: Tổng quan
• 3 ways of connecting
 Sequence flow
 Message flow
 Association

52
Connecting objects: Ví dụ

53
Nội dung
2. Các thành phần cơ bản
 Flow Objects
 Activities
 Events
 Gateways
 Connecting objects
 Swimlandes
 Artifacts

54
Swimlanes:Tổng quan
 BPMN sử dụng khái niệm “swimlanes” để tổ chức và phân loại các
“activies”.
 Có 2 loại “swimlane”:
 Pools đại diện cho một đối tượng tham gia (participant) vào quy trình
nghiệp vụ.
 Lanes thành phần con của Pool.

55
Nội dung
2. Các thành phần cơ bản
 Flow Objects
 Activities
 Events
 Gateways
 Connecting objects
 Swimlandes
 Artifacts

56
Artifacts: Tổng quan

Artifacts: cho phép thể hiện thêm thông tin mô tả tiến


trình. 57
Artifacts: Tổng quan

 Có 3 loại Artifacts chuẩn trong BPMN:

 Data Object: thể hiện output hoặc input data cần thiết cho
một activity.

 Group: được sử dụng cho việc viết sưu liệu, hoặc phân
tích, không ảnh hưởng tới tiến trình nghiệp vụ.
 Annotation: chú thích
58
BPMN: Lời khuyên
 Trong mô hình tiến trình (process modeling) thường có
nhiều hơn một "giải pháp tốt".
 Điều quan trọng nhất là:
 Mô hình theo các quy ước cho trước.
 Tiến trình (process flows) phải dễ hiểu
 Tiến trình (process flows) phải thể hiện đúng thực tế.

 Có thể mô hình theo hướng ngang hoặc dọc, nhưng


khuyến khích hướng ngang.

59
BPMN - Một số vấn đề liên quan
H V: Phạm Thủy Tú

60
Nội dung trình bày
1. Mô hình hóa nghiệp vụ với BPMN
2. Các thành phần cơ bản trong BPMN
3. Một số vấn đề liên quan
 Một số khái niệm liên quan.
 Phương pháp luận mô hình hóa nghiệp vụ BPM.
 Một số lưu ý khi mô hình quy trình nghiệp vụ.
 Ưu - nhược điểm khi sử dụng BPMN
4. Ví dụ minh họa

61
3.1. Một số khái niệm liên quan

 Process
 Orchestration
 Choreography
 Colloboration

62
3.1.1. Process

63
3.1.2. Private Business Process

64
3.1.3. Abstract public process

65
3.1.3. Collaboration Business Process

66
3.1.3. Choreography (tt)

67
3.1.4. Collaboration

68
Choreography and Collaboration

69
Nội dung trình bày

1. Mộ t số khái niệ m liên quan:


 Process
 Orchestration
 Choreography
 Colloboration

2. Phư ơng pháp luận mô hình hó a nghiệ p vụBPM.


3. Mộ t số lư u ý khi mô hình quy trình nghiệ p vụ.
4. Ư u - như ợ c điểm khi sửdụng BPMN

70
3.2. Phương pháp luận mô hình hóa nghiệp vụ BPM

2010 – BPM & Workflow Handbook

Bussiness process normal form

Physical modeling

Logical modeling

Conceptual modeling

71
3.2.1. Conceptual modeling

1. Participants identification.
2. Activities identification.
3. Adding Relationships.
 Sequence Flows.
 Message Flows.
4. Events identification.
5. Choices identification.
6. Documentation of the processes.

72
3.2.1. Conceptual modeling (tt)

73
3.2.2. Logical modeling

1. Participant dependencies.
2. Transform the Activities.
 Activities ordering.
 Activities types.
 Activities substitution.
3. Events.
4. Gateways.
5. Patterns analysis.

74
3.2.2. Logical modeling (tt)

75
3.2.2. Logical modeling (tt)

76
3.2.3. Physical modeling

 The process should not be further modified. The goal of


this phase is to translate the second phase output model
into a physical format.
 We choose to use BPeX XML-Schema because of its natural
correspondence with the BPMN model.
 To accomplish this task we use a mix of top-down and
bottom-up methodologies. We use the top-down
methodology to derive the XML-tree structure starting from
the model diagram, while we apply the bottom-up
methodology to enrich the elements definitions with all the
constructs and attributes.
77
3.2.4. Bussiness Process Normal Form

78
Nội dung trình bày

1. Mộ t số khái niệ m liên quan:


 Process
 Orchestration
 Choreography
 Colloboration

2. Phư ơng pháp luẬn mô hình hó a nghiệ p vụBPM.


3. Mộ t số lư u ý khi mô hình quy trình nghiệ p vụ.
4. Ư u - như ợ c điểm khi sửdụng BPMN

79
3.3. Những điểm cần lưu ý

 Khi phỏ ng vấn khách hàng (nhân viên nghiệ p vụ) họ


thư ờng mô tả quy trình theo kiểu tuầ n tự:
 Đầ u tiên làm X, sau đó làm Y, cuố i cùng làm Z.
 Ví dụ: Quy trình lấy đư ợ c từ nhân viên giao hàng

80
3.3. Những điểm cần lưu ý (tt)

 Tuy nhiên quy trình như thếlà chư a đủ, BA phải có


những câu hỏ i để làm sáng tỏ thêm những điểm:
 Quy trình bắt đầ u khi nào? Có thể có những sựkiệ n khác
để quy trình bắt đầ u đư ợ c không?

81
3.3. Những điểm cần lưu ý (tt)

 Những điều kiệ n nào để xác định là quy trình kết


thúc? Có thể có những cách khác để kết thúc quy
trình hay không (trư ờng hợ p có lỗi)?

82
3.3. Những điểm cần lưu ý (tt)

 Khi phỏ ng vấn nhân viên nghiệ p vụ họ thư ờng chỉ


biết luồng công việ c từ ngư ời trư ớc đó đến họ.

83
3.3. Những điểm cần lưu ý (tt)

 Phải lấy thêm thông tin từ nhân viên nghiệ p vụ


trư ớc đó .

84
3.3. Những điểm cần lưu ý (tt)

 “Sau khi nhận hồsơ xong thì hồsơ sẽđư ợ c xửlý trong
vòng 3 ngày và trả kết quả về”

85
3.3. Những điểm cần lưu ý (tt)

 “Sau khi nhận hồsơ xong thì hồsơ sẽđư ợ c xửlý trong
vòng 3 ngày và trả kết quả về”
 Không thể mô hình đư ợ c bằ ng BPMN. Phải tiếp tục đào
sâu thêm bằ ng câu hỏ i khi phỏ ng vấn:
 Nếu không hoàn thành trong vòng 3 ngày thì điều gì sẽ
xảy ra???

86
3.3. Những điểm cần lưu ý (tt)

 BPMN không mô hình đư ợ c phư ơng pháp thực hiệ n


mộ t công việ c nào đó .
 Ví dụ: Phư ơng pháp ghi sổ, phư ơng pháp cập nhật sổ
kho....
 Nên dùng decision table, testcase để đặc tả.
 Không nên mô hình adhoc process khi mô hình nghiệ p
vụmà chỉcầ n đặc tả chúng.
 Ví dụ: quy trình thẩ m định giá, quy trình phát triển phầ n
mềm, ...

87
Nội dung trình bày

1. Mộ t số khái niệ m liên quan:


 Process
 Orchestration
 Choreography
 Colloboration

2. Phư ơng pháp luận mô hình hó a nghiệ p vụBPM.


3. Mộ t số lư u ý khi mô hình quy trình nghiệ p vụ.
4. Ư u - như ợ c điểm khi sửdụng BPMN

88
3.4.1. Ưu điểm

 BPMN là chuẩ n chỉ dùng để mô hình hó a quy


trình nghiệ p vụ.
 Đư ợ c quản lý bởi OMG
 UML, MOF, CORBA, MDA,...
 Dựa trên những chuẩ n đã có trư ớc đây về mô
hình hó a nghiệ p vụ
 EPC, UML activity diagram, Petri nets
 Đư ợ c hỗtrợ bởi nhiều công cụvà tổchức

89
3.4.2. Nhược điểm

 BPMN không mô hình đư ợ c phư ơng pháp thực


hiệ n mộ t công việ c nào đó .

90
BPMN - Ví dụ minh họa
HV: Phạm Thị Thanh Phương

91
Nội dung trình bày
1. Mô hình hóa nghiệp vụ với BPMN
2. Các thành phần cơ bản trong BPMN
3. Một số vấn đề liên quan
4. Ví dụ minh họa

92
MINH HỌA: BÁN BÁNH PIZZA

Khách hàng

NV phục vụ
NV giao bánh

Bộ phận bếp
KHÁCH HÀNG

MUỐN
ĂN
? THỎA
MÃN
NHU
PIZZA
CẦU
QUY TRÌNH

ĐẶT
PIZZA

NHẬN
PIZZA

THANH
TOÁN

ĂN
PIZZA
ĐẶT PIZZA => NHẬN PIZZA

NHẬN
PIZZA

ĐẶT
PIZZA

CHỜ NHẮC
30p PHỤC VỤ
EVENT – BASED DECISION (GATEWAY)
KHÁCH HÀNG - BPMN
NHÂN VIÊN BÁN HÀNG

TRẤN AN
KHÁCH HÀNG

NHẬN
YÊU GIAO BÁNH
CẦU

GỬI YÊU CẦU


CHO ĐẦU BẾP
PARALLEL GATEWAY
NHÂN VIÊN BÁN HÀNG - BPMN
BỘ PHẬN BẾP

LẤY THÊM
NGUYÊN
THIẾU LIỆU
NGUYÊN
CHỌN LIỆU
NGUYÊN
LIỆU

MẶC
ĐỊNH
LÀM BÁNH
SEQUENCE FLOW
INCLUSIVE GATEWAY
BỘ PHẬN BẾP - BPMN
NHÂN VIÊN GIAO HÀNG

GIAO NHẬN
PIZZA TIỀN
NHÂN VIÊN GIAO HÀNG- BPMN
MÔ HÌNH BÁNH PIZZA - BPMN

You might also like