pttrungvt@gmail.com
Toby
Blog
Trang chủ
(current)
Blog
Công cụ
Slug Generator
Our blog
BPMN là gì? Hướng dẫn chi tiết về mô hình hóa quy trình kinh doanh
Trang chủ
/
Blog
/
BPMN là gì? Hướng dẫn chi tiết về mô hình hóa quy trình kinh doanh
Công cụ
thứ bảy, 07:55, 01/03/2025
## I. Giới thiệu về BPMN ### 1. BPMN là gì? BPMN là viết tắt của **Business Process Model and Notation** Thật ra tên của nó cũng chính là định nghĩa: - Business Process Model là mô tả quy trình kinh doanh - Notation là ký hiệu [](https://tobyblog.click/user/images/img/24-01.png "Hình 1") > Hình 1: Ký hiệu BPMN **-> **Business Process Model and Notation là từ các ký hiệu tạo ra 1 tiêu chuẩn hóa quy trình kinh doanh nhằm tối ưu hóa quy trình 1 cách dễ dàng Xem 1 ví dụ về 1 quy trình BPMN nhé: [](https://tobyblog.click/user/images/img/24-10.jpg "Hình 2") > Hình 2: Quy trình được vẽ từ BPMN ##2. Tại sao BPMN quan trọng trong quản lý quy trình nghiệp vụ? Nếu bạn là 1 BA (Business Analyst) thì BPMN là 1 phần không thể thiếu trong công việc của bạn, bởi vì: - **Dễ hiểu, dễ sử dụng**: Mỗi người/mỗi bộ phận trong công ty sẽ có cách hiểu yêu cầu khách hàng 1 cách khách nhau, nên cần phải có 1 quy định để tất cả đối tượng đều hiểu chung 1 ý nghĩa -> BPMN trực quan, giúp cả người không chuyên về kỹ thuật cũng có thể hiểu và phân tích quy trình. - **Chuẩn hóa quy trình**: Giúp tổ chức xây dựng các quy trình đồng nhất, tránh nhầm lẫn và cải thiện hiệu suất làm việc. - **Tăng cường giao tiếp**: BPMN tạo ra một ngôn ngữ chung giữa các bộ phận, giúp các nhóm trong doanh nghiệp phối hợp hiệu quả hơn. - **Hỗ trợ tự động hóa**: BPMN có thể tích hợp với các công cụ BPM (Business Process Management) và hệ thống tự động hóa để tối ưu hóa quy trình. ##3. Ai nên sử dụng BPMN? - **Business Analyst (BA**): Đây là đối tượng có thể nói bắt buộc phải hiểu, biết sử dụng, biết vận dụng BPMN 1 cách tối ưu nhất bởi vì - Từ một yêu cầu không đầu không đuôi (Không rõ input – output) của khách hàng, thông thường yêu cầu của khách hàng sẽ viết bằng chữ là lên tới 4-5 trang -> Dẫn đến các bộ phận khác đọc không hiểu hoặc mỗi người hiểu 1 ý. Nhiệm vụ của BA là từ yêu cầu khách hàng phải vẽ lại quy trình sau đó phân tích, thiết kế và tối ưu quy trình kinh doanh -> Sao cho tất cả đối tượng xem quy trình đều hiểu cùng 1 ý nghĩa - **Đội phát triển (Bao gồm DEV, QC,..)**: Đối tượng này bắt buộc phải hiểu được BPMN - Từ quy trình BPMN do BA phân tích, đội phát triển phải đọc được các kí hiệu BPMN sau đó có thể góp ý để triển khai giải pháp phần mềm phù hợp với quy trình kinh doanh. - **Đội vận hành (Bao gồm PE, Chăm sóc khách hàng,..)**: Tương tự đối tượng trên, Đối tượng bắt buộc phải hiểu được BPMN - Sau khi BA phân tích, đội phát triển thực hiện: Đội vận hành phải hiểu được luồng chức năng để triển khai chức năng cho khách hàng và các dự án tương đương - Ngoài ra các đối tượng như **Quản lý doanh nghiệp, kinh doanh, đối tác liên quan** cũng nên hiểu BPMN để rõ hơn về quy trình làm việc của tổ chức để đưa ra quyết định chiến lược ##4.Phân biệt giữa BPMN và UML | Tiêu chí | BPMN |UML | | ------------ | ------------ | ------------ | | **Mục đích** | Mô hình hóa quy trình nghiệp vụ khách hàng |Mô hình hóa hệ thống phần mềm| | **Phạm vi áp dụng** | Quản lý và tối ưu hóa quy trình kinh doanh |Phân tích, thiết kế, phát triển phần mềm| | **Cách biểu diễn** | Sử dụng sơ đồ quy trình với các thành phần như sự kiện, hoạt động, cổng (Gateway), kết nối |Gồm nhiều loại sơ đồ: Use Case Diagram, Class Diagram, Sequence Diagram, State Diagram, v.v.| | **Tính trực quan** | Đơn giản, dễ hiểu với người dùng không chuyên về kỹ thuật |Phức tạp hơn, yêu cầu kiến thức về phần mềm| **Tóm lại:** - BPMN dành cho quy trình nghiệp vụ khách hàng - UML dành cho mô hình hóa hệ thống phần mềm #II.Các thành phần chính trong BPMN ##1.Pool/Lane Thành phần này thông thường gọi là Swim lane Trong BPMN, **Pool** (Bể chứa) và **Lane** (Làn quy trình) được sử dụng để tổ chức và phân tách các vai trò hoặc bộ phận trong một quy trình nghiệp vụ [](https://tobyblog.click/user/images/img/24-01.jpg "Hình 3") > Hình 3: Mô tả về Swim lane *Ví dụ:* Giả sử một công ty có quy trình phê duyệt hợp đồng, pool "Công ty A" có thể chia thành: - Làn 1: Bộ phận Bán hàng (Chuẩn bị hợp đồng) - Làn 2: Bộ phận Pháp lý (Kiểm tra điều khoản) - Làn 3: Giám đốc (Phê duyệt cuối cùng) [](https://tobyblog.click/user/images/img/24-02.jpg "Hình 4") > Hình 4: Swim lane trong BPMN **Lưu ý:** Swimlane có thể được thể hiện dưới dạng chiều ngang hoặc chiều dọc tùy thuộc vào người vẽ thể hiện quy trình dưới dạng nào ##2.Flow Objects (Đối tượng luồng) ###Event (Sự kiện) - Event (Sự kiện) : Đại diện cho các điểm khởi đầu, trung gian hoặc kết thúc của quy trình. Gồm 3 loại chính: - **Start Event (Sự kiện bắt đầu)** : Đánh dấu điểm khởi đầu của quy trình. - **Intermediate Event (Sự kiện trung gian)**: Xảy ra trong quá trình thực hiện, có thể là sự kiện nhận/gửi tin nhắn hoặc thời gian chờ. - **End Event (Sự kiện kết thúc)**: Đánh dấu điểm kết thúc của quy trình. - Và event có rất nhiều loại, chúng ta có thể xem ở dưới hình: [](https://tobyblog.click/user/images/img/24-09.jpg "Hình 5") > Hình 5: Các loại Events - Nhưng thông thường mình sẽ sử dụng chủ yếu 3 loại: none, Message và Timer ###Activity (Hoạt động) - **Activity (Hoạt động)**: Đại diện cho một công việc hoặc tác vụ cần thực hiện. Có hai loại phổ biến: - **Task (Tác vụ)**: Một công việc đơn lẻ, không thể chia nhỏ hơn. - **Sub-Process (Quy trình con)**: Nhóm nhiều tác vụ lại với nhau, có thể mở rộng để xem chi tiết [](https://tobyblog.click/user/images/img/24-03.jpg "Hình 6") > Hình 6: 2 loại Activity phổ biến Mở rộng hơn sẽ có phần Activity Marker và Task Type. [](https://tobyblog.click/user/images/img/24-08.jpg "Hình 7") > Hình 7: Activity Marker và Task Type ###Gateway (Cổng quyết định) **Gateway (Cổng quyết định)**: Dùng để rẽ nhánh hoặc hợp nhất luồng quy trình dựa trên điều kiện nhất định. Một số loại phổ biến: - **Exclusive Gateway (XOR - Hoặc)**: Chỉ chọn một nhánh duy nhất, không thể đồng thời chạy cả 2 - Sử dụng kí hiệu hình thoi gạch chéo bên trong - *Ví dụ*: Khách hàng đến ngân hàng vay tiền chỉ xảy ra 1 trong 2 đồng ý hoặc không [](https://tobyblog.click/user/images/img/24-04.jpg "Hình 8") > Hình 8: Ví dụ minh họa Exclusive Gateway - **Parallel Gateway (AND - Song song)**: Thực hiện tất cả các nhánh đồng thời, có thể chạy nhiều nhánh - Sử dụng hình thoi, dấu cộng bên trong - *Ví dụ*: Cửa hàng có khuyến mãi đi kèm hóa đơn [](https://tobyblog.click/user/images/img/24-06.jpg "Hình 9") > Hình 9: Ví dụ minh họa Parallel Gateway - **Inclusive Gateway (OR - Bao gồm)**: Có thể chọn một hoặc nhiều nhánh tùy điều kiện, các nhánh phải đều phải hoàn thành mới có thể tiếp tục chạy - Sử dụng hình thoi, hình tròn bên trong - *Ví dụ*: Cửa hàng nhận được đơn hàng phải đồng thời xử lý chuẩn bị đơn hàng và xử lý hóa đơn [](https://tobyblog.click/user/images/img/24-05.jpg "Hình 10") > Hình 10: Ví dụ minh họa Inclusive Gateway ##3. Connecting Objects (Đối tượng kết nối) Giúp kết nối các thành phần trong quy trình, thể hiện sự tương tác và luồng công việc: - **Sequence Flow (Luồng tuần tự)** : Thể hiện thứ tự thực hiện các hoạt động trong quy trình. - **Message Flow (Luồng tin nhắn)** : Dùng để biểu diễn giao tiếp giữa các thực thể khác nhau, chẳng hạn giữa hai phòng ban. - **Conditional Flow (Luồng có điều kiện)** là một loại Sequence Flow nhưng chỉ được thực hiện khi một điều kiện cụ thể được đáp ứng. - **Default Flow (Luồng mặc định)** là một loại Sequence Flow được sử dụng khi không có điều kiện nào khác thỏa mãn [](https://tobyblog.click/user/images/img/24-07.jpg "Hình 11") > Hình 11: Các đối tượng kết nối ##4. Artifacts (Tạo tác hỗ trợ) Là các thành phần bổ sung giúp làm rõ thông tin trong quy trình: - **Data Object (Đối tượng dữ liệu)**: Biểu thị dữ liệu được tạo, sử dụng hoặc lưu trữ trong quy trình. - **Group (Nhóm)**: Gom nhóm nhiều thành phần BPMN lại với nhau để tổ chức hoặc chú thích. - **Annotation (Chú thích)**: Dùng để thêm ghi chú hoặc giải thích về một phần của sơ đồ. ##Hãy cùng xem một quy trình BPMN hoàn chỉnh nhé [](https://tobyblog.click/user/images/img/24-10.jpg "Hình 12") > Hình 12: Quy trình BPMN theo nghiệp vụ *Nguồn tham khảo: https://thinhnotes.com/*
Share:
Ngọc Ánh
Business Analyst
Latest Posts
Upcasting và Downcasting: Hướng dẫn từ A đến Z cho lập trình viên Java
Mar 13, 2025
GitHub Copilot là gì? Khám phá các tính năng nổi bật của GitHub Copilot trong lập trình
Mar 03, 2025
Switch-Case Trong Java: Cách Viết Code Gọn Hơn Với yield
Mar 01, 2025