Màn hình giao diện chọn ngày thông báo luyện tập .... Màn hình giao diện chọn giờ thông báo luyện tập .... Bảng mô tả các thành phần giao diện luyện tập tự chọn .... Bảng mô tả các thành
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC TỪ VỰNG
TIẾNG ANH TRÊN ANDROID
GVHD: NGUYỄN TRẦN THI VĂN SVTH: NGUYỄN MINH HOÀNG MSSV: 15110210
SVTH: PHẠM VĂN TỔNG MSSV: 15110336
Tp Hồ Chí Minh, 2019
SKL 0 0 6 7 6 1
ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
Trang 2KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
Đề tài:
Khóa 2015 – 2019
XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC TỪ VỰNG TIẾNG ANH TRÊN ANDROID
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN ThS NGUYỄN TRẦN THI VĂN
NGUYỄN MINH HOÀNG 15110210 PHẠM VĂN TỔNG 15110336
Trang 3KHOA CÔNG NGHỆ THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN ThS NGUYỄN TRẦN THI VĂN
Khóa 2015 – 2019
Trang 4i
ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
******
XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
1 Về nội dung đề tài và khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:
Tp Hồ Chí Minh, ngày … tháng … năm 2020
Giáo viên hướng dẫn (Ký và ghi rõ họ tên)
Họ và
Công nghệ Thông tin
tên Sinh viên 1: Nguyễn Minh Hoàng MSSV: 15110210
Họ và tên Sinh viên 2: Phạm Văn Tổng MSSV: 15110336
Ngành:
Tên đề tài: Xây dựng ứng dụng hỗ trợ học từ vựng tiếng anh trên Android
Họ và tên Giáo viên hướng dẫn: ThS Nguyễn Trần Thi Văn
NHẬN XÉT:
Trang 5ii
ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
******
XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc
******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Nguyễn Minh Hoàng MSSV: 15110210
Họ và tên Sinh viên 2: Phạm Văn Tổng MSSV: 15110336
Ngành: Công nghệ Thông tin
Tên đề tài: Xây dựng ứng dụng hỗ trợ học từ vựng tiếng anh trên Android
Họ và tên Giáo viên phản biện: TS Lê Vĩnh Thịnh
NHẬN XÉT:
1 Về nội dung đề tài và khối lượng thực hiện:
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị cho bảo vệ hay không?
5 Đánh giá loại:
6 Điểm:
Tp Hồ Chí Minh, ngày … tháng … năm 2020
Giáo viên phản biện (Ký và ghi rõ họ tên)
Trang 6iii
LỜI CẢM ƠN
Lời đầu tiên, nhóm chúng em xin gửi lời cảm ơn chân thành đến Quý Thầy, Cô của khoa Công Nghệ Thông Tin Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM đã truyền thụ những kiến thức, kinh nghiệm quý báu và đã tạo điều kiện thuận lợi cho chúng em được thực hiện
đề tài Khóa luận tốt nhiệp này
Thứ hai, chúng em cũng xin được gửi lời cảm ơn chân thành và sâu sắc nhất đến thầy Nguyễn Trần Thi Văn, người Thầy đã hướng dẫn và chỉ bảo chúng em trong suốt quá trình chúng em thực hiện đề tài khóa luận này
Chúng em xin cảm ơn Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM đã tạo một môi trường thuận lợi cho chúng em học tập trong thời gian qua
Và cũng xin chân thành cảm ơn đến những anh, chị khóa trên và bạn bè đã ủng hộ và giúp đỡ chúng em trong thời gian này
Mặc dù chúng em đã cố gắng hoàn thành thật tốt khóa luận tốt nghiệp này, nhưng chắc chắn chúng em sẽ có những thiếu sót không tránh khỏi Nhưng chúng em kính mong nhận được sự cảm thông và những ý kiến đóng góp của quý Thầy Cô và các bạn
Và cuối cùng, chúng em xin chân thành cảm ơn
Tp Hồ Chí Minh, tháng 12 năm 2019
Nhóm sinh viên thực hiện: Nguyễn Minh Hoàng Phạm Văn Tổng
Trang 7iv
Trường ĐH Sư Phạm Kỹ Thuật TP HCM
Khoa: CNTT
ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP
Họ và Tên SV thực hiện 1: Nguyễn Minh Hoàng MSSV: 15110210
Họ và Tên SV thực hiện 2: Phạm Văn Tổng MSSV: 15110336
Thời gian làm khóa luận : từ : 23/09/2019 Đến: 11/12/2019
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Xây dựng ứng dụng hỗ trợ học từ vựng tiếng anh trên Android
Giáo viên hướng dẫn: Ths Nguyễn Trần Thi Văn
Nhiệm vụ của luận văn:
1.3 Cách tiếp cận và phương pháp nghiên cứu
- Đối tượng nghiên cứu
- Phạm vi nghiên cứu
1.5 Phân tích những ứng dụng có liên quan
1.4 Kết quả dự kiến đạt được
Trang 8v
2 Phần NỘI DUNG
1 Chương 1: Cơ sở lý thuyết
1.1 Giới thiệu về hệ điều hành Android
1.2 Giới thiệu về những phiên bản của hệ điều hành Android
2 Chương 2: Khảo sát thị trường và xác định yêu cầu
2.1 Khảo sát hiện trạng những ứng dụng liên quan
2.2 Xác định yêu cầu cho ứng dụng
3 Chương 3: Phân tích yêu cầu và thiết kế cơ sở dữ liệu
3.1 Mô tả công việc
3.2 Usecare diagram
3.3 Sequence diagram
3.4 Thiết kế cơ sở dữ liệu
4 Chương 4: Thiết kế giao diện và xử lý
4.1 Giao diện khởi động
4.2 Giao diện chính
4.3 Giao diện luyện tập tự chọn
4.4 Giao diện tra từ
4.5 Giao diện tùy chỉnh
4.6 Giao diện bài tập nghe
4.7 Giao diện bài tập chọn từ theo nghĩa
4.8 Giao diện bài tập chọn nghĩa theo từ
4.9 Giao diện chọn số lần nhắc nhở luyện tập
4.10 Giao diện chọn ngày thông báo luyện tập
4.11 Giao diện chọn giờ thông báo luyện tập
4.12 Giao diện chi tiết từ
4.13 Giao diện thêm từ
5 Chương 5: Cài đặt và kiểm thử
5.1 Cài đặt ứng ụng và kiểm thử các màn hình chính
5.2 Tổng hợp kết quả kiểm thử
Trang 9- Thiết kế cơ sở dữ liệu
- Thiết kế giao diện chính
- Xử lý chức năng làm bài kiểm tra
- Sửa các lỗi của ứng dụng
8 16/12-28/12
(Tuần 13,14)
- Chỉnh sửa các lỗi của ứng dụng
- Hoàn thiện các chức năng
- Viết báo cáo
9 29/12-4/12
(Tuần 15)
- Viết báo cáo
- Chỉnh sửa các lỗi của ứng dụng
10 5/12-11/12
(Tuần 16)
- Hoàn tất ứng dụng
- Báo cáo
Ý kiến của Giáo viên hướng dẫn Ngày … tháng … năm 2019
(Ký và ghi rõ họ tên) Người viết đề cương
Trang 102
MỤC LỤC
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN i
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN ii
LỜI CẢM ƠN iii
ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP iv
MỞ ĐẦU 10
CƠ SỞ LÝ THUYẾT 12
1.1 GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID 12
1.1.1 Giới thiệu về hệ điều hành Android 12
1.1.2 Giới thiệu về những phiên bản của hệ điều hành Android 12
1.1.3 Lý thuyết về hệ điều hành Android 13
1.1.4 Ưu điểm và nhược điểm của hệ điều hành Android 14
1.1.5 Thực trạng hiện nay của hệ điều hành Android 15
1.2 GIỚI THIỆU VỀ SQLITE 15
1.2.1 Giới thiệu về SQLite 15
1.2.2 Các chức năng chính của SQLite 15
1.2.3 Những lợi ích và hạn chế của SQLite 18
KHẢO SÁT THỊ TRƯỜNG VÀ XÁC ĐỊNH YÊU CẦU 19
2.1 KHẢO SÁT HIỆN TRẠNG NHỮNG ỨNG DỤNG LIÊN QUAN 19
2.1.1 Ứng dụng Duolingo 19
2.1.2 3000 từ vựng tiếng Anh thông dụng 23
2.1.3 6000 từ vựng phổ biến 25
2.2 XÁC ĐỊNH YÊU CẦU CHO ỨNG DỤNG 27
2.2.1 Yêu cầu chức năng 27
2.2.2 Yêu cầu phi chức năng 27
PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU 29
3.1 MÔ TẢ CÔNG VIỆC 29
3.1.1 Yêu cầu nghiệp vụ của người dùng 29
3.1.2 Các quy định / Công thức liên quan 30
3.2 USECASE DIAGRAM 31
Trang 113
3.3 SEQUENCE DIAGRAM 32
3.3.1 Chức năng luyện tập ngẫu nhiên 32
3.3.2 Chức năng luyện tập tùy chọn 33
3.3.3 Chức năng tra từ 34
3.3.4 Chức năng thêm từ mới 35
3.4.5 Chức năng xóa từ 36
3.4.6 Chức năng thêm vào danh sách yêu thích 37
3.4.7 Chức năng lập lịch luyện tập 38
3.4 THIẾT KẾ CƠ SỞ DỮ LIỆU 39
3.4.1 Mô hình cơ sở dữ liệu 39
3.4.2 Bảng mô tả các thuộc tính của cơ sở dữ liệu 39
THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ 41
4.1 GIAO DIỆN KHỞI ĐỘNG 41
4.1.1 Màn hình giao diện khởi động 41
4.1.2 Mô tả thành phần giao diện 41
4.2 GIAO DIỆN CHÍNH 42
4.2.1 Màn hình giao diện chính 42
4.2.2 Mô tả thành phần giao diện và các xử lý 43
4.3 GIAO DIỆN LUYỆN TẬP TỰ CHỌN 44
4.3.1 Màn hình giao diện luyện tập tự chọn 44
4.3.2 Mô tả thành phần giao diện và các xử lý 45
4.4 GIAO DIỆN TRA TỪ 47
4.4.1 Màn hình giao diện tra từ 47
4.4.2 Mô tả thành phần giao diện và các xử lý 48
4.5 GIAO DIỆN TÙY CHỈNH 50
4.5.1 Màn hình giao diện tùy chỉnh 50
4.5.2 Mô tả thành phần giao diện và các xử lý 51
4.6 GIAO DIỆN BÀI TẬP NGHE 53
4.6.1 Màn hình bài tập nghe 53
4.6.2 Mô tả thành phần giao diện và các xử lý 54
Trang 124
4.7 GIAO DIỆN BÀI TẬP CHỌN TỪ THEO NGHĨA 55
4.7.1 Màn hình giao diện chọn từ theo nghĩa 55
4.7.2 Mô tả thành phần giao diện và các xử lý 56
4.8 GIAO DIỆN BÀI TẬP CHỌN NGHĨA THEO TỪ 57
4.8.1 Màn hình giao diện chọn nghĩa theo từ 57
4.8.2 Mô tả thành phần giao diện và các xử lý 58
4.9 GIAO DIỆN CHỌN SỐ LẦN NHẮC NHỞ LUYỆN TẬP 59
4.9.1 Màn hình giao diện chọn số lần nhắc nhở luyện tập 59
4.9.2 Mô tả thành phần giao diện và các xử lý 60
4.10 GIAO DIỆN CHỌN NGÀY THÔNG BÁO LUYỆN TẬP 60
4.10.1 Màn hình giao diện chọn ngày thông báo luyện tập 60
4.10.2 Mô tả thành phần giao diện và các xử lý 61
4.11 GIAO DIỆN CHỌN GIỜ THÔNG BÁO LUYỆN TẬP 61
4.11.1 Màn hình giao diện chọn giờ thông báo luyện tập 61
4.11.2 Mô tả thành phần giao diện và các xử lý 62
4.12 GIAO DIỆN CHI TIẾT TỪ 63
4.12.1 Màn hình giao diện chi tiết từ 63
4.12.2 Mô tả thành phần giao diện và các xử lý 64
4.13 GIAO DIỆN THÊM TỪ 65
4.13.1 Màn hình giao diện thêm từ 65
4.13.2 Mô tả thành phần giao diện và các xử lý 66
CÀI ĐẶT VÀ KIỂM THỬ 67
5.1 CÀI ĐẶT ỨNG DỤNG VÀ KIỂM THỬ CÁC MÀN HÌNH 67
5.1.1 Màn hình khởi động 67
5.1.2 Màn hình giao diện chính 67
5.1.3 Màn hình giao diện luyện tập tự chọn 68
5.1.4 Màn hình giao diện tra từ 70
5.1.5 Màn hình giao tùy chỉnh 70
5.1.6 Màn hình giao diện bài tập nghe 71
5.1.7 Màn hình giao diện bài tập chọn từ theo nghĩa 72
Trang 135
5.1.8 Màn hình giao diện chọn nghĩa theo hình 73
5.1.9 Màn hình giao diện số lần nhắc nhở luyện tập 74
5.1.10 Màn hình giao diện chọn ngày thông báo luyện tập 74
5.1.11 Màn hình giao diện chọn giờ thông báo luyện tập 75
5.1.12 Màn hình giao diện chi tiết từ 76
5.1.13 Màn hình giao diện thêm từ 76
5.2 TỔNG HỢP KẾT QUẢ KIỂM THỬ 78
KẾT LUẬN 79
1 KẾT QUẢ ĐẠT ĐƯỢC 79
2 ƯU ĐIỂM 79
3 HẠN CHẾ 79
4 HƯỚNG PHÁT TRIỂN 79
TÀI LIỆU THAM KHẢO 80
Trang 146
DANH MỤC BẢNG BIỂU
Bảng 1 Bảng phân tích những ứng dụng liên quan 11
Bảng 2: 1.1 Bảng các phiên bản của hệ điều hành Android 12
Bảng 3: 1.2 Bảng thị phần Adroid năm 2016 và năm 2017 15
Bảng 4: 3.1 Yêu cầu chức năng nghiệp vụ của người dùng 29
Bảng 5: 3.2 Bảng các quy định / công thức liên quan 30
Bảng 6: 3.3 Bảng mô tả các thuộc tính Words 39
Bảng 7: 3.4 Bảng mô tả các thuộc tính của chủ đề 40
Bảng 8: 3.5 Bảng mô tả các thuộc tính của Question 40
Bảng 9: 4.1 Bảng mô tả các thành phần giao diện khởi động 41
Bảng 10: 4.2 Bảng mô tả các thành phần giao diện chính 43
Bảng 11: 4.3 Bảng mô tả các xử lý 43
Bảng 12: 4.4 Bảng mô tả các thành phần giao diện luyện tập tự chọn 45
Bảng 13: 4.5 Bảng mô tả các xử lý 45
Bảng 14: 4.6 Bảng mô tả các thành phần giao diện tra từ 48
Bảng 15: 4.7 Bảng mô tả các xử lý 49
Bảng 16: 4.8 Bảng mô tả các thành phần giao diện tùy chỉnh 51
Bảng 17: 4.9 Bảng mô tả các xử lý 52
Bảng 18: 4.10 Bảng mô tả các thành phần giao diện bài tập nghe 54
Bảng 19: 4.11 Bảng mô tả các xử lý 54
Bảng 20: 4.12 Bảng mô tả các thành phần giao diện chọn từ theo nghĩa 56
Bảng 21: 4.13 Bảng mô tả các xử lý 56
Bảng 22: 4.14 Bảng mô tả các thành phần giao diện chọn nghĩa theo từ 58
Bảng 23: 4.15 Bảng mô tả các xử lý 58
Bảng 24: 4.16 Bảng mô tả các thành phần giao diện chọn số lần nhắc nhở luyện tập 60
Bảng 25: 4.17 Bảng mô tả các xử lý 60
Bảng 26: 4.18 Mô tả các thành phần giao diện chọn ngày thông báo luyện tập 61
Bảng 27: 4.19 Bảng mô tả các xử lý 61
Bảng 28: 4.20 Mô tả các thành phần giao diện chọn giờ thông báo luyện tập 62
Bảng 29: 4.21 Bảng mô tả các xử lý 62
Trang 157
Bảng 30: 4.22 Bảng mô tả các thành phần giao diện chi tiết từ 64
Bảng 31: 4.23 Bảng mô tả các xử lý 64
Bảng 32: 4.24 Bảng mô tả các thành phần giao diện thêm từ 66
Bảng 33: 4.25 Bảng mô tả các xử lý 66
Bảng 34: 5.1 Bảng kiểm thử màn hình khởi động 67
Bảng 35: 5.2 Bảng kiểm thử màn hình giao diện chính 67
Bảng 36: 5.3 Bảng kiểm thử màn hình giao diện luyện tập tự chọn 68
Bảng 37: 5.4 Bảng kiểm thử màn hình giao diện tra từ 70
Bảng 38: 5.5 Bảng kiểm thử màn hình tùy chỉnh 70
Bảng 39: 5.6 Bảng kiểm thử màn hình giao diện bài tập nghe 71
Bảng 40: 5.7 Bảng kiểm thử màn hình giao diện bài tập chọn từ theo nghĩa 72
Bảng 41: 5.8 Bảng kiểm thử màn hình giao diện chọn nghĩa theo hình 73
Bảng 42: 5.9 Bảng kiểm thử màn hình giao diện sô lần nhắc nhở luyện tập 74
Bảng 43: 5.10 Bảng kiểm thử màn hình giao diện chọn ngày thông báo luyện tập 74
Bảng 44: 5.11 Bảng kiểm thử màn hình giao diện chọn giờ thông báo luyện tập 75
Bảng 45: 5.12 Bảng kiểm thử màn hình giao diện chi tiết từ 76
Bảng 46: 5.13 Bảng kiểm thử màn hình giao diện thêm từ 76
Bảng 47: 5.14 Bảng thống kê kết quả kiểm thử 78
Trang 168
DANH MỤC HÌNH ẢNH
Hình 1: 2.1 Màn hình giao diện đăng nhập 19
Hình 2: 2.2 Màn hình giao diện chính 20
Hình 3: 2.3 Màn hình giao diện học tập 21
Hình 4: 2.4 Giao diện thông tin tài khoản và cài đặt 21
Hình 5: 2.5 Giao diện chính và cài đặt nhắc nhở 23
Hình 6: 2.6 Màn hình giao diện từ yêu thích và từ theo chủ đề 23
Hình 7: 2.7 Giao diện bài tập của 3000 từ vựng tiếng Anh thông dụng 24
Hình 8: 2.8 Một số giao diện của ứng dụng 25
Hình 9: 2.9 Giao diện bài kiểm tra của ứng dụng 26
Hình 10: 3.1 Usecase diagram 31
Hình 11: 3.2 Lược đồ tuần tự của chức năng luyện tập ngẫu nhiên 32
Hình 12: 3.3 Lược đồ tuần tự của chức năng luyện tập tùy chọn 33
Hình 13: 3.4 Lược đồ tuần tự của chức năng tra từ 34
Hình 14: 3.5 Lược đồ tuần tự của chức năng thêm từ mới 35
Hình 15: 3.6 Lược đồ tuần tự của chức năng xóa từ 36
Hình 16: 3.7 Lược đồ tuần tự của chức năng chức năng thêm từ vào danh sách yêu thích 37
Hình 17: 3.8 Lược đồ tuần tự của chức năng lập lịch luyện tập 38
Hình 18: 3.9 Mô hình cơ sở dữ liệu 39
Hình 19: 4.1 Màn hình giao diện khởi động 41
Hình 20: 4.2 Màn hình giao diện chính 42
Hình 21: 4.3 Màn hình giao diện luyện tập tự chọn 44
Hình 22: 4.4 Màn hình giao diện tra từ 47
Hình 23: 4.5 Màn hình giao diện tùy chỉnh 50
Hình 24: 4.6 Màn hình giao diện bài tập nghe 53
Hình 25: 4.7 Màn hình giao diện chọn từ theo nghĩa 55
Hình 26: 4.8 Màn hình giao diện chọn nghĩa theo từ 57
Hình 27: 4.9 Màn hình giao diện số lần nhắc nhở luyện tập 59
Hình 28: 4.10 Màn hình giao diện chọn ngày thông báo luyện tập 60
Trang 179
Hình 29: 4.11 Màn hình giao diện chọn giờ thông báo luyện tập 61 Hình 30: 4.12 Màn hình gai diện chi tiết từ 63 Hình 31: 4.13 Màn hình giao diện thêm từ 65
Trang 1810
MỞ ĐẦU
1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Ngành Công nghệ thông tin (CNTT) trong thập kỷ qua đã có những bước phát triển mạnh mẽ và nhanh chóng trên thế giới cũng như trong nước Công nghệ thông tin đã góp phần cho sự phát triển kinh tế của nước ta trong thời kỳ hội nhập và đổi mới
Công nghệ thông tin đang được sử dụng hầu hết trong tất cả các ngành nghề hiện nay, giúp cải thiện tốc độ và chất lượng, nâng cao hiệu suất trong công việc
Việc ứng dụng công nghệ thông tin giúp con người tự học thông qua công nghệ ngày càng trở nên hiệu quả và nâng cao hiệu suất học tập của người học một cách nhanh chóng
và hiệu quả
Tuy nhiên, nước ta đang trong thời kỳ hội nhập và đổi mới, việc học tiếng Anh là một điều cần thiết đối với người dân Việt Nam Việc học từ vựng tiếng Anh tốn nhiều thời gian và phải được ôn, luyện hàng ngày mà smartphone hiện nay được sử dụng rộng rãi Vì vậy, nhóm chúng em đã nghiên cứu và phát triển đề tài “Xây dựng ứng dụng hỗ trợ học từ vựng tiếng anh trên Android” với mong muốn giúp việc học từ vựng của người dân được trở nên thuận tiện, dễ dàng tiếp thu và có thể trau dồi kiến thức tiếng Anh mỗi ngày để nâng cao kiến thức về tiếng Anh một cách nhanh chóng và chính xác
3 CÁCH TIẾP CẬN VÀ PHƯƠNG PHÁP NGHIÊN CỨU
- Tìm hiểu cách xây dựng một ứng dụng Android bằng ngôn ngữ lập trình Java
- Tìm hiểu về cơ sở dữ liệu SQLite, công cụ Xamarin Test Cloud
- Tìm hiểu những ứng dụng học tiếng anh trên Android có liên quan
Trang 1911
4 PHÂN TÍCH NHỮNG ỨNG DỤNG CÓ LIÊN QUAN
Bảng 1 Bảng phân tích những ứng dụng liên quan
Ứng dụng Duolingo 3000 từ vựng tiếng anh
thông dụng
6000 từ vựng thông dụng
Câu ví dụ minh họa
- Ứng dụng có đầy đủ chức năng đã đề ra
- Ứng dụng đạt được những yêu cầu đã đề ra
Trang 2012
CƠ SỞ LÝ THUYẾT
1.1 GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH ANDROID
1.1.1 Giới thiệu về hệ điều hành Android
Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế dành cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google
và sau này chính thức được Google mua lại vào năm 2005 và tiếp tục phát triển Android trở thành một nền tảng hiệu quả hơn
Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần mềm và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động
Android chính thức xuất hiện trên thị trường lần đầu tiên vào ngày 22 tháng 10 năm
2008 với sự ra mắt của chiếc điện thoại HTC Dream
1.1.2 Giới thiệu về những phiên bản của hệ điều hành Android
Lịch sử phiên bản của hệ điều hành di động Android bắt đầu với bản Android beta vào tháng 11 2007 Phiên bản thương mại đầu tiên, Android 1.0, được phát hành vào tháng 9 năm 2008 Android đang được phát triển bởi Google và Open Handset Alliance (OHA), và đã có một số bản cập nhật cho hệ điều hành này kể từ khi ra mắt
Bảng 2: 1.1 Bảng các phiên bản của hệ điều hành Android Tên mã Số phiên bản Ngày phát hành Cấp API
Trang 211.1.3 Lý thuyết về hệ điều hành Android
Lập trình Android hiện nay đang thực hiện trên nền Java, ngoài ra cần bộ công cụ phát triển ứng dụng Android SDK để bắt đầu học lập trình Android Có rất nhiều các công cụ cho phép tiến hành lập trình Android như Android Studio, Eclipse, NetBean…
Ở trong đề tài này,nhóm sinh viên làm việc với Android Studio để lập trình Android Do các công cụ để phát triển chương trình càng ngày càng được cập nhật mới và dễ dàng tìm thấy trên các công cụ tìm kiếm hiện nay nên nhóm sinh viên sẽ không trực tiếp đề cập tới quá trình cài đặt các công cụ này
Các thành phần chính của 1 ứng dụng Android:
- Activity: hiểu một cách đơn giản thì Activity là nền của 1 ứng dụng Khi khởi động 1 ứng dụng Android nào đó thì bao giờ cũng có 1 main Activity được gọi, hiển thị màn hình giao diện của ứng dụng cho phép người dùng tương tác
- Service: thành phần chạy ẩn trong Android Service sử dụng để update dữ liệu, đưa ra các cảnh báo (Notification) và không bao giờ hiển thị cho người dùng thấy
- Content Provider: kho dữ liệu chia sẻ Content Provider được sử dụng để quản
lý và chia sẻ dữ liệu giữa các ứng dụng
Trang 2214
- Intent: nền tảng để truyền tải các thông báo Intent được sử dụng để gửi các thông báo đi nhằm khởi tạo 1 Activity hay Service để thực hiện công việc bạn mong muốn
- Broadcast Receiver: thành phần thu nhận các Intent bên ngoài gửi tới
- Notification: đưa ra các cảnh báo mà không làm cho các Activity phải ngừng hoạt động
- Activity, Service, Broadcast Receiver và Content Provider mới là những thành phần chính cấu thành nên ứng dụng Android, bắt buộc phải khai báo trong AndroidManifest
1.1.4 Ưu điểm và nhược điểm của hệ điều hành Android
- Cập nhật không tự động với tất cả thiết bị Khi một phiên bản hệ điều hành mới
ra mắt, không phải tất cả sản phẩm đều được cập nhật, thậm chí nếu muốn trải nghiệm bạn thường xuyên phải mua mới thiết bị
Trang 2315
1.1.5 Thực trạng hiện nay của hệ điều hành Android
Thông qua bảng so sánh thiết bị sử dụng Android qua các năm 2016 và 2017 dưới đây, ta thấy thị phần của Android là lớn nhất và không ngừng tăng Điều đó chứng tỏ sức cạnh tranh của hệ điều hành Android là rất lớn và hứa hẹn nhiều triển vọng trong tương lai
Bảng 3: 1.2 Bảng thị phần Adroid năm 2016 và năm 2017 Operating
System 2016 Units
2016 Market Share (%) 2017 Units
2017 Market Share (%) Android 1,268,567.7 84,8 1,320,118.1 85.9
1.2 GIỚI THIỆU VỀ SQLITE
1.2.1 Giới thiệu về SQLite
SQLite là một hệ quản trị cơ sở dữ liệu quan hệ, khác với các hệ quản trị CSDL khác
nó không cần client–server database engine (một dịch vụ, ứng dụng cài đặt đầy đủ thông qua nó kết nối, tương tác với các CSDL), nó được nhúng vào rất nhiều chương trình khác nhau, từ desktop, mobile đến website Hầu hết ngôn ngữ lập trình có các thư viện hỗ trợ kết nối, truy vấn đến SQLite như: PHP, C, Java, C#, JavaScript Nó được nhúng vào các trình duyệt, vào các hệ thống nhúng, hệ điều hành như Android, IOS đều đã nhúng mặc định
Vì SQLite không cần client–server database engine nên có thể hiểu file CSDL đã tích hợp mọi thứ, sử dụng ngay mà không cần phải cài đặt thêm thứ gì
SQLite tương thích với chuẩn SQL
1.2.2 Các chức năng chính của SQLite
- Không cần cài đặt: SQLite không cần phải cài đặt, chỉ cần có file database là SQLite có thể hoạt động như bình thường
- Không cần máy chủ: như đã nói ở trên, do không cần cài đặt, SQLite cũng không cần máy chủ như SQL server hay mySQL, không có các phương thức xác
Trang 24dữ liệu dưới dạng một tập hợp lớn các tệp Thông thường các tệp này nằm ở một
vị trí tiêu chuẩn mà chỉ có chính công cụ cơ sở dữ liệu có thể truy cập Điều này làm cho dữ liệu an toàn hơn, nhưng cũng làm cho nó khó truy cập hơn Một số công cụ cơ sở dữ liệu SQL cung cấp tùy chọn ghi trực tiếp vào đĩa và bỏ qua tất
cả các hệ thống tệp cùng nhau Điều này cung cấp hiệu suất bổ sung, nhưng với chi phí thiết lập và bảo trì phức tạp đáng kể
- Database ổn định và chạy đa nền tảng: Hầu hết các công cụ cơ sở dữ liệu SQL khác yêu cầu bạn kết xuất và khôi phục cơ sở dữ liệu khi chuyển từ nền tảng này sang nền tảng khác và thường khi nâng cấp lên phiên bản phần mềm mới hơn Nhưng với SQLite bạn chỉ cần 1 file data, bạn có thể chạy trên bất cứ nền tảng nào từ x86, x64, linux,
- Gọn nhẹ: Khi được tối ưu hóa về kích thước, toàn bộ thư viện SQLite với mọi thứ được kích hoạt có kích thước nhỏ hơn 500KiB (như được đo trên x86 bằng tiện ích "kích thước" từ bộ biên dịch GNU.) Các tính năng không cần thiết có thể
bị vô hiệu hóa trong thời gian biên dịch để tiếp tục giảm kích thước của thư viện dưới 300KiB nếu muốn
- Cấu trúc lệnh linh động: Hầu hết các công cụ cơ sở dữ liệu SQL sử dụng gõ tĩnh Một kiểu dữ liệu được liên kết với mỗi cột trong một bảng và chỉ các giá trị của kiểu dữ liệu cụ thể đó mới được phép lưu trữ trong cột đó SQLite nới lỏng hạn chế này bằng cách sử dụng kiểu gõ Trong cách gõ tệp kê khai, kiểu dữ liệu
là một thuộc tính của chính giá trị, không phải của cột trong đó giá trị được lưu trữ Do đó, SQLite cho phép người dùng lưu trữ bất kỳ giá trị nào của bất kỳ kiểu
dữ liệu nào vào bất kỳ cột nào bất kể loại khai báo của cột đó
- Bản ghi có thể thay đổi độ dài: Hầu hết các công cụ cơ sở dữ liệu SQL khác được phân bổ một lượng không gian đĩa cố định cho mỗi hàng trong hầu hết các bảng Họ chơi các thủ thuật đặc biệt để xử lý BLOB và CLOB có thể có chiều
Trang 2517
dài khác nhau Nhưng đối với hầu hết các bảng, nếu bạn khai báo một cột là VARCHAR (100) thì công cụ cơ sở dữ liệu sẽ phân bổ 100 byte dung lượng đĩa bất kể bạn thực sự lưu trữ bao nhiêu thông tin trong cột đó
Ngược lại, SQLite chỉ sử dụng lượng không gian đĩa thực sự cần thiết để lưu trữ thông tin liên tiếp Nếu bạn lưu trữ một ký tự trong cột VARCHAR (100), thì chỉ một byte không gian đĩa được sử dụng (Trên thực tế hai byte - có một số chi phí ở đầu mỗi cột để ghi lại kiểu dữ liệu và độ dài của nó.)
- Mã nguồn mở: Mã nguồn thành SQLite được thiết kế để người lập trình trung bình có thể đọc và truy cập được Tất cả các thủ tục và cấu trúc dữ liệu và nhiều biến tự động được nhận xét cẩn thận với thông tin hữu ích về những gì họ làm
- Các câu lệnh có thể biến đổi thành lệnh của máy ảo: Mỗi công cụ cơ sở dữ liệu SQL biên dịch mỗi câu lệnh SQL thành một loại cấu trúc dữ liệu nội bộ nào
đó sau đó được sử dụng để thực hiện công việc của câu lệnh Nhưng trong hầu hết các công cụ SQL, cấu trúc dữ liệu nội bộ là một mạng lưới phức tạp gồm các cấu trúc và đối tượng được liên kết với nhau Trong SQLite, dạng câu lệnh được biên dịch là một chương trình ngắn với ngôn ngữ giống như ngôn ngữ máy Người dùng cơ sở dữ liệu có thể xem ngôn ngữ máy ảo này bằng cách thêm từ khóa EXPLAIN vào truy vấn
- Domain mở: Mã nguồn cho SQLite nằm trong miền công cộng Không có khiếu nại về bản quyền được thực hiện trên bất kỳ phần nào của mã nguồn cốt lõi (Tài liệu và mã kiểm tra là một vấn đề khác - một số phần của tài liệu và logic kiểm tra bị chi phối bởi giấy phép nguồn mở.) Tất cả những người đóng góp cho phần mềm lõi SQLite đã ký các bản khai tuyên bố từ chối bất kỳ lợi ích bản quyền nào trong mã Điều này có nghĩa là bất kỳ ai cũng có thể làm bất cứ điều gì họ muốn một cách hợp pháp với mã nguồn SQLite
- Các câu lệnh mở rộng của ngôn ngữ SQL: SQLite cung cấp một số cải tiến cho ngôn ngữ SQL thường không được tìm thấy trong các công cụ cơ sở dữ liệu khác Từ khóa EXPLAIN và gõ bảng kê khai đã được đề cập ở trên SQLite cũng cung cấp các câu lệnh như REPLACE và mệnh đề ON CONFLICT cho phép kiểm soát bổ sung đối với việc giải quyết các xung đột ràng buộc SQLite hỗ trợ
Trang 2618
các lệnh ATTACH và DETACH cho phép nhiều cơ sở dữ liệu độc lập được sử dụng cùng nhau trong cùng một truy vấn Và SQLite định nghĩa các API cho phép người dùng thêm các hàm SQL mới và đối chiếu các chuỗi
1.2.3 Những lợi ích và hạn chế của SQLite
Với những tính năng kể trên, SQLite thích hợp cho việc sử dụng vào các ứng dụng vừa
và nhỏ, đặc biệt là các ứng dụng nội bộ(local) Với các tính năng, cơ sở dữ liệu được xây dựng như app của nhóm thì sử dụng SQLite vô cùng hợp lý Ngoài ra việc sử dụng SQLite còn có các tiện ích như:
- Small footprint
- Thân thiện với người dùng
- Thuận tiện trong việc di chuyển dữ liệu
Ngoài ra nó còn có các hạn chế như:
- Giới hạn truy cập đồng thời
- Không có quản lý người dùng
- Bảo mật kém
Trang 2719
KHẢO SÁT THỊ TRƯỜNG VÀ XÁC ĐỊNH YÊU CẦU
2.1 KHẢO SÁT HIỆN TRẠNG NHỮNG ỨNG DỤNG LIÊN QUAN
2.1.1 Ứng dụng Duolingo
2.1.1.1 Một số giao diện màn hình của ứng dụng Duolingo
Hình 1: 2.1 Màn hình giao diện đăng nhập
Trang 2820 Hình 2: 2.2 Màn hình giao diện chính
Trang 2921 Hình 3: 2.3 Màn hình giao diện học tập
Hình 4: 2.4 Giao diện thông tin tài khoản và cài đặt
Trang 3022
2.1.1.2 Giới thiệu chức năng của ứng dụng Duolingo
Duolingo cung cấp các bài học viết và chính tả mang tính bao quát, với phần luyện nói cho những người sử dụng ở trình độ cao hơn Chương trình học bao gồm một cây
kĩ năng được trò chơi hóa mà người dùng có thể từng bước vượt qua và phần từ vựng nơi bạn có thể luyện các từ mà mình đã học
Duolingo cũng có phần luyện tập tính thời gian, nơi người dùng được trao 30 giây cùng 20 câu hỏi và nhận được một điểm kinh nghiệm Thử trả lời tất cả câu hỏi trước khi hết thời gian, đồng thời rèn luyện tính phản xạ cũng như tất cả kiến thức bạn học được cùng 7 hay 10 giây bù (phụ thuộc vào độ dài câu hỏi) cho mỗi câu trả lời đúng Bởi mục đích của Duolingo là tạo điều kiện để người sử dụng học ngôn ngữ, mỗi
kĩ năng (gồm từ 1 tới 10 bài học) có một "thanh độ mạnh" phản ánh ước tính của máy tính đối với trí nhớ của người dùng về một từ hay một cấu trúc ngữ pháp nào đó Sau một khoảng thời gian nhất định, các thanh độ mạnh sẽ nhạt dần, tức là người dùng cần phải làm mới hay học lại bài học đó, hay nghĩa là "tăng cường các kĩ năng còn yếu" Các khóa học có thể dạy một số lượng từ lên tới 2.000 từ
2.1.1.3 Ưu điểm và nhược điểm của ứng dụng Duolingo
Trang 3123
2.1.2 3000 từ vựng tiếng Anh thông dụng
2.1.2.1 Một số giao diện màn hình của ứng dụng 3000 từ vựng tiếng Anh thông dụng
Hình 5: 2.5 Giao diện chính và cài đặt nhắc nhở
Hình 6: 2.6 Màn hình giao diện từ yêu thích và từ theo chủ đề
Trang 3224
Hình 7: 2.7 Giao diện bài tập của 3000 từ vựng tiếng Anh thông dụng 2.1.2.2 Giới thiệu chức năng của ứng dụng 3000 từ vựng tiếng Anh thông dụng
- Được thêm từ mà mình cần học
- Có thể học qua màn hình khóa với chế độ nhắc từ
- Có đầy đủ nghĩa của từ, phiên âm, từ đồng nghĩa và trái nghĩa
- Hỗ trợ các phương pháp luyên tập: luyện nghe, luyện nói và luyện đọc
- Hỗ trợ phiên âm, từ đồng nghĩa và trái nghĩa
- Lưu từ cần học lại và làm bài kiểm tra với những từ đó
2.1.2.3 Ưu điểm và nhược điểm của ứng dụng 3000 từ vựng tiếng Anh
- Ưu điểm:
o Dễ dàng và chủ động trong việc học
o Học được cả khi điện thoại không có kết nối với internet
o Người dùng học nhanh với các từ theo chủ đề
o Đặt lịch nhắc học từ trên màn hình khóa điện thoại
- Nhược điểm:
o Dễ gây nhàm chán
o Không có hình ảnh hay câu ví dụ minh họa từ
Trang 3325
2.1.3 6000 từ vựng phổ biến
2.1.3.1 Một số giao diện màn hình của ứng dụng 6000 từ vựng phổ biến
Hình 8: 2.8 Một số giao diện của ứng dụng
Trang 3426
Hình 9: 2.9 Giao diện bài kiểm tra của ứng dụng 2.1.3.2 Giới thiệu chức năng của ứng dụng 6000 từ vựng phổ biến
- Tích hợp hệ thống ôn tập bằng flashcard
- Khả năng hiển thị hình ảnh và đọc ý nghĩa liên quan
- Tùy chỉnh câu hỏi để kiểm tra sự nhớ từ
- Ôn tập cuối mỗi bài test
- Nhiều lựa chọn về tốc độ chạy của flashcard để bạn kiểm tra sự ghi nhớ từ 2.1.3.3 Ưu điểm và nhược điểm của ứng dụng 6000 từ vựng phổ biến
o Không thật sự phù hợp với người mới bắt đầu
o Dễ gây nhàm chán nếu học lâu dài
o Mất kết nối internet sẽ không thực hiện được phần nghe
o Không thể tìm từ mình cần một cách nhanh chóng
Trang 3527
2.2 XÁC ĐỊNH YÊU CẦU CHO ỨNG DỤNG
2.2.1 Yêu cầu chức năng
2.2.1.1 Yêu cầu chức năng nghiệp vụ
Lưu trữ:
- Các thiết lập của người dùng
- Các từ do người dùng thêm vào
- Từ được người dùng đánh dấu yêu thích
Tra cứu:
- Xem danh sách tất cả các từ
- Xem danh sách các từ theo từ khóa
- Xem danh sách các từ đã đánh dấu yêu thích
Kết xuất:
- Kết xuất được danh sách từ theo từ khóa tìm kiếm
- Kết xuất được xanh sách câu hỏi
- Kết xuất được danh sách các từ đã đánh dấu yêu thích
2.2.1.2 Yêu cầu chức năng hệ thống
User:
- Xem các từ được cung cấp mặc định
- Thêm các từ mới mà ứng dụng chưa có
- Xóa các từ đã học xong hoặc không thích hợp
- Cài đặt được ngày, giờ, số lần luyện tập theo sở thích
- Thêm được các từ vào danh sách yêu thích đễ dễ dàng luyện tập
2.2.2 Yêu cầu phi chức năng
2.2.2.1 Liên quan đến người dùng
Tính tiến hóa:
Phần mềm có thể chỉnh sửa và nâng cấp thêm các tính năng mới
Tính tiện dụng:
Giao diện của phần mềm:
- Thân thiện với người dùng, dễ dàng thao tác
- Các nút chức năng được bố trí đơn giản và dễ nhìn
Trang 3628
- Các màn hình chức năng tương tác tốt với nhau, tạo sự thuận tiện cho người dùng
Tính hiệu quả:
- Cơ sở dữ liệu được lưu trữ an toàn và dễ dàng truy xuất
- Phần mềm hoạt động ổn định, tốc độ truy cập và xử lý nhanh
Tính tương thích:
- Phần mềm cài đặt được trong hầu hết các thiết bị android
- Phần mềm có thể đáp ứng yêu cầu của người dùng mà không làm ảnh hưởng đến
Trang 3729
PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU
3.1 MÔ TẢ CÔNG VIỆC
3.1.1 Yêu cầu nghiệp vụ của người dùng
Bảng 4: 3.1 Yêu cầu chức năng nghiệp vụ của người dùng
STT Công Việc Loại Công Việc Quy Định / Công Thức
Liên Quan
Ghi Chú
2 Tra từ điển Tra cứu, kết xuất
3 Xem chi tiết từ Tra cứu
4 Xem danh sách từ Tra cứu
7 Làm bài luyện tập Tra cứu, kết xuất QD_POpt
8 Xem thông tin cá
Trang 3830
3.1.2 Các quy định / Công thức liên quan
Bảng 5: 3.2 Bảng các quy định / công thức liên quan
2 QD_FAV Quy định Fav Ấn vào nút thêm vào yêu thích
để thực hiện thao tác thêm từ vào danh sách yêu thích Nhấn thêm lần nữa từ sẽ được xóa khỏi danh sách yêu thích
3 QD_POpt Quy địnsh chọn câu
Bắt buộc nhập vào các trường:
từ, nghĩa của từ, loại từ
5 QĐ_Search Quy định tra cứu Nhập ít nhất 1 kí tự và nhấn ok
trên bàn phím
Trang 3931 3.2 USECASE DIAGRAM
Hình 10: 3.1 Usecase diagram
Trang 4032
3.3 SEQUENCE DIAGRAM
3.3.1 Chức năng luyện tập ngẫu nhiên
Hình 11: 3.2 Lược đồ tuần tự của chức năng luyện tập ngẫu nhiên
Diễn giải lượt đồ:
Các bước xử lý chính: người dùng nhấp vào 1 chủ đề bất kì trên danh sách chủ đề, thì fragmentHome sẽ gửi tên chủ đề, và ngẫu nhiên CODE_MODE cho QuizActivity để lấy câu hỏi Sau đó QuizActivity sẽ khởi tạo 1 đối tượng QuizDBHelper để lấy câu hỏi, khi đó đối tượng đó sẽ gọi đến đối tượng WordsDAO để lấy từ và tạo thành các câu hỏi ngẫu nhiên, sau khi lấy đủ câu hỏi thì QuizDBHelper sẽ gửi list câu hỏi về cho QuizActivity và người dùng bắt đầu làm luyện tập cho tới khi hết số lượng câu hỏi