1. Trang chủ
  2. » Công Nghệ Thông Tin

Phân hệ xếp thời khóa biểu

37 727 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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Â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 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ếp thời khóa biể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ân hệ 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ÂN HỆ : Để 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ân hệ xếp thời khóa biể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ời khóa biể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ời khóa biể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ời khóa biể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ời khóa biể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ÂN HỆ XẾP THỜI KHÓA BIỂ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ẾP THỜI KHÓA BIỂ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ếp thời khóa biể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ời khóa biể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ời khóa biểu : Cho phép xem thời khóa biể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ế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 : lấy thông tin ngành từ bảng ngành Output : xếp thời khóa biể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ếp thời khóa biểu cho từng môn học : Chức năng : cho phép xếp thời khóa biểu. .. : Xếp thời khóa biể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ời khóa biểu cho từng học kỳ : Chức năng : cho phép xếp thời khóa biể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ời khóa biể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ời khóa biểu tổng quát : Chức năng : Hiện thò tất cả thông tin về kết quả xếp thời khóa biểu cho toàn trường Input : Lấy thông tin kết quả xếp thời khóa biể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ẾP THỜI KHÓA BIỂ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ẾP THỜI KHÓA BIỂ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ân hệ 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ếp thời khóa biể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

Ngày đăng: 28/09/2013, 10:20

HÌNH ẢNH LIÊN QUAN

• 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 . - Phân hệ xếp thời khóa biểu
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 (Trang 1)
− Bảng phòng học - Phân hệ xếp thời khóa biểu
Bảng ph òng học (Trang 2)
Các bảng dữ liệu sử dụng trong phân hệ xếp thời khóa biể u: - Phân hệ xếp thời khóa biểu
c bảng dữ liệu sử dụng trong phân hệ xếp thời khóa biể u: (Trang 2)
- Bảng SS_NGANH : - Phân hệ xếp thời khóa biểu
ng SS_NGANH : (Trang 3)
− Bảng nhóm lớp : - Phân hệ xếp thời khóa biểu
Bảng nh óm lớp : (Trang 3)
− Bảng BANG_LOAI_BAN_GIO : - Phân hệ xếp thời khóa biểu
ng BANG_LOAI_BAN_GIO : (Trang 4)
− Bảng CAN_BO_G D: - Phân hệ xếp thời khóa biểu
ng CAN_BO_G D: (Trang 4)
Outpu t: Thêm, sửa dữ liệu của bảng khoa. - Phân hệ xếp thời khóa biểu
utpu t: Thêm, sửa dữ liệu của bảng khoa (Trang 7)
• Xóa ngành mà dữ liệu còn liên quan tới các bảng khác. - Phân hệ xếp thời khóa biểu
a ngành mà dữ liệu còn liên quan tới các bảng khác (Trang 8)
Input: Lấy thông tin từ điển Môn học từ bảng : mon_ho c. - Phân hệ xếp thời khóa biểu
nput Lấy thông tin từ điển Môn học từ bảng : mon_ho c (Trang 10)
Input: Lấy thông tin từ bảng BANG_CAN_BO_B G. - Phân hệ xếp thời khóa biểu
nput Lấy thông tin từ bảng BANG_CAN_BO_B G (Trang 13)
Input: Lấy thông tin từ các bảng CTD T. - Phân hệ xếp thời khóa biểu
nput Lấy thông tin từ các bảng CTD T (Trang 14)
Input: Lấy thông tin từ bảng CTD T, DAY_HO C. - Phân hệ xếp thời khóa biểu
nput Lấy thông tin từ bảng CTD T, DAY_HO C (Trang 15)
tin về file backup sẽ được lưu vào bảng backup_tkb trong database master . - Phân hệ xếp thời khóa biểu
tin về file backup sẽ được lưu vào bảng backup_tkb trong database master (Trang 16)
V.1.9. Form Backup dữ liệ u: - Phân hệ xếp thời khóa biểu
1.9. Form Backup dữ liệ u: (Trang 16)
Input: Lấy thông tin tên file và đường dẫn từ bảng backup_tkb trong database - Phân hệ xếp thời khóa biểu
nput Lấy thông tin tên file và đường dẫn từ bảng backup_tkb trong database (Trang 17)
Input: Lấy thông tin kết quả xếp thời khóa biểu từ bảng gv_lop_m h. - Phân hệ xếp thời khóa biểu
nput Lấy thông tin kết quả xếp thời khóa biểu từ bảng gv_lop_m h (Trang 22)
Chức năng : Hiển thị TKB của một giảng viên lên màn hình. - Phân hệ xếp thời khóa biểu
h ức năng : Hiển thị TKB của một giảng viên lên màn hình (Trang 23)
Chức năng : Hiển thị TKB của một phòng học lên màn hình. - Phân hệ xếp thời khóa biểu
h ức năng : Hiển thị TKB của một phòng học lên màn hình (Trang 24)
Input: Lấy thông tin kết quả xếp thời khóa biểu từ bảng GV_LOP_M H. - Phân hệ xếp thời khóa biểu
nput Lấy thông tin kết quả xếp thời khóa biểu từ bảng GV_LOP_M H (Trang 25)
− Dạng thô (bảng TKB_ngày ): giúp giải thuật xếp TKB kiểm tra một cách dễ dàn g, nó chỉ mô tả tại một điểm giảng viên hay phòng hay nhóm lớp có bận hay không  - Phân hệ xếp thời khóa biểu
ng thô (bảng TKB_ngày ): giúp giải thuật xếp TKB kiểm tra một cách dễ dàn g, nó chỉ mô tả tại một điểm giảng viên hay phòng hay nhóm lớp có bận hay không (Trang 29)
III.2. Mô hình chạy song song trên nhiều Server : - Phân hệ xếp thời khóa biểu
2. Mô hình chạy song song trên nhiều Server : (Trang 32)
III.3. Mô hình load tất cả dữ liệu trên hệ phân bố dữ liệu vào quá trình clien t: - Phân hệ xếp thời khóa biểu
3. Mô hình load tất cả dữ liệu trên hệ phân bố dữ liệu vào quá trình clien t: (Trang 34)

TỪ KHÓA LIÊN QUAN

w