Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Lời cảm ơn

Chúng em xin chân thành c ảm ơn Khoa Công Ngh ệ Thông Tin, Tr ường Đại

học Khoa học Tự nhiên, Tp HCM đã tạo điều kiện cho chúng em th ực hiện đề tài

tốt nghiệp này.

Chúng em xin chân thành c ảm ơn thầy Lâm Quang Vũ đã tận tình hướng dẫn,

chỉ bảo chúng em trong suốt quá trình thực hiện đề tài này. Qua sự hướng dẫn của

thầy, chúng em không ch ỉ học được nhi ều ki ến th ức bổ ích mà còn h ọc ở th ầy

phương pháp nghiên cứu khoa học, thái độ và tinh thần làm việc nghiêm túc.

Chúng em c ũng xin chân thành c ảm ơn các th ầy cô trong khoa công ngh ệ

thông tin đã trang b ị cho chúng em nh ững ki ến th ức bổ ích trong su ốt quá trình

học tập tại trường. Những kiến thức ấy đã giúp chúng em rất nhiều trong quá trình

làm đề tài và cũng là hành trang cho chúng em tự tin, vững bước vào đời.

Chúng con xin ghi nh ớ công ơn của Ba, Mẹ. Ba mẹ luôn là ni ềm động viên

giúp chúng con vuợt qua khó khăn trong cuộc sống.

Chúng em xin c ảm ơn các anh ch ị khóa tr ước đã truyền đạt các kinh nghi ệm

cho chúng em trong quá trình thực hiện luận văn tốt nghiệp.

Mặc dù đã cố gắng hoàn thành lu ận văn với tất cả nỗ lực của bản thân, nh ưng

luận văn chắc chắn không tránh khỏi những sai sót, chúng em rất mong quí thầy cô

tận tình ch ỉ bảo. Một lần nữa chúng em xin g ửi đến tất cả mọi người lời cảm ơn

chân thành nhất.

Trang 1

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Giới thiệu tổng quan đề tài

Ngày nay, cùng với sự gia tăng quy mô tổ chức, công việc ngày càng ph ức tạp. Nhu

cầu sử dụng tin học trong tổ chức cũng gia tăng tương ứng. Tuy nhiên, hi ện nay, tin học

chỉ được áp dụng để thực hiện các công vi ệc th ường ngày, vi ệc quản lý quy trình th ực

hiện các chu ỗi công vi ệc chưa được hỗ trợ. Từ đó xuất hiện nhu cầu sử dụng tin học để

quản lý có hiệu quả các quy trình nghiệp vụ.

Năm 1998, tổ chức WfMC được thành lập với mục đích nghiên cứu và ứng dụng tin

học vào vi ệc qu ản lý các quy trình nghi ệp vụ. WfMC mong mu ốn xây d ựng được hệ

thống qu ản lý quy trình nghi ệp vụ, gọi tắt là BPMS (Business Process Management

System), một BPMS gồm hai phần chính sau:

(cid:216) Phần hỗ trợ mô hình hóa quy trình nghi ệp cụ (để định ngh ĩa các quy trình

nghiệp vụ trong thực tế): thông thường gồm một ngôn ngữ dùng để đặc tả quy

trình nghiệp vụ và các công c ụ trực quan hỗ trợ người dùng thiết kế các quy

trình này.

(cid:216) Phần hỗ trợ vận hành quy trình nghiệp vụ: thường gồm một động cơ vận hành

quy trình giúp qu ản lý vi ệc vận hành quy trình cùng v ới các công c ụ giúp

người dùng tham gia vào quá trình thực hiện quy trình nghiệp vụ.

Tuy nhiên hướng phát triển BPMS chưa có độ trưởng thành cao, đa số các BPMS vẫn

còn dừng lại ở mức nghiên cứu. Về ngôn ng ữ đặc tả đã có nh ững bước phát tri ển, xuất

hiện một số ngôn ngữ đặc tả chuẩn như XPDL, BPML. Về công cụ thiết kế và hỗ trợ vận

hành vẫn còn nhiều hạn chế.

Trong luận văn cử nhân tin h ọc về đề tài “Tìm hiểu XPDL và xây d ựng ứng dụng

minh hoạ” của hai sinh viên Trần Đăng Khoa và Phạm Minh Tuấn (Sinh viên khoa công

nghệ thông tin, trường Đại học Khoa học Tự nhiên) đã xây dựng thành công công cụ mô

hình hóa eXPDL. Trong khuôn kh ổ luận văn này, chúng em d ự định nghiên cứu và xây

dựng ứng dụng hỗ trợ vận hành quy trình nghi ệp vụ dựa trên đặc tả do công cụ mô hình

hóa eXPDL phát sinh.

Với đề tài “Nghiên cứu và xây d ựng ứng dụng hỗ trợ vận hành ti ến trình nghiệp

vụ (BPML) trên môi trường WEB ”, chúng em hy vọng góp một phần nhỏ vào việc ứng

dụng tin

h

ọc qu

ản lý các quy trình nghi

ệp

vụ.

Trang 2

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Mục lục

Danh mục các ký hiệu, các chữ viết tắt........................................................................6

Danh mục các hình vẽ.....................................................................................................6

Danh mục các bảng .........................................................................................................7

Chương 1. Tổng quan..................................................................................................9

1.1. Tổng quan về quy trình nghiệp vụ:....................................................................9

1.1.1.

Định nghĩa:......................................................................................................9

1.1.2. Các h

ướng nghiên cứu về tiến trình nghiệp vụ:............................................9

1.1.3.

Cơ chế vận hành quy trình nghiệp vụ:.........................................................13

1.1.4. Ưu và khuyết điểm của vận hành quy trình nghiệp vụ bằng WEB:..................14

1.2. Tổng quan về đề tài: ...........................................................................................14

1.2.1. Các yêu c

ầu của đề tài:.................................................................................14

1.2.2.

Kết quả đạt được:..........................................................................................14

1.2.3.

Bố cục luận văn:...........................................................................................15

Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa: ..........................................16

2.1. Ngôn ngữ mô hình hóa XPDL: .........................................................................16

2.1.1.

Lịch sử:..........................................................................................................17

2.1.2. Các

đặc điểm chính của XPDL 2.0:............................................................20

2.2. Ngôn ngữ mô hình hóa BPML:.........................................................................22

2.2.1. Khái ni

ệm:.....................................................................................................22

2.2.2. Các thành ph ần chính:...........................................................................................23

2.2.2.1. Công vi ệc (Acitivity) :..................................................................................23

2.2.2.2. Các lo ại công việc (Activity types):............................................................23

2.2.2.3. Ng ữ cảnh công việc (The activity context):................................................23

2.2.2.4. Công vi ệc đơn giản và công việc phức hợp (simple and complex activity):

........................................................................................................................24

2.2.2.5. Th ể hiện công việc (Activity instance):......................................................25

2.2.3. Quy trình (Process):......................................................................................26

2.2.4. Ng

ữ cảnh (Context):.....................................................................................31

2.2.5. Thu

ộc tính (Property):..................................................................................32

2.2.6. Tín hi

ệu (Signal):..........................................................................................34

Trang 3

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

2.2.7.

Kế hoạch (Schedule):...................................................................................35

2.2.8. Ngo

ại lệ (Exception):...................................................................................35

2.2.9. Giao tác (Transaction):.................................................................................38

2.2.10. Hàm (Function):............................................................................................40

2.3. Ngôn ngữ mô hình hóa eXPDL:........................................................................40

2.3.1. Gi

ới thiệu:.....................................................................................................40

2.3.2. Nh

ững cải tiến của eXPDL so với XPDL và BPML:.................................41

2.3.2.8. Hỗ trợ mô tả các quy trình có những hoạt động theo mẫu cột mốc:.........43

Chương 3. Giới thiệu tổng quan hệ thống ..............................................................44

3.1. Ngữ cảnh phát triển hệ thống: ..........................................................................45

3.2. Yêu cầu hệ thống cần xây dựng:.......................................................................45

3.3. Ý nghĩa hệ thống:................................................................................................45

3.4. Công cụ thiết kế: .................................................................................................46

3.4.1. Gi

ới thiệu về công cụ mô hình hóa quy trình nghiệp vụ :..........................46

3.4.2. Một số chỉnh sửa công cụ MyXPDL cho phù hợp với việc quản lý quy

trình nghiệp vụ...............................................................................................................47

3.5. Nguyên lý tổ chức hệ thống:..............................................................................47

3.6. Nguyên lý vận hành hệ thống:...........................................................................47

3.7. Quy trình tổng quan:..........................................................................................48

Chương 4.

Phân tích yêu cầu hệ thống ...................................................................49

4.1. Các thành phần hỗ trợ trong luận văn:...........................................................49

4.2. Các chức năng chính: .........................................................................................50

4.2.1. Qu

ản lý quy trình mẫu:.................................................................................50

4.2.2. Kh

ởi tạo dự án:.............................................................................................50

4.2.3. Qu

ản lý dự án:...............................................................................................51

4.2.4. Th

ực hiện dự án:...........................................................................................52

4.2.5. Các ch

ức năng quản trị:................................................................................52

4.3. Mô hình Use Case:..............................................................................................52

4.4. Đặc tả Actor:........................................................................................................53

4.5. Đặc tả Use Case:..................................................................................................53

Chương 5.

Phân tích và thiết kế hệ thống ..............................................................72

Trang 4

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

5.1. Thiết kế dữ liệu: ..................................................................................................72

5.2. Một số lược đồ cơ sở dữ liệu: ............................................................................73

5.3. Thiết kế xử lý:......................................................................................................74

5.3.1.

Sơ đồ lớp:......................................................................................................75

5.3.2. Một số mô hình chính:..................................................................................76

5.3.3. Một số luồng tuần tự chính trong ứng dụng:...............................................79

5.4. Thiết kế giao diện:...............................................................................................91

Chương 6. Thử nghiệm và đánh giá........................................................................93

6.1. Một số quy trình mẫu:........................................................................................93

6.1.1. Quy trình đăng ký học phần:................................................................................93

6.1.2. Quy trình chu ẩn bị thi thực hành:........................................................................94

6.1.3. Quy trình xét t ốt nghiệp cuối khóa......................................................................94

6.2. Cài đặt và triển khai hệ thống: .........................................................................95

6.3. Đánh giá: ..............................................................................................................95

Chương 7. Tổng kết và hướng phát triển...............................................................96

7.1. Những kết quả đạt được:...................................................................................97

7.1.1.

Về mặt lý thuyết:...........................................................................................97

7.1.2.

Về mặt ứng dụng:.........................................................................................97

7.2. Ưu và khuyết điểm của hệ thống:.....................................................................97

7.3. Hướng phát triển: ...............................................................................................98

7.4. Lời kết:..................................................................................................................99

Tài liệu tham khảo.........................................................................................................99

Phụ lục...........................................................................................................................100

Phụ lục 1: Mô tả các bảng cơ sở dữ liệu ..................................................................100

Phụ lục 2: Các màn hình giao diện chính................................................................117

Phụ lục 3: Quy trình đăng ký học phần...................................................................128

Trang 5

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Danh mục các ký hiệu, các chữ viết tắt

WfMS Workflow Management System

WfMC Workflow Management Coalition

XPDL XML for Process Definition Language

BPML Business Process Modeling Language

BPEL Business Process Execution Language

BPMI Business Process Management Initiative

UML Unified Modelling Language

Danh mục các hình vẽ

Hình 1 Mô hình hóa tiến trình nghiệp vụ...............................................................................9 Hình 2 Mô hình vận hình quy trình nghiệp vụ.....................................................................13 Hình 3Sơ đồ chuyển đổi trạng thái thể hiện công việc trong BPML.................................26 Hình 4 Nguyên lý tổ chức hệ thống......................................................................................47 Hình 5 Nguyên lý vận hành hệ thống...................................................................................48 Hình 6 Quy trình tổng quan..................................................................................................49 Hình 7 Mô hình Use Case.....................................................................................................53 Hình 8 Mô hình cơ sở dữ liệu tổng quan..............................................................................73 Hình 9 Lược đồ cơ sở dữ liệu phân công thực hiện công việc...........................................73 Hình 10 Lược đồ cơ sở dữ liệu tạo mới công việc..............................................................73 Hình 11 Lược đồ cơ sở dữ liệu tạo mới sản phẩm...............................................................74 Hình 12 Sơ đồ lớp các đối tượng trong dự án......................................................................75 Hình 13 Sơ đồ lớp các đối tượng liên quan đến công việc.................................................76 Hình 14 Sơ đồ trạng thái công việc......................................................................................76 Hình 15 Quy trình hiển thị cây dự án...................................................................................78 Hình 16 Quy trình tìm kích hoạt công việc tiếp theo..........................................................79 Hình 17 Lược đồ tuần tự tạo mới dự án theo mẫu...............................................................80 Hình 18 Lược đồ tuần tự kích hoạt dự án............................................................................81 Hình 19 Lược đồ tuần tự tạo mới thể hiện công việc..........................................................82 Hình 20 Lược đồ tuần tự tìm công việc tiếp theo trong dự án............................................83 Hình 21 Lược đồ tuần tự xử lý endevent.............................................................................84 Hình 22 Lược đồ tuần tự xử lý Gateway..............................................................................85 Hình 23 Lược đồ tuần tự thay đổi thông tin công việc........................................................86 Hình 24 Lược đồ tuần tự hiển thị cây tiến trình...................................................................87 Hình 25 Lược đồ tuần tự upload sản phẩm..........................................................................88 Hình 26 Lược đồ tuần tự doawnload sản phẩm...................................................................88 Hình 27 Lược đồ tuần tự thêm mới đối tượng.....................................................................89 Hình 28 Lược đồ tuần tự luân chuyển sản phẩm.................................................................90 Hình 29 Lược đồ tuần tự truy xuất cơ sở dữ liệu.................................................................90 Hình 30 Menu chức năng hệ thống.......................................................................................91 Hình 31 Cây tiến trình dự án.................................................................................................91 Hình 32 Màn hình vận hành dự án.......................................................................................92

Trang 6

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 33 Màn hình báo cáo....................................................................................................93 Hình 34 Quy trình thi thực hành...........................................................................................94 Hình 35 Quy trình xét tốt nghiệp cuối khóa.........................................................................95 Hình 36 Màn hình thực hiện công việc..............................................................................117 Hình 37 Màn hình tạo mới dự án........................................................................................118 Hình 38 Màn hình quy định thời gian thực hiện công việc...............................................119 Hình 39 Màn hình phân công user thực hiện công việc....................................................120 Hình 40 Màn hình chính thêm công việc vào dự án..........................................................121 Hình 41 Màn hình thêm sản phẩm......................................................................................122 Hình 42 Màn hình thêm cổng điều khiển...........................................................................123 Hình 43 Màn hình thêm kiểu dữ liệu tự định nghĩa..........................................................124 Hình 44 Màn hình thêm luồng điều khiển vào quy trình..................................................125 Hình 45 Màn hình quản lý sản phẩm..................................................................................126 Hình 46 Màn hình xem thông tin công việc.......................................................................127 Hình 47 Màn hình báo cáo dự án........................................................................................128 Hình 48 Quy trình đăng ký học phần.................................................................................129 Hình 49 Quy trình chuẩn bị công tác giảng dạy................................................................129 Hình 50 Quy trình chuẩn bị đăng ký học phần lý thuyết..................................................130 Hình 51 Quy trình đăng ký học phần lý thuyết..................................................................131 Hình 52 Quy trình chuẩn bị đăng ký thực hành.................................................................132 Hình 53 Quy trình đăng ký thực hành................................................................................133 Hình 54 Quy trình hiệu chỉnh học phần.............................................................................133 Hình 55 Quy trình đăng ký trả nợ.......................................................................................134 Hình 56 Quy trình tính toán và đóng học phí....................................................................134 Hình 57 Các vai trò trong quy trình đăng ký học phần.....................................................135 Hình 58 Các sản phẩm trong quy trình đăng ký học phần................................................135

Danh mục các bảng

Bảng 1 Bản so sánh các loại khởi tạo quy trình...................................................................28 Bảng 2 Bảng mô tả các trạng thái công việc........................................................................77 Bảng 3 CSDL mô tả người dùng........................................................................................100 Bảng 4 CSDL mô tả quyền trong hệ thống........................................................................101 Bảng 5 CSDL mô tả sự phân quyền trong hệ thống..........................................................101 Bảng 6 CSDL lưu trữ các mẫu mô hình hóa......................................................................101 Bảng 7 CSDL lưu trữ các tập tin........................................................................................102 Bảng 8 CSDL lưu trữ dự án................................................................................................102 Bảng 9 CSDL lưu trữ mô hình............................................................................................103 Bảng 10 CSDL lưu trữ vai trò.............................................................................................103 Bảng 11 CSDL lưu trữ tiến trình........................................................................................104 Bảng 12 CSDL lưu trữ công việc.......................................................................................104 Bảng 13 CSDL lưu trữ trạng thái mở rộng của công việc................................................105 Bảng 14 CSDL lưu trữ sản phẩm........................................................................................105 Bảng 15 CSDL lưu trữ trạng thái mỡ rộng của sản phẩm.................................................106 Bảng 16 CSDL lưu trữ thuộc tính sản phẩm......................................................................106 Bảng 17 CSDL lưu trữ các sản phẩm vào/ra của công việc..............................................106

Trang 7

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Bảng 18 CSDL lưu trữ phân vai trò thực hiện công việc..................................................107 Bảng 19 CSDL lưu trữ kiểu dữ liệu tự định nghĩa............................................................107 Bảng 20 CSDL lưu trữ giá trị các kiểu dữ liệu tự định nghĩa...........................................107 Bảng 21 CSDL lưu trữ luồng tuần tự .................................................................................108 Bảng 22 CSDL lưu trữ điều kiện........................................................................................108 Bảng 23 CSDL lưu trữ biểu thức điều kiện nguyên tố......................................................109 Bảng 24 CSDL lưu trữ cổng điều khiển.............................................................................109 Bảng 25 CSDL lưu trữ biến cố bắt đầu..............................................................................110 Bảng 26 CSDL lưu trữ biến cố trung gian.........................................................................111 Bảng 27 CSDL lưu trữ biến cố kết thúc.............................................................................112 Bảng 28 CSDL lưu trữ bộ định giờ ....................................................................................112 Bảng 29 CSDL lưu trữ thể hiện công việc.........................................................................113 Bảng 30 CSDL lưu vết quá trình thực hiện công việc.......................................................113 Bảng 31 CSDL lưu trữ thể hiện sản phẩm.........................................................................114 Bảng 32 CSDL lưu trữ thể hiện sản phẩm đầu vào của công việc...................................114 Bảng 33 CSDL lưu trữ thể hiện sản phẩm đầu ra của công việc......................................114 Bảng 34 CSDL lưu trữ thời gian thực hiện công việc.......................................................115 Bảng 35 CSDL lưu trữ phân công vai trò cho người dùng trong dự án...........................115 Bảng 36 CSDL lưu trữ câu hỏi...........................................................................................116 Bảng 37 CSDL lưu trữ câu trả lời.......................................................................................116

Trang 8

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Chương 1. Tổng quan

Trình bày tổng quan các vấn đề sẽ được nghiên cứu trong luận văn. Đồng thời

cung cấp một số định nghĩa, khái ni ệm ban đầu về các vấn đề liên quan đến luận

văn.

1.1. Tổng quan về quy trình nghiệp vụ:

1.1.1. Định nghĩa:

Là một tập hợp của một hoặc nhiều thủ tục hoặc công việc mà cùng chung mục

đích nghiệp vụ, thông th ường trong ng ữ cảnh của tổ chức định nghĩa các vai trò chức năng và các mối quan hệ. 1

1.1.2. Các hướng nghiên cứu về tiến trình nghiệp vụ:

1.1.2.1. Về mô hình hóa tiến trình nghiệp vụ:

1.1.2.1.1. Mô hình hóa nghiệp vụ là gì?

Mô hình hóa ti ến trình nghiệp vụ là việc định nghĩa các ti ến trình nghiệp vụ

bằng cách sử dụng ngôn ng ữ mô hình hóa ti ến trình thích hợp. Hi ện tại có rất

nhiều ngôn ngữ mô hình hóa tiến trình đang được nghiên cứu và phát triển nhưng

trong đó phổ biến nhất là 2 ngôn ngữ BPML và XPDL.

Hình 1 Mô hình hóa tiến trình nghiệp vụ2

Ngôn ngữ mô hình hóa ti ến trình cần diễn đạt được các thành tố chính trong

tiến trình, thêm vào đó cũng cần diễn đạt được các thông tin phụ như tài nguyên,

việc phân tích, theo dõi, đo lường...Nhưng tại sao lại phải mô hình hóa tiến trình ? 1 Trang 3, Business Project Modeling Languages: Sorting through the alphabet soup, WfMC, 1999 2 Nghiên cứu và áp dụng các kỹ thuật hỗ trợ vận hành một số tiến trình phần mềm hửu dụng, luận văn thạc sĩ ngành tin học, TP HCM 2003

Trang 9

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

1.1.2.1.2. Mục đích của việc mô hình hóa:

Việc mô hình hóa quy trình nghiệp vụ nhằm các mục đích sau đây:

(cid:216) Mô tả quy trình

Cung cấp một hệ thống đặc tả mang tính hình th ức để thống nhất cơ chế giao

tiếp trao đổi tài liệu giữa các tổ chức.

(cid:216) Phân tích quy trình

Dựa vào mô hình để xem xét cải tiến quy trình, phân tích nhằm tìm ra các thiếu

sót và hạn chế của quy trình.

(cid:216) Thực thi quy trình

Mô phỏng hay cung c ấp một mức độ hỗ trợ xử lý tự động nhất định cho các

quy trình nghiệp vụ.

Cung cấp hướng dẫn chi tiết cho các đối tượng tham gia vào tiến trình: nhờ đó

quá trình phối hợp thực hiện dễ dàng hơn.

1.1.2.1.3. Một số đặc điểm của các ngôn ng ữ mô hình hóa:

XPDL,BPML, BPEL:

BPML, BPEL và XPDL là nh ững ngôn ng ữ định ngh ĩa ti ến trình d ựa trên

XML. Chúng cung cấp một mô hình hình th ức để biểu thị những tiến trình có th ể

thực hiện, những tiến trình này th ể hiện tất cả diện mạo của tiến trình nghi ệp vụ

của 1 công ty. Chúng dựa vào những mô hình đặc tả khác nhau.

Mỗi mô hình đều xem hoạt động (activities) như những phần tử cơ bản của sự

định nghĩa tiến trình. Mỗi hoạt động (activity) lại là 1 b ộ phận của tiến trình đặc

biệt nào đó. Mỗi cái đều có thể hiện dữ liệu liên quan riêng có thể được đề cập đến

cổng lôgic và những biểu thức (expresstion).

Trong khi BPML và BPEL được xem nh ư nh ững ngôn ng ữ lập trình có c ấu

trúc khối, cho phép đệ quy các khối thì XPDL được xem như một ngôn ngữ có cấu

trúc đồ thị với những khái niệm bổ sung để điều khiển những khối.

BPML tập trung trong vi ệc định ngh ĩa những dịch vụ mạng. BPEL c ũng tập

trung trong vấn đề này và h ướng giải quyết cũng tương tự với BPML. Trong khi

đó XPDL tập trung trên những vấn liên quan đến phân phối các công việc.

Trang 10

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

1.1.2.1.4. Các hướng nghiên cứu hiện nay:

Lĩnh vực mô hình hóa nghi ệp vụ đang trong bước xây dựng và phát tri ển nên

có khá nhi ều hướng nghiên c ứu. Một số hướng tập trung vào vi ệc đặc tả các

nghiệp vụ theo tính h ướng sự ki ện, một số khác lại xem xét mô hình nghi ệp vụ

theo một lĩnh vực công nghiệp hay thương mại chuẩn. Trong đề tài này chúng em

xin được tập trung chủ yếu vào phương pháp mô hình hóa nghiệp vụ theo mô hình

luồng công vi ệc (Workflow). Đây là mô hình xem xét quy trình nghi ệp vụ tổng

quát dưới dạng các luồng thực thi có thứ tự, tập trung vào cơ chế mô tả nghiệp vụ

sao cho có th ể đễ dàng l ưu tr ữ và v ận hành được trên máy tính. Mô hình

Workflow ra đời cách đây hơn 15 n ăm và hi ện đang được xây dựng dần dần để

hoàn chỉnh về cấu trúc và ngữ nghĩa.

Một số hướng nghiên cứu chính về mô hình Workflow

(cid:252) Xây dựng các giao diện của mô hình Workflow

Để mô hình Workflow có kh ả năng hi ểu được trong các h ệ th ống qu ản tr ị

luồng công vi ệc, thì nó ph ải được cung cấp các giao di ện ra “th ế giới lập trình”

bên ngoài. Các giao di ện này có th ể được xem nh ư các API chu ẩn cung cấp kh ả

năng cho những thành phần bên ngoài có th ể quản lý thông tin, giao ti ếp, gọi các

hành vi ứng xử tương ứng trong mô hình.

(cid:252) Xây dựng hệ thống quản lý nghiệp vụ từ các mô hình Workflow :

