Tải bản đầy đủ (.doc) (24 trang)

Nghiên cứu xây dựng hệ thống hỗ trợ PCCT tuyển sinh vào lớp 10 THPT tại tỉnh Quảng Bình (TT)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (292.23 KB, 24 trang )

1
MỞ ĐẦU
1. Lý do chọn đề tài
- Việc PCCT vào lớp 10 THPT tại tỉnh Quảng Bình là một vấn
đề tuy cũ nhưng chưa có phần mềm nên dẫn đến tốn nhiều thời gian
và công sức, bên cạnh đó để đảm bảo quy chế, quy định là vấn đề hết
sức khó khăn.
- Việc ứng dụng công nghệ thông tin vào công tác quản lý giáo
dục hiện nay rất phổ biến.
- Nếu như có phần mềm PCCT vào lớp 10 THPT sẽ tiết kiệm
được rất nhiều chi phí, thời gian và nhân lực. Ngoài ra, nó còn giúp
tăng độ chính xác hiệu quả và đảm bảo tính khách quan.
2. Mục tiêu và nhiệm vụ nghiên cứu
2.1. Mục tiêu
Hoàn thành sản phẩm là một chương trình PCCT tuyển sinh
vào lớp 10 THPT tại tỉnh Quảng Bình.
Tiếp tục phát triển ứng dụng chương trình PCCT tuyển sinh
vào lớp 10 THPT trên toàn quốc.
2.2. Nhiệm vụ
Phân tích các đặc thù chung và riêng biệt, đề ra giải pháp hợp
lý một cách tự động trong việc xây dựng và triển khai hệ thống.
Nghiên cứu kết hợp các thuật toán để giải quyết bài toán
PCCT tuyển sinh vào lớp 10 THPT.
Xây dựng sản phẩm hoàn thiện sử dụng tại Sở GDĐT Quảng
Bình.
3. Phương pháp nghiên cứu
3.1. Tư liệu
2
Tổng hợp các tài liệu liên quan đến thuật toán, cũng như các
quy chế của Bộ GDĐT và quy định của Sở GDĐT Quảng Bình.
3.2. Phân tích


Phân tích quy chế, quy định từ đó xác định các yêu cầu của
từng đối tượng cụ thể.
3.3. Thực nghiệm
Xây dựng chương trình PCCT, ra quyết định thành lập các
HĐCT và xuất ra tệp Excel. Tổng hợp lại để theo dõi hệ thống.
4. Ý nghĩa khoa học và thực tiễn của đề tài
4.1. Về mặt lý thuyết
Đề tài nghiên cứu giúp hiểu rõ hơn các thuật toán.
4.2. Về mặt thực tiễn
Xây dựng một chương trình phục vụ nhu cầu thực hiện PCCT
tự động nhằm giảm thời gian và chi phí bằng tay như hiện nay.
5. Nội dung của luận văn
Luận văn được trình bày có 3 chương chính.
Chương 1. Bài toán PCCT tuyển sinh vào lớp 10 THPT tại
tỉnh Quảng Bình
Chương 2. Phân tích thiết kế hệ thống
Chương 3. Xây dựng chương trình và thử nghiệm
3
CHƯƠNG 1
BÀI TOÁN PCCT TUYỂN SINH VÀO LỚP 10 THPT
TẠI TỈNH QUẢNG BÌNH
1.1. GIỚI THIỆU
1.2. VẤN ĐỀ PCCT VÀO LỚP 10 THPT
1.2.1. Dùng phương pháp thủ công để PCCT tuyển sinh
vào lớp 10 THPT
1.2.2. Dùng phần mềm để PCCT tuyển sinh vào lớp 10
THPT
1.3. PCCT TUYỂN SINH VÀO LỚP 10 THPT
1.3.1. Giới thiệu bài toán
Bài toán bao gồm tất cả các vấn đề có liên quan đến việc

