You are on page 1of 113

ĐẠI HỌC QUỐC GIA HÀ NỘI

ĐẠI HỌC CÔNG NGHỆ

Hoàng Xuân Hào

HỆ THỐNG QUẢN LÝ NHÂN SỰ NGÀNH GIÁO


DỤC VÀ ĐÀO TẠO THÀNH PHỐ HÀ NỘI

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY

Ngành: Công nghệ thông tin

HÀ NỘI - 2005
LỜI CẢM ƠN

Để hoàn thành đề tài khóa luận tốt nghiệp này, em xin gửi lời cảm ơn chân
thành tới PGS.TS. Nguyễn Văn Vỵ, ThS. Đỗ Đức Hạnh và các thầy cô giáo bộ môn
Công Nghệ Phần Mềm, các thầy cô giáo trong khoa, trong trường đã tận tình chỉ bảo
và dạy dỗ chúng em trong 4 năm học qua và trong quá trình thực hiện khóa luận.
Do sự hạn chế về thời gian, trình độ và kinh nghiệm nên đề tài sẽ không tránh
khỏi những thiếu sót. Em rất mong nhận được các ý kiến đóng góp của các thầy cô
trong trường và các chuyên gia có kinh nghiệm cùng với các bạn xa gần để khóa luận
được ngày càng hoàn thiện hơn.

Em xin chân thành cảm ơn!

Hà nội ngày 6 tháng 6 năm 2005


Sinh Viên

Hoàng Xuân Hào


TÓM TẮT KHÓA LUẬN

Khóa luận nghiên cứu phát triển và xây dựng Hệ thống quản lý nhân sự cho
ngành giáo dục và đào tạo thành phố Hà Nội, đây là một vấn đề liên quan đến việc
quản lý hồ sơ công chức, theo dõi và quản lý các hoạt động nghiệp vụ hàng ngày trong
công tác quản lý cán bộ và liên quan tới việc tạo lập các báo cáo thống kê về tình hình
nhân sự. Khóa luận được xây dựng trên cơ sở khảo sát, phân tích thực trạng của công
tác quản lý cán bộ tại sở giáo dục & đào tạo và các trường học trên địa bàn thành phố.
Đồng thời áp dụng phương pháp phân tích và thiết kế theo công nghệ hướng đối tượng
để giải quyết vấn đề. Hiện nay em đã thiết kế và triển khai được hệ thống quản lý nhân
sự đáp ứng được phần nào yêu cầu quản lý của ngành giáo dục và đào tạo thành phố
Hà Nội.
Hướng phát triển của hệ thống là hoàn thiện thêm các chức năng trong hệ thống
và mở rộng phạm vi hoạt động hệ thống cho toàn ngành giáo dục trên cả nước.
MỤC LỤC

MỞ ĐẦU ....................................................................................................................4

CHƯƠNG 1. MÔ TẢ BÀI TOÁN QUẢN LÝ NHÂN CÔNG CHỨC GIÁO DỤC VÀ


ĐÀO TẠO THÀNH PHỐ HÀ NỘI ...............................................................................6
1.1. Nhu cầu và lợi ích của việc ứng dụng CNTT trong công tác quản lý nhân sự .......................................... 6
1.1.1. Tình hình chung........................................................................................................................................ 6
1.1.2. Lợi ích của việc ứng dụng CNTT vào công tác quản lý nhân sự.............................................................. 7

1.2. Hiện trạng của hoạt động quản lý nhân sự ngành Giáo Dục và Đào tạo thành phố Hà nội .................... 8
1.2.1. Nhiệm vụ công tác của Sở giáo dục và Đào tạo trong lĩnh vực TCCB (tổ chức cán bộ).......................... 8
1.2.2. Hệ thống quản lý nhân sự hiện thời của sở GD & ĐT.............................................................................. 9

1.3. Những yêu cầu cần thiết của người sử dụng .............................................................................................. 10
1.3.1. Yêu cầu về mặt nghiệp vụ....................................................................................................................... 10
1.3.2. Yêu cầu về nhiệm vụ chuyên môn.......................................................................................................... 11
1.3.2.1. Khối cập nhật hồ sơ dữ liệu cán bộ ................................................................................................. 11
1.3.2.2. Khối tra cứu tìm kiếm .................................................................................................................... 11
1.3.2.3. Khối giải quyết lương ..................................................................................................................... 12
1.3.2.3. Khối chuyển công tác...................................................................................................................... 12
1.3.2.4. Khối giải quyết đi đào tạo trong và ngoài nước .............................................................................. 12
1.3.2.5. Khối báo cáo thống kê .................................................................................................................... 12
1.3.2.6. Khối hệ thống.................................................................................................................................. 12
1.3.2.7. Khối trợ giúp................................................................................................................................... 12

CHƯƠNG 2. PHÂN TÍCH HỆ THỐNG ................................................................... 13


2.1. Nắm bắt yêu cầu ........................................................................................................................................... 13
2.1.1. Mô tả nghiệp vụ bài toán ........................................................................................................................ 13
2.1.2. Chức năng hệ thống ................................................................................................................................ 15
2.1.3. Từ điển dữ liệu và mô hình lĩnh vực nghiệp vụ ...................................................................................... 17
2.1.3.1. Từ điển dữ liệu................................................................................................................................ 17
2.1.3.2. Mô hình lĩnh vực nghiệp vụ ............................................................................................................ 20
2.1.4. Mô hình ca sử dụng ............................................................................................................................... 23
2.1.4.1. Mô hình ca sử dụng mức tổng thể................................................................................................... 23
2.1.4.2. Mức chi tiết của mô hình tổng thể .................................................................................................. 24
2.1.4.3.Mô tả chi tiết mỗi ca sử dụng........................................................................................................... 30

2.2. Phân tích từng ca sử dụng ........................................................................................................................... 47


2.2.1 Ca sử dụng: Đăng nhập hệ thống............................................................................................................. 47
2.2.2 . Gói ca sử dụng: Cấp quyền người dùng................................................................................................. 48
2.2.3. Ca sử dụng: Tìm kiếm nhân viên............................................................................................................ 50
2.2.4. Gói ca sử dụng: Cập nhật hồ sơ .............................................................................................................. 53
2.2.5. Gói ca sử dụng: Quản lý nghiệp vụ ........................................................................................................ 53
2.2.5.1. Ca sử dụng: Quản lý diễn biến lương.............................................................................................. 53
2.2.5.2. Ca sử dụng: Quản lý quá trình giảng dạy........................................................................................ 56
2.2.5.3. Ca sử dụng: Quản lý quá trình bồi dưỡng ....................................................................................... 59
2.2.5.4. Ca sử dụng: Quản lý quá trình công tác .......................................................................................... 62
2.2.5.5. Ca sử dụng: Quản lý quá trình đào tạo............................................................................................ 65
2.2.5.6. Ca sử dụng: Quản lý quá trình khen thưởng ................................................................................... 71
2.2.5.7. Ca sử dụng: Quản lý quá trình kỷ luật ............................................................................................ 74
2.2.5.8. Ca sử dụng: Thuyên chuyển nhân viên ........................................................................................... 75

2
CHƯƠNG 3. THIẾT KẾ HỆ THỐNG........................................................................77
3.1. Môi trường thiết kế ...................................................................................................................................... 77

3.2. Xác định gói thiết kế..................................................................................................................................... 77


3.2.1. Thiết kế các lớp trong gói Transaction ................................................................................................... 78
3.2.1.1.Mô tả thuộc tính và phương thức trong các lớp trong gói Transaction................................................. 79
3.2.1.1 Thiết kế lớp PersistenceFacade ........................................................................................................ 80
3.2.1.2. Thiết kế lớp trừu tượng DBMapper ................................................................................................ 83
3.2.1.3. Thiết kế các lớp ánh xạ thực thể - CSDL quan hệ........................................................................... 87

3.3. Thiết kế cho từng ca sử dụng....................................................................................................................... 89


3.3.1 Ca sử dụng Tìm kiếm nhân viên .............................................................................................................. 89
3.3.1.1. Xác định các lớp thiết kế tham gia thực thi ca sử dụng................................................................... 89
3.3.1.2. Thiết kế các gói phân tích .............................................................................................................. 89
3.3.1.3. Biểu đồ tuần tự thực thi ca sử dụng tìm kiếm nhân viên................................................................ 92
3.3.1.4. Biểu đồ lớp ca sử dụng tìm kiếm nhân viên................................................................................... 94
3.3.2. Ca sử dụng Cập nhật danh mục dân tộc.................................................................................................. 96
3.3.2.1. Xác định các lớp thiết kế tham gia thực thi ca sử dụng................................................................... 96
3.3.2.2. Thiết kế các gói phân tích ............................................................................................................. 97
3.3.2.3. Biểu đồ tuần tự thực thi ca sử dụng cập nhật danh muc dân tộc ..................................................... 99
3.3.2.4. Biểu đồ lớp ca sử dụng danh mục dân tộc ...................................................................................... 99

CHƯƠNG 4. HỆ THỐNG CHƯƠNG TRÌNH .........................................................102


4.1. Cấu trúc và các chức năng của chương trình........................................................................................... 102
4.1.1. Khối hệ thống ....................................................................................................................................... 103
4.1.1.1. Giao diện đăng nhập hệ thống....................................................................................................... 104
4.1.1.2. Giao diện kết nối tới CSDL .......................................................................................................... 105
4.1.1.2. Giao diện cập nhật danh mục ........................................................................................................ 105
4.1.2. Khối tìm kiếm....................................................................................................................................... 106
4.1.2.1.Giao diện tìm kiếm nhân viên ........................................................................................................ 106
4.1.2.2. Giao diện kết quả tìm kiếm nhân viên .......................................................................................... 107
4.1.3. Khối hồ sơ............................................................................................................................................. 107
4.1.4. Khối quản lý nghiệp vụ......................................................................................................................... 108
4.1.4.1. Giao diện quản lý quá trình tham gia LLVT................................................................................. 109

KẾT LUẬN .............................................................................................................110

TÀI LIỆU THAM KHẢO .........................................................................................111

3
MỞ ĐẦU
Trong công cuộc đổi mới đất nước hiện nay thì việc đào tạo, sử dụng, đãi ngộ
con người là một trong những công tác quan trọng quết định sự thành bại của sự
nghiệp cách mạng nói chung cũng như trong công tác của một tập thể nói riêng. Do
vậy, công tác quản lý con người lâu nay luôn là công tác số một không thể tránh của
tất cả các tổ chức. Với các lý do ấy thì phát triển công nghệ thông tin đã trở thành một
ngành kinh tế quan trọng, đặc biệt là công nghệ phần mềm. Sự ra đời của các sản
phẩm phần mềm đặc biệt là các phần mềm quản lý nhân sự trong vài năm gần đây
mang lại nhiều thuận lợi trong công tác quản lý nhân sự. Tuy nhiên bên cạnh những
tiện lợi mà các chương trình này mang lại, vẫn còn có nhiều khó khăn, nhược điểm cần
được khắc phục. Nhược điểm của các chương trình có nhiều lý do như: nền công
nghiệp phần mềm còn rất non trẻ, bản thân các nhà lập trình còn hạn chế về trình độ
cũng như kinh nghiệm làm phần mềm, công tác hồ sơ cán bộ hiện nay chưa được quan
tâm đúng mức so với các công tác chuyên môn khác, trình độ của đội ngũ cán bộ quản
lý sử dụng thành thạo tin học còn rất ít, bản thân công tác quản lý còn rườm rà, thiếu
khoa học, chịu ảnh hưởng nhiều của cơ chế tập trung quan liêu bao cấp, cơ chế quản lý
của nền sản xuất nhỏ lạc hậu.
Công tác quản lý nhân sự của Sở Giáo Dục và Đào tạo cũng không thoát khỏi
bức tranh toàn cảnh của tình trạng chung như đã nêu trên. Đối tượng quản lý của
ngành Giáo dục là trên 25 ngàn cán bộ thì việc quản lý đội ngũ cán bộ công chức sao
cho khoa học, lại càng cấp thiết do những yêu cầu ngày càng cao của sự nghiệp giáo
dục. Thông tin về nhân sự biến đổi hàng ngày, ngoài những thông tin thay đổi có tính
chất định kỳ như nâng lương, nâng ngạch, còn có những thông tin biến đổi riêng lẻ
như việc đề bạt, phong hàm, khen thưởng, kỷ luật, đào tạo bồi dưỡng trong nước và
ngoài nước .v.v. Tính ra trung bình khối lượng thông tin cần phải nhập mỗi năm khác
biệt từ 40% đến 50% so với thông tin lưu trong hồ sơ cán bộ hiện hành. Công tác quản
lý cùng do nhiều người làm, mỗi người phụ trách một mảng, ở nhiều nguồn khác nhau.
Các thông tin tổng hợp lấy được từ các nguồn khác nhau thường là có độ vênh, một
phần vì thiếu hệ cơ sở dữ liệu thống nhất. Điều này làm cho các số liệu báo cáo bị
giảm độ chính xác, ảnh hưởng trực tiếp đến việc tính toán kế hoạch cho các chính sách
vĩ mô của toàn ngành.
Những lý do trên cho thấy việc xây dựng một hệ thống thông tin quản lý công
chức trên máy tính, đáp ứng nhanh và hiệu quả các yêu cầu tập hợp, tra cứu tìm kiếm,

4
thống kê thông tin và tư vấn các vấn đề liên quan đến nhân sự trong ngành là rất cần
thiết. Cũng vì vậy em đã mạnh dạn chọn khóa luận là Hệ thống quản lý công chức
ngành giáo dục và đào tạo.
Nội dung Đề tài Quản lý công chức Giáo Dục và Đào tạo thành phố Hà nội
được trình bày theo các chương:

• Chương 1: Giới thiệu bài toán

• Chương 2: Phân tích hệ thống

• Chương 3: Thiết kế hệ thống

• Chương 4: Hệ thống chương trình


Theo hướng tiếp cận đề tài là sử dụng phương pháp phân tích và thiết kế theo
công nghệ hướng đối tượng. Ngôn ngữ thể hiện bản phân tích và thiết kế là ngôn ngữ
mô hình hóa thống nhất UML (Unified Modeling Language). UML là một ngôn ngữ
trực quan cung cấp cho các nhà phân tích thiết kế các hệ thống hướng đối tượng một
cách “hình dung ra” các hệ thống phần mềm, mô hình hóa các tổ chức nghiệp vụ sử
dụng các hệ thống phần mềm này; cũng như xây dựng chúng và làm tài liệu về chúng.
UML vẫn đang tiến triển như là một chuẩn, và trở thành một chuẩn quốc tế được tổ
chức tiêu chuẩn quốc tế ISO (International Standard Organization) chấp nhận.
Ngôn ngữ lập trình được sử dụng là C# (tên đầy đủ là CSharp) dựa trên nền
Microsoft .NET Framework nên đảm bảo tính hiện đại của hệ thống.
Chương trình này được phát triển nhằm đáp ứng các yêu cầu cập nhật, tra cứu
tìm kiếm, báo cáo thống kê phục vụ các hoạt động nghiệp vụ hàng ngày trong công tác
quản lý cán bộ tại Sở Giáo dục và Đào tạo, các trường, đơn vị trực thuộc và phòng
giáo dục và Đào tạo. Khóa luận tốt nghiệp này, đã cố gắng bám sát vào thực trạng
quản lý hồ sơ công chức tại Sở Giáo Dục và Đào tạo, theo dõi và cập nhật kịp thời các
văn bản lương đều của nhà nước và ngành để đáp ứng yêu cầu của quản lý nghiệp vụ.
Chương trình này đã được thử nghiệm trên một số dữ liệu thực và cho kết quả
tốt.
Để chương trình có thể sử dụng tốt, dự kiến sẽ được thử nghiệm với những bộ
số liệu đầy đủ để tiếp tục hoàn thiện.

5
Chương 1

MÔ TẢ BÀI TOÁN QUẢN LÝ NHÂN CÔNG CHỨC


GIÁO DỤC VÀ ĐÀO TẠO THÀNH PHỐ HÀ NỘI
1.1. Nhu cầu và lợi ích của việc ứng dụng CNTT trong công tác
quản lý nhân sự

1.1.1. Tình hình chung


Vấn đề nóng hổi của nước ta và thế giới trong năm cuối cùng của thế kỷ 20 là
nhận thức và bắt đầu xây dựng một nền kinh tế tri thức, trong đó công nghệ thông tin
đóng một vai trò rất quan trọng. Đây là một thời cơ đồng thời là một thách thức đối với
nước ta cũng như đại đa số các quốc gia khác trên thế giới.
Ngày 17/10/2000, Bộ chính trị TW Đảng ta đã ra chỉ thị 58/CT/TW nêu rõ vai
trò và mục tiêu phát triển công nghệ thông tin của nước ta đến năm 2010. Nội dung
quan trọng của chỉ thị này là:
Đến năm 2010, công nghệ thông tin phải đạt trình độ tiên tiến trong khu vực
với một số mục tiêu cơ bản sau đây:
Công nghệ thông tin được ứng dụng rộng rãi trong mọi lĩnh vực, trở thành
một trong những yếu tố quan trọng nhất của sự phát triển kinh tế - xã hội, bảo
đảm an ninh quốc phòng.
Phát triển mạng thông tin quốc gia phủ trên cả nước, với thông lượng lớn, tốc
độ và chất lượng cao, giá rẻ; tỷ lệ người sử dụng Internet đạt mức trung bình
thế giới.
Công nghiệp công nghệ thông tin trở thành ngành kinh tế mũi nhọn, có tốc
độ phát triển hàng năm cao nhất so với các khu vực khác; có tỷ lệ đóng góp
tăng trưởng GDP của cả nước ngày càng tăng.
Để thực hiện tốt mục tiêu trên, Bộ chính trị chủ trương:
Ứng dụng và phát triển công nghệ thông tin là một nhiệm vụ ưu tiên trong
chiến lược phát triển kinh tế - xã hội, là phương tiện chủ lực để đi tắt – đón
đầu, rút ngắn khoảng cách phát triển so với các nước đi trước.

