Table of Contents
Tổng quan sơ đồ BPMN
1. BPMN là gì?
2. Tại sao BPMN lại quan trọng?
BPMN là một trong những “vũ khí tối quan trọng” của những bạn nào làm BA. Vì sao? Vì trong công việc, mình phải tiếp cận và lắng nghe rất nhiều quy trình nghiệp vụ của khách hàng.
3. BPMN dành cho những ai?
BPMN dành cho cả người dùng high level lẫn lower level đọc.
4. Các cấu trúc cơ bản của BPMN
1. Swimlanes:
Swimlane được xem như là linh hồn của BPMN, làm nó khác hẳn những diagram khác
2. Flow Elements:
-
Event: diễn tả một sự việc xảy ra trong quy trình, thường mang yếu tố bên ngoài. Event được chia làm 3 giai đoạn:
-
Start: bắt đầu
-
Intermediate: ngay tức thì/ ở giữa
-
End: kết thúc.
-
Activity: biểu diễn các công việc hoặc hành động được thực hiện trong quy trình, tập trung trả lời câu hỏi làm gì? Activity gồm có 4 loại chính sau:
-
Task là từng việc nhỏ, gộp các việc nhỏ lại sẽ thành một quy trình lớn.
-
Transaction là các giao dịch, nó có thể gồm nhiều task nhỏ khác, mà các task này nó phải ăn rơ rất là logic với nhau.
-
Sub-Process các quy trình con nằm trong một cái quy trình lớn, cái này dễ hiểu, giả bộ bỏ qua nhé anh em.
-
“Call” là gọi, triệu hồi >> Call Activity là những bước, mà nó sẽ “gọi” những bước (hoặc các sub-process) từ quy trình khác, mà không cần phải define lại từ đầu ngay trong quy trình này.
-
Gateway: điểm quyết định trong quy trình, điều này quyết định các điều kiện để xác định luồng làm việc tiếp theo. Có các loại Gateway chính sau đây
-
Exclusive Gateway (XOR Gateway): Dùng để chia luồng quy trình thành nhiều nhánh, chỉ một nhánh được thực hiện dựa trên điều kiện. Biểu thị bằng hình thoi với dấu X ở giữa.
-
Inclusive Gateway (AND Gateway): Dùng để chia luồng quy trình thành nhiều nhánh, tất cả các nhánh đều được thực hiện. Biểu thị bằng hình thoi với hình tròn ở giữa.
-
Parallel Gateway (OR Gateway): Dùng để chia luồng quy trình thành nhiều nhánh, ít nhất một nhánh được thực hiện dựa trên điều kiện. Biểu thị bằng hình thoi với đường viền đơn và dấu cộng bên trong.
-
Event-Driven Gateway: Về cơ bản, Event-Driven Gateway khá giống với Exclusive Gateway (XOR) vì hai gateway 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.
3. Connecting Objects:
-
Sequence flows: Dùng để kết nối giữa các đối tượng luồng trong một quy trình, được biểu diễn bằng nét liền.
-
Message flows: Dùng để biểu thị tin nhắn giữa các pools/lanes, được biểu diễn bằng nét đứt.
-
Data: Dữ liệu là thông tin cần thiết hoặc các thông tin được tạo ra khi thực hiện quy trình nghiệp vụ. Dữ liệu bao gồm Data objects, data inputs, data outputs and data stores.
Từ điển ký hiệu về sơ đồ BPMN
1. Các thành phần chính của BPMN
Trước khi giải mã về các ký hiệu một cách chi tiết thì chúng ta sẽ tóm tắt lại một chút về các thành phần chính của BPMN.
Gồm 6 thành phần chính:
- Swimlane: linh hồn của BPMN, thể hiện hành động theo các vai trò một cách rõ ràng.
- Activity: thể hiện hành động.
- Flow: thể hiện luồng đi của hành động.
- Gateway: thể hiện các cổng điều kiện có trong quy trình.
- Event: thể hiện sự việc xảy ra trong suốt quy trình.
- Information Artifact: thể hiện các dữ liệu liên quan.
2. Tóm tắt bộ ký hiệu trong sơ đồ BPMN
2.1 Swimlane
2.2 Activity
-
User Task: User Task là task được thực hiện bởi người dùng trên hệ thống.
-
Manual Task: Manual Task là task được thực hiện bởi người dùng nhưng bên ngoài hệ thống bằng 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.
-
Send Task/ Receive Task: Là một task thể hiện sự nhận/ gửi thông tin, tài liệu, hoặc một data object.
-
Script Task: Script Task là task được thực hiện dựa trên một cơ chế chạy của hệ thống. Script nghĩa là một đoạn code được hệ thống chạy để thực hiện một nhiệm vụ nào đó.
-
Business Rule Task: Business Rule Task thể hiện một task được thực hiện dựa trên một quy luật nào đó.
*Chú ý: Transaction về cơ bản cũng tương tự Sub-Process, nhưng nó khác ở chỗ: transaction là một chuỗi các task thể hiện sự giao dịch, tức là có payment (giao dịch thanh toán) trong đó. Còn Sub-Process thì rộng nghĩa hơn.
2.3 Flow
- Sequence flow: Đơn giản là thể hiện luồng đi của quy trình.
- Default flow: Luồng đi mặc định của hệ thống. Nếu không có gì ghê gớm xảy ra, thì hệ thống sẽ luôn mặc định đi theo nhánh của ông này.
- Message flow: Thể hiện luồng thông tin được trao đổi giữa các Lane hoặc các Pool với nhau.
- Conditional flow: Luồng này luôn đi kèm với một điều kiện cụ thể. Khi điều kiện này đạt được, thì quy trình mới chạy theo luồng này.
2.4 Gateway
**Chú ý:
Có thể các newbie sẽ bị “confused” giữa condition và event, đôi khi ta thấy nó cứ giống giống nhau. Nhưng mục đích dùng của hai cái này là hoàn toàn khác nhau, do đó mục đích dùng Exclusive Gateway hay Event-Driven Gateway cũng sẽ khác nhau.
Condition: thường đơn giản, và nó trả lời cho câu hỏi ở task trước đó. Ví dụ về quê thì về quê bằng máy bay hay về quê bằng tàu lửa? Đơn giản đúng không nào?
Event: còn event thường phức tạp hơn. Các event được gán vào các nhánh sẽ trả lời chi tiết hơn về các thông tin như: thời gian, ai là người làm, làm như thế nào… Hay là trả lời cho câu hỏi: sự việc gì xảy ra?
2.5 Event
-
Start: bắt đầu (1 vòng tròn nhạt bên ngoài.)
-
Intermediate: ngay tức thì/ ở giữa (2 vòng tròn bên ngoài.)
-
End: kết thúc ( 1 vòng tròn đậm bên ngoài.)
-
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.
2.6 Information Artifact
-
Data Object: Đơn thuần là thể hiện dữ liệu, ví dụ: email, tài liệu, form…
-
Data Object Collection: Thể hiện một bộ, một loạt hoặc một danh sách các thông tin, ví dụ: danh sách báo giá chẳng hạn.
-
Data Input: Dữ liệu được input vào để hoàn tất một hành động nào đó.
-
Data Output: Dữ liệu là kết quả trả ra của một hành động.
-
Data Association: Thể hiện luồng đi của dữ liệu trong quy trình. Đối với dữ liệu thì luôn dùng hình nét đứt này nhé anh em.