Trong khuôn khổ đề tài cấp Học viện năm 2021-2022: “Nghiên cứu công nghệ JavaFX, Apache POI và ứng dụng xây dựng phần mềm hỗ trợ giảng viên trong công tác đào tạo”, nhóm giảng viên khoa Công nghệ thông tin tham gia thực hiện đề tài đã tiến hành nghiên cứu công nghệ JavaFX, Apache POI và ứng dụng xây dựng thành công phần mềm hỗ trợ giảng viên trong công tác đào tạo.

Ngày nay, chuyển đổi số trong giáo dục đào tạo là một trong tám lĩnh vực được Chính phủ đặc biệt ưu tiên cho chương trình chuyển đổi số quốc gia (Báo Dân trí, 2022). Đối với các học viện, trường đại học, quá trình chuyển đổi số hướng đến trở thành “Đại học số”, giảng viên và sinh viên là trung tâm của tiến trình chuyển đổi số. Trong các phần mềm xây dựng phục vụ cho chuyển đổi số, phần mềm hỗ trợ giảng viên, sinh viên trong công tác giảng dạy, học tập trở thành một trong những ưu tiên hàng đầu.

Học viện Nông nghiệp Việt Nam trong nhiều năm qua đã thực hiện chuyển đổi số trên nhiều mảng hành chính, giáo dục đào tạo đáp ứng khá tốt nhu cầu đặt ra đối với giảng viên, sinh viên.

Nhìn chung, phần mềm do các học viện, trường đại học xây dựng đã đáp ứng được nhiều chức năng thiết yếu, tuy nhiên vẫn còn đó các chức năng đang đợi phát triển hoặc cần phát triển tối ưu hơn.

Hiện nay, trong hệ thống website đào tạo của Học viện Nông nghiệp Việt Nam, chức năng thời khóa biểu còn khó theo dõi khi giảng viên, sinh viên phải dạy và học nhiều nhóm lớp, các công việc điểm danh, cộng trừ điểm sinh viên, ghi chú tiến độ giảng dạy vẫn phải làm thủ công. Việc tìm lịch dạy bù cho sinh viên khó khăn do đặc thù của hình thức tín chỉ không đồng nhất về lịch học của mỗi sinh viên trong nhóm môn học, việc tìm lịch họp bộ môn, họp khoa cũng vậy. Đôi khi thời khóa biểu thay đổi mà giảng viên, sinh viên không kịp biết tới. Trong công tác quản lý danh sách lớp, danh sách thi, danh sách vào điểm, các file excel tải từ website đào tạo định dạng còn chưa chuẩn, giảng viên mất nhiều công sức để định dạng lại nếu không sẽ thiếu các thông tin cần thiết như nhóm môn học, tổ, ghép, ngày thi... Xét trên toàn thể mấy trăm giảng viên, hàng chục ngàn sinh viên Học viện thời gian lãng phí là tương đối lớn, ảnh hưởng đến hiệu quả công việc. Đây chính là động lực giúp chúng tôi thực hiện nghiên cứu giải pháp và công nghệ, từ đó xây dựng một phần mềm cho phép tải dữ liệu thời khóa biểu từ Website đào tạo, tổ chức lưu trữ cục bộ và cung cấp các chức năng hỗ trợ giải quyết các vấn đề đặt ra ở trên.

1.   Khảo sát dữ liệu đầu vào

·    Dữ liệu đầu vào thời khóa biểu

Dữ liệu thời khóa biểu được thu thập từ đường link có dạng:

http://daotao.vnua.edu.vn/Default.aspx?page=thoikhoabieu&sta=1&id="mã giảng viên hoặc sinh viên"

Trong trang web tương ứng, thông tin ngày bắt đầu học kỳ được lưu trong một nhãn có dạng: “…bắt đầu từ ngày 15/08/2022”. Bảng thời khóa biểu được hiển thị có dạng như sau:

