Thiết kế quy trình nghiệp vụ với BPMN2.0

Một phần của tài liệu (LUẬN văn THẠC sĩ) tính khả thi của việc chuẩn hóa quy trình nghiệp vụ và tự động hóa quy trình nghiệp vụ bằng dịch vụ web trong bài toán chính phủ điện tử (Trang 33 - 43)

Chương 1 : Giới thiệu

3.3 Khái niệm và sự ra đời của BPM

3.3.5 Thiết kế quy trình nghiệp vụ với BPMN2.0

Trước tiên chúng ta có thể hiểu rằng BPMN là sự kết hợp giữa BPM và các ký hiệu (Notation).

BPMN = BPM + N

Một mô hình hóa quy trình nghiệp vụ (Business process model) là một phương pháp mô tả các hoạt động trong quy trình nghiệp vụ của một tổ chức bằng các hình vẽ. Qua đó quy trình sẽ được phân tích và có thể được cải tiến trong tương lai.

BPM (Business Process Management - Quy trình quản lý nghiệp vụ): là phương tiện để cải tiến, nâng cao chất lượng sản phẩm dịch vụ.

BPMN (Business Process Modeling Notation): hệ thống ký hiệu mô hình hóa quy

trình nghiệp vụ theo mô hình luồng công việc (workflow). Nó được phát triển bởi nhóm OMG với mục đích cung cấp một tập hợp các ký hiệu dễ hiểu dành cho người làm nghiệp vụ. Từ các nhà phân tích, BPMN được tạo ra là một cầu nối tiêu chuẩn lấp đầy lỗ hổng giữa việc thiết kế và triển khai thực hiện tiến trình nghiệp vụ tới các nhà phát triển công nghệ với nhiệm vụ cài đặt chương trình để thực hiện các quy trình và sau cùng các nhà quản lý sẽ điều hành và sử dụng quy trình đó. Với mục đích mô tả quy trình nghiệp vụ, phân tích quy trình nghiệp vụ và thực thi quy trình nghiệp vụ.

Notation: bao gồm một tập hợp các ký hiệu, đồ họa biểu diễn cho hành động (action), các dòng chảy (flow) hoặc các hành vi của một quá trình.

Với mục tiêu chính là chuẩn hóa mô hình và ký hiệu quy trình nghiệp vụ tạo ra bộ ký hiệu dễ hiểu giúp giảm đi sự nhầm lẫn cho doanh nghiệp, tổ chức trong bối cảnh hiện nay có rất nhiều các ký hiệu mô hình hóa và các quan điểm khác nhau. Để làm được điều này, BPMN đã cung cấp một vai trò đơn giản trong việc trao đổi thông tin quy trình cho cả 3 bên người cài đặt quy trình, khách hàng và nhà cung cấp. Nhóm phát triển OMG dựa vào chuyên môn và kinh nghiệm với nhiều kí hiệu hiện có đã tìm cách chuẩn hóa cũng như đưa ra một ý tưởng tốt nhất để có thể đưa ra một ký hiệu tiêu chuẩn từ các ký hiệu khác nhau.

Bên cạnh đó, BPMN cũng đảm bảo rằng các ngôn ngữ XML đã được thiết kế cho việc thực thi các quy trình nghiệp vụ ví dụ như WSBPEL có thể được mô hình hóa bởi một ký hiệu hướng nghiệp vụ.

BPMN xác định một biểu đồ nghiệp vụ duy nhất được gọi là biểu đồ quy trình nghiệp vụ BPD với mục tiêu:

- Dễ sử dụng và dễ hiểu. Việc mô hình hóa quy trình nghiệp vụ sẽ được thực hiện một cách dễ dàng và nhanh chóng. Từ đó nó sẽ giúp cho những người không am hiểu về công nghệ có thể lắm bắt nội dung một cách nhanh chóng.