6
Mọi lĩnh vực hoạt động kinh tế, văn hóa, xã hội, anh ninh, quốc phòng đều
phải ứng dụng công nghệ thông tin để phát triển.
Mạng thông tin quốc gia là kết cầu hạ tầng kinh tế - xã hội quan trọng, phải
tạo điều kiện thuận lợi cho quá trình ứng dụng và phát triển CNTT, đảm bảo
được tốc độ và chất lượng cao, giá cước rẻ.
Phát triển nguồn nhân lực cho công nghệ thông tin là yếu tố then chốt có ý
nghĩa quyết định đối với việc ứng dụng và phát triển công nghệ thông tin.
Phát triển công nghiệp công nghệ thông tin thành một ngành kinh tế quan
trọng, đặc biệt là công nghệ phần mềm.

1.1.2. Lợi ích của việc ứng dụng CNTT vào công tác quản lý nhân sự
Trong giai đoạn hiện nay việc áp dụng công nghệ thông tin trong công tác quản
lý nhà nước là rất cần thiết. Khi có các thông tin gốc chính xác và có quá trình cập
nhật thông tin liên tục, nhiều công việc, nhất là những công việc sự vụ, có thể hoàn
thành nhanh chóng với hiệu quả cao với sự trợ giúp của các phần mềm quản lý ( hệ
quản trị cơ sở dữ liệu ).
Việc đưa ra kỹ nghệ tin học ( dùng phần mềm quản lý ) vào công tác tổ chức
cán bộ nói chung và công tác quản lý nhân sự nói riêng mang lại nhiều lợi nhuận căn
bản, cụ thể là:
Chương trình quản lý sẽ cung cấp đầy đủ những thông tin chi tiết về một hay
nhiều nhân sự, đảm bảo nhanh, đầy đủ chính xác tại thời điểm thông tin được
khai thác. Loại thông tin này được sử dụng nhiều nhất khi cần bố trí lại cơ
cấu cán bộ, tìm các cán bộ cho các vị trí mới nếu không tuyển mới; Đề bạt
cán bộ, tìm cán bộ đủ tiêu chuẩn để cử đi đào tạo trong nước và nước ngoài;
Thẩm tra lý lịch hồ sơ khi có nghi vấn hoặc giải quyết khiếu nại tố cạo và
giải đáp các thắc mắc về nhân sự nói chung.
Cung cấp nhưng thông tin tổng hợp về công chức, về cơ cấu tổ chức của Sở,
trường, và các phòng ban .v.v. Các thông tin dạng này chủ yếu dùng cho việc
báo cáo hàng năm, dùng để tham khảo khi cần hoạch định nhưng chính sách
lớn. Chẳng hạn như vấn đề biên chế, tiền lương, kế hoạch toàn Ngành, biên
chế từng trường, tổ bộ môn, phòng ban; Vấn đề theo dõi nắm chất lượng cán
bộ .v.v.

7
Cung cấp những thông tin dự báo về diễn biến tình hình cán bộ. Chẳng hạn
như thông tin về số lượng cán bộ nghĩ hưu, đến tuổi nghỉ quản lý; Dự báo các
thông số sẽ tăng lên hay giảm đi trong tương lai. Những thông tin này có
được chỉ sau vài phút với hệ quản trị dữ liệu phân tán và với những yêu cầu
phức tạp.
Việc ứng dụng tin học vào công tác quản lý nhân sự để tự động hóa việc xử lý
thông tin, với những ứng dụng đắc lực nêu trên, đã trở thành nhu cầu cấp thiết và bức
bách trong các cơ quan nhà nước nói chung và trong ngành giáo dục nói riêng. Để đáp
ứng yêu cầu công tác, việc quản lý cán bộ của Ngành Giáo dục và Đào tạo cần phải
được cải tiến theo hướng tin học hóa hệ thống quản lý từ cơ sở. Đây là công việc phức
tạp đòi hỏi phải có sự thống nhất trong tất cả các đơn vị của ngành Giáo Dục và sự
nhất trí từ Ủy ban nhân dân thành phố.

1.2. Hiện trạng của hoạt động quản lý nhân sự ngành Giáo Dục
và Đào tạo thành phố Hà nội

1.2.1. Nhiệm vụ công tác của Sở giáo dục và Đào tạo trong lĩnh vực
TCCB (tổ chức cán bộ)
Sở giáo dục và Đào tạo chịu trách nhiệm trước UBND thành phố việc thực hiện
những công việc (có liên quan đến công tác TCCB) sau đây:
Theo dõi và quản lý hồ sơ cán bộ; Bổ sung các thông tin thay đổi của cán bộ:
Các biến động trong quá trình công tác như nâng lương, chuyển ngạch, nâng
ngạch, đề bạt, khen thưởng, kỷ luật, phong học hàm, học vị, chuyển nơi công
tác, các thông tin về đào tạo và các thông tin cá nhân khác.
Theo dõi quản lý biên chế, chế độ lương của cán bộ, thực hiện nâng lương,
nâng ngạch, chuyển ngạch hàng năm cho cán bộ. Thống kê về tình hình
lương của tất cả các cơ sở trực thuộc. Lập báo cáo theo yêu cầu của các Sở,
Ngành liên quan về vấn đề lương và quĩ lương hàng năm. Dự toán quĩ lương
năm tiếp theo.
Phân tích và báo cáo tình hình nhân sự bằng việc sử dụng các biểu mẫu về
chất lượng cán bộ hiện tại, tình hình cán bộ trong một thời điểm nhất định
trong tương lai theo những tiêu chuẩn của nhà nước ban hành để nghiên cứu
chiến lược lâu dài, kế hoạch dài hạn trong phạm vi toàn Ngành cũng như
trong phạm vi hẹp của một cơ sở về công tác cán bộ.

8
Tìm kiếm nhân sự theo một số tiêu chí cho các cấp yêu cầu như thẩm tra lý
lịch cán bộ, thẩm tra vì khiếu tố, tìm các bộ có năng lực phù hợp cho các vị
trí công việc, hay đưa đi đào tạo, nắm số lượng cán bộ trong một lĩnh vực
chuyên môn bất kỳ v.v.
Xây dựng các tiêu chuẩn định mức và chế độ chính sách cho giáo viên các
cấp học; Xây dựng đội ngũ giáo viên, quản lý thống nhất việc đào tạo, bồi
dưỡng sử dụng đội ngũ giáo viên các cấp học theo mục tiêu chương trình nội
dung đào tạo.
Nghiên cứu các đề án trình UBND Tỉnh ban hành về chế độ đãi ngộ, chính
sách ưu đãi thu hút, khuyến khích học lên cao cho giáo viên và cán bộ quản
lý giáo dục.
Thực hiện các công việc nghiệp vụ khác về chế độ chính sách như chế độ
hưu, chế độ bảo hiểm xã hội, thôi việc một lần .v.v.
Giải quyết cho cán bộ đi đào tạo, bồi dưỡng ngắn hạn, dài hạn trong nước và
ngoài nước, đi thăm thân nhân, đi vì lý do cá nhân .v.v.
Giải quyết đơn thư khiếu nại tố cáo, thanh tra, xét khen thưởng kỷ luật, bổ
nhiệm cán bộ .v.v.
Thống kê, tổng hợp tình hình thực hiện các chế độ chính sách theo qui định
của nhà nước và của Ngành. Cung cấp thông tin để tra cứu và báo cáo theo
yêu cầu của các cấp lãnh đạo.
Với chức năng nhiệm vụ quản lý của Ngành như vậy, việc lập cơ sở dữ liệu về
công chức của ngành GD & ĐT là hết sức cần thiết để giúp cho công tác quản lý của
Ngành đạt hiệu quả cao.

1.2.2. Hệ thống quản lý nhân sự hiện thời của sở GD & ĐT


Sau một thời gian tìm hiểu về hiện trạng công tác tổ chức cán bộ hiện thời cho
thấy:
Số trường, lớp của toàn ngành quá lớn và có xu thế tăng nhanh.
Số cán bộ giáo viên lên tới hàng ngàn người nằm trên 9 quận huyện, có
huyện cách trung tâm thành phố rất xa như huyện Sóc Sơn, Đông Anh.
Công tác tổ chức cán bộ, ở góc độ tin học hóa, là chậm đổi mới với các loại
hình công tác quản lý chuyên môn khác. Tại các bộ phận tổ chức cán bộ ở

9
phòng, trường và ngay tại Sở GD&ĐT số cán bộ có thể sử dụng thành thạo
các chương trình tin học ứng dụng không nhiều.
Cán bộ ở các bộ phận tổ chức, đa phần đã có tuổi. Số cán bộ trẻ đáp ứng yêu
cầu về trình độ ngoại ngữ, tin học lại ít được tuyển dụng vào các phòng, ban
bởi nhiểu lý do v.v.
Mặc dù đã được trang bị một hệ thống quản lý nhưng phương pháp làm việc
chủ yếu vẫn là làm thủ công với bút và giấy. Lý do là vì: Hệ thống này có
nhiều nhược điểm cần khắc phục. Chính vì vậy, hệ thống này đang được
quan tâm của Bộ nhằm thực hiện giai đoạn tiếp theo của dự án: Xây dựng
chương trình quản lý hồ sơ công chức.
Tình trạng thông tin, số liệu thiếu chính xác, không đầy đủ. Một trong những
nguyên nhân của tình trạng trên là việc không cập nhật thông tin cá nhân
thường xuyên và đặc biệt là tầm nhìn dương như họ cảm thấy không có ảnh
hưởng gì đến công việc hiện tại, bởi thế người ta không cảm thấy sự cần thiết
của việc quản lý hồ sơ và bổ sung thông tin.
Với tình trạng như đã phản ánh ở trên, để có được những thông tin trên diện
rộng thì việc lấy thông tin từ hồ sơ lưu trữ là chuyện bất khả thi. Nghiên cứu cải tiến
cơ cấu tổ chức, hoạch định chính sách trên là việc khó khăn vất vả. Trong tình hình
như vậy, việc áp dụng công nghệ thông tin vào công tác tổ chức cán bộ nói chung và
công tác quản lý cán bộ nói riêng là việc làm hết sức cấp thiết để thực hiện tốt chiến
lược cán bộ của Đảng và Nhà nước ta.

1.3. Những yêu cầu cần thiết của người sử dụng

1.3.1. Yêu cầu về mặt nghiệp vụ


Một trong những yêu cầu quan trọng cần đảm bảo cho nguồn dữ liệu luôn sống
là việc cập nhật thông tin, bổ sung thông tin. Phần lớn các chương trình quản lý nhân
sự hiện nay được thiết kế tách rời với các hoạt động nghiệp vụ. Các thông tin bổ sung
theo định kỳ hàng năm. Cách thiết kế này có nhược điểm lớn vì việc cập nhật thông tin
trên thực tế hầu như không được tiến hành, không thuận tiện cho người khác vì bản
thân những người có thông tin thay đổi thạm chí cũng không nhớ chính xác về những
thông tin này. Cách cập nhật này vừa tốn thời gian, không chính xác và không có hiệu
quả.

10
Như vậy nếu thông tin không được cập nhật, hoặc cập nhật một cách không đầy
đủ, không đồng bộ thì theo thời gian, nguồn dữ liệu sẽ bị lạc hậu, mai một dần, không
còn đủ độ chính xác. Công tác quản lý hồ sơ nhân sự vẫn lặp lại con đường cũ. Muốn
tránh hiện tượng này, phải tiến hành việc cập nhật thông tin theo hướng tự động đến
mức tối đa bằng cách gắn các công việc nghiệp vụ đối với cơ sở dữ liệu hiện có.
Hệ thống quản lý nhân sự, như vậy, phải được thiết kê gắn theo công việc
nghiệp vụ hàng ngày của công tác tổ chức. Việc dùng chương trình giải quyết các vấn
đề nghiệp vụ có tác dụng nuôi sống cơ sở dữ liệu bởi sự cho phép cập nhật thông tin
thay đổi một cách nhanh chóng có thể không cần đến bản khai bổ sung của cán bộ.
Người sử dụng, khi dùng cơ sở dữ liệu phục vụ cho công việc của riêng mình, sẽ đồng
thời làm luôn công việc cập nhật những thông tin vừa thay đổi, nhờ vậy cơ sở dữ liệu
luôn được nuôi sống. Với những thông tin về đời tư hay những thông tin thay đổi khác
mà không đi theo kênh của hệ thống quản lý cán bộ thì mới buộc phải cùng các phiếu
bổ sung hồ sơ hàng năm.
Muốn làm được yêu cầu trên, một trong những chỉ tiêu lớn nhất cho chương
trình quản lý là không chỉ đáp ứng việc quản lý hồ sơ dữ liệu của công chức mà phải
dựa vào cơ sở dữ liệu này để giải quyết một số công việc nghiệp vụ hàng ngày như:
giải quyết chế độ chính sách nâng lương, chuyển ngạch, hưu trí, giải quyết đi công tác,
học tập ở nước ngoài, trong nước, tuyển dụng và một số công việc khác.

1.3.2. Yêu cầu về nhiệm vụ chuyên môn

1.3.2.1. Khối cập nhật hồ sơ dữ liệu cán bộ


Hồ sơ ban đầu của cán bộ cũ.
Hồ sơ cán bộ mới hàng năm.
Bổ sung những thay đổi của cán bộ hàng năm như: đề bạt, nâng lương,
thuyên chuyển cán bộ, thay đổi hoàn cảnh gia đình, cá nhân, đi đào tạo trong
và ngoài nước .v.v.

1.3.2.2. Khối tra cứu tìm kiếm


Đây là chức năng tiện dụng nhất trong việc tin học hóa cơ sở dữ liệu, nhằm giúp
cán bộ tổ chức dễ dàng trong việc tra cứu thông tin cần tìm. Cho phép tìm kiếm thông
tin theo nhiều tiêu chí đồng thời về công chức.

11
1.3.2.3. Khối giải quyết lương
Phục vụ cho công việc nghiệp vụ

1.3.2.3. Khối chuyển công tác


Giải quyết hưu trí, thôi việc, chuyển cơ quan.

1.3.2.4. Khối giải quyết đi đào tạo trong và ngoài nước


Nhằm nắm số lượng và chất lượng cán bộ đi học tập công tác ở trong và ngoài
nước, giảm thủ tục hành chính rườm ra cho cán bộ khi đi học, cũng như khi quay trở
về nơi công tác cũ sau khi kết thúc nhiệm vụ và học tập.

1.3.2.5. Khối báo cáo thống kê


Nhằm đáp ứng các yêu cầu báo cáo theo biểu mẫu của các cấp định kỳ hoặc đột
xuất; giúp người làm chính sách dễ dàng sử dụng trong việc đưa ra các báo cáo định
hướng chiến lược trong phát triển vi mô của toàn ngành.

1.3.2.6. Khối hệ thống


Thực hiện các chức năng hệ thống như sao lưu, in ấn hồ sơ, lý lịch trích ngang,
backup, phân quyền truy cập, trao đổi dữ liệu, chuyển đổi các định dạng cơ sở dữ liệu.
Xóa danh sách của một đơn vị ra khỏi danh mục đơn vị khi cần thiết .v.v.

1.3.2.7. Khối trợ giúp


Giúp người sử dụng, nhất là những người mới làm quen, dễ dàng nắm được các
thao tác cơ bản của chương trình. Khối trợ giúp còn đưa ra những chỉ dẫn cơ bản, giúp
người sử dụng có kinh nghiệp dễ dàng khắc phục được những hỏng hóc thông thường.

12
Chương 2

PHÂN TÍCH HỆ THỐNG


– Nắm bắt yêu cầu bài toán
– Xây dựng mô hình phân tích

2.1. Nắm bắt yêu cầu

2.1.1. Mô tả nghiệp vụ bài toán


Mục đích của hệ thống quản lý nhân sự là giúp bộ phận quản lý nhân sự có thể
thêm các bộ hồ sơ của nhân viên mới, cập nhật thông tin về các hồ sơ, và có thể xóa
các bộ hồ sơ không cần đến (các nhân viên đã thôi việc, không được hưởng chế độ hưu
trí) một cách dễ dàng. Thông tin về cập nhật hồ sơ bao gồm: các thông tin cá nhân của
nhân viên như họ tên, ngày sinh, số CMND, địa chỉ thường trú, điện thoại, email, ..
thông tin về quan hệ gia đình của nhân viên, thông tin về thành phần xuất thân, diện ưu
tiên của bản thân và của gia đình, các trình độ về chính trị, quản lý nhà nước, quản lý
giáo dục, trình độ tin học, trình độ ngoại ngữ, tôn giáo mà nhân viên theo, các chức vụ
Đảng, chức vụ Đoàn mà nhân viên nắm giữ.
Quản lý hoạt động nghiệp vụ của ngành đào tạo thành phố Hà nội trong phạm vi
quản lý nhân sự bao gồm:
Quản lý diễn biến lương: chức năng này giúp bộ phận quản lý tài chính dễ
dàng theo dõi và ghi nhận các thông tin về việc chuyển ngạch, thay đổi bậc
lương và các hệ số phụ cấp của nhân viên.
Quản lý quá trình bồi dưỡng nhân viên: theo dõi và ghi nhận các thông tin về
quá trình bồi dưỡng của nhân viên.
Quản lý quá trình đi công tác trong và ngoài nước của nhân viên: khi nhân
viên đi công tác ở trong nước hay ở nước ngoài, bộ phận quản lý nhân sự
phải ghi nhận các thông tin này.
Quản lý đánh giá xếp loại cán bộ: mỗi khi nhân viên làm việc có thành tích
tốt, hay đã qua thời gian thử việc, hoặc nhân viên đã nghỉ hưu cần đánh giá
xếp loại cán bộ và cập nhật loại cán bộ mà nhân viên đã được thay đổi.

