Chào bạn,
Chào mừng bạn trở lại với khóa học về BPM và Camunda.
Trong bài học trước, chúng ta đã tìm hiểu về khái niệm Quản lý Quy trình Nghiệp vụ (BPM) và nhận thấy rằng, để quản lý và tự động hóa một quy trình, bước đầu tiên là phải mô hình hóa nó. Mô hình hóa giúp chúng ta tạo ra một "bản thiết kế" trực quan và dễ hiểu cho các hoạt động nghiệp vụ.
Hôm nay, chúng ta sẽ học "ngôn ngữ" để vẽ nên những bản thiết kế đó. Mục tiêu của bài học này là giúp bạn nhận diện được các thành phần cơ bản của BPMN 2.0 (Events, Activities, và Gateways) trong một sơ đồ quy trình mẫu. BPMN (Business Process Model and Notation) là một tiêu chuẩn quốc tế, và việc nắm vững các ký hiệu của nó cũng quan trọng như việc bạn hiểu cú pháp của một ngôn ngữ lập trình.
1. Tổng quan về các thành phần trong BPMN
BPMN cung cấp một bộ ký hiệu đồ họa phong phú. Tuy nhiên, để bắt đầu, chúng ta chỉ cần tập trung vào ba nhóm thành phần cốt lõi, được gọi là Flow Objects (Đối tượng Luồng), vì chúng xác định hành vi của quy trình.
Ba nhóm này chính là:
- Events (Sự kiện): Những gì xảy ra.
- Activities (Hoạt động): Những việc cần làm.
- Gateways (Cổng): Những điểm quyết định hoặc điều hướng luồng đi.
Để có một cái nhìn tổng quan ban đầu, hãy xem qua hình ảnh "cheat sheet" sau. Nó tóm tắt các ký hiệu BPMN 2.0 phổ biến nhất. Bạn có thể quay lại tham khảo hình ảnh này bất cứ lúc nào trong suốt khóa học.