- Bên cạnh đó, nó cũng cung cấp một diễn giải cho các quy trình nghiệp vụ phức tạp. Nó có thể ánh xạ tự nhiên với các ngôn ngữ thực thi nghiệp vụ. Việc mô hình hóa một luồng quy trình nghiệp vụ có thể được thực hiện dễ dàng thông qua các hoạt động liên quan đến việc mô hình hóa cho các sự kiện đầu cuối của một quy trình. Kết quả cuối cùng của việc ghép nối các mô hình trên đó là một quy trình nghiệp vụ.

Các nghiệp vụ quyết định và các nhánh luồng được mô hình hóa sử dụng các cổng (gateway). Bên cạnh đó, trong một luồng cũng có thể chứa các quy trình con, chúng có thể được biểu diễn một cách hình tượng bởi biểu đồ quy trình nghiệp vụ khác gắn kèm thông qua các liên kết tới một quy trình. Nếu một quy trình không được chia nhỏ thành các quy trình con, nó sẽ được xem như một tác vụ - một quy trình ở mức thấp. Một dấu ‘+’ trong kí hiệu quy trình có nghĩa là quy trình đó được chia nhỏ. Nếu không có dấu ‘+’ thì nó được coi là một tác vụ.

Mô hình BPMN bao gồm các sơ đồ đơn giản xây dựng từ một tập hạn chế các ký hiệu phần tử. Với BPMN sẽ có 4 loại cơ bản đó là:

Workflow (luồng công việc) Organizing ( tổ chức) Readability ( dễ đọc - dễ hiểu ) Special behavior (các hành vi đặc biệt) Các hoạt động (Activities) Sự kiện (Events) Cổng (Gateways) dòng chảy (Sequence flow) Pool Swimlans or lans Annotations (chú thích) Link (liên kết) Tin nhắn (Messages ) Tín hiệu (Signals) Thời gian (Timers) Lỗi (Errors)

Quá trình lặp lại (Repeating) Bảng 3-1: 4 loại cơ bản của BPMN (7)

4 loại này sẽ cho phép tạo ra các sơ đồ quy trình (BPDs-Business Process diagrams). BPDs cũng cho phép tạo ra các loại dòng chảy (flows) mới để làm cho sơ đồ dễ hiểu hơn.

Chỉ với một vài yếu tố từ ba loại đầu tiên (Workflow, Organizing và Readability) chúng ta có thể đưa ra được một quy trình nghiệp vụ và bắt đầu xây dựng và có cái nhìn rõ hơn về nghiệp vụ mà chúng ta đang muốn xây dựng.

- Workflow (Luồng công việc): Workflow sẽ bao gồm các activities, (hoạt động)

gateways (các cổng), events (các sự kiện), và sequence flow ( dòng chảy) để kết nối chúng lại với nhau.

Mỗi yếu tố thành phần trên có nhiều loại và tất cả các loại có thể được kết nối trong một chuỗi trong đó:

- Organizing: Organizing bao gồm pools và swimlanes. Chúng có thể được hiểu

là bộ phận chứa toàn bộ dòng chảy của quy trình trong đó:

Pool: Chúng ta có thể xác định ‘ai làm gì’ bằng cách đặt các sự kiện và

các quy trình vào trong các vùng được gọi là pool cho biết ai đang thực hiện một quy trình. Hơn nữa chúng ta có thể phân chia một pool vào các lane. Một pool thường biểu diễn một tổ chức còn một lane thường biểu diễn một phòng bên trong tổ chức đó (mặc dù chúng ta có thể dùng chúng để biểu diễn các thứ khác như các chức năng, ứng dụng và hệ thống).

Swimlane: được sử dụng để tổ chức các quá trình dựa vào công việc được

phân chia (ai sẽ làm gì). Trong một pool, Swimlane sẽ giúp cho công việc được phân chia rõ ràng hơn, phân chia rõ ràng công việc cũng như trách nhiệm cho từng cá nhân.

Hình 3-9 : Ví dụ về Pool

Activities: các nhiệm vụ được thực thi trong quy trình - có thể được thực thi do con người, tự động hóa hoặc thực, kích hoạt thi một tiến trình con nào đó

