You are on page 1of 21

CÁC KÍ HIỆU TRONG BPMN

Danh sách các phần tử mô hình hóa cơ bản và ký hiệu


Một số ký hiệu trong Microsoft Visio

Trong BPMN thật sự có rất nhiều ký hiệu, bạn phải mất một
khoảng gian kha khá mới có thể tìm hiểu hết được ý nghĩa của
các ký hiệu. Tuy nhiên, có thể phân loại các biểu tượng sơ đồ
BPMN thành 4 nhóm chính: flow objects, connecting objects,
swimlanes và artifacts
1. Flow objects: Đây là những yếu tố được kết nối và tạo thành một dòng quy
trình
*Activity: được dùng để mô tả tất cả công việc có trong quy trình. Các
hoạt động xuất hiện trên sơ đồ BPMN dưới dạng một hình chữ nhật góc
tròn. Activity gồm có 4 loại sau:

Task symbol: đây là hoạt động căn bản nhất và không thể
chia nhỏ hơn được nữa.

Sub-process symbol: là loạt các quy trình con nằm trong


một quy trình lớn và bao gồm các xử lý hoạt động nhỏ
bên trong. Có hai loại hiển thị của quy trình phụ là thu
gọn và mở rộng.

Transaction symbol: là một quy trình phụ chuyên ngành


( bao gồm các giao dịch ) liên quan đến việc thanh toán.

Call symbol: là một quy trình phụ toàn cầu được tái sử
dụng tại các điểm khác nhau trong quy trình. Bản chất
chính là gọi lại một quy trình mà mình đã thực hiện trước
đó rồi.
Ex:

Ví dụ về transaction activity

Check credit là quy trình được thực hiện nhiều lần trên hệ thống. Và quy trình này
đã được vẽ ở một quy trình khác có trong tài liệu nên chúng ta không cần vẽ lại mà
chỉ cần gọi nó ra bằng cách sử dụng ký hiệu Call symbol

Tổng quan về 4 loại activity:

Task: ô hình chữ nhật bình thường


Sub-Process: ô hình chữ nhật nét đứt, có dấu cộng ở giữa
Transaction: ô hình chữ nhật có 2 nét bao ngoài
Call Activity: ô hình chữ nhật có 1 nét bao ngoài rất đậm.
Ngoài ra, để thể hiện được nhiều ý đồ hơn thì chúng ta có thể sử dụng một số thứ
khác gọi là Activity marker và Task type

Sub-Process
Ở trên có giải thích rồi

Loop
Là hành động mà nó lặp đi lặp lại theo trình tự.

Ví dụ ở đây bước edit draft sẽ lặp đi lặp lại nhiều lần theo trình tự. Tức là sửa lần
1, sửa lần 2, sửa lần n… đến khi nào oke mới sửa đến bước tiếp theo
Multi-Instance
Đây là cái rất hay nhầm với Loop. Cái này cũng là hành động lặp đi lặp lại nhiều
lần, nhưng nó cần các dataset khác nhau.
Ví dụ Case study đặt ra là: mỗi tháng Director sẽ duyệt report của các Manager.

Hành động duyệt các report này được thể hiện bằng một Task (tạm gọi là Evaluate
Report), lặp đi lặp lại nhiều lần. Nhưng với mỗi lần duyệt, sẽ là một report khác
nhau, được gửi từ các ông Manager khác nhau. Đó là các data khác nhau. Gộp lại
sẽ thành một data set gồm nhiều data khác nhau.
BPMN 2.0 chia Multi-Instance ra làm 2 loại: song song (parallel) và tuần
tự (sequential).
 Song song tức là lặp đi lặp lại nhưng làm đồng thời, cùng một lúc. Ví dụ như
ông sếp cùng một lúc duyệt các report.
 Còn tuần tự là xong cái này, mới tới cái khác. Ví dụ ông sếp duyệt report cho
Manager A rồi mới tới duyệt report cho Manager B.
Quay lại với Loop, có thể thấy Multi-Instance (MI) giống với Loop. Nhưng MI
khác Loop ở chỗ nó đến từ nhiều dataset khác nhau. Lấy luôn ví dụ:

