Chương 1. Giới thiệu đề tài Giới thiệu tổng quan về đề tài, lý do cũng như động lực em chọn đề tài này. Đồng thời nêu ra mục tiêu hướng tới, ý nghĩa và kèm theo đó là giới hạn của đề tài. Kiến thức nền tảng Giới thiệu về những kiến thức lý thuyết nền tảng, các công nghệ mới được áp dụng bao gồm: ngôn ngữ sử dụng, framework, thư viện, dịch vụ của bên thứ ba,.
trong việc xây dựng và triển khai hệ thống. Phân tích hệ thống Khảo sát một số hệ thống tương đương đang tồn tại trên thị trường. Đặc tả, phân tích những tính năng sẽ có trong hệ thống của mình. Thiết kế hệ thống Mô tả những thiết kế của hệ thống về kiến trúc tổng thể, cơ sở dữ liệu.
Hiện thực hệ thống Giới thiệu sơ bộ cấu trúc source code, những thư viện sử dụng trong hệ thống. Mô tả cách thức hiện thực và luồng thực thi thông qua các giao diện của hệ thống. Kiểm thử Trình bày các trường hợp kiểm thử, công nghệ đã sử dụng và kết quả. Triển khai và đánh giá.
Cách cài đặt và triển khai trên server. Đánh giá hệ thống, tìm cách nâng cao hiệu suất của hệ thống. Tổng kết và hướng phát triển đề tài. Tổng kết lại những kết quả đã đạt được trong suốt quá trình thực hiện đề tài từ đó đánh giá những ưu điểm và khuyết điểm, đưa ra hướng phát triển cần thiết cho hệ thống trong tương lai.
7 MỤC LỤC LỜI CAM ĐOAN. 6 TÓM TẮT CHƯƠNG. Giới thiệu đề tài.1 Ý nghĩa thực tiễn .2 Ý nghĩa học thuật .3 Mục tiêu đề tài .4 Giới hạn đề tài. Kiến thức nền tảng .1 Mô hình MVC .2 Mô hình dữ liệu quan hệ .4 Session và Cookie .5 Kiến trúc multi-tenant .2 Công nghệ nền tảng .3 Cơ sở dữ liệu .4 Các dịch vụ của bên thứ ba.
Phân tích hệ thống .1 Đối tượng sử dụng .2 Phân tích yêu cầu nghiệp vụ .1 Yêu cầu chức năng .2 Yêu cầu phi chức năng .3 Quy trình nghiệp vụ: .4 Đặc tả hệ thống:.1 Người dùng chung. 44 Người quản trị. Thiết kế hệ thống .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ị những gì trước khi cài đặt Moodle:. 55 Cài đặt Moodle với xampp. 55 Thiết lập một số cài đặt để phù hợp với hệ thống Edulogy .3 Thiết kế cơ sở dữ liệu. 62 Cơ sở dữ liệu của trang moodle.
63 Thiết kế cơ sở dữ liệu cho trang Edulogy. Hiện thực hệ thống .1 Công nghệ, thư viện đã sử dụng .1 Lưu trữ mã nguồn và quản lý bằng Git .2 Cấu trúc mã nguồn .3 Quá trình tích hợp API .4 Giao diện hệ thống. Triển khai và Đánh giá. Tổng kết và hướng phát triển đề tài .1 Kết quả đạt được .1 Đối với nhiệm vụ đề tài.2 Đối với cơ sở lý thuyết và công nghệ .3 Đối với quy trình phát triển phần mềm .2 Nhược điểm.3 Hướng phát triển đề tài.
Giới thiệu đề tài 1.1 Tổng quan Hiện nay với công nghệ phát triển, cùng với đó sau đợi đại dịch Covid vừa rồi, đã làm thay đổi thói quen học hành của toàn bộ mọi người hiện nay. Mọi công tác giảng dạy trong quá trình đó dần dần được chuyển hóa từ dạy trực tiếp sang dạy online đã tạo cho học sinh, sinh viên và những người học viên được tiếp xúc với hình thức học online, tạo cho họ thói quen và cái nhìn khác về việc học online Ngày trước, khi công việc học hành và thông báo đa số chỉ áp dụng cho sinh viên, thì bây giờ học sinh ở các trường tiểu học đến thpt cũng đều đã làm quen với loại hình học tập này Với những tiền đề trên cùng khát khao áp dụng công nghệ vào đời sống, em thực hiện đề tài " Xây dựng hệ thống quản lí khóa học dựa trên Moodle Framework ". Mục tiêu của hệ thống là tạo ra một hệ thống quản lý việc mua bán khóa học trực tuyến để giúp các học viên có nhu cầu học tập trực tuyến khi không có điều kiện đến tận trung tâm để học trực tiếp Hệ thống được đặt tên EDULOGY, là sự kết hợp giữa 2 từ là education và technology, gắn liền với ý nghĩa của nó là tạo ra một sản phẩm công nghệ có thể ứng dụng vào đời sống thực tế. Dựa trên những tiền đề trên, em đã lên ý tưởng và thực hiện đề tài “Hệ thống quản lý việc mua bán khóa học trực tuyến ".
Với mục tiêu cung cấp công cụ cho các trung tâm giảng dạy có thể dễ dàng quản lý các giảng viên và học viên của mình. Trong khuôn khổ đề tài này em hướng đến cung cấp nền tảng quản lý các khóa học, các danh mục, mức thu nhập của từng giảng viên, quản lý các học viên, quản lý các tài liệu liên qua đến khóa học thông qua ứng dụng web 11 1.2 Ý nghĩa đề tài Giáo dục là một hoạt động tất yếu trong đời sống xã hội hiện đại. Nếu như ngày xưa việc học truyền thống là đến tận cơ sở cung cấp dịch vụ giáo dục như trường học, trung tâm giáo dục,… Thì ngày nay việc học đã không còn giới hạn ở phạm vi trực tiếp mà đã mở rộng sang phạm vi trực tuyến. Hơn nữa sau đại dịch COVID vừa rồi, rất nhiều cơ sở giáo dục đã triển khai hình thức giáo dục trực tuyến hoặc trực tuyến song song với trực tiếp, do đó chứng tỏ hình thức học trực tuyến đã và đang chiếm một vị trí quan trọng trong giáo dục hiện nay.
Phát triển thành công đề tài này không chỉ mang lại ý nghĩa thực tiễn mà còn mang ý nghĩa học thuật cho em.1 Ý nghĩa thực tiễn Trước hết, triển khai hệ thống giúp các bên liên quan chuyển đổi số, giải quyết hạn chế do các quy trình thủ công gây ra. Hệ thống giúp trung tâm giáo dục cung cấp các giải pháp học tập trực tuyến và quản lý nó thông qua phần mềm trên website. Bên cạnh đó học viên cũng có thể dễ dàng tìm hiểu nhanh chóng về các khóa học thông qua giao diện web, giúp học viên nhanh chóng đưa ra quyết định phù hợp. Từ đó giúp trung tâm nâng cao hiệu quả quản lý, đánh giá được tình hình thị trường và đưa ra các giải pháp bổ sung kịp thời.2 Ý nghĩa học thuật Thực hiện đề tài này giúp em có thể áp dụng các kiến thức được tiếp thu trong suốt quá trình theo học đại học của mình cũng như kinh nghiệm từ kì thực tập doanh nghiệp.
Các môn học nền tảng như kỹ thuật lập trình, cấu trúc dữ liệu và giải thuật, lập trình hướng đối tượng, hệ cơ sở dữ liệu, mạng máy tính hay chuyên ngành như lập trình web là cơ sở không thể thiếu để em xây dựng nên hệ thống. Đây cũng là cơ hội để em nâng cao khả năng tự học và tìm tòi nghiên cứu, tăng kỹ năng làm việc nhóm và giải quyết các vấn đề phát sinh trong quá trình hiện thực, triển khai và đánh giá hệ thống. Dựa trên sự hướng dẫn của giảng viên, em có thể tự mình phân tích và thiết kế hệ thống, lựa chọn công nghệ mới và phù hợp như ReactJS, các API của bên thứ ba như Imgur. Qua đó không những trau dồi kiên thức đã được học, mà còn khám phá và cập nhật nguồn tri thức hiện tại.
Sau cùng, việc thực hiện thành công đề tài này cũng là minh chứng cho khả năng của em để có thể tốt nghiệp đại học, cũng là hành trang đầu tiên để có thể đi làm và tạo ra giá trị cho xã hội.3 Mục tiêu đề tài Mục tiêu của đề tài là xây dựng một hệ thống bao gồm: - Website Edulogy dành cho 3 đối tượng là admin, giáo viên, học viên có các chức năng sau: - Quản lý tài khoản người dùng - Quản lý thông tin cá nhân người dùng - Quản lý danh mục khóa học - Quản lý khóa học - Quản lý thu nhập người dùng - Quản lý giỏ hàng - Xem thông tin thời khóa biểu - Nạp tiền vào tài khoản - Xem lịch sử giao dịch - Xem danh sách giáo viên và mức thu nhập theo thời gian - Xem danh sách người dùng. - Website Moodle dành cho 3 đối tượng là admin, giáo viên, học viên có các chức năng sau: - Tạo hàng loạt các khóa học từ danh sách - Tạo danh mục thủ công - Chỉnh sửa giao diện web - Đăng tải tài liệu liên quan đến khóa học - Đăng tải link học online (google meet) 1.4 Giới hạn đề tài Trong quá trình phát triển hệ thống Edulogy, vì quy mô của framework Moodle là quá lớn nên em không thể tìm hiểu hết toàn bộ và tận dụng hết sức mạnh của nó, nên chỉ tập trung phát triển các module quản lý các danh mục, khóa học và người dùng, là các chức năng liên quan mật thiết đến framework này Bởi vì giới hạn về thời gian và nguồn nhân lực, em sẽ cố gắng phát triển những chức năng này trong tương lai. Kiến thức nền tảng 2.1 Mô hình MVC1 MVC là từ viết tắt của 'Model View Controller'. Nó đại diện cho các nhà phát triển kiến trúc áp dụng khi xây dựng các ứng dụng.
Với kiến trúc MVC, chúng ta xem xét cấu trúc ứng dụng liên quan đến cách luồng dữ liệu của ứng dụng của chúng ta hoạt động như thế nào. Dễ hiểu hơn, nó là mô hình phân bố source code thành 3 phần, mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác. Mô hình MVC được chia làm 3 lớp xử lý gồm Model – View – Controller: - Model : là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql… ); nó sẽ bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu… - View : là nới chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh… nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống. - Controller : là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View.
Hình 1: Sơ đồ mô hình MVC 1 Truy cập tại: https://viblo.