6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
5.1 Danh sách trường hợp kiểm thử back box
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 Kết quả đạt được
Trong thời gian thực hiện luận văn nhóm đã đạt được một số kết quả sau:
• Tìm hiểu cơ sở lý thuyết về các công nghệ liên quan: Mô hình MVVM, ngôn ngữ Dart, phát triển ứng dụng đa nền tảng bằng Flutter, LMS Moodle, cơ sở dữ liệu, ứng dụng Firebase vào phát triển ứng dụng di động.
– Lựa chọn Moodle là LMS chính.
– Lựa chọn framework Flutter để phát triển ứng dụng trên nền tảng Android và IOS.
– Lựa chọn Firebase như Back-end as Service để hiện thực những chức năng phức tạp và nâng cao trải nghiệm người dùng.
• Phân tích yêu cầu dự án: nắm bắt mục tiêu, phạm vi đề tài, các chức năng cần có của hệ thống.
• Tìm hiểu các công nghệ mới, làm quen và sử dụng các dịch vụ của Google Cloud Platform cũng như quy trình phát triển ứng dụng từ lúc lên ý tưởng đến lúc phát hành ứng dụng đến với người dùng.
• Giao diện đẹp, thân thiện và dễ dàng sử dụng.
• Đồng bộ được các khoá học trên hệ thống E-learning dựa vào Moodle LMS (ongvanghoc- tap.edu.vn)
• Hiện thực được chức năng thanh toán khoá học trên Ví ZaloPay và cổng thanh toán VNPay. • Hiện thực các chức năng đi kèm nhằm hỗ trợ việc học tốt hơn để hoàn thiện ứng dụng. • Thiết kế ứng dụng theo dạng module, dễ dàng tích hợp và mở rộng sau này.
6.2 Thuận lợi
Sau thời gian nghiên cứu, tìm hiểu đề tài nhóm nhận thấy đề tài có những thuận lợi sau:
• Đây là một đề tài được áp dụng vào thực tế trong tình hình đa số mọi người đều phải làm việc ở nhà và học tập ở nhà. Đây là vừa là cơ hội, vừa là thử thách đòi hỏi ứng dụng phải hoạt động tốt, trải nghiệm người dùng và giao diện phải thật sinh động.
• Kinh nghiệm từ đề tài có thể áp dụng vào công việc trong tương lai.
• Thực hiện đề tài dưới hình thức làm việc nhóm giúp tăng cao được khả năng làm việc nhóm. • Nhận được sự chia sẻ, hướng dẫn tận tình từ TS. Nguyễn Quang Hùng.
6.3 Khó khăn
Bên cạnh những thuận lợi nêu trên thì đề tài cũng gặp rất nhiều khó khăn:
• Khối lượng dữ liệu các khóa học đòi hỏi phải lớn, thay đổi liên tục để phù hợp với từng đối tượng người dùng.
• Thông tin từ các khóa học bắt buộc phải chính xác 100%. Số lượng khóa học phải đủ nhiều,...
• Flutter là một framework mới lại phải kết hợp với Moodle lớn mạnh đã xuất hiện từ lâu, nên việc thao tác và lấy dữ liệu từ API Moodle gặp nhiều khó khăn.
• Nhiều công nghệ phải tìm hiểu từ những công nghệ mới (Flutter, Firebase, Google Cloud Platform) tới những công nghệ xuất hiện đã lâu như (PHP, Moodle, H5P, CSS, JS), nên việc kết hợp và sử dụng gặp nhiều khó khăn.
6.4 Hướng phát triển trong tương lai
Liên tục cập nhật thông tin các khóa học và thêm nhiều khóa học để đảm bảo nhu cầu của người dùng.
Ứng dụng Machine Learning để đưa ra gợi ý khóa học phù hợp với từng đối tượng người sử dụng.
Hỗ trợ thêm nhiều dạng bài tập khác nhau.
[1] Moodle
https://docs.moodle.org/310/en/Main_page, ngày truy cập: 22/12/2020 [2] Flutter
https://flutter.dev/docs, ngày truy cập: 22/12/2020 [3] Firebase
https://firebase.google.com/docs/, ngày truy cập: 22/12/2020 [4] Ví điện tử ZaloPay
https://docs.zalopay.vn/v2/general/overview.html, ngày truy cập: 10/06/2021
[5] Cổng thanh toán VNPay
https://sandbox.vnpayment.vn/apis/docs/gioi-thieu/, ngày truy cập: 10/06/2021
[6] Google Cloud Platform
https://cloud.google.com/docs, ngày truy cập: 10/06/2021 [7] Stackoverflow
https://stackoverflow.com/questions/, ngày truy cập: 10/06/2021 [8] Flutter vs. React Native – What to Choose in 2021?
https://www.thedroidsonroids.com/blog/flutter-vs-react-nat ive-what-to-choose-in-2020, ngày truy cập: 15/07/2021
[9] NodeJs
https://nodejs.org/en/docs/, ngày truy cập: 21/12/2020 [10] UI Flutter:
https://github.com/iampawan/FlutterExampleApps, ngày truy cập: 22/12/2020
[11] Giới thiệu về công cụ thiết kế Figma:https://medium.com/vnextlife/ui-02 -figma-gi, ngày truy cập: 15/12/2020
[12] Phân biệt ui design trên hai nền tảng Android và IOS
https://topuxd.com/phan-biet-ui-design-tren-flatform-ios-v a-android/, ngày truy cập: 22/12/2020
[13] https://designervn.net/threads/7-bang-mau-tuoi-sang-danh-c ho-cac-thit-k-chu-d-mua-thu.7775/, ngày truy cập: 22/12/2020
[14] https://viblo.asia/p/flutter-va-mvvm-L4x5xk4alBM, ngày truy cập: 22/12/2020
[15] Kiến trúc ứng dụng Flutter:
https://vncoder.vn/bai-hoc/kien-truc-ung-dung-flutter-215, ngày truy cập: 15/07/2021
[16] Tìm hiểu mô hình lập trình MVVM
https://www.overleaf.com/project/60ddf2d91d4ebcd1b207d752, ngày truy cập: 25/07/2021
[17] Khái niệm màu tương phản khi học vẽ
https://wowart.vn/cha-me-day-con-sang-tao-khai-niem-mau-tu ong-phan-khi-hoc-ve-that-thu-vi-lam-sao/, ngày truy cập: 25/07/2021 [18] Top 7 ngôn ngữ lập trình backend phổ biến nhất
https://vn.got-it.ai/blog/top-7-ngon-ngu-lap-trinh-backend -pho-bien-nhat, ngày truy cập: 25/07/2021
[19] MySQL là gì? Tìm hiểu hệ quản trị cơ sở dữ liệu MySQL
https://vn.got-it.ai/blog/mysql-la-gi-tim-hieu-he-quan-tri -co-so-du-lieu-mysql, ngày truy cập: 25/07/2021
[20] StatefulWidget và StatelessWidget trong Flutter
https://viblo.asia/p/statefulwidget-va-statelesswidget-tro ng-flutter-bWrZn6aQZxw, ngày truy cập: 25/07/2021
[21] Giới thiệu mọi thứ về Firebase của Google
https://cafedev.vn/gioi-thieu-tat-ca-moi-thu-ve-firebase-c ua-google/, ngày truy cập: 25/07/2021
[22] Top 10 hệ thống LMS bạn không thể bỏ lỡ
https://oes.vn/top-10-he-thong-lms-ban-khong-the-bo-lo/, ngày truy cập: 25/07/2021
[23] So sánh giữa Native App Development và Hybrid App Development
https://topdev.vn/blog/so-sanh-giua-native-app-development -va-hybrid-app-development/, ngày truy cập: 25/07/2021
[24] Sự khác biệt giữa Native App, Cross Platform và Hybrid
http://dotnetguru.org/su-khac-biet-giua-native-app-cross-pl atform-va-hybrid/, ngày truy cập: 25/07/2021
[25] Xamarin là gì? Ưu và khuyết điểm của nó