Mô hình và ký hiệu quy trình kinh doanh (BPMN) đóng vai trò là ngôn ngữ phổ quát cho việc mô hình hóa quy trình. Nó cho phép các tổ chức trực quan hóa luồng công việc, định nghĩa logic và truyền đạt các hoạt động phức tạp giữa các nhóm kỹ thuật và phi kỹ thuật. Tuy nhiên, độ chính xác của một sơ đồ phụ thuộc hoàn toàn vào việc sử dụng đúng các ký hiệu của nó. Việc hiểu sai một cổng hoặc một sự kiện có thể dẫn đến tự động hóa sai lệch, rủi ro tuân thủ hoặc nút thắt hoạt động.
Hướng dẫn này cung cấp sự phân tích chi tiết về các phần tử của BPMN 2.0. Chúng tôi khám phá các chức năng cụ thể của sự kiện, hoạt động, cổng và các đối tượng kết nối. Mục tiêu là đảm bảo sơ đồ của bạn không chỉ đẹp về mặt thị giác mà còn hợp lý về mặt logic và tuân thủ nghiêm ngặt tiêu chuẩn.

Hiểu rõ các khối xây dựng cốt lõi 🧱
Một sơ đồ BPMN được xây dựng từ bốn nhóm phần tử chính. Mỗi nhóm phục vụ một mục đích riêng biệt trong việc xác định vòng đời của một quy trình kinh doanh. Để tạo ra một mô hình vững chắc, người ta phải hiểu rõ sự tinh tế giữa các hình dạng trông có vẻ tương tự.
- Sự kiện:Những điều xảy ra. Chúng được biểu diễn bằng hình tròn và xác định điểm bắt đầu, trung gian hoặc kết thúc của một luồng.
- Hoạt động:Công việc cần thực hiện. Đây là các hình chữ nhật bo tròn biểu thị các nhiệm vụ hoặc quy trình con.
- Cổng:Ra quyết định và đồng bộ hóa. Các hình thoi này kiểm soát con đường mà luồng sẽ đi qua.
- Đối tượng kết nối:Các mũi tên liên kết mọi thứ lại với nhau.
1. Sự kiện: Nhịp đập của quy trình của bạn ⏱️
Sự kiện là các kích hoạt và kết quả của quy trình của bạn. Chúng được mô tả bằng hình tròn. Độ dày của viền hình tròn cho biết loại sự kiện. Việc hiểu sự khác biệt giữa chúng là rất quan trọng để mô phỏng và thực thi chính xác.
Sự kiện bắt đầu 🟢
Một sự kiện bắt đầu đánh dấu khởi đầu của một phiên bản quy trình. Nó không có luồng tuần tự đi vào. Viền của sự kiện bắt đầu là mỏng. Bên trong hình tròn, một ký hiệu xác định điều gì kích hoạt quy trình.
- Bắt đầu bằng tin nhắn:Được kích hoạt khi nhận được một tin nhắn (ví dụ: email hoặc cuộc gọi API). Được biểu thị bằng biểu tượng phong bì.
- Bắt đầu theo thời gian:Được kích hoạt bởi một điều kiện thời gian (ví dụ: mỗi thứ Hai lúc 9 giờ sáng). Được biểu thị bằng biểu tượng đồng hồ.
- Bắt đầu bằng tín hiệu:Được kích hoạt bởi một tín hiệu được phát sóng đến hệ thống.
- Bắt đầu do lỗi:Ít khi được sử dụng, đây biểu thị một sự bắt đầu được kích hoạt bởi một điều kiện lỗi cụ thể.
Sự kiện kết thúc 🔴
Sự kiện kết thúc báo hiệu sự kết thúc của một phiên bản quy trình. Chúng không có luồng tuần tự đi ra. Viền dày để chỉ ra sự kết thúc. Các ký hiệu bên trong xác định kết quả.
- Kết thúc bằng tin nhắn:Gửi một tin nhắn khi hoàn thành.
- Kết thúc bằng tín hiệu:Phát tín hiệu đến các quy trình khác.
- Kết thúc do lỗi:Chỉ ra rằng quy trình đã kết thúc do lỗi.
- Kết thúc do hủy:Dành riêng cho các quy trình giao dịch hoặc quy trình con, chỉ ra việc hủy bỏ.
- Kết thúc do chấm dứt:Dừng ngay lập tức tất cả các phiên bản đang chạy của quy trình, bất kể các đường song song khác.
Sự kiện trung gian ⚪
Sự kiện trung gian xảy ra giữa điểm bắt đầu và điểm kết thúc. Chúng có cả luồng tuần tự đi vào và đi ra. Viền ngoài mỏng, nhưng bên trong có một vòng tròn hai đường để phân biệt với sự kiện bắt đầu và kết thúc.
- Sự kiện bắt:Quy trình chờ đợi một sự kiện xảy ra. Ví dụ bao gồm bắt tin nhắn, bộ định thời hoặc tín hiệu. Luồng sẽ tạm dừng cho đến khi điều kiện được đáp ứng.
- Sự kiện phát:Quy trình tạo ra một cái gì đó. Ví dụ bao gồm gửi tin nhắn hoặc kích hoạt tín hiệu. Điều này thường xảy ra sau khi một nhiệm vụ hoàn thành.
- Bồi thường:Xử lý đặc biệt cho các lỗi trong các quy trình chạy dài.
2. Hoạt động: Xác định công việc 🛠️
Hoạt động đại diện cho công việc thực tế được thực hiện trong quy trình. Chúng được vẽ dưới dạng hình chữ nhật bo tròn. Biểu tượng bên trong hình chữ nhật chỉ ra loại hoạt động cụ thể.
Nhiệm vụ 📝
Nhiệm vụ là đơn vị công việc nhỏ nhất. Nó không thể được phân tách thêm trong ngữ cảnh của sơ đồ.
- Nhiệm vụ người dùng:Công việc do một tác nhân con người thực hiện. Đòi hỏi sự tương tác của con người.
- Nhiệm vụ dịch vụ:Công việc do hệ thống hoặc dịch vụ CNTT thực hiện. Không cần sự can thiệp của con người.
- Nhiệm vụ thủ công:Công việc sẽ được thực hiện thủ công trong thế giới thực, có thể bên ngoài hệ thống.
- Nhiệm vụ kịch bản:Công việc do một kịch bản hoặc đoạn mã thực hiện.
- Nhiệm vụ quy tắc kinh doanh:Công việc được thực thi bởi một động cơ quy tắc hoặc chính sách.
- Nhiệm vụ gửi/nhận:Các loại nhiệm vụ cụ thể cho nhắn tin bất đồng bộ.
Quy trình con 📂
Khi một quy trình trở nên quá phức tạp, nó được chia nhỏ thành các quy trình con. Điều này được biểu thị bằng một hình chữ nhật bo góc có dấu cộng (+) ở phía dưới.
- Quy trình con đã thu gọn:Hiển thị dấu cộng. Chi tiết được ẩn đi để giữ cho sơ đồ chính được sạch sẽ.
- Quy trình con đã mở rộng:Hiển thị các nhiệm vụ và luồng nội bộ. Được sử dụng cho tài liệu chi tiết.
- Hoạt động gọi:Một tham chiếu đến mẫu quy trình có thể tái sử dụng được định nghĩa ở nơi khác.
3. Cổng logic: Các bộ điều khiển logic 🔄
Các cổng logic xác định đường luồng của quy trình. Chúng là các yếu tố quan trọng nhất cho việc điều khiển logic. Không có việc sử dụng cổng logic phù hợp, một quy trình không thể đưa ra quyết định hoặc xử lý các luồng công việc song song.
Cổng logic loại trừ (XOR) ⚡
Cổng logic loại trừ biểu thị một điểm quyết định nơi chỉ một đường được chọn. Nó trông giống như một hình thoi có mộtXở bên trong. Nó được sử dụng khi các điều kiện loại trừ lẫn nhau.
- Logic:Nếu Điều kiện A đúng, đi theo Đường A. Nếu Điều kiện B đúng, đi theo Đường B. Chỉ có một đường hoạt động.
- Cách sử dụng:Quy trình phê duyệt (Đã phê duyệt so với Bị từ chối), phân nhánh dựa trên giá trị dữ liệu.
- Luôn mặc định:Nếu không có điều kiện nào khớp, luồng mặc định sẽ được thực hiện. Điều này phải được ghi nhãn rõ ràng.
Cổng logic song song (AND) ⚙️
Cổng logic song song chia tách hoặc hợp nhất các luồng đồng thời. Nó trông giống như một hình thoi có một+ở bên trong.
- Chia tách:Tạo ra nhiều đường song song. Tất cả các đường được thực thi đồng thời.
- Hợp nhất:Chờ đợi tất cả các đường song song đến hoàn thành trước khi tiếp tục.
- Cách sử dụng: Gửi email thông báo và cập nhật cơ sở dữ liệu đồng thời. Chờ nhiều phê duyệt trước khi tiếp tục.
Cổng bao hàm (OR) 🌐
Cổng bao hàm cho phép một hoặc nhiều đường dẫn được thực hiện. Nó trông giống như một hình thoi có mộto ở bên trong.
- Phân nhánh: Đánh giá các điều kiện. Nếu Điều kiện A đúng, Đường dẫn A được kích hoạt. Nếu Điều kiện B đúng, Đường dẫn B được kích hoạt. Cả hai có thể cùng đúng.
- Hợp nhất: Chờ tất cả các đường dẫn đang hoạt động hoàn thành. Nó không chờ các đường dẫn chưa được thực hiện.
- Cách sử dụng: Phân nhánh phức tạp nơi nhiều lựa chọn có thể được chọn (ví dụ: chọn nhiều phương thức vận chuyển).
Cổng dựa trên sự kiện ⚠️
Cổng này chờ một sự kiện cụ thể xảy ra. Nó trông giống như một hình thoi có hình lục giác ở bên trong. Nó được dùng để chờ các kích hoạt bên ngoài.
- Logic: Quy trình chờ một trong nhiều sự kiện xảy ra. Khi một sự kiện xảy ra, các đường dẫn tiềm năng khác bị hủy.
- Cách sử dụng: Chờ xác nhận thanh toán hoặc hết thời gian chờ.
So sánh các loại cổng
| Loại cổng | Biểu tượng | Logic phân nhánh | Logic hợp nhất |
|---|---|---|---|
| Loại trừ (XOR) | Chữ X bên trong hình thoi | Chọn chính xác một đường dẫn dựa trên các điều kiện. | Hợp nhất một đường dẫn đến duy nhất. |
| Song song (AND) | Dấu + bên trong hình thoi | Tạo tất cả các đường dẫn đồng thời. | Chờ tất cả các đường dẫn đến hoàn thành. |
| Hợp nhất (HOẶC) | o bên trong hình thoi | Kích hoạt bất kỳ đường dẫn nào khớp với điều kiện. | Chờ tất cả các đường dẫn đang hoạt động hoàn thành. |
| Dựa trên sự kiện | Hình lục giác bên trong | Chờ bất kỳ sự kiện nào xảy ra. | Chờ sự kiện đã xảy ra. |
4. Đối tượng kết nối: Liên kết luồng 🔗
Các bộ kết nối xác định cách thông tin và điều khiển truyền giữa các phần tử. Kiểu mũi tên cho biết bản chất của kết nối.
Luồng tuần tự 🟦
Luồng tuần tự kết nối các phần tử trong cùng một quy trình. Đó là một đường liền nét có đầu mũi tên mở.
- Chức năng: Chỉ ra thứ tự thực thi.
- Hướng: Chảy từ trên xuống dưới, từ trái sang phải.
- Cách sử dụng: Kết nối các nhiệm vụ, sự kiện và cổng trong cùng một làn.
Luồng thông điệp 🟧
Luồng thông điệp kết nối các phần tử giữa các bể hoặc người tham gia khác nhau. Đó là một đường nét đứt có đầu mũi tên mở.
- Chức năng: Chỉ ra sự trao đổi thông tin giữa các người tham gia.
- Hướng: Có thể cắt ngang các làn và bể.
- Cách sử dụng: Gửi yêu cầu từ Khách hàng đến Nhà cung cấp.
Liên kết 🟩
Liên kết liên kết các tài liệu dữ liệu hoặc chú thích với các phần tử luồng. Đó là một đường nét đứt có đầu mũi tên đầy (hoặc mở, tùy thuộc vào hướng).
- Chức năng: Cung cấp ngữ cảnh hoặc tham chiếu dữ liệu mà không ảnh hưởng đến điều khiển luồng.
- Cách sử dụng: Liên kết một tài liệu với một nhiệm vụ, hoặc một ghi chú văn bản với một cổng cụ thể.
5. Hồ và Làn: Tổ chức Trách nhiệm 🏊
Các quy trình phức tạp liên quan đến nhiều bên. BPMN sử dụng Hồ và Làn để trực quan hóa các mối quan hệ này.
Hồ 🟦
Một hồ đại diện cho một người tham gia trong quy trình. Nó là một container chứa định nghĩa quy trình. Mỗi hồ có các sự kiện bắt đầu và kết thúc độc lập riêng.
- Hồ công cộng: Đại diện cho một tổ chức hoặc thực thể bên ngoài.
- Hồ riêng tư: Đại diện cho một phòng ban nội bộ hoặc hệ thống.
- Luồng thông báo: Chỉ có thể xảy ra giữa các hồ khác nhau.
Làn 🟨
Làn là các phân vùng trong một hồ. Chúng đại diện cho các vai trò, phòng ban hoặc hệ thống cụ thể chịu trách nhiệm cho các hoạt động trong phần đó.
- Trách nhiệm: Làm rõ ai thực hiện nhiệm vụ nào.
- Sự rõ ràng trực quan: Giúp theo dõi việc bàn giao giữa các vai trò.
- Làn bơi: Thường được sử dụng thay thế cho làn để mô tả sự phân chia theo chiều ngang hoặc chiều dọc.
6. Các Mẫu Phổ biến và Các Mẫu Cần Tránh 🛑
Ngay cả những người mô hình hóa có kinh nghiệm cũng mắc lỗi. Việc nhận biết các mẫu phổ biến và các mẫu cần tránh đảm bảo tuổi thọ và khả năng sử dụng của các sơ đồ của bạn.
Vòng lặp vô hạn ⚠️
Một luồng tuần hoàn quay trở lại điểm trước đó mà không có điều kiện kết thúc sẽ tạo ra một vòng lặp vô hạn. Trong sơ đồ, điều này có thể chấp nhận được nếu nó đại diện cho cơ chế thử lại, nhưng khi thực thi, nó gây ra tình trạng treo hệ thống.
- Giải pháp: Đảm bảo có giới hạn đếm hoặc điều kiện ngắt trong vòng lặp.
Nhiệm vụ mồ côi
Các nhiệm vụ không có kết nối vào hoặc ra là nhiệm vụ mồ côi. Chúng cho thấy một sơ đồ chưa hoàn chỉnh.
- Giải pháp: Kết nối tất cả các nhiệm vụ với một luồng logic.
Thiếu Cổng
Các luồng song song không được nối hoặc tách đúng cách có thể gây ra tình trạng chết cứng. Nếu một quy trình tách thành hai đường song song nhưng chỉ một đường nối lại, đường còn lại có thể bị treo vô thời hạn.
- Giải pháp:Luôn sử dụng Cổng Song song để nối tất cả các nhánh song song.
7. Các Thực hành Tốt nhất cho Việc Vẽ Biểu đồ 📏
Để duy trì tài liệu quy trình chất lượng cao, hãy tuân thủ các hướng dẫn cấu trúc sau.
Tính nhất quán trong Đặt tên
- Sử dụng tên rõ ràng, tập trung vào hành động cho các nhiệm vụ (ví dụ: “Xem hóa đơn thay vì “Hóa đơn).
- Đặt tên sự kiện dựa trên kích hoạt (ví dụ: “Hóa đơn đã nhận thay vì “Bắt đầu).
- Ghi nhãn cổng bằng điều kiện (ví dụ: “Số tiền > 1000).
Phân cấp Trực quan
- Đặt Sự kiện Bắt đầu ở phía trên hoặc bên trái.
- Đặt Sự kiện Kết thúc ở phía dưới hoặc bên phải.
- Giữ hướng luồng nhất quán (Trên xuống Dưới hoặc Trái sang Phải).
- Tránh các đường cắt nhau. Sử dụng điểm uốn để làm mượt luồng.
Đối tượng Dữ liệu
- Biểu diễn dữ liệu dưới dạng biểu tượng tài liệu gắn liền với các nhiệm vụ.
- Sử dụng các liên kết để hiển thị dữ liệu nào được đọc hoặc ghi.
- Không đặt đối tượng dữ liệu trên các luồng tuần tự; chúng thuộc về các nhiệm vụ hoặc cổng.
8. Logic Cổng Nâng cao 🧠
Mô hình hóa nâng cao thường đòi hỏi các cổng lồng nhau hoặc các điều kiện phức tạp. Điều quan trọng là phải hiểu sự tương tác giữa các loại cổng khác nhau.
Cổng lồng nhau
Đặt một cổng bên trong một cổng khác có thể đơn giản hóa logic phức tạp. Tuy nhiên, điều này làm tăng tải nhận thức cho người đọc.
- Khuyến nghị:Giữ cho logic đơn giản. Nếu một cổng yêu cầu năm điều kiện, hãy cân nhắc chia quy trình thành các quy trình con.
Lựa chọn dựa trên sự kiện
Khi sử dụng Cổng dựa trên sự kiện, hãy đảm bảo rằng tất cả các sự kiện đang chờ đều khác biệt. Nếu hai sự kiện có thể xảy ra đồng thời, hành vi sẽ trở nên không xác định.
- Khuyến nghị:Sử dụng logic rõ ràng để ưu tiên một sự kiện hơn sự kiện khác nếu tồn tại sự mơ hồ.
9. Xử lý các nhầm lẫn phổ biến về ký hiệu 🤔
Ngay cả các chuyên gia đôi khi cũng nhầm lẫn các ký hiệu tương tự. Đây là hướng dẫn nhanh tham khảo cho những nhầm lẫn phổ biến nhất.
Nhiệm vụ so với Nhiệm vụ Dịch vụ
- Nhiệm vụ:Công việc của con người.
- Nhiệm vụ Dịch vụ:Công việc của hệ thống.
- Kiểm tra:Liệu một người có cần nhấn nút không? Nếu có, đó là Nhiệm vụ. Nếu hệ thống thực hiện tự động, đó là Nhiệm vụ Dịch vụ.
Cổng song song so với Cổng bao hàm
- Song song:Tất cả các đường dẫn đều chạy.
- Bao hàm:Các đường dẫn được chọn sẽ chạy.
- Kiểm tra:Có khả năng chỉ một đường dẫn chạy không? Nếu có, hãy sử dụng Cổng bao hàm. Nếu tất cả phải chạy, hãy sử dụng Cổng song song.
Bắt trung gian so với Ném
- Bắt:Quy trình chờ đợi.
- Ném:Quy trình gửi đi.
- Kiểm tra: Mũi tên có chỉ vào sự kiện (Bắt) hay chỉ ra ngoài sự kiện (Ném)?
10. Các cân nhắc về triển khai 🚀
Mặc dù hướng dẫn này tập trung vào ký hiệu, việc triển khai các sơ đồ này thường liên quan đến các công cụ thực thi. Việc hiểu rõ ký hiệu đảm bảo rằng logic có thể được chuyển đổi thành mã nguồn hoặc quy tắc quy trình làm việc.
- Đánh giá điều kiện:Đảm bảo các điều kiện của cổng là các biểu thức có thể kiểm tra được.
- Thời gian chờ:Sử dụng Sự kiện Trung gian Đồng hồ để theo dõi SLA.
- Thông báo:Sử dụng Sự kiện Kết thúc Tin nhắn để kích hoạt các cảnh báo bên ngoài.
Tóm tắt các quy tắc ký hiệu 📜
Tuân thủ tiêu chuẩn BPMN đảm bảo rằng các sơ đồ của bạn có thể di chuyển được và dễ hiểu đối với bất kỳ bên liên quan nào.
- Sự kiện là hình tròn: Bắt (Mỏng), Kết thúc (Dày), Trung gian (Hai đường mỏng).
- Hoạt động là hình chữ nhật bo góc: Nhiệm vụ (Biểu tượng bên trong), Quy trình con (Dấu cộng bên trong).
- Cổng là hình thoi: XOR (X), AND (+), OR (o), Sự kiện (Hình lục giác).
- Kết nối là các đường thẳng: Chuỗi (Đường liền), Tin nhắn (Đường đứt), Liên kết (Đường đứt).
- Tài liệu phụ là các tài liệu: Dữ liệu, Nhóm, Chú thích.
Bằng cách làm chủ các ký hiệu này, bạn tạo ra nền tảng cho việc tối ưu hóa quy trình. Các sơ đồ rõ ràng giúp giảm sự mơ hồ, đơn giản hóa giao tiếp và tạo điều kiện cho việc tự động hóa chính xác. Những nỗ lực đầu tư để học ký hiệu sẽ được đền đáp bằng sự rõ ràng của các quy trình kinh doanh kết quả.
Hãy nhớ, một sơ đồ là một hợp đồng. Nếu logic không rõ ràng, việc thực thi sẽ bị sai lệch. Hãy xem xét lại các mô hình của bạn thường xuyên để đảm bảo chúng vẫn phản ánh đúng thực tế kinh doanh hiện tại.












