Tải bản đầy đủ (.pdf) (120 trang)

(Đồ án hcmute) xây dựng ứng dụng luyện thi toeic trên android

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (7.49 MB, 120 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ THÔNG TIN

XÂY DỰNG ỨNG DỤNG LUYỆN THI TOEIC TRÊN
ANDROID

GVHD:NGUYỄN TRẦN THI VĂN
SVTT: ĐOÀN THANH THẮNG
MSSV:15110316
SVTT: TRƯƠNG TẤN TÀI
MSSV:15110307

SKL 0 0 5 7 7 4

Tp. Hồ Chí Minh, tháng 7/2019

do an


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN: CÔNG NGHỆ PHẦN MỀM
--------

TRƯƠNG TẤN TÀI - 15110307
ĐOÀN THANH THẮNG - 15110316
Đề tài:



XÂY DỰNG ỨNG DỤNG
LUYỆN THI TOEIC TRÊN ANDROID
KHÓA LUẬN TỐT NGHIỆP

GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN TRẦN THI VĂN

KHÓA 2015 - 2019

do an


TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN: CÔNG NGHỆ PHẦN MỀM
--------

TRƯƠNG TẤN TÀI - 15110307
ĐOÀN THANH THẮNG - 15110316
Đề tài:

XÂY DỰNG ỨNG DỤNG
LUYỆN THI TOEIC TRÊN ANDROID
KHÓA LUẬN TỐP NGHIỆP

GIÁO VIÊN HƯỚNG DẪN
ThS. NGUYỄN TRẦN THI VĂN

KHÓA 2015 - 2019


do an


ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
********

CỘNG HÒA 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
Họ và tên Sinh viên 1: Đoàn Thanh Thắng

MSSV 1: 15110316

Họ và tên Sinh viên 2: Trương Tấn Tài

MSSV 2: 15110307

Ngành: Công nghệ thông tin
Tên đề tài: Xây dựng ứng dụng luyện thi TOEIC 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
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 2019
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

do an


ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
********

CỘNG HÒA 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: Đoàn Thanh Thắng

MSSV 1: 15110316

Họ và tên Sinh viên 2: Trương Tấn Tài

MSSV 2: 15110307

Ngành: Công nghệ thông tin
Tên đề tài: Xây dựng ứng dụng luyện thi TOEIC trên Android
Họ và tên Giáo viên phản biện: ............................................................................................
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

Giáo viên phản biện
(Ký & ghi rõ họ tên)

do an

năm 2019


LỜI CẢM ƠN
Trong quá trình thực hiện đề tài Xây dựng ứng dụng luyện thi TOEIC trên Android,
nhóm em đã nhận được sự giúp đỡ tận tình từ quý thầy cơ, anh chị và bạn bè cả trong lẫn
ngồi khoa.
Nhóm em xin chân thành cám ơn khoa Công Nghệ Thông Tin, Bộ môn Công Nghệ
Phần Mềm, trường Đại học Sư Phạm Kỹ Thuật Tp.HCM đã tạo điều kiện thuận lợi cho
chúng em thực hiện đề tài.
Chúng em xin chân thành cảm ơn thầy Nguyễn Trần Thi Văn đã nhiệt tình hướng dẫn,
định hướng và hỗ trợ nhóm thực hiện đề tài này.
Bên cạnh đó, nhóm em cũng xin chân thành cảm ơn các thầy cô khoa Công nghệ thông
tin, trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh đã nhiệt tình giảng dạy
và truyền đạt kiến thức và tạo điều kiện có chúng em trong suốt quá trình học tập để có
thể hồn thành đề tài.
Tuy nhiên, vì quỹ thời gian cịn hạn hẹp và khả năng hạn chế nên đề tài vẫn cịn những
thiếu sót, chúng em rất mong được sự đóng góp ý kiến từ quý thầy cô cũng như anh chị và

các bạn để chúng em có thể tìm hiểu và mở rộng giúp đề tài được hoàn thiện hơn.
Chúng em xin chân thành cảm ơn.
TP Hồ Chí Minh, ngày 15/7/2019
Sinh viên thực hiện

Trương Tấn Tài

1

do an

Đoàn Thanh Thắng


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: Trương Tấn Tài

Mã Số SV: 15110307

Họ và Tên SV thực hiện 2: Đoàn Thanh Thắng

Mã Số SV: 15110316

Thời gian làm luận văn: Từ: 18/3/2019

Đến: 29/6/2019

Chuyên ngành: Công nghệ phần mềm

Tên luận văn: Xây dựng ứng dụng luyện thi TOEIC trên Android
GV hướng dẫn: ThS. Nguyễn Trần Thi Văn
Nhiệm Vụ Của Luận Văn:
1. Tìm hiểu hệ điều hành Android.
2. Tìm hiểu về Firebase
3. Xây dựng, cài đặt ứng dụng với Firebase
 Chức năng học từ vựng, ngữ pháp, luyện tập riêng các phần của bài thi TOEIC.
 Chức năng kiểm tra cho người dùng tiến hành thực hiện những bài thi TOEIC mẫu.
 Chức năng tổng kết những bài kiểm tra, luyện tập.
 Một số chức năng khác điều chỉnh âm thanh, nhắc nhở học bài.
 Xây dựng ứng dụng quản lý để cập nhật cơ sở dữ liệu cho ứng dụng.
Đề cương viết luận văn:

MỤC LỤC
1. Phần MỞ ĐẦU
1.1. Tính cấp thiết của đề tài
1.2. Mục tiêu
2. Phần NỘI DUNG
1. Chương 1: Cơ sở lý thuyết
1.1. Tổng quan về Android
1.2. Ngôn ngữ lập trình Java
1.3. Tổng quan về Firebase
2

do an


2. Chương 2: Khảo sát hiện trạng
2.1. Hiện trạng
2.2. Khảo sát

3. Chương 3: Xác định yêu cầu
3.1. Mô tả công việc
3.2. Usecase Diagram
4. Chương 4: Phân tích yêu cầu và thiết kế cơ sở dữ liệu
4.1. Mơ hình hóa u cầu một số chức năng chính
4.2. Lược đồ ERD
4.3. Bảng mơ tả thuộc tính
5. Chương 5: Thiết kế giao diện và xử lý một số màn hình chính
5.1. Thiết kế giao diện và xử lý của ứng dụng Android
5.2. Thiết kế giao diện và xử lý của phần mềm quản lý
6. Chương 6: Cài đặt và Kiểm thử một số chức năng chính
6.1. Ngơn ngữ lập trình
6.2. Sơ đồ lớp ứng dụng và phần mềm quản lý
6.3. Kiểm thử ứng dụng
6.4. Kiểm thử phần mềm quản lý
7. Phần KẾT LUẬN
8. Tài liệu tham khảo

KẾ HOẠCH THỰC HIỆN
Thời gian

Tuần 1 + 2

Tuần 3 + 4

Công việc

Sản phẩm






Tạo chức năng cài đặt
Tạo VCS lưu trữ code
Tạo giao diện phần Luyện
tập




Thay đổi một số giao diện
Tạo luyện tập phần 1 và 2

3

do an





Code được lưu trữ trên Git.
Chức năng cài đặt âm thanh.
Giao diện phần luyện tập.




Giao diện mới.

Chức năng luyện tập phần 1
và 2.

Ghi chú





Tuần 5 + 6




Tạo phần mềm quản lý
Tạo luyện tập phần 3 và 4

Tuần 7 + 8




Tạo phần mềm quản lý
Tạo luyện tập phần 5




Giao diện phần mềm quản lý.
Chức năng luyện tập phần 3

và phần 4
Tạo phần xử lý.
Chức năng luyện tập phần 5.

Tuần 9



Kiểm thử phần luyện nghe



Sửa các lỗi, bug.








Hoàn thiện phần admin
Viết báo cáo
Tạo luyện tập phần 6
Viết báo cáo.
Tạo luyện tập phần 7.
Tạo chức năng phần tổng
kết.
Thêm âm thanh.
Kiểm thử chương trình,

thêm dữ liệu.
Hồn thiện báo cáo, ứng
dụng.




Bài báo cáo.
Chức năng luyện tập phần 6.






Bài bào cáo.
Chức năng luyện tập phần 7.
Nhạc nền cho một số chức
năng
Âm thanh khi nhấn một số nút





Sửa các lỗi, bux
Kiểm thử trên máy thật
Bài báo cáo

Tuần 10 + 11

Tuần 12 + 13
Tuần 14



Tuần 15



Ngày tháng năm 2019
Người viết đề cương

Ý kiến của giáo viên hướng dẫn
(ký và ghi rõ họ tên)

4

do an


MỤC LỤC
LỜI CẢM ƠN ....................................................................................................................... 1
ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP ........................................................................ 2
MỤC LỤC ............................................................................................................................ 5
DANH MỤC BẢNG ............................................................................................................ 9
DANH MỤC HÌNH ẢNH .................................................................................................. 12
PHẦN MỞ ĐẦU ................................................................................................................ 15
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI............................................................................ 15
2. MỤC TIÊU ............................................................................................................... 16
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT ................................................................................... 17

1.1. TỔNG QUAN VỀ ANDROID ................................................................................ 17
1.1.1. Android là gì? .................................................................................................... 17
1.1.2. Cấu trúc cơ bản của hệ điều hành Android........................................................ 17
1.2. LẬP TRÌNH ANDROID VỚI NGƠN NGỮ LẬP TRÌNH JAVA .......................... 19
1.2.1. Ngơn ngữ lập trình Java ..................................................................................... 19
1.2.2. Lợi ích của việc lập trình Android bằng Java .................................................... 19
1.2.3. Rủi ro và hạn chế của việc lập trình Android bằng Java ................................... 20
1.2.4. Tổng kết ............................................................................................................. 20
1.3. TỔNG QUAN VỀ FIREBASE ................................................................................ 20
1.3.1. Các chức năng chính của Google Firebase ........................................................ 20
1.3.2. Những lợi ích từ việc sử dụng Google Firebase ................................................ 21
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG ........................................................................ 23
2.1. ỨNG DỤNG TOEIC PRACTICE ........................................................................... 23
2.2. ỨNG DỤNG TOEIC TEST - TFLAT ..................................................................... 25
2.3. ỨNG DỤNG TOEIC FULL TEST .......................................................................... 27
CHƯƠNG 3: XÁC ĐỊNH YÊU CẦU................................................................................ 30
3.1. MÔ TẢ CÔNG VIỆC .............................................................................................. 30
3.1.1. Người dùng ........................................................................................................ 30
3.1.2. Người dùng chưa đăng nhập .............................................................................. 32
3.1.3. Người quản lý .................................................................................................... 33
5

do an


3.2. USECASE DIAGRAM ............................................................................................ 35
3.2.1. Usecase Chung của người dùng......................................................................... 35
3.2.2. Usecase Chung của người dùng chưa đăng nhập .............................................. 36
3.2.3. Usecase Chung của người quản lý ..................................................................... 36
CHƯƠNG 4: PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU ...................... 37

4.1. MƠ HÌNH HĨA U CẦU MỘT SỐ CHỨC NĂNG CHÍNH ............................. 37
4.1.1. Nghiệp vụ Học từ mới ....................................................................................... 37
4.1.2. Nghiệp vụ Ôn tập lại từ đã học .......................................................................... 40
4.1.3. Nghiệp vụ Học ngữ pháp ................................................................................... 42
4.1.4. Nghiệp vụ Luyện tập từng phần đề thi TOEIC.................................................. 45
4.1.5. Nghiệp vụ Kiểm tra và kiểm tra nhanh.............................................................. 48
4.1.6. Nghiệp vụ Thêm đề thi ...................................................................................... 51
4.1.7. Nghiệp vụ Sửa đề thi ......................................................................................... 53
4.1.8. Nghiệp vụ Chơi trò chơi luyện tập .................................................................... 55
4.1.9. Nghiệp vụ Thêm từ vựng ................................................................................... 58
4.1.10. Nghiệp vụ Sửa từ vựng .................................................................................... 60
4.2. LƯỢC ĐỒ ERD ....................................................................................................... 62
4.2.1. Firebase .............................................................................................................. 62
4.2.2. SQLite ................................................................................................................ 63
4.3. BẢNG MÔ TẢ THUỘC TÍNH ............................................................................... 63
4.3.1. Firebase .............................................................................................................. 63
4.3.2. SQLite ................................................................................................................ 78
CHƯƠNG 5: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ .......................................................... 79
5.1. MÀN HÌNH HỌC TỪ MỚI..................................................................................... 79
5.1.1. Giao diện ............................................................................................................ 79
5.1.2. Mơ tả các xử lý .................................................................................................. 80
5.2. MÀN HÌNH ƠN TẬP TỪ ĐÃ HỌC ....................................................................... 81
5.2.1. Giao diện ............................................................................................................ 81
5.2.2. Mô tả các xử lý .................................................................................................. 82

6

do an



5.3. MÀN HÌNH HỌC NGỮ PHÁP ............................................................................... 83
5.3.1. Giao diện ............................................................................................................ 83
5.3.2. Mô tả các xử lý .................................................................................................. 84
5.4. MÀN HÌNH LUYỆN TẬP TỪNG PHẦN ĐỀ THI TOEIC ................................... 84
5.4.1. Giao diện luyện tập phần 1 ................................................................................ 84
5.4.2. Giao diện luyện tập phần 3 ................................................................................ 85
5.4.3. Giao diện luyện tập phần 5 rút gọn .................................................................... 86
5.4.4. Giao diện luyện tập phần 6 ................................................................................ 87
5.4.5. Mô tả các xử lý .................................................................................................. 88
5.5. MÀN HÌNH CHƠI TRỊ CHƠI LUYỆN TẬP........................................................ 90
5.5.1. Giao diện ............................................................................................................ 90
5.5.2. Mô tả các xử lý .................................................................................................. 91
5.6. MÀN HÌNH KIỂM TRA ......................................................................................... 92
5.6.1. Giao diện ............................................................................................................ 92
5.6.2. Mơ tả các xử lý .................................................................................................. 93
5.7. MÀN HÌNH QUẢN LÝ DỮ LIỆU ĐỀ THI ........................................................... 94
5.7.1. Giao diện ............................................................................................................ 94
5.7.2. Mơ tả các xử lý .................................................................................................. 95
5.8. MÀN HÌNH QUẢN LÝ TỪ VỰNG ....................................................................... 96
5.8.1. Giao diện ............................................................................................................ 96
5.8.2. Mô tả các xử lý .................................................................................................. 97
CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ .......................................................................... 98
6.1. NGƠN NGỮ LẬP TRÌNH ...................................................................................... 98
6.1.1. Ngôn ngữ Java ................................................................................................... 98
6.1.2. Thư viện JavaFX ................................................................................................ 99
6.2. SƠ ĐỒ LỚP ........................................................................................................... 100
6.2.1. Sơ đồ lớp một số chức năng chính của ứng dụng Android ............................. 100
6.2.2. Sơ đồ lớp một số chức năng chính của phần mềm quản lý ............................. 103
6.3. KIỂM THỬ ỨNG DỤNG...................................................................................... 104


7

do an


6.3.1. Kiểm thử màn hình Học từ mới ....................................................................... 104
6.3.2. Kiểm thử màn hình Ơn tập từ vựng ................................................................. 105
6.3.3. Kiểm thử màn hình Học ngữ pháp .................................................................. 106
6.3.4. Kiểm thử màn hình Luyện tập từng phần đề thi Toeic .................................... 106
6.3.5. Kiểm thử màn hình Chơi trị chơi luyện tập .................................................... 109
6.3.6. Kiểm thử màn hình Làm đề thi Toeic .............................................................. 110
6.4. KIỂM THỬ PHẦN MỀM QUẢN LÝ ................................................................... 111
6.1.1. Kiểm thử Quản lý đề thi .................................................................................. 111
6.4.1. Kiểm thử Quản lý từ vựng ............................................................................... 111
KẾT LUẬN ...................................................................................................................... 112
1. KẾT QUẢ ĐẠT ĐƯỢC ......................................................................................... 112
2. ƯU ĐIỂM ............................................................................................................... 112
3. NHƯỢC ĐIỂM ...................................................................................................... 112
4. HƯỚNG PHÁT TRIỂN ......................................................................................... 113
TÀI LIỆU THAM KHẢO ................................................................................................ 114

8

do an


DANH MỤC BẢNG
Bảng 1: Bảng yêu cầu chức năng nghiệp vụ của người dùng ............................................ 30
Bảng 2: Bảng mô tả chức năng của người dùng................................................................. 31
Bảng 3: Bảng yêu cầu chức năng nghiệp vụ của người dùng chưa đăng nhập .................. 32

Bảng 4: Bảng mô tả chức năng của người dùng chưa đăng nhập ...................................... 33
Bảng 5: Bảng yêu cầu chức năng nghiệp vụ của người quản lý ........................................ 33
Bảng 6: Bảng mô tả chức năng của người quản lý ............................................................. 34
Bảng 7: Bảng mô tả dữ liệu của Usecase Học từ mới ........................................................ 37
Bảng 8: Bảng thuật toán của Usecase Học từ mới ............................................................. 37
Bảng 9: Bảng mô tả dữ liệu của Usecase Ôn tập lại từ đã học........................................... 40
Bảng 10: Bảng thuật tốn của Usecase Ơn tập lại từ đã học .............................................. 40
Bảng 11: Bảng mô tả dữ liệu của Usecase Học ngữ pháp.................................................. 42
Bảng 12: Bảng thuật toán của Usecase Học ngữ pháp ....................................................... 42
Bảng 13: Bảng mô tả dữ liệu của Usecase Luyện tập từng phần đề thi TOEIC ................ 45
Bảng 14: Bảng thuật toán của Usecase Luyện tập từng phần đề thi TOEIC ..................... 45
Bảng 15: Bảng mô tả dữ liệu của Usecase Kiểm tra và kiểm tra nhanh ............................ 48
Bảng 16: Bảng thuật toán của Usecase Kiểm tra và kiểm tra nhanh.................................. 48
Bảng 17: Bảng mô tả dữ liệu của Usecase Thêm đề thi ..................................................... 51
Bảng 18: Bảng thuật toán của Usecase Thêm đề thi .......................................................... 51
Bảng 19: Bảng mô tả dữ liệu của Usecase Sửa đề thi ........................................................ 53
Bảng 20: Bảng thuật toán của Usecase Sửa đề thi ............................................................. 53
Bảng 21: Bảng mô tả dữ liệu của Usecase Chơi trò chơi luyện tập ................................... 55
Bảng 22: Bảng thuật tốn của Usecase Chơi trị chơi luyện tập ........................................ 55
Bảng 23: Bảng mô tả dữ liệu của Usecase Thêm từ vựng ................................................. 58
Bảng 24: Bảng thuật toán của Usecase Thêm từ vựng ....................................................... 58
Bảng 25: Bảng mô tả dữ liệu của Usecase Sửa từ vựng..................................................... 60
Bảng 26: Bảng thuật toán của Usecase Sửa từ vựng .......................................................... 60
Bảng 27: Bảng mơ tả thuộc tính Node Users ..................................................................... 64
Bảng 28: Bảng mơ tả thuộc tính node Part1_Practice ........................................................ 65

9

do an



Bảng 29: Bảng mơ tả thuộc tính node Part2_Practice ........................................................ 66
Bảng 30: Bảng mơ tả thuộc tính node Part3_Practice ........................................................ 67
Bảng 31: Bảng mơ tả thuộc tính node Part4_Practice ........................................................ 68
Bảng 32: Bảng mơ tả thuộc tính node Part5_Practice ........................................................ 70
Bảng 33: Bảng mơ tả thuộc tính node Part6_Practice ........................................................ 71
Bảng 34: Bảng mơ tả thuộc tính node Part7_Practice ........................................................ 72
Bảng 35: Bảng mơ tả thuộc tính node Grammar ................................................................ 73
Bảng 36: Bảng mơ tả thuộc tính node VocabularyNotification ......................................... 74
Bảng 37: Bảng mơ tả thuộc tính node List_Test ................................................................ 75
Bảng 38: Bảng mơ tả thuộc tính node Test ........................................................................ 76
Bảng 39: Bảng mơ tả thuộc tính node Mini_Game ............................................................ 77
Bảng 39: Bảng mơ tả thuộc tính node admin ..................................................................... 77
Bảng 40: Bảng mơ tả thuộc tính bảng Score ...................................................................... 78
Bảng 41: Bảng mơ tả thuộc tính bảng AlarmExam............................................................ 78
Bảng 42: Bảng mơ tả thuộc tính bảng AlarmVocabulary .................................................. 78
Bảng 43: Bảng mơ tả thuộc tính bảng AlarmVocabulary .................................................. 78
Bảng 44: Các đối tượng trong giao diện học từ mới .......................................................... 80
Bảng 45: Mô tả xử lý trong giao diện học từ mới .............................................................. 80
Bảng 46: Các đối tượng trong giao diện ôn tập từ đã học .................................................. 81
Bảng 47: Mô tả xử lý trong giao diện ôn tập từ đã học ...................................................... 82
Bảng 48: Các đối tượng trong giao diện học ngữ pháp ...................................................... 83
Bảng 49: Mô tả xử lý trong giao diện học ngữ pháp .......................................................... 84
Bảng 50: Các đối tượng trong giao diện luyện tập phần 1 ................................................. 84
Bảng 51: Các đối tượng trong giao diện luyện tập phần 3 ................................................. 85
Bảng 52: Các đối tượng trong giao diện luyện tập phần 5 dạng bài rút gọn ...................... 86
Bảng 53: Các đối tượng trong giao diện luyện tập phần 6 ................................................. 87
Bảng 54: Mô tả xử lý trong giao diện Luyện tập phần 1.................................................... 88
Bảng 55: Mô tả xử lý trong giao diện Luyện tập phần 3.................................................... 88
Bảng 56: Mô tả xử lý trong giao diện luyện tập phần 5 ..................................................... 89


10

do an


Bảng 57: Mô tả xử lý trong giao diện luyện tập phần 6 ..................................................... 89
Bảng 58: Các đối tượng trong giao diện chơi trò chơi luyện tập ....................................... 90
Bảng 59: Mơ tả xử lý trong giao diện chơi trị chơi luyện tập ........................................... 91
Bảng 60: Các đối tượng trong giao diện............................................................................. 92
Bảng 61: Mô tả xử lý trong giao diện................................................................................. 93
Bảng 62: Các đối tượng trong giao diện Quản lý dữ liệu danh sách đề thi........................ 94
Bảng 63: Mô tả xử lý trong giao diện................................................................................. 95
Bảng 64: Các đối tượng trong giao diện chính màn hình Quản lý từ vựng ....................... 96
Bảng 65: Mô tả xử lý trong giao diện Quản lý từ vựng ..................................................... 97
Bảng 66: Test case màn hình Học từ mới ........................................................................ 104
Bảng 67: Test case màn hình Ơn tập từ vựng .................................................................. 105
Bảng 68: Test case màn hình Học ngữ pháp .................................................................... 106
Bảng 69: Test case màn hình Luyện tập từng phần đề thi Toeic ..................................... 106
Bảng 70: Test case màn hình Chơi trị chơi luyện tập...................................................... 109
Bảng 71: Test case màn hình làm đề thi Toeic................................................................. 110
Bảng 72: Test case chức năng Quản lý đề thi .................................................................. 111
Bảng 73: Test case chức năng Quản lý từ vựng ............................................................... 111

11

do an


DANH MỤC HÌNH ẢNH

Hình 1: Cấu trúc của hệ điều hành Android ...................................................................... 17
Hình 2: Màn hình chính của ứng dụng Toeic Practice ....................................................... 23
Hình 3: Màn hình luyện tập Part 5 – Toeic của ứng dụng Toeic Practice ........................ 23
Hình 4: Màn hình danh sách các ngữ pháp của ứng dụng Toeic Practice......................... 24
Hình 5: Màn hình chi tiết ngữ pháp của ứng dụng Toeic Practice ..................................... 24
Hình 6: Màn hình chính của ứng dụng Toeic Test ............................................................ 25
Hình 7: Màn hình danh sách các cụm từ vựng của ứng dụng Toeic Test .......................... 25
Hình 8: Màn hình danh sách từ vựng của ứng dụng Toeic Test ....................................... 25
Hình 9: Màn hình loại trị chơi luyện từ vựng của ứng dụng Toeic Test ........................... 25
Hình 10: Màn hình trị chơi luyện từ vựng của ứng dụng Toeic Test ............................... 26
Hình 11: Màn hình luyện tập Part 1 - Toeic của ứng dụng Toeic Test ............................. 26
Hình 12: Màn hình các chức năng của ứng dụng Toeic Full Test .................................... 27
Hình 13: Màn hình danh sách bài tập Part 1 – Toeic của ứng dụng Toeic Full Test ........ 27
Hình 14: Màn hình luyện tập Part 1 - Toeic của ứng dụng Toeic Full Test ..................... 27
Hình 15: Màn hình danh sách các mini test ....................................................................... 27
Hình 16: Màn hình làm mini test của ứng dụng Toeic Full Test ...................................... 28
Hình 17: Màn hình kết quả mini test của ứng dụng Toeic Full Test ................................. 28
Hình 18: Màn hình luyện tập từ vựng của ứng dụng Toeic Full Test ............................... 28
Hình 19: Màn hình các trị chơi để luyện tập từ vựng của ứng dụng Toeic Full Test ...... 28
Hình 20: Màn hình trị chơi luyện tập từ vựng của ứng dụng Toeic Full Test................... 29
Hình 21: Usecase Chung của người dùng .......................................................................... 35
Hình 22: Usecase Chung của người dùng chưa đăng nhập ................................................ 36
Hình 23: Usecase Chung của người quản lý ...................................................................... 36
Hình 24: Sơ đồ DFD của Usecase Học từ mới ................................................................... 37
Hình 25: Lược đồ tuần tự của Usecase Học từ mới ........................................................... 38
Hình 26: Các node cơ sở dữ liệu của Usecase Học từ mới ................................................ 39
Hình 27: Sơ đồ DFD của Usecase Ơn tập lại từ đã học ..................................................... 40
Hình 28: Lược đồ tuần tự của Usecase Ôn tập lại từ đã học .............................................. 41
12


do an


Hình 29: Sơ đồ DFD của Usecase Học ngữ pháp .............................................................. 42
Hình 30: Lược đồ tuần tự của Usecase Học ngữ pháp ....................................................... 43
Hình 31: Các node cơ sở dữ liệu trên Firebase của Usecase Học ngữ pháp ...................... 44
Hình 32: Sơ đồ DFD của Usecase Luyện tập từng phần đề thi TOEIC ............................. 45
Hình 33: Lược đồ tuần tự của Usecase Luyện tập từng phần đề thi TOEIC...................... 46
Hình 34: Các node cơ sở dữ liệu của Usecase Luyện tập từng phần đề thi TOEIC .......... 47
Hình 35: Sơ đồ DFD của Usecase Kiểm tra và kiểm tra nhanh ......................................... 48
Hình 36: Lược đồ tuần tự của Usecase Kiểm tra và kiểm tra nhanh .................................. 49
Hình 37: Các note cơ sở dữ liệu của Usecase Kiểm tra và kiểm tra nhanh ....................... 50
Hình 38: Bảng cơ sở dữ liệu SQLite của Usecase Kiểm tra và kiểm tra nhanh................. 50
Hình 39: Sơ đồ DFD của Usecase Thêm đề thi.................................................................. 51
Hình 40: Lược đồ tuần tự của Usecase Thêm đề thi .......................................................... 52
Hình 41: Sơ đồ DFD của Usecase Sửa đề thi ..................................................................... 53
Hình 42: Lược đồ tuần tự của Usecase Sửa đề thi ............................................................. 54
Hình 43: Sơ đồ DFD của Usecase Chơi trị chơi luyện tập ................................................ 55
Hình 44: Lược đồ tuần tự của Usecase Chơi trò chơi luyện tập ........................................ 57
Hình 45: Các node cơ sở dữ liệu của Usecase Học từ mới ................................................ 57
Hình 46: Sơ đồ DFD của Usecase Thêm từ vựng .............................................................. 58
Hình 47: Lược đồ tuần tự của Usecase Thêm từ vựng ....................................................... 59
Hình 48: Sơ đồ DFD của Usecase Sửa từ vựng ................................................................. 60
Hình 49: Lược đồ tuần tự của Usecase Sửa từ vựng .......................................................... 61
Hình 50: Lược đồ ERD tượng trưng cho Firebase ............................................................. 62
Hình 51: Lược đồ ERD cho SQLite ................................................................................... 63
Hình 52: Cấu trúc mẫu node Users..................................................................................... 63
Hình 53: Cấu trúc mẫu node Part1_Practice ...................................................................... 65
Hình 54: Cấu trúc mẫu node Part2_Practice ...................................................................... 66
Hình 55: Cấu trúc mẫu node Part3_Practice ...................................................................... 67

Hình 56: Cấu trúc mẫu node Part4_Practice ...................................................................... 68
Hình 57: Cấu trúc mẫu node Part5_Practice ...................................................................... 69

13

do an


Hình 58: Cấu trúc mẫu node Part6_Practice ...................................................................... 71
Hình 59: Cấu trúc mẫu node Part7_Practice ...................................................................... 72
Hình 60: Cấu trúc mẫu node Grammar .............................................................................. 73
Hình 61: Cấu trúc mẫu node VocabularyNotification........................................................ 74
Hình 62: Cấu trúc mẫu node List_Test............................................................................... 75
Hình 63: Cấu trúc mẫu node Test ....................................................................................... 76
Hình 64: Cấu trúc mẫu node Mini_Game .......................................................................... 77
Hình 65: Giao diện học từ mới ........................................................................................... 79
Hình 66: Giao diện ơn tập từ đã học................................................................................... 81
Hình 67: Giao diện học ngữ pháp....................................................................................... 83
Hình 68: Giao diện luyện tập phần 1 .................................................................................. 84
Hình 69: Giao diện luyện tập phần 3 .................................................................................. 85
Hình 70: Giao diện luyện tập phần 5 dạng bài rút gọn....................................................... 86
Hình 71: Giao diện luyện tập phần 6 .................................................................................. 87
Hình 72: Giao diện chơi trị chơi luyện tập ........................................................................ 90
Hình 73: Giao diện kiểm tra ............................................................................................... 92
Hình 74: Giao diện chính Quản lý dữ liệu danh sách đề thi .............................................. 94
Hình 75: Giao diện chính màn hình Quản lý từ vựng ........................................................ 96
Hình 76: Sơ đồ lớp của ứng dụng Android ...................................................................... 100
Hình 77: Sơ đồ lớp của ứng dụng Android (tiếp theo) ..................................................... 101
Hình 78: Sơ đồ lớp của ứng dụng Android (tiếp theo) ..................................................... 102
Hình 79: Sơ đồ lớp một số chức năng chính của phần mềm quản lý ............................... 103


14

do an


Phần mở đầu

PHẦN MỞ ĐẦU
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong thời đại 4.0 ngày nay, ngôn ngữ là một rào cản lớn để mọi người giao tiếp với
nhau, đặc biệt là tiếng Anh – một trong những ngôn ngữ phổ biến nhất trên thế giới. Do
đó, nhiều chứng chỉ quốc tế đã được ra đời để cơng nhận trình độ ngôn ngữ của một
người và phổ biến nhất đối với mọi người tại Việt Nam chúng ta chắc là chứng chỉ
TOEIC. Chứng chỉ này đặc biệt quan trọng đối với các bạn sinh viên, vì đa số các trường
Đại học trên cả nước đều áp dụng chứng chỉ này vào việc cấp bằng tốt nghiệp cho sinh
viên, hay nói cách khác nếu sinh viên khơng có chứng chỉ TOEIC ở một mức nào đó thì
sẽ khơng được ra trường. Cịn đối với nhiều doanh nghiệp thì việc có chứng chỉ TOEIC ở
các mức độ khác nhau sẽ giúp cho nhân viên được tăng lương. Vì vậy, để đáp ứng cho
nhu cầu học tiếng Anh phục vụ cho việc thi chứng chỉ TOEIC một cách tốt nhất, chúng
em đã quyết định xây dựng một ứng dụng trên thiết bị Android. Ứng dụng này có thể giúp
người sử dụng ơn tập và thi thử chứng chỉ TOEIC ngay trên điện thoại của mình. Từ đó
việc học tiếng Anh sẽ dễ dàng hơn cho mọi người.
Mặc khác, Smartphone và hệ điều hành Android đang phát triển nhanh chóng và trở
nên phổ biến trên toàn thế giới. Theo thống kê, tỉ lệ người sử dụng Smartphone so với số
lượng những người sử dụng điện thoại thông thường chiếm 84% vào năm 2017, tăng 6%
so với một năm trước (78%). Ở các thành phố thứ cấp, 71% người dân sử dụng
Smartphone trong số 93% người sử dụng điện thoại di động. Đáng chú ý hơn, ở khu vực
nông thôn, trong khi 89% dân số sử dụng điện thoại di động, thì đã có 68% trong số đó sở
hữu 1 chiếc điện thoại thơng minh[1]. Có tới 88% người độ tuổi từ 18 tới 34 sở hữu

Smartphone[2]. Cùng năm 2017, theo thống kê từ Gartnern, hai hệ điều hành phổ biến nhất
trên Smartphone đang là iOS và Android. Trong đó hệ điều hành Android vẫn tiếp tục

Không rõ tác giả, “Điện thoại thông minh tiếp tục trên đà phát triển ở cả khu vực thành thị và nông
thôn”, Nielsen Việt Nam, 11/24/2017,
URL: />[2]
Hải Yên, “Thị trường Smartphone tăng trưởng mạnh”, BáoMới.com, 28/12/2016,
URL: />[1]

15

do an


Phần mở đầu

chiếm ưu thế với khoảng 86% thị phần[3]. Cũng theo một thống kê khác thì trung bình mỗi
người dành 7 tiếng trong một ngày để sử dụng Smartphone[4].
Nắm bắt được nhu cầu và xu hướng hiện nay, nhóm chúng em quyết định chọn đề tài
Xây dựng ứng dụng luyện thi TOEIC trên Android làm đề tài khóa luận tốt nghiệp.
2. MỤC TIÊU
Qua đề tài này, chúng em sẽ tìm hiểu được các kiến thức sau:
 Tìm hiểu tài liệu về Firebase trên Android.
 Tìm hiểu về các thư viện Java có sẵn để phát triển giao diện trên Android.
 Tìm hiểu về JavaFX để xây dựng ứng dụng Windows Application.
Từ các kiến thức tìm hiểu được, nhóm chúng em sẽ xây dựng ứng dụng luyện thi
TOEIC trên trên nền tảng Android:
 Với giao diện thân thiện, nội dung đơn giản, dễ sử dụng
 Tạo một môi trường vừa học vừa chơi cho những người đang luyện thi TOEIC
và đang muốn nâng cao kiến thức tiếng Anh của mình mọi lúc, mọi nơi.

 Đồng thời, cung cấp cho quản trị viên một ứng dụng trên Windows để có thể
truy cập đến dữ liệu của ứng dụng. Qua đó quản trị viên có thể thêm hoặc sửa
các dữ liệu liên quan đến ứng dụng.

Thùy An, “iOS và Android "nuốt chửng" thị trường hệ điều hành trên smartphone”, Báo điện tử VTV,
27/2/2018, URL: />[4]
Thành Lương, “Người Việt bỏ ra 7 tiếng / ngày để sử dụng Internet”, Zing.vn, 6/12/2018,
URL: />[3]

16

do an


Chương 1: Cơ sở lý thuyết

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
1.1. TỔNG QUAN VỀ ANDROID[5]
1.1.1. Android là gì?
Android là hệ điều hành trên điện thoại di động (và hiện nay là cả trên một số đầu
phát HD, HD Player, TV) phát triển bởi Google và dựa trên nền tảng Linux. Trước đây,
Android được phát triển bởi công ty liên hợp Android (sau đó được Google mua lại vào
năm 2005). Theo thống kê thì Android chiếm 87,7% thị phần điện thoại thơng minh trên
tồn thế giới vào thời điểm q 2 năm 2017, với tổng cộng 2 tỷ thiết bị đã được kích hoạt
và 1,3 triệu lượt kích hoạt mỗi ngày.
Các nhà phát triển viết ứng dụng cho Android dựa trên ngôn ngữ Java. Sự ra mắt của
Android vào ngày 5 tháng 11 năm 2007 gắn với sự thành lập của liên minh thiết bị cầm
tay mã nguồn mở, bao gồm 78 công ty phần cứng, phần mềm và viễn thông nhằm mục
đích tạo nên một chuẩn mở cho điện thoại di động trong tương lai. Từ giữa năm 2017,
Google đã phát triển ngơn ngữ lập trình mới có tên là Kotlin để phát triển ứng dụng trên

Android. Tuy vậy, Java vẫn là ngơn ngữ lập trình Android phổ biến nhất hiện giờ.
1.1.2. Cấu trúc cơ bản của hệ điều hành Android

Hình 1: Cấu trúc của hệ điều hành Android
[5]

Khơng rõ tác giả, “Giới thiệu sơ lược về hệ điều hành Android”, Programming Android, 21/8/2014,
URL: />
17

do an


Chương 1: Cơ sở lý thuyết

Android gồm 5 phần chính sau được chứa trong 4 lớp:
 Linux Kernel: Đây là nhân nền tảng mà hệ điều hành Android dựa vào nó để phát
triển. Đây là lớp chứa tất cả các thiết bị giao tiếp ở mức thấp dùng để điều khiển
các phần cứng khác trên thiết bị Android.
 Libraries: Chứa tất cả các mã nguồn mở, cung cấp những tính năng chính của hệ
điều hành Android, kiểu như ví dụ mã nguồn có trong tầng thư viện này thì SQLite
là thư viện cung cấp việc hộ trợ làm việc với database dùng để chứa dữ liệu, hoặc
Webkit là thư viện cung cấp những tính năng cho trình duyệt Web.
 Android Runtime: Là tầng cùng với lớp thư viện Android runtime cung cấp một
tập các thư viện cốt lõi để cho phép các lập trình viên phát triển viết ứng dụng
bằng việc sử dụng ngơn ngữ lập trình Java. Android Runtime bao gồm máy ảo
Dalvik (ở các version < 4.4, hiện tài là phiên bản máy ảo ART được cho là mạnh
mẽ hơn trong việc xử lý biên dịch). Là cái để điều khiển mọi hoạt động của ứng
dụng Android chạy trên nó (máy ảo Dalvik sẽ biên dịch ứng dụng để nó có thể
chạy (thực thi) được, tương tự như các ứng dụng được biên dịch trên máy ảo Java

vậy. Ngồi ra máy ảo cịn giúp tối ưu năng lượng pin cũng như CPU của thiết bị
Android
 Android Framework: Là phần thể hiện các khả năng khác nhau của Android (kết
nối, thông báo, truy xuất dữ liệu) cho nhà phát triển ứng dụng, chúng có thể được
tạo ra để sử dụng trong các ứng dụng của họ.
 Application: Tầng ứng dụng là tầng bạn có thể tìm thấy chuyển các thiết bị
Android như liên lạc, trình duyệt…Và mọi ứng dụng bạn viết đều nằm trên tầng
này.

18

do an


Chương 1: Cơ sở lý thuyết

1.2. LẬP TRÌNH ANDROID VỚI NGƠN NGỮ LẬP TRÌNH JAVA[6]
1.2.1. Ngơn ngữ lập trình Java
Ngơn ngữ lập trình Java ban đầu được phát triển bởi Sun Microsystems do James
Gosling khởi xướng và phát hành vào năm 1995 (Java 1.0 [J2SE]). Tính đến thời điểm
này (tháng 5/2019) phiên bản mới nhất của Java Standard Edition (JSE) là 12. Với ưu thế
về đa nền tảng (multi platform), Java càng lúc càng được ứng dụng rộng rãi trên nhiều
thiết bị từ máy tính đến di động và nhiều thiết bị phần cứng khác…
Java là ngơn ngữ lập trình hướng đối tượng nên nó cũng có 4 đặc điểm chung của các
ngôn ngữ hướng đối tượng là: trừu tượng, đa hình, kế thừa và đóng gói. Bên cạnh đó Java
cịn có một số tính năng khác như: độc lập nền, đơn giản, bảo mật, đa luồng, hiệu suất cao
và linh hoạt.
1.2.2. Lợi ích của việc lập trình Android bằng Java
Đơn giản: Java được thiết kế để dễ sử dụng, viết, biên dịch, gỡ lỗi và học hơn các ngôn
ngữ lập trình khác.

Hướng đối tượng: Cho phép bạn tạo các chương trình mơ-đun và mã có thể tái sử
dụng.
Khơng phụ thuộc vào nền tảng: Khả năng di chuyển dễ dàng từ hệ thống máy tính này
sang hệ thống khác
Cơng cụ và thư viện: Có lượng API, cơng cụ và thư viện hỗ trợ phong phú
Bảo mật: Ngơn ngữ Java, trình biên dịch, trình thơng dịch và runtime environtment đều
được phát triển với sự chú trọng về bảo mật.
Cộng đồng lớn mạnh: Java được xem là ngôn ngữ phổ biến nhất trên thế giới, nên cộng
đồng lập trình viên về Java cũng mạnh mẽ, do đó việc lập trình cũng sẽ hiệu quả hơn.

Hồ Sỹ Hùng, “Java là gì? Tại sao bạn nên học lập trình Java?”, Techmaster, 10/3/2016,
URL: />[6]

19

do an


Chương 1: Cơ sở lý thuyết

1.2.3. Rủi ro và hạn chế của việc lập trình Android bằng Java
Cùng với những lợi thế, bạn sẽ luôn gặp phải những nhược điểm của bất kỳ nền tảng
nào, Java cũng không ngoại lệ. Có một số nhược điểm mà bạn sẽ tìm thấy trong quá trình
sử dụng. Đây là một số nhược điểm của việc sử dụng Java:
 Trình biên dịch Java chưa được tối ưu hóa tốt so với C ++.
 Khơng có sự tách biệt đặc điểm kỹ thuật khi triển khai.
 Quản lý bộ nhớ, với Java, là khá tốn kém.
 Việc thiếu các template có thể hạn chế khả năng của Java để tạo ra các cấu trúc dữ
liệu chất lượng cao.
 Người ta có thể tìm thấy một số lỗi trong các chương trình ví dụ.

1.2.4. Tổng kết
Với những lợi ích kể trên thì việc phát triển ứng dụng Android bằng Java sẽ dễ dàng
hơn rất nhiều cho các lập trình viên. Từ đó sẽ mang lại sự hiệu quả cho các ứng dụng
Android và giúp người dùng hài lòng hơn với các sản phẩm từ Android với ngơn ngữ lập
trình Java.
1.3. TỔNG QUAN VỀ FIREBASE
Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây
được cung cấp bởi Google nhằm giúp các lập trình phát triển nhanh các ứng dụng bằng
cách đơn giản hóa các thao tác với cơ sở dữ liệu. Đây là một nền tảng rất tuyệt vời để phát
triển nhanh các ứng dụng.
1.3.1. Các chức năng chính của Google Firebase
1.3.1.1. Realtime Database – Cơ sở dữ liệu thời gian thực
Firebase lưu trữ dữ liệu dưới dạng JSON và thực hiện đồng bộ cơ sở dữ liệu tới tất cả
các client theo thời gian thực. Cụ thể hơn là ta có thể xây dựng được client đa nền tảng
(cross-platform client) và tất cả các client này sẽ cùng sử dụng chung 1 cơ sở dữ liệu đến
từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong cơ sở dữ liệu được thêm mới
hoặc sửa đổi.

20

do an


×