MỞ ĐẦU
Từ năm 1995 Trường Đại học Thủy sản bắt đầu tổ chức đào tạo theo học chế học
phần triệt để (còn gọi là học chế tín chỉ). Phần mềm “HỆ THỐNG CHƯƠNG TRÌNH
QUẢN LÝ HỆ TÍN CHỈ” do tác giả Thạc sỹ Võ Tấn Quân – ĐKBK Tp. Hồ Chí Minh
được dùng để phục vụ cho việc tổ chức đào tạo và quản lý sinh viên theo học chế tín
chỉ. Phần mềm này được viết hoạt động ở môi trường DOS với phiên bản FOXPRO
LAN 2.6. Chương trình được khai thác trên mạng Novell NetWare hay Windows NT.
Qua hơn 8 năm hoạt động, chương trình luôn được cập nhập thay đổi nhằm phù
hợp với sự phát triển của nhà trường và sự thay đổi của quy chế quản lý. Đến nay việc
chuyển đổi phần mềm hoạt động ở môi trường Windows là việc làm cấp thiết.
Dựa trên sườn đã có, lấy lại toàn bộ cấu trúc dữ liệu DBF và do công việc hằng
ngày đòi hỏi tôi mạnh dạn viết phần mềm “CHƯƠNG TRÌNH QUẢN LÝ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC THỦY SẢN” hoạt động ở môi trường Windows 98, Windows
2000, WindowsXP với ngôn ngữ Visual FoxPro 7.0 for Windows. Chương trình này
vẫn đang tiếp tục phát triển và hoàn chỉnh từng phần.
Tôi xin bày tỏ lòng biết ơn sâu sắc về những sự giúp đỡ quý báu đó.
Vì trình độ, kinh nghiệm thực tế và thời gian có hạn nên việc thực hiện chương
trình gặp rất nhiều khó khăn, chương trình chắc chắn còn rất nhiều thiếu sót, rất mong
nhận được sự chỉ bảo, góp ý của các Thầy, các bạn đồng nghiệp và những người có
quan tâm đến vấn đề này.
Chương I
Mô tả chung các
phân hệ của hệ thống
I/ Các vấn đề chung :
1) Đặc điểm chính của chương trình :
Chương trình có đặc điểm chính như sau :
• Sử dụng trên mạng cục bộ (Mạng ngang hàng, Mạng Netware, Mạng
Windows NT, Mạng Windows 2000…), đảm bảo sự khai thác thông tin của
mọi đối tượng, kể cả sinh viên (nếu cần).
• Tích hợp tất cả các dữ liệu quản lý đào tạo chung trong một cơ sở dữ liệu,
bảo đảm tính nhất quán, không trùng lặp dữ liệu.
Font TCVN3 - ABC, driver của môi trường Windows, vì vậy in được trên tất cả
các loại máy in.
5) Máy tính đơn và mạng máy tính :
Chương trình có thể vận hành trên máy đơn hoặc trên môi trường mạng.
Có thể dùng mạng nội bộ Windows 2000, Windows NT hoặc mạng ngang hàng.
Cần phải phân quyền cho các user và khai thác chương trình trên mạng nội bộ
(LAN).
II/ Các phân hệ của hệ thống :
Có tổng cộng 12 phân hệ trong hệ thống (Hình 1) :
STT Phân Hệ Viết Tắt
Mã Phân Hệ
1
Quản Lý Sinh Viên
S
QLSV
2
Quản Lý CBCNV
N
QLNS
3
Quản Lý Điểm
D
DIEM
4
Học Bổng và Miễn Giảm Học
Phí
B
HBHP
5
Xếp Thời Khóa Biểu
Ngoài ra còn có phân hệ Hệ Thống Quản Lý (HTQL), chữ viết tắt là H, phân hệ
này không có dữ liệu của người sử dụng, chỉ chứa các thông tin chung của toàn hệ
thống.
Phân hệ Thông Tin Phục Vụ Lãnh Đạo cũng không có dữ liệu riêng của người sử
dụng, phân hệ này tham khảo dữ liệu từ tất cả các phân hệ khác.
Hình 1 : Các phân hệ trong hệ thống.
1) Nhiệm vụ chung của từng phân hệ :
Như tên gọi của các phân hệ, các nhiệm vụ chính của các phân hệ có thể tóm tắt
như sau :
1.1. Quản Lý Sinh Viên (QLSV) :
Quản lý danh sách sinh viên & lý lòch sinh viên. Cập nhật danh sách sinh viên &
lý lòch trích ngang theo thời gian thực.
Thống kê, tổng hợp danh sách sinh viên.
Tìm kiếm, khai thác dữ liệu sinh viên.
In các biểu mẫu về quản lý sinh viên.
Cung cấp dữ liệu cho các phân hệ : quản lý điểm, đăng ký môn học, học bổng
học phí.
Có các tiện ích kiểm tra số liệu nhập.
Quản lý Sinh viên
Quản lý Nhân sự
Đăng ký Môn học Quản lý Phòng học
Quản lý Điểm Quản lý Tài vụ
Xếp Thời khóa biểu
Chương trình Đào tạo
KLượng Giảng dạy TTin phục vụ LĐạoHọc bổng & Miễn giảm HPhí
Tuyển sinh
Quản lý sinh viên nhiều hệ đào tạo khác nhau trong cùng một cớ sở dữ liệu.
Quan tâm đến đặc thù của học sinh tạm dừng.
Lưu trữ tất cá các biến động về danh sách sinh viên, tiện cho việc thống kê só số,
thống kê tình trạng biến động só số…
phân loại khác nhau của từng loại qui chế.
Tính tự động các loại điểm trung bình khác nhau tùy theo hệ đào tạo:
Điểm trung bình năm học, điểm trung bình giai đoạn, điểm trung bình học bồng,
điểm trung bình lần 1, điểm trung bình cao…
Xét nợ học phần, xét tạm dừng, buộc thôi học cho từng học kỳ, từng năm
học, từng giai đoạn đúng với qui chế hiện hành.
Xét đạt / không đạt các tiêu chuẩn hoàn thành các giai đoạn của các
hệ/ngành khác nhau. (Tiêu chuẩn do người quản trò thiết lập động theo qui chế
từng thời điểm xét).
In các biểu mẫu quản lý điểm. (Đặc biệt các bảng điểm ra trường, các
bảng điểm lưu tại phòng Đào tạo có thể in dạng nhiều cột).
Thiết lập lòch thi lại cho sinh viên các môn học không đạt (danh sách,
phòng thi, nhập điểm…).
Thiết lập lòch thi giữa học kỳ cho sinh viên các môn học của học kỳ (danh
sách, phòng thi, nhập điểm ).
Thiết lập lòch thi cuối học kỳ cho sinh viên các môn học của học kỳ (danh
sách, phòng thi, nhập điểm).
Cho phép tổ chức thi học kỳ, thi giữa học kỳ nhiều đợt thời gian khác nhau
trong một học kỳ.
Khóa sổ nhập liệu điểm ở những thời điểm thích hợp để giữ mức tin cậy
số liệu điểm ở mức cao.
So sánh sự khác biệt về điểm của tất cả sinh viên (theo học kỳ) ở thời
điểm bất kỳ với dữ liệu đã lưu trước đó để giữ mức tin cậy số liệu điểm ở mức
cao.
Có các tiện ích kiểm tra số liệu nhập.
Tìm kiếm, khai thác số liệu về điểm thi.
Cung cấp số liệu cho phân hệ học bổng, học phí.
1.4. Học Bổng và Miễn Giảm Học Phí (HBHP) :
Phân phối, cập nhật, quản lý học bổng khuyến khích, học bổng chính sách,
học bổng trợ cấp xã hội, học bổng ưu đãi.
học phí của sinh viên.
In các hóa đơn học phí cho sinh viên.
In theo dõi học phí của từng sinh viên cho toàn khóa học.
Theo dõi các khoản thu chi khác liên quan đến học phí: Hoàn học phí, hủy hóa
đơn, xóa nợ học phí.
In các biểu tổng hợp về đóng học phí, danh sách SV chưa đóng học phí.
Thống kê, tổng hợp số liệu học phí.
Tìm kiếm, khai thác số liệu học phí.
Khóa sổ nhập liệu học phí (theo học kỳ) ở những thời điểm thích hợp để giữ mức
tin cậy số liệu quản lý ở mức cao.
1.8. Quản Lý Chương Trình Đào Tạo (CTDT) :
Cập nhật, sửa đổi, quản lý chương trình đào tạo chung, chương trình đào
tạo từng học kỳ của các ngành học.
Lưu trữ chương trình đào tạo chung từng hệ/ngành, chương trình quản lý
đào tạo dự kiến từng khối lớp khác nhau, chương trình đào tạo thực sự vận hành
của các khối lớp. So sánh tiến độ thực hiện …
Quản lý chương trình đào tạo ở 3 mức: (1) chương trình đào tạo chung từng
hệ/ngành, (2) chương trình quản lý đào tạo dự kiến từng khối lớp khác nhau, (3)
chương trình đào tạo thực sự vận hành của các khối lớp.
Cập nhật và theo dõi lòch học vụ (từng tuần) cho các khối lớp.
In các biểu mẫu quản lý chương trình đào tạo.
Quản lý các thuộc tính của các môn học (tín chỉ, môn học tiên quyết, song
hành, mức học phí ).
Tìm kiếm, khai thác số liệu của chương trình đào tạo.
Có các tiện ích kiểm tra số liệu nhập.
Cung cấp thông tin về CTDT, về lòch học vụ hàng tuần cho các phân hệ
điểm, xếp thời khóa biểu, đăng ký môn học, khối lượng giảng dạy.
Quản lý các tiêu chuẩn xét tốt nghiệp, tiêu chuẩn xét hoàn thành giai
đoạn, tiêu chuẩn xét chứng chỉ quốc gia.
Quản lý biểu đồ giảng dạy và học tập của các khối lớp.
Đánh số báo danh, tạo phách, nhập điểm, hồi phách.
Thống kê để xét điểm chuẩn & Xét tuyển.
Quản lý chấm phúc tra.
Quản lý danh sách trúng tuyển.
Tìm kiếm, trích lọc, in các biểu liệt kê, thống kê.
1.12. Thông Tin Phục Vụ Lãnh Đạo (PVLD) :
Tìm kiếm, trích lọc, in các biểu liệt kê, thống kê các thông tin từ các phân hệ theo
quyền hạn của từng cá nhân (CBGD, sinh viên, nhân viên phòng ban ). Chẳng hạn
sinh viên có thể biết đïc các thông tin: điểm, đăng ký môn học, học bổng, học phí,
thời khóa biểu của chính mình, CBGD có thể biết được thông tin: khối lượng giảng dạy,
thời khóa biểu của chính mình
2) Ý nghóa của các chữ viết tắt từng phân hệ :
Mỗi phân hệ đều có một tên tắt và một ký tự viết tắt (Ví dụ Phân hệ quản lý sinh
viên có tên tắt là QLSV có ký tự viết tắt là S ). Ý nghóa của chúng như sau :
Tên tắt để đặt tên cho thư mục tương ứng của các phân hệ và sử dụng trong khi
lập trình.
Ký tự viết tắt dùng làm chữ bắt đầu của các file chương trình và file dữ liệu của
các phân hệ. (Ví dụ các file chương trình & file dữ liệu của phân hệ quản lý sinh viên
đều bắt đầu bằng chữ S).
3) Tổ chức thư mục của hệ thống :
3.1. Tổ chức chung của cây thư mục :
DBF Chứa dữ liệu.
VFW Chứa chương trình.
BMP Chứa các file hình ảnh của QLSV và QLNS.
3.2. Tổ chức nhánh thư mục DBF :
DBF CHNG
Dữ liệu chung của đơn vò
USER
Dữ liệu riêng của Users
FMEM
Chèn thêm dòng sau đây (hoặc tăng thêm số file mở nếu đã có)
files=200
Nếu sử dụng Windows 2000 hoặc Windows XP : Chèn files=200 vào file
config.NT trong Windows\System32\
2) Thư mục làm việc của người sử dụng :
Mỗi user cần tạo một thư mục làm việc trên máy đơn hoặc trên server.
Ở một thời điểm, mỗi thư mục làm việc chỉ được sử dụng bởi nhiều nhất 1 user.
Thư mục làm việc nên có tên chính là username.
Thư mục làm việc chỉ chứa các
file trung gian khi làm việc, không
chứa các file kết quả hoặc các file
dữ liệu riêng của người dùng.
3) SHORTCUT chạy chương
trình :
Từ Desktop của Windows tạo
SHORTCUT có properties như sau :
(Hình 2)
Target : "C:\Program Files\Microsoft Visual FoxPro 7\vfp7.exe" -c
d:\DHTS\vfw\htql\config.fpw -t d:\DHTS\vfw\htql\hmenu.fxp
Start in : d:\anh\
Thư mục làm việc của người sử dụng.
4) Đăng nhập hệ thống :
Mỗi user đều có một mật khẩu riêng để thâm nhập chương trình.
Có hai mức mật khẩu, hai mật khẩu này không nhất thiết phải giống nhau :
- Mật khẩu mạng cục bộ (LAN)
- Mật khẩu chương trình (Hình 3).
Khi đăng nhập vào hệ thống, user phải trả lời đúng mật khẩu mới được khai thác.
Để bảo đảm mật khẩu không bò lộ, người sử dụng nên thay đổi mật khẩu một
cách đònh kỳ.
Chức năng này thực hiện khi phát hiện hệ thống chạy không đúng đắn, dẫn đến
các kết quả sai lệch hoặc báo lỗi “Record is out of range”.
Các file DBF trong hệ thống được thực hiện index bằng loại file compound index
CDX.
File index cdx giúp chương trình xử lý, tình toán, tìm kiếm nhanh hơn rất nhiều
lần. Tuy nhiên nếu file cdx bò hư, việc xử lý sẽ có nhiều khả năng rối loạn và sai.
Việc mất index (do hư file cdx) thông thường chỉ xảy ra do sự cố mất điện đột
xuất trong lúc đang ghi file, do thay đổi cấu trúc file ngoài chương trình, do chép một
file từ đóa lưu trữ vào đóa làm việc mà không kèm theo file index CDX, v.v
Công việc Reindex là vô hại cho hệ thống nhưng chỉ thực hiện được nếu trên
mạng không có ai đang sử dụng chương trình. Khi cần reindex (hoặc cần bảo trì chương
trình), quản trò viên hãy yêu cầu tất cả người sử dụng ngưng sử dụng chương trình.
Trong trường hợp này quản trò viên cần chạy chức năng REINDEX để index lại
các file DBF.
Nói chung khi mất index, hệ thống có thể sẽ còn một số báo lỗi khác nữa không
thể tiên liệu hết trong mọi tình huống (Ví dụ Variables not found, v.v ). Chức năng
Reindex là một chức năng vô hại, khi cần thiết có thể dùng nó như một cách để thử
khắc phục một số lỗi thông thường hoặc lỗi chưa tìm ra nguyên nhân.
Too Many Files Open :
Lổi này do file config gán giá trò file quá nhỏ hơn nhu cầu của hệ thống.
Thêm dòng lệnh files=200 trong config.sys (hoặc tăng số file thành 200 nếu đã
có). Nếu sử dụng Windows 2000 hoặc Windows XP : Chèn files=200 vào file
config.NT trong Windows\System32\
Too many memory variables :
Lỗi này được gây ra bởi foxpro không tham chiếu đến dòng lệnh: mvcount=1200
trong file config.fpw (lưu trong \VFW\HTQL)
Để foxpro có thể tham chiếu đến file config.fpw này, cần phải chạy lệnh sau đây
ở cửa sổ lệnh : set foxprocfg=d:\DHTS\vfw\htql\config.fpw
(Giả sử d:\DHTS là thư mục của hệ thống)
Source not available/Source is out of date :
Một phân hệ có thể cử 1 hoặc nhiều quản trò viên tùy theo qui mô dữ liệu.
Một user cũng có thể được phân công quản lý nhiều phân hệ khác nhau.
Phân hệ Thông Tin Phục Vụ Lãnh Đạo không cần quản trò viên phân hệ.
Quản trò viên phân hệ có toàn quyền trên phân hệ do mình phụ trách và có quyền
ghi trên thư mục DBF\FMEM
3) Các user sử dụng các phân hệ :
Các user trên một phân hệ có thể chia làm 3 mức :
• Mức không có quyền khai thác.
• Mức có quyền khai thác ở chế độ Chỉ Đọc (Read Only).
• Mức có quyền khai thác ở chế độ Đọc/Ghi (Read/Write).
4) Phân quyền mức mạng :
Việc phân quyền trên các thư mục và các file của hệ thống là rất cần thiết, nó
bảo đảm cho việc bảo mật và an toàn dữ liệu của hệ thống.
Mỗi một người sử dụng hệ thống được cấp 1 username duy nhất (thường là tên
thường gọi của người đó: DUNG, NGA, ).
Quản trò viên có tên mặc đònh là HTQL. Không thể thay đổi.
Quản trò viên muốn vận hành chương trình bình thường như các người sử dụng
khác thì cần có thêm một username khác.
Quản trò viên có đầy đủ các quyền hạn trên thư mục của hệ thống và có quyền
cấp quyền (mức mạng) cho các thành viên trong nhóm.
Người quản trò mạng (supervisor) tạo một nhóm (group) mà thành viên là các
người sử dụng hệ thống.
Người quản trò mạng (supervisor) tạo thêm nhiều nhóm nhỏ theo các phân hệ (12
phân hệ), đặt tên nhóm này trùng tên với các phân hệ cho dễ nhớ (QLSV, DIEM ).
Thêm thành viên của nhóm là tất cả các cá nhân có quyền nhập liệu trên phân hệ
tương ứng.
Lưu ý: Một cá nhân có thể là thành viên của nhiều nhóm.
Người quản trò mạng (supervisor) phân quyền dữ liệu trên máy chủ như sau :
• Thư mục VFW chỉ được cấp quyền chỉ đọc (Read Only) cho tất cả các
người sử dụng hệ thống.
Ví dụ: Học kỳ 992 đã khóa sổ về điểm, thì thư mục DBF\DIEM\992 cũng bò khóa
Ghi (Chỉ Đọc /Read Only) cho tất cả các user khai thác, kể cả các nhập liệu viên phân
hệ quản lý điểm (DIEM).
6) Phân quyền mức chương trình :
Phân quyền mức chương trình cần tiến hành trong khi vận hành chương trình.
Chức năng này dành riêng cho quản trò viên.
Phân quyền mức chương trình cũng tương tự như với phân quyền mức mạng và
thường được tiến hành đồng thời.
Hai mức phân quyền này nói chung phải có quyền hạn tương đương nhau.
II/ Tiện ích quản trò hệ thống (HTQL) :
1) Thủ tục hutils : (Xem chương trình ở phần Phụ lục)
Các công việc của quản trò chung tập trung ở thủ tục HUTILS.
Các công việc này bao gồm :
• Thêm bớt người sử dụng.
• Thêm bớt nhóm sử dụng.
• Cấp quyền cho nhóm/người sử dụng.
• Thay đổi thông số chung.
• Nhập ngày/tuần đầu các học kỳ.
• Tạo thư mục học kỳ mới.
• Reindex các tập tin.
• Reindex toàn bộ cơ sở dữ liệu.
• Bảo trì dữ liệu.
• Thay đổi chiều dài mã số.
• Đổi mật khẩu.
• Bổ sung chương trình tạm thời.
• Khóa mở quyền khai thác theo học kỳ.
• Quyền quản trò phân hệ.
• Chỉnh đònh thông số biểu in.
Để chạy thủ tục HUTILS, thực hiện các lệnh sau : (Hình 5)
Hình 6 : Giao diện Tiện ích quản trò hệ thống.
• Mức chỉ đọc : Chỉ có quyền đọc phân hệ.
• Mức được ghi : Có quyền đọc/ghi phân hệ.
Các phím chức năng :
F2 Sửa thông tin group.
F5 Thêm một group mới.
^T Bớt một group
cũ. (không bớt user trong
group)
^M Đổi mật khẩu.
^U Thêm/bớt nhóm tham
gia trong nhóm.
Hình 11 : Phân quyền cho User.
Lưu ý :
- Quyền của một nhóm được kế thừa cho toàn bộ thành viên trong nhóm.
- Quyền của một user là quyền tổng hợp cao nhất của chính user đó và tất cả các
nhóm mà user đó tham gia.
7) Thay đổi thông số chung của hệ thống :
Chức năng này được sử dụng khi lần đầu tiên khởi tạo hệ thống hoặc khi quản trò
viên có ý đònh thay đổi tham số quản lý.
Quản trò viên cần hiểu rõ ý nghóa của từng biến để chỉnh đònh cho thích hợp với
hoàn cảnh quản lý riêng của đơn vò.
• Các biến này được điều chỉnh bằng cách chạy chương trình hutils, chọn
chức năng Thay đổi thông số chung.
• Kết quả sau khi chỉnh đònh sẽ được lưu vào file :
DBF\CHNG\gcompany.mem
• Các biến này là biến chỉnh đònh chung, không phụ thuộc vào học kỳ.
Chỉ có quản trò viên mới có thẩm quyền chỉnh đònh các biến này.
7.1. Tổng quát :
Ký Hiệu Cơ Quan q_comp
Tên Cơ Quan qcompany
Giải thích: Bình thường mỗi hệ đào tạo có một điểm đạt chung cho các môn (Ví
dụ: 4 hoặc 5) Tuy nhiên một số khối lớp của hệ đào tạo hoặc một số môn học
không tuân thủ điểm đạt này, có thể lưu các ngoại lệ này vào file điểm đạt đặc
biệt.
Nếu chọn nhiệm ý này, hãy nhập các môn có điểm đạt đặc biệt trong chức năng
Xem/Sửa Khối & MH Có Điểm Đạt Đặc Biệt, phân hệ DIEM.
Cộng Điểm TB Gộp Học Kỳ 2 & 3 Coi Như Học Kỳ 2 q_gophk23
Giải thích: Bình thường mỗi học kỳ được cộng xem như học kỳ độc lập. Tuy nhiên
đối với các trường có đào tạo học kỳ hè, nếu chọn nhiệm ý này thì có thể xem học
kỳ hè như học kỳ 2 mở rộng.
Có Cộng Điểm Trung Bình Học Bổng q_conghb
Giải thích: Điểm trung bình học bổng chỉ tính điểm thi lần đầu và chỉ tính cho các
SV không có môn học bò điểm rớt.
Số Tín Chỉ Đăng Ký (Học Kỳ) Tổi Thiểu Để Xét Học Bổng q_mintchb
Giải thích: Sinh viên đăng ký dưới số tín chỉ này sẽ bò loại ra khỏi danh sách xét
học bổng.
Có Lấy Lại Điểm K/Tra Khi Tính Điểm Tổng Kết Môn Có Thi Lại q_lldmkt
Giải thích: Khi tính điểm tổng kết môn học (đối với môn học có điểm kiểm tra) thì
điểm kiểm tra có một tỷ trọng nhất đònh.
Khi tính điểm tổng kết môn học (các môn có tổ chức thi lại), có hai cách xử lý :
• Coi điểm thi lại là điểm tổng kết môn học, không phụ thuộc điểm kiểm tra
(nếu điểm thi lại > điểm tổng kết trước khi thi lại).
• Tính điểm tổng kết môn học lần thi lại cũng như lần thi đi (dùng cùng điểm
kiểm tra).
Nếu chọn nhiệm ý này là đồng ý cách tính thứ hai.
Có Tính Điểm TB Của Các Môn Không Nhập Điểm (Coi Như Zero) qthdmblk