PCCT tuyển sinh vào lớp 10 THPT tại tỉnh Quảng Bình, chẳng hạn
GV một trường được chia ra nhiều nhóm và đi coi thi tại nhiều hội
đồng khác nhau, phân công sao cho tương ứng về số lượng, tránh
phân công một người nhiều việc tại nhiều hội đồng. CB, GV, nhân
viên của tất cả các đơn vị phải thực hiện nhiệm vụ coi thi theo quy
định trong bảng phân công, đảm bảo quy chế thi của Bộ GDĐT và
quy định của Sở GDĐT Quảng Bình. Vấn đề của bài toán là ngoài
việc thực hiện đúng, chính xác, còn phải tốt hơn, nhanh hơn và hiệu
quả hơn công việc phân công bằng tay mà chúng ta còn phải đảm
bảo các yêu cầu tương đương nhau về: Độ tuổi trung bình của các
hội đồng, giới tính (tỷ lệ nam nữ), khoảng cách ngắn nhất (GV coi
thi gần đơn vị công tác nhất); tỷ lệ GV THPT, THCS (điều động hết
GV THPT, còn lại điều động GV THCS, tỷ lệ GV tương đương
nhau); CB, GV không đến những đơn vị mà năm trước đã đến coi
thi, không đổi chéo GV coi thi giữa các trường … tại mỗi Hội đồng.
4
1.3.2. Phát biểu bài toán
Ngay khi vấn đề được đặt ra, chúng ta đã thấy bài toán phải
được giải quyết trên hai nền tảng cơ bản: nghiệp vụ và kỹ thuật. Để
tạo ra những sản phẩm phù hợp với thực tiễn, nhu cầu của ngành, của
bài toán PCCT tuyển sinh vào lớp 10 THPT tại tỉnh Quảng Bình, yêu
cầu dữ liệu của bài toán phải được hiển thị đầy đủ, không thiếu sót,
không bị sai lệch, hệ thống các ràng buộc của bài toán phải logic,
trùng khớp với nhau, không chồng chéo và phải phù hợp với yêu cầu
đề ra. Phần kỹ thuật cũng vậy, phải xử lý tất cả những yêu cầu chung
cũng như những yêu cầu riêng biệt từ các đối tượng gửi đến, chúng
được xem như là thành phần ràng buộc của bài toán, bắt buộc vấn đề
phải thỏa mãn và đáp ứng hoàn toàn. Vì vậy, tôi sẽ phân tích bài toán
trên hai thành phần đó.
1.3.3. Dữ liệu bài toán

a. Các đối tượng sử dụng
Các đối tượng chính yếu xung quanh mô hình phân công GT
coi thi tại các HĐCT chính là thành phần đầy đủ tính năng của
chương trình trong bài toán. Tất cả được liệt kê như sau: CB, GV;
Trường học; HĐCT; Phòng thi; Môn thi; Huyện thị; Khoảng cách
giữa các hội đồng.
b. Mối quan hệ giữa các đối tượng
Quyết định thành lập HĐCT là phần thể hiện mối quan hệ của
các đối tượng: HĐCT, CB, GV, nhân viên làm nhiệm vụ coi thi. Sau
này HĐCT đặt tại một điểm cụ thể với số lượng phòng thi cụ thể
tương ứng số lượng thí sinh dự thi cụ thể, gây phát sinh mới, tạo quan
hệ thứ hai giữa GT làm nhiệm vụ thi và phòng thi. Đó là mối quan hệ
cơ sở.
5
1.3.4. Các ràng buộc bài toán
+ Khoảng cách ngắn nhất (GV coi thi gần đơn vị công tác
nhất).
+ Tỷ lệ GV THPT, THCS.
+ CB, GV không đến những đơn vị mà năm trước đã coi thi.
+ Không đổi chéo GV coi thi.
+ GV coi thi không dạy cùng trường với CTHĐ coi thi.
+ Đảm bảo đủ về số lượng GT để CTHĐ phân công theo
nguyên tắc: hai GT trong một phòng thi phải là GV dạy khác trường;
GT không coi thi quá một môn đối với mỗi phòng thi; hai GT không
cùng coi thi quá một lần; GT trong phòng thi là những người không
dạy môn đang thi.
+ Không có CB, GV, nhân viên nào được phân công hai nhiệm
vụ cùng một lúc.
1.3.5. Các yêu cầu chức năng
a. Chức năng lưu trữ