Bây giờ, hãy xem một video giới thiệu ngắn gọn về ba nhóm thành phần chính này để có cái nhìn tổng quan đầu tiên.
FULL BPMN Training Course for Business Analysts
Video "FULL BPMN Training Course for Business Analysts" của Stefano - The Agile Business Analyst sẽ giới thiệu nhanh về ba thành phần cốt lõi của BPMN.
Hãy xem từ 06:03 đến 10:17. Chú ý cách tác giả định nghĩa và đưa ra ví dụ cho từng loại: Events (Start, Intermediate, End), Tasks/Activities (Manual, User, Service), và Gateways (Either/Or, Parallel).
2. Tìm hiểu chi tiết từng thành phần
Sau khi có cái nhìn tổng quan, chúng ta sẽ đi sâu vào từng loại thành phần để hiểu rõ hơn về chúng.
2.1. Events (Sự kiện)
Events là những điều xảy ra trong quá trình. Chúng không phải là công việc bạn làm, mà là các tác nhân kích hoạt, làm gián đoạn hoặc kết thúc một luồng công việc. Chúng được biểu diễn bằng hình tròn.
Có ba loại Event chính dựa trên vị trí của chúng trong quy trình:
- Start Event (Sự kiện Bắt đầu): Biểu thị điểm khởi đầu của một quy trình. Nó được vẽ bằng một vòng tròn có viền mỏng. Một quy trình phải có ít nhất một Start Event.
- End Event (Sự kiện Kết thúc): Biểu thị điểm kết thúc của một luồng trong quy trình. Nó được vẽ bằng một vòng tròn có viền đậm.
- Intermediate Event (Sự kiện Trung gian): Xảy ra giữa Start và End Event. Nó có thể biểu thị một sự kiện làm thay đổi luồng, ví dụ như chờ một khoảng thời gian, hoặc nhận một thông điệp. Nó được vẽ bằng một vòng tròn có hai viền.
2.2. Activities (Hoạt động)
Activities là công việc được thực hiện trong quy trình. Đây là nơi logic nghiệp vụ thực sự diễn ra. Chúng được biểu diễn bằng hình chữ nhật bo góc.
Một Activity có thể là một Task (Tác vụ) - một đơn vị công việc không thể chia nhỏ hơn, hoặc một Sub-process (Quy trình con) - một quy trình khác được gói gọn bên trong.
Trong phạm vi khóa học này, chúng ta sẽ làm việc chủ yếu với các loại Task sau, vốn rất quen thuộc với vai trò một developer:
- User Task: Một công việc được thực hiện bởi con người với sự hỗ trợ của một hệ thống phần mềm (ví dụ: nhân viên điền vào một form trên web để duyệt đơn nghỉ phép).
- Service Task: Một công việc được thực hiện tự động bởi một hệ thống mà không có sự can thiệp của con người (ví dụ: một đoạn mã Java gọi đến một API bên ngoài).
- Manual Task: Một công việc được thực hiện thủ công hoàn toàn, không có sự hỗ trợ của hệ thống (ví dụ: nhân viên kho đóng gói hàng hóa).
FULL BPMN Training Course for Business Analysts
Để hiểu rõ hơn về các loại Task, hãy xem phần tiếp theo trong video của Stefano.
Hãy xem từ 31:49 đến 37:13. Tập trung vào sự khác biệt giữa User Task, Service Task và Manual Task. Hãy liên tưởng đến các chức năng bạn thường xây dựng: User Task tương ứng với giao diện người dùng, còn Service Task tương ứng với logic backend.
2.3. Gateways (Cổng)
Gateways được sử dụng để kiểm soát sự phân kỳ và hội tụ của các luồng (sequence flow). Chúng được biểu diễn bằng hình thoi. Từ góc độ lập trình, bạn có thể coi chúng như các cấu trúc điều khiển (if-else, switch-case, fork-join cho luồng song song).
Các loại Gateway phổ biến nhất bao gồm:
- Exclusive Gateway (XOR): "Cổng độc quyền". Chỉ có một luồng đầu ra được chọn dựa trên các điều kiện. Đây là cổng tương đương với câu lệnh
if-else if-else. - Parallel Gateway (AND): "Cổng song song". Tất cả các luồng đầu ra đều được kích hoạt để thực thi đồng thời. Khi hội tụ, nó sẽ chờ tất cả các luồng song song hoàn thành rồi mới đi tiếp.
- Inclusive Gateway (OR): "Cổng bao hàm". Một hoặc nhiều luồng đầu ra có thể được chọn dựa trên các điều kiện. Đây là loại cổng phức tạp hơn, kết hợp tính chất của XOR và Parallel.
Cách tốt nhất để hiểu các Gateways là xem chúng hoạt động trong thực tế.
FULL BPMN Training Course for Business Analysts
Video sau đây sẽ demo trực tiếp cách các Gateway Exclusive, Parallel, và Inclusive hoạt động trong một ví dụ về quy trình phê duyệt khoản vay. Đây là phần cực kỳ hữu ích cho một người có tư duy thực hành như bạn.
Hãy xem từ 10:17 đến 20:18. Quan sát kỹ cách tác giả thay đổi loại Gateway và chạy lại quy trình. Chú ý sự khác biệt trong luồng đi của quy trình ở mỗi trường hợp: Với Exclusive Gateway: Chỉ một nhánh (send email hoặc call boss) được thực hiện. Với Parallel Gateway: Cả hai nhánh được thực hiện song song. Với Inclusive Gateway: Một hoặc cả hai nhánh có thể được thực hiện tùy vào điều kiện.
3. Nhận diện các thành phần trong sơ đồ mẫu
Bây giờ, hãy áp dụng những gì đã học để nhận diện các thành phần trong một sơ đồ BPMN hoàn chỉnh.
BPMN essentials for process wizards
Bài viết "BPMN essentials for process wizards" trên blog của UiPath cung cấp một ví dụ rất rõ ràng về quy trình "Cập nhật phần mềm". Hãy đọc và phân tích nó.
Hãy đọc kỹ mục "What is a simple example of a BPMN diagram?". Quan sát sơ đồ và phần giải thích bên dưới. Trong khi đọc, hãy tự trả lời các câu hỏi sau: Đâu là Start Event và End Event? Sơ đồ này có bao nhiêu User Task? Tên của chúng là gì? Các hình thoi trong sơ đồ là loại Gateway nào? Chúng đưa ra quyết định dựa trên câu hỏi gì?
Để thực hành thêm, hãy cùng phân tích một ví dụ khác, "Quy trình Yêu cầu Khoản vay". Đây là một quy trình kinh điển và thường được dùng làm ví dụ.
Bài viết "A Quick Guide to BPMN" từ Bizagi sẽ cho chúng ta một ví dụ thực tế khác. Sơ đồ này có thêm các "Lanes" (làn bơi) để phân chia trách nhiệm, một khái niệm mà chúng ta sẽ tìm hiểu sâu hơn sau này.
Đọc phần "BPMN Example: Loan Request Process". Tập trung vào sơ đồ và phần phân tích chi tiết các thành phần ngay bên dưới nó ("Let´s analyze in detail..."). Hãy thử xác định: Start Event của quy trình. Các Task (hoạt động) trong quy trình này là gì? Các Exclusive Gateway trong sơ đồ này có tên là gì và chúng dùng để kiểm tra điều kiện gì?
Tổng kết bài học
Qua bài học này, bạn đã được trang bị những kiến thức cơ bản để "đọc" một sơ đồ BPMN. Hãy cùng tóm tắt lại các điểm chính:
- Events (Sự kiện - hình tròn): Biểu thị những gì xảy ra trong quy trình (bắt đầu, kết thúc, chờ đợi).
- Activities (Hoạt động - hình chữ nhật bo góc): Biểu thị những công việc cần thực hiện, có thể do người (User Task) hoặc hệ thống (Service Task) đảm nhiệm.
- Gateways (Cổng - hình thoi): Dùng để điều khiển luồng đi của quy trình, bao gồm rẽ nhánh (Exclusive Gateway) hoặc thực thi song song (Parallel Gateway).
Việc nhận diện chính xác các thành phần này là kỹ năng nền tảng và thiết yếu để bạn có thể phân tích, thiết kế và cuối cùng là tự động hóa bất kỳ quy trình nghiệp vụ nào.
Xem trước bài học tiếp theo
Bây giờ bạn đã có thể nhận diện các "từ vựng" của BPMN. Trong bài học tiếp theo, chúng ta sẽ học cách kết nối chúng lại thành "câu" hoàn chỉnh. Bạn sẽ học cách đọc và giải thích luồng xử lý của một sơ đồ quy trình BPMN đơn giản, tức là lần theo các mũi tên để hiểu được câu chuyện mà quy trình đang mô tả từ đầu đến cuối.