Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh xã hội hiện đại, nhu cầu nâng cao năng lực chuyên môn và tích lũy tri thức ngày càng gia tăng. Tuy nhiên, rào cản về quỹ thời gian và chi phí khiến việc tham gia các khóa học trực tiếp gặp nhiều trở ngại. Hình thức đào tạo trực tuyến trở thành giải pháp tối ưu nhờ tính linh hoạt về địa điểm, thời gian và khả năng tiết kiệm chi phí. Thực tiễn này thúc đẩy các cơ sở đào tạo, đặc biệt là các đơn vị đào tạo lập trình, chuyển dịch mạnh mẽ sang môi trường số.
Để vận hành mô hình đào tạo từ xa, cơ sở đào tạo cần một hệ thống quản lý học tập (LMS) đóng vai trò trung tâm phân phối dịch vụ, quản lý tài liệu, bài tập, kiểm tra và theo dõi tiến độ của học viên. Mặc dù vậy, chi phí đầu tư xây dựng hạ tầng phần mềm độc lập là thách thức lớn đối với nhiều trung tâm quy mô vừa và nhỏ. Về phía người học, việc tiếp cận nhiều nền tảng đào tạo khác nhau gây ra sự bất tiện trong việc ghi nhớ thông tin tài khoản và thích ứng với các giao diện quản trị riêng biệt. Xuất phát từ thực trạng trên, đề tài "Xây dựng hệ thống websites cung cấp dịch vụ quản lý học tập của cơ sở đào tạo trực tuyến" được thực hiện nhằm cung cấp một giải pháp phần mềm dùng chung, tối ưu hóa quản lý và hạ giá thành vận hành.
Mục tiêu tổng quát của đề tài là xây dựng hệ thống website hoàn chỉnh cung cấp dịch vụ quản lý đào tạo trực tuyến, đáp ứng nhu cầu thực tế của các nhóm đối tượng sử dụng và hỗ trợ chuyên sâu cho các cơ sở đào tạo lập trình. Để hiện thực hóa mục tiêu này, nhiệm vụ nghiên cứu được xác định theo 5 nội dung chính:
- Xây dựng website cho nhân viên hệ thống nhằm quản lý người dùng, gói dịch vụ và các cấu hình liên quan.
- Xây dựng website cho người sử dụng ở vai trò chủ sở hữu cơ sở đào tạo (đăng ký dịch vụ, khởi tạo lớp học, phân quyền giảng viên, học viên, quản lý nội dung).
- Xây dựng website cho người sử dụng ở vai trò người hướng dẫn (quản trị bài giảng, bài tập, kiểm tra, chấm điểm).
- Xây dựng website cho người học (tham gia lớp học, tiếp cận tài nguyên, làm bài tập và thực hiện bài kiểm tra).
- Triển khai toàn bộ hệ thống lên môi trường Internet.
Đối tượng nghiên cứu của đề tài là hệ thống website cung cấp dịch vụ quản lý học tập, bao gồm các phân hệ quản lý người dùng, quản trị khóa học, quản lý lớp học, phân phối tài nguyên, đăng ký dịch vụ, thanh toán và lưu trữ dữ liệu. Phạm vi nghiên cứu tập trung vào khảo sát quy trình quản lý đào tạo, khai thác nền tảng Python, Odoo, framework Flask và hệ quản trị cơ sở dữ liệu PostgreSQL. Thời gian thực hiện đồ án diễn ra từ ngày 05/03/2024 đến ngày 10/07/2024 tại Khoa Công nghệ Thông tin, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.
Cơ sở lý thuyết và phương pháp
Về nền tảng công nghệ, tác giả lựa chọn framework Flask kết hợp nền tảng mã nguồn mở Odoo trên nền tảng ngôn ngữ Python. Cơ sở dữ liệu được tổ chức trên hệ quản trị cơ sở dữ liệu quan hệ PostgreSQL. Hệ thống sử dụng công cụ thiết kế ISAD trực tuyến (app.net / diagrams.net), môi trường phát triển mã nguồn Visual Studio Code và triển khai thực tế trên máy chủ ảo VPS (Virtual Private Server). Nhằm giải quyết bài toán lưu trữ tệp tin dung lượng lớn, hệ thống tích hợp dịch vụ lưu trữ đám mây Microsoft OneDrive thông qua giao diện lập trình ứng dụng.
Trước khi tiến hành thiết kế, tác giả đã phân tích và đối sánh hai nền tảng đào tạo trực tuyến phổ biến:
| Nền tảng |
Ưu điểm chính |
Hạn chế ghi nhận trong văn bản |
| Google Classroom |
Miễn phí; giao diện trực quan; tích hợp sâu với hệ sinh thái Google (Gmail, Drive, Docs, Sheets, Slides); truy cập linh hoạt từ nhiều thiết bị. |
Ít khả năng tùy biến chức năng và giao diện; phụ thuộc hoàn toàn vào hạ tầng tài khoản của Google; tiềm ẩn quan ngại về bảo mật dữ liệu. |
| UTEx (HCMUTE) |
Giao diện thân thiện; đa dạng tài nguyên học tập (video, bài giảng, bài tập); có công cụ tương tác (diễn đàn, trò chuyện); công cụ đánh giá tiến độ chi tiết. |
Chất lượng nội dung giữa các khóa học chưa đồng đều; tương tác trực tuyến cần tăng cường; hỗ trợ xử lý sự cố kỹ thuật đôi lúc còn chậm. |
Phương pháp nghiên cứu thực tế được triển khai theo quy trình phát triển phần mềm gồm các bước:
- Phương pháp khảo sát và phân tích yêu cầu: Phân tách chức năng theo từng tác nhân người dùng (nhân viên quản trị, chủ sở hữu cơ sở đào tạo, giảng viên, học viên).
- Phương pháp mô hình hóa dữ liệu: Thiết kế lược đồ quan hệ thực thể (ERD) chuẩn hóa, phân chia thành 5 nhóm module dữ liệu độc lập.
- Phương pháp phân tích kiến trúc phần mềm: Xây dựng cơ chế kiến trúc hướng dịch vụ, tích hợp module trung gian Middlegate để điều phối yêu cầu và quản lý xác thực tập trung.
- Phương pháp kiểm thử và thực nghiệm: Triển khai thử nghiệm các phân hệ chức năng trên môi trường mạng diện rộng thông qua VPS.
Nguồn dữ liệu sử dụng trong đề tài bao gồm các yêu cầu chức năng thực tế từ mô hình đào tạo trực tuyến và hệ thống cấu trúc bảng kế thừa, mở rộng từ nền tảng quản trị Odoo.
Thiết kế và triển khai
Hệ thống được thiết kế theo mô hình phân tầng dịch vụ với cổng giao tiếp trung gian (Middlegate). Mô hình này phân tách trách nhiệm giữa tầng giao diện người dùng và tầng xử lý nghiệp vụ backend:
-
Kiến trúc phân tầng và điều phối dịch vụ:
Toàn bộ tương tác từ các ứng dụng web không kết nối trực tiếp đến tầng dữ liệu mà phải gửi yêu cầu (HTTP Request) qua thành phần trung gian Middlegate. Tại đây, Middlegate kiểm tra tính hợp lệ của token phân quyền thông qua Account Service. Nếu hợp lệ, yêu cầu được định tuyến đến Service chức năng tương ứng; nếu không hợp lệ, hệ thống trả về mã trạng thái HTTP 401. Tại từng Service, cấu trúc xử lý nội bộ tuân thủ mô hình 3 tầng: Service (điều hướng nghiệp vụ) -> Util (xử lý tiện ích) -> Model (truy xuất và ánh xạ dữ liệu với PostgreSQL).
-
Luồng hoạt động của các nhóm chức năng:
- Chức năng nội bộ: Áp dụng cho các truy vấn dữ liệu trong cùng một phân nhóm bảng (ví dụ: đăng nhập, xem thông tin người dùng). Yêu cầu đi từ Frontend qua Middlegate, xác thực token tại
Account Service, sau đó thực thi qua các tầng Service, Util, Model và trả về kết quả theo chiều ngược lại.
- Chức năng giao tiếp ngoài: Áp dụng khi một Service cần lấy dữ liệu thuộc phân nhóm khác (ví dụ: Service quản lý hiển thị dịch vụ cần lấy thông tin kỳ hạn và đơn giá từ
Sale Service). Tại tầng Service của dịch vụ nguồn, hệ thống phát sinh request ngược lại Middlegate để chuyển tiếp sang dịch vụ đích và nhận phản hồi đồng bộ trước khi hoàn tất xử lý.
- Chức năng thanh toán dịch vụ: Gồm 11 bước xử lý chặt chẽ. Sau khi xác thực quyền người dùng,
Sale Service xử lý đơn hàng và phản hồi URL thanh toán về Frontend. Người dùng hoàn tất giao dịch tại cổng thanh toán bên ngoài, hệ thống tự động chuyển tiếp về URL kết thúc giao dịch, kích hoạt tiến trình ghi nhận trạng thái hóa đơn và cập nhật tài nguyên qua Middlegate.
-
Tích hợp lưu trữ tệp tin:
Hệ thống không lưu trữ trực tiếp các tệp tin bài giảng, video hay bài nộp của học viên vào cơ sở dữ liệu quan hệ. Thay vào đó, tệp tin được tải lên hạ tầng đám mây Microsoft OneDrive. Hệ thống trích xuất và lưu trữ mã định danh tệp (OneDrive ID) cùng đường dẫn tải xuống vào các trường dữ liệu của bảng SlideSlideAttachment và SlideSlide.
Nội dung chính theo từng chương
Báo cáo khóa luận được bố cục thành 4 chương chuyên môn chính:
Chương 1. Giới thiệu đề tài
Chương 1 thiết lập bức tranh tổng quan về đề tài nghiên cứu. Tác giả trình bày lý do chọn đề tài dựa trên nhu cầu cấp thiết của việc chuẩn hóa dịch vụ đào tạo từ xa, xác định mục tiêu và phạm vi chuyên môn gồm phân hệ nhân viên và phân hệ người sử dụng. Báo cáo xác lập giới hạn rõ ràng: đề tài chưa đi sâu vào cơ chế bảo mật nâng cao và chữ ký số, chưa phát triển ứng dụng di động (MobileApp) cho các giao dịch, và chưa xây dựng phân hệ quản lý thi cử chuyên biệt. Chương này cũng điểm qua danh mục công nghệ cốt lõi và phác thảo cấu trúc tài liệu.
Chương 2. Phân tích và thiết kế hệ thống
Chương 2 trình bày chi tiết các yêu cầu kỹ thuật và bản vẽ thiết kế của hệ thống. Tác giả phân tích yêu cầu chức năng cho từng nhóm đối tượng, mô hình hóa qua sơ đồ Use Case tổng quát. Cơ sở dữ liệu được chuẩn hóa thành 5 nhóm thực thể chính:
- Nhóm thông tin người dùng (3 thực thể):
CustomerAuthAccount (tài khoản), ResPartner (thông tin cá nhân), CustomerAuthToken (mã phiên xác thực).
- Nhóm khóa học (11 thực thể):
SlideChannel (khóa học), SlideChannelGroup (nhóm khóa học), SlideRequestEnroll (yêu cầu ghi danh), SlideChannelPartner (liên kết khóa học - người dùng), SlideSlide (nội dung bài giảng), SlideSlidePartner (theo dõi tiến độ học tập), SlideSlideAttachment (tệp tin đính kèm), SlideSlidePartnerAttempt (bài nộp/lần làm bài), SlideQuestion (câu hỏi trắc nghiệm), SlideAnswer (đáp án), và ResPartner.
- Nhóm tài nguyên đào tạo (2 thực thể):
CustomerResource (gói tài nguyên sở hữu) và CustomerResourceLine (chi tiết tài nguyên theo loại dung lượng/thời hạn).
- Nhóm phiếu đăng ký (10 thực thể):
SaleOrder, SaleOrderLine, SaleSubscriptionPlan, SaleSubscriptionPricing, AccountMove, AccountMoveLine, SaleOrderLineInvoice, AccountPayment, PaymentTransaction, SaleOrderTransactionRel.
- Nhóm dịch vụ (11 thực thể):
ProductTemplate, ProductProduct, ProductAttribute, ProductAttributeValue, ProductResource, ResourceUnit, ResourceUnitValue, ProductTemplateResource, ProductTemplateAttributeValue, ProductVariantCombinations, ProductProductSaleSubscriptionPricingRel.
Cũng trong chương này, tác giả phác thảo chi tiết 21 giao diện màn hình (từ USER-01 đến USER-05, COURSE-01 đến COURSE-13, CR-01, CR-02, SERVICE-01) và ánh xạ việc phân bổ các trang giao diện trên 3 component phần mềm chính:
| Nhóm trang |
Mã trang |
Tên trang giao diện |
DFFPortal |
DFFX |
DFFERP |
| Người dùng |
USER-01 |
Trang đăng nhập |
Có |
Có |
Có |
|
USER-02 |
Trang đăng ký tài khoản |
Có |
Có |
Có |
|
USER-03 |
Trang thay đổi mật khẩu |
Có |
Có |
Có |
|
USER-04 |
Trang thông tin người dùng |
Có |
Có |
Có |
|
USER-05 |
Trang chỉnh sửa thông tin người dùng |
Có |
Có |
Có |
| Khóa học |
COURSE-01 |
Trang danh sách khóa học |
Có |
Có |
Có |
|
COURSE-02 |
Trang chi tiết khóa học |
Có |
Có |
Có |
|
COURSE-03 |
Trang danh sách nội dung bài học |
Không |
Có |
Có |
|
COURSE-04 |
Trang chi tiết nội dung bài học |
Không |
Có |
Có |
|
COURSE-05 |
Trang chỉnh sửa thông tin nội dung bài học |
Không |
Có |
Có |
|
COURSE-06 |
Trang theo dõi bảng điểm số |
Không |
Có |
Có |
|
COURSE-07 |
Trang quản lý thành viên khóa học |
Có |
Có |
Có |
|
COURSE-08 |
Trang danh sách câu hỏi nội dung |
Không |
Có |
Có |
|
COURSE-09 |
Trang tải tệp tin đính kèm bài học |
Không |
Có |
Có |
|
COURSE-10 |
Trang tải và nộp bài tập |
Không |
Có |
Có |
|
COURSE-11 |
Trang thực hiện bài trắc nghiệm (Quiz) |
Không |
Có |
Có |
|
COURSE-12 |
Trang xác nhận nộp bài kiểm tra |
Không |
Có |
Có |
|
COURSE-13 |
Trang danh sách loại khóa học |
Có |
Không |
Có |
| Tài nguyên |
CR-01 |
Trang danh sách tài nguyên người dùng |
Có |
Không |
Có |
|
CR-02 |
Trang chi tiết tài nguyên người dùng |
Có |
Không |
Có |
| Dịch vụ |
SERVICE-01 |
Trang danh sách gói dịch vụ |
Có |
Không |
Có |
Chương 3. Xây dựng và phát triển hệ thống
Chương 3 trình bày các đặc tả vận hành kỹ thuật của hệ thống. Tác giả phân tích cụ thể 3 lưu đồ hoạt động gồm: luồng xử lý chức năng nội bộ, luồng chức năng giao tiếp liên dịch vụ và luồng quy trình thanh toán trực tuyến qua cổng thương mại. Chương này dẫn chứng các đoạn mã nguồn cốt lõi trong việc chấm điểm tự động các bài nộp dạng câu hỏi (Quiz) và module kết nối API tải tệp tin lên hạ tầng Microsoft OneDrive. Kiến trúc điều phối qua Middlegate và sơ đồ trạng thái phản hồi HTTP (sử dụng các mã chuẩn như 200, 401) được phân tích nhằm chứng minh tính liên kết giữa các dịch vụ backend.
Chương 4. Giới thiệu sản phẩm đề tài
Chương 4 mô tả tổng quan về các sản phẩm hoàn chỉnh của đề tài. Tác giả trình bày chi tiết cách thức tổ chức và vận hành của 3 website thành phần: DFFPortal (cổng dịch vụ và tài nguyên), DFFX (không gian học tập và giảng dạy trực tuyến), và DFFERP (hệ thống quản trị vận hành nội bộ dành cho nhân viên). Các nhóm chức năng dùng chung (xác thực, hồ sơ cá nhân) cùng các chức năng chuyên biệt cho chủ sở hữu, giảng viên và học viên được kiểm nghiệm thực tế trên môi trường máy chủ.
Kết quả và đóng góp
Về kết quả thực nghiệm, đồ án đã hoàn thành các mục tiêu đề ra và cho ra đời hệ thống gồm 3 website độc lập nhưng tích hợp chặt chẽ:
- DFFPortal: Cổng thông tin hỗ trợ người dùng đăng ký, thanh toán, quản lý gói dịch vụ và kiểm soát tài nguyên đào tạo.
- DFFX: Hệ thống học tập trực tuyến dành riêng cho người học và người hướng dẫn, cung cấp các tính năng tương tác bài giảng, tải tài liệu, thực hiện bài kiểm tra trắc nghiệm, nộp bài tập và tra cứu bảng điểm.
- DFFERP: Nền tảng quản trị dành cho nhân viên hệ thống và chủ cơ sở đào tạo nhằm kiểm soát toàn diện danh mục khóa học, thành viên, gói dịch vụ và hóa đơn thanh toán.
Hệ thống đã triển khai thành công mô hình cơ sở dữ liệu với tổng cộng 26 thực thể quan hệ, hỗ trợ việc phân bổ tài nguyên theo đơn vị lưu trữ (GB) và thời gian hiệu lực. Toàn bộ giải pháp đã được đóng gói và triển khai vận hành thử nghiệm trên Internet qua máy chủ ảo VPS.
Về mặt đóng góp khoa học và ứng dụng, đồ án đã đề xuất một mô hình kiến trúc dịch vụ hóa hệ thống quản lý học tập (LMS dưới dạng dịch vụ), giúp các cơ sở đào tạo trực tuyến quy mô nhỏ cắt giảm chi phí đầu tư ban đầu cho việc phát triển phần mềm. Việc thiết kế mô hình cơ sở dữ liệu tách biệt giữa tài nguyên dịch vụ và nội dung đào tạo tạo điều kiện thuận lợi cho việc mở rộng tính năng thương mại hóa khóa học trong tương lai.
Hạn chế và hướng nghiên cứu tiếp
Bên cạnh các kết quả đạt được, tác giả chỉ ra các hạn chế hiện hữu của hệ thống do ràng buộc về thời gian thực hiện (từ tháng 3 đến tháng 7 năm 2024):
- Hệ thống chưa hỗ trợ các cơ chế bảo mật nâng cao và giải pháp chữ ký số trong xác thực hợp đồng dịch vụ hoặc chứng chỉ hoàn thành khóa học.
- Chưa phát triển ứng dụng trên thiết bị di động (MobileApp) để hỗ trợ người dùng theo dõi và thực hiện các giao dịch tiện lợi hơn.
- Phân hệ kiểm tra và thi cử chỉ dừng lại ở các dạng câu hỏi trắc nghiệm và nộp bài cơ bản, chưa có hệ thống giám sát và quản lý thi cử độc lập.
Hướng phát triển tiếp theo được tác giả xác định là hoàn thiện các phân hệ còn khuyết, nghiên cứu tích hợp thêm các dịch vụ lưu trữ đám mây ngoài OneDrive (như Google Drive), và tối ưu hóa hiệu năng xử lý của thành phần Middlegate khi tải lượng người dùng gia tăng.
Giá trị tham khảo
Báo cáo khóa luận là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin đang thực hiện các đồ án tốt nghiệp liên quan đến nền tảng LMS hoặc các hệ thống quản lý dịch vụ thuê bao (Subscription Management).
Các nội dung có giá trị tham khảo chuyên môn cao bao gồm:
- Bản thiết kế chi tiết 5 nhóm thực thể cơ sở dữ liệu quan hệ mô phỏng theo mô hình Odoo nhưng được tối ưu hóa cho quản lý lớp học trực tuyến.
- Mô hình kiến trúc giao tiếp dịch vụ thông qua Middlegate và quy trình xử lý thanh toán trực tuyến 11 bước.
- Bảng ma trận phân bổ giao diện (21 trang) trên các hệ thống website khác nhau, hỗ trợ tốt cho việc thiết kế UI/UX và phân chia vai trò người dùng trong các dự án phần mềm đa phân hệ.
Câu hỏi thường gặp
1. Sản phẩm phần mềm của khóa luận gồm những website cụ thể nào và phân định vai trò ra sao?
Hệ thống gồm 3 website: DFFPortal (quản lý đăng ký dịch vụ, thanh toán và tài nguyên), DFFX (dành cho giảng viên và học viên tham gia học tập, quản lý bài giảng, làm bài tập và chấm điểm), và DFFERP (dành cho nhân viên hệ thống và chủ sở hữu quản trị cấu hình dịch vụ, người dùng và khóa học).
2. Kiến trúc backend của hệ thống xử lý các yêu cầu như thế nào?
Hệ thống sử dụng Middlegate làm trung gian điều phối. Mọi yêu cầu từ Frontend đều gửi đến Middlegate để kiểm tra tính hợp lệ của token qua Account Service trước khi chuyển tiếp sang Service nghiệp vụ tương ứng. Tại mỗi Service, luồng xử lý diễn ra theo thứ tự 3 tầng: Service -> Util -> Model để thao tác với cơ sở dữ liệu PostgreSQL.
3. Cơ sở dữ liệu của đề tài được tổ chức thành những nhóm thực thể nào?
Cơ sở dữ liệu gồm 5 nhóm thực thể chính: Nhóm thông tin người dùng (CustomerAuthAccount, ResPartner, CustomerAuthToken), Nhóm khóa học (11 thực thể quản lý khóa học, bài học, tệp đính kèm, bài nộp, câu hỏi), Nhóm tài nguyên đào tạo (CustomerResource, CustomerResourceLine), Nhóm phiếu đăng ký (10 thực thể phục vụ đơn hàng, kỳ hạn, hóa đơn, thanh toán), và Nhóm dịch vụ (11 thực thể phục vụ định nghĩa gói sản phẩm, thuộc tính và bảng giá).
4. Dữ liệu tệp tin đính kèm và bài giảng dung lượng lớn được lưu trữ bằng phương thức nào?
Hệ thống không lưu trữ tệp tin nhị phân trực tiếp trong cơ sở dữ liệu PostgreSQL mà tải tệp lên dịch vụ lưu trữ đám mây Microsoft OneDrive. Cơ sở dữ liệu chỉ lưu trữ các thuộc tính định danh như OneDrive ID và đường dẫn liên kết tải xuống trong bảng SlideSlideAttachment và SlideSlide.
5. Những chức năng nào được tác giả xác định nằm ngoài phạm vi nghiên cứu của đề tài?
Theo văn bản khóa luận, đề tài chưa tập trung vào 3 nội dung: các chức năng bảo mật nâng cao và chữ ký số; các chức năng giao dịch trên ứng dụng di động (MobileApp); và các chức năng quản lý thi cử chuyên sâu.
Kết luận
Khóa luận tốt nghiệp của sinh viên Nguyễn Ngọc Phát đã hoàn thành mục tiêu xây dựng hệ thống website cung cấp dịch vụ quản lý học tập trực tuyến với 3 phân hệ DFFX, DFFPortal và DFFERP. Bằng việc kết hợp nền tảng Odoo, framework Flask và hệ quản trị PostgreSQL cùng kiến trúc điều phối qua Middlegate, đề tài đã giải quyết được nhu cầu thực tế về hạ tầng đào tạo từ xa cho các cơ sở giáo dục. Mặc dù còn một số hạn chế về mặt ứng dụng di động và bảo mật nâng cao, công trình là tài liệu tham khảo có giá trị cao về mặt thiết kế hệ thống thông tin và mô hình hóa dữ liệu dịch vụ đào tạo.