Bối cảnh và vấn đề nghiên cứu

Theo thống kê từ Quỹ Giao lưu Quốc tế Nhật Bản (công bố trên trang jpf.vn), số lượng người học tiếng Nhật tại Việt Nam đạt khoảng 175.000 người và tiếp tục duy trì xu hướng gia tăng. Sự mở rộng của cộng đồng người học kéo theo nhu cầu tham gia các kỳ thi đánh giá năng lực tiếng Nhật chuẩn hóa như Japanese Language Proficiency Test (JLPT) hay Nat-test. Tại Trường Đại học Phenikaa, nhu cầu này thể hiện rõ nét ở sinh viên theo học các chuyên ngành Ngôn ngữ Nhật và Công nghệ thông tin Việt - Nhật. Việc ôn luyện chứng chỉ đòi hỏi môi trường thực hành thường xuyên với nguồn học liệu sát thực tế.

Khảo sát thực tiễn cho thấy thị trường hiện có một số ứng dụng và website luyện thi (như Riki Edu, JLPT Test). Tuy nhiên, các giải pháp hiện tại bộc lộ một số bất cập khi áp dụng trực tiếp vào mô hình giảng dạy của cơ sở đào tạo:

  • Đa số nền tảng áp dụng hình thức thu phí hoặc giới hạn tính năng đối với tài khoản miễn phí.
  • Nhiều hệ thống chỉ cung cấp đáp án đúng/sai mà thiếu phần giải thích chi tiết nguyên nhân, gây khó khăn cho việc tự học.
  • Thiếu các công cụ quản lý dành cho giảng viên: không hỗ trợ theo dõi tiến độ làm bài, chưa có chức năng tổng hợp và đánh giá kết quả học tập của từng học viên theo từng lớp học cụ thể.

Xuất phát từ thực tế đó, tác giả Dương Thị Thu Huyền (ngành Công nghệ thông tin Việt - Nhật, khóa K13, Trường Đại học Phenikaa) đã thực hiện đồ án tốt nghiệp với đề tài "Xây dựng nền tảng web luyện thi JLPT ứng dụng trong dạy và học tiếng Nhật" dưới sự hướng dẫn của ThS. Nguyễn Thành Trung vào tháng 09/2023.

Mục tiêu và phạm vi của đề tài:

  1. Mục tiêu nghiên cứu và phát triển: Thiết kế và xây dựng một hệ thống website E-Learning hỗ trợ người học ôn luyện JLPT; cung cấp công cụ cho giảng viên quản lý lớp học, phân công bài kiểm tra và theo dõi kết quả của sinh viên; cung cấp công cụ quản trị hệ thống cho quản trị viên.
  2. Đối tượng nghiên cứu: Quy trình tổ chức thi và luyện thi JLPT; kiến trúc hệ thống E-Learning; các công nghệ phát triển web full-stack.
  3. Phạm vi ứng dụng: Triển khai phục vụ công tác dạy và học cho sinh viên và giảng viên tại Trường Đại học Phenikaa, tập trung vào hai nhóm đối tượng chính là sinh viên ngành Ngôn ngữ Nhật và Công nghệ thông tin Việt - Nhật.

Cơ sở lý thuyết và phương pháp

Đồ án ứng dụng các khái niệm và nguyên lý kỹ thuật phần mềm để giải quyết bài toán nghiệp vụ dạy và học trực tuyến:

  • Khung lý thuyết E-Learning: Nghiên cứu mô hình học tập trực tuyến kết hợp, hỗ trợ mở rộng không gian và thời gian học tập, đáp ứng tiêu chí người học có thể tự ôn luyện mọi lúc, mọi nơi và tiếp cận nguồn học liệu phân theo kỹ năng.
  • Phương pháp phân tích và thiết kế hướng đối tượng: Sử dụng ngôn ngữ mô hình hóa UML để xây dựng biểu đồ ca sử dụng (Use Case Diagram), mô tả chi tiết 51 use case (từ US01 đến US51), thiết lập ma trận phân quyền (Actor-Usecase Mapping) và định nghĩa các luồng hoạt động (Activities) cùng các quy tắc nghiệp vụ (Business Rules).
  • Phương pháp phát triển phần mềm: Áp dụng mô hình kiến trúc 3 lớp (3-tier architecture) nhằm tách biệt giữa tầng trình diễn (Presentation Tier), tầng xử lý logic nghiệp vụ (Application/Business Logic Tier) và tầng dữ liệu (Data Tier).
  • Nguồn dữ liệu: Cấu trúc bài luyện tập và đề thi được phân chia theo 4 kỹ năng chuẩn của kỳ thi JLPT bao gồm: Từ vựng (Goi), Ngữ pháp (Bunbou), Nghe hiểu (Choukai) và Đọc hiểu (Dokkai).

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế hoàn chỉnh từ kiến trúc tổng thể, cơ sở dữ liệu cho đến các giao diện nghiệp vụ phục vụ 3 nhóm tác nhân (Actors): Quản trị viên (ADMIN), Giáo viên (TEACHER) và Học viên (STUDENT).

