BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG LUYỆN THI TIẾNG ANH SỬ DỤNG CÔNG NGHỆ REACT NATIVE Ngành Công nghệ thông tin Mã số 7 48 0.
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG LUYỆN THI TIẾNG ANH SỬ DỤNG CÔNG NGHỆ REACT NATIVE Ngành: Công nghệ thông tin Mã số: 7.48.02.01 Sinh viên thực hiện: Lê Xuân Chức Lớp: CT1A Hà Nội, 2021 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU PHÁT TRIỂN ỨNG DỤNG LUYỆN THI TIẾNG ANH SỬ DỤNG CƠNG NGHỆ REACT NATIVE Ngành: Cơng nghệ thơng tin Mã số: 7.48.02.01 Sinh viên thực hiện: Lê Xuân Chức Lớp: CT1A Người hướng dẫn: ThS Trần Đức Thịnh Khoa CNTT – Đại học Kinh doanh Công nghệ Hà Nội Hà Nội, 2021 LỜI CẢM ƠN Đề tài “Nghiên cứu phát triển ứng dụng luyện thi tiếng anh sử dụng công nghệ React Native” nội dung chọn để nghiên cứu làm đồ án tốt nghiệp sau năm theo học chương trình đại học chun ngành cơng nghệ thông tin trường Học viện Kỹ thuật Mật Mã Để hồn thành q trình nghiên cứu hồn thiện đồ án này, xin gửi lời cảm ơn chân thành sâu sắc đến quý thầy cô khoa Công nghệ thông tin, tất thầy cô Học viện Kỹ thuật Mật Mã truyền đạt kiến thức, kinh nghiệm quý báu cho tơi suốt q trình học tập nghiên cứu trường Đặc biệt xin gửi lời cảm ơn đến thầy ThS Trần Đức Thịnh thuộc khoa Công nghệ thông tin – Đại học Kinh doanh Công nghệ Hà Nội Thầy trực tiếp bảo hướng dẫn tơi suốt q trình nghiên cứu để tơi hồn thiện đồ án Tơi xin gửi lời cảm ơn đến anh chị bạn bè sinh viên trường giúp đỡ, trao đổi kiến thức suốt trình học tập thực đồ án Mặc dù nỗ lực hồn thành đồ án khơng thể tránh khỏi sai sót Rất mong nhận góp ý quý Thầy cô bạn LỜI CAM ĐOAN Tôi xin cam đoan đồ án tốt nghiệp “Nghiên cứu phát triển ứng dụng luyện thi tiếng anh sử dụng cơng nghệ React Native” cơng trình nghiên cứu Những phần sử dụng tài liệu tham khảo đồ án nêu rõ phần tài liệu tham khảo Các số liệu, kết trình bày đồ án hoàn toàn trung thực, sai tơi xin chịu hồn tồn trách nhiệm chịu kỷ luật môn nhà trường đề Hà Nội, tháng năm 2021 SINH VIÊN THỰC HIỆN ĐỒ ÁN Lê Xuân Chức MỤC LỤC DANH MỤC KÝ HIỆU VÀ TỪ VIẾT TẮT KÍ HIỆU API APK ARM CSS DOM HTML IDE MVC MVP MVVM OS ROM SDK UI TỪ VIẾT TẮT Application Programming Interface Android Package Kit Advanced RISC Machine Cascading Style Sheets Document Object Model Hyper Text Markup Language Integrated Development Environment Model – View – Controller Model – View – Presenter Model-View-View-model Operating System Read Only Memory Software Development Kit User Interface DANH MỤC BẢNG BIỂU DANH MỤC HÌNH ẢNH LỜI MỞ ĐẦU Hiện nay, tiếng Anh không coi mơn học mà cịn ngơn ngữ quốc tế ưa chuộng sử dụng công việc sống Tại Việt Nam, tiếng Anh chiếm vị trí quan trọng từ đất nước bắt đầu thực sách mở cửa hội nhập khu vực giới Trong nhiều năm gần thiết bị di động ngày có giá ưu đãi dễ dàng sử dụng Hiện trường đại học điều có áp dụng tiêu chuẩn đầu cho sinh viên phải có chứng tiếng Anh, hay cơng ty cần người có trình độ tiếng Anh tối thiểu mức để phục vụ cơng việc Cũng lí chọn đề tài “Nghiên cứu phát triển ứng dụng luyện thi tiếng anh sử dụng công nghệ React Native” Mục đích đề tài nhằm tập trung vào nghiên cứu tổng quan hệ điều hành Android, ứng dụng thiết bị di động, tìm hiểu cơng nghệ React Native Tìm hiểu tốn ứng dụng tiếng anh thiết bị di động, nghiên cứu sử dụng công nghệ React Native để xây dựng ứng dụng luyện thi Nội dung đồ án cấu trúc sau: Chương Mở đầu Trình bày cần thiết đề tài, mục đích chọn đề tài phạm vi ứng dụng đề tài Chương Giới thiệu hệ điều hành Android tổng quan ứng dụng thiết bị di động Tìm hiểu kiến thức hệ điều hành android, ưu nhược điểm hệ điều hành Tìm hiểu tổng quan ứng dụng thiết bị di động Chương Tổng quan cơng nghệ Tìm hiểu ngôn ngữ React Native, ưu nhược điểm ngôn ngữ này, cách cài đặt, công cụ phát triển Tìm hiểu Laravel, Restful API ưu nhược điểm Chương Triển khai thực nghiệm Tìm hiểu toán ứng dụng luyện thi tiếng Anh, triển khai phân tích thiết kế hệ thống, xây dựng cài đặt ứng dụng, kiểm thử bảo trì cho ứng dụng 10 Trong toeic thiếu phần nghe tơi sử dụng thư viện reactnative-sound để xử lý phần âm câu hỏi đề thi Hình 4.50 Sử dụng thư viện react-native-sound xử lý âm Để kiểm tra ứng dụng tiến hành sử dụng giả lập android phần mềm android studio Sau chạy lệnh build để kiểm tra kết lệnh sau: npx react-native run-android 4.6 Kiểm thử 4.6.1 Chức đăng ký Kịch kiểm thử: Người dùng đăng ký tài khoản nhập vào thông tin, ứng dụng cần phải kiểm tra xem tài khoản tồn hay chưa 82 Hình 4.51 Đăng ký tài khoản thành cơng đăng nhập vào ứng dụng 4.6.2 Chức đăng nhập Kịch kiểm thử: Người dùng nhập thông tin đăng nhập, thơng tin sai đưa cảnh báo, cịn thơng tin đăng nhập xác vào bên ứng dụng Hình 4.52 Đăng nhập với thơng tin tài khoản, mật xác 83 4.6.3 Chức cập nhật thông tin Kịch kiểm thử: Người dùng chọn chức quên mật khẩu, hệ thống kiểm tra email xem email có tồn hệ thống, gửi mật email, cịn email khơng tồn đưa cảnh báo Hình 4.53 Chức cập nhật thơng tin người dùng 4.6.4 Chức quên mật Kịch kiểm thử: Người dùng chọn chức quên mật khẩu, hệ thống kiểm tra email xem email có tồn hệ thống, gửi mật email, cịn email khơng tồn đưa cảnh báo 84 Hình 4.54 Chức quên mật trường hợp tồn email khơng tồn Hình 4.55 Mật gửi email người dùng 4.6.5 Chức xem từ vựng nhóm từ vựng Kịch kiểm thử: Người dùng chọn chức xem từ vựng, sau chọn danh mục từ vựng, nhấn vào danh mục từ vựng có thơng tin từ vựng 85 Hình 4.56 Chức xem nhóm từ vựng từ vựng 4.6.6 Chức làm phần ôn luyện Kịch kiểm thử: Người dùng chọn phần ôn luyện Part, nhấn vào tiến hành luyện tập nghe, đọc hình thức trắc nghiệm, sau làm xong nhấn vào gửi đáp án, hệ thống hiển thị số điểm đáp án phần ơn luyện Hình 4.57 Chức ôn tập part 86 Hình 4.58 Hiển thị điểm phần làm câu trả lời Part 4.6.7 Chức làm phần Listening test Kịch kiểm thử: Người dùng chọn phần Listening test, nhấn vào kiểm tra cho Part bao gồm Part 1, 2, 3, hình thức trắc nghiệm, sau làm xong nhấn vào gửi đáp án, hệ thống hiển thị số điểm đáp án phần ơn luyện 87 Hình 4.59 Làm phần Listening test Phần hiển thị điểm kết làm Listening hoạt động tốt 4.6.8 Chức làm phần Reading test Kịch kiểm thử: Người dùng chọn phần Reading test, nhấn vào kiểm tra cho Part bao gồm Part 5, 6, hình thức trắc nghiệm, sau làm xong nhấn vào gửi đáp án, hệ thống hiển thị số điểm đáp án phần ơn luyện Hình 4.60 Làm Reading Test 88 Phần hiển thị điểm kết làm Reading hoạt động tốt 4.6.9 Chức làm phần Full test Kịch kiểm thử: Người dùng chọn phần Full test nhấn vào kiểm tra TOEIC hoàn chỉnh hình thức trắc nghiệm, sau làm xong nhấn vào gửi đáp án, hệ thống hiển thị số điểm đáp án phần ơn luyện Hình 4.61 Làm Full test 4.6.10 Chức xem lịch sử làm Kịch kiểm thử: Người dùng chọn phần xem lịch sử làm bài, hiển thị dòng thời gian làm phần khứ 89 Hình 4.62 Lịch sử làm Full test 4.6.11 Chức yêu thích câu hỏi phần Kịch kiểm thử: Trong test người dùng thêm câu hỏi mà u thích vào danh sách, người dùng chọn phần xem câu hỏi yêu thích, hiển thị câu hỏi phần chọn 90 Hình 4.63 Chức thêm câu hỏi u thích danh sách 4.7 Bảo trì Qua q trình sử dụng kiểm thử ứng dụng cịn số bug nhỏ liên quan đến thư viện Để giải vấn đề sử dụng phiên cao thư viện Bên cạnh số lỗi liên quan đến giao diện người dùng cập nhật chỉnh sửa 4.8 Tổng kết chương Trong chương tơi tiến hành tìm hiểu mơ hình tốn ứng dụng luyện thi tiếng Anh, triển khai thực xây dựng ứng dụng học tiếng Anh sử dụng React Native Trong chương tiến hành phân tích hệ thống, thiết kế hệ thống, lập trình ứng dụng với React native, backend với Laravel Trong q trình xây dựng kiểm thử tơi tiến hành vừa xây dựng vừa kiểm thử bảo trì ứng dụng Kết thu ứng dụng luyện thi toeic tương đối hoàn chỉnh 91 KẾT LUẬN Việc xây dựng triển khai ứng dụng học luyện thi tiếng Anh cần thiết thiết thực tương lai Vì chọn đề tài “Nghiên cứu phát triển ứng dụng luyện thi tiếng anh sử dụng công nghệ React Native” Sau khoảng thời gian tìm hiểu tài liệu nghiên cứu, xây dựng công cụ hỗ trợ từ thầy Trần Đức Thịnh tơi hồn thành đồ án Các kết đạt đồ án: Ba chương đề tài “Nghiên cứu phát triển ứng dụng luyện thi tiếng anh sử dụng công nghệ React Native” thể mục tiêu đặt thực đồ án đạt Chương tiến hành tìm hiểu nêu cần thiết đề tài, mục đích lựa chọn đề tài nêu phạm vi ứng dụng Chương tơi tìm hiểu hệ điều hành android số kiến thức các tính mở hệ điều hành android, ưu nhược điểm Hơn tơi tìm hiểu mơ hình xây dựng ứng dụng di động, tìm hiểu ngơn ngữ lập trình hỗ trợ lập trình di động Chương tơi tìm hiểu tổng quan cơng nghệ React Native ngơn ngữ lập trình PHP Laravel, Restful API Chương tơi tiến hành tìm hiểu tốn ứng dụng luyện thi tiếng anh thiết bị di động phân tích thiết kế hệ thống, lập trình ứng dụng kiểm thử ứng dụng xây dựng với React Native Vì thời gian có hạn, kỹ tìm hiểu cịn hạn chế nên đồ án khơng thể tránh khỏi có thiếu sót Một số điểm cịn hạn chế đồ án: • Số lượng câu hỏi đề thi cịn chưa nhiều • Thời gian phản hồi cịn chậm, database chứa số lượng lớn thơng tin • Một số lỗi liên quan đến thư viện chưa xử lý hết • Chưa có thêm nhiều tính đặc biệt cho ứng dụng 92 • Cịn sử dụng data bên thứ cịn nhiều giới hạn, đường dẫn khơng tồn bị lỗi Qua kết nghiên cứu, tìm hiểu hạn chế cịn tồn tại, thấy để nghiên cứu xây dựng ứng dụng cần có thời gian, nhân lực kinh nghiệm khả tìm hiểu nhiều Ở phạm vi đồ án, tơi tìm hiểu xây dựng ứng dụng phạm vi sử dụng với số lượng người dùng nhỏ chức Trước tiên hết, tơi tập trung nghiên cứu tìm hiểu hồn thiện điểm cịn hạn chế, triển khai ứng dụng môi trường thật, đưa lên kho ứng dụng để nhận góp ý người dùng Xa phát triển mở rộng tính tích hợp hệ thống thi với số lượng người tham gia đủ lớn Tơi mong nhận góp ý thầy cô Cuối xin gửi đến thầy Trần Đức Thịnh lời cảm ơn chân thành tận tình hướng dẫn, bảo cho tơi suốt thời gian làm đồ án Tôi xin chân thành cảm ơn! SINH VIÊN THỰC HIỆN ĐỒ ÁN Lê Xuân Chức 93 DANH MỤC TÀI LIỆU THAM KHẢO [1] Trần Võ Nguyên Khôi, Huỳnh Thái Dương, “Xây Dựng Ứng Dụng Hỗ Trợ Học Tiếng Anh Cho Thiết Bị Di Động Chạy Nền Tảng Android,” ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH, Hồ Chí Minh, 2014 [2] Thế Giới Di Động, “Lịch sử đời đầy thú vị hệ điều hành ưa chuộng giới,” Thế Giới Di Động, 29 10 2015 [Online] Available: https://www.thegioididong.com/tin-tuc/lich-su-radoi-day-thu-vi-cua-he-dieu-hanh-duocua-chuong-nhat-the-gioi662281 [Accessed 13 03 2021] [3] Duy Luân, “10 tính bật Android mà iOS khơng có,” TinhTe.VN, 20 02 2011 [Online] Available: https://tinhte.vn/thread/10-tinh-nang-noi-bat-cua-android-ma-ioskhong-co.693130/ [Accessed 12 04 2021] [4] Nguyễn Công Huy, “LẬP TRÌNH GAME SUDOKU TRÊN ANDROID,” Cần Thơ, 2012 [5] Mai Minh Việt, “Xây dựng ứng dụng Android ôn luyện trắc nghiệm Tiếng Anh,” ĐẠI HỌC DÂN LẬP HẢI PHÒNG, Hải Phịng, 2018 [6] Nguyễn Thành Cơng, “Tìm hiểu mơ hình Kiến trúc phát triển ứng dụng android,” Viblo, 26 11 2015 [Online] Available: https://viblo.asia/p/tim-hieu-cacmo-hinh-kien-truc-trong-phat-trienung-dung-trong-android-5WQvzW9LRk3E [Accessed 20 04 2021] [7] Tutsplus, “Các ngơn ngữ lập trình ứng dụng di động,” [Online] Available: https://code.tutsplus.com/vi/articles/mobile-developmentlanguages cms-29138 [Accessed 22 04 2021] [8] Itnavi, “React Native gì? Học lập trình App với React Native,” [Online] Available: https://blog.itnavi.com.vn/react-native [Accessed 22 04 2021] [9] Phạm Quang Đạo, Nguyễn Hồng Nam, “Tìm hiểu lập trình Android” [10] Nguyễn Văn Tuyên, “XÂY DỰNG ỨNG DỤNG ANDROID TRUY XUẤT CƠ SỞ DỮ LIỆU,” Đại học dân lập Hải Phòng, Hải Phòng, 2016 [11] ThS Nguyễn Thị Duyên, “Hệ điều hành Android vấn đề bảo 94 mật,” Đại học Hà Tĩnh, 21 01 2018 [Online] Available: http://ent.htu.edu.vn/tin-tuc-su-kien/he-dieu-hanh-android-va-van-debao-mat.html [Accessed 20 03 2021] [12] Hồng Thanh, “Nhìn lại chặng 10 năm lịch sử phát triển Android,” 10 02 2019 [Online] Available: https://xahoithongtin.vnmedia.vn/tin-anh/201905/nhin-laichang-duoc10-nam-lich-su-phat-trien-cua-android-632920 [Accessed 15 03 2021] [13] VietWebGroup, “Android Là Gì? Tìm Hiểu Về Android Là Gì?,” 04 03 2021 [Online] Available: https://vietwebgroup.vn/blog/android-la-gi-tim-hieu-ve-android-lagi.vietweb [Accessed 20 04 2021] [14] Hải G, “React gì? Và hoạt động nào?,” [Online] Available: https://www.hostinger.vn/huong-dan/react-la-gi-va-no-hoatdong-nhu-the-nao [Accessed 21 04 2021] 95 PHỤ LỤC 96 ... luyện thi phần, luyện nghe, luyện đọc luyện tập kết hợp Bài toán cần giải số vấn đề sau: dạng thi, lĩnh vực từ vựng, nguồn liệu tạo database cho phần mềm, quản lý đề thi, từ vựng Về dạng đề thi. .. chủ đề • Chức làm Part đề thi TOEIC: Bài thi TOEIC có phần đề thi chia làm phần lớn Reading Listening, phần dạng đề thi Chức chia nhỏ thi thành phần cho người dùng luyện tập • Chức làm Test phần... dạng luyện thi bao gồm luyện đọc luyện nghe ứng dụng cung cấp cho người dùng giao diện tiện lợi thi? ??t bị di động mà đâu sử dụng Ứng dụng cung cấp tiện ích đăng ký, đăng nhập, đăng xuất, luyện thi,