13
Quản lý quá trình đào tạo nhân viên: cập nhật quá trình đào tạo trước kia của
nhân viên, và hàng năm, trong ngành thường tổ chức đào tạo cho nhân viên
bằng việc cử đi học ở nước ngoài, hay ở các cơ sở đào tạo uy tín trong nước.
Bộ phận quản lý đào tạo cần phải theo dõi những diễn biến này và ghi nhận
diễn biến đó để quản lý nhân viên dễ dàng.
Quản lý quá trình khen thưởng nhân viên: mỗi khi nhân viên được khen
thưởng bởi một thành tích nào đó trong dạy học, hay cống hiến cho ngành
những ý tưởng mới về việc đánh giá lại tổ chức, cơ cấu ngành. Nhân viên đó
được trao bằng khen và quyết định khen thưởng của lãnh đạo ngành. Bộ phận
quản lý nhân sự phải ghi nhận quá trình khen thưởng của nhân viên trong quá
khứ, hiện tại, và tương lai.
Quản lý quá trình kỷ luật của nhân viên: khi nhân viên vi phạm nội qui của
ngành, nhân viên đó phải bị kỷ luật dưới mọi hình thức, khi có quyết định kỷ
luật chính thức nhân viên của lãnh đạo ngành thì bộ phận quản lý nhân sự
phải ghi nhận hình thức kỷ luật mà nhân viên mắc phải vào trong hồ sơ.
Chuyển nhân viên tới đơn vị khác làm việc: nhu cầu chuyển nhân viên tới các
đơn vị khác làm việc là rất lớn, ở những đơn vị thiếu giáo viên dạy học hay
cần những giáo viên có trình độ cao. Khi một nhân viên được nhận quyết
định chuyển tới một đơn vị khác làm việc thì bộ phận quản lý nhân sự phải
chuyển hồ sơ nhân viên tới đơn vị mà anh ta chuyên tới.
Chuyển ngạch và thay đổi bậc lương của nhân viên: khi nhân viên đã đến kỳ
nâng lương theo qui định nhà nước hay chuyển sang ngạch khác làm việc thì
bộ phận quản lý nhân sự phải kịp thời thay đổi các thông tin về lương của
nhân viên.
Thay đổi chức vụ của nhân viên: khi nhân viên được thăng chức hay giáng
chức thì bộ phận quản lý nhân sự phải cập nhật lại chức vụ của nhân viên
trong hồ sơ.
Theo dõi việc quản lý các lớp học của nhân viên như: lớp học giảng dạy, thời
gian giảng dạy, loại chứng chỉ ...
Hàng tháng, bộ phận quản lý tài chính phải lập bảng lương của các nhân viên
chịu trách nhiệm trả lương cho nhân viên trong ngành. Hình thức trả tiền có thể trả
bằng tiền mặt hoặc thanh toán qua thẻ tín dụng ngân hàng.

14
Hàng năm, khi lãnh đạo ngành hoặc lãnh đạo các cấp yêu cầu xem báo cáo về
tình hình nhân sự của ngành thì bộ phận quản lý nhân sự phải kịp thời thống kê và đưa
ra báo cáo về tình hình nhân sự.
Bộ phận truyền thông phải thường xuyên theo dõi tình hình nhân sự của ngành
để đưa ra các thông báo lên website, đưa các thông báo tuyển dụng. Thêm vào đó mỗi
khi có quyết định mới của lãnh đạo về cán bộ thì bộ phận này phải kịp thời nhận được
và đưa thông tin lên mạng để toàn thể nhân viên và mọi người quan tâm được học.
Việc cập nhật bổ sung các thông tin liên quan đến nhân viên, quản lý quá trình
lương cho nhân viên, quản lý việc thuyên chuyển cán bộ, tìm kiếm nhân viên với các
thông tin cần thiết, lập thống kê báo cáo trình lãnh đạo ngành.

2.1.2. Chức năng hệ thống


Tham khảo Chức năng Xếp loại
R.1 Đăng nhập Hiện
R.2 Đổi mật khẩu Hiện
R.3 Tìm kiếm nhân viên Hiện
R.4 Cập nhật hồ sơ Hiện
R.4.1 Cập nhật hồ sơ ban đầu Hiện
R.4.2 Bổ sung sửa đổi hồ sơ Hiện
R.4.2.1 Cập nhật thông tin nhân viên Hiện
R.4.2.2 Cập nhật quan hệ gia đình Hiện
R.4.2.3 Cập nhật thành phố của nhân viên Hiện
R.4.2.4 Cập nhật dân tộc của nhân viên Hiện
R.4.2.5 Cập nhật các ngoại ngữ mà nhân viên biết Hiện
R.4.2.6 Cập nhật các chuyên ngành đào tạo của nhân viên Hiện
R.5 Quản lý nghiệp vụ Hiện
R.5.1 Quản lý diễn biến lương nhân viên Hiện
R.5.1 Quản lý quá trình giảng dạy của nhân viên Hiện
R.5.2 Quản lý quá trình bồi dưỡng nhân viên Hiện
R.5.3 Quản lý quá trình công tác Hiện
R.5.4 Quản lý quá trình đào tạo Hiện

15
Tham khảo Chức năng Xếp loại
R.5.5 Quản lý quá trình khen thưởng Hiện
R.5.6 Quản lý quá trình kỷ luật Hiện
R.5.7 Thuyên chuyển nhân viên (tới đơn vị khác làm việc) Hiện
R.5.8 Chuyển ngạch công chức Hiện
R.5.9 Thay đổi chức vụ ngành Hiện
R.5.10 Nâng lương Hiện
R.5.11 Kiểm tra cán bộ đến kỳ nâng lương Hiện
R.5.12 Quản lý quá trình đánh giá cán bộ Hiện
R.6 Ra quyết định cán bộ Hiện
R.6.1 Lập các quyết định về cán bộ Hiện
R.6.2 Lập các báo cáo thống kê tình hình nhân sự Hiện
R.6.3 Tạo bảng lương Hiện
R.6.4 Xem lý lịch công chức Hiện
R.7 Cấp quyền người dùng Hiện
R.7.1 Tạo account Hiện
R.7.2 Xóa account Hiện
R.7.3 Đặt mật khẩu account Hiện
R.7.4 Kích hoạt account Hiện
R.7.5 Sửa thông tin account Hiện
R.7.6 Đặt quyền account Hiện
R.8 Cập nhật danh mục Hiện
R.8.1 Cập nhật danh mục dân tộc Hiện
R.8.2 Cập nhật danh mục loại cán bộ Hiện
R.8.3 Cập nhật danh mục ngoại ngữ Hiện
R.8.4 Cập nhật danh mục danh hiệu Hiện
R.8.5 Cập nhật danh mục chức danh Hiện
R.8.6 Cập nhật danh mục thành phố Hiện
R.8.7 Cập nhật danh mục ngạch công chức Hiện
R.8.7 Cập nhật danh mục bậc lương Hiện

16
Tham khảo Chức năng Xếp loại
R.8.8 Cập nhật danh mục chức vụ ngành Hiện
R.8.9 Cập nhật danh mục đơn vị Hiện
R.8.10 Cập nhật danh mục lớp học Hiện
R.8.11 Cập nhật danh mục loại hình đơn vị Hiện
R.8.12 Cập nhật danh mục đặc thù đơn vị Hiện
R.8.13 Cập nhật danh mục hệ trường Hiện
R.8.14 Cập nhật danh mục cấp học Hiện
R.8.15 Cập nhật danh mục quận huyện Hà nội Hiện
R.8.16 Cập nhật danh mục hệ đào tạo Hiện
R.8.17 Cập nhật danh mục chuyên ngành đào tạo Hiện
R.8.18 Cập nhật danh mục hình thức khen thưởng Hiện
R.8.19 Cập nhật danh mục hình thức kỷ luật Hiện
R.8.20 Cập nhật danh mục quốc gia Hiện

2.1.3. Từ điển dữ liệu và mô hình lĩnh vực nghiệp vụ

2.1.3.1. Từ điển dữ liệu


Độ
Ký hiệu Kiểu Định dạng Chú giải
rộng
NhanVien Nhân viên
id Integer 4 Mã nhân viên
name String 10 Tên của nhân viên
hoDem String 30 Họ đệm của nhân viên
ngaySinh Date 8 mm/dd/yyyy Ngày sinh
gioiTinh Bool 1 nam/nu Giới tính là nam (false)
noiSinh String 60 Nơi sinh
soCMND String 10 Số chứng minh thư nhân
dân
diaChiThuongTru String 60 Địa chỉ thường trú
queQuan String 30 Quê quán cụ thể
tonGiao String 20 Tôn giáo

17
Độ
Ký hiệu Kiểu Định dạng Chú giải
rộng
thanhPhanXuatThan String 30 Thành phần xuất thân
ngayVaoDang Date 8 mm/dd/yyyy Ngày vào Đảng
ngayVaoNganhGD Date 8 mm/dd/yyyy Ngày vào ngành giáo dục
email String 20 Địa chi email
soMobile String 10 Số điện thoại di dộng
DanToc Dân tộc
id Integer 4 Mã dân tộc
name String 10 Tên dân tộc
ThanhPho Thành phố
id Integer 4 Mã thành phố
name String 10 Tên thành phố
ChuyenNganhDaoTao Chuyên ngành đào tạo
id Integer 4 Mã ngành đào tạo
name String 10 Tên ngành đào tạo
HeDaoTao Hệ đào tạo
id Integer 4 Mã hệ đào tạo
name String 10 Tên hệ đào tạo
QuocGia Quốc gia
id Integer 4 Mã quốc gia
name String 10 Tên quốc gia
NgoaiNgu Ngoại ngữ
id Integer 4 Mã ngoại ngữ
name String 10 Tên ngoại ngữ
LoaiCanBo Loại cán bộ
id Integer 4 Mã loại cán bộ
name String 30 Tên loại cán bộ
ChucVuNganh Chức vụ ngành
id Integer 4 Mã chức vụ ngành
name String 30 Tên chức vụ ngành
DanhHieu Danh hiệu giáo viên
id Integer 4 Mã danh hiệu
name String 30 Tên danh hiệu

18
Độ
Ký hiệu Kiểu Định dạng Chú giải
rộng
ChucDanh Chức danh
id Integer 4 Mã chức danh
name String 30 Tên chức danh
HinhThucKhenThuong Hình thức khen thưởng
id Integer 4 Mã hình thức khen
thưởng
name String 30 Tên hình thức khen
thưởng
HinhThucKyLuat Hình thức kỷ luật
id Integer 4 Mã hình thức kỷ luật
name String 30 Tên hình thức kỷ luật
NgachCongChuc Ngạch công chức
id Integer 4 Mã ngạch công chức
name String 30 Tên ngạch công chức
soNamNangLuong Integer 4 Số năm nâng lương
BacLuong Bậc lương
id Integer 4 Mã lớp học
name String 20 Tên lớp học
LopHoc Lớp học
id Integer 4 Mã lớp học
name String 20 Tên lớp học
DonVi Đơn vị
id Integer 4 Mã đơn vị
name String 30 Tên đơn vị
diaChi String 60 Địa chỉ của đơn vị
LoaiHinhDonVi Loại hình đơn vị
id Integer 4 Mã loại hình đơn vị
name String 30 Tên loại hình đơn vị
DacThuDonVi Đặc thù đơn vị
id Integer 4 Mã đặc thù đơn vị
name String 30 Tên đặc thù đơn vị
HeTruong Hệ trường

19
Độ
Ký hiệu Kiểu Định dạng Chú giải
rộng
id Integer 4 Mã hệ trường
name String 30 Tên hệ trường
CapHoc Cấp học
id Integer 4 Mã cấp học
name String 30 Tên cấp học
QuanHuyenHaNoi Quận huyện hà nội
id Integer 4 Mã quận / huyện
name String 30 Tên quận / huyện

2.1.3.2. Mô hình lĩnh vực nghiệp vụ


Sau đây là mô hình khái niệm nghiệp vụ quản lý nhân sự (gồm 3 phần):
Quoc Gia Dan Toc
id : int id : int
name : string name : string
moTaThem : string moTaThem : string

0..* 1
công tác tại thuộc

n 0..n
Nhan Vien
id : int Ngoai Ngu
Thanh Pho
n name : string n biết 0..* id : int
id : int hoDem : string
thuộc name : string
name : string ngaySinh : DateTime
moTaThem : string
moTaThem : string 1 gioiTinh : bool
noiSinh : string
soCMND : string
diaChiThuongTru : string
queQuan : string
tonGiao : string
thanhPhanXuatThan : string

ngayVaoDang : DateTime n
ngayVaoNganhGD : DateTime Danh Hieu
1 email : string 0..* id : int
soMobile : string name : string
0..* moTaThem : string moTaThem : string
Chuc Danh có

id : int 1
name : string n
moTaThem : string
có có

0..*
0..*

Quan He Gia Dinh Quân Hàm


id : int id : int
name : string name : string
moTaThem : string moTaThem : string

Hinh 2.1. Mô hình khái niệm hệ thống quản lý nhân sự (phần 1)

20
NhanVien
id : int
name : string
hoDem : string
ngaySinh : DateTime
gioiTinh : bool
LopHoc
noiSinh : string
soCMND : string 1..n tham gia dạy id : int
diaChiThuongTru : string name : string
0..*
queQuan : string soNguoiHoc : int
tonGiao : string moTaThem : string
thanhPhanXuatThan : string
ngayVaoDang : DateTime
ngayVaoNganhGD : DateTime
n
email : string
soMobile : string
moTaThem : string

thuộc

n
làm việc tại
1
1

DonVi QuanHuyenHaNoi
HeTruong
n n id : int n n id : int
id : int thuộc thuộc
name : string name : string
name : string
diaDiem : int chuTich : int
moTaThem : string
moTaThem : string moTaThem : string

n
n
n

thuộc

n 1

CapHoc DacThuDonVi
id : int id : int
1
name : string name : string
moTaThem : string moTaThem : string
LoaiHinhDonVi
id : int
name : string
moTaThem : string

Hinh 2.2. Mô hình khái niệm hệ thống quản lý nhân sự (phần 2)

21
ChuyenNganhDaoTao
id : int
name : string
moTaThem : string

thuộc HeDaoTao
id : int
name : string
moTaThem : string
n

NhanVien
id : int
name : string
hoDem : string
ngaySinh : DateTime
gioiTinh : bool
noiSinh : string
soCMND : string
diaChiThuongTru : string
NgachCongChuc queQuan : string
tonGiao : string
id : int
thanhPhanXuatThan : string
name : string
ngayVaoDang : DateTime
soNamNangLuong : int
ngayVaoNganhGD : DateTime
moTaThem : string có
email : string
1 soMobile : string
n
moTaThem : string

BacLuong
id : int
name : string
moTaThem : string

Hinh 2.3. Mô hình khái niệm hệ thống quản lý nhân sự (phần 3)

22
2.1.4. Mô hình ca sử dụng
Các tác nhân và tiến trình nghiệp vụ tham gia:
Tác nhân Tiến trình nghiệp vụ tác nhân tham gia

Cấp quyền người dùng.


Quản trị hệ thống Cập nhật danh mục.
Xem các quyết định cán bộ.
Lập các quyết định cán bộ.
Lãnh đạo
Lập báo cáo thống kê.
Cập nhật hồ sơ ban đầu.
Bổ sung sửa đổi hồ sơ.
Bộ phận quản lý nhân sự
Quản lý nghiệp vụ.
Xem các quyết định cán bộ.
Quản lý quá trình đào tạo.
Bộ phận quản lý đào tạo
Xem các quyết định cán bộ.
Quản lý diễn biến lương.
Kiểm tra cán bộ đến kỳ nâng lương.
Bộ phận tài chính
Thay đổi bậc lương.
Xem các quyết định cán bộ.
Xem các báo cáo thống kê.
Bộ phận truyền thông
Xem các quyết định cán bộ.
Xem lý lịch công chức.
Nhân viên Bổ sung sửa đổi hồ sơ (của mình)
Xem các quyết định cán bộ.

2.1.4.1. Mô hình ca sử dụng mức tổng thể


Mô hình ca sử dụng mức tổng thể của hệ thống Quản lý chương trình được biểu
diễn ở hình 2.4:

23
Hệ thống quản lý nhân sự

Cập nhật hồ sơ
Bộ phận quản lý nhân sự

<<include>>

<<include>>

Quản lý nghiệp vụ Tìm kiếm nhân viên


Lãnh đạo

Nhân viên <<include>>

Ra quyết định cán bộ


Bộ phận tài chính

Bộ phận quản lý đào tạo

Đăng nhập

Cập nhật danh mục


Quản trị hệ thống Bộ phận truyền thông

Cấp quyền người dùng

Hinh 2.4. Mô hình ca sử dụng mức tổng thể

2.1.4.2. Mức chi tiết của mô hình tổng thể


Phân tích các ca sử dụng mức tổng thể của hệ thống, đồng thời xác định quan hệ
giữa các ca sử dụng, chúng ta được mô hình ca sử dụng mức chi tiết như hình 2.5 đến
hình 2.10.

24
Tổng thể hệ thống

Đăng nhập

<<lan vet>>

Đăng nhập

Bộ phận truyền thông

Đăng nhập hệ thống


Bộ phận quản lý nhân sự

Quản trị hệ thống

Đổi mật khẩu


Bộ phận quản lý đào tạo

Nhân viên
Sửa thông tin account

Bộ phận tài chính

Lãnh đạo

Hinh 2.5. Các ca sử dụng trong gói ca sử dụng Đăng nhập

25
Tổng thể hệ thống

<<lan vet>>

Cập nhật hồ sơ

Cập nhật hồ sơ

Cập nhật hồ sơ ban đầu Cập nhật thông tin nhân viên

Cập nhật quan hệ gia đình

Cập nhật thành phố của nhân viên


Bộ phận quản lý nhân sự Nhân viên

Cập nhật dân tộc của nhân viên

Cập nhật các ngoại ngữ mà nhân viên biết

Cập nhật các chuyên môn đào tạo của nhân viên

Hinh 2.6. Các ca sử dụng trong gói ca sử dụng Cập nhật hồ sơ

26
Tổng thể hệ thống

<<lan vet>>

Cập nhật hồ sơ

Quản lý nghiệp vụ

Quản lý diễn biến lương Quản lý quá trình bồi dưỡng


Bộ phận tài chính

Nâng lương cán bộ

<<include>>

Quản lý quá trình công tác Quản lý quá trình đào tạo

