Cong ty Cong Nghe Tin hoc Nha truong http://www.schoolnet.vn
Lịch sử phần mềm xếp thời khóa biểu TKB (11): phòng học bộ môn và SF fails (2)
28/12/2012

thời khóa biểuNhư vậy vào khoảng tháng 3 năm 2005, tôi đã fix và thiết kế xong mô hình phòng học bộ môn mới của thời khóa biểu trường phổ thông và băt đầu triển khai dự án phần mềm TKB 5.5.


Vấn đề lớn nhất của dự án TKB 5.5 là convert tất cả các lệnh, chức năng liên quan đến xếp, điều chỉnh dữ liệu thời khóa biểu từ mô hình 5.0 không có phòng bộ môn lên mô hình có phòng bộ môn 5.5.

Công việc tiến hành thuận lợi nhưng đến chức năng xếp tự động 100% lệnh SF khi nâng cấp lên 5.5 thì bị fail!

Vấn đề nằm ở chỗ:

Bản chất của chức năng xếp 100%, lệnh SF đươc chia làm 4 module chính:

- module 1: kiểm tra ràng buộc và khả năng xếp 100% thời khóa biểu.

- module 2: xếp tự động 95-99%

- module 3: xếp nốt các tiết còn lại bằng cách sử dụng lệnh CX với 1 trong 3 thuật toán CX, DPR hoặc FPR.

- module 4: tối ưu hóa dữ liệu đã xếp xong.

Khi nâng cấp lệnh trên lên mô hình phòng học bộ môn, các module 2, 4 không quá khó để thực hiện. Khó nhất là module 1 và 3.

Với module 1, sau một thời gian mò mẫm và thử nghiệm cuối cùng tất cả các thuật toán kiểm tra cũ đã được nâng cấp hết.

Vấn đề chỉ còn lại ở module 3.

Khi thiết kế nâng cấp module 3, vấn đề nằm ở chỗ phải nâng cấp các thuật toán CX, DPR và FPR lên mô hình phòng bộ môn.

Thuật toán CX chỉ là 1 trường hợp riêng của DPR.

Thuật toán DPR --> việc nâng cấp rấ khó và không cần thiết.

Như vậy vấn đề còn lại là phải nâng cấp bằng được thuật toán FPR (Fix Position Replacement) từ mô hình không có phòng bộ môn lên mô hình có phòng bộ môn. Thuật toán nâng cấp này tôi đã phác thảo 1 thiết kế và đưa cho đội lập trình triển khai. Dự kiến phiên bản TKB 5.5 sẽ ra mắt vào tháng 6, 7 năm 2005 với mô hình phòng học bộ môn mới.

Nhưng sát đến ngày phải hoàn thiện phần mềm, tôi đã phát hiện ra một lỗi nặng của thuật toán nâng cấp FPR. Đây là 1 lỗi nặng và không biết đến khi nào mới sửa được lỗi này.

Vì thời gian quá gấp tôi đã phải đưa ra một giải pháp thỏa hiệp như sau:

Phiên bản TKB 5.5 sẽ được phát hành làm 2 phiên bản:

1. TKB 5.5 là phiên bản không có phòng bộ môn. Chức năng xếp tự động 100% SF vẫn có đầy đủ.

2. TKB 5.5X là phiên bản hỗ trợ phòng học bộ môn đầu tiên của Việt Nam, nhưng bản này không có chức năng xếp 100%. Lệnh SF đã được bỏ ra khỏi bản đóng gói TKB 5.5X này.

Đây có lẽ là 1 thất bại đầu tiên của công ty trong việc muốn nâng cấp 1 chức năng mạnh nhưng không hoàn thiện được các chức năng cần có. Công việc nâng cấp thuật toán FPR lên mô hình phòng học bộ môn còn ám ảnh tôi 1 thời gian dài nữa.


Bùi Việt Hà, Công ty Công nghệ Tin học Nhà trường
URL của bài viết này::http://www.schoolnet.vn/modules.php?name=CDROM&file=article&sid=6921
© Cong ty Cong Nghe Tin hoc Nha truong contact: sales@schoolnet.vn