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 hồ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:
Ø 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.
Ø 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
Ø Đố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
Ø Đố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 lập từ tập tin mơ hình hĩa nghiệp vụ):
Model ActivityStatus Project Product Expression TaskOnProduct AtomicCondition Organization Timer ProcessTemplate Role Tool Process Activity MyObjects TaskTimer ReadEvent RoleMap IntermediateEvent
Gateway ProductStatus SequenceFlow Task
StartEvent
GatewayAND GatewayXOR GatewayOR UserDefinedType
UserDefinedTypeValue
Hình12Sơđồlớpcácđốitượngtrongdựá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
Process Task
Hình13Sơđồlớpcácđốitượngliênquanđếncơngviệc
5.3.2. Một số mơ hình chính:
Ø Sơ đồ các trạng thái của cơng việc:
InActive
Ready
Abort
Hình14Sơđồtrạngtháicơngviệc
Ø 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ảng2Bảngmơtảcáctrạngtháicơngviệc
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
Đọcdanhsáchcôngviệc trongquitrìnhchính
Kiểmtraxemcôngviệc đóđãđượckíchhoạtchưa
Task
côngviệc Kiểmhiện tracóthể
Có Kiểmtrathời
gianthựchiện 2loạicông việc:Task, Subprocess Đọctêncácsản phẩmđầuvào/ra củacôngviệc
Subprocess
Không
Đếnngàythựchiện
Chưađếnngày
ĐọcthểhiệnCậpnhậttrạngtháicho côngviệcthểhiệncôngviệc
Đọcsảnphẩmđầu
vào/đầura Đọcphẩmcácđầuthểvào/hiệnđầusảnra
Đọcdanhsáchcáccông việctrongquitrìnhcon
Lặplạiquitrình"Đọc danhsáchcôngviệc"như trongquitrìnhchính
Thêmcôngviệc vàocâytiếntrình
Hình15Quytrìnhhiểnthịcâydựán
Ø Quy trình tìm cơng việc tiếp theo khi một cơng việc trước đĩ
hồ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ình16Quytrìnhtìmkíchhoạtcơngviệctiếptheo
5.3.3. Một số luồng tuần tự chính trong ứng dụng:
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:Cậpnhậtthôngtin
2:Tạomớidựán
3:Kiểmtraloạidựán
4:Lấyfilemôhìnhhoá(TemplateId)
5:Lấyfilemôhìnhhoá
6:Đọcvàlưucácđốitượng(TemplateFile)
7:Lưucácđốitượng
8:Lưudựán
9:Lưudựán
TrảvềIDcủa dựán
Hình17Lượcđồtuầntựtạomớidựántheomẫu
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
Project StartEvent ActivityInstance Engine
1:Lấyquitrìnhchínhcủadựán(ProjectId)
2:Tìmsựkiệnbắtđầucủaquitrìnhchính(MainProcessId)
3:Lấysựkiệnbắtđầuquitrình
Đâylà1luồng
tuầntựkhác
4:Tìmcôngviệctiếptheotrongquitrình(StartEventId)
5:Tạomới1thểhiệncôngviệc(ActivityId)
6:Lưuthểhiệncôngviệc
7:Cậpnhậtlạitrạngtháicủadựán
Chuyểnsang
trạngtháiđang
thựchiện
(Processing)
Hình18Lượcđồtuầntựkíchhoạtdựán
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:Tạomớiđốitượng
2:Lưuthểhiệncôngviệc 3:Tạocácthểhiệnsảnphẩmđầuvào
4:Lấythờigianthựchiện(TaskId)
5:Lấythờigianthựchiện Lượcđồtuầntự"Luân
chuyểnsảnphẩm"
Thờigianđượcđịnh nghĩatrongmôhình (Derivedproduct)
6:Lưuthờigianthựchiệnchothểhiệncôngviệc
7:Lưuthờigianthựchiện
Hình19Lượcđồtuầntựtạomớithểhiệncơngviệ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
Project SequenceFlow Engine
1:Tìmđốitượngtiếptheo(IDcủacôngviệcvừakếtthúc)
2:Lấyđốitượngtiếptheo 3:Kiểmtraloạiđốitượng
4:XửlýđốitượnglàGateway 5:Xửlýđốitượnglàquitrìnhcon
6:XửlýđốitượnglàEndEvent
Có3loạiđối tượng:Task, Subprocess, Event(chínhlà endeventtr...
Lặplạiquitrình kíchhoạt dựánvớiIDcủaquitrìnhlà IDcủađốitượngtrảvề
Hình20Lượcđồtuầntựtìmcơngviệctiếptheotrongdựán
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
Project Process Engine
1:Kiểmtraloạiquitrình(IDProcessmảendeventthuộcvề)
2:Lấythôngtinquitrình 3:Ghinhậnkếtthúcdựánnếulàquitrìnhchính
4:Tìmcôngviệctiếptheovới(IDcủaquitrìnhmàendeventthuộcvề) Nếulàkếtthúcquitrìnhcon, thìquitrìnhđượcxemnhưlà 1côngviệcvừakếtthúc,lặp lạiluồngtuầntự"cha"
Hình21Lượcđồtuầntựxửlýendevent
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:
Lấy thông tin Gateway (ID)
2:Lấythôngtingateway
DựavàoloạiGatewayvà
điềukiệntrêncác SequenceFlowgắnvới đầuvàocủaGateway
3:KiểmtrađiềukiệnvàocủaGateway
4:LấydanhsáchcácSequenceFlowrakhỏiGateway 5:TìmcácđốitượngtiếptheotrongSequenceFlow
6:LấyđốitượngtiếptheotrongSequenceFlow 7:KiểmtrađiềukiệnkíchhoạtSequenceFlow 8:Danhsáchcácđốitượngtrảvề
Lặplạiquitrìnhkiểm traloạiđốitượngvà kíchhoạtcôngviệc tiếptheo
Hình22LượcđồtuầntựxửlýGateway
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
:ProjectManager EditProjectPage Activity TaskTimer UserInRole Engine
1:Chọncôngviệc
2:Lấythôngtincủacôngviệc(ActivityId)
Danhsáchcácuser thamgia,thờigianthực 4: Cập nhật thời gian thực hiện hiện
5:Cậpnhậtthờigianthựchiện(ActivityId)
7:
Cập nhật phân công user
3:Lấythôngtincôngviệc
6:Cậpnhậtthờigianthựchiện
8:Cậpnhậtphâncônguser(ActivityId) Baogồmthêmuser
vàxóauser,phânlại quyềnthựchiệncho
9:Cậpnhậtphâncônguser
user(Edit,View)
Hình23Lượcđồtuầntựthayđổithơngtincơngviệ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: Nhập vào ID của dự án 2:KiểmtraID IDphảilàsố nguyên 3:Tìmdựán(ProjectId) 5:Kiểmtradựántồntại 6:Lấycácactivitytrongquitrìnhchính(MainProcessId) 8:Kiểmtraloạiacitivty 9:Đọcthôngtincủacôngviệc(TaskId) TaskhoặcSubprocess, 4:Đọcthôngtindựán 7:Đọccácactivitytrongprocess 10:Đọcthôngtincủacôngviệc NếulàTask,thựchiệntử 9->16,nếulàSubprocess thựchiện17
11:Đọccácsản phẩm vào/ra của côngviệ(TaskId)
12:Đọcsảnphẩmváoracủacôngviệc 13:Lấycácthể hiện sản phẩm đầu vào(ProductId)
14:Lấycácthểhiệnsảnphẩmđầuvào Đọccácsảnphẩm doUserlàmra (Chủyếulàcác file) 17:Đọccáccôngviệctrongsubprocess(SubprocessId) Lặplạicáccông việctừ7->16 15:Lấycácthểhiệnsảnphẩmđầura(ProductId) 16:Lấycácthểhiệnsảnphẩmđầura 18:Hiểnthịdựánlêncâytiếntrình
Hình24Lượcđồtuầntựhiểnthịcâytiếntrình
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
: User Home FileManagerPage OutputProductInstance File Engine
1:Chọncôngviệc 2: Chọn sản phẩm đầu ra 3:Chọn chức năn g quản lýfile
4:HiểnthịpageFileManagerPage 5:Uploadfile
6:Lưufile,trảvềFileId
7:Lưufile 8:Lưusảnphẩmđầurachocôngviệc(FileId)
9:Lưusảnphẩmđầurachocôngviệc
Hình25Lượcđồtuầntựuploadsảnphẩm
5.3.3.8. Lược đồ tuần tự download sản phẩm:
: User Home 1:Chọncôngviệc
FileManagerPage FileDoawnload InputProductInstacne File Engine 2:Chọnsảnphẩmđầuvào
3:Chọn chức năng quản lýfile
4:HiểnthịpageFileManagerPage
5:Hiểnthịdanhsáchfile(ProductId)
6:ĐọcdanhsáchFileId
7:Hiểnthịthôngtinfile(FileId)
8: Đọc thông tin file
10:Downloadfile(Tênfile)
Hình26Lượcđồtuầntựdoawnloadsảnphẩ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 riêng theo chuẩn XPDL.
EditNoneTemplateProjectPage Object Engine
: Project Manager
1:Chọnloạiobjectmuốnthêmvàoproject
2:Tạomớiđốitượng
PhátsinhrasốIDcho 3:Lưuthôngtinobject object
Hình27Lượcđồtuầntựthêmmớiđốitượ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:Lấydanhsáchcácsảnphẩmđầuvào(ActivityId)
Trảvềdanhsáchcác IDcủasảnphẩm
3:Lấydanhsáchcácthểhiệncủasảnphẩm(ProductId)
Cácsảnphẩmđầura
2:Lấydanhsáchcácsảnphẩmđầuvào
4:Lấydanhsáchcácthểhiệncủasảnphẩm củacáccôngviệc
trướcđó,cácsản phẩmnàyđãcóthể hiện
5:Lưuthôngtincácsànphẩmđầura(Thôngtinthểhiệnsảnphẩm)
6:Lưuthôngtinsảnphẩm
Hình28Lượcđồtuầntựluânchuyểnsảnphẩ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 ứng kiểu dữ liệu Object trong .NET).
Object Engine
1:Mởkếtnối
2:Truyvấndữliệu(CâutruyvấnSQL)
3:Cậpnhậtdữliệu(Câulệnhcậpnhật)
Hình29Lượcđồtuầntựtruyxuấtcơ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ếtkếgiaodiệ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
con Menu chính
Hình30Menuchứcnănghệ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ình31Câytiếntrìnhdựá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ình32Mànhìnhvậnhànhdựá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ình33Mànhìnhbáocáo
Chương6. Thử nghiệmvàđánhgiá 6.1.Mộtsốquytrìnhmẫ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.
- 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 tố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ình34Quytrìnhthithựchành
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 hồ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