Các hệ thống quản lý lu ồng công vi ệc cung c ấp kh ả năng đọc dữ liệu từ mô

hình đã được mô hình hóa, và cho phép vận hành, kiểm soát các mô hình này để tự

động hóa các nghi ệp vụ thực tế. Hi ện nay hướng nghiên c ứu này đạt khá nhi ều

thành tựu nh ư : vi ệc cung cấp các cơ chế động để hỗ trợ việc th ực thi mô hình

workflow, giám sát ghi nh ận các thông tin qu ản lý t ừ mô hình, cho phép phân

quyền và xử lý trên các thành phần thuộc mô hình khi thực thi.

(cid:252) Xây dựng cấu trúc mô hình luồng công việc ở mức meta :

Mô hình lu ồng công vi ệc ở mức meta được định ngh ĩa ở mức trừu tượng hóa

cao nhất, nhằm cung cấp khả năng mở rộng mô hình luồng công việc ở mức tối đa.

Nó có ứng dụng rất mạnh trong vi ệc chuyển đổi giữa các ngôn ng ữ mô hình hóa

Trang 11

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

luồng công việc. Đồng thời từ mô hình này các ngôn ngữ mô hình hóa luồng công

việc có thể cung cấp những khả năng mở rộng khi cần thiết.

Đây là một trong những hướng nghiên cứu chính của các tổ chức mô hình hóa

lớn hi ện nay. Điển hình là UML, WfMC, và BPMI. T ổ ch ức đang có nh ững

nghiên cứu khá sâu về vấn đề này là WfMC. WfMC xây d ựng một mô hình Meta

tương đối tốt và có c ấu trúc tương tự với khá nhi ều ngôn ng ữ mô hình hóa khác.

Thông qua mô hình meta này có th ể dễ dàng chuyển đổi giữa khá nhiều ngôn ngữ

mô hình hóa khác nhau thông qua việc ánh xạ về mô hình meta.

(cid:252) Xây dựng các ngôn ngữ mô hình hóa cho mô hình Workflow

Những nghiên c ứu về ngôn ng ữ mô hình hóa đi sâu vào vi ệc phân tích kh ả

năng diễn đạt, xây d ựng cú pháp, đặc tả các cấu trúc h ỗ tr ợ cho các h ệ quản trị

Workflow có th ể phân tích và d ễ dàng tri ển khai nh ững mô hình xây d ựng theo

các ngôn ngữ này.

Hiện tại có khá nhiều ngôn ngữ được xây dựng cho mô hình Workflow nh ư :

XPDL, BPML, UML,… Tuy nhiên các ngôn ng ữ này vẫn còn khá nhi ều hạn chế

về khả năng diễn đạt cho các nghiệp vụ thực tế.

Bên cạnh đó còn có một số hướng tiếp cận khác đi sâu về lý thuyết các cơ chế

nghiệp vụ của mô hình lu ồng công vi ệc : xây d ựng phương pháp lu ận, tính toán

độ phức tạp, tính hiệu quả của các mô hình,...

1.1.2.2. Về vận hành tiến trình nghiệp vụ

1.1.2.2.1. Vận hành tiến trình nghiệp vụ là gì?

Vận hành tiến trình nghiệp vụ chính là quá trình xây dựng và phát triển nghiệp

vụ thực sự. Nếu một tiến trình được mô hình hóa hoặc định nghĩa trước đó bằng

các ngôn ngữ mô hình hóa tiến trình, việc vận hành tiến trình chính là việc trình

diễn lại nh ững mô hình đã được mô hình hó a. Vi ệc vận hành ti ến trình được

những nhân viên tham gia phát tri ển ti ến trình th ực hiện thông qua các thao tác,

hành động

Trang 12

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 2 Mô hình vận hình quy trình nghiệp vụ3 1.1.2.2.2. Mục đích của vận hành tiến trình nghiệp vụ:

Tiến trình có thể được vận hành dưới sự kiểm soát và quản lý, hướng dẫn của

các động cơ tiến trình, đảm bảo các bước thực hiện đúng theo những mô hình tiến

trình đã được thiết kế, một số công việc đơn giản cũng có thể được thực hiện tự

động.

1.1.2.2.3. Hiện trạng:

Hiện nay cũng có nhiều cơ chế hỗ trợ vận hành một tiến trình phần mềm như:

hỗ trợ vận hành và quản lý tiến trình nghiệp vụ trên môi trường WEB, hỗ trợ vận

hành tiến trình bằng các hệ thống Agent ho ặc các bằng các CaseTool, hỗ trợ vận

hành tập trung ho ặc phân tán về mặt không gian, th ời gian...Trên cơ sở khảo sát

một số cơ chế vận hành trong các môi trường PSEE hiện có Adele,Arcadia, ALF,

AP5, EPOS, Marvel, OIKOS, ProcessWeaver, SPADE,… chúng tôi th ử nghiệm

xây dựng một Tool hỗ trợ việc vận hành tiến trình ph ần mềm được đặc tả bằng

ngôn ng ữ eXPDL, hỗ trợ vận hành ti ến trình nghi ệp vụ trong m ột môi tr ường

WEB.

1.1.3. Cơ chế vận hành quy trình nghiệp vụ:

Quy trình nghiệp vụ được vận hành dựa vào một hệ thống quản lý lu ồng công

việc (Workflow Management System, g ọi tắt là WfMS). WfMS xác định lu ồng

3 Nghiên cứu và áp dụng các kỹ thuật hỗ trợ vận hành một số tiến trình phần mềm hửu dụng, luận văn thạc sĩ ngành tin học, TP HCM 2003

Trang 13

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

công việc đã được định nghĩa trước trong định nghĩa quy trình nghi ệp vụ. WfMS

quản lý các tài nguyên ( ứng dụng, dữ liệu, con ng ười) cần thiết để đạt được mục tiêu của công việc, cung cấp khả năng theo dõi và điều khiển quy trình 4

1.1.4. Ưu và khuyết điểm của vận hành quy trình nghiệp vụ bằng WEB:

(cid:216) Ưu điểm:

- Hỗ trợ tính chất phân tán của tiến trình rất mạnh.

- Tính không đồng nhất của tiến trình: do việc giao tiếp đều thông qua Web

nên các thành viên chỉ cần có một Web Browser để giao tiếp với hệ thống,

hoàn toàn không lệ thuộc vào môi trường thực hiện.

- Hỗ trợ người dùng thực hiện công việc bất kỳ lúc nào

- Hỗ trợ làm việc nhóm thông qua mạng.

- Thực hiện liên kết với các quy trình nghiệp vụ khác trong nội bộ tổ chức.

(cid:216) Khuyết điểm:

- Vấn đề bảo mật thông tin.

- Truyền thông chậm, đặc biệt việc kết nối cơ sở dữ liệu từ xa. Nếu dự án lớn

và đòi hỏi khối lượng thông tin trao đổi nhiều thì đây là khó khăn rất lớn.

1.2. Tổng quan về đề tài:

1.2.1. Các yêu cầu của đề tài:

Trong ph ạm vi nghiên c ứu của lu ận văn chúng em d ự kiến th ực hiện một số

yêu cầu chủ yếu sau:

(cid:216) Tìm hiểu về các ngôn ngữ mô hình hóa quy trình nghiệp vụ hiện nay.

(cid:216) Tìm hiểu về vận hành quy trình nghiệp.

(cid:216) Xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ theo đặc tả của

một ngôn ngữ mô hình hóa.

1.2.2. Kết quả đạt được:

(cid:216) Về mặt lý thuyết:

4 Micheal zur Muehlen và Rob Allen, Workflow classification Embeded & Autonomous Workflow Management System, Workflow Management Coalition, 10/3/2000.

Trang 14

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

o Kiến thức về vấn đề mô hình hóa và vận hành quy trình nghiệp vụ hiện nay.

Thực hiện so sánh đặc điểm của các ngôn ngữ mô hình hóa (trình bày trong

chương 1).

o Nguyên lý vận hành quy trình nghiệp vụ (trình bày trong chương 1)

o Kết qu ả nghiên c ứu về ngôn ng ữ mô hình hóa BPML (trình bày trong

chương 2).

o Kết qu ả nghiên c ứu về ngôn ng ữ mô hình hóa XPDL (trình bày trong

chương 2)

o Kết quả nghiên cứu về ngôn ngữ mô hình hóa eXPDL và công c ụ mô hình

hóa MyXPDL (trình bày trong chương 2).

(cid:216) Về mặt ứng dụng:

o Xây dựng ứng dụng hỗ trợ vận hành quy trình nghi ệp vụ được đặc tả theo

ngôn ngữ eXPDL trên môi trường WEB. (trình bày trong chương 4,5).

o Ứng dụng hỗ trợ thiết kế và vận hành trực tiếp các quy trình đơn giản.

1.2.3. Bố cục luận văn:

(cid:216) Chương 1: Tổng quan: Giới thiệu tổng quan về tiến trình nghiệp vụ, các ngôn

ngữ mô hình hóa và công cụ vận hành tiến trình nghiệp vụ hiện tại: các kết quả

đạt được, các vấn đề còn tồn động. Giới thiệu tổng quan về các yêu cầu và kết

quả đạt được của đề tài.

(cid:216) Chương 2: Giới thiệu các ngôn ngữ mô hình hóa BPML phiên bản 1.0, XPDL

2.0, eXPDL.

(cid:216) Chương 3: Giới thiệu tổng quan hệ thống: Giới thiệu các công cụ, ngôn ngữ

chính sử dụng, nguyên lý tổ chức hệ thống, một số quy trình tổng quan trong

hệ thống.

(cid:216) Chương 4: Phân tích yêu cầu hệ thống: Bối cảnh ra đời, giới thiệu các chức

năng chính mà hệ thống cần phải xây dựng.

(cid:216) Chương 5: Phân tích và thiết kế hệ thống: Trình bày về kỹ thuật thiết kế và xây

dựng ứng dụng iPMS.

Trang 15

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Chương 6: Thử nghiệm và đánh giá: Trình bày về thử nghiệm vận hành một số

quy trình nghiệp vụ, đánh giá kết quả đạt được và quá trình cài đặt và triển khai

hệ thống.

(cid:216) Chương 7: Tổng kết và hướng phát triển: Tổng kết lại kết quả đạt được của

luận văn, ưu và khuyết điểm, cuối cùng đưa ra các hướng phát triển trong

tương lai.

Chương 2. Giới thiệu một số ngôn ngữ mô hình hóa:

Trình bày ki ến th ức tổng quát về các ngôn ng ữ mô hình hóa: XPDL, BPML,

eXPDL. Đặc biệt là eXPDL, vì đặc tả quy trình nghiệp vụ theo eXPDL là đầu vào

cho việc xây dựng ứng dụng vận hành quy trình nghiệp vụ iPMS (Trình bày trong

chương 4,5).

XPDL, BPML, BPEL là nh ững ngôn ng ữ mô hình ti ến trình được dùng cho

việc thực hiện tiến trình. Chúng không được sử dụng trực tiếp trong các pha phân

tích thiết kế. Được thể hiện trong bộ cú pháp của XML, chúng còn có m ột khuôn

dạng trao đổi riêng cho chính mình. Không có cái nào trong s ố chúng đưa ra được

bộ ký hi ệu đồ họa chuẩn.Từ định ngh ĩa của chúng ta có th ể thấy chúng thì ch ưa

được thiết kế để bao trùm các cấp độ của sự phân tích dây chuyền và có tổ chức.

WFMC là t ổ ch ức đầu tiên phát tri ển một chu ẩn th ực hi ện. Một phiên b ản

XML mới của ngôn ngữ WFMC được phát hành vào năm 2002 dưới tên XPDL.

BPMI đã đưa ra 1 ngôn ng ữ cạnh tranh vào n ăm 2001 được gọi là Ngôn ng ữ

mô hình hóa ti ến trình nghi ệp vụ (BPML). Sáng ki ến này kh ởi động lại nh ững

công việc về những ngôn ngữ thực hiện tiến trình và làm ngày càng có nhiều đóng

góp tiếp sau đó như, BPEL. BPEL (Business Process Execution Language) được

bắt đầu bởi Microsoft và IBM để đáp lại sáng kiến của BPMI. Kể từ đó, ngôn ngữ

này đã nhận sự hỗ trợ của đa số người trên thị trường, bao gồm cả BPMI. BPEL đã

trở thành là chu ẩn thực tế cho việc thực hiện qui trình nghiệp vụ. Nó có nhiệm vụ

chính là đặc tả các dịch vụ mạng. Từ năm 2003, một tổ chức có tính tiêu chuẩn là

OASIS đã mua và có trách nhiệm cho sự phát triển của ngôn ngữ BPEL..

2.1. Ngôn ngữ mô hình hóa XPDL:

Trang 16

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

2.1.1. Lịch sử:

STT Tên phiên bản Tác giả Đặc điểm chính

1 Version 1.0 Roberta Norin

2 Version 1.01 Mike Marin và Robert Bản th ảo ban đầu, ánh x ạ 2 chi ều đến

Shapiro BPMN 1.0

3 Version 1.02 Mike Marin và Robert Tổ chức lại tài li ệu và thêm nh ững siêu

Shapiro mô hình (meta model) mới

4 Version 1.03 Robert Shapiro - Thêm ph ần chú thích d ưới dạng

Text trong ph ần siêu mô hình c ủa

BPMN

- Cập nh ật lại nh ững bảng và mô

hình riêng, thêm nh ững mục

(section) cho tất cả các thành phần.

5 Version 1.04 Robert Shapiro - Một số thay đổi nhỏ trong mô hình:

thứ tự các ph ần tử và một số phần

tử được tạo tùy chọn.

- Ví dụ về gateways và events.

6 Version 1.05 Robert Shapiro - Một ph ần nh ỏ thay đổi trong mô

hình: ProcessType - th ứ tự của các

thành ph ần được gi ữ lại để tương

thích với phiên bản XPDL 1.0

- Một số lỗi nhỏ về in ấn.

- Thuộc tính Instantiate được loại bỏ

khỏi TaskSend và TaskService. Tài

liệu TaskSend được chỉnh sửa

- Giải thích m ệnh đề OTHERWISE

được chuyển thành SPLITS. Ch ỉnh

sửa tài li ệu về Splits và Joins trong

Trang 17

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

phần mở rộng của BPMN. Thêm tài

liệu vào mục Route Activity

- Những gói liên quan được mở rộng

bao gồm cả phần khai báo kiểu

- Thêm thuộc tính External Package

Reference

- Thêm sự tham kh ảo vào gói ngoài

(external package) cho những người

tham gia nhận biết.

7 Version 1.06 Robert Shapiro - Bao gồm tất cả nh ững so ạn th ảo

thay đổi từ Justin Brunt

(JBrunt@staffware.com)

8 Version 1.07 Robert Shapiro - Bao gồm nh ững thay đổi dựa trên

những yêu c ầu của phiên b ản

XPDL 1.0

- Chỉ số tham số hình th ức (Formal

parameter index) không còn dùng

nữa

- Thuộc tính AccessLevel c ủa ti ến

trình được tạo tùy ch ọn với mặc

định là PUBLIC

- Thuộc tính Additional c ủa dòng

con (Subflow) cung c ấp tên c ủa

vùng dữ li ệu (datafield) trong đó

chứa instantiation id

- Thuộc tính Execution cho các

luồng con được tùy ch ọn với mặc

định là SYNCHR

Trang 18

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

- Thuộc tính GraphConformance

trong lớp Conformance được tùy

chọn với mặc định là

NON_BLOCKED.

- Điều kiện chuyển ti ếp có th ể có ở

bất cứ 1 thành ph ần con nào c ủa

biểu thức

- “Kiểu” thu ộc tính Tool được lo ại

bỏ : nó không còn được cần nữa kể

từ khi không có s ự khởi dựng trong

việc khai báo Th ủ tục (Procedures)

hoặc bất kỳ những thông tin nào v ề

tham số hình th ức ho ặc chuy ển

tham số. Vì vậy kể từ giờ tất cả các

Tools phải chuyển là Applications.

- DeadlineCondition được lo ại bỏ.

Phần tử DeadlineDuration được

giới thiệu

Ví dụ làm l ại sử dụng ký hi ệu của

BPMN

9 Version 1.08 Mike Marin - Tăng cường tài liệu và mô hình với

những mẫu thuộc tính mở rộng mới

- Tất cả các ki ểu mô hình (schema

types) được thêm vào ti ếp đầu ngữ

‘t’

- Thay đổi thu ộc tính

ExternalPackage id thành Id để

Trang 19

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

thích hợp với tất cả những Ids khác

- Bình thường hóa thuộc Name và id

cho tất cả các thực thể

- Thay đổi Assignment để có được

thực thể Đích (Target) và Biểu thức

(Expression)

- Thay đổi TaskScript để được bi ểu

thức tùy ý

- Giới thi ệu ki ểu tExpressionType

và sử dụng cho tất cả các biểu thức

- Cập nhật thêm mô hình ở tất cả các

mục(section)

- Thêm 1 m ục (section) vào phiên

bản 1.0 để tượng thích

10 Version 1.09 Robert Shapiro - Những lỗi in c ủa phiên b ản tr ước

đã được chỉnh sửa

- Thuộc tính toolId được thay th ế

bằng ToolId

- Kiểu thu ộc tính Target được thay

đổi thành NMTIKEN

- Tất cả giản đồ thêm vào được cập

nhật cho cách ti ếp cận mới sử dụng

namespace.

- Phiên bản mới nhất hiện nay. 11 Version 2.0 Robert Shapiro, Mike

Marin, Justin Brunt và

Sasa Bojanic

2.1.2. Các đặc điểm chính của XPDL 2.0:

Chúng em xin giới thiệu sơ lược về phiên bản mới nhất của XPDL 2.0

Trang 20

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Phiên bản XPDL 2.0 thì t ương thích v ới phiên b ản XPDL 1.0, và được dự

định sẽ sử dụng như một dạng tập tin (file) cho BPMN. Mục đích nguyên thủy của

XPDL là phải được duy trì và t ăng cường bởi phiên bản thứ hai này của bảng đặc

tả.

XPDL và bảng đặc tả BPMN đều có chung 1 vấn đề về mô hình từ những viễn

cảnh khác nhau. XPDL cung cấp 1 định dạng file XML mà từ đó ta có thể sử dụng

để trao đổi giữa những mô hình tiến trình và những công cụ. BPMN cung cấp một

bộ ký hiệu đồ họa để làm dễ dàng cho vi ệc truyền thông của con ng ười như giữa

những người dùng nghi ệp vụ và ng ười dùng kỹ thu ật hoặc của nh ững quy trình

nghiệp vụ phức tạp.

Có một số thành phần trong BPMN phiên bản 1.0 nhưng không được thể hiện

trong XPDL phiên b ản 1.0. T ất cả các thành ph ần này được hợp nh ất lại trong

phiên bản XPDL 2.0.

Phiên bản XPDL 2.0 t ương thích với phiên bản XPDL 1.0. Tuy nhiên có m ột

số ngo ại lệ ph ụ. Phiên b ản XPDL 2.0 có m ột tên mi ền (namespace) khác, và

những công cụ muốn tương thích với phiên bản XPDL 1.0 c ần hiểu cả XPDL 1.0

và tên miền của XPDL 2.0

Những thành ph ần trong phiên b ản XPDL 1.0 sau đây đã được lo ại bỏ trong

phiên bản 2.0

• Thành ph ần Automatic. Thay th ế bởi thuộc tính Mode trong thành

phần StartMode và FinishMode

• Thu ộc tính BlockId của thành ph ần BlockActivity. Thay th ế bởi

ActivitySetId.

• Thành ph ần DeadlineCondition. Thay thế với DeadlineDuration.

• Thu ộc tính Index trong thành ph ần FormalParameter. Vì

FormalParameters ph ải phù h ợp với th ứ tự trong khai báo, và nh ư vậy

không cần thiết phải có thuộc tính Index

• Thành ph ần Manual. Thay th ế bởi thu ộc tính Mode trong thành

phần FinishMode và StartMode

Trang 21

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

• Thu ộc tính Type của thành ph ần Tool. Vì nh ững công cụ là nh ững

ứng dụng và nh ư vậy thuộc tính này không ph ải là cần thiết. ( nh ững công

cụ không thể là nh ững thủ tục – từ WPDL - vì XPDL không cung c ấp bất

kỳ những cách định nghĩa tham số hình thức cho những thủ tục nào.)

• Thành ph ần Xpression bên trong thành ph ần Condition. Thay th ế

bởi Expression

• Th ứ tự trong m ột WorkflowProcess thay đổi từ DataFields,

Participants, và Applications thành Participants, Applications, và

DataFields.

2.2. Ngôn ngữ mô hình hóa BPML:

2.2.1. Khái niệm:

(cid:216) Phiên bản mới nhất BPML 1.0.

(cid:216) Đặc tả BPML cung cấp một mô hình trừu tượng và cấu trúc XML cho

việc diễn tả các quy trình nghiệp vụ có thể thực hiện và hỗ trợ các thực

thể.BPML định nghĩa một mô hình hình th ức cho việc diễn tả các quy

trình nghiệp vụ một cách trừu tượng và có thể thực thi được mà nhắm

đến tất cả các khía c ạnh của của quy trình nghi ệp vụ phát tri ển, bao

gồm các công vi ệc ở các mức độ phức tạp khác nhau, các giao tác và

cơ chế đền bù giao tác, sự quản lý dữ liệu, sự nhất quán, bắt lỗi và các

ngữ nghĩa toán học (operational semantics). BPML cũng cung cấp một

cấu trúc ngữ pháp dưới dạng lược đồ XML cho việc duy trì và trao đổi

định ngh ĩa gi ữa các h ệ th ống và công c ụ mô hình hóa không th ống

nhất nhau. BPML t ự nó không định nghĩa bất kỳ một ngữ nghĩa ứng

dụng nào cụ thể ví dụ như các quy trình cụ thể hay các quy trình trong

một lĩnh vực cụ th ể. Thay vào đó, nó định ngh ĩa một mô hình tr ừu

tượng và ngữ pháp cho việc diễn tả các quy trình chung. Điều này cho

phép BPML có th ể được sử dụng cho nhiều mục đích khác nhau bao

gồm, nhưng không h ạn chế, định ngh ĩa các quy trình nghi ệp vụ phát

triển (enterprise business processes), định ngh ĩa các d ịch vụ WEB

Trang 22

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

phức tạp, và định ngh ĩa sự tương tác gi ữa nhi ều đối tác cung c ấp (multi - party) với nhau. 5

(cid:216) Là một ngôn ng ữ hình th ức, độc lập với nền tảng (flatform)/ ph ần

mềm, do đó các công ty có thể diễn tả rõ ràng quy trình nghiệp vụ của họ dưới dạng biểu mẫu có thể chỉnh sủa và thực hiện được. 6

(cid:216) Có thể cho phép tất cả các đối tượng tham gia trong việc thiết kế, triển

khai, thực hiện, bảo trì và t ối ưu hóa quy trình qu ản lý các công vi ệc

nghiệp vụ trong mô hình hướng quy trình (process – oriented fashion)

trong khi vẫn giữ nguyên tính toàn vẹn trong liên kết quy trình nghiệp

vụ.

2.2.2. Các thành phần chính:

Trong khuôn kh ổ lu ận văn chúng em xin gi ới thiệu tổng quan một số thành

phần chính và quan trong trong BPML.

2.2.2.1. Công việc (Acitivity) :

Là thành ph ần th ực hiện một chức năng cụ thể. Các công vi ệc phức tạp là s ự

kết hợp của các công vi ệc khác và h ướng tr ực ti ếp đến sự thực hiện của chúng.

Một quy trình là m ột sự kết hợp của các công vi ệc và có th ể nó là một công việc

trong một quy trình khác lớn hơn. Ngữ nghĩa của một công việc được áp dụng cho

định nghĩa quy trình với một số ngoại lệ.

2.2.2.2. Các loại công việc (Activity types):

BPML định ngh ĩa tất cả 17 lo ại Activity và 3 lo ại Process. T ất cả các lo ại

Activity đều được xuất phát từ một loại cơ bản thông d ụng (common base type)

sau. Các thuộc tính của loại cơ bản:

- name: Tên công việc

- documentation: Tài liệu mô tả công việc.

- other: Các thuộc tính khác định nghĩa cho 1 loại Activity cụ thể.

2.2.2.3. Ngữ cảnh công việc (The activity context):

5 Business Process Modeling Language, 13/11/2002, Assaf Arkin, Intalio 6 IEEE Workshop on advanced issues of e-commerce and web-based information system, 26-28/6/2002, Newport Beach, California.

Trang 23

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Các công việc mà thực hiện trong cùng ngữ cảnh sử dụng ngữ cảnh để trao đổi

thông tin thông qua thu ộc tính được định nghĩa trong ng ữ cảnh. Ví dụ, một công

việc nhận vào một thông điệp thiết lập các giá tr ị cho một thuộc tính từ nội dung

của thông điệp. Một chuỗi tuần tự con các công việc sử dụng giá trị của thuộc tính

vừa được tạo để tạo và gửi một thông điệp ra.