Thay đổi bậc lương

Bộ phận quản lý đào tạo

Thuyên chuyển nhân viên Quản lý quá trình giảng dạy

Quản lý quá trình khen thưởng

Bộ phận quản lý nhân sự

Quản lý quá trình kỷ luật

Chuyển ngạch công chức


Thay đổi chức vụ ngành

Quản lý quá trình đánh giá cán bộ

Hinh 2.7. Các ca sử dụng trong gói ca sử dụng Quản lý nghiệp vụ

27
Tổng thể hệ thống

<<lan vet>>

Ra quyết định cán bộ

Ra quyết định cán bộ

Lập các quyết định về cán bộ Bộ phận truyền thông

Quản trị hệ thống

Nhân viên
Xem lý lịch công chức

Bộ phận tài chính

Tạo bảng lương


Bộ phận quản lý nhân sự

Lập các báo cáo thống kê


Lãnh đạo
Bộ phận quản lý đào tạo

Hinh 2.8. Các ca sử dụng trong gói ca sử dụng Ra quyết định cán bộ

28
Tổng thể hệ thống

<<lần vết>>

Cập nhật danh mục

Cập nhật danh mục

Cập nhật danh mục dân tộc Cập nhật danh mục loại cán bộ
Cập nhật danh mục ngoại ngữ

Cập nhật danh mục chức danh


Cập nhật danh mục danh hiệu Cập nhật danh mục thành phố

Cập nhật danh mục bậc lương


Cập nhật danh mục ngạch công chức
Cập nhật danh mục đơn vị

Cập nhật danh mục chức vụ ngành

Cập nhật danh mục hệ trường

Cập nhật danh mục đặc thù đơn vị

Cập nhật danh mục cấp học


Quản trị hệ thống
Cập nhật danh mục lớp học

Cập nhật danh mục ngành đào tạo

Cập nhật danh mục loại hình đơn vị

Cập nhật danh mục hệ đào tạo

Sửa thông tin account20

Cập nhật danh mục hình thức khen thưởng


Cập nhật danh mục quận huyện Hà nội

Cập nhật danh mục hình thức kỷ luật Cập nhật danh mục quốc gia

Hinh 2.9. Các ca sử dụng trong gói ca sử dụng Cập nhật danh mục

29
Tổng thể hệ thống
Cấp quyền người dùng

<<lan vet>>

Cấp quyền người dùng

Tạo account Xóa account

Kích hoạt account

Quản trị hệ thống


Đặt mật khẩu account

Đặt quyền account


Sửa thông tin account

Hinh 2.10. Các ca sử dụng trong gói ca sử dụng Cấp quyền người dùng

2.1.4.3.Mô tả chi tiết mỗi ca sử dụng


Ở phần này tập trung vào các nội dung chính của các ca sử dụng, bao gồm có:
mô tả chung và mô tả luồng sự kiện của ca sử dụng.

2.1.4.3.1. Ca sử dụng: Đăng nhập


Tác nhân Tất cả người sử dụng hệ thống.
Loại Cơ bản.
Mô tả Người dùng muốn sử dụng hệ thống phải cung cấp tên truy cập và mật
khẩu cho hệ thống.
Tham khảo không có.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Khởi động hệ thống. 2. Đưa ra giao diện nhập tên truy cập và
mật khẩu.
3. Nhập tên truy cập và mật khẩu. 4. Cho phép người dùng tiếp tục sử dụng.
Diễn biến thay thế:

• Tại dòng 4, nếu tên truy cập và mật khẩu sai thì hệ thống sẽ thông báo lỗi truy
cập và yêu cầu người dùng thử đăng nhập lại lại.

30
2.1.4.3.2. Ca sử dụng: Tìm kiếm nhân viên
Tác nhân Tất cả người sử dụng hệ thống.
Loại Cơ bản.
Mô tả Tìm nhân viên với thông tin tìm kiếm.
Tham khảo R.1.
Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng đăng
nhập.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Chọn chức năng “Tìm kiếm nhân 2. Đưa ra giao diện tìm kiếm.
viên”.
3. Cung cấp thông tin tìm kiếm 4. Đưa ra danh sách nhân viên thỏa mãn
yêu cầu tìm kiếm.
Diễn biến thay thế:

• Tại dòng 4, nếu không tìm thấy nhân viên thì hệ thống sẽ thông báo là không
tìm thấy, yêu cầu người dùng tìm lại.

2.1.4.3.3. Gói ca sử dụng: Cập nhật hồ sơ

2.1.4.3.3. 1. Ca sử dụng: Cập nhật hồ sơ ban đầu.


Tác nhân Bộ phận quản lý nhân sự
Loại Chính
Mô tả Người dùng cập nhật thông tin ban đầu cho các hồ sơ.
Tham khảo R.1
Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng đăng
nhập.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Chọn chức năng Tìm kiếm nhân viên. 2. Đưa ra giao diện nhập thông tin tìm
kiếm.
3. Cung cấp các thông tin tìm kiếm. 4. Đưa ra danh sách nhân viên.
5. Chọn một nhân viên 6. Đưa ra biểu mẫu chứa thông tin nhân
viên

31
7. Thay đổi các thông tin về nhân viên 8. Đưa ra thông báo

Diễn biến thay thế:


Dòng 4: Nếu không tìm thấy nhân viên nào, hệ thống sẽ đưa ra thông báo.

2.1.4.3.3.2. Ca sử dụng: Cập nhật thông nhân viên.


Tác nhân Bộ phận quản lý nhân sự, nhân viên
Loại Chính
Mô tả Cập nhât thông tin của nhân viên.
Tham khảo R.1, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ thống, 2. Hệ thống đưa ra danh sách các nhân
thực hiện ca sử dụng Tìm kiếm nhân viên tìm được.
viên.
3. Người dùng chọn một nhân viên. 4. Hệ thống đưa ra thông tin nhân viên
5. Người dùng cung cấp các thông tin 6. Hệ thống sửa thông tin nhân viên
sửa đổi.

Diễn biến thay thế:


Dòng 2: Nếu không tìm thấy nhân viên nào, hệ thống không thực hiện cập
nhật.
Dòng 4: Nếu việc sửa thông tin nhân viên không thành công hệ thống sẽ
thông báo lỗi và kết thúc ca sử dụng.

32
2.1.4.3.3.3. Ca sử dụng: Cập nhật quan hệ gia đình.
Tác nhân Bộ phận quản lý nhân sự, nhân viên.
Loại Chính.
Mô tả Người dùng muốn cập nhật quan hệ gia đình của một nhân viên.
Người dùng chọn nhân viên từ kết quả tìm kiếm và chọn chức năng
Cập nhật quan hệ gia đình. Hệ thống đưa ra giao diện cập nhật quan
hệ gia đình của nhân viên. Người dùng cung cấp các thông tin cần
thiết. Kết quả là hệ thống sẽ cập nhật quan hệ gia đình vào hồ sơ nhân
viên.
Tham khảo R.1, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng chọn một nhân viên và 2. Hệ thống đưa ra danh sách quan hệ
thực hiện chức năng Cập nhật quan gia đình của nhân viên.
hệ gia đình.
3. Người dùng chọn một quan hệ gia 4. Hệ thống đưa ra thông tin về quan hệ
đình của nhân viên.. gia đình.
5. Người dùng cung cấp các thông tin 6. Hệ thống sẽ sửa đổi quan hệ gia đình.
sửa đổi.

Diễn biến thay thế:


Dòng 6: nếu người dùng muốn xóa quan hệ gia đình thì hệ thống sẽ xóa quan
hệ gia đình đang được chọn.
Phần mô tả các ca sử dụng còn lại trong gói ca sử dụng cập nhật hồ sơ tương tự
giống với ca sử dụng này.

2.1.4.3.4. Gói ca sử dụng: Quản lý nghiệp vụ.

2.1.4.3.4.1. Ca sử dụng: Quản lý diễn biến lương.


Tác nhân Bộ phận quản tài chính.
Loại Chính.

33
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên được hưởng
mức lương mới. Người dùng yêu cầu quản lý diễn biến lương của một
nhân viên trong danh sách các nhân viên tìm được. Hệ thống đưa ra
danh sách các diễn biến lương của nhân viên. Người dùng cung cấp
những thông tin thay đổi về diễn biến lương. Kết quả là hệ thống đưa
ra những diễn biến lương được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên
3. Người dùng yêu cầu quản lý các 4. Hệ thống đưa ra danh sách các
diễn biến lương của một nhân diễn biến lương của nhân viên.
viên.
5. Người dùng yêu cầu tạo diễn biến 6. Hệ thống đưa ra diễn biến lương
lương mới. mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về diễn
diễn biến lương. biến lương được yêu cầu.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra diễn biến lương
tin thay đổi về diễn biến lương. đã được sửa đổi.
11. Người dùng yêu cầu xóa diễn biến 12. Hệ thống đưa ra diễn biến lương
lương. đã bị xóa

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy diễn biến lương nào của nhân viên, hệ thống sẽ đưa
ra thông báo hỏi “người dùng có muốn tạo diễn biến lương mới không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “lỗi cung cấp thông tin” và yêu cầu người dùng cung cấp lại thông tin.

2.1.4.3.4.2. Ca sử dụng: Quản lý quá trình giảng dạy.

34
Tác nhân Bộ phận quản lý đào tạo.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên được mời đi
dạy tại các lớp học. Người dùng yêu cầu quản lý quá trình giảng dạy
của một nhân viên trong danh sách các nhân viên tìm được. Hệ thống
đưa ra danh sách các quá trình giảng dạy của nhân viên. Người dùng
cung cấp những thông tin thay đổi về quá trình giảng dạy. Kết quả là
hệ thống đưa ra những quá trình giảng dạy được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên
3. Người dùng yêu cầu quản lý các 4. Hệ thống đưa ra danh sách các
quá trình giảng dạy của một nhân quá trình giảng dạy của nhân
viên. viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình giảng
giảng dạy mới. dạy mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình giảng dạy. trình giảng dạy được yêu cầu.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình giảng
tin thay đổi về quá trình giảng dạy đã được sửa đổi.
dạy.
11. Người dùng yêu cầu xóa quá trình 12. Hệ thống đưa ra quá trình giảng
giảng dạy. dạy đã bị xóa

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.

35
Dòng 4: Nếu không thấy quá trình giảng dạy nào của nhân viên, hệ thống sẽ
đưa ra thông báo hỏi “người dùng có muốn tạo quá trình giảng dạy mới
không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “lỗi cung cấp thông tin” và yêu cầu người dùng cung cấp lại thông tin.

2.1.4.3.4.3. Ca sử dụng: Quản lý quá trình bồi dưỡng.


Tác nhân Bộ phận quản lý đào tạo.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên được đi bồi
dưỡng. Người dùng yêu cầu quản lý các quá trình bồi dưỡng của một
nhân viên từ danh sách các nhân viên tìm thấy. Hệ thống đưa ra danh
sách các quá trình bồi dưỡng của nhân viên. Người dùng cung cấp
thông tin thay đổi về quá trình bồi dưỡng. Kết quả là hệ thống đưa ra
các quá trình bồi dưỡng đã được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên.
3. Người dùng yêu cầu quản lý các 4. Hệ thống đưa ra danh sách các
quá trình bồi dưỡng của một nhân quá trình bồi dưỡng của nhân
viên. viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình bồi
bồi dưỡng mới. dưỡng mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình bồi dưỡng. trình bồi dưỡng.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình bồi
tin thay đổi về quá trình bồi dưỡng đã được sửa đổi.
dưỡng.

36
11. Người dùng yêu cầu xóa quá trình 12. Hệ thống đưa ra quá trình bồi
bồi dưỡng. dưỡng đã bị xóa.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưara
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy quá trình bồi dưỡng nào của nhân viên, hệ thống sẽ
đưa ra thông báo hỏi người dùng “có muốn tạo quá trình bồi dưỡng mới
không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “thông tin cung cấp không hợp lệ” và yêu cầu người dùng cung cấp lại
các thông tin.

2.1.4.3.4.2. Ca sử dụng: Quản lý quá trình công tác.


Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên đi công tác
trong và ngoài nước. Người dùng yêu cầu quản lý các quá trình công
tác của một nhân viên. Hệ thống đưa ra danh sách các quá trình công
tác của nhân viên đó. Người dùng cung cấp những thay đổi về quá
trình công tác. Kết quả là hệ thống sẽ đưa ra các quá trình công tác đã
được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên.
3. Người dùng yêu cầu quản lý các 4. Hệ thống đưa danh sách các quá
quá trình công tác của một nhân trình công tác của nhân viên.
viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình công

37
công tác mới. tác mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình công tác. trình công tác.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình công
tin thay đổi về quá trình công tác. tác đã được sửa đổi.
11. Người dùng yêu cầu xóa quá trình 12. Hệ thống đưa ra quá trình công
công tác. tác đã bị xóa.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưara
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy quá trình công tác nào của nhân viên, hệ thống sẽ
đưa ra thông báo hỏi người dùng “có muốn tạo quá trình công tác mới
không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “thông tin cung cấp không hợp lệ” và yêu cầu người dùng cung cấp lại
các thông tin.

2.1.4.3.4.5. Ca sử dụng: Quản lý quá trình đào tạo.


Tác nhân Bộ phận quản lý đào tạo.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên được cử đi
đào tạo. Người dùng yêu cầu quản lý các quá trình đào tạo của một
nhân viên từ danh sách các nhân viên tìm thấy. Hệ thống đưa ra danh
sách các quá trình đào tạo của nhân viên. Người dùng cung cấp thông
tin thay đổi về quá trình đào tạo. Kết quả là hệ thống đưa ra các quá
trình đào tạo đã được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống

38
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên.
3. Người dùng yêu cầu quản lý các 4. Hệ thống hiện danh sách các quá
quá trình đào tạo của một nhân trình đào tạo của nhân viên.
viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình đào tạo
đào tạo mới. mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình đào tạo. trình đào tạo.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình đào tạo
tin thay đổi về quá trình đào tạo. đã được thay đổi.
11. Người dùng yêu cầu xóa quá 12. Hệ thống đưa ra quá trình đào tạo
trình đào tạo. đã bị xóa.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy quá trình đào tạo nào của nhân viên, hệ thống sẽ
đưa ra thông báo hỏi người dùng “có muốn tạo quá trình đào tạo mới
không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “thông tin cung cấp không hợp lệ” và yêu cầu người dùng cung cấp lại
các thông tin.

2.1.4.3.4.6. Ca sử dụng: Quản lý quá trình khen thưởng.


Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên nhận được
quyết định khen thưởng. Người dùng yêu cầu quản lý các quá trình
khen thưởng của một nhân viên từ danh sách các nhân viên tìm thấy.
Hệ thống đưa ra danh sách các quá trình khen thưởng của nhân viên.
Người dùng cung cấp thông tin thay đổi về quá trình khen thưởng.
Kết quả là hệ thống đưa ra các quá trình khen thưởng đã được sửa đổi.

39
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên.
3. Người dùng yêu cầu quản lý các 4. Hệ thống hiện danh sách các quá
quá trình khen thưởng của một trình khen thưởng của nhân viên.
nhân viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình khen
khen thưởng mới. thưởng mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình khen thưởng. trình khen thưởng.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình khen
tin thay đổi về quá trình khen thưởng đã được thay đổi.
thưởng.
11. Người dùng yêu cầu xóa quá trình 12. Hệ thống đưa ra quá trình khen
khen thưởng. thưởng đã bị xóa.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy quá trình khen thưởng nào của nhân viên, hệ thống
sẽ đưa ra thông báo hỏi người dùng “có muốn tạo quá trình khen thưởng mới
không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “thông tin cung cấp không hợp lệ” và yêu cầu người dùng cung cấp lại
các thông tin.

2.1.4.3.4.7. Ca sử dụng: Quản lý quá trình kỷ luật.

40
Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi nhân viên phải nhận
quyết định kỷ luật. Người dùng yêu cầu quản lý các quá trình kỷ luật
của một nhân viên từ danh sách các nhân viên tìm thấy. Hệ thống đưa
ra danh sách các quá trình kỷ luật của nhân viên. Người dùng cung
cấp thông tin thay đổi về quá trình kỷ luật. Kết quả là hệ thống đưa ra
các quá trình kỷ luật đã được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên.
3. Người dùng yêu cầu quản lý các 4. Hệ thống hiện danh sách các quá
quá trình kỷ luật của một nhân trình kỷ luật của nhân viên.
viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình kỷ luật
kỷ luật mới. mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình kỷ luật. trình kỷ luật.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình kỷ luật
tin thay đổi về quá trình kỷ luật. đã được thay đổi.
11. Người dùng yêu cầu xóa quá trình 12. Hệ thống đưa ra quá trình kỷ luật
kỷ luật. đã bị xóa.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy quá trình kỷ luật nào của nhân viên, hệ thống sẽ đưa
ra thông báo hỏi người dùng “có muốn tạo quá trình kỷ luật mới không?”.

41
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “thông tin cung cấp không hợp lệ” và yêu cầu người dùng cung cấp lại
các thông tin.

2.1.4.3.4.8. Ca sử dụng: Quản lý quá trình đánh giá cán bộ.


Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn cập nhật thông tin mỗi khi đánh giá xếp loại nhân
viên. Người dùng yêu cầu quản lý các quá trình đánh giá cán bộ của
một nhân viên từ danh sách các nhân viên tìm thấy. Hệ thống đưa ra
danh sách các quá trình đánh giá cán bộ của nhân viên. Người dùng
cung cấp thông tin thay đổi về quá trình đánh giá cán bộ. Kết quả là hệ
thống đưa ra các quá trình đánh giá cán bộ đã được sửa đổi.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống đưa ra danh sách các
thống, thực hiện ca sử dụng tìm nhân viên.
kiếm nhân viên.
3. Người dùng yêu cầu quản lý các 4. Hệ thống hiện danh sách các quá
quá trình đánh giá cán bộ của một trình đánh giá cán bộ của nhân
nhân viên. viên.
5. Người dùng yêu cầu tạo quá trình 6. Hệ thống đưa ra quá trình đánh
đánh giá cán bộ mới. giá cán bộ mới.
7. Người dùng yêu cầu quản lý một 8. Hệ thống đưa ra thông tin về quá
quá trình đánh giá cán bộ. trình đánh giá cán bộ.
9. Người dùng cung cấp các thông 10. Hệ thống đưa ra quá trình đánh
tin thay đổi về quá trình đánh giá giá cán bộ đã được thay đổi.
cán bộ.
11. Người dùng yêu cầu xóa quá trình 12. Hệ thống đưa ra quá trình đánh
đánh giá cán bộ. giá cán bộ đã bị xóa.

