HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TINKHOA CÔNG NGHỆ PHẦN MỀM NGUYỄN THÀNH CÔNG – 15520071 LƯU NGUYỄN KHẢI HOÀN - 15520249 KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC TIẾ
Trang 1ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
NGUYỄN THÀNH CÔNG – 15520071 LƯU NGUYỄN KHẢI HOÀN - 15520249
KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC TIẾNG ANH
QUA LỜI BÀI HÁT BUILDING AN APPLICATION TO SUPPORT LEARNING
ENGLISH BY SONGS
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
TP HỒ CHÍ MINH, 2020
Trang 2ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM
NGUYỄN THÀNH CÔNG – 15520071 LƯU NGUYỄN KHẢI HOÀN - 15520249
KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG HỖ TRỢ HỌC TIẾNG ANH
QUA LỜI BÀI HÁT BUILDING AN APPLICATION TO SUPPORT LEARNING
ENGLISG BY SONGS
KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM
GIẢNG VIÊN HƯỚNG DẪN
TS NGUYỄN HÀ GIANG ThS NGUYỄN THỊ THANH TRÚC
TP HỒ CHÍ MINH, 2020
THÔNG TIN HỘI ĐỒNG CHẤM KHÓA LUẬN TỐT NGHIỆP
Trang 3Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………
ngày ……… của Hiệu trưởng Trường Đại học Công nghệ Thông tin
CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
NAM Độc Lập - Tự Do - Hạnh Phúc
TP HCM, ngày… tháng… năm……
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH QUA LỜI BÀI HÁT Nhóm SV thực hiện: Cán bộ hướng dẫn: Nguyễn Thành Công 15520071 TS Nguyễn Hà
Giang Lưu Nguyễn Khải Hoàn 15520249 ThS.Nguyễn Thị Thanh Trúc
Đánh giá Khóa luận
1 Về cuốn báo cáo:
Số trang _ Số chương _
Số bảng số liệu _ Số hình vẽ _
Số tài liệu tham khảo _ Sản phẩm _
Một số nhận xét về hình thức cuốn báo cáo:
………
………
………
………2 Về nộidung nghiên cứu:
Trang 4CÔNG NGHỆ THÔNG TIN
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
NAM Độc Lập - Tự Do - Hạnh Phúc
TP HCM, ngày… tháng… năm……
NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
Trang 5(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
XÂY DỰNG ỨNG DỤNG HỌC TIẾNG ANH QUA LỜI BÀI HÁT Nhóm SV thực hiện: Cán bộ phản biện: Nguyễn Thành Công 15520071
Lưu Nguyễn Khải Hoàn 15520249
Đánh giá Khóa luận
5 Về cuốn báo cáo:
Số trang _ Số chương _
Số bảng số liệu _ Số hình vẽ _
Số tài liệu tham khảo _ Sản phẩm _
Một số nhận xét về hình thức cuốn báo cáo:
………
………
………6 Vềnội dung nghiên cứu:
………
………
………
………7 Vềchương trình ứng dụng:
Trang 6LỜI CẢM ƠN
Trước hết, chúng em xin gửi lời cảm ơn đến ban giám hiệu, quý thầy cô của
trường Đại học Công nghệ Thông tin, đặc biệt là các thầy cô trong khoa Công Nghệ
Phần Mềm đã cung cấp cho chúng em những hành trang kiến thức cần thiết, bổ ích và
phong phú trong những năm học tập tại trường
Chúng em cũng xin bày tỏ lời cảm ơn chân thành đến cô Nguyễn Thị Thanh
Trúc - người đã dành nhiều thời gian hướng dẫn và giúp đỡ chúng em trong suốt quá
trình làm khóa luận để chúng em có thể hoàn thành tốt khóa luận tốt nghiệp này
Chúng em đã nỗ lực rất nhiều để làm khóa luận hoàn thiện nhất có thể nhưng
chắc chắn khó tránh khỏi những thiếu sót Nên chúng em kính mong quý thầy cô thông
cảm và tận tình chỉ bảo để chúng em cải thiện tốt hơn
Sau cùng, chúng em kính chúc quý thầy cô thật nhiều sức khỏe và niềm tin
để thực hiện sứ mệnh cao đẹp của mình và truyền đạt kiến thức cho các thế hệ sau
này
Chúng em trân trọng cảm ơn!
Trang 7ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC
CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NĐộc Lập - Tự Do - Hạnh Phúc
ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI TIẾNG VIỆT: Xây dựng ứng dụng hỗ trợ học tiếng anh qua lời bài
Thời gian thực hiện: Từ ngày 23/3/2020 đến tháng 13/7/2020
Sinh viên thực hiện:
- Nguyễn Thành Công – 15520071
- Lưu Nguyễn Khải Hoàn – 15520249
Nội dung đề tài
Tổng quan đề tài:
Tiếng anh là ngôn ngữ phổ biến và được sử dụng nhiều nhất trên thế giới nên nó đượcxem như là ngôn ngữ chung của thế giới, dễ dàng xóa bỏ mọi rào cản ngôn ngữ Rất nhiềutài liệu, kiến thức giá trị đều được lưu lại bằng tiếng anh Vì vậy học tiếng anh đem lại lợi
Trang 8ích rất lớn Hiện có rất nhiều phương pháp học tiếng anh được sáng tạo như: đọc báo tiếnganh, xem phim tiếng anh, ra công viên chỉ đường cho người nước ngoài, … và nhiềuphương pháp khác nhằm mục đích giúp người học dễ dàng tiếp cận, hiểu nhanh và đặcbiệt không gây dễ nhàm chán, dễ bỏ cuộc như các phương pháp truyền thống
Hiện nay, công nghệ đang phát triển mạnh mẽ kéo theo các thiết bị công nghệ ngàycàng nhỏ gọn và thông minh hơn trong số đó có điện thoại di động Hầu như hiện nay aicũng dễ dàng sở hữu cho mình một chiếc điện thoại di động vì những lợi ích nó mang lạinhư sự nhỏ gọn, tiện lợi, giá thành rẻ, dễ lưu trữ thông tin, dễ cập nhật tin tức, dễ liên lạc,giao tiếp với người khác, … Vậy nên điện thoại di động trở nên cực kì phổ biến và hữuích Chính vì vậy, áp dụng công nghệ cho việc học tiếng anh là phương pháp hiệu quả
Âm nhạc là thứ làm cho con người trở nên sống động, là thứ để con người biểu lộ cảm xúc Âm nhạc có rất nhiều loại phù hợp chọ mọi lứa tuổi nên hầu hết chúng ta ai cũng thích âm nhạc và âm nhạc không làm ta nhàm chán Vậy nên học tiếng anh bằng âm nhạc
là phương pháp hiệu quả
Kết hợp hai yếu tố trên là công nghệ và âm nhạc vào việc học tiếng anh sẽ là phươngpháp sáng tạo và đạt hiệu quả cao Nên chúng em đã nảy ra ý tưởng này và muốn xây dụngmột ứng dụng hỗ trợ người học học tiếng anh qua bài hát tiếng anh
Mục tiêu của đề tài:
- Phát được bài hát
- Lời bài hát bên dưới được dịch
- Tra từ điển khi chọn vào từ bất trì trong lời bài hát
- Chọn từ để lưu từ vào mục ưa thích
Ứng dụng chúng em sẽ làm có các tính năng sau:
- Lời bài hát ở bên dưới được dịch:
• Phân thành các câu hát cụ thể Khi nhấn chọn một câu bài nhạc có thể phát nhạc
từ câu đó trở đi
• Phân tích cú pháp được sử dụng của câu hát đó
• Phân tích cách phát âm
- Tra từ điển khi chọn vào từ bất kì trong lời bài hát
- Mục ưa thích Cải tiến so với các ứng dụng đã có:
Trang 9• Lưu được câu hát ưa thích
- Thiết kế giao diện thân thiện, mới mẻ và tăng trải nghiệm người dùng -
Tính năng mới sắp xếp bài nhạc theo trình độ tiếng anh từ dễ đến khó - Tính
năng mới Mini Game:
• Phát lại câu hát và người học điền từ còn thiếu trong câu hát đó
• Từ trong câu bị đảo vị trí và phải sắp xếp lại cho đúng
- Tính năng người học có thể hát:
• Thu âm lại lời hát của người học sau đó mang ra phân tích và so sánh với lời củabài hát Sau đó xuất ra kết quả đánh giá người học đã phiên âm đúng hay chưa
Phương pháp thực hiện:
Để thực hiện được đề tài này cần trải qua các bước sau:
- Thu thập dữ liệu cụ thể là các bài hát có lời bài hát
- Phân tích bài hát đó thông qua lời bài hát: cấu trúc, cách phiên âm, từ vựng, … -
Phân tích, viết đặc tả theo yêu cầu bài toán
- Tạo cơ sở dữ liệu để lưu trữ các dữ liệu đã được phân tích
- Tạo server
- Viết ứng dụng với các chức năng đã phân tích
- Kết nối ứng dụng với server để ứng dụng lấy dữ liệu
Các nội dung chính và giới hạn của đề tài:
Cần phân loại từng bài hát và sắp xếp cho phù hợp với trình độ tiếng anh Sau khi phânloại thì phân tích từng lời bài hát có chứa những ngữ pháp, cấu trúc, từ vụng, cách phát âm
và thêm vào kho data trên server Khi người học sử dụng phần mềm để bắt đầu học thì ngườidùng phải tải dữ liệu bài hát người dùng trọn Sau khi tải xong, người học có thể bắt đầutrình phát bài nhạc đó khi người học sẵn sàng Trong quá trình phát, người
Trang 10học có thể xem phần lời bài hát của bài hát ở bên dưới trình phát Lời bài hát sẽ được phânthành các câu và các câu đó sẽ tương ứng với câu mà ca sĩ đang hát Mỗi câu trong lời bàihát người học đều có thể tương tác như: nhấn chọn một từ trong câu để tra từ vựng của từ
đó và có thể thêm vào mục yêu thích từ vừa tra này khi nhấn biểu tượng trái tim bên cạnh,Nếu nhấn giữ thì câu này sẽ hiển thị lựa chọn để người học có thể thêm vào danh mục câuyêu thích hay thêm vào phần làm bài tập (Mini game), Ở dưới mỗi câu của lời bài hát làphần phát âm, dưới phần phát âm là bản dịch, người học có thể ẩn đi Ở mỗi câu của lờibài hát có biểu tượng play Khi người dùng nhấn thì trình phát sẽ phát lại bài hát từ câuđang chọn bên cạnh biểu tượng Play là biểu tượng Mic Khi người học nhấn giữ thì trìnhphát nhạc sẽ tạm dừng để người học có thể phát âm và hát Trong quá trình nhấn giữ, ngườihọc hát hoặc phát âm, sau khi thả nhấn giữ thì phần phát âm của người học sẽ được phântích, sau khi phân tích thì so sánh với lời nhạc tại câu đó có khớp không rồi xuất ra kết quảđánh giá xem người học phiên âm đúng hay sai Ngoài ra, còn có hai mini game để ngườihọc có thể luyện tập Ứng dụng sẽ lấy ngẫu nhiên một câu mà người học đã từng nghe vàtạo từ còn thiếu trong câu đó Người học nhấn biểu tượng play ở cuối mỗi câu để nghephát âm câu hát đó, sau đó người học điền vào chỗ trống từ thích hợp Mini game thứ hai
là từ trong câu bị đảo lộn xộn và người học phải sắp xếp lại cho đúng
Giai đoạn Thời gian Công việc
Giai đoạn 1: Khảo sát
thực trạng
23/3/2020 – 1/4/2020
- Tìm hiểu và trải nghiệm các ứngdụng tương tự
Trang 11- Phân tích ưu, nhược điểm của cácứng dụng đã gặp phải
- Tìm hiểu các công nghệ cần sửdụng cho ứng dụng
Giai đoạn 2: phân tích 2/4/2020 –
- Thiết kế và xây dựng database
Giai đoạn 4: Xây
dựng giao diện
1/5/2020 – 15/5/2020
- Thiết kế và xây dựng giao diện ứng dụng
Giai đoạn 5: Phát triển
ứng dụng
15/5/2020 – 25/6/2020
- Tạo kết nối với database và giao diện
- Xây dựng các tính năng đã phân tích
- Tạo Mock data để kiểm thử chức năng
- Lấy và phân tích một vài data thực tế
- Xây dựng webserver để lưu trữ
dữ liệu
- Kết nối ứng dụng với webserver
và viết các api liên quan tới dữ liệu
Trang 12Giai đoạn 6: Kiểm thử Tháng 6-7/2020 - Kiểm thử và sửa lỗi ứng dụng
Giai đoạn 7: Hoàn
… năm… Sinh viên
(Ký tên và ghi rõ họ tên)
MỤC LỤC
Chư ng 1 M Đ U 2
Lý do chọn đề tài 2 Mục tiêu 2 Đốitượng 3 Phạmvi 3
Chư ng 2 T NG QUAN 4Phân tích các ứng dụng trong nước đã có 4 2.1.1.Ứng dụng Learn English with Song Lyrics 4 2.1.2 Ứng dụngLời Dịch Bài Hát Tiếng Anh 5 2.1.3 Ứng dụng Học tiếnganh qua Video, bài hát, phim và bản tin 6 2.1.4 Ứng dụng Learn English withSong Lyrics & Free Music Videos 8 2.1.5 Ứng dụng Learn English through Song
Lyric 9 2.1.6 Ứng dụng Học Tiếng Anh qua Bài Hát
Trang 1310 2.1.7 Ứng dụng eJOY Học tiếng Anh qua Video và
Game 12 Phân tích các ứng dụng nước ngoài 13 2.2.1 Ứng dụng Learn English with Music 13 2.2.2 Ứng dụng Learn English with Music Olalla 14 2.2.3 Ứng dụng Aprender Ingles gratis con musica –
Sounter 16 2.2.4 Ứng dụng Learn Languages with Music .17 2.2.5 Ứng dụng TMucsicc – Learn languages with
music 19 Tổng hợp .20 Chư ng 3 CÁC
CÔNG NGH S D NG 22
Ngôn ngữ lập trình Dart 22
3.1.1 Giới thiệu về Dart 22 3.1.2 Các khái niệm quan trọng trong Dart .22 3.1.3 Những ưu điểm của Dart 24
Flutter Framework .24
3.2.1 Widget .25
3.2.2 Ưu điểm của Flutter 26 3.2.3 Nhược điểm của Flutter 26
NodeJs 27
3.3.1 NodeJS là gì? .27
3.3.2 Những ứng dụng nên được viết bằng NodeJS 27 3.3.3 Lý do sử dụng NodeJS 27 3.3.4 Cài đặt Server 28
3.3.4.1 Các package được sử dụng .28
3.3.4.2 Thiết lập một Express Server 28
3.3.4.3 Thêm Middleware Body Parsing 29
API 29 3.4.1 API là gì? 29 3.4.2
Trang 14Ưu điểm của API 30 3.4.3.
Nhược điểm của API 31
RESTful API 31
3.5.1 RESTful API là gì? 31 3.5.2 Thiết kế RESTful Service 32 3.5.2.1 Dữ liệu trả về 32
3.5.2.2 Các HTTP Method mà RESTful hỗ trợ .32
3.5.2.3 Định dạng dữ liệu Json 33
3.5.2.4 Định dạng URI của API 33
3.5.2.5 Cấu trúc của URI 33
3.5.2.6 Phi trạng thái (Stateless) 34
3.5.2.7 Status code trả về 34
MongoDB 35
3.6.1 NOSQL .35
3.6.2 MongoDB 36 3.6.3 Các thuật ngữ hay sử dụng trong MongoDB 36 3.6.4 Ưu điểm của MongoDB 37 3.6.5 Nhược điểm khi sử dụng MongoDB 38
Mongoose 39
Chư ng 4 XÂY D NG VÀ TRI N KHAI SERVER 41 Thiết kế dữ liệu 41 4.1.1
Sơ đồ lớp 41 4.1.2 Mô tả các
lớp trong cơ sở dữ liệu 42 4.1.2.1 Lớp Songs 42 4.1.2.2 Lớp Lyrics 42 Nghiệp vụ 43 4.2.1 Truy xuất
dữ liệu 43 4.2.2 Cập nhật dữ liệu .45 Chư ng 5 XÂY D NG NGỨNG
Trang 15D NG 51 Phân tích yêu cầu
51
5.1.1 Sơ đồ use case tổng quát 51 5.1.2 Danh sách actor 51 5.1.3 Danh sách use case 52 5.1.4 Đặc tả yêu cầu phần mềm 54
5.1.4.1 Đặc tả use case “Xem danh sách bài hát” 54
5.1.4.2 Đặc tả use case “Đổi chế độ dark mode” 55
5.1.4.3 Đặc tả use case “Đổi giao diện” 56
5.1.4.4 Đặc tả use case “Đổi ngôn ngữ” .57
5.1.4.5 Đặc tả use case “Chia sẻ ứng dụng” 57
5.1.4.6 Đặc tả use case “Phát video bài hát” 58
5.1.4.7 Đặc tả use case “Thêm bài hát yêu thích” 59
5.1.4.8 Đặc tả use case “Hiển thị phụ đề” 60
5.1.4.9 Đặc tả use case “Tra từ điển” 62
5.1.4.10 Đặc tả use case “Phát âm” 63
5.1.4.11 Đặc tả use case “Thêm từ yêu thích” 63
5.1.4.12 Đặc tả use case “Chọn câu hát để nghe” .65
5.1.4.13 Đặc tả use case “Ẩn/Hiện phụ đề tiếng Anh” 66
5.1.4.14 Đặc tả use case “Ẩn/Hiện phụ đề tiếng Việt” 67
5.1.4.15 Đặc tả use case “Đóng góp/chỉnh sửa lời dịch” 68
5.1.4.16 Đặc tả use case “Báo sai” .69
5.1.4.17 Đặc tả use case “Thích bài hát” 70
5.1.4.18 Đặc tả use case “Chọn từ đúng” 71
5.1.4.19 Đặc tả use case “Sắp xếp lại câu” 72
5.1.4.20 Đặc tả use case “Hát theo lời” 74 5.1.4.21 Đặc tả use case “Bỏ yêu thích” 76 Giao diện ứng dụng 77 5.2.1 Danh
Trang 16sách các màn hình 77 5.2.2 Mô tả các màn
hình 77 5.2.2.1 Màn hình Loading 77 5.2.2.2 Màn hình Home 78 5.2.2.3 Màn hình Listen 81 5.2.2.4 Màn hình Contribute 84 5.2.2.5 Màn hình Report 85 5.2.2.6 Màn hình Choose Word 86 5.2.2.7 Màn hình Rearrange Sentence 87 5.2.2.8 Màn hình Sing Follow Lyric 89 Chư ng 6 K T LU N VÀ HẾT LUẬN VÀ HƯỚNG ẬN VÀ HƯỚNG ƯỚNGNG
PHÁT TRI N 90 K tết
lu n 90 Hướngng
phát tri n 90
DANH MỤC HÌNH Hình 2.1: Ứng dụng Learn English with Song Lyrics 4
Hình 2.2: Ứng dụng Lời Dịch Bài Hát Tiếng Anh .6
Hình 2.3: Ứng dụng Học tiếng anh quan Video, bài hát, phim và bản tin 7
Hình 2.4: Ứng dụng Learn English with Song Lyric & Free Music Videos 8
Hình 2.5: Ứng dụng Learn English through Song Lyric .10
Hình 2.6: Ứng dụng Học Tiếng Anh qua Bài Hát 11
Hình 2.7: Ứng dụng eJOY Học tiếng Anh qua Video và Game 12
Hình 2.8: Ứng dụng Lean English with Music .14
Hình 2.9: Ứng dụng Learn English with Music Olalla .15
Hình 2.10: Ứng dụng Aprender Ingles gratis con musica – Sounter 16
Hình 2.11: Ứng dụng Learn Languages with Music 18
Hình 2.12: Ứng dụng TMusicc – Learn languages with music 19
Hình 3.1: Một chương trình Dart đơn giản 23
Hình 3.2: Cấu trúc của flutter 25
Hình 3.3: Widget trong flutter 25
Hình 3.4: Thiết lập tập tin app.js 28
Hình 3.5: Khởi động server 28
Trang 17Hình 3.6: Thêm Middleware Body Parsing 29
Hình 3.7: Sơ lược API 30
Hình 3.8: định dạng dữ liệu JSON 33
Hình 3.9: Mô tả Client gửi request đến Server 34
Hình 3.10: Mongoose 39
Hình 4.1: S đ l p 41ớng Hình 4.2: Lấy thông tin danh sách bài hát .44
Hình 4.3: Lấy thông tin bài hát 44
Hình 4.4: Cập nhật lượt xem bài hát 45
Hình 4.5: Cập nhật lượt yêu thích bài hát 46
Hình 4.6: Cập nhật thông tin bài hát 47
Hình 4.7: Cập nhật thông tin lời bài hát 48
Hình 4.8: Cập nhật thêm thời gian bắt đầu cho lời bái hát 49
Hình 4.9: Cập nhật trừ bớt thời gian bắt đầu cho lời bái hát 50
Hình 5.1: Sơ đồ use case tổng quát .51
Hình 5.2: Sequence diagram “Xem danh sách bài hát” .54
Hình 5.3: Sequence diagram “Đổi chế độ dark mode” .55
Hình 5.4: Sequence diagram “Đổi giao diện” .56
Hình 5.5: Sequence diagram “Đổi ngôn ngữ” 57
Hình 5.6: Sequence diagram “Chia sẻ ứng dụng” 58
Hình 5.7: Sequence diagram “Phát video bài hát” 59
Hình 5.8: Sequence diagram “Thêm bài hát yêu thích” 60
Hình 5.9: Sequence diagram “Hiển thị phụ đề” 61
Hình 5.10: Sequence diagram “Tra từ điển” 62
Hình 5.11: Sequence diagram “Phát âm” 63
Hình 5.12: Sequence diagram “Thêm từ yêu thích” 64
Hình 5.13: Sequence diagram “Chọn câu hát để nghe” .65
Hình 5.14: Sequence diagram “Ẩn/Hiện phụ đề tiếng Việt” 66
Hình 5.15: Sequence diagram “Ẩn/Hiện phụ đề tiếng Việt” 67
Hình 5.16: Sequence diagram “Đóng góp/Chỉnh sửa lời dịch” 68
Hình 5.17: Sequence diagram “Báo sai” .69
Hình 5.18: Sequence diagram “Thích bài hát” 70
Hình 5.19: Sequence diagram “Chọn từ đúng” 72
Hình 5.20: Sequence diagram “Sắp xếp lại câu” 74
Trang 18Hình 5.21: Sequence diagram “Hát theo lời” .75
Hình 5.22: Sequence diagram “Bỏ yêu thích” 76
Hình 5.23: Màn hình loading với chế độ bình thường và dark mode 78
Hình 5.24: Tab Musics với chế độ thường và dark mode .79
Hình 5.25: Tab Favorites với chế độ thường và dark mode 80
Hình 5.26: Tab Profile với chế độ thường và dark mode 81
Hình 5.27: Màn hình Listen với chế độ thường và dark mode 82
Hình 5.28: Màn hình listen với tính năng tra từ điển 83
Hình 5.29: Menu ch n trò ch i ch đ thết ộ thường và dark mode 84 ường và dark mode 84ng và dark mode 84
Hình 5.30: Màn hình Contribute v i ch đ thớng ết ộ thường và dark mode 84 ường và dark mode 84ng và dark mode 85
Hình 5.31: Màn hình Report v i ch đ thớng ết ộ thường và dark mode 84 ường và dark mode 84ng và dark mode 86
Hình 5.32: Màn hình Choose Word v i ch đ thớng ết ộ thường và dark mode 84 ường và dark mode 84ng và dark mode 87
Hình 5.33: Màn hình Rearrange Sentence v i ch đ thớng ết ộ thường và dark mode 84 ường và dark mode 84ng và dark mode 88
Hình 5.34: Màn hình Sing Follow Lyric v i ch đ thớng ết ộ thường và dark mode 84 ường và dark mode 84ng và dark mode 89
DANH MỤC BẢNG Bảng 4.1: Lớp Songs 42
Bảng 4.2: Lớp lyrics 43
Bảng 5.1: Danh sách actor 51
Bảng 5.2: Danh sách use case .54
Bảng 5.3: Đặc tả use case “Xem danh sách bài hát” 54
Bảng 5.4: Đặc tả use case “đổi chế độ dark mode” 55
Bảng 5.5: Đặc tả use case “Đổi giao diện” 56
Bảng 5.6: 5.6: Đặc tả use case “Đổi ngôn ngữ” 57
Bảng 5.7: Đặc tả use case “Đổi ngôn ngữ” .58
Bảng 5.8: Đặc tả use case “Phát Video bài hát” .59
Bảng 5.9: Đặc tả use case “Thêm bài hát yêu thích” 60
Bảng 5.10: Đặc tả use case “Hiển thị phụ đề” 61
Bảng 5.11: Đặc tả use case “Tra từ điển” .62
Bảng 5.12: Đặc tả use case “Đổi ngôn ngữ” 63
Bảng 5.13: Đặc tả use case “Thêm từ yêu thích” .64
Bảng 5.14: Đặc tả use case “Chọn câu hát để nghe” 65
Bảng 5.15: Đặc tả use case “Ẩn/Hiện phụ đề tiếng Anh” 66
Bảng 5.16: Đặc tả use case “Ẩn/Hiện phụ đề tiếng Việt” .67
Trang 19Bảng 5.17: Đặc tả use case “Đóng góp/Chỉnh sửa lời dịch” 68
Bảng 5.18: Đặc tả use case “Báo sai” 69
Bảng 5.19: Đặc tả use case “Thích bài hát” .70
Bảng 5.20: Đặc tả use case “Chọn từ đúng” .71
Bảng 5.21: Đặc tả use case “Sắp xếp lại câu” .73
Bảng 5.22: Đặc tả use case “Hát theo lời” 75
Bảng 5.23: Đặc tả use case “Bỏ yêu thích” .76
Bảng 5.24: Danh sách các màn hình 77
DANH MỤC TỪ VIẾT TẮT
UI User interface – Giao diện
người dùng
API Application Programing Interface
– giao diện lập trình ứng dụng
AOT Ahead Of Time – Biên dịch từ
đầu đến cuối
JIT Just In Time – Viết đến đâu
biên dịch ngay tới đó
RDBMS Relational Database Management
System - Hệ quản trị cơ sở dữ liệu quan hệ
Trang 20TÓM TẮT KHÓA LUẬN
Trong khóa luận này, chúng em tìm hiểu các ứng dụng hiện có trên thị trường đểđưa ra những chức năng phù hợp với người dùng đồng thời cải tiến, thêm vào một sốtính năng mới Vận dụng các kiến thức đã học: phân tích, thiết kế, xây dựng, … để làm
đề tài khóa luận này Nghiên cứu, tìm hiểu, học hỏi công nghệ mới là Flutter và sửdụng nó để xây dựng ứng dụng trên nền tảng mobile
1
Trang 21Chương 1 MỞ ĐẦU
Lý do chọn đề tài
Tiếng anh là ngôn ngữ phổ biến và được sử dụng nhiều nhất trên thế giới nên nóđược xem như là ngôn ngữ chung của thế giới, dễ dàng xóa bỏ mọi rào cản ngôn ngữ.Rất nhiều tài liệu, kiến thức giá trị đều được lưu lại bằng tiếng anh Vì vậy học tiếnganh đem lại lợi ích rất lớn Hiện có rất nhiều phương pháp học tiếng anh được sáng tạonhư: đọc báo tiếng anh, xem phim tiếng anh, ra công viên chỉ đường cho người nướcngoài, … và nhiều phương pháp khác nhằm mục đích giúp người học dễ dàng tiếp cận,hiểu nhanh và đặc biệt không gây dễ nhàm chán, dễ bỏ cuộc như các phương pháptruyền thống
Hiện nay, công nghệ đang phát triển mạnh mẽ kéo theo các thiết bị công nghệ ngày càng nhỏ gọn và thông minh hơn trong số đó có điện thoại di động Hầu như hiện nay ai cũng dễ dàng sở hữu cho mình một chiếc điện thoại di động vì những lợi ích nó mang lại như sự nhỏ gọn, tiện lợi, giá thành rẻ, dễ lưu trữ thông tin, dễ cập nhật tin tức,
dễ liên lạc, giao tiếp với người khác, … Vậy nên điện thoại di động trở nên cực kì phổ biến và hữu ích Chính vì vậy, áp dụng công nghệ cho việc học tiếng anh là phương pháp hiệu quả
Âm nhạc là thứ làm cho con người trở nên sống động, là thứ để con người biểu lộcảm xúc Âm nhạc có rất nhiều loại phù hợp chọ mọi lứa tuổi nên hầu hết chúng ta aicũng thích âm nhạc và âm nhạc không làm ta nhàm chán Vậy nên việc học tiếng anhbằng âm nhạc là một phương pháp hiệu quả
Kết hợp hai yếu tố trên là công nghệ và âm nhạc vào việc học tiếng anh sẽ là
phương pháp sáng tạo và đạt hiệu quả cao Vậy nên chúng em chọn xây dựng ‘ứng dụng hỗ trợ học tiếng anh qua lời bài hát’ làm đề tài khóa luận
Mục tiêu
• Tìm hiểu và áp dụng công nghệ mới
• Xây dựng ứng dụng hỗ trợ học tiếng anh qua bài hát
2
Đối tượng
Tất cả mọi người đều có thể sử dụng ứng dụng Đặc biệt là những người
đang có nhu cầu học tiếng anh
Trang 22Phân tích các ứng dụng trong nước đã có
2.1.1 Ứng dụng Learn English with Song Lyrics
• Mô tả chung
Trang 23Ứng dụng Learn English with Song Lyrics được phát triển bởi Tan Pham Ứng dụng có số lượt tải lớn với hơn 100.000 lượt tải Và có lượt đánh giá khá cao 4.2 trêntổng số 822 lượt đánh giá
Hình 2.1: Ứng dụng Learn English with Song Lyrics
- Xem video và hiển thị lời bài hát
- Ghi âm lời nói của người dùng
• Nhận xét
Ứng dụng được xây dựng với giao diện đơn giản, các tính năng không quá phức tạp Nhưng ứng dụng còn nhiều hạn chế Các icon không đồng đều Số lượng bài hát ít, chưa được cập nhật thường xuyên
Trang 242.1.2 Ứng dụng Lời Dịch Bài Hát Tiếng Anh
• Mô tả chung
Ứng dụng Lời Dịch Bài Hát Tiếng Anh được phát triển bởi lovelygroup Ứngdụng được phát hành vào ngày 12/02/2015 Cho tới nay đã đạt được hơn 100.000lượt tải xuống Có số sao là 4.0 trên tổng số 1.214 lượt đánh giá
Trang 25Hình 2.2: Ứng dụng Lời Dịch Bài Hát Tiếng Anh
• Nhận xét
Ứng dụng có giao diện đơn giản, dễ sử dụng Vì ứng dụng được xây dựng từ năm
2015 nên có kho dữ liệu nhạc lớn Nhưng còn nhiều hạn chế Ứng dụng thiên về việc quản lý nhạc nhiều hơn là hỗ trợ học tiếng anh Chính vì vậy mà ứng dụng thừa rất nhiều chức năng Nhưng nhìn chung ứng dụng cũng đáp ứng được hai tiêu chí là nghenhạc và học tiếng anh
2.1.3 Ứng dụng Học tiếng anh qua Video, bài hát, phim và bản tin
Trang 26Hình 2.3: Ứng dụng Học tiếng anh quan Video, bài hát, phim và bản tin
• Các chức năng
- Xem video, hiển thị sub của video
- Chọn từ bất kì từ phần sub để tra nghĩa của từ
- Quản lý từ sau khi được thêm vào danh sách từ cần học sau khi tra xong -
Có các chế độ hiển thị sub: Chỉ nghe, song ngữ, tiếng Anh, tiếng Việt - Có lời
chỉ dẫn
- Phát âm từ sau khi thêm vào danh mục từ cần học
- Chọn từ cho đúng lời sub
• Nhận xét
7 Ứng dụng có giao diện đẹp mắt, chủ yếu tập trung vào trải nghiệm người dùng là chính Về hiệu năng thì còn nhiều hạn chế vì Video load rất chậm và còn lỗi nhiều
2.1.4 Ứng dụng Learn English with Song Lyrics & Free Music Videos
• Mô tả chung
Ứng dụng Learn English with Song Lyrics & Free Music Videos được phát triểnbởi Nguyễn Hồ Bá Hải Ứng dụng được phát hành vào ngày 15/04/2018 với số lượt tảitrên 100.000 Có số sao là 3.9 trên tổng số 149 lượt đánh giá
Trang 27Hình 2.4: Ứng dụng Learn English with Song Lyric & Free Music Videos
Trang 28• Mô tả chung
Ứng dụng Learn English through Song Lyric được phát triển bởi Pham Thi Lien, được phát hành vào ngày 16/02/2020 Hiện có trên 10.000 lượt tải Ứng dụng hiện đang có 4.5 sao bởi 67 lượt đánh giá
• Các chức năng
- Phân loại bài hát theo danh mục
- Quản lý danh mục ưa thích
- Chia sẻ bài nhạc
- Hiển thị sub dưới video
- Ghi âm lời
• Nhận xét
Ứng dụng được xây dựng với giao diện đơn giản, các tính năng không quá phức tạp Nhưng ứng dụng còn nhiều hạn chế Các icon không đồng đều Số lượng bài hát ít, chưa được cập nhật thường xuyên
9
Hình 2.5: Ứng dụng Learn English through Song Lyric
2.1.6 Ứng dụng Học Tiếng Anh qua Bài Hát
Trang 29• Mô tả chung
Ứng dụng Học Tiếng Anh qua Bài Hát được phát triển bởi Ngan Ngan Được phát hành vào ngày 21/09/2018 Đến nay, ứng dụng đã đạt hơn 100.000 lượt tải Ứng dụng được đánh giá 4.6 sao trên tổng số 5.290 lượt đánh giá
10
Hình 2.6: Ứng dụng Học Tiếng Anh qua Bài Hát
• Các chức năng
- Xem video bài hát với các tùy chọn xem sub: Anh-Việt, chỉ sub Anh, chỉ sub
Việt hoặc ẩn sub
- Nghe lặp lại một câu hát
- Hiển thị phiên âm của câu hát
- Chơi mini game: chọn từ, xắp sếp câu
Trang 30- Phân loại bài hát
và được đánh giá 4.0 sao bởi 1.064 lượt
Hình 2.7: Ứng dụng eJOY Học tiếng Anh qua Video và Game
• Các chức năng
Trang 3112
- Quản lý người dùng
- Tích điểm khi chơi mini game
- Sắp xếp video theo các danh mục rõ ràng
- Thống kê và đề ra các mục tiêu cho người học
- Phân loại từ theo các mức độ
- Phụ đề kèm video
- Điều chỉnh được kích thước, mắc sắc của chữ
- Điều chỉnh tốc độ của video
- Xây dựng nhiều trò chơi: Word Root, Synonym, Grammar, PhotoWord,
Homophone
• Nhận xét
Ứng dụng được đầu tư kĩ lương, có chiến dịch quảng cáo Giao diện người dùng bắt mắt, đẹp Chức năng có đủ nhưng có một số chức năng không cần thiết vàtạo cảm giác bối rối cho người dùng Vì ứng dụng chạy nhiều tính năng cùng lúc nên gây chậm, giật cho những máy có cấu hình thấp Ứng dụng tập trung chủ yếu vào từ vựng là chính
Phân tích các ứng dụng nước ngoài
2.2.1 Ứng dụng Learn English with Music
• Mô tả chung
Ứng dụng Learn English with Music được phát triển bởi Paolo Vinci Được phát hành vào ngày 8/02/2015 Đến nay, ứng dụng đã đạt được hơn 500.000 lượt tải Có số sao 4.0 trên tổng số 9.928 lượt đánh giá
• Các chức năng
- Tìm kiếm bài hát
- Truy cập bộ nhớ máy để hiển thị các file nhạc
- Hiển thị sub khi phát nhạc
- Tra từ trong sub theo mọi thứ tiếng
- Thay đổi kích thước chữ sub
13
Trang 32Hình 2.8: Ứng dụng Lean English with Music
• Nhận xét
Ứng dụng có giao diện đơn giản, không chú trọng vào trải nghiệm người dùng nhưng số lượng bài không nhiều, chủ yếu nghe nhạc là chính Chỉ có phần sub bằng tiếng anh được hiển thị Có thể dịch từ trong phần sub tiếng anh thành bất kì ngôn ngữ nào khác, chất lượng bài nhạc khá tốt
2.2.2 Ứng dụng Learn English with Music Olalla
• Mô tả chung
Ứng dụng Learn English with Music Olalla được phát triển bởi Olalla Inc.Được phát hành ngày 22 tháng 2/2019 Đến nay ứng dụng đã được hơn 5.000lượt tải xuống và có số sao là 4.0 trên tổng số 42 lượt đánh giá
14
Trang 33Hình 2.9: Ứng dụng Learn English with Music Olalla
- Phần sub được phân thành các câu riêng, sub chạy theo lời nhạc -
Lấy một số từ trong bài hát để hiển thị phần từ vựng
• Nhận xét
Ứng dụng có giao diện ban đầu đẹp mắt, chức năng rất đơn giản nên tạo cảm giác làm cho có Ứng dụng đã ra mắt được nhưng bộ dữ liệu nhạc vẫn còn ít
15 Phần từ vựng ứng dụng lấy ra ngẫu nhiên một số từ nhất định trong phần sub và cóthể dịch ra được thành ngôn ngữ bất kì
2.2.3 Ứng dụng Aprender Ingles gratis con musica – Sounter
• Mô tả chung