Dự án

Tổng quan

Hồ sơ

Hành động

Task #1799

mở
HN

[Ghép/tách lớp thi]

Task #1799: [Ghép/tách lớp thi]

Thêm bởi Hải Yến Ngô cách đây khoảng 2 tháng. Cập nhật cách đây khoảng 1 tháng.

Trạng thái:
New
Mức ưu tiên:
Cao
Phân công cho:
-
Bắt đầu:
20-07-2026
Hết hạn:
Tiến độ:

0%

Thời gian ước lượng:
Build tại bản:
Người Test:
Thời gian test xong:

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

HN Cập nhật bởi Hải Yến Ngô cách đây khoảng 2 tháng Hành động #1

Cập nhật bởi Hải Ninh Đoàn cách đây khoảng 1 tháng Hành động #2

Hải Yến Ngô đã viế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

5. Mô tả nghiệp vụ

Ghép lớp: chỉ được chọn các lớp có cùng phiên bản môn học để ghép, lớp được ghép sẽ bao gồm tất cả sinh viên của các lớp ghép. Tách lớp: chỉ được chọn 1 lớp để tách lớp, trước mắt không cho chọn lớp đã được ghép để tách. Trên ô tách lớp, sẽ cho nhập tên, mã và số sinh viên cần tách, yêu cầu validate tổng số sinh viên phải bằng số sv cộng lại ở cả các lớp tách. Sau khi đã ghép/tách các lớp xong, người dùng bấm tạo lớp thi, sẽ sinh ra các bản ghi exam_class và examclass_subjectclass, nếu là ghép lớp, 1 examclass sẽ có nhiều examclass_subjectclass khác nhau, nếu là tách lớp hoặc 1 lớp bình thường, 1 examclass có 1 examclass_subjectclass, thực chất bảng examclass_subjectclass chỉ có ý nghĩa đó là cho biết lớp thi hiện tại được gắn với lớp môn học nào, exam_group chính là examclass nhưng là nháp, nội dung của nó chính là exam class sau khi tạo ra.

Hành động

Định dạng khác của trang này: PDF Atom