42
Diễn biến thay thế:
Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy quá trình đánh giá cán bộ nào của nhân viên, hệ
thống sẽ đưa ra thông báo hỏi người dùng “có muốn tạo quá trình đánh giá
cán bộ mới không?”.
Dòng 8: Nếu việc thông tin cập nhật không hợp lệ, hệ thống sẽ đưa ra thông
báo “thông tin cung cấp không hợp lệ” và yêu cầu người dùng cung cấp lại
các thông tin.

2.1.4.3.4.9. Ca sử dụng: Thuyên chuyển nhân viên.


Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn chuyển nhân viên tới một đơn vị khác làm việc.
Người dùng yêu cầu thuyên chuyển một nhân viên từ danh sách các
nhân viên tìm thấy. Hệ thống đưa ra danh sách các đơn vị dự định.
Người dùng yêu cầu chuyển nhân viên tới một đơn vị. Kết quả là hệ
thống đưa ra nhân viên đã được chuyển tới đơn vị yêu cầu.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Ca sử dụng bắt đầu khi người 2. Hệ thống đưa ra danh sách các
dùng đăng nhập vào hệ thống, nhân viên.
thực hiện ca sử dụng Tìm kiếm
nhân viên.
3. Người dùng yêu cầu thuyên 4. Hệ thống đưa ra danh sách các
chuyển một nhân viên. đơn vị dự định
5. Người dùng yêu cầu chuyển nhân 6. Hệ thống đưa ra nhân viên đã
viên tới một đơn vị. được chuyển tới đơn vị yêu cầu.

Diễn biến thay thế

43
Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.
Dòng 4: Nếu không thấy đơn vị dự định nào ngoài đơn vị hiện tại của nhân
viên, hệ thống sẽ đưa ra thông báo “không có đơn vị dự định cần để thuyên
chuyển cán bộ”.

2.1.4.3.4.10. Ca sử dụng: Chuyển ngạch công chức.


Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn chuyển nhân viên sang một ngạch công chức
khác. Người dùng yêu cầu chuyển ngạch công chức cho một nhân
viên từ danh sách các nhân viên tìm thấy. Hệ thống đưa ra danh sách
các ngạch công chức dự định. Người dùng yêu cầu chuyển nhân viên
tới một ngạch công chức. Kết quả là hệ thống đưa ra nhân viên đã
được chuyển tới ngạch công chức yêu cầu.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Ca sử dụng bắt đầu khi người dùng 2. Hệ thống đưa ra danh sách các
đăng nhập vào hệ thống, thực hiện ca nhân viên.
sử dụng Tìm kiếm nhân viên.
3. Người dùng yêu cầu chuyển ngạch 4. Hệ thống đưa ra danh sách các
cho một nhân viên. ngạch công chức dự định
5. Người dùng yêu cầu chuyển nhân 6. Hệ thống đưa ra nhân viên đã
viên tới một ngạch công chức. được chuyển tới ngạch công
chức yêu cầu.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.

44
Dòng 4: Nếu không thấy ngạch công chức dự định nào ngoài ngạch công
chức hiện tại của nhân viên, hệ thống sẽ đưa ra thông báo “không có ngạch
công chức dự định cần để thuyên chuyển cán bộ”.

2.1.4.3.4.11. Ca sử dụng: Thay đổi chức vụ Ngành .


Tác nhân Bộ phận quản lý nhân sự.
Loại Chính.
Mô tả Người dùng muốn thay đổi chức vụ ngành cho một nhân viên. Người
dùng yêu cầu thay đổi chức vụ Ngành của một nhân viên từ danh sách
các nhân viên tìm thấy. Hệ thống đưa ra danh sách các chức vụ Ngành
dự định. Người dùng yêu cầu thay đổi chức vụ Ngành của nhân viên.
Kết quả là hệ thống đưa ra nhân viên với chức vụ Ngành mới theo yêu
cầu người dùng.
Tham khảo R.1.0, R.3

Yêu cầu của ca sử dụng: Người dùng phải thực hiện xong ca sử dụng Tìm kiếm
nhân viên.
Diễn biến các sự kiện:
Hành động của tác nhân Đáp ứng của hệ thống
1. Ca sử dụng bắt đầu khi người 2. Hệ thống đưa ra danh sách các
dùng đăng nhập vào hệ thống, nhân viên.
thực hiện ca sử dụng Tìm kiếm
nhân viên.
3. Người dùng yêu cầu thay đổi 4. Hệ thống đưa ra danh sách các
chức vụ Ngành của một nhân chức vụ Ngành dự định.
viên.
5. Người dùng yêu cầu thay đổi 6. Hệ thống đưa ra nhân viên với
chức vụ Ngành của nhân viên. chức vụ Ngành mới theo yêu
cầu.

Diễn biến thay thế:


Dòng 2: Nếu hệ thống không tìm thấy nhân viên nào, hệ thống sẽ đưa ra
thông báo “không tìm thấy nhân viên nào”, hệ thống kết thúc ca sử dụng.

45
Dòng 4: Nếu không thấy chức vụ Ngành dự định nào ngoài chức vụ Ngành
hiện tại của nhân viên, hệ thống sẽ đưa ra thông báo “không có chức vụ
Ngành dự định cần để thay đổi”.

2.1.4.3.5. Gói ca sử dụng: Cấp quyền người dùng

2.1.4.3.5.1. Ca sử dụng: Sửa thông tin account.


Tác nhân Quản trị hệ thống.
Loại Chính.
Mô tả Quản trị hệ thống đăng nhập vào hệ thống và thực hiện chức năng Sửa
thông tin account. Hệ thống đưa ra danh sách các account. Quản trị hệ
thống chọn account và thay đổi thông tin. Kết quả là hệ thống sẽ sửa
đổi thông tin cho account.
Tham khảo R.1

Diễn biến các sự kiện:


Hành động của tác nhân Đáp ứng của hệ thống
1. Quản trị hệ thống đăng nhập vào 2. Hệ thống đưa ra danh sách các
hệ thống, thực hiện chức năng Sửa account.
thông tin account.
3. Quản trị hệ thống chọn account. 4. Hệ thống đưa ra thông tin của
account.
5. Quản trị hệ thống cung cấp các 6. Hệ thống cập nhật thông tin thay
thông tin thay đổi của account. đổi.

Diễn biến thay thế: không có.

2.1.4.3.6. Gói ca sử dụng: Cập nhật danh mục.

2.1.4.3.6.1. Ca sử dụng: Cập nhật danh mục đơn vị.


Tác nhân Quản trị hệ thống.
Loại Chính.
Mô tả Cập nhật thông tin vào danh mục đơn vị
Tham khảo R.1

Diễn biến các sự kiện:

46
Hành động của tác nhân Đáp ứng của hệ thống
1. Người dùng đăng nhập vào hệ 2. Hệ thống hiện danh sách tất cả
thống, thực hiện chức năng Cập các đơn vị
nhật danh mục đơn vị.
3. Người dùng chọn đơn vị. 4. Hệ thống đưa ra thông tin đơn vị.
5. Người dùng nhập thông tin sửa. 6. Hệ thống sửa thông tin đơn vị.

Diễn biến thay thế: không có.


Các ca sử dụng còn lại trong bảng danh mục cũng được mô tả theo cách giống như ca
sử dụng cập nhật danh mục đơn vị.

2.2. Phân tích từng ca sử dụng


2.2.1 Ca sử dụng: Đăng nhập hệ thống
a. Biểu đồ tuần tự hệ thống đăng nhập hệ thống.

:System

:User

input user name and password

login

accept / no accept

Hinh 2.11. Biểu đồ tuần tự hệ thống đăng nhập


SDFSẤDFSÀDFSĐÀ

b. Mô hình khái niệm ca sử dụng đăng nhập hệ thống.


– Lớp thực thể Account chứa thông tin về các account.
– Lớp giao diện FormLogin cho phép tác nhân nhập tên truy cập và mật
khẩu.

47
– Lớp điều khiển Login có trách nhiệm kiểm tra thông tin đăng nhập của
người dùng.

FormLogin Login Account


User

Hinh 2.12. Biểu đồ lớp đối tượng thực thi ca sử dụng Đăng nhập

c. Biểu đồ tuần tự đối tượng.

_:User :FormLogin :Login :Account

input user name & pass

login
login
check user & pass

result
result
result

Hinh 2.13. Biểu đồ lớp đối tượng thực thi ca sử dụng Đăng nhập

2.2.2 . Gói ca sử dụng: Cấp quyền người dùng


a. Biểu đồ tuần tự hệ thống cấp quyền người dùng

48
:System

:Administrator

select account

account info

change account info

update account

result

remove account

result

Hinh 2.13. Biểu đồ tuần tự hệ thống cấp quyền người dùng.

b. Mô hình khái niệm ca sử dụng cấp quyền người dùng.


– Lớp thực thể Account chứa thông tin về các account.
– Lớp giao diện FormUpdateAccount cho phép tác nhân tạo account mới,
cũng như xem hay sửa account đã có trong danh sách.
– Lớp điều khiển UpdateAccount có trách nhiệm điều khiển việc truy xuất
và cập nhật account.

FormAccount UpdateAccount Account


Administrator

Hinh 2.14. Biểu đồ lớp đối tượng thực thi ca sử dụng cấp quyền người dùng

c. Biểu đồ tuần tự đối tượng

49
:Administrator :FormUpdateAccount :UpdateAccount :Account

load
get account list
get account list

account list
display
display

select account
get account info
get account info

account info account info


account info

change account info

update account
update account
update acount

result
result
result

remove account
remove account
remove account
result
result
result

Hinh 2.15. Biểu đồ tuần tự ca sử dụng cấp quyền người dùng

2.2.3. Ca sử dụng: Tìm kiếm nhân viên


a. Biểu đồ tuần tự hệ thống tìm kiếm nhân viên

50
:System

Nguoi quan ly

select DonVi

select LoaiCanBo

input NhanVien info

search

result NhanVien list

Hinh 2.16. Biểu đồ tuần tự hệ thống Tìm kiếm nhân viên

b. Mô hình khái niệm ca sử dụng tìm kiếm nhân viên


– Lớp thực thể DonVi, LoaiCanBo, NhanVien chứa thông tin về các đơn
vị, loại cán bộ và nhân viên tương ứng.
– Lớp giao diện FormSearch cho phép tác nhân nhập điều kiện tìm kiếm.
– Lớp điều khiển Search có trách nhiệm điều khiển việc tìm kiếm nhân
viên.

51
DonVi

FormSearch Search NhanVien


User

LoaiCanBo

Hinh 2.17. Biểu đồ lớp đối tượng thực thi ca sử dụng Tìm kiếm nhân viên

c. Biểu đồ tuần tự đối tượng

:User :FormSearch :Search :DonVi :LoaiCanBo :NhanVien

load

display
get DonVi list

DonVi list

get LoaiCanBo list

LoaicanBo list
result
result

select DonVi

select LoaiCanBo

input NhanVien info

search
search
search

result
result
result

Hinh 2.18. Biểu đồ tuần tự ca sử dụng Tìm kiếm nhân viên

52
2.2.4. Gói ca sử dụng: Cập nhật hồ sơ

2.2.5. Gói ca sử dụng: Quản lý nghiệp vụ

2.2.5.1. Ca sử dụng: Quản lý diễn biến lương

a. Biểu đồ tuần tự hệ thống quản lý diễn biến lương

:System

:BộPhậnQuảnLýĐàoTạo

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các DBLuong của NhanVien

list DBLuong

y/c quản lý một DBLuong

thông tin về DBLuong

b/sung sửa đổi thông tin của DBLuong

DBLuong đã được sửa đổi

thêm hoặc xóa DBLuong

DBLuong mới hoặc đã bị xóa

Hinh 2.19. Biểu đồ tuần tự hệ thống Quản lý diễn biến lương

b. Từ điển dữ liệu bổ sung


Ký hiệu Kiểu Độ rộng Định dạng Chú giải
DBLuong Diễn biến lương
ngayLenLuong Date 8 Ngày lên lương
huongPhanTramL Integer 4 xy% Số % lương được hưởng,
uong mặc định là 100
phanTramPCUD Integer 4 xy% Phần trăm phụ cấp ưu đãi
hsPCCV Float 4 00.0 Hệ số phụ cấp chức vụ

53
Ký hiệu Kiểu Độ rộng Định dạng Chú giải
hsPCTN Float 4 00.0 Hệ số phụ cấp trách nhiệm
hsPCTH Float 4 00.0 Hệ số phụ cấp thu hút
hsPCDH Float 4 00.0 Hệ số phụ cấp độc hại
hsPCKV Float 4 00.0 Hệ số phụ cấp khu vực
hsPCDT Float 4 00.0 Hệ số phụ cấp đặc thù
hsPCKH Float 4 00.0 Hệ số phụ cấp khác

c. Mô hình khái niệm ca sử dụng quản lý diễn biến lương


– Lớp thực thể NhanVien, NgachCongChuc, BacLuong, DBLuong chứa
thông tin về các nhân viên, các ngạch công chức, bậc lương và các diễn
biến lương tương ứng.
– Lớp giao diện FormUpdateDBLuong cho phép tác nhân tạo diễn biến
lương mới, cũng như xem hay sửa diễn biến lương đã có trong danh
sách.
– Lớp điều khiển UpdateDBLuong có trách nhiệm điều khiển việc quản lý
diễn biến lương.

54
NgachCongChuc

BacLuong

FormUpdateDBLuong UpdateDBLuong NhanVien


BộPhậnQuảnLýĐàoTạo

DBLuong
+ ngayLenLuong : DateTime
+ lyDoXepLuong : string
+ huongPhanTramLuong : int
+ phamTramPCUD : int
+ hsPCCV : decimal
+ hsPCTN : decimal
+ hsPCTH : decimal
+ hsPCDH : decimal
+ hsPCKV : decimal
+ hsPCDT : decimal
+ hsPCKH : decimal
- moTaThem : string

Hinh 2.20. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý diễn biến lương

d. Biểu đồ tuần tự đối tượng

55
:BộPhậnQuảnLýĐàoTạo CSD tìm kiếm :FormUpdateDBLuong :UpdateDBLuong :NhanVien :NgachCongChuc :BacLuong :DBLuong

thực hiện ca sử dụng


show list NhanVien

load list NhanVien


get info
info
result
list NhanVien

y/c quản lý các DBLuong của NhanVien


lấy list DBLuong của NhanVien
lấy list DBLuong của NhanVien

list DBLuong
list DBLuong
list DBLuong

y/c quản lý một DBLuong


y/c quản lý một DBLuong
lấy list

list NgachCongChuc

nạp list NgachCongChuc

return
get info
info

lay list BacLuong lay list

list BacLuong
list BacLuong
nạp list BacLuong
return

show DBLuong

thông tin về DBLuong

b/sung sửa đổi thông tin của DBLuong


sửa DBLuong
bổ sung sửa đổi

DBLuongđã sửa đổi


result
DBLuongđã được sửa đổi

thêm hoặc xóa DBLuong


thêm hoặc xóa DBLuong
Thêm hoặc xóa
result
result
DBLuong mới hoặc đã bị xóa

Hinh 2.21. Biểu đồ tuần tự ca sử dụng Quản lý diễn biến lương

2.2.5.2. Ca sử dụng: Quản lý quá trình giảng dạy

a. Biểu đồ tuần tự hệ thống quản lý quá trình giảng dạy

56
:System

:BộPhậnQuảnLýĐàoTạo

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các QtGiangDay của NhanVien

list QtGiangDay

y/c quản lý một QtGiangDay

thông tin về QtGiangDay

b/sung sửa đổi thông tin của QtGiangDay

QtGiangDay đã được sửa đổi

thêm hoặc xóa QtGiangDay

QtGiangDay mới hoặc đã bị xóa

Hinh 2.22. Biểu đồ tuần tự hệ thống Quản lý quá trình giảng dạy

b. Từ điển dữ liệu bổ sung


Ký hiệu Kiểu Độ rộng Định dạng Chú giải
QtGiangDay Quá trình giảng dạy
namHoc int 4 năm học
thoiGianHoc int 4 thời gian học
LoaiChungChi string 20 loại chứng chỉ

c. Mô hình khái niệm ca sử dụng quản lý quá trình giảng dạy


– Lớp thực thể NhanVien, LopHoc, QtGiangDay chứa thông tin về các
nhân viên, lớp học và các quá trình giảng dạy tương ứng.
– Lớp giao diện FormUpdateQtGiangDay cho phép tác nhân tạo quá trình
giảng dạy mới, cũng như xem hay sửa quá trình giảng dạy đã có trong
danh sách.

57
– Lớp điều khiển UpdateQtGiangDay có trách nhiệm điều khiển việc quản
lý quá trình giảng dạy.

LopHoc

FormUpdateQtGiangDay UpdateQtGiangDay NhanVien


BộPhậnQuảnLýĐàoTạo

QtGiangDay
+ namHoc : int
+ thoiGianHoc : int
+ loaiChungChi : string

Hinh 2.23. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý quá trình giảng dạy

d. Biểu đồ tuần tự đối tượng

58
:BộPhậnQuảnLýĐàoTạo Ca sử dụng tìm kiếm :FormUpdateQtGiangDay :UpdateQtGiangDay :NhanVien :LopHoc :QtGiangDay

thực hiện ca sử dụng


hiện list NhanVien

load list NhanVien

get info
info
result
list NhanVien

y/c quản lý các QtGiangDay của NhanVien lấy list QtGiangDay của NhanVien