.

Events: Được sử dụng để bắt đầu hoặc kết thúc một quá trình và để quản lý các hành động cụ thể trong một quy trình làm việc. Nó sẽ tạo ra hoặc là kết quả của một vấn đề nào đó bên ngoài dòng chảy của quá trình.

Gateways: được sử dụng để tách hoặc tham giá vào dòng chảy quá trình.

Sequence flow: được sử dụng để miêu tả cách thức di chuyển của các luồng công việc

- Readability: giúp cho người dùng có thể dễ dàng đọc và hiểu được một mô hình

cnào đó. Nó không có hiệu lực tại tất cả các dòng chảy thực tế. Trong đó :

- Special behavior: bao gồm tập hợp cụ thể các sự kiện (events), việc lặp đi lặp

lại và sự tương quan giữa chúng. Những thành phần này cho phép chúng ta thiết kế, thực thi các luồng công việc có thể thực thi theo các cách phức tạp khác nhau. Trong đó:

Hiện tại BPMN có 3 độ phức tạp khác nhau đó là cơ bản (basic) trung gian (intermediate) và nâng cao (advanced)

Basic Intermediate Advanced

Activities Abstract task Human task

Text annotation (chú thích văn bản): cho phép bạn đánh dấu, ghi chú tất cả trên một mô hình với các giải thích chi tiết.

Link (liên kết): cho phép bạn cắt một quy trình quá dài để đọc một cách dễ dàng hơn. Và đơn giản là tiếp tục quy trình trên 1 dòng khác.

Signals: được sử dụng để truyền thông tin, tín hiệu tới các tiến trình khác.

Timers: được sử dụng để khởi động các hoạt động định kì hoặc để đảm bảo rằng một hoạt động xảy ra trong một thời gian quy định trước đó.

Errors (Lỗi): được sử dụng để xác định hành vi cũng như nguyên nhân gây ra lỗi trên hệ thống.

Repeating: Được sử dụng để lặp lại hành vi, nhiệm vụ.

Correlation (sự tương quan) dùng để phối hợp, liên kết tao đổi giữa hai quy trình khác nhau.

Messages and message flow (tin nhắn và luồng tin nhắn): Được sử dụng để chuyển ẽ liệu từ một pool hay một quy trình nào đó đến một tiến trình liên quan khác.

Service Task Call activity Events Start End Message Timer (Special behavior) Error Signal Event subprocess Gateways Parallel(AND) Exclusive (XOR) Inclusive

Sequence flow Sequence flow (dòng chảy)

Conditional flow Default flow

Special behavior Looping

Multi-instantation Transaction Compensation Correlation Pools Lanes Annotation Links Bảng 3-2: 3 Độ phức tạp khác nhau trong BPMN

Dựa vào 4 loại cơ bản trong BPMN (Workflow, Organizing, Readability và Special behavior) chúng ta có thể biểu diễn 1 cách trực quan cho các luồng công việc.

Chúng được dịch sang mã thực thi cho phép một mô hình quy trình vừa được biểu diễn có thể thực hiện như một ứng dụng. Cụ thể với các giải thích chi tiết như sau:

BPMN cơ bản

BPMN cơ bản hữu ích trong việc mô hình hóa các chi tiết mà chưa được làm rõ. Nó gồm các sự kiện hành động như Activities, events, gateways, và sequence flow. Cụ thể: - Basic activities (các hoạt động cơ bản) là trừu tượng, hoặc không xác định.

- Basic Events (các sự kiện cơ bản) bao gồm sự kiện bắt đầu và sự kiện kết thúc - Basic gateways (các cổng cơ bản)

Parallel (cũng được biết đến như cổng AND). Tất cả đầu vào phải được

nhận (trong bất ký trình tự nào) trước khi quá trình xử lý được tiếp diễn. Tất cả đầu ra được kích hoạt. Quá trình xử lý sẽ được thực hiện song song tiếp sau đó.