Ngữ cảnh định nghĩa tính ch ất thông dụng cho tất cả các công vi ệc trong ngữ

cảnh đó, ví dụ bắt các điều kiện và lỗi ngoại lệ, cung cấp các ngữ nghĩa nguyên tố,

định nghĩa rang buộc thời gian…

Các công việc và ngữ cảnh được xây dựng theo kiểu phân cấp. Ngữ cảnh hiện

tại của công việc này có th ể là ngữ cảnh con của một vài ngữ cảnh khác, và cũng

có thể là “cha” của nhiều ngữ cảnh con khác.

2.2.2.4. Công việc đơn giản và công việc phức hợp (simple and

complex activity):

(cid:216) Công việc đơn giản (Simple activity): là một con việc mà không thể phân

rã nhỏ hơn. Các loại công việc đơn giản được định nghĩa trong BPML:

o Action: Thực hiện hoặc gọi một hành động liên quan đến trao đổi các

thông điệp vào và ra.

o Assign: Gán một giá trị mới cho thuộc tính.

o Call: Tạo mới một quy trình và chờ cho quy trình hoàn tất.

o Compensate: Gọi th ực hi ện đền bù (compensation) cho các quy trình

đã được đặt tên.

o Delay: Diễn tả sự trôi đi của thời gian.

o Emty: Không làm gì hết.

o Fault: Phát ra lỗi trong ngữ cảnh hiện tại.

o Raise: Phát sinh một tín hiệu.

o Spawn: Khởi tạo một quy trình nhưng không chờ cho quy trình hoàn

tất.

o Synch: Đồng bộ hóa trên một tín hiệu

Trang 24

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Công vi ệc ph ức hợp (Complex activity): Là s ự kết hợp của một ho ặc

nhiều công việc. Các công việc có thể là đơn giản hoặc phức hợp. Một công

việc phức hợp chức một tập một hoặc nhiều công vi ệc và hướng trực tiếp

đến sự thực hiện của các công việc từ một trong các tập công việc này.

Các loại công việc phức hợp được định nghĩa trong BPML:

o All: Thực hiện các công việc song song.

o Choice: Thực hiện các công vi ệc từ một trong tập các công vi ệc, được

chọn thực hiện để đáp ứng cho một sự kiện.

o Foreach: Thực hi ện các công vi ệc một lần cho m ỗi công vi ệc trong

danh sách các công việc.

o Sequence: Thực hiện các công việc theo thứ tự tuần tự.

o Switch: Thực hiện các công vi ệc từ một trong tập các công vi ệc, được

chọn dựa vào giá trị đúng của điều kiện.

o Until: Thực hiện các công việc một hoặc nhiều lần dựa vào giá trị đúng

của điều kiện.

ị o While: Thực hiện các công việc không hoặc nhiều lần dựa vào giá tr

đúng của điều kiện.

2.2.2.5. Thể hiện công việc (Activity instance):

Sự định nghĩa công vi ệc chỉ rõ một thể hiện công vi ệc sẽ được thực hiện như

thế nào. Nhiều thể hiện của công việc đó có thể được thực hiện song song. Mặc dù

các thể hiện này được khởi tạo từ cùng một định nghĩa công vi ệc, chúng là khác

nhau và không có liên quan trực tiếp với nhau.

Các trạng thái của một thể hiện công việc:

o Ready: Thể hiện công vi ệc chưa th ực hiện bất kỳ công vi ệc nào. Ở trạng

thái này chúng ta có th ể thực hiện bỏ qua công vi ệc, khi đó nó chuyển qua

“Cancelled” (tức là công việc bị hủy bỏ).

o Active: Thể hiện công việc đang thực hiện công việc cụ thể theo định nghĩa

của nó.

Trang 25

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

o Completing: Thể hiện công vi ệc đã thực hiện tất cả các công vi ệc mà nó

được định nghĩa, và bây gi ờ đang thực hiện tất cả các công vi ệc được yêu

cầu để hoàn tất.

o Completed: Thể hiện công việc đã thực hiện tất cả các công việc được yêu

cầu để hoàn tất.

o Aborting: Th ể hi ện công vi ệc không th ể hoàn t ất công vi ệc được định

nghĩa và đang thực hiện tất cả các công vi ệc được yêu cầu để bỏ qua (k ết

thúc thất bại). Một số công việc mà thể hiện công việc phải thực hiện khi ở

trạng thái này: kiểm soát lỗi, kết thúc giao tác, thực hiện đền bù…

o Aborted: Thể hiện công vi ệc đã th ực hiện tất cả các công vi ệc được yêu

cầu để bỏ qua.

Sơ đồ chuyển đổi trạng thái:

Hình 3Sơ đồ chuyển đổi trạng thái thể hiện công việc trong BPML

2.2.3. Quy trình (Process):

Quy trình là một loại công việc phức hợp mà định nghĩa trong nó ngữ cảnh cho

sự thực thi. Quy trình bao gồm nhiều công việc và hướng trực tiếp đến sự thực thi

của các công vi ệc này. Quy trình có th ể xem nh ư là một công vi ệc của một quy

trình lớn hơn. Quy trình th ường được định ngh ĩa nh ư một đơn vị có tính tái s ử

dụng của công việc.

2.2.3.1. Sự khởi tạo quy trình:

Tuỳ theo định nghĩa quy trình mà chúng ta có ba cách khởi tạo sau:

Trang 26

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Activity: Các công việc loại call, compensate, và spawn được dùng để khởi

tạo định nghĩa quy trình mà có sự thể hiện loại activity. Các quy trình đang

khởi tạo và đã khởi tạo phải ở cùng ngữ cảnh hoặc các ngữ cảnh liên quan.

Định ngh ĩa quy trình đang kh ởi tạo ph ụ thu ộc vào quy trình đã kh ởi tạo.

Hai quy trình này gắn kết chặt chẽ với nhau.

(cid:216) Message: Một quy trình được kh ởi tạo để trả lời cho một thông điệp đầu

vào có thể được triển khai như một dịch vụ độc lập và có thể được khởi tạo

từ các tiến trình được triển khai trong các h ệ thống khác hoặc trong các h ệ

thống mạng. Các quy trình như vậy không gắn kết chặt chẽ với nhau và có

thể được triển khai và th ực hiện trong môi tr ường không thống nhất suy ra

độc lập từ những quy trình khác. T ất cả các công vi ệc phát sinh s ự ki ện

phải là “action activities”.

(cid:216) Signal: Một quy trình được khởi tạo để đáp ứng cho việc phát sinh một tín

hiệu chỉ có thể được khởi tạo trong ngữ cảnh của đối tượng. Một quy trình

lưới (nested process) có th ể đáp ứng một tín hi ệu được phát sinh b ởi các

công việc khác đang mà th ực thi trong cùng ng ữ cảnh. Hình th ức khởi tạo

này chỉ được thực hiện đối với các quy trình được định nghĩa như một phần

của quy trình khác l ớn hơn, ví d ụ nh ư nested processes và exception

processes. Tất cả các công việc phát sinh sự kiện phải là “synch activities”.

Bảng so sánh ba cách kh ởi tạo tiến trình: để tiện cho việc tham khảo chúng em

xin giữ nguyên bảng so sánh gốc bằng tiếng anh.

Instantation Definition Inputs Instantiating

activity

Activity No event Parameter Call, compensate,

spawn, schedule

messageA Send messageA Message Event activity=a

Action name=a

Receive

Trang 27

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

messageA

Message Event activity=a b messageA or Send messageA or

Exclusive=true messageB messageB

Action name=a

Receive messgeA

Action name=b

Receive messageB

messageA and Send messageA Event activity=a b

messageB and messageB Exclusive=false

Action name=a

Receive messgeA

Action name=b

Receive messageB

Signal Event activity=a signalA Raise signalA

Synch name=a

signalA condA

Signal Event activity=a b signalA or signalB Raise signalA or

Exclusive= true signalB

Synch name=a

signalA condA

synch name=b

signalB condB

signalA and Raise signalA and Signal Event activity=a b

signalB signalB Exclusive= false

Synch name=a

signalA condA

synch name=b

signalB condB

Bảng 1 Bản so sánh các loại khởi tạo quy trình

Trang 28

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Nếu quy trình không được định ngh ĩa để tương tác v ới các công vi ệc khác

đang thực hiện trong cùng ngữ cảnh, hoặc không được khởi tạo bởi quy trình khác

được định nghĩa trong cùng ng ữ cảnh thì định nghĩa nên được khởi tạo theo lo ại

“message”.

2.2.3.2. Nested process:

Là sự định nghĩa quy trình được áp dụng cho một ngữ cảnh cho trước. Nested

process được dùng như một công việc trong một quy trình lớn hơn, để cục bộ hóa

sự định nghĩa quy trình trong ng ữ cảnh mà nó được sử dụng, và để ràng bu ộc sự

khởi tạo và có giá trị của quy trình đối với ngữ cảnh cụ thể.

Nested process được kh ởi tạo trong ng ữ cảnh mà nó được định ngh ĩa, có th ể

truy cập các thuộc tính được định nghĩa trong ngữ cảnh đó, khởi tạo các quy trình

khác mà được định nghĩa trong ngữ cảnh đó, sử dụng tín hiệu để tương tác với các

công vi ệc khác được định nghĩa trong cùng ng ữ cảnh, và s ử dụng các quy trình

ngoại lệ (exception processes) và b ắt lỗi (fault handler) được định ngh ĩa bởi ngữ

cảnh.

Một “top – level process ” là một định nghĩa quy trình mà không áp d ụng cục

bộ cho bất kỳ ngữ cảnh cụ thể nào, nó được định ngh ĩa tại cấp độ gói (package

level) và không chia ng ữ cảnh của nó với các “top – level process” khác. “Top –

level process” có thể được khởi tạo bất kỳ lúc nào. “Top – level process” không sử

dụng loại khởi tạo “signal activity”.

“Exception process ” là m ột lo ại nested process đặc bi ệt. Khi “exception

process” được kh ởi tạo thì nó bu ộc công vi ệc cha ph ải hu ỷ bỏ. Trong khi đó

“nested process” có thể được khởi tạo nhiều lần trong một ngữ cảnh đối tượng, chỉ

duy nhất một “exception process” được kh ởi tạo trong một ng ữ cảnh đối tượng

cho trước.

“Compensation process ” là m ột dạng “nested process” đặc bi ệt khác. M ột

“compensation process” được kh ởi tạo sau khi th ể hiện quy trình cha hoàn t ất để

đền bù cho bất kỳ công việc nào mà nó đã thực hiện. “Compensation process” chỉ

Trang 29

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

được khởi tạo nếu thể hiện quy trình cha đã hoàn tất và có th ể được khởi tạo duy

nhất một lần.

2.2.3.3. Định nghĩa quy trình (process definition):

Bao gồm các thuộc tính sau:

Name :tên quy trình.

Documentation: tài liệu mô tả quy trình.

Identity: Một hoặc nhiều tên định danh.

Persistent: thuộc tính sự liên tục.

Event: sự kiện khởi tạo.

Paranmeters: không có hoặc có nhiều tham số đầu vào.

Activity set: một tập các công việc.

Compensation: compensation process.

2.2.3.4. Tham số (parameter):

Bao gồm các thuộc tính sau:

Name: tên tham số.

Direction: input, output.

Requyre:

true nế được yêu cầu, mặc định là false.

Code: mã số lỗi (chỉ dành cho output).

Thuộc tính direction xác định tham số là tham số vào hay tham số ra. • Input: Khi một quy trình được kh ởi tạo, một giá tr ị đầu vào c ủa tham số

được gắn cho một thuộc tính đã được đặt tên trong quy trình.

• Output: Khi một tiến trình hoàn thành hay b ỏ dở (abort), giá trị của thuộc

tính thể hiện quy trình được sử dụng như một giá trị ra cho tham số.

2.2.3.5. Định danh quy trình (process indentity):

Định danh quy trình ph ục vụ như một phương ti ện để xác định một th ể hiện

quy trình cụ thể từ một tập hợp các th ể hiện quy trình được khởi tạo từ cùng một

định nghĩa. Nó cũng xác định các th ể hiện quy trình liên quan trong m ột tập hợp

các thể hiện được khởi tạo từ các định nghĩa khác nhau.

Cấu trúc định danh

Trang 30

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Name: tên định danh

Properties: một hoặc nhiều thuộc tính.

Documentation: tài liệu mô tả.

2.2.4. Ngữ cảnh (Context):

Ngữ cảnh định nghĩa một môi trường cho việc thực thi các công việc liên quan.

Các công vi ệc th ực thi trong cùng ng ữ cảnh sử dụng ngữ cảnh cho vi ệc trao đổi

thông tin và ph ối hợp hoạt động. Một công việc có th ể truy cập và sửa đổi giá trị

của thu ộc tính được định ngh ĩa trong ng ữ cảnh, kh ởi tạo một “nested process”,

phát và đồng bộ hóa tín hiệu…

Ngữ cảnh định nghĩa các thu ộc tính thông dụng cho tất cả các công vi ệc đang

thực hiện trong nó.Nó định nghĩa các điều kiện ngoại lệ và lỗi được quản lý nh ư

thế nào, cung c ấp các ng ữ ngh ĩa nguyên tố cho vi ệc truy xu ất thuộc tính và trao

đổi thông điệp…

Một định ngh ĩa ng ữ cảnh chứa các định ngh ĩa cục bộ (local definitions) cho

các thực thể mà chỉ có thể truy cập trong ngữ cảng đó. Định nghĩa ngữ cảnh có thể

được kế thừa.

Có hai loại ngữ cảnh: Current context và Process context. • Current context: Là ngữ cảnh mà trong đó một công việc được định nghĩa,

bao gồm ngữ cảnh chứa định nghĩa công việc và tất cả các ngữ cảnh cha. • Process context: Là ng ữ cảnh được dùng chung cho t ất cả các công vi ệc

thực hiện nh ư một phần của định ngh ĩa quy trình. Ng ữ cảnh này ph ục vụ

như là ngữ cảnh cha cho ngữ cảnh của nested và exception process.

Ngữ cảnh ti ến trình của “top – level process” được gọi là root context, vì nó

không là ngữ cảnh con của bất kỳ ngữ cảnh cha nào.

Các thể hiện ngữ cảnh được khởi tạo từ cùng định nghĩa ngữ cảnh là khác nhau

và không dùng chung bất kỳ thể hiện nào của định nghĩa cục bộ. Đặc biệt, hai thể

hiện “top – level process” không dùng chung b ất kỳ thể hiện thuộc tính , th ể hiện

công việc và thể hiện của “nested process”.

2.2.4.1. Định nghĩa cục bộ (Local definition): bao gồm 6 loại sau:

Trang 31

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

• Exception: Định ngh ĩa một “exception process” c ục bộ đối với ngữ cảnh

để đảm bảo các quy trình chỉ đáp ứng các sự kiện từ thể hiện của ngữ cảnh

đó, và tất cả các sự kiện dừng tất cả các công việc đang thực hiện trong thể

hiện ngữ cảnh đó.

• Process: Định nghĩa một quy trình cục bộ đối với ngữ cảnh để đảm bảo các

quy trình chỉ có thể được khởi tạo trong thể hiện của ngữ cảnh đó.

• Property: Định ngh ĩa một thu ộc tính c ục bộ trong ng ữ cảnh để đảm bảo

giá tr ị của thể hiện thuộc tính ch ỉ có th ể được truy c ập và s ửa đổi từ các

công việc đang thực hiện trong thể hiện của ngữ cảnh đó. Nó được dùng để

giới hạn quyền truy cập đối với thuộc tính.

• Schedule: Định nghĩa một kế hoạch cục bộ trong ngữ cảnh để đảm bảo kế

hoạch sẽ phát sinh các s ự kiện thời gian trong khi các công vi ệc đang thực

hiện trong thể hiện của ngữ cảnh.

• Signal: Định nghĩa một tín hiệu cục bộ trong ngữ cảnh để đảm bảo tín hiệu

chỉ có thể được phát sinh và được đồng bộ hóa bởi các công việc đang thực

hiện trong thể hiện của ngữ cảnh.

2.2.4.2. Định nghĩa ngữ cảnh (Context definition): bao gồm các thuộc

tính sau:

Atomic: True nếu là ngữ cảnh nguyên tố.

Exception: Không hoặc nhiều “exception process”.

Processes: Không hoặc nhiều định nghĩa quy trình.

Properties: Không hoặc nhiều định nghĩa thuộc tính.

Schedule: Không hoặc nhiều định nghĩa kế hoạch.

Signals: Không hoặc nhiều định nghĩa tín hiệu.

Faults: Không hoặc nhiều bộ quản lý lỗi.

2.2.5. Thuộc tính (Property):

Một định nghĩa thuộc tính khai báo tên, ki ểu và cung c ấp một giá tr ị khởi tạo

ban đầu (có thể không có). Một thể hiện thuộc tính giữ giá trị của thuộc tính.

Trang 32

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Một thể hiện ngữ cảnh không thể có hai th ể hiện thuộc tính cùng tên. Hai th ể

hiện thuộc tính cùng tên là khác nhau nếu chúng thuộc hai thể hiện ngữ cảnh khác

nhau.

Thể hiện thuộc tính được khởi tạo khi một trong các điều sau xẩy ra: • Định nghĩa thuộc tính kh ởi gán giá tr ị ban đầu khi th ể hiện ngữ cảnh được

tạo.

• Định ngh ĩa thu ộc tính được xác định bởi một thu ộc tính tham chi ếu

(reference attribute) và một thể hiện thuộc tính với cùng định nghĩa tồn tại

trong thể hiện ngữ cảnh cha khi một thể hiện ngữ cảnh được tạo. Thể hiện

thuộc tính sẽ có cùng giá trị với thể hiện thuộc tính mà nó được tham chiếu. • Một giá tr ị được gán đầu tiên từ bất kỳ công vi ệc nào th ực hiện trong th ể

hiện của ngữ cảnh đó hoặc trong một ngữ cảnh con.

Một công việc chỉ có thể truy cập giá trị của thuộc tính khi đã có thể hiện thuộc

tính.

2.2.5.1. Các loại thuộc tính:

• Đơn giản: Loại thuộc tính ch ỉ có th ể là một trong các lo ại đơn giản được

định ngh ĩa bởi lược đồ XML ho ặc một lo ại được xuất phát từ nó. Giá tr ị

thuộc tính là 1 giá tr ị nguyên tố của lo ại đó ho ặc xu ất phát từ lo ại đó và

cũng có thể là rỗng.

• Phức hợp: Loại thuộc tính là ki ểu phức hợp được định nghĩa bởi lược đồ

XML. Giá tr ị thuộc tính cũng là giá tr ị phức hợp. Giá tr ị thuộc tính ch ỉ có

thể là rỗng nếu định nghĩa kiểu phức hợp cho phép một trình tự rỗng.

• Thành phần (element): Thuộc tính là một thành phần được định nghĩa bởi

sự khai báo lược đồ XML . Giá trị không được phép rỗng.

2.2.5.2. Thuộc tính cố định và thuộc tính ẩn:

Giá trị của thể hiện thuộc tính cố định không thể bị sửa đổi. Khi nó được khởi

tạo, giá trị của nó trở thành hằng. Nếu định nghĩa thuộc tính cố định không gán giá

trị ban đầu, một giá trị được gán cho thuộc tính khi nó khởi tạo thể hiện.

Trang 33

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

2.2.5.3. Biểu thức điều kiện (Expression):

Biểu thức điều kiện dùng để thiết lập giá trị động cho thuộc tính và có thể được

dẫn xuất từ giá trị của một hoặc nhiều thuộc tính.

2.2.5.4. Định nghĩa thuộc tính (Property definition):

Bao gồm các thuộc tính sau:

Name

Type

Value

Fixed

Documentation

Định nghĩa thuộc tính được tham chiếu:

Reference: tên định nghĩa được tham chiếu.

Value

Fixed

Documentation

2.2.6. Tín hiệu (Signal):

Tín hiệu được dùng để phối hợp sự thực hiện của các công việc trong cùng ngữ

cảnh

“Raise activity” phát tín hi ệu bằng cách khởi tạo một thể hiện tín hiệu. “Synch

activity” đồng bộ hóa trên tin hi ệu bằng cách ch ờ cho tín hi ệu được phát sinh, và

sau đó gi ảm tín hiệu bằng cách lo ại bỏ một thể hiện tín hi ệu. “Raise activity” và

“Synch activity” có thể trao đổi thông tin bằng các truyền giá trị thông qua thể hiện

tín hiệu.

Thể hiện tín hiệu được tạo trong thể hiện của ngữ cảnh chứa định nghĩa của nó.

Định nghĩa tín hiệu:

Name: Tên tín hiệu.

Documentation: Tài liệu mô tả.

Type: loại giá trị.

Multi: đa tín hiệu hay đơn tín hiệu.

Trang 34

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Source: nguồn của tín hiệu như một thuộc tính.

Value: Giá trị ban đầu.

2.2.7. Kế hoạch (Schedule):

Đại diện cho một chuỗi các sự kiện thời gian. Nếu sự kiện thời gian được tính

toán từ các thể hiện thuộc tính thì sự kiện thời gian có thể đươc thay đổi bằng cách

gán giá trị mới cho các thuộc tính này. Kế hoạch có thể được sửa đổi, hủy bỏ hoặc

làm phát sinh một sự kiện thời gian khác. Kế hoạch cũng có thể đại diện cho một

rang buộc về thời gian bằng cách phát sinh m ột lỗi buộc các công vi ệc hoặc quy

trình liên quan phải bỏ dở.

Thể hiện kế hoạch được tạo từ sự định nghĩa kế hoạch. Thể hiện kế hoạch theo

dấu sự kiện thời gian tiếp theo và kích hoạt tại một thời gian xác định.

Thể hiện kế hoạch tính toán s ự kiện thời gian ti ếp theo dựa vào các đặc điểm

sau:

• Giá trị của thể hiện thuộc tính cung cấp sự kiện thời gian tiếp theo. • Giá tr ị của thu ộc tính duration đựơc thêm vào th ể hiện th ời gian t ại th ời

điểm kế hoạch được tạo.

• Giá trị của thuộc tính repeat được thêm vào thể hiện thời gian hiện hành

Định nghĩa kế hoạch:

Name

Documentation

Process: Tên quy trình.

Code: Mã số lỗi.

Duration

Instant

Reapeat

Other: Các cơ chế khác.

2.2.8. Ngoại lệ (Exception):

Một quy trình ph ải có kh ả năng phát hi ện các điều ki ện ngo ại lệ nếu chúng

được giao ti ếp bởi các quy trình khác s ử dụng các thông điệp, báo hi ệu bằng tín

Trang 35

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

hiệu, hoặc là kết quả của các công việc mà thất bại để hoàn tất. Quy trình tác động

trở lại các điều kiện ngoại lệ này sử dụng “exception process” và bộ kiểm soát lỗi.

2.2.8.1. Quy trình ngoại lệ (Exception process):

Các biến cố ngoại lệ có th ể xẩy ra làm cho các công vi ệc và quy trình không

thể hoàn tất thành công. Các bi ến cố ngoại lệ có th ể được phát sinh t ừ các thông

điệp vào, yêu cầu quy trình phải kết thúc tất cả các công việc và hoàn tất ngay tức

thì, ho ặc từ một ngu ồn phát sinh m ột tín hi ệu thông báo điều ki ện ngo ại lệ.

Exception process ch ỉ được khởi tạo một lần trong một thể hiện ngữ cảnh và ch ỉ

đáp ứng cho một thông điệp vào ho ặc một tín hi ệu được phát sinh. Khi nó được

khởi tạo tất cả các công việc đang thực hiện trong ngữ cảnh đó bị kết thúc.

Exception process cắt ngang sự th ực hiện của một công vi ệc cha và bu ộc nó

phải bỏ dở. Công việc định nghĩa các “exception process” cắt ngang nó trong một

ngữ cảnh con. S ự cắt ngang ch ỉ có th ể xảy ra khi công vi ệc đang ở tr ạng thái

“active”

Định ngh ĩa “exception process” gi ống nh ư định ngh ĩa “nested process”, v ới

một số khác biệt sau:

• “Exception process” không h ỗ tr ợ ki ểu kh ởi tạo “activity”, và không th ể

đuợc kh ởi tạo từ các lo ại công vi ệc “c all”,”spawn”. Thu ộc tính tham s ố

không được hỗ trợ.

• Bởi vì ch ỉ có một “Exception process” được kh ởi tạo trong một th ể hiện

ngữ cảnh, nên nó có cùng định danh nh ư quy trình cha. Thu ộc tính

“identity” không được hỗ trợ.

• “Exception process” không được đền bù. Thuộc tính “compensation” không

được hỗ trợ.

Một th ể hi ện “Exception process” t ồn tại nếu th ể hi ện quy trình cha t ồn tại.

Thuộc tính “persistent” không được hỗ trợ.

2.2.8.2. Lỗi và kiểm soát lỗi (Fault và Fault handler):

Một lỗi là một điều kiện sai mà ng ăn một công việc kết thúc thành công, ho ặc

phục hồi từ một lỗi khác.

