Tổng quan về Business Process Model and Notation (BPMN)
1. BPMN là gì?
- BPMN là viết tắt của Business Process Model and Notation, trong đó ‘Notation’ nghĩa là ký hiệu, tức BPMN là tập hợp các ký hiệu chuẩn để mô tả quy trình của doanh nghiệp. Hay để mô hình hoá quy trình của doanh nghiệp,
- BPMN là một trong những vũ khí tối quan trọng. 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ụ từ khách hàng.
- Lắng nghe xong phải tạo document lại. Với mỗi khách hàng khác nhau, mỗi quy trình phức tạp thì document phải cho gọn, cho dễ đọc mà vẫn giữ được nội dung gốc ban đầu thì BPMN chính là công cụ hỗ trợ.
- Khi mình hiểu được khách hàng, quy trình mà họ thực hiện hàng ngày thì mới nhận ra được đâu là điểm tối ưu trong quy trình của họ và truyền đạt lại những hiện trạng và yêu của khách hàng cho cả team cùng hiểu. Khi đó BPMN là phương pháp tối ưu nhất để truyền đạt lại quy trình này.
2. Phân biệt BPMN và UML
- UML là Unified Modeling Language – ngôn ngữ mô hình thống nhất. Là tập hợp các diagram và các ký hiệu để mô tả phần mềm.
- BPMN hướng tới các quy trình nghiệp vụ, phục vụ cho việc build phần mềm.
- UML hướng tới xây dựng phần mềm, từng đối tượng cụ thể để phục vụ
- BPMN tiếp cận theo hướng process – oriented, còn UML tiếp cận theo hướng object – oriented
- Process – oriented: Tập trung trả lời cho câu hỏi khách hàng phải làm bao nhiêu bước, đó là những bước gì, trong thời gian bao lâu để hoàn thành được công việc, mục tiêu.
- Object – oriented: Tập trung cho việc mổ xẻ đối tượng theo nhiều chiều khác nhau làm rõ ràng hơn cho việc thiết kế và xây dựng hệ thống. Do đó để có nhiều cách nhìn hơn thì UML có 1 bộ diagram khác nhau, mỗi diagram có một chức năng riêng. Còn BPMN chỉ có 1 diagram duy nhất, bới vì nó chỉ có một mục đích duy nhất là thể hiện được quy trình nghiệp vụ
- Tóm lại BPMN và UML là hai khái niệm khác nhau hoàn toàn. Nó không những tương phản mà lại còn thích hợp nhau, hỗ trợ nhau trong việc tạo document đầy đủ và cover hết các khía cạnh.
3. Chi tiết về BPMN
a) Swim lane
- Được xem như là linh hồn của BPMN, khác hẳn những diagram khác, nó bao gồm pool và lane
- Pool là một tổ chức, một bộ phận, phòng ban, một vai trò hoặc một hệ thống nào đó.
- Lane thể hiện những cá nhân riêng lẻ, người sẽ làm các hoạt động cụ thể.
b) Activities
Tập trung vào trả lời câu hỏi làm gì, tức là mô tả tất cả các công việc có trong quy trình.
Có 4 loại:
c) Activity Markers
Thể hiện được hành vi thực hiện các hành động, bao gồm:
1. Loop: Là một hành động lặp đi lặp lại theo thứ tự
2. Multi-Instance
- Đây là một kí hiệu rất dễ nhầm lẫn với loop, cũng là hành động lặp đi lặp lại nhiều lần nhưng cần data set khác nhau.
- Có 2 loại Parallel (lặp lại nhưng đồng thời, cùng lúc) và Sequential (từng cái một).
- Để chi tiết hơn có thể note vào quy trình, lặp lại bao nhiêu lần thì mới cho tiến trình chuyển qua bước tiếp.
3. AdHoc
- Được hình thành khi cần thiết và dành cho mục đích cụ thể nhất định
- Sẽ thể hiện ở các task đặc biệt, có một mục đích chuyên đùng cụ thể, thể hiện một thứ gì đó rất đặc biệt và sinh ra chỉ để phục vụ cho một đối tượng hoặc một mục đích duy nhất
4. Compensation: Cũng chỉ là 1 task bình thường nhưng khác ở chỗ chỉ duy nhất xảy ra sau 1 task cụ thể nào đó.
d) Task Types
1. 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.
Tóm lại BPMN gồm 6 phần chính:k thể hiện sự nhận/ gửi thông tin, tái hiện hoặc 1 data object.
3. Manual Task
- Là task được thực hiện bởi người dng, ngoài hệ thống và dược thực hiện một ách thủ công
4. Service Task
- Là task được thực hiện t- pt” ở đây có nghĩa là 1 đoạn code được viếc ra để chạy và thực hiện công việc.
6. Business Rule Task
- Thể hiện một task mà task đó dựa vào rule nào đó
=> Task type giúp BA thể hiện được tính chất, bản chất của hoạt động. Biết được task này làm việc trong hệ thống hay ngoài hệ thống. Hoặc là task này sẽ chạy tự động hay user sẽ làm
e) Flow
1. Sequence Flow
Thể hiện luồng quy trình
2. Default Flow
Luồng đi mặc định của hệ thống, nếu không có gì thay đổi hệ thống sẽ đi theo đường này
3. Message Flow
Thể hiện thông tin được trao đổi giữa các lane và pool với nhau
4. Conditional Flow
Luồng này luôn đi kèm với 1 đ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
f) Gateways
- Là cái cổng mà khi đi qua thì luồng sẽ thay đổi tuỳ vào điều kiện khác nhau
- Có nhiều gateways nhưng BPMN thường dùng 4 loại
1. Exclusive Gateway
Hay còn gọi là XOR gateway. Nó thể hiện nhánh này hoặc nhanh kia nhưng chỉ được phép 1 trong 2
2. Inclusive Gateway
Cũng tương tự như exclusive gateway nhưng khác ở chỗ nó cho phép xảy ra nhiều nhánh, chứ không duy nhất 1 nhánh như XOR. Tuy nhiên 1 khi các nhánh được active nó phải hoàn thành hết trước khi được merge lại.
3. Parallel Gateway
Nghĩa là các nhánh phải cùng xảy ra song song với nhau chỉ cần 1 trong các nhánh chưa được hoàn thành thì các nhánh khác không thể merge lại và quy trình không thể đi tiếp được.
4. Event – Driven
- Tức là dưạ vào Event, hướng theo Event mà chạy. Vì cơ bản nó cũng khá giống với vì hai cá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 điều kiện đó chạy.
- Condition: đơn giản, trả lời cho câu hỏi ở task trước đó.
- Event: phức tạp hơn, các event gán vào các nhánh sẽ trả lời chi tiết hơn về các trường hợp thông tin: thời gian, ai làm, làm như thế nào?, sự việc gì xảy ra?
g) 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.
- Chia làm 3 giai đoạn:
- Start: bắt đầu
- Intermedia: ngay tức thì/ở giữa
- End: kết thúc
- Event có rất nhiều loại, mỗi loại thể hiện một ý nghĩa khác nhau và không phải lúc nào cũng sử dụng hết. Có hai loại được dùng nhiều nhất đó là:
- Message Event: diễn tả sự việc gửi và nhận thông tin, có đầy đủ Start, Intermedia, End.
- Time Event: diễn tả một sự việc liên quan đến thời gian, nhưng chỉ có Start và Intermedia không có End.
- Phân biệt Start, Intermedia, End event:
- Start: một vòng nhạt bên ngoài
- Intermedia: hai vòng tròn bên ngoài
- End event: một vòng đậm bên ngoài
- Boundany Event: được thể hiện bởi các Event dính liền với hình chữ nhật bao quanh task
- Cách dùng này trực diện và đơn giản hơn rất nhiều so với Event – Driven
- Boundany Event để bắt đầu qua một event khác, đó là:
- Interrupting Event là khi task A đạt được trong thời gian X và hành động Y xảy ra, thì khi đó quy trình chuyển sang C và dừng lại toàn bộ A.
- Non – Interrupting Event cũng tương tự nhưng khi qua C, task A vẫn diễn ra bình thường.
h) Information Artifact
Thể hiện một thứ rất quan trọng trong bất kỳ quy trình nào, đó là thông tin, dữ liệu
Tóm lại BPMN gồm 6 phần chính:
- Swim lance: 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 quá trình.
- Information Artìact: thể hiện các dữ liệu liên quan.
Author
NgânLTM
1 comment
Bài viết rất hay và hữu ích