Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
1,86 MB
Nội dung
ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DẠY HỌC TRỰC TUYẾN Giảng viên hướng dẫn: Trần Anh Dũng Sinh viên thực hiện: Nguyễn Minh Thắng 19522210 Dương Trung Nguyên 19520782 ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Thành phố Hồ Chí Minh, 2022 MỤC LỤC MỤC LỤC .2 LỜI CẢM ƠN ĐỀ CƯƠNG CHI TIẾT NỘI DUNG 11 CHƯƠNG 1: GIỚI THIỆU CHUNG 11 1.1 Tổng quan đề tài 11 1.2 Lý chọn đề tài 11 1.3 Đối tượng sử dụng .11 1.4 Phạm vi nghiên cứu .11 CHƯƠNG 2: CƠ SỞ LÍ THUYẾT .14 2.1 Công nghệ sử dụng 14 2.1.1 Backend: Codeigniter Framework .14 2.1.2 Frontend .15 2.1.3 PHP 16 2.1.4 MySQL 16 2.1.5 Github 17 2.1.6 Flutter 18 2.1.7 Getx .20 2.1.8 REST API 21 CHƯƠNG : THIẾT KẾ HỆ THỐNG 23 3.1 Phân tích yêu cầu hệ thống 23 3.1.1 Phân tích yêu cầu chức 23 3.1.2 Phân tích yêu cầu phi chức 24 3.2 Đặc tả Usecase: 24 3.2.1 Usecase tổng quát 24 3.2.2 Danh sách Actor 25 3.2.3 Danh sách Usecase .26 3.2.4 Đặc tả chi tiết Usecase 27 3.3 Thiết kế sở liệu 42 3.3.1 Danh sách quan hệ 42 3.4 Kiến trúc hệ thống 45 3.5 Thiết kế giao diện .46 3.5.1 Admin Panel 46 3.5.2 Mobile App 50 CHƯƠNG 4: KẾT LUẬN .54 4.1 Tổng kết .54 4.2 Khó khăn 54 4.3 Kết đạt 55 4.4 Hạn chế đồ án .55 4.5 Hướng phát triển 55 LỜI CẢM ƠN Sau trình học tập rèn luyện khoa Công nghệ phần mềm trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM chúng em trang bị kiến thức bản, kỹ thực tế để lần đầu thực Đồ án Để hồn thành Đồ án này, chúng em xin gửi lời cảm ơn chân thành đến: Ban Giám hiệu trường Đại học Công nghệ Thông tin – ĐHQG TP.HCM tạo điều kiện sở vật chất với hệ thống thư viện đại, đa dạng loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thông tin Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng tận tình giúp đỡ, định hướng cách tư cách làm việc khoa học Đó góp ý q báu khơng q trình thực luận văn mà hành trang tiếp bước cho chúng em trình học tập lập nghiệp sau Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất thầy cô khoa, bạn bè, tập thể lớp KTPM2019 người sẵn sàng sẻ chia giúp đỡ học tập sống Mong rằng, mãi gắn bó với Trong q trình làm Đồ án chúng em không tránh khỏi sai sót, chúng em kính mong nhận dẫn góp ý q thầy để hồn thiện phát triển đồ án mơn học khác Khóa luận tốt nghiệp tương lai Chúng em xin chân thành cảm ơn Xin chúc điều tốt đẹp đồng hành người Thành phố Hồ Chí Minh, … tháng … năm 2022 Sinh viên TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Xây dựng ứng dụng khóa học trực tuyến Giảng viên hướng dẫn: ThS Trần Anh Dũng Thời gian thực hiện: Từ ngày 10/09/2022 đến ngày 15/12/2022 Sinh viên thực hiện: Nguyễn Minh Thắng - 19522210 Dương Trung Nguyên - 19520782 Nội dung đề tài Lý chọn đề tài: - Về việc tư vấn chọn khóa học: Học trực tuyến trở thành xu hướng tốc độ phát triển internet, tính tiện dụng ảnh hưởng đại dịch Nhu cầu học trực tuyến người ngày tăng nhiều lĩnh vực khác ngoại ngữ, công nghệ thông tin, thiết kế, kinh doanh… Các trung tâm, tổ chức giáo dục hiểu điều mà tạo nhiều loại khóa học trực tuyến đa dạng mức độ, giá thời gian Vì nên người dùng muốn chọn cho khóa học phù hợp nhu cầu, trình độ giá vừa phải với ví tiền hay thời lượng học hợp lý thường phải nhiều thời gian để suy nghĩ, cân nhắc, tìm hiểu Để giải cho vấn đề website giới thiệu khóa học hỗ trợ chatbot tư vấn giải pháp tốt Mục tiêu: 2.1 Xây dựng ứng dụng khóa học: - Ứng dụng học trực tuyến với mục đích đem đến cho người dùng đa dạng khóa học với nhiều danh mục, nhiều mức độ, dễ dàng xem video giảng - Một hệ thống quản trị linh hoạt, tùy chỉnh danh mục, khóa học, thơng tin chi tiết khóa học, thống kê doanh thu - Giao diện đẹp mắt bố trí danh mục, menu thuận tiện cho người sử dụng - Tìm hiểu học hỏi công nghệ áp dụng lại vào đề tài - Tạo ứng dụng có giao diện thân thiện với người dùng, dễ dàng thao tác chỉnh sửa thông tin cần thiết - Phát triển ứng dụng có tính thực tiễn cao để triển khai vào thực tế - Dựa tảng lý thuyết giảng viên tư vấn đề cử, kết hợp với cơng nghệ, hy vọng xây dựng sản phẩm có kết tốt đạt tiêu chí ban đầu đề mong đợi Phạm vi đề tài: - Môi trường triển khai ứng dụng: Mobile - Các chức quan trọng: + Đối với ứng dụng khách hàng dùng: • Cung cấp thơng tin trung tâm, khóa học trung tâm • Người dùng đăng ký khóa học, thêm vào danh sách u thích, xem giảng, đánh giá khóa học • Phân loại khóa học theo danh mục, mức độ, thời gian giá thành • Cung cấp cơng cụ tìm kiếm khóa học • Hiển thị khóa học nhất, khóa học phổ biến + Đối với ứng dụng quản trị viên dùng: • Quản lý thơng tin trung tâm • Quản lý khóa học • Quản lý giảng • Quản lý người dùng • Quản lý doanh thu • Quản lý đăng ký khóa học Đối tượng sử dụng: - Người có nhu cầu học khóa học trực tuyến thiết bị di động - Quản trị viên Phương pháp thực hiện: 5.1 Phương pháp làm việc: - Làm việc nhóm thành viên hướng dẫn giảng viên - Làm việc online kết hợp offline học lại trường 5.2 Phương pháp nghiên cứu: - Phân tích nhu cầu sử dụng đối tượng người dùng - Nghiên cứu tài liệu công nghệ liên quan 5.3 Phương pháp công nghệ: - Xây dựng ứng dụng di động dưa Flutter - Xây dựng giao diện app để tương tác với người dùng - Sử dụng MySQL database để lưu trữ liệu vận hành website - Quản lý source code thông qua Github - Sử dụng Trello, Google doc… để quản lý tiến trình tài liệu Nền tảng công nghệ: - Github - Flutter - Visual Studio Code - MySql - Getx - PHP - Postman Kết mong đợi: - Một ứng dụng dạy học trực tuyến đáp ứng yêu cầu đề đề cương - Ứng hoạt động tốt đạt hài lòng người dùng Kế hoạch thực đề tài: STT Công việc Thời gian thực − Tìm hiểu đề tài 10/9/2022 - 25/9/2022 − Viết thuyết minh đồ án sơ − Tìm hiểu cơng nghệ 25/9/2022 - 10/10/2022 − Tìm hiểu yêu cầu nghiệp vụ đề tài − Phân tích yêu cầu 10/10/2022 - chức ứng 25/10/2022 dụng − Viết tài liệu mô tả − Xây dựng giao diện bản, prototype − Xây dựng vẽ − Xây dựng CSDL − Xây dựng giao diện 25/10/2022 - ứng dụng 10/11/2022 − Xây dựng back-end 10/11/2022 - − Xây dựng sở 25/11/2022 liệu − Kết nối sở liệu − Sửa lỗi sửa lại 25/11/2022- 1/12/2022 giao diện bị lỗi ứng dụng − Xây dựng kịch 1/12/2022- 15/12/2022 kiểm thử − Xây dựng tính ứng dụng − Kiểm thử ứng dụng 15/12/2022-25/12/2022 − Viết báo cáo Phân cơng: 9.1 Cơng việc chung - Tìm hiểu cơng nghệ - Phân tích u cầu - Lập trình Backend - Lập trình Frontend - Kiểm thử - Chuẩn bị tài liệu, viết báo cáo 9.2 Công việc cá nhân SV: Nguyễn Minh Thắng - Xây dựng giao diện - Phân tích yêu cầu - Xây dựng vẽ - Lập kế hoạch SV: Dương Trung Nguyên - Tìm hiểu công nghệ - Thiết kế ứng dụng - Xây dựng CSDL - Liên kết CSDL 10 3.3 Thiết kế sở liệu Figure 14 Database 3.3.1 Danh sách quan hệ Bảng Course Thuộc tính Kiểu liệu Mơ tả id int Id khố học tittle varchar Tiêu đề khố học description longtext Mơ tả khố học category_id int Id category khoá học price double Giá khoá học level varchar Trình độ khố học thumbnail varchar Biểu tượng khoá học 42 date_added int Ngày thêm vào khoá học last_modified int Lần cuối điều chỉnh visibility int Hiện thị status varchar Trạng thái Bảng Payment Thuộc tính Kiểu liệu Mơ tả id int Id tốn user_id int Id người dùng course_id int Id khoá học amount double Số lượng date_added int Ngày thêm vào last_modified int Lần cuối điều chỉnh Bảng Category Thuộc tính Kiểu liệu Mô tả id int Id category code varchar Mã code name varchar Tên category parent int date_added int Ngày thêm vào last_modified int Làn cuối điều chỉnh thumbnail varchar Hình minh hoạ Bảng Enrol Thuộc tính Kiểu liệu Mô tả 43 id int Id ghi danh user_id int Id người dùng course_id int Id khoá học date_added int Ngày ghi danh last_modified int Làn cuối điều chỉnh Bảng Users Thuộc tính Kiểu liệu Mơ tả id int Id người dùng first_name varchar Tên Last_name varchar Tên họ email varchar Địa email password varchar Mật biography longtext Tiểu sử role_id int Quyền wishlist longtext Danh sách ước status int Trạng thái Bảng Lesson Thuộc tính Kiểu liệu Mô tả id int Id course_id int Id khóa học name varchar Tên giảng video_url longtext Video url duration varchar Thời lượng video 44 3.4 Kiến trúc hệ thống Kiến trúc ứng dụng di động Figure 15 System Architecture Tầng giao diện (Presentation): Có chức cập nhật hiển thị thông tin, nhận liệu, kiểm tra tính đắn liệu trước gọi xuống tầng xử lý nghiệp vụ Bao gồm thành phần chính: • View: Gồm có Screen - Chứa hình hiển thị ứng dụng Component Các thành phần giao diện thiết kế để tái sử dụng nhiều hình • Controller: Phần logic trung gian View Model • Model: Đại diện cho đối tượng nghiệp vụ cần xử lý • Tầng nghiệp vụ (Business): Kiểm tra ràng buộc, tính đắn liệu theo nghiệp vụ trước lưu trữ Ở chiều ngược lại, xử lý chuyển đổi liệu thô thành đối tượng nghiệp vụ đẩy lên tầng giao diện • Tầng liệu (Data Access): Có chức giao tiếp với sở liệu lưu trữ, cập nhật, truy vấn 45 3.5 Thiết kế giao diện 3.5.1 Admin Panel Figure 16 Admin dashboard Figure 17 Category Management 46 Figure 18 Add Category Figure 19 Course Management 47 Figure 20 User Management Figure 21 Add User 48 Figure 22 Enroll History Figure 23 Revenue Management 49 3.5.2 Mobile App Figure 24 Login Figure 25 Selector Figure 26 Register Figure 28 Splash 50 Figure 29 Course Detail Figure 31 Lesson Figure 30 Notification Figure 32 My Course 51 Figure 33 Payment Figure 34 Rating Figure 35 Explore Figure 36 Wishlist 52 Figure 37 Home Figure 38 Profile 53 CHƯƠNG 4: KẾT LUẬN 4.1 Tổng kết - Điều quan trọng làm ứng dụng khóa học phải nắm thơng tin chi tiết khách hàng để nội dung tư vấn minh bạch, dễ hiểu xác Cùng lúc đó, xác định từ khóa câu chữ người dùng để suy mục đích hỏi nội dung câu hỏi họ cách tối ưu đắn để bot hiểu - Ứng dụng khóa học tập trung cung cấp xoay quanh thơng tin từ tổng quát đến chi tiết trung tâm, khóa học, tư vấn Cung cấp thơng tin đến người dùng nhiều hình thức, thơng qua Chatbot, thơng qua văn - Cần phân tích kỹ xác định tính trước thực code, thiết kế giao diện, thiết kế sở liệu - Cần xếp thời gian code cho chức cách hợp lý hơn, không nên tốn nhiều thời gian cho phần - Có khả đọc tài liệu tiếng anh lợi hướng dẫn bản, hay tài liệu đa số viết tiếng Anh 4.2 Khó khăn • Việc làm đồ án theo nhóm gặp nhiều trở ngại cơng đoạn xác định tính ứng dụng, phần việc phân chia chưa thật hợp lý, công với thành viên nhóm • Nhóm tốn nhiều thời gian cho việc làm quen với cách hoạt động Flutter cách làm việc nhóm • Chưa xếp thời gian cách hợp lý nên tốn nhiều thời gian phần tự tìm hiểu PHP hệ sở liệu MySQL • Khó khăn việc đọc tài liệu chuyên ngành tiếng Anh 54 • Các thành viên có xung đột thiết kế giao diện logic ứng dụng 4.3 Kết đạt • Kết nhóm cố gắng để hoàn thành chức đưa từ đầu • Hiểu cách hoạt động Flutter tích hợp với ứng dụng di động • Cách hợp code thành viên lại với thông qua Github • Các thành viên giải thắc mắc cách trao đổi qua tin nhắn hay qua mạng xã hội, tìm hiểu sửa lỗi chương trình • Cải thiện khả đọc tài liệu tiếng Anh 4.4 Hạn chế đồ án • Code chưa tối ưu tốt nên load ứng dụng cịn chậm • Giao diện người dùng mức tạm • Cịn nhiều tính chưa tối ưu, chưa tiện dụng người dùng • Dữ liệu lưu trữ MySQL bị hạn chế 4.5 Hướng phát triển • Thêm ứng ứng dụng trạng thái “Đang thực thi” tính • Thêm tính theo dõi tiến trình học • Thêm tính cấp chứng sau hồn khóa học • Đầu tư, phát triển thiết kế giao diện • Gia hạn thời gian tồn Xác thực người dùng • Tối ưu hóa code • Nâng cấp thêm tính tiện ích hỗ trợ người dùng 55 56 ... quan đề tài Tên đồ án: Ứng dụng dạy học trực tuyến Chủ đề chính: Dạy học trực tuyến di động Mơ hình phát triển: MVC Nền tảng phát triển: Mobile & Web 1.2 Lý chọn đề tài Học trực tuyến trở thành... Xây dựng giao diện bản, prototype − Xây dựng vẽ − Xây dựng CSDL − Xây dựng giao diện 25/10/2022 - ứng dụng 10/11/2022 − Xây dựng back-end 10/11/2022 - − Xây dựng sở 25/11/2022 liệu − Kết nối sở... website giới thiệu khóa học hỗ trợ chatbot tư vấn giải pháp tốt Mục tiêu: 2.1 Xây dựng ứng dụng khóa học: - Ứng dụng học trực tuyến với mục đích đem đến cho người dùng đa dạng khóa học với nhiều danh