Mục lục :
1. MỞ ĐẦU :---------------------------------------------------------------------------------------9
2. YÊU CẦU CỦA ĐỀTÀI :-------------------------------------------------------------------11
2.1. Khảo sát hiện trạng :---------------------------------------------------------------------11
2.1.1. Hiện trạng vềmặt tổchức:--------------------------------------------------------11
2.1.2. Hiện trạng vềmặt nghiệp vụ:-----------------------------------------------------12
2.1.3. Hiện trạng vềmặt nhân sự:--------------------------------------------------------13
2.1.4. Hiện trạng vềmặt tin học:---------------------------------------------------------13
2.2. Yêu cầu chức năng :---------------------------------------------------------------------15
2.2.1. Yêu cầu chức năng nghiệp vụ:---------------------------------------------------15
2.2.2. Yêu cầu chức năng hệthống :----------------------------------------------------20
2.3. Yêu cầu phi chức năng :----------------------------------------------------------------21
2.3.1. Tính tiến hóa :-----------------------------------------------------------------------21
2.3.2. Tính tiện dụng :---------------------------------------------------------------------22
2.3.3. Tính hiệu quả:----------------------------------------------------------------------23
2.3.4. Tính tương thích :------------------------------------------------------------------23
2.4. Các yêu cầu khác :-----------------------------------------------------------------------24
2.4.1. Tính tái sửdụng :-------------------------------------------------------------------24
2.4.2. Tính dễbảo trì :---------------------------------------------------------------------24
2.4.3. Tính dễmang chuyển :------------------------------------------------------------24
3. PHÂN TÍCH :----------------------------------------------------------------------------------25
3.1. Sơ đồsửdụng :---------------------------------------------------------------------------25
3.2. Sơ đồlogic :------------------------------------------------------------------------------27
3.3. Sơ đồluồng dữliệu :--------------------------------------------------------------------28
3.3.1. Sơ đồcấp 0 :------------------------------------------------------------------------28
3.3.2. Sơ đồcấp 1 :------------------------------------------------------------------------29
3.3.3. Sơ đồcấp 2 :------------------------------------------------------------------------33
135 trang |
Chia sẻ: huong.duong | Lượt xem: 1225 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Phần mềm hỗ trợ giảng dạy hình học giải tích, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
L) trên môi trường WEB
Trang 39
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 đó.
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
Trang 40
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:
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
Trang 41
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.
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
Trang 42
đế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
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
Trang 43
- 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 đó.
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
Trang 44
· 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
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
Trang 45
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:
Ø 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.
Ø 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:
Ø 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.
Ø 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:
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
Trang 46
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:
Ø Tái sử dụng các quy trình đã được định nghĩa.
Ø 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:
Ø 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.
Ø Phân công nhân viên thực hiện công việc.
Ø Quản lý sản phẩm vào ra trong từng công việc.
Ø Theo dõi tiến độ thực hiện dự án.
Ø 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:
Ø 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.
Ø 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
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
Trang 47
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ụ
Ø 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ý.
Ø 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.
Ø 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.
Ø 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.
Ø 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).
Ø 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ình 4 Nguyên lý tổ chức hệ thống
3.6. Nguyên lý vận hành hệ thống:
Hệ thống quản
lý qui trình
nghiệp vụ
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
Trang 48
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:
Ø 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.
Ø 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.
Ø 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:
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
Trang 49
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:
Ø 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"
Ø Gateway: Hỗ trợ 3 loại Gateway: AND, OR, Xor_DATABSED
Ø 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".
Ø Atomic: hỗ trợ loại "AUTO".
Ø Expression
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
Trang 50
Ø UserDefinedType
Ø Product: chỉ hỗ trợ loại sản phẩm là "DOCUMENT".
Ø SequenceFlow: Hỗ trợ điều kiện dựa trên trạng thái mở rộng của
Product và Activity.
Ø 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.
Ø 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
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
Trang 51
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).
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
Trang 52
· Đố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:
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
Trang 53
Manage User Account
Search User Account
Manage Template
Admin
(f rom Actors)
Run Activity
UserActivity
Manage Product
Member
Register
LoginUpdate User Info
User
Setup template Project
Edit Project
Delete Project
Project Report Search Project
Project Manager
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 :
Ø Dòng sự kiện chính:
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
Trang 54
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.
Ø 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ạ
Các file đính kèm theo tài liệu này:
- CNTT1029.pdf