Công nghệ sử dụng

  • Phía máy khách (Frontend Client): Thư viện ReactJS và ngôn ngữ JavaScript được sử dụng để xây dựng giao diện tương tác người dùng (SPA); khung giao diện Bootstrap được ứng dụng nhằm định dạng bố cục và hỗ trợ tính tương thích hiển thị.
  • Phía máy chủ (Backend Server): Ngôn ngữ lập trình Java kết hợp framework Spring Boot để xây dựng RESTful API xử lý các luồng nghiệp vụ, xác thực và quản lý tài nguyên.
  • Tích hợp dịch vụ xác thực bên thứ ba: Tích hợp giao thức đăng nhập qua Google OAuth, xử lý luồng trao đổi refresh-token và authen-token giữa máy khách, máy chủ backend và Google Server.

Bảng phân quyền tác nhân và nhóm chức năng chính

Nhóm tác nhân Nhóm chức năng chính Phạm vi phân quyền nghiệp vụ
ADMIN Quản lý người dùng, Quản lý lớp học, Quản lý câu hỏi - Thêm, sửa, vô hiệu hóa (Disable), kích hoạt lại (Un-disable), gán người dùng vào lớp (Assign user), xóa khỏi lớp (Un-assign).
- Nhập/xuất dữ liệu người dùng qua file Excel (Import/Export list user).
- Thêm, sửa, xóa, xuất danh sách lớp học và ngân hàng câu hỏi tổng thể.
TEACHER Quản lý giảng dạy và đánh giá - Tham gia lớp học (Join class), quản lý danh sách học sinh thuộc lớp phụ trách.
- Quản lý ngân hàng câu hỏi (Add/Edit/Delete/Export question).
- Tạo, sửa, xóa bài kiểm tra định kỳ (Manage exam).
- Quản lý bài đăng trao đổi trong lớp (Manage posts, Comments).
- Xem bảng tổng hợp điểm số và kết quả làm bài của từng học viên (Scores summary).
STUDENT Tự học và Làm bài kiểm tra - Tham gia lớp học (Join class).
- Luyện tập trắc nghiệm theo 4 chủ đề kỹ năng: Goi, Bunbou, Choukai, Dokkai (Practice lesson).
- Thực hiện bài kiểm tra theo lớp (Do exam).
- Đọc bài đăng, tạo bình luận, phản hồi thảo luận (Read posts, Add/Edit/Delete/Reply comment).
- Quản lý ghi chú cá nhân (Manage notes: Add, Edit, Delete).

Thiết kế cơ sở dữ liệu và các thực thể dữ liệu

Hệ thống thiết lập cơ sở dữ liệu quan hệ với các bảng biểu quản lý người dùng, phân quyền, cấu trúc lớp học và dữ liệu thi cử. Trong đó, các bảng quan trọng bao gồm:

  • question_assign_exam: Quản lý việc gán danh sách câu hỏi vào các đề thi cụ thể.
  • user_assignment: Quản lý việc phân công đề thi hoặc bài tập cho từng học viên trong lớp.
  • result_exam: Lưu trữ lịch sử, điểm số và kết quả bài làm chi tiết của từng sinh viên.

Các quy tắc nghiệp vụ (Business Rules) tiêu biểu

  • Đăng ký và xác thực tài khoản (UC01, UC04): Định dạng email hợp lệ; mật khẩu bắt buộc có tối thiểu 8 ký tự, bao gồm ít nhất một chữ cái viết hoa, một chữ cái viết thường, một chữ số và một ký tự đặc biệt.
  • Quản lý thông tin người dùng (UC06, UC08): Các trường Role và Email không được phép tự ý sửa đổi khi cập nhật tài khoản; trường ngày sinh (Date of birth) phải đảm bảo người dùng trên 17 tuổi; tài khoản bị vô hiệu hóa (Disable) sẽ bị chặn toàn bộ quyền truy cập hệ thống.
  • Hiển thị danh sách (UC05): Hỗ trợ tìm kiếm người dùng theo địa chỉ email và chia phân trang linh hoạt theo các mức 5, 10 hoặc 15 dòng trên mỗi trang.

Nội dung chính theo từng chương

Chương 1. Giới thiệu đề tài

