- Học tiếng anh dưới hình thức lên lớp và trung tâm đang gặp nhiều hạn chế về mặt giaotiếp, theo khảo sát và quan sát của nhóm khi đọc feedback về các ứng dụng học tiếng anhdành cho trẻ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
MÔN: ĐỒ ÁN 1
Đề tài : “Xây dựng ứng dụng hỗ trợ học tiếng anh tăng tính thích nghi và tương tác”
WITCHWORLD - ỨNG DỤNG TIẾNG ANH CHO TRẺ EM
Giảng viên hướng dẫn: ThS Nguyễn Thị Thanh Trúc
Nhóm sinh viên thực hiện báo cáo:
TP Hồ Chí Minh, tháng 12 năm 2021
Trang 2MỤC LỤC
2.3.9 Đặc tả Use-case UC09 - Kiểm tra từ vựng/Test 25
3.2 Kiến trúc thiết kế từng thành phần trong hệ thống 27
Trang 31 Đánh giá tiến độ thực hiện đề tài (bảng tóm tắt quá trình các giai đoạn thực hiện cột
Trang 4LỜI CẢM ƠN
Nhóm chúng em trân trọng gửi lời cảm ơn đến cô Nguyễn Thị Thanh Trúc đã tạođiều kiện cho chúng em có cơ hội được thực hiện đồ án
Với những kiến thức từ những môn học trước, nhóm đã nghiên cứu cũng như tìm
ra những giải pháp tối ưu để tạo ra một ứng dụng học tiếng anh hoàn chỉnh giúp trẻ emtăng tính thích nghi và tương tác
Trong khoảng thời gian đầu, nhóm còn nhiều bất trắc khi giao tiếp, chọn đề tài,gặp nhiều khó khăn khi xây dựng ứng dụng cũng như là việc học trực tuyến Song, nhờ
sự giúp đỡ góp ý tận tâm của cô, nhóm đã cho ra một sản phẩm đồ án hoàn chỉnh
Mặc dù đã cố gắng hoàn thành báo cáo với tất cả nỗ lực song báo cáo của nhómchúng em chắc chắn không tránh khỏi những thiếu sót, chúng em rất mong nhận được sựthông cảm và góp ý chân thành từ cô Nhóm em xin chân thành cảm ơn
Thành phố Hồ Chí Minh, ngày 25 tháng 12 năm 2021
Trang 5Chương 1 – TỔNG QUAN ĐỀ TÀI 1.1 Mô tả bài toán và xác định yêu cầu
- Tiếng Anh là ngôn ngữ không thể thiếu đối với bất kì ai, tiếng anh trở thành một trongnhững môn học quan trọng nhất và được đưa vào dạy học từ khi rất sớm Tuy nhiên họctiếng anh không đúng cách sẽ gây chán nản, giảm hiệu quả học
- Học tiếng anh dưới hình thức lên lớp và trung tâm đang gặp nhiều hạn chế về mặt giaotiếp, theo khảo sát và quan sát của nhóm khi đọc feedback về các ứng dụng học tiếng anhdành cho trẻ em, các bậc phụ huynh đều đang rất quan tâm đến vấn đề phát triển tiếnganh cho con cái, đặc biệt là vấn đề từ vựng vì các bé còn khá nhỏ để tiếp cận đến nhữngkhía cạnh sâu xa hơn của việc học tiếng Anh
- Để giải quyết các vấn đề trên, Witch World được ra đời với mô hình làm những bài kiểm
tra từ vựng, đọc sách luyện từ vựng cho trẻ em, vừa giúp các em có môi trường giải trí,vừa giúp cha mẹ yên tâm hơn khi cho con tiếp cận với việc học từ vựng tiếng Anh sớm
- Một số yêu cầu nhóm đặt ra khi triển khai ứng dụng:
+ Tính tiện dụng: Ứng dụng phải dễ học, dễ dùng Thiết kế gần gũi với trẻ em
+ Tính đúng đắn: Ứng dụng chạy không lỗi
+ Tính thích nghi: Ứng dụng có thể chạy tốt trên nhiều thiết bị Android với cấu hình phầncứng khác nhau và thiết kế kiến trúc thiết bị khác nhau
+ Tính tiến hoá: Ứng dụng phải dễ dàng được phát triển thêm tính năng mà không gây ảnhhưởng đến những tính năng đã phát triển trước đó
+ Tính bảo trì: Ứng dụng có thể thay đổi một số chức năng ( sự kiện, nhiệm vụ ) mà khôngcần cập nhật lại
+ Tính tương tác: Ứng dụng tạo ra môi trường tương tác giữa hệ thống và người dùng, cụthể hơn là giữa hệ thống và trẻ em
- Như vậy, các yêu cầu nhóm đặt ra không chỉ đáp ứng được yêu cầu của đề tài : Tăng tínhthích nghi và tương tác mà còn tạo ra thêm được nhiều nhu cầu khác, tăng trải nghiệmngười dùng khi sử dụng ứng dụng này
Các vấn đề cần phải xử lý trong ứng dụng mà đề tài đặt ra là:
Trang 6STT Tên vấn đề Tác nhân
4 Hệ thống nhân vật để đổi khi nhận được coin từ bài học User
1.2 Khảo sát hiện trạng
1.2.1 Hiện trạng tổ chức
- Tiếng Anh được xem như là ngôn ngữ giao tiếp chung của toàn thế giới Ở những quốcgia không sử dụng tiếng Anh để làm ngôn ngữ riêng (chẳng hạn Việt Nam), nếu nhưđược học thêm tiếng Anh, sẽ tăng mức độ hiểu biết ngôn ngữ lên thêm Nếu như tiếp cậnvới tiếng Anh quá muộn, chúng ta sẽ gặp nhiều bất lợi và khó khăn hơn Vì vậy,
WitchWorld là tiếng Anh giành cho trẻ em cũng chính vì mục đích đó Hơn thế nữa, trẻ
em là mối quan tâm lớn nhất của xã hội, những gì tốt đẹp nhất, đều hướng về chúng Đểtrẻ có những đặc tính tốt từ bé cũng chính là những gì bố mẹ cần trong việc nuôi dưỡngcon cái, ứng dụng ra đời để khiến bố mẹ an tâm hơn trong việc học tập giải trí của conmình
- Mục tiêu :
Trang 7+ Hỗ trợ người sử dụng học tiếng anh thông qua các hoạt động vui chơi, chơi màhọc để phát triển kĩ năng nghe nói đọc viết Hướng tới các đối tượng mới bắt đầuhọc và trẻ em.
+ Nhóm khi xây dựng ứng dụng cần nghiên cứu lập trình trên các thiết bị di động,các công nghệ sử dụng để thiết kế màn hình đẹp, không sử dụng nhiều source cósẵn từ bên ngoài, tìm hiểu công cụ lưu trữ database, các công cụ giúp tối ưu hóa
và tăng trải nghiệm người dùng, nghiên cứu ngôn ngữ lập trình
- Xây dựng mô hình kiến trúc Client - Server vì:
● Dữ liệu liệu của app yêu cầu tính mở rộng và phát triển cao dẫn đến cầntập trung dữ liệu để dễ dàng bảo trì và phát triển
● Tính thích nghi của app khi có sự thay đổi về dữ liệu, hạn chế việc cậpnhật app dẫn tới trải nghiệm người dùng không tốt
● Dễ dàng tương tác với bên thứ ba ( admob ) để phát triển các dịch vụ đikèm (quảng cáo)
- Độ tuổi sử dụng : Ưu tiên cấp độ Beginner độ tuổi từ 4-10 tuổi
- Quy trình phát triển ứng dụng :
Nhóm phát triển tuân theo quy chuẩn thiết kế ứng dụng hiện hành Nhóm đã thựchiện bài bản từng bước sau trong quá trình phát triển ứng dụng:
● Bước 1: Nhóm tiến hành thu thập, khảo sát thông tin, yêu cầu người dùng
● Bước 2: Nhóm tiến hành vẽ Usecase Diagram để mô hình hoá yêu cầu củangười dùng
● Bước 3: Nhóm tiến hành mô hình hoá sự tương tác giữa các thành phầntrong hệ thống
● Bước 4: Nhóm tiến hành nghiên cứu các ứng dụng sẵn có (với chức nănggần giống) trên thị trường để bắt kịp xu hướng
● Bước 5: Nhóm thực hiện chỉnh sửa lại mô hình hoá yêu cầu người dùngtheo những gì đã thu thập được
● Bước 6: Nhóm thực hiện thiết kế CSDL
● Bước 7: Nhóm tiến hành nghiên cứu các công nghệ sẵn có để lựa chọnmột môi trường phù hợp phát triển ứng dụng của mình Nhóm đã chọnJava (Android Native) để phát triển ứng dụng vì phát huy tối đa được tốc
độ thực thi, đồng thời hỗ trợ các tính năng cấp thấp phục vụ cho yêu cầucủa người dùng như việc đồng bộ hoá
● Bước 8: Nhóm tiến hành thiết kế giao diện Prototype cho ứng dụng
● Bước 9: Nhóm tiến hành công đoạn cài đặt cho ứng dụng
Trang 8● Bước 10: Nhóm tiến hành công việc bảo trì (sửa chữa lỗi và phát triểnthêm những tính năng chưa được đề ra ban đầu) Ngoài ra nhóm thực hiệnRefactor code để đạt chuẩn thiết kế.
● Bước 11: Nhóm hoàn thành đồ án
- Các công cụ phát triển :
+ Sử dụng ngôn ngữ lập trình Java (Android Native)+ Sử dụng Figma là công cụ thiết kế giao diện+ Sử dụng Firebase là công cụ lưu trữ dữ liệu+ Sử dụng Github là công cụ lưu trữ source code
Quản lý toàn bộ hệ thống và người dùng
1.2.2 Hiện trạng nghiệp vụ
- Áp dụng môi trường giáo dục cho trẻ
- Giúp trẻ cải thiện những kỹ năng trong tiếng Anh
- Tạo môi trường thân thiện để trẻ dễ dàng thích ứng
- Các bài học dựa trên mô hình game giúp trẻ cảm thấy hứng thú hơn khi sửdụng
- Phụ huynh kiểm soát được việc học của con mình thông qua ứng dụng
Trang 9- Tính năng :
+ Có thể học thêm được nhiều ngôn ngữ quốc tế
+ Ứng dụng miễn phí, có thể sử dụng trên cả nền tảng Android và IOS + Giao diện bắt mắt
+ Có thể kết nối với bạn bè
+ Có hệ thống ranking xếp hạng
Trang 10ELSA Speak: English Learning App
- Tính năng :
+ Học từ vựng - Phần mềm tốt nhát để ôn luyện từ vựng vì tích hợp công nghệ AI + Có thể sử dụng trên cả nền tảng Android và IOS
Trang 11+ Nhận diện giọng nói - Sửa lỗi phát âm
+ Hệ thống từ điển đa dạng
- Nhược điểm/Hạn chế:
+ Chỉ tập trung vào từ vựng
+ Ứng dụng trả phí
+ Chỉ sử dụng một ngôn ngữ duy nhất là Tiếng Anh
+ Rất hay xảy ra lỗi, đặc biệt là khi đăng nhập
+ Giao diện không quá đặc sắc và nhiều hình ảnh
Lingokids - kids playlearning
- Tính năng :
+ Chia độ tuổi trẻ em để tích hợp bài tiếng anh
+ Có thể sử dụng trên cả nền tảng Android và IOS
+ Có các video hoạt hình dạy tiếng Anh
+ Giao diện nhiều màu sắc, thích hợp với đối tượng là trẻ em
- Nhược điểm/Hạn chế:
+ Không có bản miễn phí để thử trải nghiệm trước khi dùng
+ Không thể sử dụng ngôn ngữ khác ngoài tiếng anh
+ Hệ thống tuy dành cho trẻ em nhưng lại không có nhiều trò chơi kiểu nhân vật
Trang 12Chương 2 – PHÂN TÍCH ĐẶC TẢ YÊU CẦU 2.1 Sơ đồ Use Case:
Trang 132.2 Danh sách Use Case
STT Tên use case Mô tả
2 Đăng nhập Đăng nhập bằng tài khoản đã đăng ký
3 Cài đặt Thay đổi ngôn ngữ hệ thống (Vi/En)
4 Trang chủ Học/Làm bài test thông qua hình thức game
5 Mua nhân vật Thay đổi nhân vật khi đủ coin sau khi chơi game
2.3.1 Đặc tả Use-case UC01 - Đăng ký
Mô tả Cho phép người dùng nhập các thông tin cần thiết
(email, mật khẩu) để tạo ra tài khoản mới
Người thực hiện
(Actors)
Người dùng
Trang 14Sự kiện kích
hoạt (Trigger) Người dùng chọn nút đăng ký tại màn hình đăngký/đăng nhập
Điều kiện tiên
Nhập thông tin và bấmđăng ký
Kiểm tra tính hợp lệ vàtạo tài khoản
Kịch bản thay
thế (Alternative
flow)
A1 – Nhập email đã được sử dụngChuỗi A1 bắt đầu từ bước 2 của kịch bảnthường: 2) Hệ thống hiển thị thông báo “Email
đã tồn tại”
2.3.2 Đặc tả Use-case UC02 – Đăng nhập
Trang 15Hệ thống thông báođăng nhập thành công
Kịch bản thay
thế (Alternative
flow)
A1 – Nhập email đã được sử dụngChuỗi A1 bắt đầu từ bước 2 của kịch bản thường:
Trang 16Hệ thống hiển thị thông báo “Email đã tồn tại”
2.3.3 Đặc tả Use-case UC03 – Cài đặt
hoạt (Trigger) Người dùng bấm chọn Cài đặtNgười dùng chọn Đổi ngôn ngữ
Điều kiện tiên
Trang 17Kịch bản chính
(Basic flow)
Người dùng chọn Đổingôn ngữ
Hệ thống kiểm trađiều kiện
Hệ thống chuyển sangngôn ngữ khác
Trang 18Sự kiện kích
hoạt (Trigger) Người dùng bấm chọn Đọc
Điều kiện tiên
Hệ thống kiểm trađiều kiện
Hệ thống chuyển sangnội dung sách ngườidùng đã chọn
Trang 19Use case ID UC05
(Trigger) Chuyển đến màn hình các bài học/bài kiểm tra
Điều kiện tiên quyết
(Pre-conditions)
Người dùng phải đăng nhập
Điều kiện kết quả
Chuyển sang màn hình theo sựlựa chọn của
người dùng
Trang 202.3.6 Đặc tả Use-case UC06- Mua nhân vật
Mô tả Cho phép mua các nhân vật là các con thú theo
sở thích của bản thân
Người thực hiện (Actors) Người dùng
Sự kiện kích hoạt (Trigger) Chuyển đến màn hình Cửa hàng
Điều kiện tiên quyết
(Pre-conditions)
Người dùng phải đăng nhập
Điều kiện kết quả
(Post-conditions)
Màn hình chuyển sang cửa hàng nhân vật
Kịch bản chính (Basic flow) Người dùng chọn
biểu tượng cửa hàng
và chọn Mua hoặcchuyển tiếp
Trang 21Hệ thống thông báomua thành công
Chuyển thú cưng đãmua về trạng thái
“Unlocked”
2.3.7 Đặc tả Use-case UC07- Điểm danh
để thực hiện tích điểm
Người thực hiện (Actors) Người dùng
Sự kiện kích hoạt (Trigger) Chuyển đến màn hình nhiệm vụ
Điều kiện tiên quyết
(Pre-conditions)
Người dùng phải đăng nhập
Trang 22Điều kiện kết quả
(Post-conditions)
Hiển thị lịch ngày và nhiệm vụ trong ngày
Kịch bản chính (Basic flow) Người dùng chọn
nhiệm vụ
Hệ thống hiển thịnhiệm vụ và ngày hiệntại
Người dùng chọnnhiệm vụ cần thực hiện
Trang 232.3.8 Đặc tả Use-case UC08- Học/Learn
Mô tả Cho phép người dùng học các bài luyện từ vựng
có sẵn trong CSDL
Người thực hiện (Actors) Người dùng
Sự kiện kích hoạt (Trigger) Chuyển đến màn hình Học
Điều kiện tiên quyết
(Pre-conditions)
Người dùng phải đăng nhập
Điều kiện kết quả
Xem tiếp để học hết10/10 bài trong một cấp
Trang 24Kịch bản thay thế N/A
2.3.9 Đặc tả Use-case UC09- Kiểm tra từ vựng/Test
Mô tả Cho phép tự kiểm tra lại các từ vựng đã học
Người thực hiện (Actors) Người dùng
Sự kiện kích hoạt (Trigger) Chuyển đến màn hình Test
Điều kiện tiên quyết
(Pre-conditions)
Người dùng phải đăng nhập
Điều kiện kết quả
(Post-conditions)
Hiển thị các từ vựng test cần được thực hiện
Trang 25Kịch bản chính (Basic flow) Người dùng chọn
phần Test ở trang chủsau khi chọn level
Hệ thống chuyểnsang màn hình Test
Người dùng thực hiệncác bài test để lên cấp
và thu thập vàng
Trang 26Chương 3 – THIẾT KẾ KIẾN TRÚC
- Sau giai đoạn phân tích đến giai đoạn thiết kế, xây dựng hệ thống thành một giải pháp thực thi.
Mô hình sẽ được thiết kế chi tiết và xem xét đến các vấn đề kỹ thuật Các lớp giải quyết vấn đề cơ bản như: cơ sở dữ liệu (database), giao diện người dùng (user interface), Một số lớp mới có thể được phát hiện bổ sung Để xây dựng phần mềm, nhóm thực hiện xây dựng chương trình dựa trên
mô hình Client – Server,
3.1 Kiến trúc tổng thể của hệ thống:
- Mô hình kiến trúc được sử dụng: Client – Server:
3.2 Kiến trúc thiết kế từng thành phần trong hệ thống:
- Ứng dụng được xây dựng theo mô hình client - server đồng thời sử dụng Baas do Firebase cung cấp nhanh tối ưu hóa tốc độ phát triển ứng dụng Mô hình này đáp ứng được các yêu cầu của app như :
+ Dữ liệu được tập trung dẫn đến dễ dàng quản lý
+ Linh động trong việc kiểm soát mọi hoạt động của người dùng
+ Với nhược điểm làm việc qua internet sẽ dễ bị tấn công thì app lựa chọn Baas do firebase cung cấp để giải quyết các vấn đề về authen ( chứng thực ) và request, querry database.
Trang 27- Ngoài nhược điểm trên thì lý do chính để nhóm chọn firebase để giải quyết vấn đề về quảng cáo Các dịch vụ thứ ba khác ( ví dụ appodeal ) Không giải quyết được vấn đề hacker tấn công gửi request lấy quảng cáo liên tục ( Vấn đề này có thể được báo cáo riêng )
- Ở phía giao diện, với mục tiêu xây dựng hybric app, nhóm chọn react native làm framework nền tảng Nhóm không chọn flutter để tập trung vào animation bởi :
+ React native có cộng đồng lớn, dễ dàng tìm kiếm giúp đỡ khi gặp lỗi
+ Thành viên trong nhóm có kinh nghiệm trong việc phát triển ứng dụng bằng react native.
Trang 28Chương 4 – THIẾT KẾ DỮ LIỆU 4.1 Sơ đồ logic
4.2 Mô tả chi tiết các kiểu dữ liệu
4.2.1 Bảng user
Trang 29Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
màn người chơi đãvượt qua
Trang 30gold Int Số vàng của người
chơi, sử dụng vàng
để mua các nhânvật có trong cửahàng, không có giátrị quy đổi thực tế
user
4.2.2 Bảng user_map
user_map
Trang 31star Int Xác định số sao
mà người chơi đạtđược ở màn đó, sốsao ngày quyếtđịnh xem ngườichơi có đủ điềukiện qua màn haykhông, giá trị từ 1đến 3
4.2.3.Bảng user_rollcall
user_map
danh trong giaodiện điểm danh
4.2.4 Bảng user_character
Trang 32user_characterID string Khóa chính Xác định bảng
user_character
mặt hàng đã được
mở khóa hay chưa
4.2.5 Bảng character
Trang 33Description Bool Mô tả vật phẩm
4.2.6.Bảng user_mission
user_mission
mission
vụ, gồm 3 trạngthái, đã làm, chưalàm và đã nhậnthưởng
4.2.7 Bảng mission
mission
Trang 34Name string CHo biết tên và
nội dung nhiệm vụ
hiện tại duy nhất 1loại nhiệm vụ hằngngày
được nhận khihoàn thành nhiệmvụ
4.2.8.Bảng user_story
user_story
story
Trang 35Status Bool Cho biết trạng thái
của user đối vớitruyện, đã đọchoặc chưa đọc
4.2.9 Bảng story
dùng đã xem câutruyện
Trang 364.2.10.Bảng story_name
story_content
story
Trang 37Vi string Nội dung bằng
4.2.13 Bảng question_name
Trang 38Tên thuộc tính Kiểu dữ liệu Ràng buộc Ý nghĩa
question
việt
Trang 39En string Câu trả lời tiếng
anh
trả lời , đúnghoặc sai
4.2.15 Bảng map
map
thứ tự
4.2.16 Bảng vocabulary
Trang 40vocabularyID string Khóa chính Xác định bảng
ví dụ
4.2.16 Bảng example
ví dụ
Trang 41vocabularyID Int Khóa ngoại Xác định bảng
vocabulaty
Trang 42Chương 5 – THIẾT KẾ GIAO DIỆN 5.1 Sơ đồ liên kết các màn hình
5.2 Danh sách các màn hình
Trang 433 Cài đặt Người dùng sẽ chọn ngôn ngữ để đọc các hướng dẫn trong trò chơi.
4 Hiển thị sách Người dùng chọn một quyển sách và nhấp vào để đọc
Người dùng có thể chọn chế độ audio để nghe phần mềm tựđọc, hoặc có thể tự động mà không cần dùng audio
5 Quiz Người dùng sau khi đọc xong bất kì quyển sách nào sẽ
được nhận 3 câu hỏi liên quan đến những chi tiết trongSách Độ khó sẽ là tăng dần Trả lời càng nhiều thì số vàng nhậnđược càng cao
6 Phần thưởng Quiz Người dùng sau khi trả lời câu hỏi sau khi đọc sách sẽ
được thưởng một lượng nếu muốn gấp đôi người chơi sẽnhấp vào lượng vàng đã được nhân 2
7 Chính Thử thách cho người chơi mỗi vòng sẽ có một chủ đề khác nhau
8 Học/Learn Người dùng học bài tập có sẵn trong vòng chơi
9 Kiểm tra từ
vựng/Test
Người dùng làm bài test có sẵn trong vòng chơi
10 Quảng cáo Người dùng sau khi hoàn thành một màn chơi sẽ kiếm
được một số lượng vàng và bằng cách xem quảng cáo sốvàng đó sẽ được nhân đôi
11 Cửa hàng nhân vật Dựa trên các thử thách và các quiz để kiếm vàng Từ đó,
người dùng sẽ dùng số vàng kiếm được để mua các nhânvật trong cửa hàng
12 Trạng thái hoạt động Người dùng có thể theo dõi hoạt động của mình nhờ vào
những lần đăng nhập trong tháng đó Bên cạnh đó còn có