Trang 36

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Các công vi ệc ph ức hợp có th ể phục hồi lại từ một lỗi bằng cách th ực hiện

kiểm soát l ỗi (Fault handler). Ki ểm soát l ỗi được th ực hi ện sau “exception

process”. Điều này cho phép các công vi ệc cha b ỏ dở mà không để lại lỗi, thậm

chí khi “exception process” để lại lỗi.

Khi tất cả các công việc trong thể hiện ngữ cảnh kết thúc hoặc bỏ dở, một kiểm

soát lỗi được thực hiện. Các kiểm soát lỗi là một phần của định nghĩa ngữ cảnh, và

thực hiện trong th ể hiện ng ữ cảnh nơi mà lỗi được phát sinh. Sau khi th ực hiện

xong kiểm soát lỗi, công việc cha chuyển qua trạng thái “aborted”.

Cấu trúc kiểm soát lỗi:

Name: Tên kiểm soát lỗi.

Code: một hoặc nhiều mã lỗi.

Documentation: Tài liệu mô tả.

Activities: một hoặc nhiều công việc (có sắp thứ tự).

2.2.8.3. Chấm dứt công việc (Terminating activity):

Một công vi ệc có th ể chấm dứt mà kh ộng ảnh hưởng đến các đối tượng khác

chỉ khi nó đang ở trạng thái “ready”. Thực chất là công việc bị hủy bỏ (cancelled).

Nếu công việc ở bất kỳ trạng thái nào khác thì nó không th ể chấm dứt và phải kết

thúc hoặc bỏ dở. Một thể hiện công việc chấm dứt bằng các chuyển qua trạng thái

“aborting”, sau đó chuyển qua “aborted”.

Các công vi ệc ph ức hợp có th ể chấm dứt khi đang ở tr ạng thái “ready” ho ặc

“active”. Ở tr ạng thái “active” chúng th ực hi ện các công vi ệc được định ngh ĩa

trong ngữ cảnh con và chấm dứt bằng cách phát ra lỗi “bpml:terminate” trong th ể

hiện ngữ cảnh đó. Kết quả là công việc phức hợp chuyển qua trạng thái “aborting”

và kết thúc hoặc hoàn thành tất cả các công việc đang thực hiện. Sau đó công việc

phức hợp th ực hi ện một ki ểm soát l ỗi, và cu ối cùng chuy ển qua tr ạng thái

“aborted”.

2.2.8.4. Đền bù (Compensation):

Khi một công việc gặp một điều kiện ngoại lệ ngăn chúng hoàn thành thì nên

trả lại nh ững gì nó đã làm tr ước khi b ỏ dở. Nếu quy trình đã chiếm giữ các tài

Trang 37

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

nguyên được yêu cầu để hoàn thành thì chúng nên giải phóng các tài nguyên đó để

các quy trình khác có th ể sử dụng. Nếu quy trình đã th ực hiện công vi ệc có kh ả

năng đảo ngược thì nên đảo ngược lại công việc đó.

Đền bù là sự phục hồi lại tất cả ảnh hưởng của một công việc đã hoàn thành.

Một quy trình đền bù (Compensation process) là m ột quy trình được định

nghĩa như một phần của quy trình cha với mục đích thực hiện sự đền bù. Quy trình

đền bù chỉ có thể được khởi tạo khi thể hiện quy trình cha hoàn t ất. Nếu quy trình

cha thất bại để hoàn tất thì dùng kiểm soát lỗi để phục hồi và đền bù. Trong ki ểm

soát lỗi có thể chứa các quy trình đền bù của bất kỳ quy trình nào mà nó được khởi

tạo.

Định nghĩa quy trình đền bù giống định nghĩa quy trình lưới (nested process),

với một số khác biệt sau:

• Thêm hai thuộc tính “instant”, “duration”. • Vì chỉ có một quy trình đền bù có thể được tạo thể hiện từ một thể hiện quy

trình cha, nên nó có cùng định danh nh ư quy trình cha. Thu ộc tính

“indentity” không được hỗ trợ.

• Quy trình đền bù không th ể được đền bù. Thu ộc tính “ compensation”

không được hỗ trợ.

• Một th ể hi ện quy trình đền bù t ồn tại nếu th ể hi ện quy trình cha t ồn tại.

Thuộc tính “persistent” không được hỗ trợ.

2.2.9. Giao tác (Transaction):

2.2.9.1. Công việc nguyên tố (Atomic activity):

Một công việc nguyên tố là một công việc thực hiện như một đơn vị công việc

riêng lẻ. Một công việc nguyên tố đảm bảo rằng các công việc khác sẽ không thấy

kết quả từng phần trong khi công vi ệc đang thực hiện, chỉ thấy được kết quả sau

khi công việc thực hiện xong.

Hầu hết các công việc đơn là công việc nguyên tố. Một số ngoại lệ là loại công

việc: call, compensate, action khi thuộc tính “activities” được xác định.

2.2.9.2. Persistent process:

Trang 38

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Một công vi ệc th ực hi ện qua m ột kho ảng th ời gian dài ph ải th ực hi ện trong

môi trường phục hồi sự cố (do các điều kiện ngoại cảnh ví dụ : hệ thống bị dừng

do mất điện…). Khi h ệ thống bị dừng xẩy ra, thì công vi ệc ph ải cho phép th ực

hiện tiếp ở trạng thái đã tồn tại rồi (thực hiện tiếp công việc mà công vi ệc đã làm

rồi trước khi sự cố xẩy ra). “Persistence” được định nghĩa như là khả năng gọi lại

một thể hiện quy trình đã tồn tại sau khi hệ thống bị dừng.

Một th ể hi ện “persistent process” được định ngh ĩa nh ư là tr ạng thái c ủa th ể

hiện quy trình tồn tại sau sự thực hiện của các công vi ệc nguyên tố. Thể hiện quy

trình phải gọi lại tất cả các công việc nguyên tố đã hoàn thành hay bỏ dở.

Sự thực thi BPML cung cấp môi trường phục hồi sự cố cho việc thực hiện các

quy trình bằng cách thực hiện hai cơ chế phục hồi “backward” và “forward”.

• Forward: Là khả năng gọi các thể hiện quy trình sau khi hệ thống thất bại,

đưa chúng trở về trạng thái tồn tại và tiếp tục thực hiện chúng.

• Backward: Là kh ả năng hủy bỏ một công vi ệc nguyên t ố mà ch ưa hoàn

thành hoặc bỏ dở trước khi hệ thống xảy ra sự cố.

2.2.9.3. Giao tác (Transaction):

Các phương thức giao tác cho phép hai quy trình tương tác với nhau thông qua

trao đổi thông điệp để phối hợp cùng hoàn thành công việc của chúng. Có hai loại

giao tác: atomic transaction, open nested transaction.

• Atomic transaction: Cho phép hai h ệ th ống th ực hi ện các công vi ệc

nguyên tố trong một ngữ cảnh nguyên tố dùng chung, do đó cả hai công việc hoàn

thành và bỏ dở cùng nhau. Đầu ra của giao tác là s ự kết hợp của tất cả các đầu ra

của tất cả các công việc thực hiện như một phần của ngữ cảnh của giao tác. Đầu ra

của giao tác thành công n ếu tất cả các đầu ra của các công vi ệc thành công, th ất

bại nếu bất kỳ công vi ệc nào không th ể kết thúc hoặc trạng thái của công việc đó

không thể xác định được.

Ngữ cảnh giao tác được xác định trước khi th ực hiện công vi ệc đầu tiên trong

giao tác. Ngữ cảnh giao tác được kết nối như một phần của trao đổi thông điệp để

chỉ rằng các công việc phải thực hiện như một phần của giao tác đó.

Trang 39

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Một công vi ệc nguyên t ố thực hiện trong một ng ữ cảnh giao tác không hoàn

thành cho đến khi các đầu ra c ủa giao tác được xác định. Chúng vẫn giữ nguyên

trạng thái “completing”, chờ một giải pháp cho đầu ra của giao tác. Sau khi đầu ra

giao tác được xác định (thành công) thì công vi ệc chuy ển qua tr ạng thái

“completed”.

• Open nested transaction: Các công vi ệc không ph ải nguyên tố cần ph ối

hợp với nhau sử dụng “open nested transaction”. Trong khi “atomic transaction”

được sủ dụng cho các giao tác ngắn, thì “open nested transaction” thích hợp cho cả

giao tác ngắn và dài. Một “open nested transaction” có th ể bao gồm các công việc

thực hi ện tương tác yêu c ầu/ tr ả lời (request/response) s ử dụng các hành động

đồng bộ hóa, và các công việc thực hiện qua một thời gian dài.

Một “open nested transaction” có th ể bao gồm sự thực thi của một hoặc nhiều

“open nested transaction” và “atomic transaction”.

Các công vi ệc không là nguyên t ố giao ti ếp với ngữ cảnh giao tác và đầu ra

giao tác giống như cách giao tiếp của công việc nguyên tố.

2.2.10. Hàm (Function):

Đặc tả BPML cung cấp một số hàm cần thiết cho việc định nghĩa quy trình có

khả năng thực thi. Một định nghĩa quy trình có th ể sử dụng bất kỳ hàm nào trong

mô tả quy trình.

Cấu trúc chung:

returnType funcName(paramType paramName,…)

BPML phân chia làm hai loại hàm chính: • Generic: Tập hợp các hàm dùng để tương tác với các thông tin t ổng quát

như: thời gian, định danh…

• Instances: Dùng để tương tác v ới các thông tin c ủa th ể hi ện công vi ệc

trong quá trình thực hiện của công việc, ví dụ: thông tin trạng thái.

2.3. Ngôn ngữ mô hình hóa eXPDL:

2.3.1. Giới thiệu:

Trang 40

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Trên cơ sở nghiên cứu hai ngôn ng ữ mô hình hóa hi ện nay là XPDL, BPML,

hai sinh viên Tr ần Đăng Khoa và Ph ạm Minh Tu ấn, sinh viên tr ường Đại học Khoa học Tự nhiên, đã nghiên cứu và đề xuất ngôn ngữ mô hình hóa eXPDL. 7

eXPDL quan tâm đặc biệt đến việc mô hình hóa các quy trình trong th ực tế,

không quan tâm đến “siêu mô hình” (meta - model). Ngôn ngữ XPDL là ngôn ngữ

mô hình hóa h ướng lu ồng công vi ệc với kh ả năng vận hành và tính chu ẩn hóa

luồng công vi ệc rất cao. Ngôn ng ữ BPML là ngôn ng ữ xem xét quy trình d ưới

dạng cấu trúc điều khiển, nó có tính bi ểu đạt và tính hình th ức rất cao. eXPDL là

sự kết hợp của XPDL và BPML. Tuy nhiên eXPDL được xây dựng chủ yếu dựa

vào XPDL có kết hợp bổ sung các khái niệm mới của BPML để tăng tính diễn đạt.

2.3.2. Những cải tiến của eXPDL so với XPDL và BPML:

Phần này đã được trình bày chi ti ết trong lu ận văn cử nhân tin h ọc của Trần

Đăng Khoa và Ph ạm Minh Tu ấn. Dưới đây chúng em xin tóm t ắt lại một số ý

chính:

2.3.2.1. Loại bỏ sự nhập nhằng giữa các hoạt động và các cổng điều

khiển:

• XPDL: Đồng nhất các cổng điều khiển với các hoạt động. • BPML: Các cổng điều khi ển không được định ngh ĩa, mà vi ệc điều

khiển các lu ồng công vi ệc thông qua các ho ạt động chu ẩn (được định

nghĩa như các khối cấu trúc (while,switch,all, choice,…).

• eXPDL: Định nghĩa thêm đối tượng Gateway. Gateway làm nhi ệm vụ

thể hi ện ng ữ ngh ĩa đồng bộ hóa gi ữa các lu ồng công vi ệc trong quy

trình. Có th ể chia Gateway thành 4 lo ại cơ bản : AND, OR, XOR,

COMPLEX.

2.3.2.2. Hỗ trợ mô tả các tiến trình thuộc loại Ad – Hoc:

Tiến trình loại AdHoc là các tiến trình bên trong nó các ho ạt động không được

quy định thứ tự thực hiện . Tất cả các hoạt động này sẽ được thực hiện tùy ý cho

7 Tìm hiểu XPDL và xây dựng ứng dụng minh hoạ,Trần Đăng Khoa và Phạm Minh Tuấn, Luận văn cử nhân tin học, Tp.HCM 2004.

Trang 41

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

đến khi tất cả các ho ạt động đều được hoàn thành. - ch ỉ có ràng bu ộc duy nhất là

không có 2 ho ạt động nào được tiến hành song song cùng lúc. Đây là ti ến trình

thuộc về mẫu “đường vào song song” (Interleaved Parallel Routing).

• XPDL: Định ngh ĩa hai lo ại cổng là Split và Join nh ưng không đủ ngữ

nghĩa thể hiện cho Ad - Học.

• BPML: Không có cơ chế trực tiếp hỗ trợ mẫu này. • eXPDL: Cung cấp thuộc tính để chỉ ra tiến trình thuộc loại Ad - Học.

2.3.2.3. Hỗ trợ mô tả các hoạt động đa thể hiện:

Có 4 mẫu hoạt động đa thể hiện:

• Mẫu đa thể hiện không đồng bộ • Mẫu đa thể hiện biết thông tin ở thời điểm thiết kế • Mẫu đa thể hiện biết trước thông tin ở thời điểm thực thi • Mẫu đa thể hiện không biết trước thông tin.

• XPDL: chỉ thể hiện được mẫu đa thể hiện không đồng bộ và mẫu đa thể

hiện biết thông tin ở thời điểm thiết kế.

• BPML: hỗ trợ được tất cả các mẫu đa thể hiện thông qua vi ệc sử dụng

các hoạt động điều khiển.

• eXPDL: Cung cấp các thu ộc tính hỗ trợ cho vi ệc thể hiện của mẫu đa

thể hiện trong các tác vụ và các tiến trình con.

2.3.2.4. Bổ sung các sự kiện vào mô hình nghiệp vụ:

• XPDL: Không hỗ trợ cơ chế đón bắt sự kiện giữa các hoạt động thành

phần với nhau.

• BPML: cho phép mô tả cơ chế này ở mức độ tương đối thông qua các

tín hiệu (signal).

• eXPDL: Cung cấp 3 loại sự kiện chính:

- Các sự kiện kích hoạt tiến trình : Start Events

- Các sự kiện kết thúc tiến trình : End Events

Trang 42

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

- Các sự kiện xảy ra tức thời trong tiến trình : Intermediate

Events.

2.3.2.5. Hỗ trợ mô tả cơ chế giao tác của hoạt động nghiệp vụ:

• XPDL: Không hỗ trợ việc định nghĩa các hoạt động mang tính giao tác. • BPML: Có khả năng định nghĩa giao tác. • eXPDL: Hỗ trợ thông qua thuộc tính Transaction của các tiến trình con

và các sự kiện Cancel bên trong tiến trình con này.

2.3.2.6. Hỗ trợ mô tả cơ chế giải quyết đền bù:

eXPDL cung cấp cơ chế giải quyết đền bù thông qua các s ự kiện Intermediate

Event loại Compensation hoặc các End Event loại Compensation.

2.3.2.7. Hỗ trợ mô tả cơ chế phát sinh và giải quyết lỗi:

• XPDL: Không đủ ngữ nghĩa mô tả cơ chế này. • BPML: Hỗ trợ mô tả cơ chế này. • eXPDL: Sử dụng các đối tượng sự kiện để cung cấp khả năng biểu đạt

của cơ chế phát sinh và gi ải quyết lỗi, thông qua thu ộc tính Exception

của sự kiện.

2.3.2.8. Hỗ trợ mô tả các quy trình có những hoạt động theo mẫu cột

mốc:

• Cả XPDL và BPML chưa hỗ trợ việc mô tả này. • eXPDL sử dụng lo ại IntermediateEvent ki ểu Timer(v ới Timer là

MileStone) để hỗ trợ mô tả cơ chế này.

2.3.2.9. Hỗ trợ cơ chế mô tả tổ chức và phân công vai trò nghi ệp vụ

trong các hoạt động:

• XPDL: Cung cấp phần mô tả tổ chức: Role (các vai trò nghiệp vụ trong

tổ chức), Tool ( các công c ụ hỗ trợ nghiệp vụ trong tổ chức). Ngoài ra

còn hỗ trợ việc phân công các Role tham gia các ho ạt động và các Tool

hỗ trợ các hoạt động đó.

Trang 43

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

• BPML: Không hỗ trợ đặc tả các Role, Tool mà chỉ tập trung vào các cơ

chế điều khiển hoạt động là chính.

• eXPDL: Giữ lại đặc tính mô tả của XPDL. Tuy nhiên c ụ thể hóa khái

niệm công cụ hơn để dễ mô tả cho các nghi ệp vụ điện tử. Các công c ụ

được phân làm 2 loại : các ứng dụng (Application) và các WebService

2.3.2.10. Hỗ trợ mô tả cơ chế phân công thực thi trên các sản phẩm:

Hầu hết các ngôn ngữ mô hình hóa lu ồng công việc không cho phép mô t ả cơ

chế này (kể cả XPDL và BPML).

eXPDL hỗ trợ hai quyền là: Quyền đọc (Read) và Quyền ghi (Write).

2.3.2.11. Cải ti ến trong khái ni ệm lu ồng vận chuy ển sản ph ẩm của

nghiệp vụ:

Hiện tại đặc tính này chỉ ở mức đề xuất thử nghiệm trong đặc tả eXDPL, chưa

hỗ trợ mô tả cụ thể.

2.3.2.12. Hỗ trợ cơ chế kích hoạt giữa các ho ạt động thông qua thông

điệp:

eXPDL hỗ trợ hai cơ chế: Cơ chế bắt thông điệp và Cơ chế gửi thông điệp.

2.3.2.13. Hỗ trợ việc mở rộng các đối tượng:

XPDL và BPML cho phép các t ổ chức khác có th ể mở rộng đối tượng đã có

thông qua các thu ộc tính mở rộng. Tuy nhiên không có c ơ chế thêm vào một loại

đối tượng mới thuộc cùng một lớp đối tượng. Ví dụ: không thể thêm vào một kiểu

hoạt động mới hoàn toàn.

eXPDL cho phép thêm vào mô hình các ki ểu đối tượng mở rộng:

UserDefinedActivityType, UserDefinedEventType, UserDefinedFlowType. Do đó

có thể tạo các đối tượng mở rộng từ các kiểu trên: UserDefinedActivity (hoạt động

tự định ngh ĩa), UserDefinedEvent (s ự ki ện tự định ngh ĩa), UserDefinedFlow

(luồng tự định nghĩa).

Chương 3. Giới thiệu tổng quan hệ thống

Chúng ta thường nghe “tin học hóa trong giáo dục”, “tin học hóa trong quản lý

kế toán”, “tin h ọc hóa ….” trong nhi ều lĩnh vực. Vậy tại sao lại không ngh ĩ tới

Trang 44

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

việc “tin học hóa cho một tiến trình nghiệp vụ”. Chương này sẽ cho ta thấy rõ hơn

về con đường cần phải có một “bộ máy vận hành một tiến trình nghiệp vụ” và bộ

máy đó được xây dựng ra sao ?

3.1. Ngữ cảnh phát triển hệ thống:

Một hệ thống quản lý quy trình nghiệp vụ gồm hai phần chủ yếu sau:

(cid:216) Phần hỗ trợ mô hình hóa quy trình nghi ệp vụ: giúp ng ười dùng có th ể

mô hình hóa quy trình nghi ệp vụ trong th ực tế theo một chu ẩn đặc tả

nhất định.

(cid:216) Phần hỗ trợ vận hành quy trình nghi ệp vụ đã được định nghĩa: thường

bao gồm một động cơ ti ến trình giúp ng ười dùng v ận hành m ột quy

trình nghiệp vụ trong th ực tế, ngoài ra còn h ỗ tr ợ người dùng một số

tiện ích nhằm theo dõi và kiểm soát quy trình.

Về phần mô hình hóa quy trình nghi ệp vụ: đã có nhiều ngôn ngữ mô hình hóa

ra đời nhằm hỗ trợ người dùng mô tả quy trình nghiệp vụ của mình. Mỗi ngôn ngữ

đều cố gắng cung cấp một hệ thống các ký hi ệu và ng ữ nghĩa kèm theo giúp cho

việc mô hình hóa phù hợp với thực tế hơn. Tuy nhiên công cụ mô hình hóa đi kèm

với đặc tả của ngô ngữ thì còn rất hạn chế. Riêng ngôn ngữ eXPDL có công cụ mô

hình hóa kèm theo MyXPDL hỗ trợ rất tốt mô hình hóa nghiệp vụ [trình bày trong

chương 2].

Về phần vận hành quy trình nghiệp vụ, hiện tại còn rất hạn chế.

Trong khuôn khổ luận văn, chúng em dự định xây dựng công cụ vận hành quy

trình nghiệp vụ do công cụ mô hình hóa MyXPDL phát sinh.

3.2. Yêu cầu hệ thống cần xây dựng:

(cid:216) Quản lý các quy trình nghi ệp vụ trong tổ chức: Lưu trữ các quy

trình nghiệp vụ với mục đích tái sử dụng.

(cid:216) Khởi tạo và vận hành một dự án theo quy trình nghi ệp vụ trong

thực tế.

3.3. Ý nghĩa hệ thống:

Trang 45

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Công cụ mô hình hóa định ngh ĩa một quy trình m ẫu. Tuy nhiên khi áp d ụng

quy trình vào trong th ực tế thì rất ph ức tạp. Khi th ực hiện một nghiệp vụ trong

thực tế thì liên quan đến vấn đề nhân sự, kết quả cụ thể của từng công việc. Do đó,

hệ thống được xây dựng với mục đích hỗ trợ người dùng các nghiệp vụ sau:

Đối với tổ chức:

(cid:216) Tái sử dụng các quy trình đã được định nghĩa.

(cid:216) Lưu trữ sản phẩm của công việc, có thể tái sử dụng sau này.

Đối với người quản lý dự án:

(cid:216) Tạo mới dự án dựa vào quy trình có sẳn, hoặc tạo mới dự án trực tiếp.

(cid:216) Phân công nhân viên thực hiện công việc.

(cid:216) Quản lý sản phẩm vào ra trong từng công việc.

(cid:216) Theo dõi tiến độ thực hiện dự án.

(cid:216) Hiệu chỉnh thông tin dự án khi cần thiết (trong trường hợp dự án bị trễ,

có sự thay đổi nhân sự…).

Đối với nhân viên thực hiện công việc:

(cid:216) Thực hiện công việc phân tán: có thể thực hiện công việc bất cứ lúc nào

chỉ cần đăng nhập vào hệ thống.

(cid:216) Xem thông tin các công việc phải thực hiện

Đối với nhân viên phát triển phần mềm thì ứng dụng được xem như là cơ sở để

phát triển thành một hệ thống quản lý quy trình nghiệp vụ hoàn chỉnh.

3.4. Công cụ thiết kế:

3.4.1. Giới thiệu về công cụ mô hình hóa quy trình nghiệp vụ :

MyXPDL là m ột công c ụ giúp thi ết kế mô hình nghi ệp vụ do 2 sinh viên

trường ĐH Khoa học Tự nhiên là Tr ần Đăng Khoa và Ph ạm Minh Tu ấn đã xây

dựng thành công dựa trên ngôn ngữ mô hình hóa eXPDL do chính h ọ đề xuất dựa

trên nền tảng của 2 ngôn ng ữ mô hình ph ổ biến là BPML và XPDL. Bên c ạnh đó

phần mềm còn cung c ấp thêm một số tính năng hữu dụng khác để ràng buộc các

lỗi phát sinh khi mô hình hóa nghiệp vụ, kết xuất ra tài liệu dạng Web

Trang 46

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

3.4.2. Một số chỉnh sửa công cụ MyXPDL cho phù h ợp với việc quản lý

quy trình nghiệp vụ

(cid:216) Dù Task có định ngh ĩa Moderator hay không thì khi phát sinh file XML

vẫn tạo ra tag Moderator để tiện xử lý.

(cid:216) Nếu trong một Task Loop Type là STANDARD thì khi phát sinh file XML

không phát sinh tag Loop Condition.

(cid:216) Thêm tag Id cho một số đối tượng Role, Product … khi phát sinh file XML

để dễ xử lý tránh nhầm lẫn. Do đó, khi thêm một Role vào Task thì khi phát

sinh XML cho Task ph ải có m ột “truy c ập” đến Role. Trong phiên b ản

trước “truy cập” này là Name và trong bản sửa này được đổi thành Id.

(cid:216) Thêm chức năng Add Role vào trong Task (phiên b ản trước chưa hỗ trợ),

nhưng chưa thể hiện trong ứng dụng chỉ thêm trong file XML.

3.5. Nguyên lý tổ chức hệ thống:

Hệ thống được tổ chức theo mô hình dữ liệu tập trung.

(cid:216) Tất cả các dữ liệu (tiến trình mẫu, các sản phẩm vào ra c ủa hệ thống) đều

được lưu trữ trên Database Server (sử dụng hệ quản trị SQL Server 2000).

(cid:216) Mỗi User sử dụng máy Client c ủa mình đăng nh ập vào h ệ thống và th ực

hiện công việc của mình. Sau khi kết thúc công việc, tất cả các dữ liệu được

lưu trữ lại trên Server.

Hệ thống quản lý qui trình nghiệp vụ

Hình 4 Nguyên lý tổ chức hệ thống

3.6. Nguyên lý vận hành hệ thống:

Trang 47

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hệ thống được vận hành theo cơ chế tuần tự, dựa vào trạng thái các hoạt động,

luồng điều khiển và các c ổng điều khiển. Ch ương trình h ỗ trợ vận hành ba lo ại

cổng chính:

(cid:216) Cổng AND: Khi tất cả các luồng tuần tự đi vào cổng được kích hoạt thì tất

cả các hoạt động sau cổng sẽ được kích hoạt đồng thời.

(cid:216) Cổng OR:Khi một luồng tuần tự đi vào cổng được kích ho ạt thì tất cả các

luồng tuần tự sau cổng nếu thõa điều kiện sẽ được kích hoạt.

(cid:216) Cổng Xor_DATABASE: Chỉ có duy nh ất một luồng tuần tự sau cổng thõa

điều kiện đựơc kích hoạt.

Các biểu thức điều kiện dựa vào trạng thái mở rộng của hoạt động, sản phẩm,

và chương trình chỉ hỗ trợ loại điều kiện tự động (auto).

Hình 5 Nguyên lý vận hành hệ thống

3.7. Quy trình tổng quan:

Trang 48

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 6 Quy trình tổng quan

Chương 4. Phân tích yêu cầu hệ thống

4.1. Các thành phần hỗ trợ trong luận văn:

eXPDL hỗ tr ợ mô t ả tốt 18/20 mẫu lu ồng công vi ệc đã được công b ố. Tuy

nhiên , trong khuôn kh ổ luận văn, chúng em không th ể hỗ trợ hết tất cả các mẫu

công việc trên. Sau đây là một số thành phần mà chúng em hỗ trợ, được phân chia

theo đối tượng trong mô hình:

(cid:216) Activity: Hỗ trợ điều kiện lặp kiểu "Standard". Đối với process ch ỉ

hỗ tr ợ ở mức đơn gi ản, không h ỗ tr ợ "Transaction" và

"Compensation". Hỗ trợ cơ chế lặp theo "Timer"

(cid:216) Gateway: Hỗ trợ 3 loại Gateway: AND, OR, Xor_DATABSED

(cid:216) Event:Hỗ trợ 2 lo ại sự kiện là : StartEvent và EndEvent, tuy nhiên

chỉ hỗ trợ ở mức đơn giản nhất: loại "NONE".

(cid:216) Atomic: hỗ trợ loại "AUTO".

(cid:216) Expression

Trang 49

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) UserDefinedType