b. Chức năng tra cứu
c. Chức năng tính toán
d. Chức năng chiết xuất
1.3.6. Các yêu cầu phi chức năng
- Giao diện đồ họa gần gũi, dễ sử dụng.
- Dữ liệu dạng Excel có thể trực tiếp truy xuất bằng chương
trình khác.
1.4. CÁC CÔNG CỤ HỖ TRỢ HIỆN TẠI
1.5. MỘT SỐ THUẬT TOÁN SỬ DỤNG ĐỂ GIẢI QUYẾT BÀI
TOÁN PCCT
1.5.1. Giới thiệu
6
Chúng tôi đã chọn kết hợp thuật toán cặp ghép và thuật toán
tham lam giải quyết bài toán PCCT tuyển sinh vào lớp 10 THPT.
1.5.2. Thuật toán cặp ghép
a. Các khái niệm
Ta gọi những cạnh trọng số 0 của G là những 0_cạnh. Xét một
bộ ghép M chỉ gồm những 0_cạnh.
- Những đỉnh thuộc M gọi là những đỉnh đã ghép, những đỉnh
còn lại gọi là những đỉnh chưa ghép.
- Những 0_cạnh thuộc M gọi là những 0_cạnh đã ghép, những
0_cạnh còn lại là những 0_ cạnh chưa ghép.
- Nếu ta định hướng lại các 0_cạnh như sau: Những 0_cạnh
chưa ghép cho hướng từ tập X sang tập Y, những 0_cạnh đã ghép
cho hướng từ tập Y về tập X.
- Đường pha (Alternating Path) là một đường đi cơ bản xuất
phát từ một X_đỉnh chưa ghép đi theo các 0_cạnh đã định hướng ở
trên.
- Một đường mở (Augmenting Path) là một đường pha đi từ
một X đỉnh chưa ghép tới một Y đỉnh chưa ghép.

b. Thuật toán Hungari (cặp ghép)
Bước 1: Khởi tạo:
Một bộ ghép M := Ø
Bước 2: Với mọi đỉnh x*

X, ta tìm cách ghép x* như sau:
Bắt đầu từ đỉnh x* chưa ghép, thử tìm đường mở bắt đầu ở x*
bằng thuật toán tìm kiếm trên đồ thị (BFS hoặc DFS - thông thường
nên dùng BFS để tìm đường qua ít cạnh nhất) có hai khả năng xảy ra:
- Hoặc tìm được đường mở thì dọc theo đường mở, ta loại bỏ
những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép,
7
ta được một bộ ghép mới nhiều hơn bộ ghép cũ 1 cạnh và đỉnh x* trở
thành đã ghép.
- Hoặc không tìm được đường mở thì do ta sử dụng thuật toán
tìm kiếm trên đồ thị nên có thể xác định được hai tập:
* VisitedX = {Tập những X_đỉnh có thể đến được từ x* bằng
một đường pha}
* VisitedY = {Tập những Y_đỉnh có thể đến được từ x* bằng
một đường pha}
Gọi Δ là trọng số nhỏ nhất của các cạnh nối giữa một đỉnh
thuộc VisitedX với một đỉnh không thuộc VisitedY. Dễ thấy Δ > 0
bởi nếu Δ = 0 thì tồn tại một 0_cạnh (x, y) với x

VisitedX và y

VisitedY. Vì x* đến được x bằng một đường pha và (x, y) là một
0_cạnh nên x* cũng đến được y bằng một đường pha, dẫn tới y



VisitedY, điều này vô lý.
Biến đổi đồ thị G như sau: Với

x

VisitedX, trừ Δ vào
trọng số những cạnh liên thuộc với x, Với

y

VisitedY, cộng Δ
vào trọng số những cạnh liên thuộc với y.
Lặp lại thủ tục tìm kiếm trên đồ thị thử tìm đường mở xuất
phát ở x* cho tới khi tìm ra đường mở.
Bước 3: Sau bước 2 thì mọi X_đỉnh đều được ghép, in kết quả
về bộ ghép tìm được.
Mô hình cài đặt của thuật toán Hungari có thể viết như sau:
<Khởi tạo: M := Ø…>;
for (x*

X) do
begin
repeat
8
<Tìm đường mở xuất phát ở x*>;
if <Không tìm thấy đường mở> then <Biến đổi đồ thị G: Chọn
Δ := …>;
until <Tìm thấy đường mở>;
<Dọc theo đường mở, loại bỏ những cạnh đã ghép khỏi M và
thêm vào M những cạnh chưa ghép>;