lấy list QtGiangDay của NhanVien

list QtGiangDay
list QtGiangDay
list QtGiangDay

y/c quản lý một QtGiangDay y/c quản lý một QtGiangDay

lấy list

list LopHoc
nạp list LopHoc

return

get info

info

show QtGiangDay

thông tin về QtGiangDay

b/sung sửa đổi thông tin của QtGiangDay


sửa QtGiangDay
bổ sung sửa đổi

QtGiangDay đã sửa đổi


result
QtGiangDay đã được sửa đổi

thêm hoặc xóa QtGiangDay


thêm hoặc xóa QtGiangDay
Thêm hoặc xóa
result
result
QtGiangDay mới hoặc đã bị xóa

Hinh 2.24. Biểu đồ tuần tự ca sử dụng Quản lý quá trình giảng dạy

2.2.5.3. Ca sử dụng: Quản lý quá trình bồi dưỡng

a. Biểu đồ tuần tự hệ thống quản lý quá trình bồi dưỡng

59
:System

:BộPhậnQuảnLýNhânSự

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các QtBoiDuongcủa NhanVien

list QtBoiDuong

y/c quản lý một QtBoiDuong

thông tin về QtBoiDuong

b/sung sửa đổi thông tin của QtBoiDuong

QtBoiDuongđã được sửa đổi

thêm hoặc xóa QtBoiDuong

QtBoiDuong mới hoặc đã bị xóa

Hinh 2.25. Biểu đồ tuần tự hệ thống Quản lý quá trình bồi dưỡng

b. Từ điển dữ liệu bổ sung


Ký hiệu Kiểu Độ rộng Định dạng Chú giải
QtBoiDuong Quá trình bồi dưỡng
ngayBatDau Date 8 mm/dd/yy Ngày bắt đầu
yy
ngayKetThuc Date 8 mm/dd/yy Ngày kết thúc
yy
noiBoiDuong String 30 Nơi bồi dưỡng
coSoBoiDuong String 30 Cơ sở bồi dưỡng
moTaThem String 30 Mô tả thêm
c. Mô hình khái niệm ca sử dụng quản lý quá trình bồi dưỡng
– Lớp thực thể NhanVien, QtBoiDuong chứa thông tin về các nhân viên và
các quá trình bồi dưỡng tương ứng.

60
– Lớp giao diện FormUpdateQtBoiDuong cho phép tác nhân tạo quá trình
bồi dưỡng mới, cũng như xem hay sửa quá trình bồi dưỡng đã có trong
danh sách.
– Lớp điều khiển UpdateQtBoiDuong có trách nhiệm điều khiển việc quản
lý quá trình bồi dưỡng.

FormUpdateQtBoiDuong UpdateQtBoiDuong NhanVien


BộPhậnQuảnLýNhânSự

QtBoiDuong
+ ngayBatDau : DateTime
+ ngayKetThuc : DateTime
+ noiBoiDuong : string
+ coSoBoiDuong : string
+ moTaThem : string

Hinh 2.25. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý quá trình bồi dưỡng

d. Biểu đồ tuần tự đối tượng

61
:BộPhậnQuảnLýĐàoTạo Ca sử dụng tìm kiếm :FormUpdateQtBoiDuong :UpdateQtBoiDuong :NhanVien :QtBoiDuong

thực hiện ca sử dụng


hiện list NhanVien

load list NhanVien

get info
info
result
list NhanVien

y/c quản lý các QtBoiDuong của NhanVien lấy list QtBoiDuong của NhanVien

lấy list QtBoiDuong của NhanVien

list QtBoiDuong
list QtBoiDuong
list QtBoiDuong

y/c quản lý một QtBoiDuong y/c quản lý một QtBoiDuong

get info

info
QtBoiDuong

thông tin về QtBoiDuong

b/sung sửa đổi thông tin của QtBoiDuong


sửa QtBoiDuong
bổ sung sửa đổi

QtBoiDuong đã sửa đổi


result
QtBoiDuong đã được sửa đổi

thêm hoặc xóa QtBoiDuong


thêm hoặc xóa QtBoiDuong
Thêm hoặc xóa
result
result
QtBoiDuong mới hoặc đã bị xóa

Hinh 2.26. Biểu đồ tuần tự ca sử dụng Quản lý quá trình bồi dưỡng

2.2.5.4. Ca sử dụng: Quản lý quá trình công tác

a. Biểu đồ tuần tự hệ thống quản lý quá trình công tác

62
:System

:BộPhậnQuảnLýNhânSự

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các QtCongTac của NhanVien

list QtCongTac

y/c quản lý một QtCongTac

thông tin về QtCongTac

b/sung sửa đổi thông tin của QtCongTac

QtCongTac đã được sửa đổi

thêm hoặc xóa QtCongTac

QtCongTac mới hoặc đã bị xóa

Hinh 2.27. Biểu đồ tuần tự ca sử dụng Quản lý account

b. Từ điển dữ liệu bổ sung


Ký hiệu Kiểu Độ rộng Định dạng Chú giải
QtBoiDuong Quá trình bồi dưỡng
ngayBatDau Date 8 mm/dd/yy Ngày bắt đầu
yy
ngayKetThuc Date 8 mm/dd/yy Ngày kết thúc
yy
noiBoiDuong String 30 Nơi bồi dưỡng
coSoBoiDuong String 30 Cơ sở bồi dưỡng
moTaThem String 30 Mô tả thêm

c. Mô hình khái niệm ca sử dụng quản lý quá trình công tác


– Lớp thực thể NhanVien, QuocGia, QtCongTac chứa thông tin về các nhân viên,
các quốc gia nhân viên tới đào tạo và các quá trình công tác tương ứng.

63
– Lớp giao diện FormUpdateQtCongTac cho phép tác nhân tạo quá trình công tác
mới, cũng như xem hay sửa quá trình công tác đã có trong danh sách.
– Lớp điều khiển UpdateQtCongTac có trách nhiệm điều khiển việc quản lý quá
trình công tác.

QuocGia

FormUpdateQtct UpdateQtct NhanVien


Bo phan quan ly nhan su

QtCongTac

Hinh 2.28. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý quá trình công tác

d. Biểu đồ tuần tự đối tượng

64
:BộPhậnQuảnLýNhânSự Ca sử dụng tìm kiếm :FormUpdateQtCongTac :UpdateQtCongTac :NhanVien :QuocGia :QtCongTac

thực hiện ca sử dụng


hiện list NhanVien

load list NhanVien

get info
info
result
list NhanVien

y/c quản lý các QtCongTac của NhanVien lấy list QtCongTac của NhanVien

lấy list QtCongTac của NhanVien

list QtCongTac
list QtCongTac
list QtCongTac

y/c quản lý một QtCongTac


y/c quản lý một QtCongTac

lấy list QuocGia

list QuocGia
nạp list QuocGia

return

get info

info

show QtCongTac

thông tin về QtCongTac

b/sung sửa đổi thông tin của QtCongTac


sửa QtCongTac
bổ sung sửa đổi

QtCongTac đã sửa đổi


result
QtCongTac đã được sửa đổi

thêm hoặc xóa QtCongTac


thêm hoặc xóa QtCongTac
Thêm hoặc xóa
result
result
QtCongTac mới hoặc đã bị xóa

Hinh 2.29. Biểu đồ tuần tự ca sử dụng Quản lý quá trình công tác

2.2.5.5. Ca sử dụng: Quản lý quá trình đào tạo

a. Biểu đồ tuần tự hệ thống quản lý quá trình đào tạo

65
:System

:BộPhậnQuảnLýĐàoTạo

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các QtDaoTao của NhanVien

list QtDaoTao

y/c quản lý một QtDaoTao

thông tin về QtDaoTao

b/sung sửa đổi thông tin của QtDaoTao

QtDaoTao đã được sửa đổi

thêm hoặc xóa QtDaoTao

QtDaoTao mới hoặc đã bị xóa

Hinh 2.30. Biểu đồ tuần tự hệ thống Quản lý quá trình đào tạo

b. Mô hình khái niệm ca sử dụng quản lý quá trình đào tạo


– Lớp thực thể NhanVien, NganhDaoTao, HeDaoTao, QtDaoTao chứa
thông tin về các nhân viên, ngành đào tạo, hệ đào tạo và các quá trình
đào tạo tương ứng.
– Lớp giao diện FormUpdateQtDaoTao cho phép tác nhân tạo quá trình
đào tạo mới, cũng như xem hay sửa quá trình đào tạođã có trong danh
sách.
– Lớp điều khiển UpdateQtDaoTao có trách nhiệm điều khiển việc quản lý
quá trình đào tạo.

66
NganhDaoTao

HeDaoTao

FormUpdateQtDaoTao UpdateQtDaoTao NhanVien


BộPhậnQuảnLýĐàoTạo

QtDaoTao
+ namNhapHoc : int
+ namTotNghiep : int
+ vanBangDT : string
+ hinhThucDT : string
+ moTaThem : string

Hinh 2.31. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý quá trình đào tạo

b. Từ điển dữ liệu bổ sung


Ký hiệu Kiểu Độ rộng Định dạng Chú giải
QtDaoTao Quá trình đào tạo
namNhapHoc int 4 Năm nhập học
namTotNghiep int 4 Năm tốt nghiệp
vanBangDT String 20 Văn bằng đào tạo
hinhThucDT String 20 Hình thức đào tạo
moTaThem String 30 Mô tả thêm

c. Biểu đồ tuần tự đối tượng

67
:BộPhậnQuảnLýĐàoTạo CSD tìm kiếm :FormUpdateQtDaoTao :UpdateQtDaoTao :NhanVien :NganhDaoTao :HeDaoTao :QtDaoTao

thực hiện ca sử dụng


show list NhanVien

load list NhanVien


get info
info
result
list NhanVien

y/c quản lý các QtDaoTao của NhanVien


lấy list QtDaoTao của NhanVien
lấy list QtDaoTao của NhanVien

list QtDaoTao
list QtDaoTao
list QtDaoTao

y/c quản lý một QtDaoTao


y/c quản lý một QtDaoTao
lấy list

list NganhDaoTao

nạp list NganhDaoTao


return
get info

info

lay list HeDaoTao Get list


list HeDaoTao
list HeDaoTao
nạp list HeDaoTao
return

show QtDaoTao

thông tin về QtDaoTao

b/sung sửa đổi thông tin của QtDaoTao


sửa QtDaoTao
bổ sung sửa đổi

QtDaoTao đã sửa đổi


result
QtDaoTao đã được sửa đổi

thêm hoặc xóa QtDaoTao


thêm hoặc xóa QtDaoTao
Thêm hoặc xóa
result
result
QtDaoTao mới hoặc đã bị xóa

Hinh 2.32. Biểu đồ tuần tự ca sử dụng Quản lý quá trình đào tạo

2.2.1.5.5. Ca sử dụng: Quản lý quá trình công tác

a. Biểu đồ tuần tự hệ thống quản lý quá trình công tác

68
:System

:BộPhậnQuảnLýNhânSự

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các QtCongTac của NhanVien

list QtCongTac

y/c quản lý một QtCongTac

thông tin về QtCongTac

b/sung sửa đổi thông tin của QtCongTac

QtCongTac đã được sửa đổi

thêm hoặc xóa QtCongTac

QtCongTac mới hoặc đã bị xóa

Hinh 2.33. Biểu đồ tuần tự hệ thống Quản lý quá trình công tác

b. Mô hình khái niệm ca sử dụng quản lý quá trình công tác


– Lớp thực thể NhanVien, QuocGia, QtCongTac chứa thông tin về các
nhân viên, các quốc gia nhân viên tới đào tạo và các quá trình công tác
tương ứng.
– Lớp giao diện FormUpdateQtCongTac cho phép tác nhân tạo quá trình
công tác mới, cũng như xem hay sửa quá trình công tác đã có trong danh
sách.
– Lớp điều khiển UpdateQtCongTac có trách nhiệm điều khiển việc quản
lý quá trình công tác.

69
QuocGia

FormUpdateQtct UpdateQtct NhanVien


Bo phan quan ly nhan su

QtCongTac

Hinh 2.34. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý quá trình công tác

c. Biểu đồ tuần tự đối tượng

70
:BộPhậnQuảnLýNhânSự Ca sử dụng tìm kiếm :FormUpdateQtCongTac :UpdateQtCongTac :NhanVien :QuocGia :QtCongTac

thực hiện ca sử dụng


hiện list NhanVien

load list NhanVien

get info
info
result
list NhanVien

y/c quản lý các QtCongTac của NhanVien lấy list QtCongTac của NhanVien

lấy list QtCongTac của NhanVien

list QtCongTac
list QtCongTac
list QtCongTac

y/c quản lý một QtCongTac


y/c quản lý một QtCongTac

lấy list QuocGia

list QuocGia
nạp list QuocGia

return

get info

info

show QtCongTac

thông tin về QtCongTac

b/sung sửa đổi thông tin của QtCongTac


sửa QtCongTac
bổ sung sửa đổi

QtCongTac đã sửa đổi


result
QtCongTac đã được sửa đổi

thêm hoặc xóa QtCongTac


thêm hoặc xóa QtCongTac
Thêm hoặc xóa
result
result
QtCongTac mới hoặc đã bị xóa

Hinh 2.35. Biểu đồ tuần tự ca sử dụng Quản lý quá trình công tác

2.2.5.6. Ca sử dụng: Quản lý quá trình khen thưởng

a. Biểu đồ tuần tự hệ thống quản lý quá trình khen thưởng

71
:System

:BộPhậnQuảnLýNhânSự

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c quản lý các QtKhen của NhanVien

list QtKhen

y/c quản lý một QtKhen

thông tin về QtKhen

b/sung sửa đổi thông tin của QtKhen

QtKhen đã được sửa đổi

thêm hoặc xóa QtKhen

QtKhen mới hoặc đã bị xóa

Hinh 2.36. Biểu đồ tuần tự hệ thống Quản lý quá trình khen thưởng

b. Mô hình khái niệm ca sử dụng quản lý quá trình khen thưởng


– Lớp thực thể NhanVien, HinhThucKhenThuong, QtKhenThuong chứa
thông tin về các nhân viên, hình thức khen thưởng và các quá trình khen
thưởng tương ứng.
– Lớp giao diện FormUpdateQtKhenThuong cho phép tác nhân tạo quá
trình khen thưởng mới, cũng như xem hay sửa quá trình khen thưởng đã
có trong danh sách.
– Lớp điều khiển UpdateQtKhenThuong có trách nhiệm điều khiển việc
quản lý quá trình khen thưởng.

72
HinhThucKhenThuong

FormUpdateQtKhen UpdateQtKhen NhanVien


BộPhậnQuảnLýNhânSự

QtKhen
+ ngayKT : DateTime
+ lyDoKT : string
+ coQuanKT : string

Hinh 2.37. Biểu đồ lớp đối tượng thực thi ca sử dụng Quản lý quá trình khen thưởng

b. Từ điển dữ liệu bổ sung


Ký hiệu Kiểu Độ rộng Định dạng Chú giải
QtKhen Quá trình khen thưởng
ngayKT Date 8 mm/dd/yyyy Ngày khen thưởng
lyDoKT int 4 Nội dung khen thưởng
coQuanKT String 20 Cơ quan ra quyết định khen
thưởng

c. Biểu đồ tuần tự đối tượng

73
:BộPhậnQuảnLýNhânSự Ca sử dụng tìm kiếm :FormUpdateQtKhen :UpdateQtKhen :NhanVien :HinhThucKhenThuong :QtKhen

thực hiện ca sử dụng


hiện list NhanVien

load list NhanVien

get info
info
result
list NhanVien

y/c quản lý các QtKhen của NhanVien lấy list QtKhen của NhanVien

lấy list QtKhen của NhanVien

list QtKhen
list QtKhen
list QtKhen

y/c quản lý một QtKhen


y/c quản lý một QtKhen

get all list

list HinhThucKhenThuong

nạp list HinhThucKhenThuong

return

get info

info

show QtKhen

thông tin về QtKhen

b/sung sửa đổi thông tin của QtKhen


sửa QtKhen
bổ sung sửa đổi

QtKhen đã sửa đổi


result
QtKhen đã được sửa đổi

thêm hoặc xóa QtKhen


thêm hoặc xóa QtKhen
Thêm hoặc xóa
result
result
QtKhen mới hoặc đã bị xóa

Hinh 2.38. Biểu đồ tuần tự ca sử dụng Quản lý quá trình khen thưởng

2.2.5.7. Ca sử dụng: Quản lý quá trình kỷ luật


Giống với ca sử dụng quản lý quá trình khen thưởng ở trên ngoại trừ việc thay
lớp QtKhen bằng QtKyLuat, thay lớp HinhThucKhenThuong băng HinhThucKyLuat.

74
2.2.5.8. Ca sử dụng: Thuyên chuyển nhân viên

a. Biểu đồ tuần tự hệ thống thuyên chuyển nhân viên

:System

:BộPhậnQuảnLýNhânSự

thực hiện ca sử dụng tìm kiếm nhân viên

list NhanVien

y/c thuyên chuyển NhanVien

list all DonVi

y/c chuyển NhanVien tới một DonVi

NhanVien đã được chuyển

Hinh 2.39. Biểu đồ tuần tự hệ thống Thuyên chuyển nhân viên

b. Mô hình khái niệm ca sử dụng thuyên chuyển nhân viên


– Lớp thực thể NhanVien, DonVi chứa thông tin về các nhân viên và các
đơn vị.
– Lớp giao diện FormThuyenChuyen cho phép tác nhân thực hiện thuyên
chuyển nhân viên tới đơn vị có trong danh mục đơn vị.
– Lớp điều khiển ThuyenChuyen có trách nhiệm điều khiển việc thuyên
chuyển nhân viên.

DonVi

FormThuyenChuyen ThuyenChuyen NhanVien


BộPhậnQuảnLýNhânSự

Hinh 2.40. Biểu đồ lớp đối tượng thực thi ca sử dụng Thuyên chuyển nhân viên

75
c. Biểu đồ tuần tự đối tượng

