Task #1799
mở[Ghép/tách lớp thi]
0%
Mô tả
1. Mục đích¶
Chức năng Ghép/Tách lớp thi cho phép Phòng Đào tạo hoặc Bộ môn chia một môn học thành nhiều nhóm thi (Exam Group) hoặc ghép nhiều lớp học phần thành một nhóm thi, nhằm phân bổ số lượng sinh viên tham gia thi theo nhiều đợt khác nhau, giảm áp lực về phòng thi, cán bộ coi thi và khối lượng tổ chức trong một ngày.
Đây là bước tiền xử lý dữ liệu trước khi chạy thuật toán xếp lịch thi.
2. Câu chuyện nghiệp vụ¶
Trong thực tế, nhiều môn học có số lượng sinh viên rất lớn (300–1.000 sinh viên). Nếu tổ chức thi cùng một ngày sẽ phát sinh nhiều khó khăn:
Thiếu phòng thi.
Thiếu cán bộ coi thi.
Bộ môn không đủ nhân lực giám sát.
Khó quản lý đề thi và công tác tổ chức.
Ảnh hưởng đến các môn thi khác.
Do đó, Bộ môn đề xuất chia môn thi thành nhiều đợt.
Ví dụ:
Môn A
12 lớp học phần
600 sinh viên
Thay vì tổ chức cùng lúc:→ Chia thành 2 đợt
Đợt 1
Khoảng 200 sinh viên
Ghép lớp A1 → A4 (hoặc chọn bất kỳ các lớp)
Thi ngày 2/7 ca 1
Đợt 2
Khoảng 400 sinh viên
Ghép lớp A5 → A12
Thi ngày 2/07 ca 2
các môn thi ưu tiên xếp thi xong trong ngày
Sau khi chia xong, thuật toán coi đây là hai nhóm thi độc lập để xếp lịch.
3. Mục tiêu nghiệp vụ¶
Cho phép chia một môn thành nhiều nhóm thi.
Cho phép ghép nhiều lớp học phần thành một nhóm thi.
Đối với các môn đại cương sinh viên sẽ được thi chia theo alpha-b, các môn còn lại sẽ chia theo lớp môn học
Mỗi nhóm thi tổ chức thi trong cùng 1 ngày, khác thời gian.
4. Cách hình thức ghép/tách¶
- Ghép thủ công (Người dùng chọn các lớp muốn ghép với nhau) Không bắt buộc các lớp phải liên tiếp .
- Tách theo số lượng sinh viên (dùng cho các môn dại cương)
| Mã Rule | Tên Rule | Mô tả | Loại |
|---|---|---|---|
| BR-GT01 | Một nhóm thi chỉ thi trong một ngày | Mỗi Nhóm thi (Exam Group) chỉ được phép tổ chức thi trong 01 ngày duy nhất. Tất cả phòng và ca thi của nhóm phải nằm trong cùng ngày. | Hard |
| BR-GT02 | Môn học được phép chia nhiều nhóm thi | Một môn học có thể được chia thành nhiều Nhóm thi để tổ chức ở các ngày khác nhau. | Hard |
| BR-GT03 | Một nhóm thi chỉ thuộc một đợt thi | Mỗi Nhóm thi chỉ được gán vào một Đợt thi tại một thời điểm. | Hard |
| BR-GT04 | Một lớp học phần chỉ thuộc một nhóm thi | Một lớp học phần không được xuất hiện trong nhiều Nhóm thi của cùng một môn học. | Hard |
| BR-GT05 | Một sinh viên chỉ thuộc một nhóm thi | Mỗi sinh viên chỉ được phép thuộc một Nhóm thi của cùng một môn học. | Hard |
| BR-GT06 | Không được bỏ sót sinh viên | Sau khi ghép/tách, toàn bộ sinh viên đủ điều kiện dự thi của môn phải được phân vào một Nhóm thi. | Hard |
| BR-GT07 | Không được trùng sinh viên | Một sinh viên không được xuất hiện ở nhiều Nhóm thi của cùng một môn học. | Hard |
| BR-GT08 | Cho phép ghép lớp bất kỳ | Người dùng được phép chọn bất kỳ lớp học phần nào để ghép thành Nhóm thi, không bắt buộc các lớp phải liên tiếp. | Hard |
| BR-GT09 | Không được chia một nhóm thi sang nhiều ngày | Nếu số phòng hoặc số ca trong ngày không đủ, hệ thống không được tự động kéo dài lịch thi của cùng một Nhóm thi sang ngày tiếp theo. | Hard |
| BR-GT10 | Đủ sức chứa phòng trong ngày | Tổng sức chứa của tất cả phòng được phân cho Nhóm thi trong ngày phải lớn hơn hoặc bằng tổng số sinh viên của nhóm. | Hard |
| BR-GT11 | Cho phép sử dụng nhiều ca trong cùng ngày | Một Nhóm thi có thể được phân vào nhiều ca thi khác nhau nhưng tất cả các ca phải thuộc cùng một ngày. | Hard |
| BR-GT12 | Cho phép sử dụng nhiều phòng | Một Nhóm thi có thể được phân vào nhiều phòng thi trong cùng một ca hoặc nhiều ca trong ngày. | Hard |
| BR-GT13 | Không thay đổi nhóm sau khi xếp lịch | Sau khi Nhóm thi đã được xếp lịch, không được phép thay đổi thành phần lớp hoặc sinh viên nếu chưa hủy lịch thi. | Hard |
| BR-GT14 | Không thay đổi nhóm sau khi công bố | Sau khi lịch thi được công bố, việc ghép/tách nhóm chỉ được thực hiện khi người có thẩm quyền mở khóa hoặc hủy lịch thi. | Hard |
| BR-GT15 | Hệ thống kiểm tra dữ liệu trước khi xếp | Chỉ các Nhóm thi có đầy đủ sinh viên, đợt thi, hình thức thi và trạng thái hợp lệ mới được đưa vào thuật toán xếp lịch. | Hard |
| BR-GT16 | Thuật toán xử lý theo Nhóm thi | Sau khi hoàn thành ghép/tách, thuật toán không xếp theo lớp học phần mà coi mỗi Nhóm thi là một đơn vị độc lập để lập lịch. | Hard |
| BR-GT17 | Hỗ trợ tách lớp học phần (tùy chọn) | Trường hợp được cấu hình, một lớp học phần có thể được tách sinh viên thành nhiều Nhóm thi; mặc định chức năng này tắt. | Configurable |
| BR-GT18 | Kiểm tra tính toàn vẹn dữ liệu | Tổng số sinh viên của tất cả Nhóm thi phải bằng tổng số sinh viên đủ điều kiện dự thi của môn học. | Hard |
| BR-GT19 | Không cho phép xóa Nhóm thi đã phát sinh lịch | Không được xóa Nhóm thi nếu đã phát sinh lịch thi hoặc phân phòng thi. | Hard |
| BR-GT20 | Không cho phép ghép trùng lớp học phần | Hệ thống phải kiểm tra và từ chối khi người dùng thêm một lớp học phần đã thuộc Nhóm thi khác của cùng môn học. | Hard |