Nhu cầu mô hình hóa quy trình Nhu cầu mô hình hóa quy trình Đối mới máy tính&TT dẫn dắt chính phía sau thay đổi quy trình tác nghiệp Chủ yếu dựa vào HTTT Mở rộng trong nhiều tổ ch
Trang 1BÀI GIẢNG MỘT SỐ CHỦ ĐỀ HIỆN ĐẠI
VỀ KHAI PHÁ DỮ LIỆU:
KHAI PHÁ QUÁ TRÌNH
CHƯƠNG 2 MÔ HÌNH QUY TRÌNH
VÀ PHÂN TÍCH QUY TRÌNH THEO MÔ HÌNH
PGS TS HÀ QUANG THỤY
HÀ NỘI 01-2015
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
ĐẠI HỌC QUỐC GIA HÀ NỘI
Trang 2Nội dung
2
Trang 3Phần 1 Tính nghệ thuật
của mô hình hóa quy trình
Trang 4Nhu cầu mô hình hóa quy trình
Cách mạng công nghiệp năng suất tăng lên
Đổi mới kỹ thuật
Cải tiến trong tổ chức công việc
Sử dụng CNTT
Adam Smith (1723-1790) chỉ ra các lợi thế của phân công lao động
Frederick Taylor (1856-1915) giới thiệu các nguyên lý nguyên thủy
của khoa học quản lý
Henry Ford (1863-1947) giới thiệu dây chuyền sản xuất cho sản
xuất hàng loạt các "T-Ford đen“
Từ 1950: Máy tính và hạ tầng truyền thông số bắt đầu tác động quy trinh kinh doanh thay đổi đáng kể trong tổ chức công việc cách KD mới
Trang 5Nhu cầu mô hình hóa quy trình
Nhu cầu mô hình hóa quy trình
Đối mới máy tính&TT dẫn dắt chính phía sau thay đổi quy trình tác nghiệp
Chủ yếu dựa vào HTTT
Mở rộng trong nhiều tổ chức
Mô hình hóa quy trình trở nên quan trọng nhất: hỗ trợ quản lý phức tạp
Cung cấp cái nhìn sâu sắc
Tài liệu hóa các thủ tục
Các quy trình liên tổ chức chỉ hành động đúng nếu có một thỏa thuận chung khi tương tác theo yêu cầu
Các mô hình quy trình được sử dụng rộng rãi trong các tổ chức ngày nay
Trang 6Cơ sở mô hình hóa quy trình
Mô hình hóa trong khoa học quản lý (management science)
Quản lý tác nghiệp
Nói riêng là vận trù học (operation research): một môn học của Nghiên cứu sinh HTTT
Các mô hình toán học được sử dụng
Quy hoạch tuyến tính (linear programming)
Lập kế hoạch dự án (project planning)
Mô hình hàng đợi (queueing models)
Chuỗi Markov (Markov chains),
Mô phỏng (simulation)
Ví dụ
Vị trí của một nhà kho được xác định nhờ quy hoạch tuyến tính,
Công suất máy chủ được bổ sung dựa trên mô hình hàng đợi,
một định tuyến tối ưu trong một khu cảng container được xác định bằng quy hoạch nguyên …
Trang 7Mục tiêu sử dụng mô hình
Mục tiêu sử dụng mô hình
Lập luận về quy trình (thiết kế lại: redesign)
Tạo quyết định nội tại quy trình (lập kế hoạch và kiểm soát: planning and control)
và chỉ được sử dụng để trả lời cho một câu hỏi cụ thể
Trang 8Tạo mô hình có tính nghệ thuật
Tạo mô hình tốt
Điểm chung của QLQTTN (BPM) và QLĐH (OP)
Khó khăn và dễ bị lỗi
Quan niệm cổ điển về mô hình hóa: Trọng tâm là trạng thái ổn định và mô
hình được làm bằng tay
Trang 9Lỗi tạo mô hình bằng tay
Mô hình mô tả phiên bản lý tưởng hóa của thực tại
Tập trung vào “hành vi chuẩn” hay “hành vi mong muốn”.
Đa dạng lập luận đơn giản hóa “Mô hình chỉ cần bao gói 80% trường hợp giả định”
Do không nhận thức các lệch lạc xảy ra; do nhân thức con người có tính thiên vị
Mô hình thủ công có tính chủ quan: chủ yếu do mục đích “dễ hiểu”
Không có khả năng nắm bắt đầy đủ hành vi của con người
mô hình toán học đơn giản có thể đủ để mô hình hóa máy móc hoặc con người làm việc trong một dây chuyền lắp ráp
Mô hình toán học đơn giản không thể mô hình hóa sự tham gia của con người vào các quy trình phức tạp và tiếp xúc với các độ ưu tiên phức tạp
Một công nhân tham gia vào quy trình phức cần phân bố sự quan tâm của mình trên toàn bộ quy trình phức: Mô hình hóa QT khó hơn nhiều
QT cô lập
Công nhân cũng không làm việc với năng suất không đổi: Luật Yerkes– Dodson Quan sát trong hầu hết quá trình: mất nhiều thời gian và số giờ hiệu quả ít hơn nếu làm công việc khó.
Trang 10Luật Yerkes–Dodson (Yerkes–Dodson law)
Trang 11Lỗi tạo mô hình bằng tay
Lỗi phổ biến khi tạo mô hình bằng tay
Mô hình ở một độ trừu tượng sai
Mức độ trừu tượng của mô hình phụ thuộc vào: (i) dữ liệu vào; (ii) câu hỏi cần được trả lời
Mô hình quá trừu tượng: không trả lời câu hỏi liên quan
Mô hình quá cụ thể: (i) hoặc không đạt được câu trả lời; (ii) hoặc mô hình quá phức tạp để hiểu
Ví dụ: Một nhà máy sản xuất ô tô có kho chứa hàng ngàn phụ tùng thay thế Mô hình hóa toàn
bộ phụ tùng có thể được coi là “hấp dẫn” khi để nghiên cứu mô phỏng so sánh các chính sách kiểm kê khác nhau song thực ra là “không phù hợp” nếu không cần mô tả một phụ tùng cụ thể
Khó khăn (i) khi thay đổi mức trừu tượng của một mô hình; (ii) Các câu hỏi xuất hiện lại ở mức
cô đọng rất khác nhau.
Bàn luận
Còn có các lỗi khác khi tạo mô hình bằng tay
Mô hình có giá trị tiên đoán tốt và làm khởi đầu để thiết kế lại: Chỉ do chuyên gia giàu kinh nghiệm (nhà thiết kế/nhà phân tích)
Tạo mô hình từ dữ liệu sự kiện để thiết kế lại; thiết kế ban đầu
KPQT cung cấp các mức độ trừu tượng khác nhau (80%; 100% )
Tiết lộ con người không hành động như cái máy…
Trang 12Mô hình hóa quy trình từ nhật ký sự kiện
Mô phỏng quy trình tác nghiệp tiên tiến đặt trong bối cảnh khai phá quy trình
Trang 13Phần 2 Mô hình hóa quy trình
- Lưới Petri (Petri Nets)
Process Chains: EPCs)
Trang 14Mở đầu
Lợi thế của khai phá quy trình
Mô hình quy trình tốt: Rất quan trọng
Tạo mô hình quy trình tốt: Việc không dễ dàng
Khai phát quy trình
Tạo mô hình quy trình tốt hơn
Thời gian nhanh hơn
Tự động hóa: các thuật toán , +, ++ (Chương 4)
Ngôn ngữ mô hình quy trình
Đầu ra của phát hiện quy trình
Tồn tại nhiều ngôn ngữ mô hình quy trình
Giới thiệu các ngôn ngữ điển hình nhất, chuyển đổi nhau
Quy ước
A: tập hữu hạn nhãn các hành động trong tổ chức, A ={a, b, c, ….}
Mô hình hóa quy trình: Các hành động nào được thực hiện và theo thứ tự như thế nào ?
Thực hiện tuần tự, thực hiện đồng thời, được thực hiện chọn lựa, thực hiện lặp
Trang 15 T S×A×S là tập các thanh chuyển
S start S là tập các trạng thái khởi đầu ("xuất phát ")
S end S là tập các trạng thái cuối ("chấp nhận")
S start và S end là ngầm định
S: có thể vô hạn; thực tế: hữu hạn và TS được gọi là máy trạng thái hữu hạn (Finite-State Machine : FSM) hay ô-tô-mát trạng thái hữu hạn (finite-state automaton)
Trang 16 S start = {s1} và S end = {s7}
Trang 17Các hệ chuyển: Hành vi (hoạt động)
Hoạt động chuyển
Chuyển xuất phát từ một trạng thái ban đầu
Đường đi bất kỳ trong đồ thị xuất phát từ một trạng thái ban đầu được gọi là “chuối thực hiện có thể” (possible execution sequence) Chuỗi thực hiện ghi nhận bằng chuỗi các hành động
Ví dụ, register request, examine casually, check ticket xuất phát từ trạng thái đầu s1 và kết thúc ở trạng thái
s5 Có vô số chuỗi thực hiện (chu trình).
Chuỗi thực hiện thành công nếu kết thúc ở trạng thái kết thúc
Chuỗi thực hiện bế tắc (deadlock) nếu kết thúc ở trạng thái không kết thúc mà không chuyển tiếp được
Không bế tắc thành công
Hệ thống chuyển là đơn giản song có vấn đề về thể hiện tính đồng thời Giả sử, có n hành động song song: mọi n được thực hiện cho phép với thứ tự bất kỳ hệ thống cần 2 n trạng thái và n2 n-1 thanh chuyển (vấn đề “bùng nổ trạng thái”) Với n=10 thì 1024 trạng thái và 5120 thanh chuyển.
Các ngôn ngữ mô hình hóa thu gọn kích thước hệ thống chuyển Với bài toán ví dụ trên (n=10), lưới Petri 10 thanh chuyển và 10 trạng thái là đủ.
Trang 18 Định nghĩa lưới Petri
F (P × T) (T × P) tập cung có hướng (quan hệ dòng: flow relation)
Định nghĩa lưới Petri đánh dấu
P N là tập mọi lưới Petri đánh dấu trên N
Lưới Petri hình vẽ: P = {start, c1, c2, c3, c4, c5, end}, T = {a, b, c,
d, e, f, g, h} và F = {(start, a), (a, c1), (a, c2), (c1, b), (c1, c), (c2, d), (b, c3), (c, c3), (d, c4) (c3, e), (c4 e), (e, c5), (c5, f), (f, c1), (f, c2), (c5, g), (c5, h) , (g, end), (h, end)} M = {start}
Lưới Petri
Trang 19Tập phức: multi-set
Định nghĩa
Tập phức tương tự như tập thông thường song phần tử có thể xuất hiện nhiều lần
Quy ước: ký hiệu [x1, x2, …]
Tổng hai tập phức XY: [a, b 2 , c 3 , d] [c 3 , d, e 2 , f 3 ] = [a, b 2 , c 6 , d 2 , e 2 , f 3 ]
Hiệu hai tập phức X\Y
“Hiện diện” (presence): x X
Tập con X Y: [a, b] ≤ [a, b 3 , c ]
Có thể áp dụng các phép toán tập phức tới tập thông thường
Có thể áp dụng miền phần tử khác nhau
Trang 20Hoạt động cháy
Thanh chuyển “cháy được”: mỗi vị trí vào chứa một thẻ
Cháy thanh chuyển cháy được: tiêu thụ mỗi thẻ ở mọi vị trí vào và tạo một thẻ ở mọi vị trí ra
Ví dụ: Thanh chuyển a cháy được do thẻ ở [start] Khi cháy a cho đánh dấu [c1,c2] Với đánh dấu [c1,c2], thanh chuyển a không cháy được song các thanh chuyển b, c, d cháy được Cháy b cho đánh dấu [c2, c3], lúc đó chỉ còn d là cháy được.
PT là tập các nút, nút x PT ký hiệu •x và x•.
Cho (N, M) là lưới Petri đánh dấu với N = (P, T, F) và M B(P).
Thanh chuyển tT cháy được, ký hiệu (N, M) [t> •t ≤ M
Quy tắc cháy -[- >- N × T × N là quan hệ nhỏ nhất đảm bảo bất kỳ (N,M)N và bất kỳ tT: (N, M) [t> (N, M) [t> (N, (M\•t) t•).
(N, M) [t> biểu thị t là cháy được theo dấu M, ví dụ, (N,[start])[a> có nghĩa a cháy được theo dấu [start]
(N, M) [t> (N, M’) có nghĩa (N, M) cháy tại t dẫn tới (N, M’), ví dụ, (N,[start])[a>(N, [c1,c2]), (N, [c3, c4])[e> (N, [c5])…
Trang 21Lưới Petri: đánh dấu đạt được
Dáy cháy
Cho (N, Mo) là một lưới Petri đánh dấu
Dãy T* được gọi dãy cháy (firing sequence) của (N,M o ) với một số tự nhiên n: các đánh dấu M1, M2, …, Mn và các dãy thanh chuyển t1, t2,…, tn sao cho: = < t 1 , , tn>
và i: 0 i <n, (N, Mi) [ti+1> và (N, Mi) [ti+1> (N, Mi+1)
Ví dụ: Lưới Petri (N, [start]) như hình vẽ Dãy rỗng = <> là dãy cháy của (N, [start]), dãy huỗi =<a, b> cũng cháy được và kết quả cháy cho đánh dấu [c 2 , c3]; tương tự, =
<a, c, d, e, f, b, d, e, g>
Đánh dấu đạt được
đánh dấu M đạt được từ đánh dấu M0 ban đầu một chuỗi thanh chuyển cháy được
mà khi cháy dẫn từ M0 đến M.
Tập mọi đánh dấu đạt được từ (N, M0) được ký hiệu là [N, M0>
Ví dụ, (N,[start])> có 7 đánh dấu đạt được: (N, [start])>, (N, [c1,c2])>, (N, [c1, c4])>, ((N, [c2, c3])>, (N, [c3, c4])>, (N, [c5])>, (N, [end])> Một số trường hợp, dùng M thay cho (N,M)>
Trang 22Lưới Petri gắn nhãn
Định nghĩa
là hàm ghi nhãn
sát được
Đồ thị đạt được
S=[N, M0>, Sstart = {M0}, A' = A, và T' = {(M, l(t), M‘)S×A×S | tT
(N, M) [t> (N, M')} TS được gọi là đồ thị đạt được của (N, M0)
Trang 23Lưới Petri đánh dấu bị chặn
Lưới Petri thu gọn trạng thái hệ chuyển
Mô hình chứa nhiều đồng thời hoặc nhiều thẻ đặt tại cùng một vị trí, thì kích thước
hệ thống chuyển lớn hơn nhiều so với lưới Petri
(a) có vô hạn đánh dấu đạt được ~ hệ thống chuyển có vô hạn trạng thái; (b) hệ thống chuyển có một trạng thái [p], (c) hệ thống chuyển có 7776 trạng thái và 32400 thanh chuyển
Lưới Petri đánh dấu bị chặn
Trang 24 Thanh chuyển sống ( live )
Thanh chuyển t được gọi là “sống” nếu từ mỗi đánh dấu đạt được thì có thể làm cho t cháy
M [N, M0>: M' [N, M> mà (N, M') [t>
Lưới Petri đánh dấu được gọi là sống nếu mỗi thanh chuyển của nó là sống.
Ứng dụng của lưới Petri
Có cơ sở lý thuyết vững chắc
Biểu diễn tốt cho tính đồng thời
Bổ sung tem thời gian
Trong khai phá quy trình: xem chương 1
Trang 25Lưới dòng công việc
Định nghĩa
một vị trí đầu khởi động quy trình và vị trí cuối kết thúc quy trình
tươi không thuộc PT N được gọi là một lưới WF (1) P có
chứa một vị trí vào i (vị trí nguồn) mà *i = Ø, (2) P chứa một vị trí
ra o (vị trí cuối) mà o*= Ø, và (c) N1 = (P, T{}, F{(o, ), (, i)},
A{}, l {(, )}) là liên thông mạnh, nghĩa là, tồn tại đường đi trực tiếp giữa bất kỳ cặp nút của N1
Trang 26Sử dụng lưới dòng công việc
Mô hình hóa quy trình tác nghiệp
mô hình quy trình được dùng trong ngữ cảnh BPM mô tả vòng đời các trường hợp một loại nhất định
Các quy trình ví dụ: yêu cầu bảo hiểm, đơn xin việc, đơn đặt hàng của khách hàng, đơn đặt hàng bổ sung, bệnh nhân, và các ứng dụng tín dụng…
Mỗi thể hiện quy trình có một điểm khởi động, một điểm kết thúc và
giữa chúng là các hành động được thực hiện theo một thủ tục được
xác định
Một mô hình có thể được khởi động nhiều lần: quy trình xử lý yêu cầu bảo hiểm có thể được thực hiện cho hàng ngàn hoặc thậm chí hàng triệu các khiếu nại: bản sao của cùng lưới WF
quan hệ rõ: các dãy cháy trong lưới WF các vết nhận được trong nhật ký sự kiện
Trang 27Lưới dòng công việc đúng đắn
Định nghĩa
An toàn: các vị trí không thể giữ nhiều thẻ cùng một lúc
Kết thúc đúng cách: M([N, [i])>, o M M = [o]
Khả năng kết thúc : M ([N, [i])>: [o]([N, M)>
Không có bộ phận chết: (N, [i]) không chứa thanh chuyển bị chết (tức
là, tT: một dãy cháy làm cho t cháy được)
cách (proper completion)
Trang 28 Giới thiệu
mã nguồn mở
rộng rãi nhất
YAWL: Giới thiệu
Trang 29YAWL: tập con các ký hiệu
Tác vụ (là hành động nguyên tử)
Tác vụ OR-joint điều kiện khởi đầu điều kiện (tương tự như vị trí trong lưới Petri)
Vùng hủy bỏ củ một tác vụ
Split: “tách”, joint: “hội”
Tác vụ AND-joint Tác vụ AND-split
Tác vụ XOR-joint Tác vụ XOR-split
Tác vụ OR-split điều kiện khởi đầu Tác vụ thực hiện lặp Tác vụ tich hợp
có thành phần con
Trang 30 Các ký hiệu
chuyên biệt
Cho phép kết nối “tác vụ – tác vụ” mà không qua điều kiện
Điều kiện có “kiểu” được xác định ngữ nghĩa “phân tách” (split) và “hợp nhất” (joint) rõ ràng
AND-join/AND-split giống như thanh chuyển: tiêu thụ một thẻ ở mỗi cung vào và tạo một thẻ ở mỗi cung ra
XOR-split chọn đúng một cung ra tùy thuộc điều kiện dữ liệu
XOR-joint cháy được mỗi khi có một thẻ đến và không cần đồng bộ hóa
OR-split lựa chọn một/nhiều cung ra tùy thuộc điều kiện dữ liệu; có thể chọn 2,3 cung ra
OR-joint: đòi hỏi ít nhất 01 thẻ vào và chờ khi mọi cung ra có dấu
YAWL hỗ trợ vùng hủy bỏ (cancelation regions) Một tác vụ có thể có vùng hủy bỏ gồm
các điều kiện, tác vụ, và cung: khi tác vụ hoàn thành thì mọi dấu ở vùng hủy bỏ bị hủy
Tác vụ tích hợp: chỉ dẫn một YAWL thành phần
YAWL: Giải thích các ký hiệu
Trang 31YAWL: Ví dụ
YAWL mô hình quy trình xử lý bồi thường hàng không
hình chữ nhật đường rời nét Mỗi khi c3 có thẻ thì mọi thẻ trong vùng hủy bỏ bị hủy hết và đi tới dấu [c1, c2, c3]
tùy thuộc điều kiện dữ liệu và OR-joint-vào: chờ ít nhất 1 thẻ vào
Dữ liệu, tài nguyên, ngoại lệ để đưa thêm các ràng buộc: kiểm tra
Trang 32Business Process Modeling Notation: BPMN
Giới thiệu
hóa quy trình tác nghiệp
hóa bởi OMG Mỗi nhà cung cấp mời làm một bộ con của BPMN
gắn với cổng (gate)
nghĩa là hoàn toàn khác nhau Sự kiện khởi đầu có 1 cung ra, sự kiện trung gian có 1 vào&1 ra, sự kiện kết thúc có 1 cung vào Nhiều vào/ra giao cho cổng (gate) Sự kiện trung gian có ba kiểu
khối”
Trang 33BPMN: Cổng
Các kiểu sự kiện trung gian
Sự kiện vô điều kiện, sự kiện chờ theo tem thời gian, sự kiện chờ theo thông điệp
Cổng
Cổng XOR dựa trên sự kiện (event-based XOR gateway)
Hình vẽ minh họa Sau khi hoàn thành tác vụ x, chạy đua của 2 sự kiện:
1 SK theo tem thời gian, 1 SK được kích hoạt bởi 1 thông điệp Cổng tem thời gian được xác định theo lộ trình quy định: sau tác vụ x thì tới y; nếu thông điệp tới mà chưa hết hạn thời gian: z được thực hiện mà không là y