Chương 1 làm rõ tính cấp thiết của việc xây dựng công cụ học tiếng Nhật phục vụ sinh viên Trường Đại học Phenikaa trong bối cảnh nhu cầu thi chứng chỉ JLPT tăng cao. Tác giả chỉ ra các điểm nghẽn của các website hiện có trên thị trường, từ đó xác định mục tiêu phát triển hệ thống quản lý lớp học và luyện thi trực tuyến, vạch ra định hướng sử dụng công nghệ ReactJS kết hợp Spring Boot, đồng thời tóm tắt bố cục 5 chương của đồ án.

Chương 2. Khảo sát và phân tích yêu cầu

Chương 2 tập trung phân tích chi tiết các yêu cầu chức năng và phi chức năng của hệ thống. Tác giả thiết lập biểu đồ Use Case tổng quan và bảng ánh xạ chức năng cho 3 tác nhân: ADMIN, TEACHER, STUDENT. Danh mục chức năng gồm 51 use case được đặc tả tỉ mỉ từ US01 đến US51, đi kèm bảng luồng hoạt động (Activities) giữa Actor, Front-end và Server, cùng các quy tắc kiểm tra tính hợp lệ của dữ liệu đầu vào.

Chương 3. Công nghệ sử dụng

Chương 3 trình bày cơ sở lý thuyết và đặc tính kỹ thuật của các công cụ được lựa chọn:

  • Ngôn ngữ Java và nền tảng Spring Boot: giải thích ưu điểm về tính đóng gói, khả năng xử lý đa luồng, hỗ trợ xây dựng kiến trúc REST API hướng dịch vụ.
  • Ngôn ngữ JavaScript và thư viện ReactJS: phân tích cơ chế hoạt động của Virtual DOM, khả năng tái sử dụng component giao diện.
  • Thư viện Bootstrap: hỗ trợ thiết kế giao diện theo lưới chuẩn.

Chương 4. Phát triển và triển khai ứng dụng

Chương 4 mô tả toàn bộ quá trình hiện thực hóa phần mềm:

  • Thiết kế kiến trúc mô hình 3 lớp.
  • Thiết kế cơ sở dữ liệu quan hệ và các bảng liên kết bài thi (question_assign_exam, user_assignment, result_exam).
  • Hiện thực hóa và chụp ảnh minh họa các màn hình giao diện: Đăng nhập (Login), Quản lý người dùng (Manage user), Thêm người dùng (Add user), Quản lý câu hỏi (Manage questions).
  • Kiểm thử chức năng: Thiết lập các bảng kịch bản kiểm thử (Test cases) cho chức năng Login, Manage user và Add user nhằm đánh giá tính đúng đắn của phần mềm.

Chương 5. Kết luận và hướng phát triển

Chương 5 tổng kết lại toàn bộ các mục tiêu đã hoàn thành đối chiếu với đề cương ban đầu, tự đánh giá các kỹ năng và kinh nghiệm thu nhận được trong quá trình thực hiện đồ án, đồng thời đề xuất các định hướng nâng cấp hệ thống trong tương lai.


Kết quả và đóng góp

  • Kết quả xây dựng phần mềm: Tác giả đã hoàn thiện hệ thống website E-Learning phục vụ luyện thi JLPT với đầy đủ giao diện máy khách và dịch vụ máy chủ, hỗ trợ 51 use case nghiệp vụ cho 3 nhóm đối tượng sử dụng.
  • Giải quyết bài toán quản lý lớp học: Khắc phục được hạn chế lớn nhất của các ứng dụng luyện thi hiện hành bằng cách cung cấp chức năng phân lớp, gán đề thi theo lớp, cho phép giáo viên theo dõi điểm số tổng quan và chi tiết của sinh viên.
  • Cấu trúc ngân hàng đề thi bám sát thực tế: Hỗ trợ thực hành trọn vẹn 4 phần thi kỹ năng (Goi, Bunbou, Choukai, Dokkai) kèm theo công cụ ghi chú cá nhân và diễn đàn trao đổi trực tiếp dưới các bài đăng của lớp học.
  • Quy trình triển khai bài bản: Toàn bộ quy trình từ phân tích use case, thiết kế cơ sở dữ liệu đến kiểm thử chức năng (Login, Manage user, Add user) đều được ghi chép và thực thi đầy đủ.

Hạn chế và hướng nghiên cứu tiếp

  • Hạn chế: Hệ thống được thiết kế và thử nghiệm chủ yếu dựa trên phạm vi nhu cầu nội bộ của sinh viên ngành Ngôn ngữ Nhật và Công nghệ thông tin Việt - Nhật thuộc Trường Đại học Phenikaa; chưa được thử nghiệm tải với quy mô người dùng đồng thời lớn từ nhiều trường đại học khác.
  • Hướng phát triển: Tác giả định hướng tiếp tục hoàn thiện các chức năng nâng cao, tối ưu hóa giao diện người dùng, mở rộng thêm các dạng câu hỏi đa phương tiện và phát triển thêm các giải thuật phân tích kết quả học tập để hỗ trợ học viên khắc phục các kỹ năng còn yếu.

