Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
1
MỤC LỤC
LỜI CẢM ƠN ERROR! BOOKMARK NOT DEFINED.
LỜI CAM ĐOAN ERROR! BOOKMARK NOT DEFINED.
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN ERROR! BOOKMARK NOT
DEFINED.
PHIẾU DUYỆT ĐỒ ÁN TỐT NGHIỆP ERROR! BOOKMARK NOT DEFINED.
MỤC LỤC 1
DANH MỤC HÌNH ẢNH 3
DANH MỤC BẢNG 4
MỞ ĐẦU ERROR! BOOKMARK NOT DEFINED.
CHƢƠNG 1. TỔNG QUAN ĐỀ TÀI ERROR! BOOKMARK NOT DEFINED.
1.1. Giới thiệu đề tài Error! Bookmark not defined.
1.2. Mục đích và ý nghĩa Error! Bookmark not defined.
1.2.1. Mục đích Error! Bookmark not defined.
1.2.2. Ý nghĩa Error! Bookmark not defined.
1.3. Phƣơng pháp giải quyết Error! Bookmark not defined.
1.3.1. Khảo sát thực tế Error! Bookmark not defined.
1.3.2. Tìm hiểu lý thuyết Error! Bookmark not defined.
1.3.3. Thực nghiệm Error! Bookmark not defined.
1.4. Phạm vi Error! Bookmark not defined.
1.5. Bố cục luận văn Error! Bookmark not defined.
CHƢƠNG 2. CƠ SỞ LÝ THUYẾT ERROR! BOOKMARK NOT DEFINED.
2.1. Hệ điều hành iOS Error! Bookmark not defined.
2.1.1. Hệ điều hành iOS Error! Bookmark not defined.
2.1.2. Môi trƣờng phát triển ứng dụng Error! Bookmark not defined.
2.2. NGÔN NGỮ LẬP TRÌNH OBJECTIVE – C Error! Bookmark not defined.
2.2.1. Lịch sử phát triển của ngôn ngữ lập trình Objective – C Error! Bookmark
not defined.
2.2.2. Một số thuật ngữ thông dụng trong Objective – C Error! Bookmark not
defined.
2.2.3. Nguyên tắc đặt tên biến, hằng… trong Objective – C Error! Bookmark not
defined.
2.2.4. Class (lớp) trong Objective – C Error! Bookmark not defined.
2.2.5. Phạm vi truy xuất biến Error! Bookmark not defined.
2.2.6. Các phƣơng thức trong Objective – C Error! Bookmark not defined.
CHƢƠNG 3. PHÂN TÍCH THIẾT KẾ HỆ THỐNG ERROR! BOOKMARK NOT DEFINED.
3.1. Phân tích yêu cầu Error! Bookmark not defined.
3.1.1. Đối tƣợng sử dụng Error! Bookmark not defined.
3.1.2. Yêu cầu chức năng Error! Bookmark not defined.
3.1.3. Yêu cầu phi chức năng Error! Bookmark not defined.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
2
3.2. Phân tích thiết kế hệ thống Error! Bookmark not defined.
3.2.1. Biểu đồ ca sử dụng: Error! Bookmark not defined.
3.2.2. Biểu đồ tuần tự Error! Bookmark not defined.
3.2.3. Biểu đồ hoạt động: Error! Bookmark not defined.
3.2.4. Biểu đồ lớp Error! Bookmark not defined.
3.2.5. Thiết kế cơ sở dữ liệu Error! Bookmark not defined.
CHƢƠNG 4. TRIỂN KHAI VÀ THỰC NGHIỆM CHƢƠNG TRÌNH 4
4.1. Triển khai chƣơng trình 5
4.2. Các thuật toán đƣợc sử dụng 5
4.2.1. Thuật toán tạo bộ câu hỏi ở chế độ chơi True or False. 5
4.2.2. Thuật toán tạo bộ câu hỏi ở chế độ chơi Photo Touch và Reader 7
4.2.3. Thuật toán tạo bộ câu hỏi ở chế độ chơi Memory 8
4.2.4. Thuật toán tạo bộ câu hỏi ở chế độ chơi Word Bilder 9
4.3. THỰC NGHIỆM CHƢƠNG TRÌNH 10
4.3.1. Khởi tạo bộ từ vựng mồi 10
4.3.2. Cài đặt và thực thi ứng dụng 11
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ERROR! BOOKMARK NOT DEFINED.
I. Kết luận Error! Bookmark not defined.
1. Kết quả đạt đƣợc Error! Bookmark not defined.
2. Hạn chế Error! Bookmark not defined.
II. Hƣớng phát triển Error! Bookmark not defined.
TÀI LIỆU THAM KHẢO ERROR! BOOKMARK NOT DEFINED.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
3
DANH MỤC HÌNH ẢNH
Hình 1: Danh sách tất cả các bài học Error! Bookmark not defined.
Hình 2: Danh sách các màn chơi Error! Bookmark not defined.
Hình 3: Tìm kiếm bài học Error! Bookmark not defined.
Hình 4: Cấu trúc hệ điều hành iOS Error! Bookmark not defined.
Hình 5: Ngôn ngữ lập trình Objective - C Error! Bookmark not defined.
Hình 6: Biểu đồ ca sử dụng tổng thể Error! Bookmark not defined.
Hình 7: Biểu đồ ca sử dụng thực hiện màn chơi Error! Bookmark not defined.
Hình 8: Biểu đồ tuần tự - Xem danh sách bài học Error! Bookmark not defined.
Hình 9: Biểu đồ tuần tự - Thực hiện màn chơi Surfer Error! Bookmark not defined.
Hình 10: Biểu đồ tuần tự - Thực hiện màn chơi TapTap Error! Bookmark not defined.
Hình 11: Biểu đồ tuần tự - Thực hiện màn chơi True or False Error! Bookmark not
defined.
Hình 12: Biểu đồ tuần từ - Thực hiện màn chơi Photo Touch Error! Bookmark not
defined.
Hình 13: Biểu đồ tuần từ - Thực hiện màn chơi Reader Error! Bookmark not defined.
Hình 14: Biểu đồ tuần tự - Thực hiện màn chơi Memory Error! Bookmark not defined.
Hình 15: Biểu đồ tuần từ - Thực hiện màn chơi Word builder Error! Bookmark not
defined.
Hình 16: Biểu đồ hoạt động – Thực hiện màn chơi Error! Bookmark not defined.
Hình 17: Biểu đồ hoạt động – Thực hiện màn chơi True or False Error! Bookmark not
defined.
Hình 18: Biểu đồ hoạt động – Thực hiện màn chơi Photo Touch và Reader Error!
Bookmark not defined.
Hình 19: Biểu đồ hoạt động – Thực hiện màn chơi Memory Error! Bookmark not
defined.
Hình 20: Biểu đồ hoạt động – Thực hiện màn chơi Word builder Error! Bookmark not
defined.
Hình 21: Biểu đồ lớp Error! Bookmark not defined.
Hình 22: Mô hình cơ sở dữ liệu quan hệ Error! Bookmark not defined.
Hình 23: Sơ đồ triển khai chƣơng trình 5
Hình 24: Trình tự tạo câu hỏi cho chế độ chơi True or False 6
Hình 25: Trình tự tạo câu hỏi cho chế độ chơi Photo Touch và Reader 7
Hình 26: Trình tự tạo câu hỏi cho chế độ chơi Memory 8
Hình 27: Trình tự tạo câu hỏi cho chế độ chơi Word Builder 9
Hình 28: Khởi tạo bộ từ vựng mồi cho ứng dụng 10
Hình 29: Màn hình khởi động 11
Hình 30: Màn hình hiển thị danh sách các bài đang học 12
Hình 31: Xoá bài đang học 13
Hình 32: Màn hình quản lý bài học 14
Hình 33: Xem danh sách bạn màn chơi 15
Hình 34: Màn chơi Surfer 16
Hình 35: Màn chơi TapTap 17
Hình 36: Màn chơi True or False 18
Hình 37: Màn Chơi Reader và Photo Touch 19
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
4
Hình 38: Màn Chơi Memory 20
Hình 39: Màn Chơi Word Bilder 21
Hình 40: Màn hình kết quả các màn chơi 22
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
5
DANH MỤC BẢNG
Bảng 1: Ca sử dụng xem danh sách tất cả các bài học đang học Error! Bookmark not
defined.
Bảng 2: Ca sử dụng xem danh sách tất cả các bài học Error! Bookmark not defined.
Bảng 3: Ca sử dụng xem danh sách các màn chơi Error! Bookmark not defined.
Bảng 4: Ca sử dụng thực hiện màn chơi Surfer Error! Bookmark not defined.
Bảng 5: Ca sử dụng thực hiện màn chơi TapTap Error! Bookmark not defined.
Bảng 6: Ca sử dụng thực hiện màn chơi True or False Error! Bookmark not defined.
Bảng 7: Ca sử dụng thực hiện màn chơi PhotoTouch Error! Bookmark not defined.
Bảng 8: Ca sử dụng thực hiện màn chơi Reader Error! Bookmark not defined.
Bảng 9: Ca sử dụng thực hiện màn chơi Memory Error! Bookmark not defined.
Bảng 10: Ca sử dụng thực hiện màn chơi Word builder Error! Bookmark not defined.
Bảng 11: Ca sử dụng tìm kiếm bài học Error! Bookmark not defined.
Bảng 12: Bảng cơ sở dữ liệu – Topics (lƣu thông tin của bài học) Error! Bookmark not
defined.
Bảng 13: Bảng cơ sở dữ liệu - Words (lƣu thông tin của từ vựng) Error! Bookmark not
defined.
Bảng 14: Bảng cơ sở dữ liệu - Topic – Word (lƣu thông tin của từ vựng) Error!
Bookmark not defined.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
6
CHƢƠNG 1. TRIỂN KHAI VÀ THỰC NGHIỆM CHƢƠNG TRÌNH
1.1. TRIỂN KHAI CHƢƠNG TRÌNH
Hình 1: Sơ đồ triển khai chƣơng trình
Chƣơng trình chỉ thực hiện ở client, ứng dụng sẽ sữ dụng hệ quản trị cơ sở
dữ liệu Sqlite.
1.2. CÁC THUẬT TOÁN ĐƢỢC SỬ DỤNG
Số lƣợng câu hỏi ở màn chơi True or False sẽ phụ thuộc vào số từ vựng có
trong bài học.
1.2.1. Thuật toán tạo bộ câu hỏi ở chế độ chơi True or False.
Mỗi câu hỏi gồm một từ + âm thanh và từ vựng, nếu khớp nhau (hình ảnh và
từ+âm thanh thuộc cùng từ vựng) thì câu trả lời đúng là True, ngƣợc lại sẽ là False.
Yêu cầu của bộ câu hỏi cho chế độ chơi này là:
Các từ vựng phải thuộc cùng một danh mục do ngƣời dùng lựa chọn
trƣớc đó.
Các từ + âm thanh không đƣợc xuất hiện lặp lại.
Các hình ảnh mô tả không đƣợc xuất hiện lặp lại.
Xác suất xuất hiện của mỗi từ, mỗi hình ảnh là bằng nhau.
Xác suất câu hỏi có lựa chọn đúng là True hoặc False phải bằng nhau.
Để tạo đƣợc bộ câu hỏi theo yêu cầu trên ta thực hiện các bƣớc sau:
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
7
Hình 2: Trình tự tạo câu hỏi cho chế độ chơi True or False
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
8
1.2.2. Thuật toán tạo bộ câu hỏi ở chế độ chơi Photo Touch và Reader
Mỗi câu hỏi gồm một từ + âm thanh và từ 3 - 5 hình ảnh mô tả, ngƣời chơi sẽ
chọn hình ảnh phù hợp với âm thanh và từ vựng. Yêu cầu của bộ câu hỏi cho chế độ
chơi này là:
Các từ vựng phải thuộc cùng một danh mục do ngƣời dùng lựa chọn
trƣớc đó.
Các từ + âm thanh không đƣợc xuất hiện lặp lại.
Các hình ảnh mô tả không đƣợc xuất hiện lặp lại.
Xác suất xuất hiện của mỗi từ, mỗi hình ảnh là bằng nhau.
Để tạo đƣợc bộ câu hỏi theo yêu cầu trên ta thực hiện các bƣớc sau:
Hình 3: Trình tự tạo câu hỏi cho chế độ chơi Photo Touch và Reader
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
9
1.2.3. Thuật toán tạo bộ câu hỏi ở chế độ chơi Memory
Mỗi câu hỏi gồm 3 cặp từ và đƣợc sắp xếp ngẫu nhiên với nhau, ngƣời chơi
sẽ chọn hai hình giống nhau. Yêu cầu của bộ câu hỏi cho chế độ chơi này là:
Các từ vựng phải thuộc cùng một danh mục do ngƣời dùng lựa chọn
trƣớc đó.
Các từ + âm thanh không đƣợc xuất hiện lặp lại.
Các hình ảnh mô tả không đƣợc xuất hiện lặp lại.
Xác suất xuất hiện của mỗi từ, mỗi hình ảnh là bằng nhau.
Để tạo đƣợc bộ câu hỏi theo yêu cầu trên ta thực hiện các bƣớc sau:
Hình 4: Trình tự tạo câu hỏi cho chế độ chơi Memory
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
10
1.2.4. Thuật toán tạo bộ câu hỏi ở chế độ chơi Word Bilder
Mỗi câu hỏi gồm một chuỗi kí tự đƣợc sắp xếp ngẫu nhiên với nhau, ngƣời
chơi sẽ sắp xếp lại từ vựng để phù hợp với hình ảnh, âm thanh của từ. Yêu cầu của
bộ câu hỏi cho chế độ chơi này là:
Các từ vựng phải thuộc cùng một danh mục do ngƣời dùng lựa chọn
trƣớc đó.
Các từ + âm thanh không đƣợc xuất hiện lặp lại.
Các hình ảnh mô tả không đƣợc xuất hiện lặp lại.
Xác suất xuất hiện của mỗi từ, mỗi hình ảnh là bằng nhau.
Để tạo đƣợc bộ câu hỏi theo yêu cầu trên ta thực hiện các bƣớc sau:
Hình 5: Trình tự tạo câu hỏi cho chế độ chơi Word Builder
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
11
1.3. THỰC NGHIỆM CHƢƠNG TRÌNH
1.3.1. Khởi tạo bộ từ vựng mồi
Hình 6: Khởi tạo bộ từ vựng mồi cho ứng dụng
Bộ từ vựng mồi đƣợc chèn trực tiếp vào ứng dụng, bộ từ vựng này gồm 98
bài học với các chủ đề khác nhau, mỗi bài học gồm nhiều từ, mỗi một từ vựng bao
gồm file hình ảnh và file âm thanh đi kèm, bộ từ vựng đƣợc quản lý bởi file json.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
12
1.3.2. Cài đặt và thực thi ứng dụng
Sau đây là một số hình ảnh về ứng dụng đƣợc ghi lại trong quá trình thực thi
trên Simulator.
Hình 7: Màn hình khởi động
Khi đƣợc khởi động, ứng dụng sẽ kiểm tra bộ cơ sở dữ liệu trong máy, nếu
lần đầu tiên chạy ứng dụng, bộ từ vựng chƣa đƣợc khởi tạo vào coredata thì lúc đó
hệ thống sẽ chờ để khởi tạo bộ từ vựng
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
13
Hình 8: Màn hình hiển thị danh sách các bài đang học
Sau khi vào hệ thống, ứng dụng sẽ lấy tất cả các bài học mà ngƣời sử dụng
đang học để hiển thị lên màn hình, nếu lần đầu tiên sử dụng, thì hệ thống sẽ mặc
định một bài học.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
14
Hình 9: Xoá bài đang học
Ở màn hình xem danh sách các bài đang học, ngƣời sử dụng có thể xoá đi bất
cứ bài học nào nếu không muốn tiếp tục học bài đó nữa, ngƣời sử dụng có thể chọn
và học lại bài đó nếu muốn bằng cách vào danh sách tất cả các bài học để chọn
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
15
Hình 10: Màn hình quản lý bài học
Trong màn hình này, hệ thống hiển thị tất cả các bài học mà ngƣời sử dụng
có thể chọn để học, ở mỗi bài học, hệ thống sẽ hiển thị tiến độ học của bài đó bằng
biểu đồ hình tròn ở góc trái.
Để tiện cho ngƣời sử dụng, hệ thống còn cung cấp chức năng tìm kiếm bài
học, ở chức năng này, ngƣời dùng nhập từ khoá vào thanh tìm kiếm, hệ thống sẽ tìm
tất cả các bài có tên bài học, từ vựng hoặc nghĩa từ vựng chứa từ khoá đó, tên bài
học đƣợc ƣu tiên hiển thị trƣớc, sau đó là từ vựng và nghĩa từ vựng.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
16
Hình 11: Xem danh sách bạn màn chơi
Ứng dụng sẽ có 7 màn chơi để ngƣời dung chọn: Surfer, TapTap, Photo
Touch, Reader, True or False, Memory và Word Bilder với. Mỗi màn chơi là một
thể loại khác nhau và giúp ngƣời chơi phát triển các kĩ năng khác nhau.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
17
Hình 12: Màn chơi Surfer
Ở màn chơi surfer, khi mỗi từ đƣợc hiển thị, hệ thống sẽ phát âm từ đó, hiển
thị từ vựng và hình ảnh minh hoạ cho từ đó, trong mỗi hình ảnh có nút để hiển thị
nghĩa của từ, phía dƣới là hai nút ghi âm và phát lại âm thanh sau khi đã ghi âm.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
18
Hình 13: Màn chơi TapTap
Ở màn chơi này, hệ thống sẽ hiển thị tất cả các từ vựng có trong bài học, và
đƣợc sắp xếp theo thứ tự ƣu tiên của các từ, các từ ít đƣợc học nhất hoặc các từ học
sai nhiều nhất sẽ đƣợc ƣu tiên hiển thị lên trên. Để xem chi tiết từ vựng, ngƣời sử
dụng có thể tap vào hình ảnh của từ mình muốn xem.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
19
Hình 14: Màn chơi True or False
Ở màn chơi này, hệ thống sẽ hiển thị một hình ảnh và một từ vựng, công
việc của ngƣời chơi là kiểm tra tính đúng của từ vựng và hình ảnh, và chọn một
trong hai nút đúng hoặc sai.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
20
Hình 15: Màn Chơi Reader và Photo Touch
Ở hai màn chơi này, độ khó sẽ tăng so với màn chơi True or False, ngƣời
dùng sẽ chọn một trong số từ ba đến năm hình ảnh, để tìm ra hình ảnh đúng.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
21
Hình 16: Màn Chơi Memory
Màn chơi Memory này giúp ngƣời chơi luyện trí nhớ về từ vựng, ở mỗi lần
chơi sẽ có ba cặp từ vựng, và đƣợc sắp xếp ngẫu nhiên, ngƣời chơi sẽ tìm ra các cặp
từ giống nhau, sau khi lật đƣợc hết tất cả các cặp hệ thống sẽ chuyển sang ba cặp từ
tiếp theo.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
22
Hình 17: Màn Chơi Word Bilder
Ngƣời chơi sẽ luyện khả năng viết từ vựng ở màn chơi này, ứng với mỗi từ
vựng, hệ thống sẽ phân tích từ vựng và sắp xếp chúng ngẫu nhiên với nhau, ngƣời
chơi phải sắp xếp các kí tự lại với nhau để đƣợc một từ đúng.
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
23
Hình 18: Màn hình kết quả các màn chơi
Sau khi thực hiện xong các màn chơi, hệ thống sẽ hiển thị số câu trả lời đúng
trên tổng số màn chơi, và biểu đồ hình tròn hiển thị tỷ lệ trả lời đúng (màu xanh) và
tỷ lệ trả lời sai (màu đỏ), để ngƣời dùng biết đƣợc kết quả sau một lƣợt chơi.
Đây chỉ là mục lục và demo hình ảnh của đồ án, nếu
bạn cần file báo cáo full và source code hãy liên hệ qua
mail
Xây dựng ứng dụng học tiếng Anh trên nền tảng iOS
24