Ví dụ ở bước Edit Draft, thay vì phải tự edit lặp đi lặp lại nhiều lần, thì có thể nhờ
những người khác edit dùm.
Điều này có nghĩa: khi mỗi người bạn sửa dùm, họ sẽ gửi lại bản nháp mà họ sửa,
tức đó là một data. Mỗi người bạn là mỗi bản nháp khác nhau, là mỗi data khác
nhau. Các data này gộp lại sẽ thành một bộ data set gồm các bản nháp khác nhau.
Khi dùng MI Parallel, tức là cùng một lúc gửi cho cả 1 đống đứa cùng sửa.
Còn MI Sequential là gửi A sửa, rồi lấy cái bản nháp của A gửi cho B sửa, A xong
thì mới tới B. Tiếp tục như vậy, sẽ gửi cho C, D…

Ad Hoc
Cái này thì cũng không khó hiểu, nghĩa sao dịch vậy. Ad hoc tức là được hình
thành khi cần thiết và dành cho một mục đích cụ thể nhất định. Vậy Ad Hoc
Task sẽ thể hiện các task đặc biệt, có một mục đích chuyên dụng cụ thể.
Ví dụ một dealer bán xe, họ có quy trình làm việc với các ngân hàng rất rõ ràng.
Nhưng riêng với ngân hàng A thì lại có quy trình làm việc khá đặc biệt, chỉ dành
riêng cho ngân hàng này. Do đó, bạn sẽ đưa quy trình này thuộc diện Ad Hoc. Và
thường thì nó sẽ nằm trong một Sub-Process.

Compensation
Compensation task cũng chỉ là một task bình thường. Nhưng nó khác ở điểm: chỉ
duy nhất xảy ra sau một task cụ thể nào đó và tác vụ cho phép quay lùi về
trạng thái trước đó nếu tác vụ xử lý thất bại.
Send Task/ Receive Task
Cái này thì quá rõ. Một task thể hiện sự nhận/ gửi thông tin, tài liệu, hoặc
một data object. Màu tối là gửi còn màu sáng là nhận.

User Task
User Task là task được thực hiện bởi người dùng, trên hệ thống và không thể
tách nhỏ ra được nữa.

Manual Task
Manual Task là task được thực hiện bởi người dùng, ngoài hệ thống và được thực
hiện một cách thủ công.

Service Task
Service Task là task được thực hiện tự động bởi hệ thống.

Script Task
Script Task là task được thực hiện dựa trên một engine nào đó của hệ thống.
Từ “script” ở đây có nghĩa là một đoạn code được viết ra để engine có thể parse
đoạn code này chạy và thực hiện công việc. Loại này hiếm khi thấy xuất hiện.

Business Rule Task


Business Rule Task thể hiện một task mà task đó dựa vào một quy luật nào đó.
Task này cũng chỉ mới có trong BPMN 2.0 thôi. Ví dụ
Tổng quan:

-Activity Marker giúp thể hiện được hành vi khi thực hiện một
hành động nào đó.

-Task Type giúp thể hiện được tính chất, bản chất của các hoạt
động.
*Events: là các sự kiện xảy ra trong quá trình thực hiện tiến trình.
Những biến cố này sẽ tác động đến trình luồng thực thi của tiến trình. Event được
mô tả bởi một hình tròn, trống ở giữa, cho phép thêm vào các kí hiệu mô tả các loại
biến cố khác nhau. Event thường mang yếu tố bên ngoài, chứ không phải là một việc
gì đó được chủ đích làm bởi user ( yếu tố phân biệt với activity ), event được chia
làm 3 giai đoạn:

Start: bắt đầu, kích hoạt một quy trình nghiệp vụ

Intermediate: ngay tức thì/ ở giữa, 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ụ

End: kết quả của xử lý đưa đến trạng thái kết thúc quy trình

Có hai cách sử dụng event:

-Normal flow: đặt giữa 2 activity, là điều kiện để thực hiện activity tiếp theo

-event (Attached to Boundary): gắn với 1 phạm vi của activity, được sử dụng
để quản lý lỗi, ngoại lệ