:BộPhậnQuảnLýNhânSự Ca sử dụng tìm kiếm :FormThuyenChuyen :ThuyenChuyen :NhanVien :DonVi

thực hiện ca sử dụng


hiện list NhanVien

load list NhanVien

get info
info
result
list NhanVien

y/c thuyên chuyển NhanVien lấy list tất cả DonVi

lấy list tất cả DonVi

list tất cả DonVi


list tất cả DonVi
list tất cả DonVi

y/c chuyển NhanVien tới một DonVi y/c chuyển NhanVien tới một DonVi

set DonVi

result

NhanVien đã được chuyển


NhanVien đã được chuyển

Hinh 2.41. Biểu đồ tuần tự ca sử dụng Thuyên chuyển nhân viên

76
Chương 3

THIẾT KẾ HỆ THỐNG

– Môi trường thiết kế


– Xác định gói thiết kế
– Thiết kế các ca sử dụng

3.1. Môi trường thiết kế


Môi trường phát triển Microsoft .NET Framework v1.1.
Ngôn ngữ lập trình C# (tên đầy đủ là CSharp).
Hệ quản trị cơ sở dữ liệu: PostgresSQL 8.0.

3.2. Xác định gói thiết kế

Control Transaction

Domain

GUI System::Windows::Forms CoreLab::PostgreSql

Hinh 3.1. Các gói thiết kế trong hệ thống

– Gói Domain : gồm các lớp là triển khai của các đối tượng thực thể.
– Gói Control : gồm các lớp là triển khai của các đối tượng điều khiển.
– Gói GUI : gồm các lớp là triển khai của các đối tượng giao diện.
– Gói Transaction : gồm các lớp là thực hiện việc quản lý lưu trữ các đối
tượng có trong gói Domain.

77
– Gói System::Windows::Forms chứa các lớp tạo cửa sổ giao diện, đây là
thư viện chuẩn của .NET Framework.
– Gói CoreLab::PostgreSql cung cấp các câu lệnh kết nối và thao tác trên
cơ sở dữ liệu quan hệ (dành cho hệ quản trị cơ sở dữ liệu PostgreSQL
v8.0).

3.2.1. Thiết kế các lớp trong gói Transaction

PersitenceFacade

IMapper

DBMapper

Hinh 3.2. Mô hình khái niệm trong gói Transaction

– Lớp PersistenceFacade là phần khung chứa tất cả các lớp ánh xạ thực
thể - CSDL (các lớp thi hành lớp giao diện IMapper), và cung cấp các
hàm thực hiện ánh xạ.
– Lớp DBMapper là lớp trừu tượng, cung cấp các hàm thực hiện ánh xạ
một đối tượng miền trong gói Domain.
– Lớp OID thuộc gói Domain, là lớp định danh dùng để phân biệt các đối
tượng trong cùng 1 lớp thực thể.

78
3.2.1.1.Mô tả thuộc tính và phương thức trong các lớp trong gói
Transaction.
PersistenceFacade DBMapper
<<abstract>>
+ static GetInstace(): PersistenceFacade
+ Put(OID, object): bool + DBMapper( string table_name )
+ Get(OID, Type classId): object + Get(OID): object
+ Remove(OID, Type classId) + Put(OID): bool
+ GetList(Type classId): Hashtable + Remove(OID): bool
+ AddMapper(Type, IMapper): void + GetList(): Hashtable
+ RemoveMapper(Type): void # GetFieldValue(string, OID): object
# GetObjectFromStorage(OID): object
static Connection: PgSqlConnection # PutObjectToStorage(OID, object): bool;
static Instace: PersistenceFacade # UpdateObjectOnStorage(OID, object): bool
- mapperSet: Hashtable # GetPKName(): string

# tableName: string
IMapper - cachedObjects: Hashtable
<<interface>
+ Put(OID, object)
+ Get(OID): object
+ Remove(OID): bool
+ GetList(): Hashtable

Hinh 3.3. Mô hình khái niệm mức chi tiết trong gói Transaction

79
3.2.1.1 Thiết kế lớp PersistenceFacade
/***********************************************************************
* Module: PersitenceFacade.cs
* Author: Hoang Xuan Hao
* Purpose: Definition of the Class Transaction.PersitenceFacade
***********************************************************************/

using System;
using System.Collections;
using Domain;
using CoreLab::PostgreSql;

namespace Transaction { // biểu diễn gói Transaction


public class PersitenceFacade
{
/* mapperSet: bảng băm chứa tập hợp các lớp ánh xạ thi hành giao diện
IMapper */
private System.Collections.Hashtable mapperSet;

/* _connection: duy trì kết nối tới CSDL */


private static CoreLab.PostgreSql.PgSqlConnection _connection;

/* _instance: một đối tượng PersitenceFacade tĩnh, tồn tại lâu dài
trong suốt thời gian chạy của chương trình */
private static PersitenceFacade _instance;

/* Hàm khởi dựng */


public PersitenceFacade()
{
mapperSet = new System.Collections.Hashtable();
}

/* Lấy thể hiện tĩnh của lớp PersitenceFacade */


public static PersitenceFacade GetInstance()
{
if (_instance == null)
{
_instance = new PersitenceFacade();
}
return _instance;
}

/* --- Bắt đầu phần chú thích phương thức Get ----
>Tên phương thức: Get
>Chức năng: Lấy một đối tượng thuộc lớp có kiểu là typeClassID với
định danh đối tượng là oid */
>Dữ liệu vào:
- oid: định danh của đối tượng trong gói Domain.
- typeClassID: kiểu của một lớp bất kỳ trong gói Domain.
Ví dụ:
typeClassID = typeof(Domain.NhanVien);

>Dữ liệu ra:


- là một đối tượng thuộc một lớp bất kỳ trong gói Domain

80
>Ví dụ sử dụng phương thức: lấy đối tượng nhân viên có mã định danh
là 12345

PersistenFacade persistenFacade;
Domain.NhanVien nhanVien;

nhanVien = (Domain.NhanVien)persistenFacade.Get(new
Domain.OID(12345), typeof(Domain.NhanVien));

---- Kết thúc phần chú thích --*/

public object Get(Domain.OID oid, System.Type typeClassID)


{
IMapper m = (IMapper)mapperSet[typeClassID];
if (m != null)
{
return m.Get(oid);
}
return null;
}

/* --- Bắt đầu phần chú thích phương thức Put ----
>Tên phương thức: Put
>Chức năng: Lưu một đối tượng trong gói Domain với định danh đối
tượng là oid */
>Dữ liệu vào:
- obj: đối tượng trong gói Domain.

>Dữ liệu ra:


- true: nếu việc lưu trữ thành công
- false: ngược lại

>Ví dụ sử dụng phương thức: lưu trữ đối tượng nhân viên có mã định
danh là 12345

PersistenFacade persistenFacade;
Domain.NhanVien nhanVien;

returnValue = persistenFacade.Put(new Domain.OID(12345),


nhanVien);

---- Kết thúc phần chú thích --*/

public bool Put(Domain.OID oid, object obj)


{
if (obj == null)
return false;

IMapper m = (IMapper)mapperSet[obj.GetType()];
if (m != null)
return m.Put(oid, obj);
return false;
}

/* Chèn mới đối tượng vào CSDL */


public bool Put(object obj)
{
return Put(null, obj);
}

81
/* --- Bắt đầu phần chú thích phương thức Remove ----
>Tên phương thức: Remove
>Chức năng: Xóa một đối tượng trong gói Domain với định danh đối
tượng là oid */
>Dữ liệu vào:
- oid: định danh của đối tượng trong gói Domain.

>Dữ liệu ra:


- true: nếu xóa thành công
- false: ngược lại

>Ví dụ sử dụng phương thức: xóa tượng nhân viên

PersistenFacade persistenFacade;
Domain.NhanVien nhanVien;

returnValue = persistenFacade.Remove(nhanVien.Oid,
typeof(Domain.NhanVien));

---- Kết thúc phần chú thích --*/

public bool Remove(Domain.OID oid, Type typeClassID)


{
IMapper m = (IMapper)mapperSet[typeClassID];
if (m != null)
return m.Remove(oid);
return false;
}

/* Lấy tất cả các đối tượng thuôc lớp có kiểu là typeClassID */


public Hashtable GetList(Type typeClassID)
{
IMapper m = (IMapper)mapperSet[typeClassID];

if (m != null)
{
return (Hashtable)m.GetList();
}
return null;
}

/* --- Bắt đầu phần chú thích phương thức AddMapper ----
>Tên phương thức: AddMapper
>Chức năng: Thêm một lớp ánh xạ đối tượng – CSDL vào
PersistenceFacade */
>Dữ liệu vào:
- typeClassID: định danh kiểu lớp trong gói Domain.
- iMapper: lớp ánh xạ thi hành giao diện IMapper.

>Dữ liệu ra:


- không có

>Ví dụ sử dụng phương thức: thêm lớp ánh xạ NhanVienMapper

PersistenFacade persistenFacade;
NhanVienMapper nhanVienMapper;

nhanVienMapper=new NhanVienMapper(“tbl_nhan_vien”);

82
persistenFacade.AddMapper(typeof(Domain.NhanVien),
nhanVienMapper);

---- Kết thúc phần chú thích hàm AddMapper --*/


public void AddMapper(Type typeClassID, IMapper iMapper)
{
if (!mapperSet.Contains(typeClassID))
{
mapperSet.Add(typeClassID, iMapper);
}
}

/* Xóa lớp ánh xạ đối tượng – CSDL quan hệ ra khỏi PersistenceFacade


*/
public void RemoveMapper(Type typeClassID)
{
if (mapperSet.Contains(typeClassID))
mapperSet.Remove(typeClassID);
}

/* Lấy và đặt đối tượng _connection */


public static PgSqlConnection Connection
{
get
{
return _connection;
}
set
{
if (_connection != value)
_connection = value;
}
}
} // end class PersistenceFacade
} // end namespace Transaction

3.2.1.2. Thiết kế lớp trừu tượng DBMapper


/***********************************************************************
* Module: DBMapper.cs
* Author: Hoang Xuan Hao
* Purpose: Definition of the Class Transaction.DBMapper
***********************************************************************/

using System;
using System.Collections;
using CoreLab.PostgreSql;
using Domain;

namespace Transaction {
public abstract class DBMapper : IMapper
{
protected string tableName; // tên bảng dữ liệu quan hệ
private Hashtable cachedObjects; // cache nhớ các đối tượng

83
// GetPKName(): lấy tên khóa chính trong bảng dữ liệu quan hệ
protected abstract string GetPKName();
// GetObjectFromStorage(): lấy đối tượng trong CSDL quan hệ
protected abstract object GetObjectFromStorage(Domain.OID id);
// GetObjectFromStorage(): thêm đối tượng vào CSDL quan hệ
protected abstract bool AddObjectToStorage(object obj);
// GetObjectFromStorage(): cập nhật đối tượng trong CSDL quan hệ
protected abstract bool UpdateObjectOnStorage(Domain.OID id, object
obj);

// Hàm khởi dựng


public DBMapper(string tableName)
{
cachedObjects = new Hashtable();
this.tableName = tableName;
}

// Thi hành giao diện Put từ IMapper


public bool Put(Domain.OID id, object obj)
{
bool returnValue = false;
object temp = null;

if (id == null) id = obj.Oid;


if (id != null)
// kiem tra xem id da co trong CSDL chua
temp = GetFieldValue(GetPKName(), id);

if ( (id == null || temp == null) )


{
// chèn mới, dùng các câu lệnh INSERT
returnValue = AddObjectToStorage(obj);
if (returnValue)
{
int _id = (int)GetFieldValue("MAX(OID)","1=1");
obj.Oid = new Domain.OID(_id);
}
}
else
{
// id da co, dung cac cau lenh UPDATE
returnValue = UpdateObjectOnStorage(id, obj);

// chen obj vao bang bam


if (returnValue)
{
obj.Oid = id;
if (cachedObjects.ContainsKey(id))
{
cachedObjects[id] = obj;
}
else
{
cachedObjects.Add(id,obj);
}
} // if (returnValue)

} // end elseif
return returnValue;
} // end Put

84
// Thi hành giao diện Gut từ IMapper
public object Get(Domain.OID id)
{
// lấy đối tượng từ vùng nhớ cache
object obj = (object)cachedObjects[id];

if (obj == null)
{
obj = GetObjectFromStorage(id);
cachedObjects.Add(id, obj);
}

return obj;
} // end Get

// Thi hành giao diện Remove từ IMapper


public bool Remove(Domain.OID id)
{
if (cachedObjects.ContainsKey(id))
cachedObjects.Remove(id);

string query = "DELETE FROM "+tableName+" WHERE


"+GetPKName()+"="+id.ToString();

PgSqlCommand pgCommand = new PgSqlCommand(query,


PersitenceFacade.Connection);

if (pgCommand.ExecuteNonQuery() > 0) // thực hiện thành công


return true;
else
return false;
} // end Remove

// Thi hành giao diện GetList từ IMapper


public System.Collections.Hashtable GetList()
{
string query = "SELECT "+GetPKName()+" FROM "+tableName+" WHERE
1=1";
PgSqlCommand pgCommand = new PgSqlCommand(query,
PersitenceFacade.Connection);
PgSqlDataReader listID = pgCommand.ExecuteReader();

if (listID.HasRows)
{
System.Collections.Hashtable listObj = new
System.Collections.Hashtable();

while (listID.Read())
{
Domain.OID oid = new
Domain.OID((int)listID[GetPKName()]);
object obj = this.Get(oid);
if (obj != null)
listObj.Add( oid, obj);
} // end while

85
return listObj;
} // end if (listID.HasRows)

return null;
} // end GetList

// Hàm dịch vụ, lấy giá trị của cột name trong CSDL
protected object GetFieldValue(string name, Domain.OID oid)
{
string condition = string.Format("{0}={1}",
GetPKName(), oid.ToString());

return GetFieldValue(name, condition);


} // end GetFieldValue

/* Hàm dịch vụ, lấy giá trị của cột name trong CSDL với điều kiện
truy vấn là condition */
protected object GetFieldValue(string name, string condition)
{
string query = string.Format("SELECT {0} FROM {1} WHERE {2}",
name, tableName, condition);

try
{
PgSqlCommand command = new PgSqlCommand(query,
Transaction.PersitenceFacade.Connection);

PgSqlDataReader reader =
command.ExecuteReader(System.Data.CommandBehavior.SingleRow);

if (reader.Read())
{
// nếu giá trị đọc được là null
if (!reader.IsDBNull(0))
return reader[0];
else
return null;
} // if (reader.Read())

} // end try
catch (Exception e)
{
// đưa ra thông báo lỗi
}
return null;
} // end GetFieldValue

// Hàm dịch vụ, thực hiện câu lệnh truy vấn query
protected bool ExecQuery(string query)
{
PgSqlCommand pgCommand = new PgSqlCommand(query,
PersitenceFacade.Connection);

if (pgCommand.ExecuteNonQuery() > 0)
return true;
else
return false;
} // enđ ExecQuery

86
} // end class DBMapper
} // end namespace Transaction

3.2.1.3. Thiết kế các lớp ánh xạ thực thể - CSDL quan hệ


Như vậy, tại bước thiết kế này chúng ta đã tạo ra được hai lớp cốt yếu trong gói
Transaction. Để thiết kế các lớp ánh xạ đối tượng trong gói Domain vào bảng dữ liệu
quan hệ tương ứng. Chúng ta tạo ra các lớp kế thừa từ lớp DBMapper. Dưới đây là
một ví dụ thiết kế lớp ánh xạ DanTocMappper cho lớp DanToc (thuộc gói Domain).

3.2.1.3.1. Thiết kế các lớp ánh xạ DanTocDBMapper

PersitenceFacade

IMapper

DBMapper

DanTocDBMapper

Hinh 3.4. Quan hệ giữa DanTocDBMapper và DBMapper

/***********************************************************************
* Module: DanTocDBMapper.cs
* Author: Hoang Xuan Hao
* Purpose: Definition of the Class Transaction.DanTocDBMapper
***********************************************************************/

using System;
using CoreLab.PostgreSql;
using Domain;

namespace Transaction
{
public class DanTocDBMapper : DBMapper
{
// hàm khởi dựng
public DanTocDBMapper(string tableName):base(tableName)
{
}

87
// hàm chồng từ DBMapper
protected override object GetObjectFromStorage(Domain.OID oid)
{
Domain.DanToc danToc = new Domain.DanToc();

danToc.Oid = oid;
danToc.Name = (string)this.GetFieldValue("tenDT",oid);

return danToc;
}

// hàm chồng từ DBMapper, lấy khóa chính của bảng CSDL


protected override string GetPKName()
{
return "maDT";
}

// hàm chồng từ DBMapper, thêm mới đối tượng vào bảng CSDL
protected override bool AddObjectToStorage(object obj)
{
string valueItem;
string query;
string fieldItem;

DanToc danToc = (DanToc)obj;

fieldItem = "tenDT, moTaThem";


valueItem = string.Format("'{0}','{1}'",
danToc.Name);

query = string.Format("INSERT INTO {0}({1}) VALUES({2})",


tableName, fieldItem, valueItem);

return ExecQuery(query);
} // AddObjectToStorage

// hàm chồng từ DBMapper, cập nhật đối tượng vào bảng CSDL
protected override bool UpdateObjectOnStorage(Domain.OID id,
object obj)
{
DanToc danToc = (DanToc)obj;

string query = string.Format("UPDATE {0} SET tenDT='{3}',


moTaThem='{4}' WHERE {1} = {2}",
tableName, GetPKName(), id.ToString(),
danToc.Name
);

return ExecQuery(query);
}

} // end class DanTocDBMapper


} // end namespace Transaction

88
3.3. Thiết kế cho từng ca sử dụng
Theo định hướng của từng ca sử dụng, chúng ta tập trung thiết kế cho từng gói
đã xác định ở trên. Ở đây, chúng ta trình bày kết quả thiết kế với ca sử dụng Tìm kiếm
nhân viên.

3.3.1 Ca sử dụng Tìm kiếm nhân viên

