Ký hiệu và mô hình hóa tiến trình nghiệp vụ (Business process Modeling & Notation BPMN)

Một phần của tài liệu các vấn đề liên quan đến bpm, ngôn ngữ mô hình hóa luật nghiệp vụ, ngôn ngữ mô hình tiến trình nghiệp vụ (Trang 32 - 45)

- Mô hình động: Là các loại mô hình phụ thuộc vào yếu tố thời gian.

2.2.2Ký hiệu và mô hình hóa tiến trình nghiệp vụ (Business process Modeling & Notation BPMN)

2.2.2 Ký hiệu và mô hình hóa tiến trình nghiệp vụ (Business processModeling & Notation - BPMN) Modeling & Notation - BPMN)

2.2.2.1 Các khái niệm cơ sở về BPMN

BPMN đượcquảnlývà phát triển bởiOMG.

“Mục đích chính của BPMN là cung cấp các ký hiệu dễ hiểu đối với mọi người. Từ những người phân tích nghiệp vụ đến những người làm IT và cuối cùng là những người quản lý và điều khiển trực tiếp những tiến trình đó. Vì vậy, BPMN tạo ra một cầu nối chuẩn cho những lổ hổng giữa những bản thiết kế quy trình nghiệp vụ và việc thực thi những quy trình đó .” [1]

BPMN là một tiêu chuẩn cho việc mô hình hóa quy trình nghiệp vụ. BPMN cung cấp một mô hình ký hiệu cho việc đặc tả quy trình nghiệp vụ trong một biểu đồ quy trình nghiệp vụ (Business process diagram - BPD).

Hình 2.5. Mô hình BPMN gần giống flowchart và biểu đồ hoạt động

Hình 2.6.Biểu đồ BPMN về việc giao hàng

2.2.2.2. Các thành phần của BPMN

Phần này sẽ trình bày các thành phần cấu tạo nên BPMN.

Sự kiện (An event):

Là thành phần cơ bản nhất của BPMN. Sự kiện là các yếu tố tạo ra một quy trình nghiệp vụ.

Sự kiện được phân loại dựa vào:

+ Phạm vi hoạt động nơi mà chúng xảy ra trong quy trình (bắt đầu, ở giữa và kết thúc)

+ Dựa vào loại (cơ sở, thông báo, đồng hồ đếm giờ, luật, ngoại lệ, sự hủy bỏ, bù, liên kết, phức hợp, kết thúc).

Sựkiện được biểu diễn bằng một hìnhtròn. Sự kiện bắt đầu được ký hiệu bởi

Sự kiện kết thúc ký hiệu bởi

Hình 2.8Giải thích ý nghĩa những sự kiện trong BPMN

Loại Bắt đầu Trung gian Kết thúc

Cơ sở Giữ chỗ hoặc bắt đầu một quy trình con

Giữ chỗ Giữ chỗ hoặc kết thúc một chu trình con

Thông điệp

Quy trình được bắt đầu khi nhận một thông điệp (ví dụ như yêu cầu của một phương thức web service được thực thi bởi một quy trình )

Quy trình đang đợi một thông điệp(ví dụ: chờ một phản hồi từ người mà thông điệp này gửi đến) Một thông điệp được gửi đến một quy trình(ví dụ: gọi một web service của nó) Đồng hồ đếm giờ

Khi nó được kích hoạt thì một lịch biểu được định lên(ví dụ: mỗi tối thứ 6)

Một thời điểm trong lịch biểu Luật Một điều kiện, được xác

định bởi một quy trình, được thỏa mãn(ví dụ: tiến trình bắt đầu khi giá chứng khoán đạt ngưỡng 52 tuần liền)

Một điều kiện được thỏa mãn. Chỉ được sử dụng cho việc xử lý ngoại lệ Ngoại lệ Ném ra hay bắt một lỗi Sinh ra một lỗi

Hủy bỏ Thực hiện hủy cho

một hoạt động Hủy việc thực thi Quay lùi Kích hoạt và thực hiện quay lùi

Thực hiện việc quay lùi

Loại Bắt đầu Trung gian Kết thúc (adsbygoogle = window.adsbygoogle || []).push({});

kết nối đến sự kiện kết thúc liên kết của một quy trình anh em với nó hoạt động khác hoặc từ một hoạt động khác kết bắt đầu của một quy trình anh em với nó Đa Hai hoặc nhiều hơn những

sự kích hoạt để có thể bắt đầu tiến trình; nếu một trong số chúng xảy ra thì tiến trình xảy ra. Những sự kích hoạt có thể là thông điệp, đồng hồ đếm giờ, luật hoặc những loại liên kết

Hai hoặc nhiều hơn những sự kích hoạt có thể tiến tục một tiến trình chờ; nếu một trong số chúng xảy ra thì tiến trình lại được tiếp tục

Khi tiến trình kết thúc, một vài kết quả được yêu cầu(ví dụ: một vài thông điệp cần được gửi) Kết thúc Hoàn thành tất cả mọi hoạt động trong tiến trình. Không thực thi xử lý ngoại lệ hoặc sự kiện quay lùi.

Hoạt động (activity)

Hoạt động được xem là yếu tố cơ bản thứ hai trong BPMN. Hoạt động là một bước trong một tiến trình và nó thực thi công việc.

Trong BPMN, một hoạt động tồn tại dưới hai dạng :

+ Nguyên tử (atomic) : Một hoạt động nguyên tử được xem như là một tác vụ. Nó thực thi một hoạt động đơn lẻ.

+ Phức hợp (compound): Một hoạt động phức hợp được xem như là một tiến trình, hay là một tập của các hoạt động đơn lẻ. Các tiến trình có thể có tiến trình con (subprocess).

