Qua tìm hiểu thực tếcho thấy, với các tổchức, cơ quan khác nhau có nghiệp
vụthực hiện công tác tổchức xửlý và giao việc không giống nhau. Tuy nhiên vềcơ
bản các công ty, doanh nghiệp đều có mô hình quản lý và luồng quy trình nghiệp
vụthực hiện công tác tổchức và giao việc giống nhau. Do đó, đểphát triển và mở
rộng một hệthống có tính chất thương mại hoá, triển khai trên quy mô lớn, dễbảo
trì, cấu hình, phát triển mởrộng, khóa luận đãnghiên cứu đặc điểm, tính chất và
cáchxây dựng một Khung làm việc(Framework), các bài toán luồng công việc cụ
thể, phân tích thiết kếbài toán luồng công việc tổng quátđược rút ra từcác bài toán
cụthể, tích hợp và ghép nối các mẫu thiết kếlại thành các khung làm việc. Các
khung làm việc hỗtrợcác điểm thếchỗtrước đểkhi ứng dụng triển khai có thểthay
thếcác điểm thếchỗtrước này. Khi triển khai ứng dụng cho một đơn vịcó sựthay
đổi vềquy trình nghiệp vụxửlý công việc ta chỉcần xây dựng mới thêm mộtvài
mô đun tương ứng với sựthay đổi đó và lắp ghép vào các điểm thếchỗtrướcđểtạo
ra ứng dụng mới đáp ứng hoàn toàn vềsựthay đổi mô hình quản lý và quy trình
nghiệp vụxửlý của đơn vịcần triển khai áp dụng hệthống.
Đề tài của khóa luận này là “Khung làm việc-Framework và ứng dụng cho
bài toán luồng công việc”. Nộidung của đề tài gồm các phần sau.
MỞ ĐẦU: Giới thiệu lý do chọn đề tài luận văn, nhu cầu thực tiễn và khả
năng ứng dụng của luận văn
Chương 1: Tổng quan về framework. Nhằm trả lời cho câu hỏi:
“Framework là gì?”, phần này nêu ra khái niệm, các đặc điểm và phân loại
framework.
Chương 2:Giới thiệu một số Framework cụ thể đã có. Phần này đưa ra
một số Framework điển hình đã được xây dựng và ứng dụng giải quyết các bài toán
cụ thể.
Chương 3:Xây dựng Framework giải quyết bài toán Luồng công việc-Workflow. Nêu ra bài toán Workflow tổng quát bằng lời và bằng các mô hình
nghiệp vụ, các ca sử dụng và các sơ đồ lớp. Phân tích thiết kế tiến tới chi tiết hóa
các ca sử dụng, gắn vào đó là các mẫu-patterns tạo nên một biểu đồ lớp có kèm theo
các patterns sẵn có. Dựa trên phân tích thiết kế, xây dựng framework giải quyết bài
toán luồng công việc trên nền tảng .NET framework 3.5và ngôn ngữ lập trình C#.
101 trang |
Chia sẻ: nhungnt | Lượt xem: 2591 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Đề tài Khung làm việc - Framework và ứng dụng cho bài toán luồng công việc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Duy Hiệp
KHUNG LÀM VIỆC VÀ
ỨNG DỤNG CHO BÀI TOÁN LUỒNG CÔNG VIỆC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
HÀ NỘI - 2009
2
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Duy Hiệp
KHUNG LÀM VIỆC VÀ
ỨNG DỤNG CHO BÀI TOÁN LUỒNG CÔNG VIỆC
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công Nghệ Thông Tin
Cán bộ hướng dẫn: PGS. TS. Nguyễn Văn Vỵ
HÀ NỘI - 2009
i
LỜI CẢM ƠN
Lời đầu tiên em xin được gửi lời cảm ơn chân thành nhất tới thầy giáo PGS.
TS. Nguyễn Văn Vỵ. Thầy đã giúp em trong việc định hướng đề tài, tìm hiểu tài
liệu, nghiên cứu về Khung làm việc(Framework) và Luồng công việc(Workflow).
Thầy cũng giúp đỡ em rất nhiều trong kỹ năng viết, trình bày khóa luận.
Em xin một lần nữa được gửi lời cảm ơn chân thành nhất đến thầy!
Em cũng được xin gửi lời cảm ơn chân thành nhất đến các thầy cô trong
trường Đại học Công nghệ, đặc biệt các thầy cô trong khoa Công nghệ phần mềm.
Các thầy cô đã tận tình dạy dỗ và tạo điều kiện cho em học tập để đạt được kết quả
tốt như ngày hôm nay! Em xin chân thành cảm ơn các thầy cô!
Cuối cùng em xin cảm ơn tới Gia đình, bố mẹ, bạn bè em đã luôn cổ vũ động
viên, tạo điều kiện giúp đỡ em trong quá trình thực hiện khóa luận tốt nghiệp này!
Hà Nội, ngày 11 tháng 05 năm 2009
Sinh viên
Nguyễn Duy Hiệp
ii
TÓM TẮT NỘI DUNG KHÓA LUẬN
Qua tìm hiểu thực tế cho thấy, với các tổ chức, cơ quan khác nhau có nghiệp
vụ thực hiện công tác tổ chức xử lý và giao việc không giống nhau. Tuy nhiên về cơ
bản các công ty, doanh nghiệp đều có mô hình quản lý và luồng quy trình nghiệp
vụ thực hiện công tác tổ chức và giao việc giống nhau. Do đó, để phát triển và mở
rộng một hệ thống có tính chất thương mại hoá, triển khai trên quy mô lớn, dễ bảo
trì, cấu hình, phát triển mở rộng, khóa luận đã nghiên cứu đặc điểm, tính chất và
cách xây dựng một Khung làm việc(Framework), các bài toán luồng công việc cụ
thể, phân tích thiết kế bài toán luồng công việc tổng quát được rút ra từ các bài toán
cụ thể, tích hợp và ghép nối các mẫu thiết kế lại thành các khung làm việc. Các
khung làm việc hỗ trợ các điểm thế chỗ trước để khi ứng dụng triển khai có thể thay
thế các điểm thế chỗ trước này. Khi triển khai ứng dụng cho một đơn vị có sự thay
đổi về quy trình nghiệp vụ xử lý công việc ta chỉ cần xây dựng mới thêm một vài
mô đun tương ứng với sự thay đổi đó và lắp ghép vào các điểm thế chỗ trước để tạo
ra ứng dụng mới đáp ứng hoàn toàn về sự thay đổi mô hình quản lý và quy trình
nghiệp vụ xử lý của đơn vị cần triển khai áp dụng hệ thống.
Đề tài của khóa luận này là “Khung làm việc-Framework và ứng dụng cho
bài toán luồng công việc”. Nội dung của đề tài gồm các phần sau.
MỞ ĐẦU: Giới thiệu lý do chọn đề tài luận văn, nhu cầu thực tiễn và khả
năng ứng dụng của luận văn
Chương 1: Tổng quan về framework. Nhằm trả lời cho câu hỏi:
“Framework là gì?”, phần này nêu ra khái niệm, các đặc điểm và phân loại
framework.
Chương 2: Giới thiệu một số Framework cụ thể đã có. Phần này đưa ra
một số Framework điển hình đã được xây dựng và ứng dụng giải quyết các bài toán
cụ thể.
Chương 3: Xây dựng Framework giải quyết bài toán Luồng công việc-
Workflow. Nêu ra bài toán Workflow tổng quát bằng lời và bằng các mô hình
nghiệp vụ, các ca sử dụng và các sơ đồ lớp. Phân tích thiết kế tiến tới chi tiết hóa
các ca sử dụng, gắn vào đó là các mẫu-patterns tạo nên một biểu đồ lớp có kèm theo
các patterns sẵn có. Dựa trên phân tích thiết kế, xây dựng framework giải quyết bài
toán luồng công việc trên nền tảng .NET framework 3.5 và ngôn ngữ lập trình C#.
iii
Chương 4: Ứng dụng Framework trên để demo một bài toán giao việc
nhỏ.
KẾT LUẬN: Phần này nêu kết quả đạt được của khóa luận và đề xuất
phương hướng nâng cấp và mở rộng ứng dụng đề tài vào thực tiễn trong tương lai.
iv
MỤC LỤC
LỜI CẢM ƠN ..............................................................................................................i
TÓM TẮT NỘI DUNG KHÓA LUẬN .......................................................................ii
MỤC LỤC:.................................................................................................................iv
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ ..............................................................viii
DANH MỤC CÁC BẢNG .........................................................................................ix
MỞ ĐẦU:............................................................................................................... - 1 -
Chương 1................................................................................................................ - 4 -
GIỚI THIỆU CHUNG VỀ FRAMEWORK............................................................ - 4 -
1.1. Khái niệm về framework ...................................................................... - 4 -
1.1.1. Định nghĩa về framework ................................................................... - 4 -
1.1.2. Cấu trúc của một framework .............................................................. - 5 -
1.1.3. Phân biệt framework với các khái niệm khác ...................................... - 7 -
1.2. Các đặc điểm của framework................................................................. - 9 -
CHƯƠNG 2.......................................................................................................... - 10 -
GIỚI THIỆU MỘT SỐ FRAMEWORK CỤ THỂ ................................................ - 10 -
2.1. Higgin Trust Framework ..................................................................... - 10 -
2.1.1. Giới thiệu về Higgins ....................................................................... - 10 -
2.1.2. Các thành phần của Higgins ............................................................. - 11 -
2.1.2.1. Browser Extension......................................................................... - 12 -
2.1.2.2. RP Enablement .............................................................................. - 12 -
2.1.2.3. I-Card Manager ............................................................................ - 13 -
2.1.2.4. RP Protocol Support...................................................................... - 13 -
2.1.2.5. ISS Client UI ................................................................................. - 13 -
2.1.2.6. I-Card Selector Service.................................................................. - 14 -
2.1.2.7. I-Card Registry.............................................................................. - 14 -
2.1.2.8. I-Card Provider ............................................................................. - 14 -
2.1.2.9. Token Service ................................................................................ - 14 -
2.1.2.10. Token Provider ............................................................................ - 15 -
2.1.2.11. Identity Attribute Service ............................................................. - 15 -
2.1.2.12. Context Provider ......................................................................... - 16 -
v
2.1.3. Mô hình dữ liệu của Higgins ........................................................... - 16 -
2.1.3.1. Các khái niệm dữ liệu cơ bản ....................................................... - 16 -
2.1.3.2. Mục tiêu của mô hình .................................................................... - 18 -
2.2. JhotDraw............................................................................................. - 18 -
2.2.1. Giới thiệu khung làm việc JhotDraw ................................................ - 18 -
2.2.2. Kiến trúc tổng quan về thiết kế của JHotDraw.................................. - 19 -
CHƯƠNG 3:......................................................................................................... - 24 -
XÂY DỰNG FRAMEWORK GIẢI QUYẾT ....................................................... - 24 -
BÀI TOÁN LUỒNG CÔNG VIỆC-WORKFLOW. ............................................. - 24 -
3.1. Mô tả bài toán quản lý công việc tại một công ty thiết kế đồ nội thất gia đình:- 24 -
3.1.1. Bài toán đặt ra: .................................................................................. - 24 -
3.1.2. Sơ đồ hoạt động quản lý công việc tại công ty thiết kế đồ nội thất gia
đình: - 24 -
3.1.3. Mô hình miền lĩnh vực: ..................................................................... - 25 -
3.2. Mô tả bài toán quản lý thanh toán tiền lương:............................................. - 26 -
3.2.1. Bài toán đặt ra: .................................................................................. - 26 -
3.2.2. Sơ đồ tiến trình quản lý hoạt động thanh toán tiền lương: .................. - 27 -
3.2.3. Mô hình miền lĩnh vực: ..................................................................... - 30 -
3.3. Mô tả bài toán tổng quát:............................................................................ - 30 -
3.3.1. Các thông tin chung về bài toán luồng công việc: .............................. - 30 -
3.3.2. Công tác quản lý bài toán luồng công việc:........................................ - 32 -
3.3.3. Sơ đồ tiến trình quản lý hoạt động giao công việc.............................. - 32 -
3.3.4. Các yêu cầu xây dựng hệ thống quản lý hoạt động giao công việc ..... - 34 -
3.3.5. Các chức năng hệ thống..................................................................... - 34 -
3.3.6. Từ điển dữ liệu và mô hình lĩnh vực nghiệp vụ.................................. - 35 -
3.3.6.1. Các khái niệm dự tuyển cho nghiệp vụ quản lý giao việc ........... - 35 -
3.3.6.2. Mô hình lĩnh vực nghiệp vụ ....................................................... - 36 -
3.3.7. Đặc tả hệ thống bài toán luồng công việc........................................... - 36 -
3.3.7.1. Các tác nhân (Actor) trong hệ thống .............................................. - 36 -
3.3.7.2. Các ca sử dụng (Usecase) của hệ thống ......................................... - 38 -
vi
3.3.7.2.1. Ca sử dụng Đăng nhập hệ thống............................................. - 38 -
3.3.7.2.2. Ca sử dụng Tạo công việc mới ............................................... - 39 -
3.3.7.2.3. Ca sử dụng Sửa thông tin hồ sơ công việc .............................. - 39 -
3.3.7.2.4. Ca sử dụng Xoá hồ sơ công việc ............................................ - 39 -
3.3.7.2.5. Ca sử dụng Phân giải quyết công việc .................................... - 40 -
3.3.7.2.6. Ca sử dụng Chỉ đạo giải quyết công việc ............................... - 40 -
3.3.7.2.7. Ca sử dụng sửa Chỉ đạo giải quyết công việc ......................... - 40 -
3.3.7.2.8. Ca sử dụng Giải quyết công việc............................................ - 41 -
3.3.7.2.9. Ca sử dụng Báo cáo thống kê................................................. - 41 -
3.3.7.2.10. Ca sử dụng Xem và tra cứu công việc .................................... - 42 -
3.3.7.2.11. Ca sử dụng Cập nhật danh mục từ điển .................................. - 42 -
3.3.7.2.12. Ca sử dụng Cập nhật người dùng ........................................... - 42 -
3.3.7.2.13. Ca sử dụng Cập nhật nhóm quyền .......................................... - 43 -
3.3.7.2.14. Ca sử dụng Phân quyền truy nhập .......................................... - 43 -
3.3.8. Mô hình ca sử dụng tổng thể ............................................................. - 43 -
3.3.8.1. Gói ca sử dụng Đăng nhập hệ thống .......................................... - 43 -
3.3.8.2. Gói ca sử dụng Quản lý giải quyết công việc ............................. - 44 -
3.3.8.3. Gói ca sử dụng Quản trị tiện ích ................................................ - 45 -
3.3.8.4. Gói ca sử dụng Báo cáo thống kê............................................... - 46 -
3.3.8.5. Gói ca sử dụng Quản trị phân quyền người dùng ....................... - 46 -
3.3.9. Mô tả chi tiết các ca sử dụng ................................................................. - 47 -
3.3.9.1. Gói ca sử dụng Đăng nhập hệ thống .................................................. - 47 -
3.3.9.2. Gói ca sử dụng Quản lý giải quyết công việc ................................. - 49 -
3.3.9.3. Gói ca sử dụng Quản trị tiện ích ................................................... - 53 -
3.3.9.4. Gói ca sử dụng Báo cáo thống kê.................................................. - 57 -
3.3.9.5. Gói ca sử dụng Quản trị phân quyền người dùng .......................... - 61 -
3.4. Phân tích các lớp:....................................................................................... - 63 -
3.4.1. Các lớp giao diện hệ thống: ............................................................... - 63 -
3.4.2. Các lớp thao tác Cơ Sở dữ liệu: ......................................................... - 64 -
3.4.3. Các lớp dịch vụ(Services):................................................................. - 65 -
3.4.4. Các lớp thực thể: ............................................................................... - 66 -
3.5. Áp dụng các mẫu (patterns) trong việc thiết kế cho các ca sử dụng: ........... - 67 -
vii
3.5.1. Gói ca sử dụng Đăng nhập hệ thống .................................................. - 67 -
3.5.2. Gói ca sử dụng Quản lý giải quyết công việc ......................................... - 68 -
a. Ca sử dụng Cập nhật công việc............................................................... - 69 -
b. Ca sử dụng Phân công việc..................................................................... - 72 -
3.5.3. Gói ca sử dụng phục vụ tra cứu, báo cáo, thống kê ........................... - 74 -
3.6. Thiết kế một số lớp................................................................................ - 76 -
3.6.1. Lớp giao diện ................................................................................. - 76 -
3.6.2. Lớp điều khiển ............................................................................... - 78 -
3.6.3. Lớp thực thể .................................................................................... - 80 -
KẾT LUẬN .......................................................................................................... - 87 -
TÀI LIỆU THAM KHẢO..................................................................................... - 89 -
Tài liệu tiếng Việt ........................................................................................... - 89 -
Tài liệu tiếng Anh ........................................................................................... - 89 -
Các trang Web ................................................................................................ - 90 -
Bộ công cụ ...................................................................................................... - 90 -
viii
DANH MỤC CÁC HÌNH VẼ VÀ ĐỒ THỊ
Hình 1.1. Mối quan hệ giữa các thành phần khác nhau trong một framework [4]
Hình 2.1. Higgins Trust Framework
Hình 2.2. Kiến trúc của Higgins
Hình 2.3. RP Enablement
Hình 2.4. Kiến trúc Token Service
Hình 2.5. Kiến trúc tổng quan về thiết kế của JhotDraw
Hình 2.6 : Các mẫu thiết kế
Hình 3.1: Sơ đồ hoạt động quản lý công việc tại công ty thiết kế đồ nội thất gia đình
Hình 3.2: Mô hình khái niệm hệ thống tổ chức và quản lý công việc tại công ty thiết
kế đồ nội thất gia đình
Hình 3.3: Sơ đồ hoạt động quản lý công việc quản lý tiền lương
Hình 3.4: Mô hình miền lĩnh vực của bài toán quản lý tính tiền lương
Hình 3.5. Mô hình phân cấp quản lý trong doanh nghiệp
Hình 3.6: Sơ đồ tiến trình quản lý hoạt động giao công việc
Hình 3.7: Mô hình khái niệm hệ thống tổ chức và quản lý giao công việc
Hình 3.8: Gói ca sử dụng Đăng nhập hệ thống
Hình 3.9: Gói ca sử dụng Quản lý giải quyết công việc
Hình 3.10: Gói ca sử dụng Quản trị tiện ích
Hình 3.11: Gói ca sử dụng Báo cáo thống kê
Hình 3.12: Gói ca sử dụng Quản trị phân quyền người dùng
Hình 3.13: Biểu đồ lớp thiết kế thực thi ca sử dụng Đăng nhập
Hình 3.14: Biểu đồ lớp thiết kế ca sử dụng Đăng nhập áp dụng mẫu Singleton
Hình 3.15: Biểu đồ lớp thiết kế thực thi ca sử dụng Tạo công việc mới
Hình 3.16. Biểu đồ lớp thiết kế thực thi ca sử dụng Tạo công việc mới áp dụng mẫu
thiết kế Observer
Hình 3.17: Biểu đồ lớp thiết kế thực thi ca sử dụng Sửa nội dung công việc
ix
Hình 3.18: Biểu đồ lớp thiết kế thực thi ca sử dụng Xoá công việc
Hình 3.19: Biểu đồ lớp thiết kế thực thi ca sử dụng Phân công việc
Hình 3.20. Biểu đồ lớp thiết kế thực thi ca sử dụng Phân công việc áp dụng mẫu
thiết kế State
Hình 3.21: Biểu đồ lớp thiết kế thực thi ca sử dụng Chỉ đạo công việc
Hình 3.22: Biểu đồ lớp thiết kế thực thi ca sử dụng Giải quyết công việc
Hình 3.23: Biểu đồ lớp thiết kế thực thi ca sử dụng Báo cáo công việc
Hình 3.24: Áp dụng mẫu thiết kế Composite vào lớp CongViec
DANH MỤC CÁC BẢNG
Bảng 2.1: Các chức năng hệ thống
Bảng 2.2: Các khái niệm dự tuyển cho nghiệp vụ quản lý giao việc
Bảng 2.3: Mô tả các tác nhân trong hệ thống
- 1 -
MỞ ĐẦU
Cơ sở khoa học và thực tiễn của đề tài:
a. Cơ sở khoa học và ý nghĩa thực tiễn của việc nghiên cứu và ứng dụng các mô
hình sử dụng lại vào quá trình thiết kế phần mềm:
Ngày nay, một trong những vấn đề quan trọng của ngành công nghệ phần
mềm là vấn đề sử dụng lại. Ngay từ thời kỳ đầu tiên, người ta đã cố gắng sử dụng
lại phần mềm bằng cách xây dựng trước các thư viện lớp. Trong các thư viện lớp
này có chứa các hàm và thủ tục thường hay được sử dụng trong các ứng dụng phần
mềm. Tuy nhiên, cách sử dụng lại này tương đối thụ động, vì chỉ có thể sử dụng lại
các đoạn mã có sẵn, mà không thể sử dụng các thiết kế. Ý tưởng sử dụng lại các
thiết kế có sẵn đã được thể hiện qua việc sử dụng các mẫu thiết kế. Một mẫu thiết kế
là một mô tả có tên về một cặp vấn đề và giải pháp, nó có thể được áp dụng trong
những hoàn cảnh khác nhau. Tuy nhiên, các mẫu thiết kế thường khó sử dụng vì có
mức độ trừu tượng hóa cao. Do vậy, để có thể sử dụng lại các thiết kế có sẵn hiệu
quả hơn, người ta đã đưa ra khái niệm Khung làm việc-Framework. Giống với các
mẫu thiết kế, các framework cũng được sử dụng lại dễ dàng bằng cách thu nhận lại
các kịch bản phát triển phần mềm thành công. Tuy nhiên, khác với mẫu thiết kế,
framework thường gắn với một miền ứng dụng cụ thể và bao gồm cả thiết kế và mã
thực hiện.
b. Cơ sở khoa học và ý nghĩa thực tiễn của việc nghiên cứu, thiết kế và xây dựng
úng dụng “ Khung làm việc giải quyết bài toán luồng công việc”:
Ngày nay, với sự phát triển nhanh chóng của khoa học kỹ thuật nói chung và
công nghệ thông tin nói riêng đã mang lại nhiều thành tựu to lớn. Những thành tựu
của khoa học được áp dụng trong tất cả các hoạt động của con người và đã đem lại
những thành công hết sức lớn lao. Ở Việt Nam, hiện nay, các công ty, xí nghiệp và
các doanh nghiệp vừa và nhỏ hầu hết đã trang bị cơ sở hạ tầng về máy tính và kết
nối mạng đã tạo cơ sở cho việc áp dụng những công nghệ mới của mạng máy tính
và internet vào lĩnh vực tìm kiếm, tổ chức và xử lý thông tin phục vụ công tác điều
hành và quản lý sản xuất. Với cơ sở hạ tầng công nghệ thông tin ngày càng phát
triển mở rộng, các tổ chức, doanh nghiệp ngày càng có nhu cầu tin học hoá mọi lĩnh
vực công việc, sản xuất, quản lý,… và mong muốn mọi thông tin quản lý điều hành
sản xuất đều được lưu trữ trên máy tính để có thể tra cứu tìm kiếm dễ dàng và nhanh
chóng mỗi khi có nhu cầu.
- 2 -
Những hoạt động mang tính chất luồng công việc như hoạt động giao việc và
điều hành xử lý việc thực hiện công việc là một hoạt động chủ đạo trong hầu hết các
tổ chức, doanh nghiệp. Tuy nhiên, qua khảo sát thực tế cho thấy, hiện nay việc tổ
chức và quản lý hoạt động giao công