(cid:216) Product: chỉ hỗ trợ loại sản phẩm là "DOCUMENT".

(cid:216) SequenceFlow: Hỗ trợ điều ki ện dựa trên tr ạng thái mở rộng của

Product và Activity.

(cid:216) ExecuteRelation: Ch ương trình h ỗ tr ợ quan hệ thực thi thông qua

việc người dùng tự thiết lập lúc chạy dự án. Do tập tin phát sinh của

công cụ mô hình hóa eXPDL không lưu trữ quan hệ này.

(cid:216) Role

Các đối tượng khác nh ư: Model, Organization, Tool, IntermediateEvent được

lưu trữ lại để phát triển tiếp hệ thống về sau.

4.2. Các chức năng chính:

4.2.1. Quản lý quy trình mẫu:

Chức năng này cho phép các tổ chức có thể tạo mới các quy trình nghiệp vụ từ

tập tin mô hình hóa. Các quy trình này có th ể được tái sử dụng trong nhiều dự án

khác nhau.

4.2.2. Khởi tạo dự án:

Trong đề tài chúng em phân chia d ự án theo hai lo ại: dự án được kh ởi tạo từ

quy trình mẫu (template project) và dự án được khởi tạo không theo quy trình mẫu

(none template project).

Template project: là dự án được khởi tạo từ quy trình mẫu có sẳn.

None template project: Là dự án do người dùng tạo mới ở dạng “dự án rỗng”,

sau đó thêm các đối tượng cần thiết cho quy trình vào dự án. Thời gian có hạn nên

chúng em ch ưa hỗ trợ hết các lo ại đối tượng cho lo ại dự án này. Ch ức năng này

chỉ áp d ụng cho các d ự án đơn gi ản. Sau đây là một các đối tượng mà ch ương

trình hỗ trợ:

• Activity: Thêm công việc vào dự án, đây là các công việc nguyên tố. • Process: Thêm quy trình con vào m ột quy trình nào đó, nếu thêm quy

trình vào d ự án thì được xem là quy trình chính c ủa dự án. Khi thêm

một quy trình thì ch ương trình tự động thêm hai s ự kiện bắt đầu và kết

Trang 50

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

thúc cho quy trình. Do chương trình chưa hỗ trợ các loại sự kiện nên các

sự kiện được thêm mặc định có kiểu là “NONE”.

• Product: Thêm các sản phẩm vào trong dự án. • Gateway: Thêm các công điều khiển vào trong dự án. Chương trình hỗ

trợ 3 lo ại cổng điều khi ển là : AND, OR, Xor_DATABASED với ý

nghĩa theo đặc tả ngôn ngữ eXPDL.

• SequenceFlow: Thêm các lu ồng điều khi ển. Các lu ồng điều khi ển

được thêm vào trong t ừng quy trình c ụ thể. Người dùng ph ải đảm bảo

thiết lập đúng luồng công vi ệc, ch ương trình ch ưa hỗ trợ kiểm tra tính

đúng đắn của luồng công việc. Có thể xác lập điều kiện cho lu ồng điều

khiển thông qua trạng thái mở rộng của công việc và sản phẩm.

• UserDefinedType: Thêm các kiểu dữ liệu do người dùng tự định nghĩa.

Thường được dùng để quy định trạng thái mở rộng cho công vi ệc, sản

phẩm.

• Expression: Thiết lập các biểu thức điều kiện.

4.2.3. Quản lý dự án:

Để dự án có thể thực hiện được người quản lý dự án phải thực hiện phân công

nhân sự, tài nguyên cho d ự án. Ngoài ra khi d ự án đang thực hiện người quản lý

dự án có th ể thực hiện điều chỉnh nhân sự, thời gian cho kịp tiến độ thực hiện dự

án. Hệ thống hỗ trợ các chức năng sau:

• Phân công nhân viên th ực hiện trong t ừng công vi ệc cụ thể, và quy ền

của nhân viên đối với công việc đó :

o View: Nhân viên đó ch ỉ được xem các thông tin công vi ệc mà

không được phép cập nhật hay thực hiện bất kỳ thay đổi nào đối

với công việc.

o Edit: Nhân viên được th ực hi ện công vi ệc (đây là quy ền mặc

định khi thêm nhân viên vào công việc).

Trang 51

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

• Đối với “none template project” ng ười quản lý có th ể quy định các sản

phẩm vào/ra của từng công việc.

• Trong từng công việc, thực hiện phân quyền cho nhân viên đối với từng

sản phẩm của công việc:

o Upload: Nhân viên được phép upload và download s ản ph ẩm

(đây là quyền mặc định).

o Download: Nhân viên ch ỉ được phép download mà không được

phép upload. Điều này tránh vi ệc upload b ừa bãi gây khó kh ăn

cho công việc và hệ thống.

• Cung cấp các tài nguyên (d ưới dạng tập tin là ch ủ yếu) cho các s ản

phẩm.

• Quy định khoảng thời gian thực hiện công việc. Mặc định các công việc

được thực hiện theo lu ồng tuần tự đã được định nghĩa trước nếu người

quản lý không quy định thời gian thực hiện cụ thể.

• Theo dõi tiến độ thực hiện dự án, bao gồm: theo dõi tiến độ chung hoặc

tiến độ của từng công việc cụ thể.

4.2.4. Thực hiện dự án:

Giúp người dùng th ực hiện công vi ệc của mình. Ng ười dùng có th ể tham gia

thảo lu ận nhóm trong công vi ệc của mình thông qua “forum” tr ực tiếp trên công

việc.

Quản lý luân chuyển tự động sản phẩm qua các công việc trong dự án.

4.2.5. Các chức năng quản trị: • Quản lý thông tin các thành viên: Tìm ki ếm thành viên, thay đổi thông

tin cá nhân.

• Thêm thành viên mới. • Phân quyền cho các thành viên trong hệ thống.

4.3. Mô hình Use Case:

Trang 52

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Manage User Account

Register

Update User Info

Login

Search User Account

Manage Product

User

Admin

(from Actors)

Manage Template

Run Activity

Member

Project Manager

Edit Project

UserActivity

Setup template Project

Project Report Search Project

Delete Project

Setup none template project

Hình 7 Mô hình Use Case

4.4. Đặc tả Actor:

Admin: Người quản trị hệ thống, có vai trò thiết lập các vai trò trong hệ thống,

đây là Actor có quyền cao nhất hệ thống.

Project Manager : Ng ười qu ản lý d ự án. Ch ịu trách nhi ệm kh ởi tạo và v ận

hành một dự án, tạo mới một quy trình nghiệp vụ.

Member: Thành viên, là actor có quy ền th ấp nh ất trong h ệ th ống, ch ỉ được

phép thực hiện các công việc do Project Manager phân công.

4.5. Đặc tả Use Case:

4.5.1. Manage Template (Quản lý quy trình mẫu):

Tóm tắt:Use case này cho phép người quản lý dự án có thể thêm mới hoặc hủy

bỏ 1 quy trình nghiệp vụ đã được định nghĩa.

Dòng sự kiện :

(cid:216) Dòng sự kiện chính:

Trang 53

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Use case này bắt đầu khi Admin mu ốn thêm hay hủy 1 số quy trình nghiệp vụ

có sẳn trong tổ chức.

1. Hệ th ống yêu c ầu “Admin” ch ọn ch ức năng mu ốn th ực hi ện (“ Delete

template”,”Add new template”).

2. Sau khi “Admin” ch ọn chức năng thực hiện, một trong các lu ồng phụ sau

được thực hiện.

Nếu chọn “Add new template”, luồng phụ Add new template được thực hiện.

Nếu chọn “Delete template”, luồng phụ Delete template được thực hiện.

• Add new template(Thêm 1 quy trình nghiệp vụ mới):

1. Hệ thống yêu cầu nhập các thong tin sau:

Name(Tên, Bắt buộc phải có)

File(File mô hình hóa quy trình nghiệp vụ, bắt buộc)

Mô tả(Description)

Created date (Ngày tạo)

2. Sau khi “Admin” nhập thong tin cần thiết vào. Hệ thống lưu lại thông tin

trên và phát sinh ra 1 số ID cho Template. • Delete template(Xóa template khởi hệ thống):

1. Hệ thống yêu cầu chọn template từ danh sách có sẳn.

2. Hệ thống hiển thị thong tin của template: Ngày tạo, người tạo.

3. Người dung nhấn nút xóa.

4. Hệ thống nhắc nhở người dùng xác nhận thao tác xóa.

5. Người dùng xác nhận thao tác xóa.

6. Hệ thống xóa template ra khởi cơ sở dữ liệu.

(cid:216) Dòng sự kiện khác:

• Thao tác xóa bị hủy:

Nếu trong lu ồng ph ụ “Delete template ”, ng ười dùng không xác nh ận xóa

template thì thao tác xóa bị hủy và Dòng dự kiện chính được bắt đầu lại từ đầu.

o Tồn tại project đã tạo từ template này:

Trang 54

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

- Nếu đã có ít nh ất 1 project đã được tạo từ Template này, hệ thống hiển thị

thông báo: Tên project, tr ạng thái project c ủa nh ững project kh ởi tạo từ

template này. Hệ thống nh ắc nh ở người dùng “N ếu xóa Template thì các

project bị xóa theo”.

- Nếu ng ười dùng xác nh ận, thì h ệ thống xóa t ự động xóa các project liên

quan và xóa Template

- Nếu ng ười dùng không xác nh ận, thao tác xóa b ị hủy bỏ, Dòng sự ki ện

chính được bắt đầu lại từ đầu.

o Không tồn tại template nào:

Một thông báo lỗi cho người dùng. Sau khi người dùng đọc xong và xác nh ận,

Use case kết thúc.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

Người dùng phải đăng nhập vời quyền là “Admin”.

Post-Condition:

Nếu Use case thành công 1 template được them vào ho ặc xóa kh ỏi hệ thống,

use case kết thúc.

Ngược lại trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có.

4.5.2. Setup template project (Tạo mới dự án theo mẫu có sẵn):

Tóm tắt:

Use case cho phép PM khởi tạo mới 1 dự án theo 1 mẫu template.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi PM muốn tạo mới 1 dự án.

1. Hệ thống load tất cả các Template có sẳn trong công ty.

2. Hệ thống yêu cầu PM nhập các thông tin của project:

Trang 55

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Name :Tên project, bắt buộc.

Description :Mô tả ngắn gọn về dự án.

Template :Chọn 1 template từ danh sách có sẳn, bắt buộc.

Start date: Ngày bắt đầu thực hiện dự án.

Finish date: Ngày kết thúc dự án (Có tính tương đối).

3. Hệ th ống ghi nh ận thông tin kh ởi tạo project, phát sinh 1 s ố ID duy nh ất

cho Project.

4. Hệ thống phân tích cấu trúc file Template, lưu xuống CSDL.

5. Trả lại cho PM số ID của project.

6. Dòng sự kiện chính được bắt đầu lại.

(cid:216) Dòng sự kiện khác:

• Template không tồn tại:

Nếu không tồn tại Template nào, Use case kết thúc.

o Ngày kết thúc không hợp lệ:

Nếu ngày kết thúc trùng ngày bắt đầu, hệ thống thông báo lỗi cho PM, yêu cầu

PM nhập lại ngày kết thúc, hoặc có thể để trống.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

PM phải đăng nhập vào hệ thống.

Post-Condition:

Nếu Use case thành công, 1 dự án mới được them vào hệ thống.

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có.

4.5.3. Setup none template project (Tạo mới dự án không theo mẫu):

Tóm tắt:

Use case cho phép PM tạo mới 1 dự án không theo quy trình m ẫu. Tất cả các

công việc, sản phẩm đều do PM tự định nghĩa.

Trang 56

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case khi PM khởi tạo 1 dự án không theo quy trình mẫu có sẳn.

1. Hệ thống yêu cầu PM nhập các thông tin của project:

Name :Tên project, bắt buộc.

Description :Mô tả ngắn gọn về dự án.

Template :Chọn 1 template từ danh sách có sẳn, bắt buộc.

Start date: Ngày bắt đầu thực hiện dự án.

Finish date: Ngày kết thúc dự án (Có tính tương đối).

2. Hệ thống phát sinh ra ID cho người dùng.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

PM phải đăng nhập vào hệ thống.

Post-Condition:

Nếu Use case thành công, 1 dự án mới được thêm vào hệ thống.

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có.

4.5.4. Delete Project: (Xóa dự án)

Tóm tắt:

Use case cho phép PM hủy bỏ Project đã triển khai.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi PM muốn hủy các Project mà do mình triển khai.

1. Hệ thống yêu cầu PM nhập vào số ID của project.

2. Hệ thống hiển thị các thông tin của project.

3. Người dùng thực hiện thao tác xóa.

4. Hệ thống nhắc nhở người dùng xác nhận thao tác xóa.

Trang 57

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

5. Người dùng xác nhận thao tác xóa.

6. Hệ thống xóa project ra khỏi hệ thống: Thông tin riêng , các công

việc trong project.

7. Dòng sự kiện chính được thực hiện lại.

(cid:216) Dòng sự kiện khác:

• Không tìm thấy project:

Tong dòng sự kiện chính, nếu không tìm th ấy project nào, h ệ thống hiển th ị

thông báo lỗi. PM có thể nhập vào số ID khác, hoặc hủy bỏ thao tác, Use case kết

thúc.

• Thao tác xóa bị hủy:

Nếu trong dòng s ự kiện chính, PM không xác nh ận thao tác xóa thì thao tác

xóa bị hủy và dòng sự kiện chính bắt đầu lại từ đầu.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

PM phải đăng nhập vào hệ thống.

Post-Condition:

Nếu Use case thành công, 1 dự án bị xóa khỏi hệ thống.

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có

4.5.5. Project Report (báo cáo dự án):

Tóm tắt:

Use case cho phép PM xem thông tin hoạt động của 1 dự án.

Nếu project chưa hoàn thành: Xem tiến trình thực hiện dự án

Nếu project đã hoàn thành: Xem bản báo cáo của dự án

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Trang 58

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Use case bắt đầu khi PM muốn xem quá trình thực hiện dự án hay bản báo cáo

tổng kết dự án đã hoàn thành.

1. Hệ thống yêu cầu PM nhập số ID của Project.

2. Hệ thống hiển thị thông tin riêng của dự án.

3. Hệ thống hiển th ị danh sách các công vi ệc(Activity), tiến độ thực

hiện, danh sách các nhân viên tham gia công việc đó, Các sản phẩm

vào và ra của dự án(đến thời điểm hiện tại)

4. Đối với các công vi ệc đã hoàn thành, H ệ thống tính số ngày hoàn

thành trước thời hạn.

5. PM có th ể chuyển sang ch ế độ “edit”, Use case “ Edit Project ”

được thực hiện, hoặc có thể huỷ tác vụ -> Use case kết thúc.

(cid:216) Dòng sự kiện khác:

• Không tìm thấy Project:

Trong dòng sự kiện chính, nếu hệ thống không tìm thấy project, 1 thông báo lỗi

được gửi đến PM, PM có thể nhập vào 1 ID khác hoặc hủy tác vụ -> Use case kết

thúc.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

PM phải đăng nhập vào hệ thống.

Post-Condition:

Use case không làm thay đổi trạng thái hệ thống.

Điểm mở rộng:

Không có

4.5.6. Search Project: (Tìm kiếm project)

Tóm tắt:

Use case cho phép PM hoặc Admin tìm kiếm Project theo các tiêu chuẩn khác

nhau:Mã(ID), Tên, Người tạo, Ngày tháng năm.

Dòng sự kiện:

Trang 59

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Dòng sự kiện chính:

Use bắt đầu khi PM hoặc Admin muốn tra cứu thông tin của 1 project.

1. Hệ thống yêu cầu người dùng nhập vào tiêu chuẩn tìm kiếm.

2. Hệ th ống tr ả về danh sách các project thõa mãn tiêu chu ẩn tìm

kiếm.

3. Người dùng mu ốn xem thông tin chi ti ết của Project: Ch ọn 1

project trong danh sách tr ả về và Use case Project Report được

thực hiện.

4. Người dùng xác nhận kết quả tìm kiếm và dòng sự kiện chính được

thực hiện lại.

(cid:216) Dòng sự kiện khác:

• Không tìm thấy project:

Trong dòng sự kiện chính, nếu hệ thống không tìm thấy project, 1 thông báo lỗi

được gửi đến PM, PM có thể nhập vào 1 ID khác hoặc hủy tác vụ -> Use case kết

thúc.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

PM hoặc Admin phải đăng nhập vào hệ thống.

Post-Condition:

Use case không làm thay đổi trạng thái hệ thống.

Điểm mở rộng:

Không có

4.5.7. Edit Project:

Tóm tắt:

Use case cho phép PM thi ết lập các thông tin ban đầu cho project: Ngày b ắt

đầu, ngày kết thúc. Phân các các nhân viên tham gia vào các công vi ệc cụ thể. PM

có thể thay đổi việc phân công cho 1 project đã khởi tạo rồi.

Dòng sự kiện:

Trang 60

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi PM muốn thay đổi thông tin của project, phân công công

việc cho nhân viên tham gia vào trong project.

1. Hệ thống yêu cầu PM nhập vào số ID của Project.

2. Hệ thống load lại danh sách các công việc có trong project.

3. Hệ th ống yêu c ầu ng ười dùng ch ọn ch ức năng năng th ực hi ện

(“Edit project info”, “Edit Activity”).

4. Nếu PM ch ọn “Edit project info ”, lu ồng sự ki ện ph ụ “Edit

project info” được thực hiện.

5. Nếu PM ch ọn “Edit Activity”, luồng sự kiện phụ “Edit Activity”

được thực hiện.

• Edit project info: Thay đổi thông tin project.

1. Hệ thống yêu cầu người dùng nh ập vào ngày bắt đầu,ngày kết

thúc mới.

2. Hệ thống ghi nhận giá trị mới.

3. Dòng sự kiện chính được bắt đầu lại.

1.1.1.1. Edit Activity:

1. Hệ thống yêu cầu người dùng cung cấp ID Activity.

2. Hệ thống hiển thị thông tin của Activity: Tên, danh sách các role

được định nghĩa trong template.

3. Hệ thống hiển thị danh sách các nhân viên trong tổ chức.

4. Hệ thống yêu cầu người dùng nh ập vào ngày bắt đầu,ngày kết

thúc công việc.

5. Hệ th ống yêu c ầu PM phân công nhân viên tham gia vào các

role.

6. Hệ thống yêu cầu PM cấp quyền cho nhân viên đối với Activity:

Xem (View), Thực hiện(Edit)

7. Nếu PM mu ốn hủy bỏ sự phân công v ừa thi ết lập, lu ồng ph ụ

“Delete user in role” được thực hiện.

Trang 61

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

8. PM chọn chức năng lưu lại kết quả edit.

9. Hệ thống lưu lại ngày bắt đầu, kết thúc của 1 công vi ệc, sự phân

công nhân sự tham gia vào công việc.

10. Dòng sự kiện này được tiếp tục thực hiện lại.

11. Use case kết thúc khi PM kết thúc việc “Edit”

o Delete user in role:(Mỗi lần xóa 1 sự phân công)

1. Hệ thống nhắc nhở người dùng xác nhận thao tác xóa.

2. Người dùng xác nhận thao tác.

3. Hệ thống xóa sự phân công vừa được thực hiện.

4. Dòng sự kiện Edit activity được thực hiện.

(cid:216) Dòng sự kiện phụ:

• Project không tồn tại:

Nếu trong dòng sự kiện chính, không tồn tại project nào, 1 thông báo l ỗi được

giửi đến cho người dùng. PM có thể nhập vào ID khác, hoặc hủy thao tác, use case

kết thúc.

• Ngày kết thúc không hợp lệ:

Nếu trong 2 dòng s ự kiện phụ, nếu ngày kết thúc trùng v ới ngày bắt đầu. Hệ

thống thông báo lỗi cho người dùng. Hệ thống yêu cầu người dùng nhập lại ngày

hoặc để trống ngày kết thúc. • Không tồn tại role:

Trong dòng sự ki ện “Edit activity”, nếu không có role nào được định ngh ĩa

tham gia thực hiện Activity. Hệ thống vẫn ghi nhận sự phân công bình thường.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

PM phải đăng nhập hệ thống.

Post-Condition:

Nếu Use case thành công, các thông tin mới của dự án được ghi nhận.

Trang 62

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Ngược lại, dự án đó chưa thể được th ực hiện, trạng thái hệ thống không thay

đổi.

Điểm mở rộng:

Thêm mới 1 Activity vào project.

4.5.8. Run Activity (thực hiện công việc):

Tóm tắt:

Use case cho phép Member thực hiện công việc được giao trong 1 project.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi 1 Member login thành công vào hệ thống.

1. Hệ thống load tất cả các project chưa hoàn thành mà Member tham

gia.

2. Member chọn project muốn thực hiện công việc.

3. Hệ th ống hi ển th ị tất cả các công vi ệc(Kèm theo tr ạng thái) có

trong Project. Công vi ệc nào Member được giao tham gia s ẽ ở

trạng thái “Enable”, ngược lại ở trạng thái “Disable”.

4. Member ch ọn 1 công vi ệc trong các công vi ệc ở tr ạng thái

“Enable”.

5. Hệ thống hiển th ị thông tin c ủa Acitivty. Quá trình th ực hiện của

các thành viên tham gia

6. Hệ thống kiểm tra quyền của Member đối với Activity đó:

a. Nếu là “View”: Member chỉ được phép xem.

b. Nếu là “ Edit”: Member được phép Upload, Download các

product trong Activity, c ập nh ật tr ạng thái, tr ạng thái m ở

rộng cho Activity.

7. Người dùng lưu lại kết quả làm việc(Update).

8. Hệ thống kiểm tra nếu công vi ệc đã hoàn thành (Finish), thì kích

hoạt các công việc tiếp theo.

9. Member kết thúc phiên làm việc-> Use case kết thúc.

Trang 63

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Dòng sự kiện khác:

• Không tìm thấy project:

Trong dòng sự kiện chính, nếu hệ thống không tìm thấy project, 1 thông báo lỗi

được gửi đến cho Member -> Use case kết thúc.

• Không tìm thấy Acitivity:

Trong dòng s ự ki ện chính, n ếu các Activity member tham gia đều đã hoàn