leftcenterrightdel
 Hình 1: Dạng bảng thời khóa biểu của giảng viên (sinh viên) trên Website đào tạo với các tình huống hiển thị

Cấu trúc mã HTML của bảng rất phức tạp, bảng không được tổ chức thành một khối đồng nhất theo cấu trúc bảng, mà nó bao gồm các nhiều bảng, khối div lồng nhau với các tình huống phát sinh khác nhau, có khối có class style duy nhất, có khối không, ngoài ra có lúc bảng thời khóa biểu còn bị khuyết cột “Mã lớp”. Hình ảnh thời khóa biểu trên chúng tôi đã tổng hợp các tình huống có thể phát sinh để đưa ra thông qua việc khảo sát thời khóa biểu của nhiều giảng viên, cấu trúc mã HTML của bảng thời khóa biểu.

·   Dữ liệu đầu vào file Excel chứa danh sách lớp hoặc các đầu điểm chi tiết

Các file Excel đầu vào có thể là phiên bản Excel 2003 hoặc các phiên bản mới hơn từ 2010 đến nay. Nội dung file Excel có phần khối tiêu đề cố định vị trí các nội dung thành phần theo địa chỉ ô, bảng danh sách sinh viên luôn bắt đầu từ dòng số 10, khối thông tin cuối danh sách bao gồm thông tin ngày tháng, vị trí ký nhận luôn cố định về mặt nội dung.

leftcenterrightdel
Hình 2: Nội dung file Excel danh sách thi tải từ website đào tạo 

 

2.   Các công nghệ sử dụng

·   Công nghệ tổng thể xây dựng ứng dụng desktop JavaFX

Do yêu cầu phần mềm cần có khả năng hoạt động khi không có kết nối Internet nên chúng tôi lựa chọn công nghệ JavaFX để xây dựng ứng dụng Desktop.

JavaFX là một giải pháp công nghệ cho GUI trên nền tảng Java nhằm tạo giao diện đồ họa người dùng dựa trên Swing và Java2D nhưng phong phú, mới mẻ và dễ sử dụng hơn rất nhiều. JavaFX là một nền tảng phần mềm phát triển các ứng dụng Internet phong phú (Rich Internet Applications – RIAs) có thể chạy trên nhiều loại thiết bị, nhiều hệ điều hành khác nhau.

JavaFX có nhiều gói thư viện hỗ trợ hiệu quả trong việc thiết kế các ứng dụng như đồ họa (2D và 3D), Flash, JQuery... Người lập trình có thể lựa chọn xây dựng giao diện dựa trên FXML với sự hỗ trợ của công cụ trực quan Scene Builder. FXML là một ngôn ngữ dựa trên XML cung cấp cấu trúc cho việc xây dựng một giao diện người dùng riêng biệt, tương tự các thẻ HTML. JavaFX cũng cho phép tích hợp CSS vào để làm ứng dụng nổi bật, phong phú và hoàn hảo hơn.

Từ trước tới nay, Java Swing luôn là lựa chọn hàng đầu của đa số lập trình viên khi xây dựng ứng dụng bằng nền tảng Java, nhưng với sự ra đời của JavaFX với nhiều ưu thế vượt trội hơn đã dần dần thay thế Java Swing. Người lập trình có thể dễ dàng chuyển đổi ứng dụng từ Swing sang JavaFX.

Từ khía cạnh các công nghệ dành cho ứng dụng Desktop, JavaFX là một lựa chọn tuyệt vời cho bất kỳ nhà phát triển Java hoặc bất kỳ ai muốn tham gia trở thành nhà phát triển GUI, nhờ các tính năng và dễ sử dụng của nó. Ngoài ra, JavaFX nhận được sự hỗ trợ đầy đủ từ Oracle và cộng đồng Java lớn mạnh.

·   Thư viện đọc và phân tích bảng thời khóa biểu Jsoup

Để đọc và phân tích mã HTML của một trang Web chúng tôi sử dụng thư viện Jsoup.