Exclusive (được biết đến như cổng XOR). Chỉ duy nhất 1 giá trị đầu vào cần thiết cho quá trình xử lý được tiếp tục. Tiếp theo đó là chỉ 1 đầu ra (output) được đưa ra. Một điều kiện là cần thiết trong trường hợp này để quyết định giá trị duy nhất đó là gì

Sequence flow về đơn giản nó đó là dòng xử lý trực tiếp từ hoạt động này tới hoạt động khác.

Hình 3-10: Ví dụ mô hình bóa BPMN cơ bản

Hình 3-11: Ví dụ về BPMN cơ bản (7)

Với ví dụ về BPMN cơ bản trên hình 3-10 và 3-11, ta có thể thấy rằng nó bắt đầu với các abstract activity, start và stop events, gateways hay các sequence flow.

BPMN trung gian

Với BPMN trung gian, ta có thể áp dụng nó để bắt đầu thực hiện một mô hình thực thi trực quan. Trong quá trình thực thi, các mô hình dòng chảy trở thành 1 ứng dụng quy trình thực tế. Cũng như với BPMN nâng cao, BPMN cũng bắt đầu với quá trình thực thi để dần dần biến nó thành một quy trình tự động. BPMN2.0 không chỉ là một ký hiệu. Thực hiện thông qua một mô hình công cụ BPMN mà nó còn cung cấp hướng dẫn lập trình bằng một công cụ được sử dụng để thực thi hóa quá quy trình.

Với ví dụ về BPMN trung gian trong hình 3-12, chúng ta sẽ thấy được mô hình được mở rộng ra sao khi bắt đầu áp dụng BPMN trung gian vào việc thiết kế một quy trình.

Hình 3-12: Ví dụ BPMN trung gian (7)

Về cơ bản, các hoạt động của mức BPMN trung gian gồm có human activity (con người), service activity (dịch vụ) và call activity (việc gọi đến các hoạt động trong quy trình)

Trong BPMN trung gian, các hoạt động được phân biệt rõ ràng. Mỗi công việc sẽ được thực thi như thế nào? Bởi ai hay được tự động, hay được thực hiện bởi các công cụ phần mềm.hoặc nó là 1 quy trình con ở bên trong nó.

Hình 3-13: Ví dụ BPMN trung gian (7)

Human activity là một bước được thực hiện bởi con người.

Call activity biểu diễn một tiến trình (quy trình) con.

Trong ví dụ minh họa ở hình 3-13 thì việc “chuẩn bị lịch trình đào tạo” đó là một

call activity. Nó được liên kết với một tiến trình con. Tại thời điểm này trong quy trình,

các “token” được thông qua tiến trình con và khi nó đã hoàn thành được nhiệm vụ thực thi của nó, đầu ra output sẽ được chuyển đến tiến trình cha. Đây là một khí cạnh hữu ích của BPMN.

Với các ký hiệu được mô tả trong BPMN trung gian, chúng ta có thể dẽ dàng mô tả một quy trình phức tạp với các mức cha trong sơ đồ luống công việc một cách khá đơn giản. Nó có thể gọi là một loạt các quy trìnhcon được thực hiện độc lập. Điều này có nghĩa rằng chúng ta có thể mô hình hóa một cách độc lập và sửa đổi nó khi cần thiết mà không cần thiết phải thay đổi ở tiến trình cha.

Ngoài ba activities được nêu ở trên, BPMN trung gian còn có sequence flow, gateways và các events. Trong đó:

Hình 3-14: Ví dụ BPMN trung gian (7)

Sequence flow: bao gồm các điều kiện và các dòng có điều kiện và mặc

định. Sequence flow trong BPMN trung gian cần được định nghĩa là có điều kiện hoặc mặc định. Do đó các luống thông báo sẽ biết đi theo đường nào.

Condition sequence flow: một số điều kiện cụ thể phải được đáp ứng vì

