Dự án

Tổng quan

Hồ sơ

Task #1238

Cập nhật bởi Tiến Lực Phạm cách đây khoảng 1 tháng

1. Mục đích 
 Bổ sung chức năng thiết lập và ghép logic các ràng buộc vào quá trình xếp thời khóa biểu nhằm: 
 Đảm bảo thời khóa biểu tuân thủ các quy tắc học thuật (theo môn, theo bài) 
 Giảm thao tác thủ công và hạn chế sai sót khi xếp thời khóa biểu 
 Cho phép hệ thống tự động hóa xử lý nhiều ràng buộc phức tạp 
 2. Yêu cầu nghiệp vụ 
 2.1. Câu chuyện nghiệp vụ 
 Thiết lập các ràng buộc liên quan đến môn học và bài học 
 Kết hợp (ghép logic) nhiều ràng buộc khác nhau để áp dụng khi xếp thời khóa biểu 
 Đảm bảo thứ tự học các bài trong cùng một môn (ví dụ: Bài 1 phải trước Bài 2) 
 Áp dụng các quy tắc như: các môn trước sau, song song, tiên quyết  
 ví dụ bài 5 môn triết phải học trước bài 7 môn tư tưởng hcm,... ngoài ra còn học xen kẽ kẽ, như trong tài liệu mô tả ràng buộc 
 Khi hệ thống xếp TKB, các ràng buộc này được tự động kiểm tra và áp dụng 
 Ví dụ nghiệp vụ: 
 Môn Toán có các bài: Bài 1, Bài 2, Bài 3 
 Ràng buộc: 
 Bài 1 → phải học trước Bài 2 

 
 Bài 2 và Bài 3 không được học cùng ngày 
 Khi xếp TKB, hệ thống phải đảm bảo các điều kiện trên luôn đúng 
 2.2. Mong muốn 
 Cho phép cấu hình ràng buộc linh hoạt theo: 
 Môn học 
 Bài học 
 Thời gian (ngày, tiết) 
 Có khả năng ghép nhiều ràng buộc bằng logic 
 Hệ thống kiểm tra và cảnh báo khi ràng buộc bị vi phạm 
 Cho phép bật/tắt từng ràng buộc (Sau này, có thể chưa cần ngay) 
 Hỗ trợ ưu tiên (priority) giữa các ràng buộc (Sau này, cho việc xếp tkb tự động) 
 2.3. Khó khăn 
 Số lượng ràng buộc lớn và có thể xung đột lẫn nhau 
 Logic ghép ràng buộc phức tạp 
 Khó đảm bảo hiệu năng khi xếp thời khóa biểu với nhiều điều kiện 
 Người dùng nghiệp vụ có thể khó hiểu cách thiết lập rule phức tạp 
 Cần xử lý trường hợp không tồn tại lời giải thỏa mãn tất cả ràng buộc 
 3. Giải pháp phần mềm, chức năng nghiệp vụ bị ảnh hưởng 
 3.1. Giải pháp đề xuất 
 Thiết kế hệ thống gồm: 
 Danh sách ràng buộc 
 Các loại ràng buộc: 
 Thứ tự bài học 
 Ràng buộc theo môn,bài  
 Khi xếp lịch → hệ thống kiểm tra toàn bộ ràng buộc 
 Nếu vi phạm: 
 Hard → không cho phép 
 Soft → cảnh báo / tính điểm tối ưu (nên có) 
 3.2. Chức năng bị ảnh hưởng 
 Xếp thời khóa biểu (core) 
 Quản lý môn học và bài học 
 Phân công giảng dạy 
 Báo cáo và kiểm tra tính hợp lệ của thời khóa biểu

Quay lại