end;
<Kết quả>; [4]
c. Cài đặt thuật toán
- Sơ đồ cài đặt phương pháp Kuhn-Munkres
Bước 1: Khởi tạo
M := Ø;
Việc khởi tạo các Fx, Fy có thể có nhiều cách chẳng hạn
Fx[i] := 0; Fy[j] := 0 với ∀i, j. Hoặc: Fx[i] := min(c[i, j]) với i. Sau
đó đặt Fy[j] := min(c[i, j]  Fx[i]) với ∀j.
Bước 2: Với mọi đỉnh x*∈X, ta tìm cách ghép x* như sau:
Bắt đầu từ đỉnh x*, thử tìm đường mở bắt đầu ở x* bằng thuật
toán tìm kiếm trên đồ thị (BFS hoặc DFS). Lưu ý rằng 0_cạnh là
cạnh thoả mãn c[i, j] = Fx[i] + Fy[j]. Có hai khả năng xảy ra:
Hoặc tìm được đường mở thì dọc theo đường mở, ta loại bỏ
những cạnh đã ghép khỏi M và thêm vào M những cạnh chưa ghép.
Hoặc không tìm được đường mở thì xác định được hai tập:
- VisitedX = {Tập những X_đỉnh có thể đến được từ x* bằng
một đường pha}
- VisitedY = {Tập những Y_đỉnh có thể đến được từ x* bằng
một đường pha}
9
Đặt ∆ := min{c[i, j] - Fx[i] - Fy[j] X[i] ∈ VisitedX; Y[j]
∈ VisitedY}
Với X[i] ∈VisitedX: Fx[i] := Fx[i] + ∆;
Với Y[j] ∈ VisitedY: Fy[j] := Fy[j] - ∆;
Lặp lại thủ tục tìm đường mở xuất phát tại x* cho tới khi tìm
ra đường mở.
1.5.3. Thuật toán tham lam
a. Khái niệm
Thuật toán tham lam (Greedy algorithm) nhằm giải quyết một

bài toán theo kiểu metaheuristic để tìm kiếm lựa chọn tối ưu địa
phương ở mỗi bước đi với hy vọng tìm được tối ưu toàn cục.
Tính chất lựa chọn tham lam
Chúng ta có thể lựa chọn giải pháp nào được cho là tốt nhất ở
thời điểm hiện tại và sau đó giải bài toán con nảy sinh từ việc thực
hiện lựa chọn vừa rồi. Lựa chọn của thuật toán tham lam có thể phụ
thuộc vào các lựa chọn trước đó. Nhưng nó không thể phụ thuộc vào
một lựa chọn nào trong tương lai hay phụ thuộc vào lời giải của các
bài toán con. Thuật toán tiến triển theo kiểu thực hiện các chọn lựa
theo một vòng lặp, cùng lúc đó thu nhỏ bài toán đã cho về một bài
toán con nhỏ hơn.
b. Thuật toán
Cấu trúc tổng quát của thuật toán
Thamlam(C:tập hợp các ứng cử viên)
//hàm trả về giải pháp tối ưu, gồm các ứng cử viên
Begin
S = Ø //S là giải pháp tối ưu
10
While ( C

Ø và S chưa là giải pháp) do
X = chọn( C) // chọn x từ tập c theo tiêu chí của hàm chọn
C = C – {x}
If (S

{x} có triển vọng là giải pháp) then S:=S

{x}
Endif
Endwhile

