Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 37 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
37
Dung lượng
381,64 KB
Nội dung
PHÂNHỆXẾPTHỜIKHÓABIỂU CHƯƠNG 1 : MÔ TẢ PHÂNHỆXẾPTHỜIKHÓABIỂU I. MỤC ĐÍCH XÂY DỰNG PHÂNHỆ : PhânhệXếpthờikhóabiểu được xây dựng nhằm thực hiện các chức năng sau ở một học kỳ – năm học : • Tạo và in ra màn hình số liệu dự kiến cho từng học kỳ như kế hoạch giảng dạy trong học kỳ , chương trình đào tạo khóa-ngành . • Xếpthờikhóabiểu (TKB) dự kiến dựa trên cơ sở số nhóm lớp – môn học dự kiến và số sinh viên trong từng khóa-ngành-năm , số lượng giáo viên giảng dạy môn học, đăng ký bận giờ của các giảng viên và dữ liệu về phòng học trong học kỳ . • Hiệu chỉnh TKB của thời gian thực . • Quản lý tình trạng báo dạy cho giảng viên, TKB cho lớp –môn học. Phânhệ này cung cấp số liệu cho việc quản lý giảng dạy, quản lý phòng học và tính toán khối lượng giảng dạy, là cơ sở để sinh viên đăng ký môn học. II. DỮ LIỆU TRONG PHÂNHỆ : Để xếp TKB , ta cần có các dữ liệu sau : • Các bảng từ điển như : Khoa , Bộ môn , Môn học , Ngành , Phòng học, Cán bộ giảng dạy , Các loại bận giờ . • Bảng Chương trình giảng dạy trong học kỳ hiện hành bao gồm danh sách các môn học sẽ mở trong học kỳ tương ứng (trong Chương trình đào tạo ) . Bảng này sẽ là cơ sỡ để tạo ra dữ liệu Nhóm lớp – môn học – giảng viên . • Các thông tin về thời gian học của các nhóm lớp (tuần bắt đầu , buổi học ưu tiên ) . • Nhập bảng Cán bộ giảng dạy các thông tin về tránh tiết , bận giờ của các Cán bộ giảng dạy . • Chuẩn bò danh mục Phòng học dự kiến cho các lớp dựa vào sức chứa phòng , só số lớp , dãy phòng ưu tiên . Các bảng dữ liệu sử dụng trong phânhệxếpthờikhóabiểu : − Bảng phòng học Tên cột Kiểu Chú thích DAY_PHONG Char(3) Dãy phòng vd: B1B PHONG(primary) Char(6) Phòng học vd : 202B1B SUC_CHUA Smallint Sức hứa của phòng (>0)vd :100 MA_KHOA Char(2) Mã khoa vd : MT TINH_TRANG Bit Tình trạng phòng (0:sử dụng được; 1:không sử dụng được) MA_TKB Char(10) Mã thờikhóabiểu : tham khảo tới bảng TKB_ngay , dùng để kiểm tra TKB . LOAI_PHONG Tinyint Mô tả tính chất phòng (0 → 37) COUNT_S Tinyint Số lần chương trình tham khảo tham khảo buồi sáng . COUNT_C Tinyint Số lần chương trình tham khảo tham khảo buồi chiều . − Bảng TKB_NGAY : Tên cột Kiểu Ghi chú MA_TKB(primary) Char(10) Mã thờikhóabiểu dùng để kiểm tra TKB . TIET1 Char(1) Kiểm tra tiết bận (0:không bận , 1: bận , D : bận tương đối , T :bận tuyệt đối ) TIET2 Char(1) TIET3 Char(1) TIET4 Char(1) TIET5 Char(1) TIET6 Char(1) TIET7 Char(1) TIET8 Char(1) TIET9 Char(1) TIET10 Char(1) TIET11 Char(1) TIET12 Char(1) THU(primary) Tinyint Thứ (2→7) − Bảng GV_LOP_MH Tên cột Kiểu Ghi chú MA_GV(primary) Int Mã giảng viên MA_NHOM(primary) Char(8) Mã nhóm vd :CK199501 MA_MH(primary) Char(6) Mã môn học SI_SO Smallint Só số nhóm SO_BUOI_HOC Tinyint Số lần học trong tuần PHONG1 Char(6) Mã phòng THU1 Tinyint Thứ TIET_BD1 Tinyint Tiết bắt đầu SO_TIET1 Tinyint Số tiết PHONG2 Char(6) Mã phòng THU2 Tinyint Thứ TIET_BD2 Tinyint Tiết bắt đầu SO_TIET2 Tinyint Số tiết PHONG3 Char(6) Mã phòng THU3 Tinyint Thứ TIET_BD3 Tinyint Tiết bắt đầu SO_TIET3 Tinyint Số tiết MUC_DO_XEP Tinyint Mức độ xếp : được đánh giá trong chương trình . − Bảng nhóm lớp : Tên cột Kiểu Ghi chú MA_NHOM Char(8) Mã nhóm MA_NGANH Char(2) Mã ngành MA_TKB Char(10) Mả thờikhóabiểu TUAN_DAU Tinyint Tuần bắt đầu DAY_PHONG Char(3) Dãy phòng STT Tinyint Số thứ tự nhóm - Bảng SS_NGANH : Tên cột Kiểu Ghi chú MA_NGANH Char(2) Mã ngành KHOA_HOC Char(4) Khóa học vd :1995 SI_SO Int Só số của khóa học NAM_THU Char(1) Năm thứ (1-> 5) BUOI Char(1) Buổi xếp ưu tiên LOP_MAX Tinyint Số nhóm tối đa trong khóa học − Bảng CAN_BO_GD : Tên cột Kiểu Ghi chú MA_GV Int Mã giảng viên HO_LOT_GV Varchar(50) Họ lót giảng viên TEN_GV Varchar(50) Tên giảng viên MA_LOAI Tinyint Mã loại bận giờ UU_TIEN Bit Ưu tiên : 0 tương đối, 1 tuyệt đối MA_TKB Char(10) Mã thờikhóabiểu MA_KHOA Char(2) Mã khoa TOI_UU Tinyint Tối ưu − Bảng BANG_LOAI_BAN_GIO : Tên cột Kiểu Ghi chú MA_LOAI Tinytint Mã loại bận giờ TEN_MA_LOAI Varchar(50) Tên mã loại bận giờ TIETBD_T2 Char(1) Tiết bắt đầu thứ 2 SO_TIET_T2 Char(1) Số tiết thứ 2 SO_TIET_T3 Char(1) Tiết bắt đầu thứ 3 TIETBD_T3 Char(1) Số tiết thứ 3 SO_TIET_T4 Char(1) Tiết bắt đầu thứ 4 TIETBD_T4 Char(1) Số tiết thứ 4 SO_TIET_T5 Char(1) Tiết bắt đầu thứ 5 TIETBD_T5 Char(1) Số tiết thứ 5 SO_TIET_T6 Char(1) Tiết bắt đầu thứ 6 TIETBD_T6 Char(1) Số tiết thứ 6 SO_TIET_T7 Char(1) Tiết bắt đầu thứ 7 TIETBD_T7 Char(1) Số tiết thứ 7 III. NHỮNG RÀNG BUỘC TRONG PHÂNHỆXẾPTHỜIKHÓABIỂU : III.1. Ràng buộc về tài nguyên : Ràng buộc về tài nguyên là ràng buộc chặt chẽ không thể vi phạm, bao gồm các ràng buộc sau : • Số giờ học bò giới hạn ( thứ-tiết ) : 6 ngày /tuần , 12 tiết /ngày , những buổi nghỉ học để sinh hoạt Đoàn , nghỉ chung toàn trường . • Số lượng phòng học và sức chứa có giới hạn . • Số lượng cán bộ giảng dạy có giới hạn . Giải quyết trường hợp các cán bộ chỉ rãnh trong một số giờ chỉ đònh (do nhà xa , có gia đình , bận công tác khác . . .) . • Số lượng môn học mở trong một học kỳ phải có giơi hạn trong chương trình đào tạo . III.2. Các ràng buộc theo qui tắc : • Mỗi Cán bộ giảng dạy chỉ dạy một Nhóm lớp tại một thời điểm . • Mỗi phòng chỉ có một nhóm lớp học tại một thời điểm . • Một nhóm lớp học một môn học tại một phòng trong một thời điểm . • Các nhóm lớp – môn học phải được phân vào các phòng có sức chứa phù hợp . • Một số nhóm lớp – môn học phải học tại phòng chuyên dụng (như :phòng thí nghiệm , vẽ kỹ thuật , thể dục thể thao. . .) . • Mỗi cán bộ giảng dạy bò hạn chế số tiết dạy tối đa trong ngày ( trừ trường hợp số cán bộ giảng dạy cho một môn học nào đó ít làm số tiết dạy của giảng viên tăng lên ) . • Có giới hạn số tiết liên tục của một môn học và sự phân tiết trong một tuần nên cách 1 ngày . III.3. Một số ràng buộc khác nhằm tăng tính tiện dụng và tăng hiệu quả sử dụng tài nguyên trong hệ thống : • Sử dụng các thông số chương trình : hệ số sử dụng phòng học , hệ số MAX của sinh viên đi học, ngày nghỉ chung của toàn trường . • Các yêu cầu về tính liên tục TKB như : TKB của một nhóm lớp trong một buổi nên liên tục ( không có tiết trống ở giữa ) , TKB của một nhóm lớp trong một ngày nên có tiết trống giữa hai buổi ( tiết 6 hoặc 7 ) nếu có . • Tránh xếp quá nhiều buổi trong tuần cho một Cán bộ giảng dạy mà số tiết trong một buổi quá ít ( Giới hạn số buổi tối đa / tuần của cán bộ giảng dạy ) . • Tránh xếp quá nhiều buổi trong tuần cho một Nhóm lớp mà số tiết trong một buổi quá ít ( Giới hạn số buổi tối đa / tuần của Nhóm lớp ) . IV QUI TRÌNH XẾPTHỜIKHÓABIỂU : IV.1. Bước chuẩn bò : Bước này chuẩn bò các dữ liệu cần thiết cho việc xếp TKB: • Điều chỉnh các từ điển : khoa , bộ môn , môn học , ngành , Cán bộ giảng dạy , phòng học , Loại bận giờ . • Xem / Sửa Chương trình giảng dạy học kỳ , tức danh sách các môn học dự kiến mở trong học kỳ , các thông số về môn học như: sỉ số môn học, tính chất phòng , phân tiết / tuần, xác suất số sinh viên đăng ký. • Nhập tuần lễ đầu tiên nhập học và buổi học ưu tiên của các nhóm lớp . IV.2. Bước nhập liệu : • Bước này chuẩn bò nhập các dữ liệu cần thiết cho việc xếp TKB : • Dựa vào danh sách môn học trong CTDT , chọn những môn học sẽ mở trong học kỳ . • Dựa vào những môn học sẽ mở , đưa ra số nhóm lớp dự đònh mở trong học kỳ bằng cách nhập vào số % sinh viên có thể đăng ký và só số của môn học đó. • Nhập mã cán bộ giảng dạy theo các môn học đã đònh sẵn . IV.3 Bước Xếpthờikhóabiểu : ( danh sách nhóm lớp sẽ tự động sinh ra khi xếp TKB dựa vào số lớp dự đònh mở trong từng môn học ) . • Nhập danh sách các cán bộ bận giờ và chọn loại giờ thích hợp(lưu kết quả vào bảng thông tin cán bộ giảng dạy) . • Dựa vào bảng loại bận giờ , thông tin cán bộ giảng dạy để tạo ra dữ liệy trong bảng TKB_ngày trong đó ghi rõ chi tiết bận giờ trong tuần của giáo viên . • Cho phép chỉnh sửa các thông số của phòng học như : sức chứa , tính chất phòng , tình trạng trong bảng từ điển phòng học . • Cho phép sửa các thông số chương trình như : chọn hệ số sử dụng phòng học , hệ số max sức chứa /số SV , hệ số max đi học của SV . có sử dụng bảng bận giờ hay không , có tránh tiết liên tục giữa hai buổi hay không . • Xếp TKB gồm các bước : Xếp tự động cho từng học kỳ . Xếp tự dộng cho từng môn học . Xếp tự động cho từng ngành . Xếp TKB cho từng nhóm lớp môn học . IV.4. Bước chỉnh sửa thờikhóabiểu : Cho phép hiệu chỉnh TKB sau khi xếp theo nhóm lớp như : • Hủy bỏ TKB của một nhóm lớp môn học . • Hủy bỏ TKB cho tất cả môn học trong học kỳ . • Hủy bỏ TKB của một môn học . • Kiểm tra những nhóm lớp môn học không thể xếp được (do quá trình nhập liệu không hợp lý : mở nhiều nhóm lớp môn học đặc biệt nên không đủ phòng đặc biệt , thiếu giáo viên , một số nhóm lớp học quá nhiều môn học . IV.5. Xem thờikhóabiểu : Cho phép xem thờikhóabiểu theo nhóm lớp , theo phòng , theo cán bộ giảng dạy xem chi tiết về một nhóm lớp môn học . V. THIẾT KẾ GIAO DIỆN : V.1. Thiết kế Form nhập liệu : V.1.1. Form tự điển Khoa : Chức năng : Quản lý tự điển các khoa , cho phép xem , thêm, sửa . Input : Lấy thông tin từ điển khoa từ bảng khoa . Output : Thêm , sửa dữ liệu của bảng khoa . Ràng buộc : Form sẽ phát hiện và báp lỗi nếu 1 trong các trừơng hợp sau : • Trùng mã khoa . • Sửa mã khoa . • Khoa không đủ thông tin : mã khoa , tên khoa. • Xóa một khoa do còn quan hệ dữ liệu với các bảng khác . • Các cột vi phạm ràng buộc dữ liệu : mã khoa ( 2 kí tự ), tên khoa ( 50 kí tự ) . Thiết kế giao diện : V.1.2. Form từ điển Ngành : Chức năng : Quản lý từ điển Ngành và các thông số liên quan tới một ngành như : só số từng khóa học , năm thứ , buổi học . Input : Lấy thông tin từ điển Ngành từ bảng : KHOA , NGANH, SS_NGANH . Output : Thêm, Sửa , xóa ngành cho một khoa . Liệt kê , thêm , xóa thông tin của một ngành . Ràng buộc : Form sẽ phát hiện và báo lỗi nếu xảy ra một trong các trường hợp sau : • Nhập thông tin vi phạm ràng buộc : mã ngành ( 2 kí tự), tên ngành ( 50 kí tự), sỉ số (số nguyên), năm thứ (0->5), Khóa (4 kí tự số ), buổi học (Sáng (S) hoặc Chiều (C)) . • Xóa ngành mà dữ liệu còn liên quan tới các bảng khác. • Thêm ngành có mã trùng với ngành cũ. • Thêm Khóa học trùng với những khóa học cũ. Tiện ích : • Liệt kê các ngành theo khoa . • Liệt kê thông tin các khóa học theo ngành . Thiết kế giao diện : V.1.3. Form từ điển môn học : Chức năng : quản lý tất cả môn học từ trước đến nay và tất cả các thông tin liên quan tới môn học . Input : Lấy thông tin từ điển Môn học từ bảng : mon_hoc . Output : Xem các môn học và thông tin liên quan tới môn học, không cho sửa , xóa . Thiết kế giao diện : V.1.4. Form từ điển giảng viên : Chức năng : Quản lý cán bộ giảng dạy , cho phép người sử dụng xem thông tin về giảng viên thep từng khoa . Input : Lấy thông tin từ điển Giảng viên từ bảng : can_bo_gd. Output : Xem thông tin giảng viên theo từng khoa . Tiện ích : Cho phép người sử dụng tìm kiếm giảng viên theo khoa . Thiết kế giao diện : [...]... xếp Thiết kế giao diện : V.1.13 Form xếpthờikhóabiểu cho khoa / ngành : Chức năng : cho phép chọn ngành để xếpthờikhóabiểu Input : lấy thông tin ngành từ bảng ngành Output : xếpthờikhóabiểu cho ngành : SP_XTKB_NGANH + tên ngành Tiện ích : những ngành nào đã xếp không cho xếp lại Thiết kế giao diện : V.1.14 Form xếpthờikhóabiểu cho từng môn học : Chức năng : cho phép xếp thờikhóa biểu. .. : Xếp thờikhóabiểu cho tưng môn học : SP_XTKB_MH + mã môn học Thiết kế giao diện : V.1.15 Form xếp thờikhóabiểu cho từng học kỳ : Chức năng : cho phép xếp thờikhóabiểu cho từng học kỳ Output : SP_XTKB_HOC_KY + học kỳ Thiết kế giao diện : V.1.16 Chỉnh sửa kết quả xếp thờikhóabiểu : Chức năng : cho phép chọn những nhóm lớp môn học không xếp được : tìm hiểu nguyên nhân và thay thông số để xếp. .. Thiết kế giao diện : V.2.4 Report thờikhóabiểu tổng quát : Chức năng : Hiện thò tất cả thông tin về kết quả xếpthờikhóabiểu cho toàn trường Input : Lấy thông tin kết quả xếpthờikhóabiểu từ bảng GV_LOP_MH Output : Hiện thò thông tin về nhóm lớp , giảng viên, môn học, phòng học , thứ , tiết bắt đầu , số tiết Thiết kế giao diện : CHƯƠNG 2 : GIẢI THUẬT XẾPTHỜIKHÓABIỂU I SƠ ĐỒ KHỐI : Bắt đầu Chọn... hợp ưu Đánh giá Lưu kết quả Còn mh ? Không xếp được tăng mức xếp Kết thúc II CHIẾN LƯC XẾPTHỜIKHÓABIỂU : Chiến lược xếp TKB trên từng mức độ đánh giá , mỗi một mức độ thể hiện cho một khả năng xếp Các khả năng được đánh giá từ tốt đến xấu ( mức 0 → 23 ) Tất cả các mức độ sẽ được lưu lại để đánh giá chọn giải pháp tốt nhất Nếu xảy ra các trường hợp không thể xếp (mức 24 ) , tùy theo ngyên nhân sẽ có... master Output : Phục hồi hoàn toàn cơ sở dữ liệu của phânhệ XTKB tại thời điểm backup Tiện ích : cho phép chọn tên file back up và dường dẫn có trong bảng backup_tkb Thiết kế giao diện : V.1.11 Form nhập các thông số chương trình : Chức năng : cho phép nhập các thông số như : − Hệ số max , min chia đôi lớp : Trong chương trình xếpthờikhóabiểu , các nhóm được sinh tự động dựa vào só số của ngành... viên đến lớp không bao giờ đạt 100% do đó để tận dụng sức chứa của phòng hệ số này được áp dụng 1 có kiểm tra cách ngày ( không xếp môn hoc hai ngày liên tiếp trong tuần Sau mỗi lần xếp cho phép đổi chiều xếp tiết và xếp thứ , điều này . PHÂN HỆ XẾP THỜI KHÓA BIỂU CHƯƠNG 1 : MÔ TẢ PHÂN HỆ XẾP THỜI KHÓA BIỂU I. MỤC ĐÍCH XÂY DỰNG PHÂN HỆ : Phân hệ Xếp thời khóa biểu được xây. hoặc tất cả để xếp . Thiết kế giao diện : V.1.13. Form xếp thời khóa biểu cho khoa / ngành : Chức năng : cho phép chọn ngành để xếp thời khóa biểu . Input