vậy quy trình có thể chọn lựa hành động tiếp theo giữa 2 hoặc nhiều lựa chọn. Bên cạnh dòng điều kiện này giống như âm thanh, một điều kiện IF-THEN sẽ được định nghĩa trong trường hợp này. Ví dụ nếu lịch trình được sắp xếp là ok với người đào tạo thì trạng thái trong trường hợp này sẽ là true, còn ngược lại sẽ là false.

Default sequence flow: cho phép chúng ta định hướng trước được hành

Điểm chú ý trong sequence flow đó là nó không thể vượt qua ranh giới của một pool. Để giao tiếp giữa các pools (hay các quy trình) chúng ta phải sử dụng messages (tin nhắn) hoặc các signals (tín hiệu).

Gateways: Gateway trong BPMN trung gian cung cấp các cơ chế kiểm

soát tốt hơn trong các luồng tiến trình.

Hình 3-15: Ví dụ BPMN trung gian (7)

Giá trị đầu ra của các cổng:

Các cổng có thể đưa ra nhiều kết quả cùng 1 lúc theo các điều kiện khác nhau được hỗ trợ trong luồng sự kiện.

Ví dụ:

Điều kiện Giá trị

Amount 5000

Color red

Giá trị đầu vào của các cổng:

Các cổng thực thi sẽ đợi cho đến khi tất cả các giá trị đầu vào được chấp nhận. Tất cả các đầu vào hợp lệ phải được nhận trước khi các hoạt động có thể được tiếp tục.

Events: Để miêu tả cho các sự kiện xảy ra trong quy trình, BPMN cung

cấp đa dạng các ký tự để miêu tả theo từng hoạt động cụ thể như: catch and throw, message, signal, timer hay error. Bên cạnh đó cũng có đa dạng các kiểu kí tự khác nhau như dưới đây:

Hình 3-16: Các kí tự miêu tả trong BPMN (7) Trong đó:

o Catch event có thể được đặt bất cứ đâu trong luồng quy trình. Trong một vài

trường hợp BPMN đặc tả nhầm nên gây ảnh hưởng tới các trường hợp khác trong quy trình. Chính vì thế khi đó ta sử dụng các cơ chế của events như throw/send và catch/receive sẽ làm cho việc xử lý trở lên dễ dàng hơn.

o Các messages (tin nhắn) và signals (tín hiệu) cho phép chúng ta bắt lỗi cũng

như kích hoạt các hoạt động trong quyt rình mà không cần sự tương tác trực tiếp của con người. Vì chúng được thiế lập để bắt các thông tin được gửi từ một tiến trình nào đó đến.

o Message, chúng ta có thể bắt đầu quy trình với 1 message, trong BPMN

chuyển giao giữa các tiến trình. Với BPMN chúng ta có thể bắt đầu với một tiến trình với dữ liệu nhận được từ các tiến trình khác.

o Signals, giống như message (các tin nhắn) và errors (các lỗi), Các tín hiệu có

thể được biết đến từ các tiến trình khác và dựa vào đó ta có thể bắt đầu một tiến trình mới. Một tín hiệu được “throw-ném” được thông báo rộng rãi và có thể được nhận biết tại nhiều nơi. Điều này thực sự hữu ích khi chúng ta muốn có nhiều hoạt động được kích hoạt hay bắt đầu khi tín hiệu được gửi đi.

o Timers (bộ đếm thời gian) được dùng để tạm hoãn hoặc tạm dừng một tiến

trình. Nó có thể dược thiết lập để không ảnh hưởng đến cả quy trình trong 1 khoảng thời gian cụ thể hoặc có thể đặt lịch theo 1 thời gian cụ thể để thực hiện một hoạt động cụ thể nào đó trong quy trình.

Một phần của tài liệu (LUẬN văn THẠC sĩ) tính khả thi của việc chuẩn hóa quy trình nghiệp vụ và tự động hóa quy trình nghiệp vụ bằng dịch vụ web trong bài toán chính phủ điện tử (Trang 33 - 43)

Tải bản đầy đủ (PDF)

(73 trang)