thành(Finish), 1 thông báo gửi đến cho Member->Use case kết thúc.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

Member phải đăng nhập vào hệ thống.

Post-Condition:

Nếu Use case thành công, trạng thái công việc trong project bị thay đổi.............

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có

4.5.9. Manage Product (quản lý sản phẩm):

Tóm tắt:

Use case cho phép người dùng quản lý product (Upload, Download, Tạo mới )

trong 1 Activity.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi người dùng muốn quản lý các product có trong Activity:

Người dùng chọn 1 loại product trong Activity.

1. Hệ th ống yêu c ầu ng ười dùng ch ọn ch ức năng mu ốn th ực hi ện

(Upload, Download, Create Object).

2. Sauk hi ng ười dùng ch ọn xong, 1 trong các lu ồng ph ụ sau được

thực hiện:

Nếu chọn “Upload”, luồng phụ “Upload product” được thực hiện.

Trang 64

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Nếu chọn “Download”, luồng phụ “Download product” được thực

hiện.

Nếu chọn “Create Object”, luồng phụ “Create product” được thực

hiện.

• Upload product:

1. Hệ th ống yêu c ầu ng ười dùng nh ập vào tên file product mu ốn

upload.

2. Hệ thống lấy file từ máy người dùng lưu lại tại Server.

• Download product:

1. Hệ thống hiển thị danh sách các file(Product) mà ng ười dùng có

thể download.

2. Người dùng chọn file cần download.

3. Hệ thống yêu cầu người dùng nh ập vào địa chỉ lưu file(Tại máy

của user).

4. Hệ th ống th ực hi ện chuyển nội dung file t ừ Server về máy của

user.

• Create product: Lu ồng này b ắt đầu khi ng ười dùng mu ốn tạo đối

product dạng Object. (Lưu ý kiểu này rất ít sử dụng nên ít được hổ trợ

trong chương trình)

1. Hệ thống yêu cầu người dùng nhập vào thông tin của Object (Bổ

sung sau).

2. Người dùng điền thông tin cho Object.

3. Hệ thống lưu lại thông tin Object.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

User phải đăng nhập vào hệ thống và tham gia thực hiện 1 Activity.

Post-Condition:

Nếu Use case thành công, thông tin công việc trong project bị thay đổi.

Trang 65

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có

4.5.10. UserActivity (Xem thông tin công việc cá nhân):

Tóm tắt:

Use case cho phép 1 user có th ể theo dõi thông tin ho ạt động của mình. Đóng

vai trò tương tự như thời khóa biểu của user đó.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi người dùng muốn xem thông tin hoạt động của mình.

1. Hệ thống hiển thị danh sách các project mà người dùng tham gia

2. Người dùng chọn project.

3. Hệ th ống hiển th ị danh sách các công vi ệc mà ng ười dùng tham gia:

Tên công việc, vai trò c ủa người dùng, quyền (View, Edit), tr ạng thái

hiện tại của công việc, thời gian thực hiện.

4. Người dùng xác nhận xem xong.

5. Use case kết thúc.

(cid:216) Dòng sự kiện khác:

• Không có công việc nào:

Nếu trong dòng s ự kiện chính, ng ười dùng không tham gia b ất kỳ hoạt động

nào, Use case kết thúc.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

User phải đăng nhập vào hệ thống.

Post-Condition:

Use case không làm thay đổi trạng thái hệ thống.

Điểm mở rộng:

Không có

Trang 66

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

4.5.11. Login (đăng nhập):

Tóm tắt:

Use case cho phép người dùng đăng nhập vào hệ thống.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi người dùng muốn đăng nhập vào hệ thống.

1. Hệ thống yêu cầu người dùng nhập vào Username, Password

2. Người dùng nhập Username và Password.

3. Hệ th ống ti ến hành ki ểm tra Username và Password , và cho phép

người dùng đăng nhập hệ thống.

(cid:216) Dòng sự kiện khác:

• Đăng nhập không hợp lệ:

Nếu trong dòng s ự kiệnc chính, usename và password không h ợp lệ, hệ thống

thông báo lỗi cho ng ười dùng. Ng ười dùng có th ể nhập lại 2 thông tin trên ho ặc

kết thúc việc đăng nhập.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

Không có.

Post-Condition:

Nếu Use case thành công, Người dùng đăng nhập vào hệ thống.

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có

4.5.12. Register: (Đăng ký thành viên).

Tóm tắt:

Use case cho phép 1 người đăng ký làm thành viên của tổ chức.

Dòng sự kiện:

(cid:216) Dòngsự kiện chính:

Trang 67

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Use case bắt đầu khi 1 người muốn tham gia làm thành viên của tổ chức.

1. Hệ thống yêu cầu người dùng nhập các thông tin cá nhân:

First name: H ọ.

Last name: Tên.

User name: Tên đăng nhập.

Password: m ật khẩu đăng nhập.

Confirm password: Nh ập lại mật khẩu.

Address: Địa chỉ tạm trú.

Email: Địa chỉ mail.

Telephone: S ố điện thoại.

Fax

2. Người dùng nhập thông tin được yêu cầu.

3. Hệ thống kiểm tra username, password và ghi nhận lại thông tin.

4. Use case kết thúc.

(cid:216) Dòng sự kiện khác:

• Username không hợp lệ:

Trong dòng sự kiện chính, nếu Username bị trùng với 1 username đã tồn tại.

Một thông báo lỗi được gửi cho người dùng. Người dùng có thể thay đổi username

hoặc hủy việc đăng ký.

• Password không hợp lệ:

Trong dòng sự kiện chính, Nếu người dùng nhập lại Password sai. M ột thông

báo lỗi gửi cho người dùng. Người dùng có th ể nhập lại Password ho ặc hủy việc

đăng ký.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

Không có.

Post-Condition:

Nếu Use case thành công, 1 user được them vào hệ thống.

Trang 68

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có

4.5.13. Update User Info (cập nhật thông tin cá nhân):

Tóm tắt:

Use case cho phép ng ười dùng thay đổi thông tin cá nhân của mình(Các thông

tin đã có ở phần Register).

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi 1 người dùng muốn cập nhật lại thông tin cá nhân.

1. Hệ thống yêu cầu người dùng điền vào 1 ho ặc nhiều trong các thông

tin sau:

First name

Last name

Password

Address

Email

Telephone

Fax

2. Hệ thống lưu lại thông tin mới của người dùng.

3. Dòng sự kiện chính được thực hiện lại hoặc kết thúc việc chỉnh sửa.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

User phải đăng nhập vào hệ thống.

Post-Condition:

Nếu Use case thành công, Thông tin mới về người dùng được cập nhật.

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Trang 69

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Không có

4.5.14. Manage User Account:

Tóm tắt:

Use case cho phép Admin qu ản lý các thành viên tham gia trang web: Xem

thông tin các thành viên, xóa thành viên, phân quyền cho các thành viên.

Dòng sự kiện:

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi Admin mu ốn quản lý thông tin các User tham gia trang

web: Xóa User Account, Phân quyền cho các user.

1. Hệ thống hiển thị danh sách các User Account.

2. Hệ thống yêu cầu Admin chọn 1 User Account.

3. Admin chọn 1 User Acount.

4. Hệ thống yêu cầu người dùng chọn chức năng muốn thực hiện: Delete

User Account, Security Roles.

5. Người dùng ch ọn ch ức năng, 1 trong các lu ồng ph ụ sau được th ực

hiện:

Nếu ch ọn “Delete User Account ”, lu ồng ph ụ “Delete User

Account” đựơc thực hiện.

Nếu chọn “Security Roles”, luồng phụ “Security Roles” được thực

hiện.

• Delete User Account: Xóa User ra khỏi hệ thống.

1. Hệ th ống hiện thống báo xác nh ận thao tác xóa, đồng thời cảnh

báo Admin nếu người đó đang tham gia vào trong 1 project nào

đó.

2. Admin xác nhận thao tác xóa.

3. Hệ thống thực hiện xóa User được chọn.

4. Dòng sự kiện chính được thực hiện lại.

• Security Roles: Phân quyền cho các thành viên trong hệ thống.

Trang 70

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

1. Hệ thống hiển thị danh sách các Quyền(role) có trong hệ thống:

Admin, Project Manager, Member.

2. Hệ thống yêu cầu Admin chọn role cho user.

3. Admin xác nhận phân công.

4. Hệ thống lưu lại sự phân công.

5. Dòng sự kiện Security Roles được bắt đầu lại hoặc Admin có thể

chấm dứt sự phân công, Use case kết thúc.

(cid:216) Dòng sự kiện khác:

• Không tìm thấy User:

Trong dòng sự kiện chính, Nếu không tìm thấy User Account nào thì Use case

kết thúc.

• User đang tham gia project:

Trong luồng phụ “Delete User Account”, nếu User đang tham gia 1 hay nhiều

dự án, thì h ệ th ống gửi thông báo đến cho Project Manager c ủa dự án bi ết User

không còn tồn tại, đồng thời xóa sự phân công cho User trong project đó

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

Admin phải đăng nhập vào hệ thống.

Post-Condition:

Nếu Use case thành công, 1 User b ị xóa kh ởi hệ th ống hoặc có sự phân công

role mới.

Ngược lại, trạng thái hệ thống không thay đổi.

Điểm mở rộng:

Không có

4.5.15. Search User Account:

Tóm tắt:

Use case cho phép Admin tìm kiếm User theo: User Name.

Dòng sự kiện:

Trang 71

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

(cid:216) Dòng sự kiện chính:

Use case bắt đầu khi Admin muốn tìm kiếm thông tin của 1 User.

1. Hệ thống yêu cầu Admin nhập vào Username muốn tìm.

2. Hệ th ống hi ển th ị danh sách các User Account (cùng thông tin liên

quan) có Username chứa Username muốn tìm.

3. Use case kết thúc.

(cid:216) Dòng sự kiện khác:

• Không tìm thấy user:

Một th ống báo l ỗi được gửi đến Admin. Admin có th ể nh ập vào Username

khác hoặc hủy thao tác tìm kiếm, Use case kết thúc.

Các yêu cầu đặc biệt:

Không có.

Điều kiện tiên quyết:

Admin phải đăng nhập vào hệ thống.

Post-Condition:

Use case không làm thay đổi trạng thái hệ thống.

Điểm mở rộng:

Không có.

Chương 5. Phân tích và thiết kế hệ thống

5.1. Thiết kế dữ liệu:

Mô hình dữ liệu được thiết kế tập trung lưu trữ các thông tin của tiến trình qua

các giai đoạn: Lưu trữ quy trình mẫu, khởi tạo 1 dự án, vận hành 1 d ự án và l ưu

trữ các thành phần phát sinh trong quá trình v ận hành dự án. Bên cạnh đó còn lưu

trữ thông tin các user.

Dữ liệu được thiết kế lưu trữ theo 3 cấp độ khác nhau, như sau:

- Cấp độ tổ chức: Lưu trữ các thông tin có tính ch ất chung: Người dùng, quy

trình mẫu, các tập tin sản phẩm vào ra của các dự án.

- Cấp độ dự án: Lưu trữ các thông tin của 1 dự án cụ thể.

- Cấp độ thực thi: Lưu trữ thông tin quá trình vận hành dự án.

Trang 72

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 8 Mô hình cơ sở dữ liệu tổng quan

5.2. Một số lược đồ cơ sở dữ liệu:

(cid:216) Lược đồ cơ sở dữ liệu phân công user thực hiện công việc:

Hình 9 Lược đồ cơ sở dữ liệu phân công thực hiện công việc

(cid:216) Lược đồ cơ sở dữ liệu tạo mới công việc:

Hình 10 Lược đồ cơ sở dữ liệu tạo mới công việc

(cid:216) Lược đồ cơ sở dữ liệu tạo mới sản phẩm:

Trang 73

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 11 Lược đồ cơ sở dữ liệu tạo mới sản phẩm

5.3. Thiết kế xử lý:

Các xử lý chính tập trung vào việc hiển thị cây tiến trình, quản lý các sản phẩm

vào ra trong quá trình th ực hiện công vi ệc, kích ho ạt các công vi ệc tiếp theo khi

một công việc hoàn tất, phân công các thành viên vào các vai trò t ương ứng trong

từng công việc cụ thể, quy định lại thời gian thực hiện công việc. Các xử lý được

mô tả bằng các lược đồ tuần tự (Sequence Diagram). Một số lược đồ tuần tự chính

được mô tả ở phần phụ lục.

Chương trình hỗ trợ hai loại dự án khác nhau:

(cid:216) Dự án theo mô hình (Template Project): Dự án được khởi tạo theo mô hình

có sẳn do công c ụ mô hình hóa phát sinh. Có kh ả năng tái s ử dụng cho

nhiều dự án khác nhau theo cùng mẫu.

(cid:216) Dự án không theo mô hình (None Template Project): D ự án được khởi tạo

do người dùng lần lu ợt thêm các công vi ệc thích hợp vào dự án. Nói cách

khác, người quản lý dự án ph ải thiết kế quy trình cho d ự án của mình mà

không dùng công c ụ mô hình hóa. Do đó, dự án theo d ạng này không có

khả năng tái sử dụng.

Các công đoạn chính trong việc khởi tạo và vận hành dự án:

- Khởi tạo dự án

(cid:216) Đối với dự án theo mô hình hóa:

o Khởi tạo dự án từ tập tin mô hình hóa

(cid:216) Đối với dự án không theo mô hình hóa:

o Tạo mới dự án rỗng

Trang 74

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

o Thêm các đối tượng(Main Process, Process, Activity, Product,

Gateway, SequenceFlow, ExtendedStatus, Expression) vào trong d ự

án

- Phân công thực hiện dự án cho từng thành viên trong các công việc cụ thể.

- Quy định thời gian th ực hiện dự án, th ời gian th ực hiện công vi ệc cụ thể:

Người quản lý dự án có thể thay đổi thời gian thực hiện dự án, quy định lại

thời gian thực hiện dự án.

- Hiển thị cây dự án.

- Thực hiện các công việc được giao trên cây tiến trình:

5.3.1. Sơ đồ lớp:

5.3.1.1. Sơ đồ lớp các đối tượng chính trong dự án (chủ yếu được tạo

ActivityStatus

TaskOnProduct

Model

Expression

Project

Product

AtomicCondition

Organization

Timer

ProcessTemplate

Role

Tool

MyObjects

RoleMap

TaskTimer

Activity

Process

ReadEvent

IntermediateEvent

ProductStatus

Gateway

SequenceFlow

Task

StartEvent

ProductAttribute

EndEvent

UserDefinedType

GatewayAND

GatewayXOR

GatewayOR

UserDefinedTypeValue

lập từ tập tin mô hình hóa nghiệp vụ):

Hình 12 Sơ đồ lớp các đối tượng trong dự án

5.3.1.2. Sơ đồ lớp các đối tượng liên quan đến công việc:

Trang 75

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

TaskOnProduct

ActivityStatus

MyObjects

TaskTimer

Activity

Task

Process

Hình 13 Sơ đồ lớp các đối tượng liên quan đến công việc

5.3.2. Một số mô hình chính:

InActive

Ready

Waiting

Processing

Finish

Abort

(cid:216) Sơ đồ các trạng thái của công việc:

Hình 14 Sơ đồ trạng thái công việc

(cid:216) Bảng mô tả các trạng thái:

Stt Tên Mô tả

1 InActive Trạng thái công vi ệc ch ưa được kích ho ạt, hay

chưa có thể hiện

Trang 76

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

2 Ready Công việc đã được kích hoạt và sẳn sàng để thực

hiện

3 Waiting Trạng thái chờ, khi công việc trước nó được thực

hiện, nh ưng ch ưa đến th ời gian th ực hi ện công

việc. Khi đến th ời gian th ực hi ện ho ặc ng ười

quản lý d ự án tác động tr ực ti ếp thì s ẽ chuyển

qua trạng thái Ready

4 Processing Trạng thái đang thực hiện. Được thể hiện cụ thể

bằng các giá trị phần trăm.

5 Abort Trạng thái kết thúc th ất bại. Khi ng ười quản lý

dự án quyết định dừng công việc đang thực hiện.

Các công việc sau nó sẽ được kích hoạt.

6 Finish Trạng thái kết thúc thành công. Được thể hiện cụ

thể bằng “100%” ho ặc “Finish”. Các công vi ệc

sau nó sẽ được kích hoạt.

Bảng 2 Bảng mô tả các trạng thái công việc

(cid:216) Quy trình hiển thị dự án dưới dạng cây tiến trình:

Trang 77

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Kieåm tra xem coâng vieäc ñoù ñaõ ñöôïc kích hoaït chöa

Ñoïc danh saùch coâng vieäc trong qui trình chính

Coù

Task Kieåm tra loaïi coâng vieäc

Kieåm tra coù theå hieän

Kieåm tra thôøi gian thöïc hieän

Ñeán ngaøy thöïc hieän

Chöa ñeán ngaøy

Ñoïc teân caùc saûn phaåm ñaàu vaøo/ ra cuûa coâng vieäc

Khoâng

2 loaïi coâng vieäc: Task, Subprocess

Ñoïc theå hieän coâng vieäc

Caäp nhaät traïng thaùi cho theå hieän coâng vieäc

Subprocess

Ñoïc saûn phaåm ñaàu vaøo/ ñaàu ra

Ñoïc caùc theå hieän saûn phaåm ñaàu vaøo/ ñaàu ra

Ñoïc danh saùch caùc coâng vieäc trong qui trình con

Theâm coâng vieäc vaøo caây tieán trình

Laëp laïi qui trình "Ñoïc danh saùch coâng vieäc" nhö trong qui trình chính

Hình 15 Quy trình hiển thị cây dự án

(cid:216) Quy trình tìm công vi ệc ti ếp theo khi m ột công vi ệc tr ước đó

hoàn tất. Do là m ột quy trình h ơi ph ức tạp nên chúng em ch ỉ

trình bày ở dạng sơ đồ tổng quan.

Trang 78

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 16 Quy trình tìm kích hoạt công việc tiếp theo

5.3.3. Một số luồng tuần tự chính trong ứng dụng:

5.3.3.1. Lược đồ tuần tự tạo mới dự án theo mẫu có sẳn:

Trang 79

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

SetupProjectPage

Project

ProcessTemplate

Engine

: Project Manager

1:Caäp nhaät thoâng tin

2: Taïo môùi döï aùn

3: Kieåm tra loaïi döï aùn

4: Laáy file moâ hình hoaù (TemplateId)

5: Laáy file moâ hình hoaù

6: Ñoïc vaø löu caùc ñoái töôïng (TemplateFile)

7: Löu caùc ñoái töôïng

8: Löu döï aùn

9: Löu döï aùn

Traû veà ID cuûa döï aùn

Hình 17 Lược đồ tuần tự tạo mới dự án theo mẫu

5.3.3.2. Lược đồ tuần tự kích hoạt 1 dự án:

Trang 80

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

StartEvent

ActivityInstance

Engine

Project

1: Laáy qui trình chính cuûa döï aùn (ProjectId)

2: Tìm söï kieän baét ñaàu cuûa qui trình chính (MainProcessId)

3: Laáy söï kieän baét ñaàu qui trình

Ñaây laø 1 luoàng tuaàn töï khaùc

4: Tìm coâng vieäc tieáp theo trong qui trình (StartEventId)

5: Taïo môùi 1 theå hieän coâng vieäc (ActivityId)

6: Löu theå hieän coâng vieäc

7: Caäp nhaät laïi traïng thaùi cuûa döï aùn

Chuyeån sang traïng thaùi ñang thöïc hieän (Processing)

Hình 18 Lược đồ tuần tự kích hoạt dự án

5.3.3.3. Lược đồ tuần tự tạo mới 1 thể hiện công việc

Trang 81

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

AcitivtyInstance

InputProductInstance

Timer

TaskTimer

Engine

1: Taïo môùi ñoái töôïng

2: Löu theå hieän coâng vieäc

3: Taïo caùc theå hieän saûn phaåm ñaàu vaøo

4: Laáy thôøi gian thöïc hieän (TaskId)

5: Laáy thôøi gian thöïc hieän

Thôøi gian ñöôïc ñònh nghóa trong moâ hình

Löôïc ñoà tuaàn töï "Luaân chuyeån saûn phaåm" (Derived product)

6: Löu thôøi gian thöïc hieän cho theå hieän coâng vieäc

7: Löu thôøi gian thöïc hieän

Hình 19 Lược đồ tuần tự tạo mới thể hiện công việc 5.3.3.4. Lược đồ tuần tự tìm công việc tiếp theo trong dự án

Khi 1 công vi ệc ti ếp theo thì ch ương trình t ự động tìm công vi ệc ti ếp theo

trong quy trình để kích ho ạt. Quy trình tìm ki ếm mang tính ch ất đệ quy nếu đối

tượng trả về là 1 quy trình con.

Trang 82

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Engine

Project

SequenceFlow

1: Tìm ñoái töôïng tieáp theo (ID cuûa coâng vieäc vöøa keát thuùc)

2: Laáy ñoái töôïng tieáp theo

3: Kieåm tra loaïi ñoái töôïng

4: Xöû lyù ñoái töôïng laø Gateway

5: Xöû lyù ñoái töôïng laø qui trình con

