Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 107 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
107
Dung lượng
2,64 MB
Nội dung
ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC XÂY DỰNG HỆ THỐNG QUẢN LÝ KHÓA HỌC DỰA TRÊN MOODLE FRAMEWORK Ngành: KHOA HỌC MÁY TÍNH Hội đồng: Khoa học máy tính 13 GVHD1: ThS Bùi Tiến Đức GVHD2: PGS TS Trần Minh Quang GVPB: GV ThS Nguyễn Thanh Tùng -o0o SVTH: Nguyễn Hữu Bảo - 1811523 TP HỒ CHÍ MINH, THÁNG 2/2023 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA:KH & KT Máy tính BỘ MƠN: HTTT NHIỆM VỤ LUẬN ÁN TỐT NGHIỆP Chú ý: Sinh viên phải dán tờ vào trang thuyết trình HỌ VÀ TÊN: NGUYỄN HỮU BẢO NGÀNH: KHOA HỌC MÁY TÍNH MSSV: 1811523 LỚP: MT18KH01 Đầu đề luận án: Xây dựng hệ thống quản lý khóa học dựa moodle framework Nhiệm vụ (yêu cầu nội dung số liệu ban đầu): • Xây dựng module quản lí khóa học • Xây dựng website hồn chỉnh • Sinh viên cần tìm hiểu tính hợp API với bên thứ để xây dựng tiện ích cho người dùng email, upload,… • Triển khai lên web server • Hồn thiện chương trình đánh giá kết đạt Ngày giao nhiệm vụ luận án: 10/08/2022 Ngày hoàn thành nhiệm vụ: 10/12/2022 Họ tên GVHD1: ThS Bùi Tiến Đức Họ tên GVHD2: PGS.Ts Trần Minh Quang Nội dung yêu cầu LVTN thông qua Bộ môn Ngày tháng năm CHỦ NHIỆM BỘ MÔN (Ký ghi rõ họ tên) GIẢNG VIÊN HƯỚNG DẪN CHÍNH (Ký ghi rõ họ tên) PGS.TS TRẦN MINH QUANG THS BÙI TIẾN ĐỨC PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ): Đơn vị: _ Ngày bảo vệ: _ Điểm tổng kết: _ Nơi lưu trữ luận án: _ LỜI CAM ĐOAN Em xin cam đoan đề tài: “Xây dựng hệ thống quản lý khóa học dựa Moodle Framework” cơng trình nghiên cứu độc lập khơng có chép người khác Đề tài sản phẩm mà em nỗ lực nghiên cứu trình học tập trường kiến thức thu thập từ trình tham khảo từ diễn đàng framework moodle mạng Trong trình viết có tham khảo số tài liệu có nguồn gốc rõ ràng, hướng dẫn thầy Bùi Tiến Đức – giảng viên môn Hệ thống thơng tin, khoa khoa học kỹ thuật máy tính, trường đại học Bách khoa – Đại học quốc gia Hcm Nhóm thực đề tài LỜI CẢM ƠN Lời đầu tiên, em xin gửi lời cảm ơn chân thành tới thầy giáo, Thạc sĩ Bùi Tiến Đức người hướng dẫn bảo tận tình cho em suốt q trình thực khóa luận tốt nghiệp Em xin cảm ơn thầy, cô giáo bảo suốt trình học tập trường Đại học Bách Khoa HCM Cuối cùng, em muốn gửi lời cảm ơn tới gia đình bạn bè - người ủng hộ, giúp đỡ động viên em suốt trình học tập qua Trân trọng, Nhóm thực đề tài TÓM TẮT ĐỀ TÀI EDULOGY ứng dụng web nhằm mục đích cung cấp dịch vụ quản lý việc mua bán khóa học trực tuyến, dành cho người dùng góc độ học viên, giảng viên quản trị viên Để hoàn thành đề tài này, em tiến hành thực hiện: • Tìm hiểu quy trình quản lý khóa học trực tuyến thực tế • Khảo sát hệ thống website mua bán khóa học trực tuyến mạng • Tìm hiểu chức tảng hệ thống đào tạo trực tuyến quản lý học tập Moodle Sau tinh chỉnh mã nguồn cài đặt plugin cần thiết cho hệ thống • Lên danh sách đặc tả chức cần thiết hệ thống • Tìm hiểu vẽ mô tả giao diện hệ thống Figma Thiết kế sở liệu để tiến hành thực hệ thống • Tìm hiểu framework phù hợp để áp dụng vào hệ thống Tiêu biểu ReactJS, PHP, Composer, MariaDB API bên thứ ba Imgur, VNPAY, Google Drive, Google Calendar • Hiện thực hệ thống theo kiến trúc Multi tenant gồm: – Website frontend Edulogy xây dựng React dành cho người dùng – Website moodle xây dựng mã nguồn mở có sẵn miễn phí – Backend server xây dựng ngôn ngữ PHP công cụ quản lý package Composer • Kiểm thử, triển khai đánh giá hệ thống • Viết báo cáo TĨM TẮT CHƯƠNG Chương Giới thiệu đề tài Giới thiệu tổng quan đề tài, lý động lực em chọn đề tài Đồng thời nêu mục tiêu hướng tới, ý nghĩa kèm theo giới hạn đề tài Chương Kiến thức tảng Giới thiệu kiến thức lý thuyết tảng, công nghệ áp dụng bao gồm: ngôn ngữ sử dụng, framework, thư viện, dịch vụ bên thứ ba, việc xây dựng triển khai hệ thống Chương Phân tích hệ thống Khảo sát số hệ thống tương đương tồn thị trường Đặc tả, phân tích tính có hệ thống Chương Thiết kế hệ thống Mô tả thiết kế hệ thống kiến trúc tổng thể, sở liệu Chương Hiện thực hệ thống Giới thiệu sơ cấu trúc source code, thư viện sử dụng hệ thống Mô tả cách thức thực luồng thực thi thông qua giao diện hệ thống Chương Kiểm thử Trình bày trường hợp kiểm thử, cơng nghệ sử dụng kết Chương Triển khai đánh giá Cách cài đặt triển khai server Đánh giá hệ thống, tìm cách nâng cao hiệu suất hệ thống Chương Tổng kết hướng phát triển đề tài Tổng kết lại kết đạt suốt trình thực đề tài từ đánh giá ưu điểm khuyết điểm, đưa hướng phát triển cần thiết cho hệ thống tương lai MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN TÓM TẮT ĐỀ TÀI TÓM TẮT CHƯƠNG Chương Giới thiệu đề tài 11 1.1 Tổng quan 11 1.2 Ý nghĩa đề tài 12 1.2.1 Ý nghĩa thực tiễn 12 1.2.2 Ý nghĩa học thuật 12 1.3 Mục tiêu đề tài 13 1.4 Giới hạn đề tài 13 Chương Kiến thức tảng 14 2.1 Cơ sở lý thuyết 14 2.1.1 Mơ hình MVC 14 2.1.2 Mơ hình liệu quan hệ 15 2.1.3 RESTful API 16 2.1.4 Session Cookie 18 2.1.5 Kiến trúc multi-tenant 19 2.2 Công nghệ tảng 21 2.2.1 Frontend 21 2.2.2 Backend 22 2.2.3 Cơ sở liệu 25 2.2.4 Các dịch vụ bên thứ ba 27 Chương Phân tích hệ thống 32 3.1 Đối tượng sử dụng 32 3.2 Phân tích yêu cầu nghiệp vụ 32 3.2.1 Yêu cầu chức 32 3.2.2 Yêu cầu phi chức 33 3.3 Quy trình nghiệp vụ: 34 3.4 Đặc tả hệ thống: 35 3.3.1 Người dùng chung 35 3.3.2 Giáo viên 44 Người quản trị 49 Chương Thiết kế hệ thống 54 4.1 Kiến trúc tổng quan 54 Cài đặt trang web mã nguồn mở moodle 55 Cần chuẩn bị trước cài đặt Moodle: 55 Cài đặt Moodle với xampp 55 Thiết lập số cài đặt để phù hợp với hệ thống Edulogy 60 4.3 Thiết kế sở liệu 62 Cơ sở liệu trang moodle 63 Thiết kế sở liệu cho trang Edulogy 65 Chương Hiện thực hệ thống 71 5.1 Công nghệ, thư viện sử dụng 71 5.1.1 Frontend 71 5.1.2 Backend 72 5.2 Quản lý mã nguồn 72 5.2.1 Lưu trữ mã nguồn quản lý Git 72 5.2.2 Cấu trúc mã nguồn 72 5.3 Q trình tích hợp API 74 5.3.1 Imgur 74 5.3.2 VNPAY API 76 5.4 Giao diện hệ thống 77 Chương Kiểm thử 103 Chương Triển khai Đánh giá 104 Chương Tổng kết hướng phát triển đề tài 104 8.1 Kết đạt 104 8.1.1 Đối với nhiệm vụ đề tài 104 8.1.2 Đối với sở lý thuyết công nghệ 104 8.1.3 Đối với quy trình phát triển phần mềm 105 8.2 Đánh giá 105 8.2.1 Ưu điểm 105 92 93 Lúc lịch sử giao dịch ghi lại giao dịch lúc 94 95 Giờ người quay lại giỏ hàng để tốn khơng bị báo lỗi 96 Lúc người xem danh sách người dùng lớp với 97 Giờ quay lại người giáo viên đó, bấm vào nút Thu nhập họ thấy danh sách người dùng mua khóa học 98 Giờ họ vào khóa học đó, xem danh sách thành viên xuất danh sách thành viên dạng csv để upload lên trang khóa học bên moodle 99 Người dùng xem thời khóa biểu theo tuần: (đây người dùng khác) Giờ để demo chức đánh giá khóa học, em chỉnh lại ngày kết thúc khóa học trước hôm phpadmin để test chức đánh giá 100 Giờ quay lại admin, sau tháng họ vào trang tổng thu nhập giáo viên lần để xuất file csv dựa vào để trả lương cho giáo viên trung tâm 101 102 Chương Kiểm thử 103 Chương Triển khai Đánh giá Chương Tổng kết hướng phát triển đề tài 8.1 Kết đạt 8.1.1 Đối với nhiệm vụ đề tài Nhờ hướng dẫn nhiệt tình ThS Bùi Tiến Đức, em đạt nhiệm vụ đặt đề tài xây dựng tảng quản lý khóa học trực tuyến Dưới danh sách công việc em thực • Tìm hiểu sở lý thuyết tảng công nghệ phù hợp để xây dựng nên hệ thống • Phân tích u cầu hệ thống vẽ mơ hình đặc tả u cầu Lên danh sách hình giao diện • Tìm hiểu, học hỏi vận dụng kĩ lập trình front-end ứng dụng web • Tìm hiểu, học hỏi vận dụng kĩ lập trình back-end để xây dựng server • Tích hợp số dịch vụ hữu ích API bên thứ ba 8.1.2 Đối với sở lý thuyết công nghệ Để thực tảng, em tìm hiểu công nghệ liên quan lựa chọn công nghệ phù hợp Thơng qua q trình đó, em có hội học hỏi công nghệ phát triển ứng dụng web server cụ thể đây: • Đối với ứng dụng web em sử dụng React • Đối với server tảng em thực PHP, sử dụng MySQL làm database lưu trữ thông tin, cuối tiến hành tích hợp API bên thứ ba cho dịch vụ cần thiết như: – Dịch vụ upload ảnh: Imgur – Dịch vụ toán trực tuyến: VNPAY 104 8.1.3 Đối với quy trình phát triển phần mềm Về vấn đề tổ chức quản lý mã nguồn, em áp dụng công cụ quản lý mã nguồn Git, kho lưu trữ GitHub vào trình phát triển nhằm bảo vệ thành để đề phịng có cố bất trắc Về vấn đề thực hệ thống, em áp dụng cơng nghệ tìm hiểu để tiến hành xây dựng: • Ứng dụng web React, moodle framework • Máy chủ hệ thống PHP 8.2 Đánh giá 8.2.1 Ưu điểm Hệ thống Edulogy với mục đích cung cấp dịch vụ quản lý khóa học trực tuyến đáp ứng nhu cầu đặt Dưới số ưu điểm hệ thống: • Chuyển đổi số cơng việc trình dạy học đăng ký thành viên, đăng ký khóa học, danh mục, quản lý khóa học, thành viên trực tuyến • Áp dụng vài tính framework mã nguồn mở moodle làm cơng cụ để lưu trữ tài ngun khóa học • Giao diện thân thiện, bắt mắt dễ sử dụng • Chi phí xây dựng vận hành thấp 8.2.2 Nhược điểm Do nhân lực nhóm cịn hạn chế nên em khơng thể hồn thành bước kiểm thử phần mềm bước đăng tải mã nguồn lên host thực tế, tương lai em cố gắng tìm cách kiểm thử hết trường hợp đăng tải lên hệ thống host để kiểm chứng khả chạy thực tế có tốt chạy local khơng 8.3 Hướng phát triển đề tài Hệ thống Edulogy với hướng phát triển đáp ứng nhu cầu cho trung tâm giáo dục quy mô vừa nhỏ Tuy nhiên giới hạn nguồn nhân lực thời gian, nên cịn nhiều thiếu sót khơng thể phủ nhận Để hoàn thiện hơn, em tự nghĩ số giải pháp sau: • • Tăng cường biện pháp bảo mật dành cho hệ thống chống DDOS, dịch ngược ứng dụng, kiểm tra sql injection Xây dựng chức quản lý voucher khuyến 105 • • Thêm tính thơng báo thời gian thực, chat live tư vấnBổ sung báo cáo dành cho nhà cung cấp.Xây dựng tính tự trả lương hàng tháng cho giáo viên Cải thiện hiệu suất hệ thống, tích hợp thêm nhiều API từ bên thứ ba hỗ trợ bên khác tích hợp 106