TRƯỜ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:
1.
Tơ Hồi Quỳnh Vy
18520405
2.
Huỳnh Thế Anh
18520448
TP. Hồ Chí Minh, tháng 12 năm 2021
MỤC LỤC
MỤC LỤC
2
LỜI CẢM ƠN
4
Chương 1 – TỔNG QUAN ĐỀ TÀI
1.1. Mơ tả bài tốn và xác định u cầu
1.2. Khảo sát hiện trạng
1.2.1. Hiện trạng tổ chức
1.2.2. Hiện trạng nghiệp vụ
1.2.3. Hiện trạng tin học
5
5
6
6
8
8
Chương 2 – PHÂN TÍCH ĐẶC TẢ YÊU CẦU
2.1. Sơ đồ Use Case:
2.2. Danh sách Use Case
2.3. Đặc tả Use Case
2.3.1. Đặc tả Use-case UC01 - Đăng ký
2.3.2. Đặc tả Use-case UC02 - Đăng nhập
2.3.3. Đặc tả Use-case UC03 - Cài đặt
2.3.4. Đặc tả Use-case UC04 - Đọc sách
2.3.5. Đặc tả Use-case UC05 - Trang chủ
2.3.6. Đặc tả Use-case UC06 - Mua nhân vật
2.3.7. Đặc tả Use-case UC07 - Điểm danh
2.3.8. Đặc tả Use-case UC08 - Học/Learn
2.3.9. Đặc tả Use-case UC09 - Kiểm tra từ vựng/Test
12
12
14
14
14
15
17
18
19
21
22
24
25
Chương 3 – THIẾT KẾ KIẾN TRÚC
3.1. Kiến trúc tổng thể của hệ thống
3.2. Kiến trúc thiết kế từng thành phần trong hệ thống
27
27
27
Chươ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
29
29
29
Chương 5 – THIẾT KẾ GIAO DIỆN
42
5.1. Sơ đồ liên kết các màn hình
42
5.2. Danh sách các màn hình
5.3. Mơ tả các màn hình
5.3.1 Màn hình Đăng nhập
5.3.2 Màn hình Đăng ký
5.3.3 Màn hình Cài đặt
5.3.4 Màn hình Hiển thị sách
5.3.5 Màn hình Quiz
5.3.6 Màn hình Phần thưởng Quiz
5.3.7 Màn hình Chính
5.3.8 Màn hình Học/Learn
5.3.9 Màn hình Kiểm tra từ vựng/Test
5.3.10 Màn hình Quảng cáo
5.3.11 Màn hình Từ vựng
5.3.12 Màn hình Trạng thái hoạt động
5.3.13 Màn hình On Board/Loading
42
44
44
45
46
47
48
49
50
51
53
55
56
57
58
Chương 6 – CÀI ĐẶT VÀ THỬ NGHIỆM
6.1. Môi trường cài đặt:
6.1.1. Môi trường cài đặt và thử nghiệm:
6.1.2. Kết quả đánh giá
60
60
60
60
NHẬN XÉT VÀ KẾT LUẬN
61
1. Đánh giá tiến độ thực hiện đề tài (bảng tóm tắt q trình các giai đoạn thực hiện cột
thời gian và hoạt động)
61
2. Các kết quả đạt được
62
HƯỚNG PHÁT TRIỂN
63
TÀI LIỆU THAM KHẢO
64
BẢNG PHÂN CÔNG CÔNG VIỆC
65
LỜ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 hồn chỉnh giúp trẻ em
tă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óm
chú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
Chương 1 – TỔNG QUAN ĐỀ TÀI
1.1. Mô tả bài tốn và xác định 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 trong
nhữ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ọc
tiế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 giao
tiế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 anh
dà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ếng
anh 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ững
khí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ẹ 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ần
cứng khác nhau và thiết kế kiến trúc thiết bị khác nhau.
+ Tính tiến hố: Ứng dụng phải dễ dàng được phát triển thêm tính năng mà khơng gây ảnh
hưở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ơng
cầ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ính
thí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ệm
ngườ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à:
STT
Tên vấn đề
Tác nhân
1
Quản lý user
System Admin
2
Đọc sách tiếng Anh
User
3
Luyện từ vựng thông qua hệ thống game
User
4
Hệ thống nhân vật để đổi khi nhận được coin từ bài học
User
5
Điểm danh theo lịch hoạt động trong tháng
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ốc
gia 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ận
vớ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ưỡng
con 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 con
mình.
-
Mục tiêu :
+ 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 đầu
họ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 ngồ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ần
tậ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ập
nhậ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ụ đi
kè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ực
hiệ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 hố u cầu của
người dùng.
● Bước 3: Nhóm tiến hành mơ hình hố sự tương tác giữa các thành phần
trong 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ăng
gầ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 hố u cầu người dùng
theo 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ọn
một mơi trường phù hợp phát triển ứng dụng của mình. Nhóm đã chọn
Java (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ầu
của người dùng như việc đồng bộ hố.
● 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.
● 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ển
thêm những tính năng chưa được đề ra ban đầu). Ngồi ra nhóm thực hiện
Refactor code để đạt chuẩn thiết kế.
● Bước 11: Nhóm hồ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.
-
Các tác nhân chính:
Tác nhân
Mơ tả
User
Người dùng hệ thống khi đăng nhập có thể sử dụng các tính năng
của ứng dụng.
System
Admin
Quản lý tồ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 sốt được việc học của con mình thông qua ứng dụng.
1.2.3. Hiện trạng tin học
-
Để khảo sát hiện trạng tin học, nhóm đã sử dụng và xem bình luận trải nghiệm người
dùng thơng qua những ứng dụng sẵn có :
Duolingo: language lessons
-
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
-
Nhược điểm/Hạn chế:
+
Beginer phải thông qua bước kiểm tra bài test ban đầu (gây khó khăn cho trẻ em
nếu chưa từng học qua tiếng Anh)
+
Khơng có quảng cáo nên khơng thể biết được nguồn thu nhập chính từ đâu
+
Dùng chung cả hệ thống cho mọi lứa tuổi (gây khó khăn trong việc sắp xếp các
bài học theo đúng độ tuổi)
ELSA 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
-
+
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 ngồ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
Chương 2 – PHÂN TÍCH ĐẶC TẢ YÊU CẦU
2.1. Sơ đồ Use Case:
2.2. Danh sách Use Case
STT
Tên use case
Mô tả
1
Đăng ký
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ủ
5
Mua nhân vật
6
Điểm danh
Điểm danh hằng ngày
7
Học/Learn
Học các bài tập có sẵn
8
Kiếm tra từ
vựng/Test
Làm bài test ôn luyện những kĩ năng tiếng anh
Đăng ký tài khoản ở ứng dụng
Học/Làm bài test thơng qua hình thức game
Thay đổi nhân vật khi đủ coin sau khi chơi game
2.3. Đặc tả Use Case
2.3.1. Đặc tả Use-case UC01 - Đăng ký
Use case ID
UC01
Tên
Đă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
Sự kiện kích
hoạt (Trigger)
Người dùng chọn nút đăng ký tại màn hình đăng
ký/đăng nhập
Điều kiện tiên
quyết
(Pre-conditions)
Email được nhập chưa được đăng ký và lưu bởi hệ thống
Điều kiện kết
quả
(Post-condition
s)
Thông tin tài khoản mới được lưu vào hệ thống
Kịch bản chính
(Basic flow)
Người dùng nhấn đăng ký
Hiện bản nhập liệu
thông tin đăng ký tài
khoả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ụng
Chuỗi A1 bắt đầu từ bước 2 của kịch bản
thườ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
Use case ID
UC02
Tên
Đăng nhập
Mô tả
Cho phép đăng nhập sử dụng ứng dụng
Người thực hiện
(Actors)
Người dùng
Sự kiện kích
hoạt (Trigger)
Người dùng bấm chọn đăng nhập
Điều kiện tiên
quyết
(Pre-conditions)
Điều kiện kết
quả
(Post-condition
s)
Đăng nhập thành cơng
Kịch bản chính
(Basic flow)
Người dùng nhập email
và mật khẩu
Hệ thống kiểm tra
điều kiện
Hệ 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ụng
Chuỗi A1 bắt đầu từ bước 2 của kịch bản thường:
Hệ 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
Use case ID
UC03
Tên
Cài đặt
Mô tả
Cho phép user thay đổi ngôn ngữ hệ thống
Người thực hiện
(Actors)
Người dùng
Sự kiện kích
hoạt (Trigger)
Người dùng bấm chọn Cài đặt
Người dùng chọn Đổi ngôn 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-condition
s)
Ngôn ngữ hệ thống thành tiếng Anh
Kịch bản chính
(Basic flow)
Người dùng chọn Đổi
ngơn ngữ
Hệ thống kiểm tra
điều kiện
Hệ thống chuyển sang
ngôn ngữ khác
Kịch bản thay
thế (Alternative
flow)
N/A
2.3.4. Đặc tả Use-case UC04 – Đọc sách
Use case ID
UC04
Tên
Đọc sách
Mô tả
Cho phép đọc các sách có sẵn trên CSDL
Người thực hiện
(Actors)
Người dùng
Sự kiện kích
hoạt (Trigger)
Người dùng bấm chọn Đọ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ả
(Post-condition
s)
Chuyển màn hình sang chế độ đọc
Kịch bản chính
(Basic flow)
Người dùng chọn
sách muốn đọc
Hệ thống kiểm tra
điều kiện
Hệ thống chuyển sang
nội dung sách người
dùng đã chọn
Kịch bản thay
thế (Alternative
flow)
N/A
2.3.5. Đặc tả Use-case UC05- Trang chủ
Use case ID
UC05
Tên
Trang chủ
Mô tả
Cho phép người dùng học và làm cái bài kiểm tra từ vựng
tiếng anh
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á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ả
(Post-conditions)
Màn hình chuyển sang chọn số bài học mà người dùng
muốn sử dụng
Kịch bản chính (Basic flow)
Người dùng chọn kí
hiệu Home
Hệ thống chuyển sang chọn
Học/Làm bài test
Chuyển sang màn hình theo sự
lựa chọn của
người dùng
Kịch bản thay thế
N/A
2.3.6. Đặc tả Use-case UC06- Mua nhân vật
Use case ID
UC06
Tên
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ặc
chuyển tiếp
Hệ thống thông báo
mua thành công
Chuyển thú cưng đã
mua về trạng thái
“Unlocked”
Kịch bản thay thế
N/A
2.3.7. Đặc tả Use-case UC07- Điểm danh
Use case ID
UC07
Tên
Điểm danh
Mô tả
Cho phép người dùng xem nhiệm vụ trong ngày
để 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
Đ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ện
tại
Người dùng chọn
nhiệm vụ cần thực hiện
Kịch bản thay thế
N/A
2.3.8. Đặc tả Use-case UC08- Học/Learn
Use case ID
UC08
Tên
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ả
(Post-conditions)
Hiển thị các bài học từ vựng, phần dịch nghĩa cả
tiếng anh và tiếng việt
Kịch bản chính (Basic flow)
Người dùng chọn
trang chú và chọn học
Hệ thống chuyển
sang màn hình Học
Xem tiếp để học hết
10/10 bài trong một cấp.
Kịch bản thay thế
N/A
2.3.9. Đặc tả Use-case UC09- Kiểm tra từ vựng/Test
Use case ID
UC09
Tên
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.
Kị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ển
sang màn hình Test
Người dùng thực hiện
các bài test để lên cấp
và thu thập vàng.
Kịch bản thay thế
N/A