Jsoup là một thư viện Java mã nguồn mở được sử dụng chủ yếu để trích xuất dữ liệu từ HTML. Nó cũng cho phép bạn thao tác và xuất HTML. Jsoup có quá trình phát triển ổn định, tài liệu rất đầy đủ chi tiết và API tiện dụng. Jsoup cũng có thể được sử dụng để phân tích cú pháp và xây dựng XML. Jsoup cung cấp các chức năng như tìm nạp và phân tích cú pháp HTML, chọn và duyệt các thành phần dữ liệu mong muốn, trích xuất thuộc tính, văn bản và mã HTML của các thành phần, thêm/chỉnh sửa/xóa các thành phần và chỉnh sửa các thuộc tính của chúng.

·   Cơ sở dữ liệu Microsoft Access

Phần mềm tiện ích chúng tôi hướng đến xây dựng cần đạt được tính đơn giản, dễ sử dụng, không yêu cầu người dùng nhiều thao tác cài đặt nên việc lựa chọn một cơ sở dữ liệu lớn như MySQL, MS SQL… là không phù hợp. Microsoft Access là một cơ sở dữ liệu phù hợp cho các doanh nghiệp vừa và nhỏ, Microsoft Access chỉ cần một file dữ liệu được thiết lập sẵn, ứng dụng Java cung cấp thư viện để đọc, ghi cơ sở dữ liệu này nên người dùng thậm chí không cần cài đặt công cụ Office phần mềm vẫn có thể hoạt động độc lập được.

·   Thư viện đọc ghi file Excel Apache POI

Phần mềm tiện ích ngoài chức năng định dạng lại các file Excel sử dụng trong quá trình làm việc của giảng viên, phần mềm còn cần xuất file Excel thời khóa biểu để sử dụng trên di động, xuất file kết quả điểm danh. Chúng tôi lựa chọn Apache POI là một API phổ biến nhất, cho phép các lập trình viên tạo, chỉnh sửa và hiển thị các file MS Office sử dụng ngôn ngữ Java. Apache POI là một thư viện mã nguồn mở được phân phối bởi Apache. Apache POI gồm các class, method phục vụ việc mã hóa, giải mã dữ liệu từ các file MS Office.

3.   Kết quả

Sau một quá trình phân tích thực tiễn, nghiên cứu công nghệ và tìm tòi giải pháp, chúng tôi đã xây dựng thành công một phần mềm hỗ trợ giảng viên và sinh viên Học viện có thể theo dõi thời khóa biểu dễ dàng theo từng tuần, từng ngày trong tuần, tìm lịch trống cho nhóm sinh viên, giảng viên. Phần mềm còn hỗ trợ giảng viên quản lý lớp học, định dạng các tệp Excel sử dụng cho hoạt động coi thi, lưu trữ điểm. Phần mềm hiện đã chạy ổn định, giúp cho hoạt động giảng dạy và học tập của nhiều giảng viên, sinh viên Học viện trở lên thuận lợi và tiết kiệm nhiều thời gian công sức. Hình 3-8 là các giao diện chính của phần mềm.

leftcenterrightdel
 Hình 3: Hình ảnh giao diện phần mềm chức năng thời khóa biểu
leftcenterrightdel
 Hình 4: Hình ảnh giao diện phần mềm chức năng điểm danh
leftcenterrightdel
 Hình 5: Hình ảnh giao diện phần mềm chức năng tìm lịch trống của nhóm sinh viên/giảng viên
leftcenterrightdel
 Hình 6: Hình ảnh giao diện phần mềm chức năng format file Excel
leftcenterrightdel
 Hình 7: Hình ảnh file Excel file danh sách sau khi được định dạng lại bởi phần mềm
leftcenterrightdel
 Hình 8: Hình ảnh file Excel lịch dạy/học được xuất ra từ phần mềm để xem trên di động


Khoa CNTT