Một hoạt động được ký hiệu hình chữ nhật có các cạnh được vát tròn.

Muốn thể hiện một tiến trình cha có chứa tiến trình con trong ở trong thì ta biểu diễn một hình vuông có dấu + ở trong.Khi chúng ta click vào dấu + đó thì một biểu đồ sẽ hiện ra và thể hiện đầy đủ chi tiết trong tiến trình đó có những gì.

Hình 2.9. Các hoạt động của BPMN

Sử dụng Mô tả

Dịch vụ Gọi một dịch vụ web

Nhận Chờ một thông điệp

Gửi Gửi một thông điệp

Người sử dụng (được thực thi bởi người sử dụng)

Một công việc được thực hiện với sự tham gia của con người(Ví dụ như việc chấp thuận)

Script Thực thi một đoạn mã(ví dụ thực thi một đoạn mã java)

Tham chiếu Sử dụng định nghĩa của một hành động khác trong tiến trình; chia sẽ định nghĩa hơn là sao chép lại

Luồng trình tự (Sequence flow)

- Luồng trình tự là yếu tố cơ bản thứ ba của BPMN. Luồng trình tự là luồng điều khiển trong một tiến trình.

- Nhiệm vụ của luồng trình tự làkết nối những hoạt động nguồn và những hoạt động đích. Nó cũng kết nối được những sự kiện (events) hay các cổng vào (gateways).

- Luồng trình tự được ký hiệu bởi mũi tên. - Hình 2.11biểu diễn ba loại luồng trình tự.

+ Mũi tên đầu tiên biểu diễn luồng bình thường.

+ Mũi tên thứ hai là luồng mặc định. Tiến trình sẽ đi theo hướng luồng mặc định trong trường hợp luồng chia tách ra nhiều hướng nhưng không có hướng nào thỏa mãn.

+ Mũi tên thứ ba là luồng được thực thi khi thỏa mãn nhiều điều kiện cùng lúc.

Cổng vào (Gateway)

Khái niệm thành phần cơ bản cuối cùng của BPMN là cổng vào (gateway). Cổng vào là một điều khiển đặc biệt thực hiện việc chia tách (split) và hợp nhất (join). Thành phần này sẽ được bàn kỹ hơn tại phần “Chia tách và hợp nhất” sau đây.

Chia tách và hợp nhất (adsbygoogle = window.adsbygoogle || []).push({});

- BPMN sử dụng yếu tố cổng vào (gateway) để điều khiển việc chia và nhập của các luồng tuần tự trong một quy trình. Nó sẽ quyết định rẽ nhánh, chia nhánh hay là hợp nhánh. Cấu trúc chia và nhập này tương tự như if- then,switch.

- Cổng vào trong BPMN có hai kiểu.

+ Một là từ một nhánh vào chia tách thành nhiều nhánh (được hiểu như là chia (Split))

+ Ngược lại là nhập (join).

Hình 2.12. Các ký hiệu cổng vào của BPMN

Cổng loại trừ:

Khi quy trình nghiệp vụ được xử lý. Các điều kiện sẽ được xét tại cổng loại trừ. Điều kiện nào thỏa mãn đầu tiên thì tiến trình sẽ đi theo hướng đó và các

Hình 2.13. Minh họa cổng loại trừ

Nếu tất cả các điều kiện ở các luồng không thỏa mãn thì sẽ tự động đi vào luồng mặc định.

Hình 2.14. Minh họa luồng mặc định

Cổng bao hàm:

Không giống như cổng loại trừ. Cổng bao hàm có thể kích hoạt nhiều hơn 1 luồng ra. Vì cổng bao hàm kích hoạt nhiều hơn 1 luồng ra nên việc kiểm tra điều kiện của nó cũng khá với cổng loại trừ. Đối với cổng loại trừ. Khi nào có điều kiện thỏa mãn thì các điều kiện sau không kiểm tra nữa. Nhưng với cổng bao hàm thì khác. Tất cả các điều kiện đều được kiểm tra.

Hình 2.15. Minh họa cổng bao hàm

Có 3 trường hợp có thể xảy ra trong quy trình nghiệp vụ này là : - Chuyển tất cả hàng bằng đường máy bay.

- Chuyển tất cả hàng bằng đường biển.

- Chuyển một số hàng bằng đườngmáy bay và số còn lại bằng đường biển.

Cổng vào dựa trên sự kiện

Cổng vào dựa trên sự kiện tương tự với cổng vào loại trừ nhưng cổng vào chỉ được kích hoạt dựa trên xảy ra sự kiện hay vì xét điều kiện. Sự kiện thường được kích hoạt dựa trên bên thứ 3 (ví dụ như : khách hàng gửi hóa đơn là một sự kiện).

Ví dụ cổng vào dựa trên sự kiện :

Chúng ta gửi bảng đơn giá cho khách hàng và đợi khách hàng xác nhận đơn đặt hàng. Nếu khách hàng gửi lời xác nhận thì chung ta sẽ chuẩn bị hàng cho khách hàng. Nếu như không nhận được lời xác nhận nào sau 15 ngày thì chúng ta sẽ gửi nhắc nhở tới khách hàng.

Hình 2.16. Minh họa cổng vào dựa trên sự kiện

Cổng vào song song

Khi gặp cổng vào song song thìtiến trình sẽ nhân nhánh ra nhiều luồng khi gặp cổng tách song song. Chúng sẽ nhập lại thành một khi gặp cổng nhập song song

Một phần của tài liệu các vấn đề liên quan đến bpm, ngôn ngữ mô hình hóa luật nghiệp vụ, ngôn ngữ mô hình tiến trình nghiệp vụ (Trang 32 - 45)