if (S là lời giải) then return S
else return 0
endif
end [1]
1.6. TỔNG KẾT CHƯƠNG 1
Từ hiện trạng của bài toán PCCT tuyển sinh vào lớp 10 THPT
tại tỉnh Quảng Bình nói riêng, và bài toán PCCT nói chung, đã cho
chúng ta thấy được: Hiện nay, Công nghệ Thông tin đang trên đà
phát triển rất mạnh và đã ứng dụng nhiều vào trong cuộc sống,
nhưng vẫn chưa có phần mềm nào hay thuật toán nào tối ưu để giải
quyết bài toán PCCT cho các HĐCT nói chung và PCCT tuyển sinh
vào lớp 10 THPT tại tỉnh Quảng Bình nói riêng. Vì vậy, tôi chọn kết
hợp thuật toán cặp ghép và thuật toán tham lam giải quyết bài toán
PCCT tuyển sinh vào lớp 10 THPT tại tỉnh Quảng Bình.
11
CHƯƠNG 2
PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1. BIỂU ĐỒ CA SỬ DỤNG
2.2.1. Mức 1 (Tổng quát hóa)
Hình 2.1. Usecase Tổng quát hóa
2.2.2. Mức 2 (Chi tiết từng Usecase)
2.2.3. Biểu đồ tuần tự
2.2.4. Biểu đồ hoạt động
2.2.4. Biểu đồ hoạt động
2.2.5. Biểu đồ trạng thái đối tượng GV
2.3. THIẾT KẾ CƠ SỞ DỮ LIỆU
Lớp CSDL chính là các bảng dữ liệu được xây dựng bằng hệ
quản trị CSDL MS SQL Server 2005.
Sau đây là cách xây dựng các bảng dữ liệu cùng với các thuộc
tính của chúng:

12
2.3.1. Bảng Người dùng
2.3.2. Bảng GV
2.3.3. Bảng Hội đồng
2.3.4. Bảng Khoảng cách
2.3.5. Bảng Loại GV
2.3.6. Bảng Loại GT
2.3.7. Bảng Huyện
2.3.8. Bảng Phòng thi
2.3.9. Bảng Trường học
2.3.10. Sơ đồ quan hệ giữa các bảng
Hình 2.15. Sơ đồ quan hệ giữa các bảng
13
2.4. TỔNG KẾT CHƯƠNG 2
Trong chương này, tôi đã trình bày quá trình sử dụng ngôn
ngữ UML để phân tích và thiết kế CSDL cho hệ thống phần mềm.
Nội dung chính của chương trình này là trình bày các usecase và các
luồng thao tác của các usecase đó. Ngoài ra, chương này còn trình
bày thiết kế các bảng dữ liệu từ các đối tượng tham gia trong hệ
thống và mối quan hệ giữa các bảng.
14
CHƯƠNG 3
XÂY DỰNG CHƯƠNG TRÌNH VÀ THỬ NGHIỆM
3.1. THIẾT KẾ CHI TIẾT CÁC THUẬT TOÁN
3.1.1. Quản lý PCCT
Quy chế về việc PCCT THPT do Bộ Giáo dục và Đào tạo ban
hành chỉ nêu rõ các bước triển khai và yêu cầu chung từng bước. Tuy
nhiên, việc triển khai PCCT THPT tại mỗi tỉnh lại có từng đặc thù
khác nhau nên việc áp dụng quy chế của Bộ Giáo dục và Đào tạo
mỗi nơi một khác. Vì vậy, tại Việt Nam mỗi tỉnh lại có quy định

PCCT khác nhau không tỉnh nào giống tỉnh nào.
3.1.2. Giải pháp chính cho bài toán PCCT
Việc PCCT lớp 10 THPT tỉnh Quảng Bình có những đặc thù
rất riêng biệt và rất khác so với các tỉnh khác trên toàn quốc. Vì vậy,
để giải quyết này cần phải có mô hình và giải pháp riêng.
Trước hết, dùng thuật toán cặp ghép để phân công CT, PCT và
TK hội đồng. Sau đó, tiếp tục dùng giải thuật cặp ghép để chọn các
cặp GV - HĐCT thỏa mãn các yêu cầu theo quy chế. Sau đó dùng
thuật toán tham lam đồng thời kiểm tra các yêu cầu của những GV
còn lại nhằm thỏa mãn các ràng buộc của bài toán PCCT, để cho ra
danh sách PCCT thô và tinh chỉnh để xuất ra tệp Excel, pdf ( hình
3.2).
15
Hình 3.2. Giải pháp cho bài toán PCCT.
Yêu cầu của
GV
Bảng danh sách GV
Dùng thuật toán Cặp ghép để ghép từng cặp Nhóm GV –
Hội đồng để phân công GT, đồng thời kiểm tra yêu cầu của
GV
Danh sách PCCT chưa hoàn chỉnh
Dùng thuật toán Tham lam để phân công cho các GV
còn lại, đồng thời kiểm tra các ràng buộc của các GV
này
Danh sách phân công tương đối hoàn
chỉnh
Danh sách phân công tốt nhât dưới dạng bảng
Tinh chỉnh bằng tay
Xuất dữ liệu ra Excel, xuất danh sách theo trường và
theo từng hội đồng