Giá trị tham khảo

Tài liệu khóa luận có giá trị tham khảo thiết thực cho:

  1. Sinh viên chuyên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Là tài liệu mẫu về cấu trúc đồ án tốt nghiệp ứng dụng web full-stack, cung cấp phương pháp đặc tả use case, phân rã luồng hoạt động (Activities) và thiết kế hệ thống theo mô hình Spring Boot kết hợp ReactJS.
  2. Nhà phát triển các hệ thống E-Learning: Tham khảo cấu trúc cơ sở dữ liệu liên quan đến tổ chức bài thi trắc nghiệm, quản lý phân công bài tập (user_assignment, question_assign_exam, result_exam) và luồng xác thực tích hợp Google OAuth.
  3. Giảng viên và sinh viên ngành Ngôn ngữ Nhật: Tham khảo mô hình phân chia bài tập theo 4 kỹ năng (Goi, Bunbou, Choukai, Dokkai) kết hợp quản lý lớp học trực tuyến.

Câu hỏi thường gặp

1. Hệ thống hỗ trợ luyện tập những kỹ năng tiếng Nhật nào theo chuẩn JLPT?
Hệ thống phân chia nội dung thực hành thành 4 chủ đề kỹ năng chính của kỳ thi JLPT, bao gồm: Từ vựng (Goi), Ngữ pháp (Bunbou), Nghe hiểu (Choukai) và Đọc hiểu (Dokkai).

2. Điểm khác biệt lớn nhất giữa nền tảng này và các ứng dụng luyện thi có sẵn như Riki Edu hay JLPT Test là gì?
Nền tảng tập trung giải quyết bài toán quản lý lớp học trong môi trường đào tạo đại học. Giáo viên có quyền tạo bài kiểm tra, theo dõi quá trình làm bài và xem bảng tổng kết điểm (Scores summary) của từng sinh viên trong lớp, điều mà các ứng dụng thương mại đại trà chưa hỗ trợ tốt cho các lớp học cố định.

3. Kiến trúc kỹ thuật và tech-stack chính của hệ thống gồm những gì?
Hệ thống sử dụng mô hình kiến trúc 3 lớp. Phía máy chủ sử dụng Java và framework Spring Boot để cung cấp RESTful API; phía máy khách sử dụng thư viện ReactJS, JavaScript và CSS framework Bootstrap; hệ thống hỗ trợ đăng nhập qua Google OAuth.

4. Hệ thống phân chia quyền hạn cho những nhóm người dùng nào?
Hệ thống định nghĩa 3 nhóm tác nhân chính: ADMIN (quản trị toàn bộ người dùng, lớp học, ngân hàng câu hỏi, import/export dữ liệu Excel), TEACHER (quản lý câu hỏi, bài kiểm tra, bài đăng và xem điểm của sinh viên trong lớp) và STUDENT (luyện tập theo kỹ năng, làm bài thi, quản lý ghi chú và tham gia bình luận).

5. Quy định về mật khẩu và thông tin tài khoản người dùng được thiết lập như thế nào?
Mật khẩu yêu cầu độ dài tối thiểu 8 ký tự, gồm ít nhất một chữ hoa, một chữ thường, một chữ số và một ký tự đặc biệt. Khi cập nhật tài khoản, người dùng không được phép chỉnh sửa Email và Role, đồng thời ngày sinh phải đảm bảo người dùng trên 17 tuổi.


Kết luận

Đồ án tốt nghiệp của sinh viên Dương Thị Thu Huyền đã hoàn thành việc nghiên cứu, thiết kế và xây dựng thành công nền tảng web luyện thi JLPT hỗ trợ công tác dạy và học tại Trường Đại học Phenikaa. Bằng việc kết hợp kiến trúc Spring Boot và ReactJS, hệ thống cung cấp giải pháp toàn diện cho cả 3 đối tượng Quản trị viên, Giảng viên và Sinh viên, giải quyết triệt để nhu cầu quản lý lớp học và theo dõi kết quả thi cử. Báo cáo đồ án được trình bày khoa học, chi tiết từ khâu phân tích 51 ca sử dụng đến thiết kế cơ sở dữ liệu và kiểm thử, tạo tiền đề tốt cho các nghiên cứu mở rộng trong lĩnh vực giáo dục trực tuyến.