Events thì có rất nhiều loại, tuy nhiên không phải lúc nào cũng sử dụng được hết
tất cả các loại
Start events:

Intermediate events:
End events:

Hai loại events được dùng nhiều nhất là Timer event và Message events.

-Message Event: diễn tả sự việc gửi và nhận thông tin, có đầy đủ Start,
Intermediate và End.
-Time Event: diễn tả một sự việc liên quan đến thời gian, nhưng chỉ có Start
và Intermediate, không có End.

Ngoài ra, còn một khái niệm nữa về Event đó là Boundary Event. Boundary Event
được thể hiện bởi các Event dính liền với hình chữ nhật bao quanh task, Ví dụ:
*Gateways: là đối tượng điều khiển dùng để trộn hoặc phân chia các
luồng thực thi. Vì vậy nó sẽ quyết định việc rẽ nhánh, trộn… các loại tiến trình với
nhau tùy thuộc vào loại hành vi được chỉ định

BPMN thì có rất nhiều gateways. Tuy nhiên dùng nhiều nhất thì có 4 loại sau:

- Exclusive Gateway: hay còn gọi là XOR Gateway. Nó thể


hiện: nhánh này hoặc nhánh kia, nhưng chỉ được phép một trong hai (hoặc nhiều)
nhánh.
- Inclusive Gateway:
Inclusive Gateway cũng tương tự Exclusive Gateway, nhưng khác ở chỗ nó cho
phép xảy ra nhiều nhánh, chứ không duy nhất một nhánh như XOR. Tuy nhiên
một khi các nhánh được activate, nó phải được complete hết trước khi merge lại.

-Parallel Gateway:
Parallel Gateway nghĩa là các nhánh phải cùng xảy ra song song với nhau. Chỉ
cần một trong các nhánh chưa được complete thì các nhánh khác không thể merge
lại, và quy trình không thể đi tiếp được.
-Event-Driven Gateway:
Event-Driven, tức là dựa vào Event, hướng theo Event mà chạy. Về cơ bản, Event-
Driven Gateway khá giống với Exclusive Gateway (XOR) vì hai tụi này chỉ cho
phép một nhánh chạy duy nhất.
Nhưng nó khác ở chỗ Exclusive Gateway thì dựa vào điều kiện để chạy, còn
Event-Driven Gateway dựa vào event để chạy. Tức là khi có một sự kiện nào đó
xảy ra thì nó sẽ kích nhánh của sự kiện đó chạy.

2. Connecting objects: được dùng để kết nối các đối tượng trong cùng một sơ
đồ hoặc giữa đối tượng này với đối tượng khác hay một luồng thông tin
khác. Connecting objects chia làm ba loại cơ bản:
-Sequence flow symbol: kết nối dòng chảy theo một tuần tự thích hợp
-Message flow symbol: kết nối thông điệp từ người tham gia quá trình này
đến người tham gia quá trình khác
-Association flow symbol: hiển thị mối quan hệ giữa artifacts và flow
objects, chỉ ra cách thức dữ liệu được đưa vào và lấy ra từ các activities ntn
3. Swimlane: Tổ chức các khía cạnh khác nhau của một quy trình và phân loại
các activities. Chúng được miêu tả bằng hình chữ nhật rộng. Swimlane được
xem như là linh hồn của BPMN, làm nó khác hẳn những diagrams khác.
Swimlane bao gồm pool và lane.

Pool thể hiện một tổ chức, một bộ phận, một đối tượng tham gia, một vai
trò hoặc một hệ thống nào đó. Còn Lane thể hiện các cá nhân riêng lẻ, người sẽ
làm các hoạt động cụ thể. Lane là thành phần con của pool.

Ex:
4. Artifacts: các hoạt động này được phân loại và có thể được sử dụng để hiển
thị thêm thông tin về một quy trình trong sơ đồ BPMN

-Data objects: thể hiện một input hoặc output cần thiết cho một activity
-Group: được sử dụng để viết sưu liệu hoặc phân tích, nhóm các hoạt động
khác nhau
-annotation: được sử dụng để viết miêu tả, chú thích

You might also like