Coù 3 loaïi ñoái töôïng: Task, Subprocess, Event (chính laø endevent tr...

6: Xöû lyù ñoái töôïng laø EndEvent

Laëp laïi qui trình kích hoaït döï aùn vôùi ID cuûa qui trình laø ID cuûa ñoái töôïng traû veà

Hình 20 Lược đồ tuần tự tìm công việc tiếp theo trong dự án Xử lý đối tượng trả về là 1 sự kiện kết thúc (EndEvent)

Trang 83

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Engine

Project

Process

1: Kieåm tra loaïi qui trình (IDProcess maû endevent thuoäc veà)

2: Laáy thoâng tin qui trình

3: Ghi nhaän keát thuùc döï aùn neáu laø qui trình chính

4: Tìm coâng vieäc tieáp theo vôùi (ID cuûa qui trình maø endevent thuoäc veà)

Neáu laø keát thuùc qui trình con, thì qui trình ñöôïc xem nhö laø 1 coâng vieäc vöøa keát thuùc, laëp laïi luoàng tuaàn töï "cha"

Hình 21 Lược đồ tuần tự xử lý endevent

Xử lý đối tượng là Gateway

Trang 84

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Project

Gateway

SequenceFlow

Engine

1: Laáy thoâng tin Gateway (ID)

2: Laáy thoâng tin gateway

3: Kieåm tra ñieàu kieän vaøo cuûa Gateway

Döïavaøo loaïi Gateway vaø ñieàu kieän treân caùc SequenceFlow gaén vôùi ñaàu vaøo cuûa Gateway

4: Laáy danh saùch caùc SequenceFlow ra khoûi Gateway

5: Tìm caùc ñoái töôïng tieáp theo trong SequenceFlow

6: Laáy ñoái töôïng tieáp theo trong SequenceFlow

7: Kieåm tra ñieàu kieän kích hoaït SequenceFlow

8: Danh saùch caùc ñoái töôïng traû veà

Laëp laïi qui trình kieåm tra loaïi ñoái töôïng vaø kích hoaït coâng vieäc tieáp theo

Hình 22 Lược đồ tuần tự xử lý Gateway

5.3.3.5. Lược đồ tuần tự thay đổi thông tin công việc (Edit activity)

Trang 85

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

EditProjectPage

Activity

TaskTimer

UserInRole

Engine

: Project Manager

1: Choïn coâng vieäc

2: Laáy thoâng tin cuûa coâng vieäc (ActivityId)

3: Laáy thoâng tin coâng vieäc

Danh saùch caùc user tham gia, thôøi gian thöïc hieän

4: Caäp nhaät thôøi gian thöïc hieän

5: Caäp nhaät thôøi gian thöïc hieän (ActivityId)

6: Caäp nhaät thôøi gian thöïc hieän

7: Caäp nhaät phaân coâng user

8: Caäp nhaät phaân coâng user (ActivityId)

9: Caäp nhaät phaân coâng user

Bao goàm theâm user vaø xoùa user, phaân laïi quyeàn thöïc hieän cho user (Edit,View)

Hình 23 Lược đồ tuần tự thay đổi thông tin công việc

5.3.3.6. Lược đồ tuần tự hiển thị cây tiến trình:

Cây tiến trình là hình thức trình bày dự án dưới dạng cây. Thuận tiện cho User

lúc thay đổi thông tin dự án hay thực hiện công việc.

Trang 86

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

ProjectTreeView

Project

Process

Task

TaskOnProduct

InputProductInstance

OutputProductInstance

Engine

: User

1: Nhaäp vaøo ID cuûa döï aùn

2: Kieåm tra ID

ID phaûi laø soá nguyeân

3: Tìm döï aùn (ProjectId)

4: Ñoïc thoâng tin döï aùn

5: Kieåm tra döï aùn toàn taïi

6: Laáy caùc activity trong qui trình chính (MainProcessId)

7: Ñoïc caùc activity trong process

8: Kieåm tra loaïi acitivty

9: Ñoïc thoâng tin cuûa coâng vieäc (TaskId)

10: Ñoïc thoâng tin cuûa coâng vieäc

11: Ñoïc caùc saûn phaåm vaøo/ra cuûa coâng vieä (TaskId)

Task hoaëc Subprocess, Neáu laø Task, thöïc hieän töû 9->16, neáu laø Subprocess thöïc hieän 17

12: Ñoïc saûn phaåm vaùo ra cuûa coâng vieäc

13: Laáy caùc theå hieän saûn phaåm ñaàu vaøo (ProductId)

14: Laáy caùc theå hieän saûn phaåm ñaàu vaøo

Ñoïc caùc saûn phaåm do User laøm ra (Chuû yeáu laø caùc file)

15: Laáy caùc theå hieän saûn phaåm ñaàu ra (ProductId)

16: Laáy caùc theå hieän saûn phaåm ñaàu ra

17: Ñoïc caùc coâng vieäc trong subprocess (SubprocessId)

Laëp laïi caùc coâng vieäc töø 7->16

18: Hieån thò döï aùn leân caây tieán trình

Hình 24 Lược đồ tuần tự hiển thị cây tiến trình

5.3.3.7. Lược đồ tuần tự upload sản phẩm:

Trang 87

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Home

FileManagerPage

OutputProductInstance

File

Engine

: User

1: Choïn coâng vieäc

2: Choïn saûn phaåm ñaàu ra

3: Choïn chöùc naêng quaûn lyù file

4: Hieån thò page FileManagerPage

5: Upload file

6: Löu file, traû veà FileId

7: Löu file

8: Löu saûn phaåm ñaàu ra cho coâng vieäc (FileId)

9: Löu saûn phaåm ñaàu ra cho coâng vieäc

Hình 25 Lược đồ tuần tự upload sản phẩm

Home

FileManagerPage

FileDoawnload

InputProductInstacne

File

Engine

: User

1: Choïn coâng vieäc

2: Choïn saûn phaåm ñaàu vaøo

3: Choïn chöùc naêng quaûn lyù file

4: Hieån thò page FileManagerPage

5: Hieån thò danh saùch file (ProductId)

6: Ñoïc danh saùch FileId

7: Hieån thò thoâng tin file (FileId)

8: Ñoïc thoâng tin file

9: Choïn file muoán download

10: Download file (Teân file)

5.3.3.8. Lược đồ tuần tự download sản phẩm:

Hình 26 Lược đồ tuần tự doawnload sản phẩm

Trang 88

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

5.3.3.9. Lược đồ tuần tự thêm mới 1 đối tượng:

Nếu khởi tạo một dự án không theo mẫu template, người quản lý dự án (Project

Manager) ph ải thêm các đối tượng sau: Activity (Process, Subprocess, Task),

Product, UserDefinedType, Gateway, SequenceFlow. Lu ồng tu ần tự sau có tính

chất chung cho tất cả các đối tượng trên. Mỗi loại đối tượng sẽ cần các thông tin

EditNoneTemplateProjectPage

Object

Engine

: Project Manager

1: Choïn loaïi object muoán theâm vaøo project

2: Taïo môùi ñoái töôïng

3: Löu thoâng tin object

Phaùt sinh ra soá ID cho object

riêng theo chuẩn XPDL.

Hình 27 Lược đồ tuần tự thêm mới đối tượng

5.3.3.10. Lược đồ luân chuyển sản phẩm

Nếu sản ph ẩm đầu vào của công vi ệc này là s ản phẩm đầu ra c ủa công vi ệc

trước đó, thì tất cả các thể hiện của sản phẩm đầu vào sẽ được lấy từ các sản phẩm

đầu ra của các công vi ệc trước đó. Việc luân chuy ển tự động được bắt đầu khi 1

công việc được kích hoạt.

Trang 89

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

ActivityInstance

TaskOnProduct

OutputProductInstance

InputProductInstance

Engine

1: Laáy danh saùch caùc saûn phaåm ñaàu vaøo (ActivityId)

2: Laáy danh saùch caùc saûn phaåm ñaàu vaøo

Traû veà danh saùch caùc ID cuûa saûn phaåm

3: Laáy danh saùch caùc theå hieän cuûa saûn phaåm (ProductId)

4: Laáy danh saùch caùc theå hieän cuûa saûn phaåm

Caùc saûn phaåm ñaàu ra cuûa caùc coâng vieäc tröôùc ñoù, caùc saûn phaåm naøy ñaõ coù theå hieän

5: Löu thoâng tin caùc saøn phaåm ñaàu ra (Thoâng tin theå hieän saûn phaåm)

6: Löu thoâng tin saûn phaåm

Hình 28 Lược đồ tuần tự luân chuyển sản phẩm

5.3.3.11. Lược đồ tuần tự cho việc truy xuất CSDL

Khi cần truy xuất cơ sở dữ liệu, thì tham số truyền vào là câu truy vấn. Nếu là

truy vấn dữ liệu thì kết quả trả về ở dạng bảng, hoặc đối tượng đơn gi ản (t ương

Object

Engine

1: Môû keát noái

2: Truy vaán döõ lieäu (Caâu truy vaán SQL)

3: Caäp nhaät döõ lieäu (Caâu leänh caäp nhaät)

4: Ñoùng keát noái

ứng kiểu dữ liệu Object trong .NET).

Hình 29 Lược đồ tuần tự truy xuất cơ sở dữ liệu

Trang 90

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

5.4. Thiết kế giao diện:

Các chức năng của hệ thống được tổ chức đưới hình thức thực đơn (menu)

Menu chính

Menu con

Hình 30 Menu chức năng hệ thống

Giao diện của ch ương trình tập trung th ể hiện cây ti ến trình dự án. Trên cây

tiến trình tập trung thể hiện lại quy trình nghiệp vụ: Quy trình chính, quy trình con,

các công việc trong từng quy trình, các s ản phẩm vào/ra của từng công việc. Khi

người dùng đăng nhập vào hệ thống chương trình tự động hiển thị danh sách các

công vi ệc ng ười đó ph ải th ực hi ện trong từng dự án. Ng ười dùng ch ỉ vi ệc ch ọn

công vi ệc mu ốn th ực hi ện. Ng ười dùng nh ấp chu ột ph ải để th ực hiện các ch ức

năng khác như: Cập nhật trạng thái mở rộng cho công việc, sản phẩm, quản lý sản

phẩm.

Tên dự án

Tên công việc

Tên qui trình

Popup menu

Hình 31 Cây tiến trình dự án

Trang 91

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Màn hình chính thực hiện công việc:

Hình 32 Màn hình vận hành dự án

Các màn hình báo cáo được trình bày dưới dạng bảng, có thể xem thông tin các

đối tượng trong màn hành báo cáo b ằng cách ch ọn ID của đối tượng. Ví dụ khi

người dùng nhấp vào ID của công việc trên màn hình báo cáo d ự án thì h ệ thống

sẽ xuất ra các thông tin liên quan đến công việc đó.

Trang 92

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 33 Màn hình báo cáo

Chương 6. Thử nghiệm và đánh giá

6.1. Một số quy trình mẫu:

6.1.1. Quy trình đăng ký học phần:

Quy trình đăng ký học phần của trường Đại học Khoa học Tự nhiên. Mỗi đầu

học kỳ các sinh viên ph ải đăng ký môn h ọc qua mạng của tr ường. Việc đăng ký

học phần chủ yếu do văn phòng khoa th ực hiện. Tuy nhiên, trong quá trình th ực

hiện, văn phòng khoa ph ải liên hệ với một số bộ phận sau: Phòng đào tạo, Ban

chủ nhiệm khoa, Bộ môn, phòng quản lý thiết bị, tổ kỹ thuật. Trong mô hình hóa,

mỗi bộ phận trên được phân công thành m ột “vai trò”. Chi ti ết quy trình đăng ký

học phần được mô tả ở phần phụ lục.

Một số điểm lưu ý trong quy trình đăng ký học phần

- Có sử dụng một số quy trình con: Chu ẩn bị kế hoạch giảng dạy, chuẩn bị

đăng ký học phần lý thuyết, Đăng ký học phần lý thuyết, Chuẩn bị đăng ký

Trang 93

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

học phần thực hành (Chu ẩn bị ĐKHPTH), Đăng ký th ực hành, Hi ệu chỉnh

đăng ký học ph ần, Mở lớp tr ả nợ các môn tin h ọc, Tính toán và n ộp học

phí.

- Một số luồng tuần tự có sử dụng điều kiện dựa trên trạng thái mở rộng của

sản phẩm, của công việc.

- Sử dụng hai loại cổng điều khiển: AND, Xor_DATABASE.

- Sử dụng phân quyền trên sản phẩm, ví dụ: công vi ệc “lấy số lượng phòng

máy từ tổ kỹ thuật” bao gồm hai vai trò tham gia th ực hiện là “Phòng đào

tạo” và “tổ kỹ thuật’ cùng làm vi ệc trên một sản phẩm là “s ố lượng phòng

máy”. Khi đó nhân viên phòng k ỹ thuật có quyền “upload” sản phẩm, còn

nhân viên phòng đào tạo chỉ có quyền “download” sản phẩm.

6.1.2. Quy trình chuẩn bị thi thực hành:

Quy trình chu ẩn bị công tác thi th ực hành. Quy trình đơn gi ản ch ỉ sử dụng

cổng điều khiển AND.

Hình 34 Quy trình thi thực hành

6.1.3. Quy trình xét tốt nghiệp cuối khóa

Trang 94

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Quy trình ch ỉ sử dụng cổng điều khiển AND. Công vi ệc trước hoàn thành thì

công việc sau được kích hoạt. Quy trình này được sử dụng để minh hoạ cho “dự án

không theo mẫu mô hình hóa”.

Hình 35 Quy trình xét tốt nghiệp cuối khóa

6.2. Cài đặt và triển khai hệ thống:

Hệ thống được xây dựng và chạy thử nghiệm trên máy cục bộ. Các tập tin sản

phẩm được lưu trữ trong “c:\iPMSFiles”.

Cài đặt FlyTreeView của 9Rays.Net. Sau đó chép th ư mục “ipmsimages” vào

“C:\Inetpub\wwwroot\aspnet_client\ninerays_web_ui_webcontrols_flytreeview_3

_4_4_0\images”.

Bảng mô tả một số user dùng cho việc đăng nhập hệ thống.

User name Password Vai trò

anhduc vtphong vuql admin nttthuy nttran anhduc vtphong vuql admin nttthuy nttran Project manager Member Project manager Admin Member Member Stt 1 2 3 4 5 6

6.3. Đánh giá:

Trang 95

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Sau khi chạy thử nghiệm với hai quy trình "Quy trình đăng ký học phần" và

"Quy trình xét tốt nghiệp cuối khóa". Chương trình đáp ứng tốt mục tiêu đề ra ban

đầu là khởi tạo và vận hành dự án.

(cid:216) Ưu điểm:

o Vận hành tốt dự án theo các quy trình đã được định ngh ĩa (đối với cả

hai loại dự án).

o Thực hiện phân công thực hiện công việc cho nhân viên và qui định thời

gian thực hiện công việc tương đối dễ dàng.

o Màn hình báo cáo ti ến độ thực hiện dự án, chi ti ết thực hiện từng công

việc rõ ràng, dễ theo dõi.

o Các màn hình liên kết tốt với nhau.

o Forum thảo luận được tổ chức rõ ràng.

o Khi một user đăng nhập vào hệ thống thực hiện công việc của mình thì

người khác chỉ được xem thông tin công việc mà không được phép thực

hiện công việc đó.

(cid:216) Khuyết điểm:

o Đối với dự án không theo quy trình m ẫu định sẳn, vi ệc thêm các đối

tượng vào d ự án g ặp một số khó kh ăn do không được th ực hiện tr ực

quan, và người dùng phải đảm bảo tính đúng đắn của qui trình mà mình

tự định nghĩa.

o Mỗi lần cập nhật thông tin thì cây tiến trình được tạo lại, do đó gây ra sự

chậm trễ và cảm giác khó chịu cho người dùng.

o Giao diện chưa tốt.

Chương 7. Tổng kết và hướng phát triển

Trong quá trình thực hiện đề tài, chúng em gặp một số khó khăn trong việc tìm

kiếm tài liệu. Vì đây là chủ đề tương đối mới nên hầu hết các tài liệu đều viết bằng

tiếng anh d ưới dạng các bài nghiên c ứu, các bài báo nên vi ệc tìm tài li ệu chính

thức gặp một số khó khăn. Ngoài ra, việc xây dựng các quy trình thử nghiệm cũng

gặp nhiều khó kh ăn do chúng em ch ưa có ki ến th ức về các nghi ệp vụ trong th ực

Trang 96

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

thế. Sau đây là một số kết quả mà chúng em đạt được sau quá trình th ực hiện đề

tài.

7.1. Những kết quả đạt được:

7.1.1. Về mặt lý thuyết:

• Kiến th ức về vấn đề mô hình hóa và v ận hành quy trình nghi ệp vụ

hiện nay. Th ực hi ện so sánh đặc điểm của các ngôn ng ữ mô hình

hóa.

• Nguyên lý vận hành quy trình nghiệp vụ. • Tài liệu tổng quan về ngôn ngữ mô hình hóa BPML. • Tài liệu tổng quan về ngôn ngữ mô hình hóa XPDL. • Kết quả nghiên c ứu về ngôn ng ữ mô hình hóa eXPDL và công c ụ

mô hình hóa MyXPDL.

7.1.2. Về mặt ứng dụng:

• Xây dựng ứng dụng hỗ trợ vận hành quy trình nghiệp vụ được đặc tả

theo ngôn ngữ eXPDL trên môi trường WEB. Ứng dụng đã đáp ứng

được các chức năng sau:

o Lưu trữ các quy trình mẫu.

o Khởi tạo dự án theo quy trình mẫu.

o Khởi tạo dự án không theo quy trình mẫu.

o Vận hành d ự án theo các lu ồng điều khiển và theo các ràng

buộc về thời gian.

o Quản lý dự án: Qu ản lý thông tin User tham gia d ự án, qu ản

lý các s ản phẩm trong dự án, qu ản lý các công vi ệc về thời

gian và nhân sự, điều chỉnh dự án cho kịp tiến độ.

o Hỗ trợ người dùng làm việc trên môi trường phân tán. • Ứng dụng hỗ tr ợ thiết kế và v ận hành tr ực ti ếp các quy trình đơn

giản.

7.2. Ưu và khuyết điểm của hệ thống:

Trang 97

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hệ th ống đáp ứng tốt mục tiêu đề ra ban đầu. Sau đây là một số ưu điểm và

khuyết điểm của hệ thống.

(cid:216) Ưu điểm:

o Hệ thống vận hành tốt quy trình nghiệp vụ theo ngôn ngữ eXPDL.

o Hệ th ống hỗ trợ ch ức năng tự định ngh ĩa và vận hành d ự án tr ực ti ếp

trong hệ thống (không phải sử dụng công cụ mô hình hóa để định nghĩa

quy trình nghiệp vụ).

o Hệ th ống trợ giúp một ph ần làm vi ệc nhóm trong cùng m ột công vi ệc

thông qua forum thảo luận.

(cid:216) Khuyết điểm:

o Hệ thống chưa hỗ trợ hết các đối tượng được định nghĩa trong mô hình

hóa.

o Giao diện chưa tiện dụng đối với người dùng.

o Vấn đề phân quyền cho người dùng chưa được quản lý tốt.

o Đối với dự án lớn thì vấn đề hiển thị cây ti ến trình dự án sẽ thực hiện

chậm.

o Hệ th ống không ki ểm tra tính đúng đắn của mô hình (ví d ụ trong mô

hình có vòng l ặp vô h ạn…). Mặc định hệ thống xem nh ư người dùng

định nghĩa đúng quy trình nghiệp vụ.

7.3. Hướng phát triển:

Một số hướng phát triển trong tương lai:

• Hỗ trợ vận hành tiến trình có kết hợp với các biến cố. • Hỗ trợ chức năng kiểm tra tính đúng đắn của mô hình. • Hỗ trợ hết các kiểu đối tượng được định nghĩa trong mô hình: Sản phẩm

dạng đối tượng, các cơ chế lặp, cơ chế đền bù, các loại biến cố…

• Tích hợp quy trình khác vào dự án hiện tại. • Cơ chế truyền thông giữa các tiến trình. • Cung cấp thêm các tiện ích quản lý cho người dùng, tăng tính tiện dụng.

Trang 98

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

• Hỗ tr ợ ng ười dùng theo dõi ti ến độ th ực hi ện công vi ệc, dự án d ưới

dạng các biểu đồ.

• Hỗ tr ợ người dùng làm vi ệc nhóm: tạo không gian làm vi ệc riêng của

từng nhóm.

7.4. Lời kết:

Vì thời gian th ực hiện có hạn, trong khuôn kh ổ luận văn, những phần nghiên

cứu mà chúng em đạt được không tránh kh ỏi những sai sót. Trong ph ần trình bày

của mình , chúng em đã cố gắng đưa ra các kiến thức tổng quan về vấn đề mô hình

hóa và qu ản lý quy trình nghi ệp vụ hiện nay. Bên c ạnh đó chúng em c ũng xây

dựng được ứng dụng hỗ trợ vận hành quy trình nghi ệp vụ. Với mong mu ốn xây

dựng một ứng dụng hoàn ch ỉnh về quản lý quy trình nghi ệp vụ, chúng em s ẽ cố

gắng nhiều hơn để nghiên cứu và xây d ựng ứng dụng dựa trên kết quả chúng em

đã đạt được. Chúng em rất mong nhận được sự hướng dẫn của quí thầy cô, sự ủng

hộ và đóng góp của các bạn quan tâm đến vấn đề này.

Tài liệu tham khảo

[1.] Workflow and Process Management, Carol Prior, Maestro BPE Pty

Limited, Australia.

[2.] Workflow classification Embeded & Autonomus Workflow Management

System, Michael zur Muehlen, 10-3-2000, WfMC.

[3.] Business Process Modeling Language, Assaf Arkin and Intalio, 13-11-

2002.

[4.] BPMN and Business Process Management , Introduction to the new

Business Process Modeling Standard, Martin Owen and Jog Raj, Popkin

Software.

[5.] http://www.wfmc.org

[6.] http://www.bpmi.org

[7.] http://research.ibm.com

[8.] http://xml.coverpages.org/bpel4ws.html

[9.] http://ifr.sap.com/bpel4ws/index.html

Trang 99

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

[10.] http://www.bpmn.org/Documents/Introduction%20to%20BPMN.pdf

[11.] http://www.fairdene.com/processes

Phụ lục

Phụ lục 1: Mô tả các bảng cơ sở dữ liệu

(cid:216) Cấp độ tổ chức:

Tbl_User

Primary key:ID

Ghi chú: lưu trữ thông tin các user trong tổ chức

Stt Tên Kiểu dữ liệu Ghi chú

Do SQL phát sinh

Số nguyên 1 ID

2 Firstname Chuỗi

3 Lastname Chuỗi

Tên đăng nhập

4 Username Chuỗi

5 Password Chuỗi

6 Address Chuỗi

“Ready”, “Finish”

7 Email Chuỗi

8 Telephone Chuỗi

9 Fax Chuỗi

Ngày đăng ký thành viên

10 CreatedDate Ngày

Ngày login cuối cùng

11 LastLogin Ngày

Cho biết trạng thái hiện tại

12 Status Chuỗi

của User: Online, Offline

Bảng 3 CSDL mô tả người dùng

Tbl_AppRole

Primary key:ID

Ghi chú:Lưu các vai trò trong tổ chức, ví dụ: Project Manager,

Member, Admin

Stt Tên Kiểu dữ liệu Ghi chú

Do SQL phát sinh

1 ID Số nguyên

Trang 100

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

2 Name Chuỗi

3 Description Chuỗi

4 AutoAssignment Boolean

Bảng 4 CSDL mô tả quyền trong hệ thống

Tbl_AppRoleMap

Primary key:UserID,AppRoleID

Ghi chú: Lưu trữ việc phân vai trò cho các thành viên trong tổ

chức.

Tên Stt Kiểu dữ liệu Ghi chú

UserID 1 Số nguyên

AppRoleID 2 Số nguyên

Bảng 5 CSDL mô tả sự phân quyền trong hệ thống

Tbl_ProcessTemplate

Primary key: ID

Ghi chú: Lưu trữ các quy trình mẫu trong tổ chức.

Stt Tên Kiểu dữ liệu Ghi chú

Do SQL phát sinh

Số nguyên 1 ID

2 Name Chuỗi

3 Description Chuỗi

Tên file mô hình hóa

4 TemplateFile Chuỗi

Ngày tạo template

5 CreatedDate Ngày

Bảng 6 CSDL lưu trữ các mẫu mô hình hóa

Tbl_File

Primary key: ID

Ghi chú: Lưu trữ các file trong tổ chức, thường là file của các sản

phẩm vào ra trong các dự án.

Tên Kiểu dữ liệu Ghi chú Stt

Do SQL phát sinh

Số nguyên 1 ID

Tên file

Chuỗi 2 Name

Tên file đầy đủ(gồm đường

Chuỗi 3 Path

Trang 101

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

dẫn) trên server.

4 Description Chuỗi

Ngày upload file lên Server

5 UploadDate Ngày

Bảng 7 CSDL lưu trữ các tập tin

(cid:216) Cấp độ dự án:

Tbl_Project

Primary key: ID

Ghi chú: Lưu trữ thông tin các dự án (Project) trong tổ chức.

Stt Tên Kiểu dữ liệu Ghi chú

ID Số nguyên 1

Tên project

Name Chuỗi 2

Description Chuỗi 3

ID của template, tham chiếu

TemplateID Số nguyên 4

bảng tbl_ProcessTemplate.

= 0: không sử dụng template

ID process chính

IDMainProcess Chuỗi 5

Ngày tạo project

CreatedDate Ngày 6

Ngày kết thúc project

FinishDate Ngày 7

Trạng thái: Ready,

State Chuỗi 8

Processing, Finish, Abort

ID của User setup

AuthorID Số nguyên 9

True: Sử dụng template

IsUseTemplate Chuỗi 10

False: Không sử dụng

temlate, mang tính tiện dụng

có thể xác định thông qua

TemplateID

Bảng 8 CSDL lưu trữ dự án

Tbl_Model

Primary key: ID

Ghi chú: thông tin các Model được định nghĩa trong template.

Trang 102

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Số nguyên

2 Name Chuỗi

3 Description Chuỗi

4 Author Chuỗi

Bảng 9 CSDL lưu trữ mô hình

Tbl_Role

Primary key:ID

Ghi chú: thông tin các role tham gia trong dự án.

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Số nguyên

2 Name Chuỗi

3 Description Chuỗi

4 Organization Số nguyên

Bảng 10 CSDL lưu trữ vai trò

Tbl_Process

Primary key:ID

Ghi chú: Lưu trữ các process trong các dự án.

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Chuỗi

2 Name Chuỗi

3 Description Chuỗi

4 Document Chuỗi

“TRUE”, “FALSE”

5 IsAdHoc Chuỗi

Chỉ có ý nghĩa khi là

6 IsTransaction Chuỗi

subprocess

ID cha của process, nếu là

7 IDParent Số nguyên

subprocess thì <> 0, ngược

lại = 0.//Không sử dụng

ID model

8 ModelID Chuỗi

Trang 103

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Bảng 11 CSDL lưu trữ tiến trình

Tbl_Activity

Primary key:ID

Ghi chú: lưu trữ các activity (task,subprocess).

Stt Tên Kiểu dữ liệu Ghi chú

ID Số nguyên 1

Name Chuỗi 2

Description Chuỗi 3

Process chứa Task, có thể là

IDProcess Số nguyên 4

process hoặc subprocess

Mang 3 giá trị: None,

LoopType Chuỗi 5

Standard, MultiInstance

Mang 2 giá trị 0(Serial),

GenerateInstance Số nguyên 7

1(Parallel), có ý nghĩa khi

LoopType là MultiInsatnce

Khi LoopType là

Maximum Số nguyên 8

MultiInstance

Cho biết Agent nào làm

Moderator Số nguyên 9

Moderator, Không có =0

TRUE,FALSE

IsTransaction Chuỗi 10

IDIntermediateEvent Chuỗi 11

2 giá trị: Task, SubProcess

Type Chuỗi 12

Bảng 12 CSDL lưu trữ công việc

Tbl_ActivityStatus

Primary key:ID (Chính là ID của Activity)

Ghi chú: Lưu trạng thái mở rộng của các activity

Tên Kiểu dữ liệu Ghi chú Stt

ID của activity

ID Chuỗi 1

Name Chuỗi 2

Description Chuỗi 3

Trang 104

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Kiểu của status

4 Type Chuỗi

Tham chiếu đến

5 UserDefinedTypeId Chuỗi

tbl_UserDefinedType

Giá trị hiện tại của

6 CurrentExtStatusId Số nguyên

activitystatus, tham chiếu

đến

tbl_UserDefinedTypeValues

Bảng 13 CSDL lưu trữ trạng thái mở rộng của công việc

Tbl_Product

Primary key: ID

Ghi chú: Lưu các sản phẩm của dự án.

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Chuỗi

2 Name Chuỗi

3 Description Chuỗi

4 Type Chuỗi

5 Document Chuỗi

Tham chiếu đến tbl_Tool

6 ToolID Số nguyên

7 TemplateFile Chuỗi

Sử dụng đối với template

8 ModelID Số nguyên

project

Sử dụng đối với none

9 ProjectID Số nguyên

template project

Bảng 14 CSDL lưu trữ sản phẩm

Tbl_ProductStatus

Primary key:ID (Chính là ID của product)

Ghi chú: Lưu các trạng thái mở rộng của product

Tên Kiểu dữ liệu Ghi chú Stt

1 ID Chuỗi

2 Name Chuỗi

Trang 105

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Description Chuỗi 3

Kiểu của status

Type Chuỗi 4

Tham chiếu đến

UserDefinedTypeId Chuỗi 5

tbl_UserDefinedType

Giá trị hiện tại của product

6 CurrentExtStatusId Số nguyên

status, tham chiếu đến

tbl_UserDefinedTypeValues

Bảng 15 CSDL lưu trữ trạng thái mỡ rộng của sản phẩm

Tbl_ProductAttribute

Primary key:ID (ID của product)

Ghi chú: Lưu trữ các thuộc tính của sản phẩm nếu loại sản phẩm là

Object

Stt Tên Kiểu dữ liệu Ghi chú

Số nguyên ID 1

Chuỗi Name 2

Có 3 loại cơ bản: Integer,

Chuỗi Type 3

Chuỗi, Boolean.

Giá trị của Attribute tùy

Chuỗi Value 4

thuộc vào Type

Thông tin mô tả them

5 Description Chuỗi

Bảng 16 CSDL lưu trữ thuộc tính sản phẩm

Tbl_TaskOnProduct

Primary key:ID

Ghi chú:Lưu trữ các product tham gia trong các Activity(task)

Tên Kiểu dữ liệu Ghi chú Stt

Do SQL phát sinh

1 ID Số nguyên

Tham chiếu tbl_Activity

2 IDTask Chuỗi

Tham chiếu tbl_Product

3 IDProduct Chuỗi

2 giá trị : in, out

4 Direction Chuỗi

Bảng 17 CSDL lưu trữ các sản phẩm vào/ra của công việc

Tbl_RoleMap

Trang 106

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Primary key: IDRole, IDTask

Ghi chú: Lưu trữ phân role thực hiện các Activity( task), nếu là

template project

Tên Kiểu dữ liệu Ghi chú Stt

Tham chiếu tbl_Activity

IDTask Chuỗi 1

Tham chiếu tbl_Role

IDRole Chuỗi 2

Bảng 18 CSDL lưu trữ phân vai trò thực hiện công việc

Tbl_UserDefinedType

Primary key:ID

Ghi chú: Lưu các kiểu dữ liệu mở rộng do người dùng tự định

nghĩa.

Kiểu dữ liệu Ghi chú Tên Stt

ID Chuỗi 1

Name Chuỗi 2

Description Chuỗi 3

Sử dụng khi là template

OrganizationID Số nguyên 4

project

Sử dụng khi là none

ProjectID Số nguyên 5

template project

Bảng 19 CSDL lưu trữ kiểu dữ liệu tự định nghĩa

Tbl_UserDefinedTypeValues

Primary key:ID

Ghi chú:Lưu trữ các giá trị tương ứng với các UserDefinedType

Tên Kiểu dữ liệu Ghi chú Stt

ID Số nguyên 1

Tham chiếu đến

UserDefinedTypeId Chuỗi 2

tbl_UserDefinedType

Giá trị tương ứng

Content Chuỗi 3

Bảng 20 CSDL lưu trữ giá trị các kiểu dữ liệu tự định nghĩa

Tbl_SequenceFlow

Primary key:ID

Trang 107

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Ghi chú: Danh sách các luồng điều khiển.

Stt Tên Kiểu dữ liệu Ghi chú

ID Chuỗi 1

Description Chuỗi 2

Alternative Boolean 3

ID của Activity start: Event,

IDRef Chuỗi 4

task, Gateway

Loại đối tượng start: Task,

RefType Chuỗi 5

Process, Gateway, Event

ID của Activity end.

Target Chuỗi 6

Tương tự RefType

TargetType Chuỗi 7

ID của Process

IDProcess Chuỗi 8

Bảng 21 CSDL lưu trữ luồng tuần tự

Tbl_Expression

Primary key: ID

Ghi chú: Lưu các biểu thức điều kiện, Mỗi SequenceFlow chỉ có 1 Expression, do

đó lấy IDSequence làm ID của tbl_Expression, tương tự với Subprocess và Task

Tên Kiểu dữ liệu Ghi chú Stt

Chính là ID của object chứa

ID Chuỗi 1

Expression

Hai giá trị: Manual, Auto

Type Chuỗi 2

Type=Manual

ManualCondition Chuỗi 3

Kiểu đối tượng mà Exp

ParentType Chuỗi 4

thuộc về: PROCESS, TASK,

SEQUENCE

Bảng 22 CSDL lưu trữ điều kiện

Tbl_AtomicCondition

Primary key: ID ( Phát sinh tự động trong SQL)

Ghi chú: Tập các điều kiện nguyên tố.

Stt Tên Kiểu dữ liệu Ghi chú

Trang 108

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

1 ID Số nguyên

Hai giá trị: Activity(gồm

2 Type Chuỗi

Task và Process), Product

3 IDActivity Chuỗi

4 IDProduct Chuỗi

Tên trạng thái mở rộng của

5 StatusName Chuỗi

Act or Pro

Giá trị đánh giá

7 Value Chuỗi

Tham chiếu đến

8 IDExpression Chuỗi

tbl_Expression

Bảng 23 CSDL lưu trữ biểu thức điều kiện nguyên tố

Tbl_Gateway

Primary key:ID

Ghi chú: Danh sách các gateway.

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Chuỗi

2 Type Chuỗi

3 Description Chuỗi

Chi dùng XOR way

4 IsDiscriminator Boolean

Tham chiếu đến tbl_Process

5 IDProcess Chuỗi

Tham chiếu đến

6 DefaultGateway Chuỗi

tbl_SequenceFlow. Luồng

mặc định ra gateway

Bảng 24 CSDL lưu trữ cổng điều khiển

Tbl_StartEvent

Primarykey: ID

Ghi chú: Lưu trữ các start event trong process và các subprocess

Stt Tên Kiểu dữ liệu Ghi chú

Trang 109

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

1 ID Chuỗi

2 Description Chuỗi

3 Document Chuỗi File name

Có 4 loại: None, Message,

4 Type Chuỗi

Rule, Timer, Link

Thông điệp chuyển đến cho

5 Message Chuỗi

start event.

Id của EndEvent khác đóng

6 Link Số nguyên

vai trò kích hoạt cho tiến

trình này

Khi Type là Rule, chứa ID

7 IDExpression Số nguyên

của biểu thức điều kiện để

kích hoạt StartEvent.

Khi Type là Timer, chức ID

8 IDTimer Số nguyên

của bộ Timer.

ID của Process trực tiếp mà

9 IDProcess Số nguyên

Event thuộc về.

Bảng 25 CSDL lưu trữ biến cố bắt đầu

Tbl_IntermediateEvent

Primary key: ID

Ghi chú: Lưu các biến cố trung gian

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Chuỗi

2 Description Chuỗi

3 Document Chuỗi File name

Có 4 loại: None, Message,

4 Type Chuỗi

Compensation, Exception,

Timer, Link

Thông điệp chuyển đến cho

5 Message Chuỗi

start event.

Trang 110

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Link Chuỗi 6

Khi Type là Rule, chứa ID

Exception Chuỗi 7

của biểu thức điều kiện để

kích hoạt StartEvent.

Compensation Chuỗi 8

ID của Process trực tiếp mà

IDProcess Số nguyên 9

Event thuộc về.

Bảng 26 CSDL lưu trữ biến cố trung gian

Tbl_EndEvent

Primary: ID

Ghi chú: Lưu trữ các end event trong Process và các subprocess

Stt Tên Kiểu dữ liệu Ghi chú

ID Chuỗi 1

Description Chuỗi 2

Document Chuỗi File name 3

Có 7 loại: None, Message,

Type Chuỗi 4

Exception, Timer, Cancel,

Terminate, Compensation.

Thông điệp chuyển đến cho

Message Chuỗi 5

start event.

Id của EndEvent khác đóng

Link Số nguyên 6

vai trò kích hoạt cho tiến

trình này

Chứa lỗi ngoại lệ khi kết

7 Exception Chuỗi

thúc. Để đơn giản chỉ là câu

thong báo.

Khi Type là Timer, chức ID

IDTimer Số nguyên 8

của bộ Timer.

ID chỉ tới 1 Activity giải

IDCompensation Số nguyên 9

Trang 111

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

quyết đền bù, Nếu không có

= 0.

ID của Process trực tiếp mà

10 IDProcess Số nguyên

Event thuộc về.

Bảng 27 CSDL lưu trữ biến cố kết thúc

Tbl_Timer

Primary key: ID

Ghi chú:

Stt Tên Kiểu dữ liệu Ghi chú

ID của object có gắn Timer

1 ID Chuỗi

2 Type Chuỗi Loại Timer

3 Description Chuỗi

5 Document Chuỗi

6 Month Chuỗi Chỉ dung khi Type là

7 Year Chuỗi “TIMEDATE”

8 TimeCycle Chuỗi

Bảng 28 CSDL lưu trữ bộ định giờ

(cid:216) Cấp độ thực thi:

Tbl_ActivityInstance

Primary key:ID

Ghi chú:Lưu thể hiện của các activity

Tên Kiểu dữ liệu Ghi chú Stt

1 ID Số nguyên

Tham chiếu đến tbl_Activity

2 IDActivity Chuỗi

Loại Activity: Task,

3 Type Chuỗi

Subprocess, mang tính chất

tiện dụng, vì có thể suy ra từ

IDActivity

Trạng thái: Ready,

4 State Chuỗi

Processing(theo %), finish,

Trang 112

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

abort.

Nếu activity được lặp lại,

5 Version Số nguyên

tăng Version lên 1

Ngày bắt đầu thực hiện

6 ActiveDate Ngày

Ngày cập nhật cuối cùng

7 LastModifyDate Ngày

Ngày hoàn thành

8 FinishDate Ngày

thời gian thực hiện

9 Deadline Số nguyên

Nguời thực hiện cuối cùng

10 UserID Số nguyên

Mang tính tiện dụng, thuận

11 ProjectID Số nguyên

tiện cho việc tổng kết báo

cáo

Trạng thái instance, khi 1

12 IsLock Boolean

User đăng nhập thực hiện

công việc thì instance bị

khóa.

Ngày thực hiện công việc

13 FirstEditedDate Ngày

đầu tiên.

Bảng 29 CSDL lưu trữ thể hiện công việc

Tbl_ActInstanceHistory

Primary key:ID

Ghi chú: Lưu lại quá trình thực hiện 1 công việc của các user

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Số nguyên

Tham chiếu đến

2 IDInstance Số nguyên

tbl_ActivityInstance

Ngày thực hiện

3 ModifyDate Ngày

Người thực hiện, tham chiếu

4 UserID Số nguyên

tbl_User

Trạng thái sau khi thực hiện

5 State Chuỗi

Bảng 30 CSDL lưu vết quá trình thực hiện công việc

Tbl_ProductInstance

Trang 113

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Primary key:ProductID

Ghi chú: Lưu thể hiện của 1 Product nói chung

Tên Kiểu dữ liệu Ghi chú Stt

Chuỗi 1 ProductID

Tham chiếu đến

Số nguyên 2 ExtStatusID

tbl_UserDefinedTypeValues

Bảng 31 CSDL lưu trữ thể hiện sản phẩm

Tbl_InputProductInstance

Primary key:ID

Ghi chú: thông tin thể hiện sản phẩm đầu vào của các activity

Stt Tên Kiểu dữ liệu Ghi chú

ID 1 Số nguyên

Tham chiếu đến tbl_Product

ProductID 2 Chuỗi

Tham chiếu đến tbl_Activity

TaskID 3 Chuỗi

Tham chiếu đến tbl_Files

FileId 4 Số nguyên

Hai giá trị: Upload, Derived

5 InputMethod Chuỗi

Quản lý tự động các

6 OutputProductId Số nguyên

product. Inputproduct chính

là OutputProduct của các

activity trước đó.

Bảng 32 CSDL lưu trữ thể hiện sản phẩm đầu vào của công việc Tbl_OutputProductInstance

Primary key:ID

Ghi chú: thông tin thể hiện sản phẩm đầu ra của các activity

Tên Kiểu dữ liệu Ghi chú Stt

1 ID Số nguyên

Tham chiếu đến tbl_Product

2 ProductID Chuỗi

Tham chiếu đến tbl_Activity

3 TaskID Chuỗi

Tham chiếu đến tbl_Files

4 FileId Số nguyên

Bảng 33 CSDL lưu trữ thể hiện sản phẩm đầu ra của công việc Tbl_TaskTimer

Trang 114

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Primary key:TaskID, chính là ID của công việc.

Ghi chú: lưu các timer do PM thiết lập lại(hoặc tạo mới) cho các

activity (Task).

Stt Tên Kiểu dữ liệu Ghi chú

TaskID Chuỗi 1

Ngày bắt đầu

Start Ngày 2

Ngày kết thúc

Finish Ngày 3

Thời gian thực hiện

Duration Số nguyên 4

Đơn vị tính: Days, Months,

Unit Chuỗi 5

Years Bảng 34 CSDL lưu trữ thời gian thực hiện công việc

Tbl_UserInRoles

Primary key:ID

Ghi chú:Lưu lại việc phân chia các user tham gia vào trong các

Activity (Task) cụ thể .

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Số nguyên

Tham chiếu đến tbl_User

2 UserID Số nguyên

Tham chiếu đến tbl_Role,

3 RoleID Số nguyên

có thể rỗng nếu là none

template project.

Tham chiếu đến tbl_Activity

4 TaskID Chuỗi

quyền thực hiện: Edit, View

5 EditRight Chuỗi

True: Gửi thông báo cho các

6 Notification Boolean

User nếu Task được kích

hoạt.

Mang tính tiện dụng,thuận

7 ProjectID Số nguyên

tiện cho báo cáo.

Bảng 35 CSDL lưu trữ phân công vai trò cho người dùng trong dự án

Tbl_Question

Trang 115

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Primary key:ID

Ghi chú:Lưu các câu hỏi trong forum thảo luận

Stt Tên Kiểu dữ liệu Ghi chú

1 ID Số nguyên

ID của đối tượng liên quan

2 ObjectID Chuỗi

đến câu hỏi (ID của sản

phẩm hoặc công việc)

ID của user đã post câu hỏi

CreatedByUser Số nguyên 3

Ngày post câu hỏi lên forum

CreatedDate Ngày 4

Tiêu đề

Title Chuỗi 5

Nội dung

Content Chuỗi 6

Bảng 36 CSDL lưu trữ câu hỏi

Tbl_Reply

Primary key:ID

Ghi chú: Lưu các câu trả lời các câu hỏi trên forum

Stt Tên Kiểu dữ liệu Ghi chú

ID Số nguyên 1

ID của câu hỏi, khác “0”

QuestID Số nguyên 2

nếu SelfReply là “false”

ID của user đã trả lời câu

CreatedByUser Số nguyên 3

hỏi

Ngày trả lời câu hỏi lên

CreatedDate Ngày 4

forum

Tiêu đề

Title Chuỗi 5

Nội dung

Content Chuỗi 6

True: Trả lời cho câu trả lời

SelfReply Boolean 7

False: Trả lời cho câu hỏi

Khác “0” nếu SelfReply là

ParentID Số nguyên 8

“true”

Bảng 37 CSDL lưu trữ câu trả lời

Trang 116

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Phụ lục 2: Các màn hình giao diện chính

(cid:216) Màn hình thực hiện công việc

Đây là màn hình chính khi 1 User đăng nhập vào hệ thống

Tên dự án

Công việc hiện tại

Cây tiến trình

Trạng thái công việc

Hình 36 Màn hình thực hiện công việc

(cid:216) Màn hình tạo mới 1 dự án

Trang 117

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Menu chính

Hình 37 Màn hình tạo mới dự án

(cid:216) Màn hình phân công thực hiện công việc trong dự án:

Người quản lý dự án có thể thay đổi thời gian thực hiện của dự án.

Màn hình quy định thời gian thực hiện công việc:

Trang 118

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Công việc chưa thực hiện

Công việc đã hoàn thành

Hình 38 Màn hình quy định thời gian thực hiện công việc

Màn hình phân công user th ực hiện công việc:

Trang 119

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Thêm user thực hiện

Xóa phân công cho user

Cập nhật lại quyền cho user

Hình 39 Màn hình phân công user thực hiện công việc (cid:216) Màn hình thêm mới các đối tượng vào dự án (dự án không theo mẫu)

Màn hình thêm các đối tượng: Quy trình, công việc, sản phẩm, cổng điều khiển

vào dự án ho ặc quy trình. Ng ười dùng có th ể phân công User th ực hi ện dự án,

thêm các sản phẩm vào ra của từng công việc.

Trang 120

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 40 Màn hình chính thêm công việc vào dự án

Thêm sản phẩm

Trang 121

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 41 Màn hình thêm sản phẩm

Thêm cổng điều kiển

Trang 122

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 42 Màn hình thêm cổng điều khiển

Thêm kiểu dữ liệu tự định nghĩa

Trang 123

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 43 Màn hình thêm kiểu dữ liệu tự định nghĩa

Thêm các luồng điều khiển vào quy trình

Trang 124

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Các đối tượng trong qui trình

Hình 44 Màn hình thêm luồng điều khiển vào quy trình

Màn hình quản lý sản phẩm

Trang 125

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 45 Màn hình quản lý sản phẩm (cid:216) Màn hình xem thông tin công việc trong 1 dự án

Trang 126

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 46 Màn hình xem thông tin công việc

(cid:216) Màn hình báo cáo dự án

Trang 127

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 47 Màn hình báo cáo dự án

Phụ lục 3: Quy trình đăng ký học phần

Quy trình đăng ký học phần áp dụng tại trường Đại học Khoa học Tự nhiên, áp

dụng cho khoa Công nghệ thông tin. Quy trình được phân chia thực hiện theo thời

gian. Chi tiết quy trình như sau:

Quy trình tổng quan:

Trang 128

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 48 Quy trình đăng ký học phần

Cuối học kỳ trước: Bộ phận văn phòng khoa (Khoa CNTT) chuẩn bị cho công

tác giảng dạy. Dựa vào thời khóa biểu môn chung và chương trình đào tạo để soạn

ra kế hoạch giảng dạy cụ thể cho khoa, gồm các công việc nhỏ sau:

- Giáo vụ khoa soạn kế hoạch giảng dạy.

- Chuyển thời khóa biểu cho phòng quản lý thiết bị để xin phòng, nếu không

xếp được phòng theo yêu cầu thì phải đổi lại thời khóa biểu.

- Ban chủ nhiệm khoa duyệt và kết hợp với bộ môn phân công giảng dạy.

- Thông báo cho giáo viên đăng ký giờ dạy lý thuyết.

Quy trình mô hình hóa:

Hình 49 Quy trình chuẩn bị công tác giảng dạy

Trang 129

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Đầu học kỳ: Chuẩn bị đăng ký học ph ần lý thuy ết. Dựa vào kế hoạch gi ảng

dạy và điều kiện phòng máy để lập lịch đăng ký h ọc phần cụ th ể cho sinh viên.

Bao gồm các công việc cụ thể sau:

- Nhập th ời khóa bi ểu chính th ức vào h ệ th ống SMS cho sinh viên tham

khảo.

- Soạn lịch đăng ký học phần cụ thể cho từng lớp.

- Thông báo cho sinh viên lịch đăng ký học phần.

- Nhắc tổ kỹ thuật chuẩn bị phòng máy.

Hai công việc cuối có thể thực hiện song song.

Quy trình mô hình hóa:

Hình 50 Quy trình chuẩn bị đăng ký học phần lý thuyết

Đăng ký học phần lý thuyết: sinh viên đăng nhập vào hệ thống SMS để đăng

ký học phần lý thuyết theo thời khóa biểu. Bao gồm các công việc cụ thể sau:

- Bộ phận văn phòng khoa theo dõi và hi ệu chỉnh các thông s ố SMS để sinh

viên đăng ký học phần lý thuyết.

- Đăng ký học phần lý thuyết.

Trang 130

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

- Văn phòng khoa th ực hiện hiệu ch ỉnh thông tin cá nhân sinh viên n ếu có

yêu cầu. Công việc này có thể được thực hiện song song với “sinh viên thực

hiện đăng ký học phần lý thuyết”.

- Sau khi sinh viên đăng ký xong, v ăn phòng khoa th ực hi ện th ống kê s ố

lượng sinh viên đăng ký, xu ất kết qu ả đăng ký h ọc ph ần cụ thể của sinh

viên.

Quy trình mô hình hóa

Hình 51 Quy trình đăng ký học phần lý thuyết

Tuần 1: Chuẩn bị đăng ký học phần thực hành.Dựa vào kế hoạch giảng dạy và

điều ki ện phòng máy để soạn lịch đăng ký học phần th ực hành cụ thể. Bao gồm

các công việc cụ thể sau:

- Văn phòng khoa (VPK) lấy số lượng máy từ tổ kỹ thuật.

- VPK lấy thông tin đăng ký phòng máy của các lớp cao học.

- VPK lấy yêu cầu phòng máy của từng môn học cụ thể, nếu có.

Ba công việc trên có thể được thực hiện song song.

- VPK sắp thời khóa biểu thực hành cho các lớp.

- VPK sắp lịch đăng ký học phần thực hành cho sinh viên các khóa.

- VPK thông báo cho sinh viên lịch đăng ký học phần thực hành.

Quy trình mô hình hóa:

Trang 131

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 52 Quy trình chuẩn bị đăng ký thực hành

Tuần 2: Đăng ký học phần thực hành. Sinh viên đăng nhập vào hệ thống SMS

để đăng ký học phần th ực hành. VPK xu ất kết quả đăng ký học phần th ực hành.

VPK hiệu chỉnh các thông tin c ần thiết cho việc đăng ký. Bao gồm các công việc

cụ thể sau:

- VPK theo dõi và hi ệu chỉnh thông số SMS để sinh viên th ực hiện đăng ký

học phần thực hành.

- VPK hiệu chỉnh đăng ký học phần lý thuyết đối với các môn chuyên ngành

cho sinh viên.

- Sinh viên thực hiện đăng ký học phần thực hành.

- VPK xuất kết quả đăng ký học phần thực hành.

Quy trình mô hình hóa:

Trang 132

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Hình 53 Quy trình đăng ký thực hành Tuần 3: Hiệu chỉnh đăng ký học phần. Bao gồm các công việc cụ thể sau:

- VPK lên lịch hiệu chỉnh đăng ký học phần cho sinh viên các khóa.

- VPK thông báo lịch hiệu chỉnh đăng ký học phần.

- VPK theo dõi và hi ệu chỉnh các thông s ố SMS để sinh viên đăng ký hi ệu

chỉnh (có th ể th ực hiện song song v ới thông báo l ịch hiệu ch ỉnh đăng ký

học phần).

- VPK xuất kết quả đăng ký học phần cuối cùng.

Quy trình mô hình hóa:

Hình 54 Quy trình hiệu chỉnh học phần

Tuần 5, 7: Mở lớp tr ả nợ các môn tin h ọc. Dựa vào yêu c ầu của sinh viên,

PĐT và BCN khoa xét duy ệt mở lớp trả nợ cho sinh viên. Bao gồm các công việc

cụ thể sau:

Trang 133

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

- VPK nhận đơn mở lớp trả nợ của sinh viên, nếu có.

- BCN khoa và PĐT xét duyệt.

- Nếu BCN khoa và PĐT đồng ý Khoa bố trí giáo viên dạy.

- VPK liên hệ phòng quản lý thiết bị để xin phòng.

- Thông báo cho sinh viên các môn trả nợ và thời gian đăng ký, đóng học phí

tại PĐT.

Quy trình mô hình hóa:

Hình 55 Quy trình đăng ký trả nợ

Tuần 8: Tính toán và nộp học phí. Dựa vào kết quả đăng ký học phần để tính

học phí cho sinh viên. Bao gồm hai công việc thực hiện song song như sau:

- VPK nhận từ phòng đào tạo (PĐT) kết quả đăng ký học phần - học phí để

phát cho sinh viên các khóa.

- VPK thông báo thời hạn nộp học phí cho từng khóa (nhận từ PĐT)

Quy trình mô hình hóa:

Hình 56 Quy trình tính toán và đóng học phí

Trang 134

Nghiên cứu và xây dựng ứng dụng hỗ trợ vận hành tiến trình nghiệp vụ (BPML) trên môi trường WEB

Danh sách các vai trò trong mô hình hóa:

Hình 57 Các vai trò trong quy trình đăng ký học phần

Danh sách các sản phẩm trong mô hình hóa:

Hình 58 Các sản phẩm trong quy trình đăng ký học phần

Trang 135