Đúng
Sai
Dùng thuật toán Cặp ghép để ghép từng cặp GV – Hội đồng để
phân công CTHĐ
Dùng thuật toán Cặp ghép để ghép từng GV – Hội đồng để
phân công Phó CTHĐ
Dùng thuật toán Cặp ghép để ghép từng GV – Hội đồng để
phân công TK Hội đồng
16
3.1.3. Kết hợp thuật toán cặp ghép và tham lam trong bài
toán PCCT
a. Thuật toán cặp ghép
Từ bảng danh sách GV, sau khi phân công CT, PCT và TK
Hội đồng, ta lọc những GV còn lại, đồng thời chúng ta kiểm tra các
ràng buộc nếu thỏa mãn ta dùng thuật toán cặp ghép PCCT cho
những GV này. Thuật toán được mô tả qua hình 3.3.
Hình 3.3. Thuật toán cặp ghép PCCT
Khởi tạo dữ liệu
Tìm đường mở có
trong số = min
Tìm
thấy
Mở rộng đường
mở
Hoàn
tất ?
Đúng
Sai
Kết thúc
Đúng

Biến đổi trọng số
Sai
Bắt
đầu
17
b. Xây dựng bộ ghép đầy đủ
Áp dụng thuật toán cặp ghép để chọn ra nhóm cặp GV thỏa
mãn các yêu cầu ràng buộc của bài toán PCCT nhằm xây dựng được
bộ ghép đầy đủ cho những GV này được mô tả qua hình 3.4.
Hình 3.4. Sơ đồ ghép cặp GV có tổng số khoảng cách di chuyển ngắn nhất.
Nhóm GV1
trường A

Nhóm GV2
trường A
Nhóm GV1
trường B

Nhóm GV2
trường B
Nhóm GV1
trường B

Nhóm GV2
trường B
Hội đồng 1
Danh sách Hội đồng
Hội đồng 2
Hội đồng 3


Hội đồng 4
Danh sách GV
18
c. Thuật toán tham lam
Sau khi áp dụng thuật toán cặp ghép phân công coi thi cho
những nhóm GV có khoảng cách di chuyển ngắn nhất, chúng ta áp
dụng thuật toán tham lam để giải quyết các GV còn lại, cho ra được
một danh sách coi thi thô của toàn trường được mô tả qua hình 3.5.
Hình 3.5 thể hiện việc ứng dụng thuật toán tham lam để phân
công coi cho những nhóm GV trong một trường có tổng GV nhỏ hơn
5. Lựa chọn tham lam trong trường hợp này là tập các GV trong một
trường có số lượng chưa xét nhỏ hơn 5, ta sắp xếp theo chiều giảm
dần của số lượng, đồng thời giải quyết tất cả các trường này và cho
ra được danh sách PCCT dưới dạng bảng.
Sau bước này ta có thể sử dụng các chức năng tinh chỉnh nhằm tạo ra
một danh sách coi thi tốt nhất dưới dạng bảng, tại đây ta sẽ xuất ra
tệp Excel.
3.2. THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
3.2.1. Phân công tự động hoàn toàn
Nếu không có lỗi dữ liệu đầu vào thì phần mềm sẽ tiến hành
PCCT cho toàn bộ các hội đồng trong thời gian một vài phút.
3.2.2.Tinh chỉnh dữ liệu của các GV tham gia
Do không thể tự động đánh giá các GV bị thay đổi dữ liệu này
là tốt lên hay xấu đi, yêu cầu bắt buộc phải có của một lệnh tinh
chỉnh dữ liệu là cho phép người dùng quan sát các thay đổi trước và
sau khi thực hiện lệnh tinh chỉnh của các GV trung gian. Người
PCCT quan sát và quyết định cuối cùng xem có thực hiện thao tác
tinh chỉnh đó không.
19
3.2.3. Cách thức tinh chỉnh thủ công PCCT lớp 10 THPT