3.3.1.1. Xác định các lớp thiết kế tham gia thực thi ca sử dụng
Ở đây, cơ sở để xác định các lớp thiết kế là các đối tượng phân tích. Mỗi đối
tượng phân tích sẽ cho chúng ta một khối thiết kế. Chi tiết hoá các khối thiết kế này,
chúng ta được các lớp thiết kế. Trong ca sử dụng này, chúng ta xác định được các lớp
thiết kế sau:
Lớp mô hình phân tích Lớp thiết kế Chú thích
FormSearch - FormUpdateDanToc Dạng hộp thoại
- IFormSearch
Các lớp điều khiển và
Search - Search
interface
- IFormResult
- NhanVien
NhanVien
- NhanVienMapper
Các lớp mapper dùng
DonVi - DonVi
để ánh xạ các thực thể
- DonViMapper
vào CSDL quan hệ.
- LoaiCanBo
LoaiCanBo
- LoaiCanBoMapper

3.3.1.2. Thiết kế các gói phân tích

3.3.1.2.1. Thiết kế gói Domain


Các lớp trong gói Domain:

89
1 n
DonVi NhanVien

DanhMuc LoaiCanBo

OID

Hinh 3.5. Các lớp trong gói Domain

3.3.1.2.2. Thiết kế gói Transaction


Các lớp trong gói Transaction:

90
Transaction

PersistenceFacade

IMapper

DBMapper

DanTocMapper

Hinh 3.6. Các lớp trong gói Transaction

3.3.1.2.3. Thiết kế gói GUI


Các lớp trong gói GUI

System.Windows.Forms.Form

GUI

FormSearch

Hinh 3.7. Các lớp trong gói GUI

3.3.1.2.4. Thiết kế gói Control

91
Control

FormSearch
IFormResult
1

1
Search

IFormSearch

Hinh 3.8. Các lớp trong gói Control

3.3.1.3. Biểu đồ tuần tự thực thi ca sử dụng tìm kiếm nhân viên
Sau khi đã xác định được các lớp trong các gói cụ thể, chúng ta có được biểu đồ
tuần tự thực thi ca sử dụng tìm kiếm nhân viên như sau:

92
:FormSearch :Search :PersistenceFacade :IFormResult

:Admin
Load

Load( )

dvlist:= GetList(typeof(DonVi))

DonVi list

DispalyDonViList(dvlist)

return

lcbList:= GetList(typeof(LoaiCanBo))

LoaiCanBo list

DisplayLCBList(lcbList)

return

display

display

input info

Find

Find( )

dv:= GetLookInDonVi( )

cb:= GetLookInLCB( )

hd:= GetHodemSearch( )

ten:= GetTenSearch( )

nvList:= GetList( )

NhanVien list

foundList:= Filter(nvList, dv, cb, hd, ten)

result NhanVien list

DisplayResultList(foundList)

display result list

Hinh 3.9. Biểu đồ tuần tự thực thi ca sử dụng tìm kiếm nhân viên

93
3.3.1.4. Biểu đồ lớp ca sử dụng tìm kiếm nhân viên

a. Sơ đồ lớp

FormSearch
IFormResult

1
1

1 1
Search PersistenceFacade

IFormSearch

n n

1 n
DonVi NhanVien IMapper

DBMapper

DanhMuc LoaiCanBo

NhanVienMapper DonViMapper

OID
LoaiCanBoMapper

Hinh 3.10 Biểu đồ lớp ca sử dụng tìm kiếm nhân viên

b. Mô tả chi tiết các lớp:

94
IFormSearch IFormResult
<<interface>> <<interface>>

+ DisplayList( Hashtable nvlist): void


+ DisplayList(Hashtable nvlist): void
+ DispalyDonViList(Hashtable): void
+ DisplayLCBList(Hashtable): void Search
+ GetLookInDonVi(): ArrayList
- formSearch: IFormSearch
+ GetLookInLCB(): ArrayList
- formResult: IFormResult
+ GetTenSearch(): string
+ GetHodemSearch(): string
+ Search(IFormSearch, IFormResult)
+ Load(): void
+ Find(): void
FormSearch

- search: Search
NhanVien
+ DisplayList(Hashtable list): void
- hoDem: string
- ngaySinh: DateTime
DonVi - gioiTinh: bool
- diaChiThuongTru: string
- diaChi: string
- soCMND: string
- lanhDao: string
- loaiCanBo: LoaiCanBo
- heTruong: HeTruong
- donVi: DonVi
- capHoc: CapHoc
- danToc: DanToc
- loaiHinhDonVi: LoaiHinhDonVi
- quanHuyen: QuanHuyenHaNoi + NhanVien()
+ GetHoDem(): string
+ DonVi() + GetNgaySinh(): DateTime
+ GetDiaChi(): string + GetGioiTinh(): bool
+ GetLanhDao(): string + GetDiaChi(): string
+ GetHeTruong(): HeTruong + GetSoCMND(): string
+ GetCapHoc(): CapHoc + SetHoDem(): string
+ GetLoaiHinhDonVi():LoaiHinhDonVi + SetNgaySinh(DateTime
+ GetQuanHuyen(): QuanHuyenHaNoi + SetGioiTinh( bool ): void
+ SetDiaChi(string): void + SetDiaChi(string): void
+ SetLanhDao(string): void + SetSoCMND(string): void
+ SetHeTruong(HeTruong) + GetLoaiCanBo(): LoaiCanBo
+ SetCapHoc(CapHoc) + GetDonVi(): DonVi
+ SetLoaiHinhDonVi(LoaiHinhDonVi) + GetDanTo(): DanToc
+ SetQuanHuyen(QuanHuyenHaNoi) + SetLoaiCanBo(LoaiCanBo): void
+ SetDonVi(DonVi): void
+ SetDanToc(DanToc): void

Hinh 3.11 Thiết kế chi tiết các lớp (phần 1)

95
NhanVienMapper DanhMuc
<<abstract>>
+ GetOID(): OID
+ NhanVienMapper( string tableName) + SetOID(OID): void
# GetObjectFromStorage(OID): object + SetName(string): void
# PutObjectToStorage(OID, object): bool; + GetName(): string
# UpdateObjectOnStorage(OID, object): bool + SetMoTaThem(string): void
# GetPKName(): string + GetMoTaThem(): string

- name: string
DonViMapper - moTaThem: string

+ DonViMapper( string tableName) LoaiCanBo OID


# GetObjectFromStorage(OID): object
# PutObjectToStorage(OID, object): bool; + GetID(): int
# UpdateObjectOnStorage(OID, object): bool + SetID(int): void
# GetPKName(): string + LoaiCanBo() - id: int

LoaiCanBoMapper Về các lớp


PersistenceFacade,
+ LoaiCanBoMapper( string tableName) IMapper, DBMapper
# GetObjectFromStorage(OID): object được trình bày chi tiết
# PutObjectToStorage(OID, object): bool; trong phần thiết kế gói
# UpdateObjectOnStorage(OID, object): bool Transaction.
# GetPKName(): string

Hinh 3.12 Thiết kế chi tiết các lớp (phần 2)

3.3.2. Ca sử dụng Cập nhật danh mục dân tộc

3.3.2.1. Xác định các lớp thiết kế tham gia thực thi ca sử dụng
Lớp mô hình phân tích Lớp thiết kế Chú thích
FormUpdateDanToc - FormUpdateDanToc Dạng hộp thoại
- UpdateDanToc
Các lớp điều khiển và
UpdateDanToc - UpdateDanhMuc
interface
- IFormUpdateDanhMuc
- DanhMuc - Lớp DanTocMapper
- DanToc thao tác với bảng
DanToc
- DanTocMapper CSDL quan hệ liên
quan đến dân tộc

96
3.3.2.2. Thiết kế các gói phân tích

3.3.2.2.1. Thiết kế gói Domain


Các lớp trong gói Domain:

Domain

1
OID DanhMuc

DanToc

Hinh 3.13 Các lớp trong gói Domain

3.3.2.2.2. Thiết kế gói Transaction

Transaction

PersistenceFacade

IMapper

DBMapper

DanTocMapper

Hinh 3.14 Các lớp trong gói Transaction

3.3.2.2.3. Thiết kế gói GUI


Các lớp trong gói GUI:

97
System.Windows.Forms.Form

GUI

FormUpdateDanToc

Hinh 3.15 Các lớp trong gói GUI

3.3.2.2.4. Thiết kế gói Control

Control

1
UpdateDanhMuc

IFormUpdateDanhMuc

UpdateDanToc

Hinh 3.16 Các lớp trong gói Control

98
3.3.2.3. Biểu đồ tuần tự thực thi ca sử dụng cập nhật danh muc dân tộc

:FormUpdateDanToc :UpdateDanToc :PersistenceFacade

:Admin

Load
Load( )

GetList(typeof(DanToc))

DanToc list

DisplayList(danToc list)

display

add/select DanToc

input info

Update
Update(dan toc)

Put(dan toc)

result

result
result

Remove
Remove(dan toc)
Remove(dan toc)

result
result

result

Hinh 3.17 Biểu đồ tuần tự thực thi ca sử dụng cập nhật danh mục dân tộc

3.3.2.4. Biểu đồ lớp ca sử dụng danh mục dân tộc

a. Sơ đồ lớp

99
UpdateDanhMuc
PersistenceFacade
1 {abstract} 1 n

IFormUpdateDanhMuc IMapper

DBMapper
{abstract}

FormUpdateDanToc UpdateDanToc
1

DanTocMapper
DanToc

DanhMuc
OID
{abstract} 1

Hinh 3.18 Biểu đồ lớp ca sử dụng cập nhật danh mục dân tộc

b. Chi tiết các lớp

100
IFormUpdateDanhMuc UpdateDanhMuc
<<interface>> <<abstract>>
- form: IFormUpdateDanhMuc

+ DisplayList(Hashtable list): void + Load(): void


+ Update(object): void
+ Remove(object): void
+ Add(object): void
FormUpdateDanToc

- updateDT: UpdateDanToc

+ DisplayList(Hashtable list): void UpdateDanToc

OID + UpdateDanToc(IFormUpdateDanhMuc)
+ Load(): void
+ GetID(): int + Update(object): void
+ SetID(int): void + Remove(object): void
- id: int + Add(object): void

DanTocDBMapper Về các lớp


PersistenceFacade,
IMapper, DBMapper
+ DanTocDBMapper( string tableName) được trình bày chi tiết trong
# GetObjectFromStorage(OID): object phần thiết kế gói Transaction
# PutObjectToStorage(OID, object): bool;
# UpdateObjectOnStorage(OID, object): bool
# GetPKName(): string

DanToc DanhMuc
<<abstract>>
+ GetOID(): OID
+ DanToc() + SetOID(OID): void
+ SetName(string): void
+ GetName(): string
+ SetMoTaThem(string): void
+ GetMoTaThem(): string

- name: string
- moTaThem: string

Hinh 3.19 Thiết kế chi tiết các lớp trong ca sử dụng cập nhật danh mục dân tộc

101
Chương 4

HỆ THỐNG CHƯƠNG TRÌNH


- Cấu trúc và chức năng của chương trình

4.1. Cấu trúc và các chức năng của chương trình


Nhằm đáp ứng các tiêu chí quản lý hồ sơ công chức mà ban TCCBCP, ban
TCTW, vụ TCCB Bộ Giáo Dục & Đào Tạo và mục đích yêu cầu của bài toán quản lý
công chức Giáo Dục & Đào Tạo đã nêu ra ở chương 1, cùng với cấu trúc dữ liệu phức
tạp của bài toán, chương trình “Quản lý công chức” - được thiết kế thành các khối
chức năng sau:
Hệ thống chương trình

Hệ thống Hồ sơ Nghiệp vụ Tìm kiếm Báo cáo Trợ giúp Thoát

Hinh 4.1 Sơ đồ mô tả các khối chức năng của chương trình

Tương ứng với các khối chức năng, giao diện chương trình được thiết kế dưới
dạng menu như sau:

102
Hinh 4.2 Thiết kế chi tiết các lớp trong ca sử dụng cập nhật danh mục dân tộc

4.1.1. Khối hệ thống


Khối hệ thống thực hiện các chức năng: đăng nhập, cập nhật các bảng danh
mục, cấp quyền người dùng, kết nối tới CSDL, thoát khỏi chương trình. Giao diện của
khối hệ thống có dạng menu như sau:

103
Hinh 4.3 Giao diện menu trong khối hệ thống

4.1.1.1. Giao diện đăng nhập hệ thống

Hinh 4.4 Giao diện đăng nhập hệ thống

104
4.1.1.2. Giao diện kết nối tới CSDL

Hinh 4.5 Thiết kế chi tiết các lớp trong ca sử dụng cập nhật danh mục dân tộc

4.1.1.2. Giao diện cập nhật danh mục


CËp nhËt danh môc

Danh s¸ch c¸c b¶ng danh môc

§¬n vÞ
§Æc thï ®¬n vÞ
Lo¹i h×nh ®¬n vÞ
CÊp häc
HÖ tr−êng
QuËn huyÖn Hµ Néi
Ng¹ch c«ng chøc
Lo¹i c¸n bé
D©n téc

Chän Tho¸t

Hinh 4.6 Giao diện cập nhật danh mục

4.1.1.1.3. Giao diện cập nhật danh mục đơn vị

105
Hinh 4.7 Giao diện cập nhật danh mục đơn vị

4.1.2. Khối tìm kiếm


Để tìm một nhân viên trong một vài đơn vị nào đó, ta chỉ cần thực hiện nhập tên
nhân viên cần tìm, hoặc đầy đủ hơn nhập thêm cả họ đệm của nhân viên. Sau đó chọn
các đơn vị có trong danh sách có sẵn để tìm nhân viên trong các đơn vị đó.

4.1.2.1.Giao diện tìm kiếm nhân viên

Hinh 4.8 Giao diện tìm kiếm nhân viên

Sau khi thực hiện nhập thông tin tìm kiếm xong, nhấn vào nút “Tìm kiếm”, ta sẽ
được kết quả tìm kiếm nhân viên như sau:

106
4.1.2.2. Giao diện kết quả tìm kiếm nhân viên

Hinh 4.9 Giao diện kết quả tìm kiếm nhân viên

4.1.3. Khối hồ sơ
Trong khối hồ sơ, chúng ta thực hiện các thao tác như cập nhật hồ sơ ban đầu
cho các nhân viên, thực hiện bổ sung, sửa đổi các thông tin liên quan tới hồ sơ của
nhân viên. Giao diện menu của khối hồ sơ có dạng

107
Hinh 4.10 Giao diện menu của khối hồ sơ

Để thực hiện các chức năng trong khối hồ sơ, chúng ta phải thực hiện khối tìm
kiếm để nhận được danh sách các nhân viên cần quản lý hồ sơ. Sau khi đã có

4.1.4. Khối quản lý nghiệp vụ


Người dùng chọn nhân viên từ kết quả tìm kiếm và thực hiện các chức năng
trong khối quản lý nghiệp vụ:

108
Hinh 4.11 Thiết kế chi tiết các lớp trong ca sử dụng cập nhật danh mục dân tộc

4.1.4.1. Giao diện quản lý quá trình tham gia LLVT

Hinh 3.19 Giao diện quản lý quá trình tham gia LLVT

109
KẾT LUẬN
Hệ thống quản lý nhân sự ngành giáo dục và đào tạo là một chương trình có ích
cho những người quản lý hồ sơ trong ngành. Hệ thống có khả năng quản lý các danh
mục liên quan tới hồ sơ giúp cho việc cập nhật cũng như sửa đổi các thông tin về hồ
sơ là hết sức dễ dàng và thuận tiện, đảm bảo tính đúng đắn của dữ liệu nhập vào. Điều
này là hết sức cần thiết do số lượng nhân viên trong ngành ngày một tăng, cơ sơ dữ
liệu dùng để lưu trữ hồ sơ vì thế cũng tăng theo. Để đảm bảo cho cơ sơ dữ liệu luôn
sống, các nhân viên đều có quyền bổ sung sửa đổi hồ sơ của mình. Ngoài ra hệ thống
còn giúp quản lý các hoạt động nghiệp vụ của ngành, các công việc hàng ngày của sở
giáo dục, các đơn vị, phòng, ban v.v. cùng với việc tạo ra các báo cáo liên quan đến
ngành.
Vào thời điểm cuối cùng, khóa luận đã đạt được một số kết quả như sau:

• Tạo ra mô hình phân tích & thiết kế cho hệ thống quản lý công chức ngành giáo
dục

• Hệ thống đã được triển khai theo cơ chế 2 lớp (2-tiers), dùng ngôn ngữ C# trên
nền .NET Framework để thực hiện chương trình; dùng hệ quản trị cơ sơ dữ liệu
PostgreSQL 8.0 để lưu trữ và quản lý dữ liệu của chương trình
Hạn chế:

• Giao diện chưa đủ để đáp ứng yêu cầu quản lý

• Triển khai trên CSDL nhỏ nên chưa đánh giá được tính phức tạp của hệ thống.

Hướng phát triển:

• Hoàn thiện phần phân tích thiết kế tốt hơn.

• Triển khai hệ thống với dữ liệu lớn.

• Tăng cường giao diện quản lý, giúp người dùng dễ dàng hơn trong việc sử
dụng.

• Tạo phần trợ giúp người dùng một cách cụ thể và chi tiết hơn.

110
TÀI LIỆU THAM KHẢO
[1] Graig Larman, Applying UML and Patterns. An Introduction to Object –
Oriented Analysis and Design. Prêntic Hall PTR, 1998 (ISSBN 0-13-748889-7).
[2] Nguyễn Văn Vỵ, Bài giảng Phân tích thiết kế hệ thống phần mềm theo
hướng đối tượng, Bộ môn công nghệ phần mềm, Đại học Công Nghệ, ĐHQGHN, Hà
nội, 2004.109 tr.
[3] Nguyễn Văn Vỵ, Vũ Diệu Hương, Nguyễn Anh Đức. (tài liệu dịch): Ngôn
ngữ mô hình hóa thống nhất. Hướng dãn sử dụng. Khoa Công Nghệ, ĐHQGHN, Hà
nội, 2002.361 tr.

111

You might also like