Sau khi phần mềm phân công tự động xong, chúng ta xem kết
quả phân công từ bảng thống kê số lượng GT theo từng hội đồng.
Từ bảng thống kê này chúng ta có thể thấy hội đồng nào thiếu
GT. Đó là căn cứ để ta tinh chỉnh cho phù hợp. Để tinh chỉnh thủ
công, chúng ta vào chức năng phân công thủ công.
Hình 3.5. Thuật toán tham lam PCCT cho nhóm GV của 1 trường
có số GV nhỏ hơn 5.
Tìm nhóm GV M1 ở trường L1 mà sogiaovien(M1,L1) ≤ 4
Tìm
thấy
Sai
Đúng
Tìm Hội đồng sao cho sao cho
sogiaovien(M1,L1)≤hoidongt
hieu() và
sogiaovien(M1,L1) thỏa yêu
cầu.
Tìm
thấy
Ghép xen kẽ nhóm GV vào
danh sách coi thi.
Đúng
S
ai
Bắt
đầu
Kết
thúc
Sai
Đúng

20
3.2.4. Thử nghiệm thực tế với dữ liệu kỳ thi tuyển sinh vào
lớp 10 THPT.
3.2.5. Đánh giá phần mềm
a. Cách đánh giá
Căn cứ vào các tiêu chí về ràng buộc bài toán chúng tối có
bảng đánh giá như sau:
TT Tiêu chí ràng buộc Kết quả
1
Thực hiện đúng, chính xác, còn phải tốt hơn,
nhanh hơn và hiệu quả hơn công việc phân công
bằng tay
Đạt
2
Khoảng cách ngắn nhất (GV coi thi gần đơn vị
công tác nhất)
Đạt
3 Tỷ lệ GV THPT, THCS Đạt
4
CB, GV không đến những đơn vị mà năm trước
đã đến coi thi
Đạt
5 Không đổi chéo GV coi thi Đạt
6
GV coi thi không dạy cùng trường với CTHĐ coi
thi
Đạt
7 Số lượng GV trùng môn < ½ số lượng phòng thi Đạt
8
Hội đồng tới coi thi khác huyện với trường đang

công tác
Đạt
9 Mỗi hội đồng phải có một PCT, TK sở tại Đạt
10
Nếu hội đồng có nhiều hơn một TK thì hội đồng
đó phải có một TK sở tại
Đạt
21
b. Khả năng áp dụng
Phần mềm PCCT đã được kiểm thử rất nhiều lần và đã triển
khai áp dụng PCCT cho kỳ thi tuyển sinh vào lớp 10 THPT tại tỉnh
Quảng Bình năm 2013 với kết quả kỳ thi diễn ra thành công tốt đẹp.
Hơn nữa có thể sử dụng phần mềm này vào PCCT cho các kỳ thi Tốt
nghiệp trung học phổ thông, các kỳ thi chọn học sinh giỏi, kiểm tra
khảo sát chất lượng giáo dục trên toàn tỉnh, thi tốt nghiệp nghề phổ
thông, thi tuyển công chức,
3.3. TỔNG KẾT CHƯƠNG 3
Trong chương này, chúng tôi đã phân tích chi tiết bài toán
PCCT lớp 10 THPT; thể hiện được giải pháp chính của bài toán, ứng
dụng thuật toán cặp ghép và thuật toán tham lam trong khi giải quyết
bài toán. Sử dụng bộ dữ liệu thực của tỉnh Quảng Bình trong việc
PCCT lớp 10 THPT làm dữ liệu cơ sở để minh họa cho bài toán,
đồng thời đưa ra được một số chức năng tinh chỉnh thủ công và đã
giải quyết tốt hơn bài toán PCCT.
22
KẾT LUẬN
1. Kết quả đạt được
Qua đề tài về "Nghiên cứu xây dựng hệ thống hỗ trợ PCCT
tuyển sinh vào lớp 10 THPT tại tỉnh Quảng Bình", tôi đã tìm hiểu,
nghiên cứu và đạt được một số kết quả như sau:

Đã nghiên cứu, tìm hiểu bài toán một cách đầy đủ, toàn diện
về nội dung; đã phân tích, thiết kế hệ thống và xây dựng cơ sở dữ
liệu đáp ứng tốt các yêu cầu của bài toán.
Kết hợp thuật toán cặp ghép và thuật toán tham lam vào việc
giải quyết bài toán PCCT là khâu đột phá ban đầu cho việc Tin học
hóa toàn bộ việc PCCT tại tỉnh Quảng Bình và có thể ứng dụng cho
các đơn vị trên toàn quốc; cho ra được một sản phẩm PCCT tương
đối tốt với nhiều tính năng nổi trội:
Việc cập nhật, xử lý dữ liệu nhanh với tốc độ gần như tức thời.
Thông tin được thể hiện trên màn hình một cách hợp lý, cho phép
người dùng quan sát từng bước tác nghiệp.
Chương trình đã xử lý được các kỹ thuật đặc thù của việc
PCCT; Phần mềm xếp tự động hoàn toàn, dữ liệu đáp ứng hầu hết
các ràng buộc thông thường của việc PCCT.
Phần mềm đã đưa ra được công cụ tinh chỉnh hợp lý như xếp
tay, chuyển đổi công tác, nhiệm vụ của CT, PCT, TK và GT; Các
công cụ này hoàn toàn được thực hiện bằng các thao tác như chuột,
bàn phím rất đơn giản, thuận tiện với người dùng.
Toàn bộ các module của chương trình được viết bằng ngôn
ngữ C# có giao diện thân thiện với người dùng và toàn bộ hệ thống
thực đơn, giao diện là Tiếng Việt.
23
Phần mềm đã được kiểm nghiệm qua thực tế kỳ thi tuyển sinh
vào lớp 10 THPT năm học 2013-2014, đã được ban tổ chức hội thi
sáng tạo kỹ thuật tỉnh Quảng Bình lần thứ V (2012-2013) công nhận
đạt giải Ba theo Quyết định số 130/QĐ-HTSTKT ngày 15 tháng 10
năm 2013 của Ban tổ chức chức hội thi (Phụ lục 1).
2. Hạn chế
Phần mềm khi đưa vào áp dụng vào thực tế còn các tồn tại như
sau:

- Tính độc lập chưa cao.
- Phạm vi quản lý còn hạn chế.
- Giao diện đơn giản, chưa có tính chuyên nghiệp.
- Một số tương tác khi người dùng nhập dữ liệu vào form xử lý
chưa tốt.
- Chương trình chỉ tương tác được với hệ quản trị MS SQL
Server 2005, không có khả năng support các hệ quản trị dữ liệu khác
như Oracle, MySQL…
3. Hướng phát triển
Trên cơ sở những mặt còn hạn chế đã trình bày, xin đưa ra một
số định hướng phát triển luận văn sau này:
Sau phần nghiên cứu trong luận văn, tôi sẽ đi vào nghiên cứu,
tìm hiểu giải pháp tốt hơn, nhằm tối ưu hóa bài toán PCCT tuyển
sinh vào lớp 10 THPT tại tỉnh Quảng Bình, đồng thời chia sẽ ứng
dụng trên mạng Internet. Các máy trạm được kết nối trực tuyến với
dữ liệu và hệ thống cho phép nhiều người dùng cùng một lúc truy
nhập và làm việc với dữ liệu PCCT sẽ làm tăng chức năng hỗ trợ
PCCT cho nhiều người dùng.
24
Mô hình PCCT tích hợp hoàn toàn trên Web; phần dữ liệu
chính của chương trình tích hợp với Chương trình PCCT tại các
HĐCT được cài đặt trên mạng Intranet/Internet cho phép toàn bộ hệ
thống được kết nối với các máy tính trên phạm vi lớn. Dữ liệu PCCT
được kết nối với Server và cho phép nhiều người dùng cùng thao tác
và điều khiển dữ liệu.
Tóm lại, với đề tài luận văn "Nghiên cứu xây dựng hệ thống
hỗ trợ PCCT tuyển sinh vào lớp 10 THPT tại tỉnh Quảng Bình" chỉ là
bước khởi đầu của việc triển khai ứng dụng trong công việc hỗ trợ,
xếp và quản lý PCCT.

×