Người ta học và sử dụng tiếng Anh với nhiều mục đích khác nhau, dé đáp ứng nhu cau giao tiếp ngày càng lớn trong xã hội, dé kiếm được công việc tốt hơn, thăng tiễn trong sự nghiệp hay dé
Trang 1HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN I
Trang 2HỌC VIEN CÔNG NGHỆ BƯU CHÍNH VIỄN THONG
KHOA CÔNG NGHỆ THÔNG TIN I
Trang 3ĐÔ ÁN TOT NGHIỆP
LỜI CẢM ƠN
Trong quá trình thực hiện đô án, đê có được kêt quả như ngày hôm nay, em đã nhận được sự giúp đỡ, quan tâm, động viên từ thây cô, bô mẹ và bạn bè Và qua đây,
em muôn được gửi lời cảm ơn tới tât cả mọi người.
Đầu tiên, em xin bày tỏ lời cảm ơn sâu sắc tới cô TS Đào Thị Thúy Quỳnh —
Giảng viên Khoa Công nghệ thông tin I — Học viện Công nghệ Bưu chính Viễn thông
đã tận tình chỉ bảo, hướng dẫn, hỗ trợ em trong suốt quá trình thực hiện đồ án
Em cũng xin chân thành cảm ơn các thầy cô trong Học viện Công nghệ Bưu
chính Viễn thông, đặc biệt là thầy cô Khoa Công nghệ thông tin I đã tận tâm dạy dỗ,
truyền đạt rất nhiều cho em trong suốt quá trình học tập và rèn luyện tại Học viện, giúp
em trau đồi tư duy và kỹ năng và kiến thức sẽ là hành trang giúp em tự tin hơn trong
công việc, cuộc sông và những mục tiêu trong tương lai
Cuối cùng em xin phép gửi lời cảm ơn tới gia đình, bạn bè, đã luôn giúp đỡ,quan tâm, động viên em trong suốt quá trình học tập, nghiên cứu và hoàn thành đồ ántốt nghiệp
Em xin chân thành cảm ơn!
Hà Nội, tháng 12 năm 2021
Nguyễn Phú Thịnh
NGUYEN PHU THỊNH - B17DCCN578
Trang 4ĐÔ ÁN TOT NGHIỆP
NHAN XÉT, DANH GIA, CHO DIEM
(Của giáo viên hướng dẫn)
Giáo viên hướng dan
TS ĐÀO THỊ THÚY QUỲNH
NGUYEN PHU THỊNH - B17DCCN578
Trang 5ĐÔ ÁN TOT NGHIỆP
NHAN XÉT CUA GIÁO VIÊN PHAN BIEN
Giáo viên phản biện
NGUYEN PHU THỊNH - B17DCCN578
Trang 6ĐÔ ÁN TOT NGHIỆP
MỤC LỤC
LOT CAM 80) DA Anh aaa Ả 1
DANH MỤC CÁC KÝ HIEU VÀ CHỮ VIET TẮT - 2s ©ss©s2©sse+ss©+s2 7
DANH U (0(0827.01/C1 0N NHuma 8
DANH MỤC HINH VEvecssssssssessssssessessessessssssessessessessssssesscsscsscsassasssscsscssssaesscsasesseeseesees 9
MO DAU ovecssessessesssssssessssssesssssssssuessscssessscssscsssssscssscsucesscsuessscsassucssscanessscsaecaneesseeseessees H
CHUONG 1: GIỚI THIỆU VE UNG DỤNG HỌC TIENG ANH - 13
1.1 GIỚI THIEU CHUNG 2-5 52222 se se EssSssEssesserserserssessesse 13
1.1.1 Bài toán về nhu cầu học tiếng Anh -s- << se csessessesesecse 131.1.2 Một số ứng dụng học tiếng Anh hiện nay . -s-sccsscss5ssess 13
1.1.3 Giải pháp và mục tiêu cần đạt được -s s-sccsecsecssessess 171.2 GIỚI THIỆU NODEJS PLATFORM . 2 s<©csecssevssesserssesse 18
1.2.1 NÑode,JS là gi? 0-5 s9 9 TH 09.09 000000008096 18
1.2.2 Ưu điểm của Node.JS -s-s<csssvsvssevseevsersserserssersserssrse 19
1.2.3 Nhược điểm của NodedS -scscscsscsscssessrssrsssrssrssrssrssese 20
1.4.2 Ưu điểm của ReaetJS -sc<ccscsserserssrssrssrssrrsersrrssrssrssrssese 25
1.4.3 Nhược điểm của ReactIS -s-scscscsscssssserserserserssrssrssese 251.5 KET LUẬN CHƯNG -.s-s- 5£ se s2 ©ss£ss£EseEseEssESsExsExserserserssrssesse 25
CHUONG 2: PHAN TÍCH VA THIẾT KE HE THONG UNG DỤNG HOC TIENG
ANH THONG MINH - ENGLISHLEARN scssessssssssssesssesssessecssesscssesssesssessesssesssesseess 27
2.1 GIỚI THIEU HE THONG .- s2 2s s2 ssss£ssesseEseEssessessessse 27
Trang 7ĐÔ ÁN TOT NGHIỆP
2.2 BIEU DO USE,CA SE, -5°e°©©++s©EE+deEEE+AeEEEAASEEEkAeerrkrerrkerrrkee 28
2.2.1 Danh sách Ca USECASE - 0 5s 9 0 00096 060 28
2.2.2 Sơ đồ usecase tổng quát . s- se se ©ss©ssesseEseEsstsstssesserserserssrssesse 29
2.2.3 Biểu đồ usecase chỉ tiẾ( -s-ceskeserkkstrkktrkkerkketrkserkserkke 30
2.3 KICH BAN CHUAN VÀ NGOẠI LLỆ -. -s-s- se se ©ss©ssessessessss 36
2.3.1 Usecase đăng Ky co cọ ọ H TH TH T0 00090004 36 2.3.2 Usecase đăng nhập d- <5 s 9 9.4.9 90.0 0H TY 004000406968096 36
2.3.3 Usecase tra từ điỄn -s-csccsccserseresrestkstrserserssrasrksrtsrrssrssrssrssssse 37
2.3.4 Usecase học từ vựng “TÍO E ÍC << 5 s s9 9 999 09 00000960 8 38
2.3.5 Usecase học câu giao tiẾp -scsscsscesceserssrserssresrsstrserssrssrssrssssse 38
2.3.6 Usecase học từ vựng EllaslCaFCỈ << 5< 5S 9S 99.96 89968996886 39 2.3.7 Usecase tra ngữ phiấp o- << G sọ 9 9 lọ g0 0 009.0809806 40
2.3.8 Usecase tra động từ bất quy (ắC -s-scsccssesersrsssssessrsserssrsee 41
2.3.9 Usecase luyện fậẬpD d- ó5 s9 9 9 0 0 0 000 00908800968096 41 2.3.10 Usecase Lưu từ yêu thich co <5 55 s9 HH 0060896 42 2.3.11 Usecase translate 5-5 < 5 << 9 HH 09.0006 86086 860 43 2.3.12 Usecase đóng ØÓD o- G0 ọ Họ ụ nọ cọ l0 00.00 8098 06 44
2.4 BIEU DO LỚP PHAN TÍCH - 2° s°E+sseervxeerrxsserorre 45
2.5 THIẾT KE CƠ SỞ DU LIỆU -< 2s s2 s2 ssss£ssesseEssessessessse 45
2.6 BIEU DO TUẦN TỰ CHO CÁC CHỨC NĂNG -s-s°-scsses 48
2.6.1 Usecase tra từ điỂn, từ VỰng -s- s-css<cscsessessessvsersersessessssersee 48
2.6.2 Usecase học câu giao tiẾp -scss se cescsserssrserssresrssrrserssrssrssrssrrse 49
2.6.3 Usecase tra ngữ pháp d ó5 s9 9.9 TH 000060006 00 50 2.6.4 Usecase luyện (ẬD << << HH HH In 000010 50 2.6.5 Usecase ẦTATISÏ/AÝC - GG- GS Ọ Họ cọ 00000006008 51
3.1.1 Môi trường thử nghiệm và cai đặt ứng dụng -.-s- <5 «se 54
3.1.2 Kết nối MongoDB Atlas với Nodejs SerYer- -s sscsscsscssesse 54
3.2 GIAO DIEN UNG DỤNG es-ss©csessersstrseresersetrserseersersserssse 56
3.3 KET LUẬN CHƯƠNGG 5< 5< se se ssevssEssEssEeerssrtsrrssrssrssrssrssee 62
KET LUAN SA neanaaunu ÔÒ 63
NGUYEN PHU THỊNH - B17DCCN578
Trang 8ĐÔ ÁN TOT NGHIỆP
TÀI LIEU THAM KHẢ O 2- 2< 5< ©ẻ£Sẻ£Se£EE£EE£EESE+EEEEeExetketkerrsrrerrerrssree
NGUYEN PHU THỊNH - B17DCCN578
Trang 9ĐÔ ÁN TOT NGHIỆP
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIET TAT
ACID: Atomicity - Consistency - Isolation
- Durability
Tính nguyên tố nhất quán cô lập
-bền vững
noSQL: not only Structured Query
Language Ngôn ngữ truy van phi cau trúc
RDBMS: Relational Database
mạng Internet.
HTML: HyperText Markup Language Một ngôn ngữ đánh dâu được thiết kế
dé tạo ra các trang web.
các tài liệu viét băng ngôn ngữ HTML
và XHTML.
trên Internet.
NGUYEN PHU THỊNH - B17DCCN578
Trang 10ĐÔ ÁN TOT NGHIỆP
DANH MỤC BANG
Bang 1.1 So sanh SQL v6i nOSQL 01 24
Bang 2.1: Danh sách các uS€C8S€ - - cà 1H TH ng ng HH HH re 29 Bảng 2.2: Kịch ban usecase đăng Ky -. nnSnn SH HH HH HH ng nh gưky 36 Bang 2.3: Kịch ban usecase đăng nhập - (119v ng ngư 37
Bang 2.4: Kịch ban usecase tra từ điễn -¿- 2-5 ©sSx+E2 2E EEEEEE121121 2111111 cyeeg 38
Bang 2.5: Kịch ban usecase hoc từ vựng TOIEÍC - - 5 5 3xx sksseeeeeseree 38
Bang 2.6: Kịch ban usecase học câu giao tiẾp 2- 5-52 S22c2E2EEeEEeEEerkrrxerkrred 39
Bảng 2.7: Kịch bản usecase học từ vựng Flashcard - - - se ksssekkseeseeeske 40
Bang 2.9: Kịch ban usecase tra động từ bất quy tC eececeecesceseesessesseseseesessesseseseeees 41
Bang 2.10: Kịch ban usecase luyện tap - - S3 3+ 3S ng ng 42 Bang 2.11: Kịch bản usecase lưu từ yêu thích - 5 55 + + Eeeeeskesrrsereree 43 Bảng 2.12: Kịch ban usecase trarISÌÏAf - - - c3 2 3221111311 11911 1 9111 8111 8111 1 ng re 44 Bang 2.13: Kịch bản usecase đóng ØÓT - Ác 2c 1911191191 HH ng ng ke, 45
Bang 2.14: Lược đồ cơ sở dữ liỆu -2- 5£ £+S£2EE9EE£EEEEEEEEEEE2E127171 7121222 re 48
NGUYEN PHU THỊNH - B17DCCN578
Trang 11ĐÔ ÁN TOT NGHIỆP
DANH MỤC HÌNH VE
Hình 1.1: Giao diện ứng dụng Duolingo 2G 5 2221133311191 1 E9 1E1EEkkessrre 14
Hình 1.2: Giao diện ứng dụng MermrIse - - - + + SE nghiệt 15
Hình 1.3: Giao diện ứng dụng Từ điển TFlat 2- 22 5 ©5++2x22+v£x+2zxzzeersrs 16
Hình 1.4: Giao diện ứng dụng Busuu G6 6S E211 E91 9111k kg hp 17
Hình 1.5: Mô tả các thành phần quan trọng của Node.js 2-5 522522 s22: 19
Hình 1.6: Mô tả cách lưu trữ dữ liệu trong MongolD - - -s-csccccsscrsseeeeessee 21
Hình 2.1: Biểu đồ usecase tong quát - 2 2-52 2E EEEEE 2112212121 re 30
Hình 2.2: Biểu đồ chỉ tiết usecase đăng ký - 2-52 2E EEEeEErrrrrrrrrred 30Hình 2.3: Biểu đỗ chỉ tiết usecase đăng nhập 2¿- 5: ©52+2x22xvzxezxrrrxersree 30Hình 2.4: Biểu đồ chỉ tiết usecase tra từ điỂn :-5¿©5¿25++2+ExeExerxrkerrserrrred 31Hình 2.5: Biểu đồ chi tiết usecase học từ vựng TOEIC s-cs+sseseseeereesee 31
Hình 2.6: Biéu đỗ chỉ tiết usecase học câu giao tiẾp 2-52 s+cxscxczxzrzrsrred 32
Hình 2.7: Biểu đồ chi tiết usecase học từ vựng Flashcard - « ««++<++ex+ses 32Hình 2.8: Biểu đồ chi tiết usecase tra ngữ pháp - ¿+ ++c++xzkerxerxersrrerrees 33Hình 2.9: Biểu đồ chi tiết usecase tra động từ bất quy tắc -:-ce+cz+cec: 33Hình 2.10: Biéu đồ chi tiết usecase luyện tập -2-5¿+522c+2E2EEeEEerErrrrxrrkrred 34Hình 2.11: Biểu đồ chi tiết usecase lưu từ yêu thích -. ¿-2cs++cx+2s+ecsz+ 34Hình 2.12: Biểu đồ chi tiết usecase transÏate s- 5c 5c +S¿+S++£££xeExerxzxerrxsrxrred 35Hình 2.13: Biểu đồ chi tiết usecase đóng góp - 2-52 cSE+St‡EE2E2EeEEeEEeErrerreei 35Hình 2.14: Biéu đồ lớp phân tích toàn hệ thống - 2 2 22 ++£E+zE£z£z+£+zzxze: 45Hình 2.15: Biéu đồ tuần tự Tra từ điền, từ VỰN HH kệ 49Hình 2.16: Biểu đồ tuần tự Học câu giao tiẾp -¿ 5¿©5¿c++2c+vcxerxrsrxersree 49Hình 2.17: Biéu đồ tuần tự Tra ngữ pháp ¿+ 2 2 2+E++E£EE£EE2EEEerEerkerkrrerrees 50
Hình 2.18: Biểu đồ tuần tự Luyện tap - ¿52 ©E+2E2E2 2 E2 EEEEeEErrkrrrrrrrred 51
Hình 2.19: Biểu đồ tuần tự Translate c:5c+t 2tr 5IHình 2.20: Biểu đồ tuần tự Đóng gÓ - 2-52 St E22 2E 1212112112121 1 tyeeU 52
Hình 2.21: Biểu đồ lớp thiết kẾ 2-2 + £+E£+EE+EE£EEEEEEEEEEEE2EEEEXEEEEEEEEEEErrrrred 53
Hình 3.1: Giao diện tra từ điỀn cc: 2tv tt tre 57Hình 3.2: Giao diện học câu giao ti€p cecceccecceessssseseessesessessesestesessessesseseesessesseseseses 58
Hình 3.3: Giao diện từ vựng FlashCarr - - 5 113111311113 11 9 11 9111 vn re 59 Hình 3.4: Giao diện học ngữ phấp - ¿+ E111 11H nhiệt 59
NGUYEN PHU THỊNH - B17DCCN578
Trang 12ĐÔ ÁN TOT NGHIỆP
Hình 3.6: Giao diện 'TransÏafe - - c c1 1 2222210111111 1192211 111111199011 11kg 11 ket
Hình 3.7: Giao diện đóng BÓP - HH HH TH TH HH nh HH
NGUYEN PHU THỊNH - B17DCCN578
10
Trang 13ĐÔ ÁN TOT NGHIỆP
MỞ ĐẦU
Hiện nay, tiếng Anh được coi là ngôn ngữ phô biến nhất trên thế giới Chính vì
vậy, nhu cầu học tiếng Anh trở nên cần thiết đối với mọi người Ở Việt Nam, tiếng
Anh cũng nên rat quan trọng kế từ khi dat nước bắt đầu thực hiện chính sách mở cửahội nhập ra khu vực và quốc tế Người ta học và sử dụng tiếng Anh với nhiều mục
đích khác nhau, dé đáp ứng nhu cau giao tiếp ngày càng lớn trong xã hội, dé kiếm
được công việc tốt hơn, thăng tiễn trong sự nghiệp hay dé giành được cơ hội di du học
và sinh sống tại nước ngoài Cùng với đó là sự phát triển bùng nỗ của công nghệ trong
nhiều năm trở lại đây Do đó có thể dễ dàng tìm kiếm trên internet các công cụ hỗ trợ
học tiếng Anh phù hợp với từng độ tuôi và từng cách tiếp cận khác nhau như:
- Ứng dụng Doulingo - học tiếng Anh miễn phí
- Ung dụng học tiếng Anh giao tiếp TFlat
- Ứng dụng Memrise - Learn English - Speak English
- Ứng dụng học tiếng Anh BusuuTuy nhiên, các ứng dụng hiện nay thường chỉ tập trung và chuyên về một chứcnăng nhất định như ứng dụng ngữ pháp tiếng Anh thì chỉ có thể học ngữ pháp, ứng
dụng giao tiếp thì chỉ học phần nói, Duolingo cũng là ứng dụng mà người dùng vào
học dé ghi nhớ thường xuyên Vậy khi người ding muốn vừa tra cứu từ điển, ngữ pháp
kết hợp với ôn luyện bài tập để ghi nhớ phần lý thuyết đã học thì sẽ gặp nhiều khó
khăn Chính vì vậy, dé hỗ trợ cho người học, em đã quyết định nghiên cứu đồ án với
dé tài: "Xây dựng ứng học tiếng Anh thông minh - EnglishLearn" dé tạo thành một
ứng dụng web tích hợp đầy đủ các chức năng đáp ứng ứng nhu cầu học và luyện
Mục đích của ứng dụng là nhằm cung cấp cho người dùng một nền tảng họctiếng Anh hiệu qua, dé dang sử dụng và tạo hứng thú khi học Ứng dụng kết hợp nhiềuchức năng, học từ vựng, câu đa dạng theo chủ đề và cấp độ Ngoài ra, ứng dụng còn
giúp người dùng củng có, ghi nhớ lý thuyết đã học qua các bài ôn luyện trắc nghiệm,flash-card và đưới dạng các game giải trí Nổi bật hơn, ứng dụng còn cung cấp tính
năng "Google Translate" hỗ trợ dịch bằng cả văn bản và hình ảnh giúp người dùng có
thể tra cứu nhanh chóng và thuận tiện hơn
Cấu trúc của đồ án bao gồm 3 chương như sau:
Chương 1: Giới thiệu về ứng dụng học tiếng Anh
Chương này sẽ trình bày khái quát về nhu cầu học tiếng Anh, đưa ra một số ứng
dụng thực tế, hạn chế và đề xuất cách giải quyết Tổng quan về ứng dụng học tiếng
Anh thông minh EnglishLearn.
Trình bày về nền tảng ngôn ngữ lập trình web, NodeJS cùng một số công nghệ
khác dé xây dựng hệ thống
NGUYEN PHU THỊNH - B17DCCN578
11
Trang 14ĐÔ ÁN TOT NGHIỆP
Chương 2: Phân tích và thiết kế hệ thống ứng dụng học tiếng anh thông minh
-EnglishLearn
Chương này trình bay cụ thé quá trình phân tích, thiết kế các lớp, cơ sở dit liệu,xác định yêu cầu ứng dụng và mô tả các chức năng chính
Chương 3: Cài đặt và thử nghiệm chương trình
Chương này sẽ trình bày về quá trình thử nghiệm ứng dụng, cài đặt môi trường
và giao diện chức các chức năng của ứng dụng học tiếng Anh thông minh
EnglishLearn.
NGUYEN PHU THỊNH - B17DCCN578
12
Trang 15ĐÔ ÁN TOT NGHIỆP
CHUONG 1: GIỚI THIỆU VE UNG DUNG HỌC TIENG ANH
Chương nay sẽ giới thiệu tong quan về nhu cau học tiếng Anh, một số ứng dụng
học tiếng Anh hiện nay, các hạn chế và đề xuất hướng giải quyết, mục tiêu của ứng
dụng và trình bày sơ lược về các công nghệ được sử dụng dé xây dựng hệ thống
1.1 GIỚI THIỆU CHUNG
1.1.1 Bài toán về nhu cầu học tiếng Anh
Hiện nay, tiếng Anh chính là ngôn ngữ rất thông dụng trên toàn thế giới Vớicác bạn học sinh, sinh viên thì việc học tiếng Anh là hết sức cần thiết, vì các nhà tuyển
dụng sẽ luôn ưu tiên lựa chọn một ứng viên có khả năng sử dụng thành thạo tiếng Anh
hơn là một ứng viên chỉ biết mỗi chuyên môn Việc học một ngôn ngữ mới nói chung
và việc học Tiếng Anh nói riêng, là một thử thách không hè nhỏ, cần rất nhiều sự nỗ
lực, quyết tâm và kiên trì Các nguồn tri thức trên thế giới hầu hết được viết bằng tiếng
Anh thì việc học tiếng Anh dé tiếp cận các nguồn tri thức đó là hết sức cần thiết Hay
đơn giản như việc đọc, nghe và xem tin tức ở các báo đài nước ngoài, bạn cũng cần
phải có tiếng Anh thì mới hiểu được nội dung tin tức đó họ nói gì Học tiếng Anh sẽ
giúp bạn trở nên năng động hơn, tự tin giao tiếp hơn, được tiếp cận với nhiều nền văn
hóa khác nhau cũng như được giao lưu, kết bạn với rất nhiều bạn bè trên toàn thế giới
Theo phương pháp truyền thống, ban đầu mọi người đều học những cái cơ bản
nhất dé tiếp cận một ngôn ngữ, làm quen dan với tiếng Anh Khi đến trường, lên lớp sẽ
được học qua các bài giảng sách vở, làm bài tập trong giáo trình Cứ như vậy, học trên
lớp, về nhà làm bài tập hết sức khô khan và rất nhiều người cảm thấy chán nản vì cách
học cổ điền này Thậm chí dù có học thêm nhiều hơn nữa thì cũng chỉ là nhồi nhét
kiến thức, lâu dần không động vào sẽ quên ngay
Chính vì vậy nên có rất nhiều nghiên cứu để cho ra rất nhiều cách học tiếngAnh phù hợp cho từng đối tượng khác nhau, tiếng Anh cho người đi làm, tiếng Anh
cho học sinh tiêu học, trung học, tiếng Anh dành cho những người đi du lịch nước
ngoài
1.1.2 Một số ứng dụng học tiếng Anh hiện nay
e Những ứng dụng học tiếng Anh trên các website, smart-phone:
- Ứng dụng Duolingo: Đây là một ứng dụng học ngôn ngữ miễn phí, với hệ thốngbài tập đa dạng giúp người dùng dễ dàng tiếp thu Ứng dụng hỗ trợ học hơn 30
ngôn ngữ khác trên thế giới như: tiếng Anh, tiếng Pháp, tiếng Đức, Ứng dụng
Duolingo nỗi tiếng với giao diện bắt mắt và có các chức năng đặt mục tiêu, theo
dõi cũng như nhắc người dùng học tập, bảng xếp hạng với bạn bè
NGUYEN PHU THỊNH - B17DCCN578
13
Trang 16ĐÔ ÁN TOT NGHIỆP
- Nhược điểm: Không thé lựa chọn chủ đề từ vựng Vì người học phải hoàn thành
tất cả bài học cùng một chủ đề trong một Unit sau đó mới có thé chuyén sang chu
dé khác ở Unit sau nên người học sẽ không thê lựa chọn và học từ vựng cho chủ đề
Hình 1.1; Giao điện ứng dụng Duolingo
- App học tiếng Anh - Memrise: là ứng dụng học tiếng Anh với nguồn học liệu
phong phú, hữu ích, phù hợp với đại đa số người dùng và hoàn toàn miễn phí Hơn
1.000 video tiếng Anh với giọng của người bản địa Hơn 100 khóa học với đáp ứngnhu cầu phô biến của người học Cải thiện sức mạnh não bộ và trau dồi từ vựng
hiệu quả.
- Nhược điểm: ứng dụng chỉ tập trung chủ yêu về phan nói, phát âm và thông qua
phương tiện là video.
NGUYEN PHU THỊNH - B17DCCN578
14
Trang 17ĐÔ ÁN TOT NGHIỆP
Pick a language to learn
G7 (+) SPANISH (MEXICO)(PORTUGAL)
© PoRTUGUESE (BRAZIL) = ourcu
Hình 1.2: Giao diện ứng dung Memrise
- Ung dụng Từ điển TFlat: là ứng dụng học từ vựng khá phổ biến trên thiết bị di
động Các chức năng chính của app: tra cứu từ điển, lưu và xem từ vung đã học,
Trang 18VIỆT - ANH GHI CHỦ
Sà Luyện Nói Tiếng Anh với Mexu
@ Từ Biển Việt Anh
@Œ® Cửa Số Tra Nhanh
Biết thưởng thức âm nhac
To have a good ear for music; to have a musical ear
- Ứng dụng học tiếng Anh Busuu: được biết đến là trang mạng xã hội học tiếng Anh.
Với các bài học đều có tiêu chuân Khung tham chiếu trình độ ngôn ngữ chung của
châu Âu Ngoài ra bài học trong Busuu được xếp từ dé Beginner đến khó Advanced,
với số lượng lên đến hơn 150 chủ đề cùng hơn 3000 từ và cụm từ vựng khác nhau
- Nhược điểm: phiên bản miễn phí sẽ giới hạn ở 20 bài học và cần phải nâng cấp tài
khoản để học thêm
NGUYEN PHU THỊNH - B17DCCN578
16
Trang 19ĐÔ ÁN TOT NGHIỆP
®
2
= Hoàn thành Tiếng Anh >
Bắt đầu với trình độ tiếng Anh A1! (i) 1 phú.
O
Bài học 2: Tôi là Sara
Nói tên của bạn
Bài học 3: Các bạn có khỏe không?
Hỏi và nổi xem bạn cảm thấy như thé nào
# On tap: Giớithiệu
Hình 1.4: Giao điện ứng dụng Busuu
1.1.3 Giải pháp và mục tiêu cần đạt được
e Giải pháp
- Đề có thể khắc phục, giải quyết các vấn đề trên, trong đồ án này sẽ xây dựng
ứng dụng học tiếng anh thông minh EnglishLearn với mục đích tổng hợp các chứcnăng và khắc phục nhược điểm các ứng dụng nêu trên gặp phải Người dùng không
cần mua tài khoản hoặc mat phi dé trải nghiệm tat cả tính năng của ứng dụng Một ứng
dụng hoàn toàn miễn phi, không có quảng cáo, nguồn dit liệu tin cậy cùng với đa dangtính năng như: tra cứu từ điển, học từ vựng, ngữ pháp theo từng chủ đề, từng chuyên
ngành và cấp độ, luyện tập thông qua hệ thống bài thi trắc nghiệm, ghép từ Ngoài ra,người dùng có thé dich văn bản, dịch hình ảnh nhanh chóng trực tiếp ngay trên ứng
dụng.
e Mục tiêu
- Hiểu được các lý thuyết, khái niệm của nền tảng lập trình web (HTML5,
CSS3, Javascript), cách xây dựng một ứng dụng web sử dụng các kĩ thuật và công
nghệ cần thiết Hiểu rõ cách hoạt động của công nghệ và phân chia hợp lý trong
những yêu cầu hệ thống cụ thé
- Nắm được tổng quan về NodeJS, RESTful API và các ứng dụng của nó Hiểu
cách thức hoạt động trong mỗi service được sử dụng.
- Hiểu rõ các hệ quản tri cơ sở dữ liệu, so sánh được giữa các loại cơ sở dữ liệuSQL với noSQL Một số hệ quản trị cơ sở dit liệu phô biến như: MySQL,
Trang 20ĐÔ ÁN TOT NGHIỆP
1.2 GIỚI THIEU NODEJS PLATFORM
1.2.1 NodeJS 1a gi?
Node.js là một nền tang chạy trên môi trường V8 JavaScript runtime - một trình
thông dịch JavaScript cực nhanh chạy trên trình duyệt nhân Chromium Bình
thường thì cũng có thể tải bộ V8 và nhúng nó vào bat cứ thứ gi NodeJS làm điều
đó đối với các web server JavaScript suy cho cùng cũng chỉ là một ngôn ngữ, vậythì không có lý do gì dé nói nó không thể sử dụng trên môi trường server tốt như là
trong trình duyệt của người dùng được.
Trong một môi trường server điển hình LAMP (Linux-Apache-MySQL- PHP),
bạn có một web server là Apache hoặc NGINX nằm dưới, cùng với PHP chạy trên
nó Mỗi một kết nói tới server sẽ sinh ra một thread mới, và điều này khiến ứng
dụng nhanh chóng trở nên chậm chap hoặc quá tải - cách duy nhất dé hỗ trợ nhiều
người dùng hơn là bang cách bổ sung thêm nhiều máy chủ Don giản là nó không
có khả năng mở rộng tốt Nhưng với Node.js thì điều này không phải là van đề
Không có một máy chủ Apache lắng nghe các kết nói tới và trả về mã trạng thái
HTTP - bạn sẽ phải tự quản lý kiến trúc lõi của máy chủ đó May mắn thay, có một
số module giúp thực hiện điều này được dễ dàng hơn, nhưng công việc này vẫn gâycho bạn một chút khó khăn khi mới bắt đầu Tuy nhiên, kết quả thu được là một
ứng dụng web có tốc độ thực thi cao
JavaScript là một ngôn ngữ dựa trên sự kiện, vì vậy bất cứ thứ gì xảy ra trên
server đều tạo ra một sự kiện non-blocking Mỗi kết nối mới sinh ra một sự kiện;
dữ liệu nhận được từ một upload form sinh ra một sự kiện data-received, việc truy
vấn dữ liệu từ database cũng sinh ra một sự kiện Trong thực tế, điều này có nghĩa
là một trang web Node.js sẽ chang bao giờ bị khóa (lock up) và có thê hỗ trợ cho
hàng chục nghìn user truy cập cùng lúc Node.Js đóng vai trò của server Apache
-và thông dịch mã ứng dụng chạy trên nó Giống như Apache, có rất nhiều module
(thư viện) có thé được cài đặt dé bổ sung thêm các đặc trưng và chức năng - như
lưu trữ dir liệu, hỗ trợ file Zip, đăng nhập bằng Facebook, hoặc các công thanh
toán Dĩ nhiên, nó không có nhiều thư viện như PHP, nhưng Node.js vẫn đang ở
trong giai đoạn ban đầu và có một cộng đồng rất mạnh mẽ ở đằng sau nó
Một khái niệm cốt lõi của Node.js đó là các function bất đồng bộ (asynchronous
functions), vì vậy về cơ bản thì mọi thứ chạy trên nền tảng này Với hầu hết các
ngôn ngữ kịch bản máy chủ, chương trình phải đợi mỗi function thực thi xong
trước khi có thể tiếp tục chạy tiếp Với Node.Js, bạn xác định function sẽ chạy dé
hoàn thành một tác vụ nao đó, trong khi phan còn lai của ứng dụng van chạy đồng
thời Nó là một chủ đề : phức tạp nhưng là một trong những đặc trưng tiêu biểu của Node.js, vì vậy việc nắm vững nó là điều hết sức quan trọng.
NGUYEN PHU THỊNH - B17DCCN578
18
Trang 21ĐÔ ÁN TOT NGHIỆP
Node.js chỉ là một môi trường — điều này có nghĩa bạn tự phải làm mọi thứ Sẽchăng có bất kỳ máy chủ mặc định nào cả Một đoạn script xử lý tất cả các kết nối
với Client Điều này làm giảm đáng ké số lượng tài nguyên được sử dụng trong
ứng dụng.
Lược đồ dưới đây mô tả các thành phan quan trọng của Node.js:
1.2.2 Ưu điểm của NodeJS
Tại sao sử dụng Node.js? Dưới đây là vài đặc điểm quan trọng biến Node.js trở
thành sự lựa chọn hàng đầu trong phát triển phần mềm:
e_ Bất đồng bộ và hướng sự kiện (Event Driven): Tat các các APIs của thư viện
Node.js đều không đồng bộ, nghĩa là non-blocking (không khóa) Nó rất cần
thiết vì Node.js không bao giờ đợi một API trả về dữ liệu Server chuyền sangmột API sau khi gọi nó và có cơ chế thông báo về sự kiện của Node.js giúp
server nhận đựa phản hồi từ các API gọi trước đó
e Chạy rất nhanh: Dựa trên V8 Javascript Engine của Google Chrome, thư viện
Node.js rất nhanh trong các quá trình thực hiện code
e_ Các tiến trình đơn giản nhưng hiệu năng cao: Node.js sử dụng một mô hình
luồng đơn (single thread) với các sự kiện lặp Các cơ chế sự kiện giúp server trả
lại các phản hồi với một cách không khóa và tạo cho server hiệu quả cao ngược
NGUYEN PHU THỊNH - B17DCCN578
19
Trang 22ĐÔ ÁN TOT NGHIỆP
lại với các cách truyền thống tạo ra một số lượng luồng hữu hạn dé quan lýrequest Nodejs sử dụng các chương trình đơn luồng và các chương trình nàycung cấp các dịch vụ cho số lượng request nhiều hơn so với các server truyền
thống như Apache HTTP Server
Không đệm: Ứng dụng Node.js không lưu trữ các đữ liệu buffer
Có giấy phép: Node.js được phát hành dựa vào MIT License
1.2.3 Nhược điểm của NodeJS
Giống như hau hết các công nghệ mới, việc triển khai Node.js trên host không
phải là điều đễ dàng Nếu bạn có một web hosting xài chung, bạn không thểđơn giản tải lên một ứng dụng Node.js và mong chờ nó hoạt động tốt VPS và
dedicated server là một sự lựa chọn tốt hơn - bạn có thé cai đặt Node.Js trên
chúng Thậm chí dễ hơn là sử dụng một dịch vụ có khả năng mở rộng như là
Heroku, và bạn có thể hoàn toàn an tâm dé phát triển trang web của mình trên
đó - bạn chỉ cần trả tiền khi cần thêm nhiều tài nguyên hơn
Mặt khác, chúng ta rất dễ cài đặt Node.js chạy cục bộ trên máy tính của bạn sửdụng các hệ điều hành như Windows, Mac hoặc Linux và bắt đầu phát triển ứngdụng ngay lập tức - chỉ việc tải phiên bản Node.js tương ứng Một điều quan
trọng nên chú ý là Node.js không chi đơn giản là một sự thay thế cho Apache
-các ứng dụng web đang tồn tại sẽ không có khả năng tương thích, và bạn sẽ làm
việc hiệu quả với những ứng dụng phát triển từ đầu (mặc dù có rất nhiềuframework ngoài kia dé hỗ trợ với nhiều đặc trưng phổ biến)
1.2.4 Express Framework
Express là một framework được xây dựng trên nền tảng của Nodejs Nó cungcấp các tính năng mạnh mẽ dé phát triển web hoặc mobile Express hỗ trợ các
method HTTP và middleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng.
Các tính năng nổi bật của Express:
Thiết lập router cho phép sử dụng với các hành động khác nhau dựa trên
phương thức HTTP và URL.
Hỗ trợ xây dựng theo mô hình MVC
Cho phép định nghĩa middleware giúp tô chức và tái sử dụng code
Hỗ trợ RESTful API
1.3 HE QUAN TRI CƠ SO DU LIEU MONGODB
1.3.1 MongoDB la gi?
MongoDB là một co sở dt liệu thuộc chuẩn NoSQL, khác với những hệ
RDBMS như MySQL, PostgreSQL hay Oracle Giống như những NoSQL khác,
NGUYEN PHU THỊNH - B17DCCN578
20
Trang 23ĐÔ ÁN TOT NGHIỆP
MongoDB sẽ không dùng bảng dé lưu trữ dữ liệu, thay vào đó nó sẽ lưu dữ liệu
bằng các document riêng biệt, dữ liệu được lưu dưới dạng JSON như sau:
Hình 1.6: Mô tả cách lưu trữ dữ liệu trong MongoDB
e MongoDB là một database hướng tải liệu (document), các dữ liệu được lưu
trữ trong document kiêu JSON thay vì dang bảng như CSDL quan hệ nêntruy vấn sẽ rất nhanh
e Với CSDL quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ
(như MySQL hay SQL Server ) sử dụng các bảng dé lưu dit liệu thì với
MongoDB chúng ta sẽ dùng khái niệm là collection thay vì bảng.
e So với RDBMS thì trong MongoDB collection ứng với table, còn document
sẽ ứng với row, MongoDB sẽ dùng các document thay cho row trong RDBMS.
e Các collection trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ
liệu lưu trữ không cần tuân theo một cấu trúc nhất định
e Thông tin liên quan được lưu trữ cùng nhau dé truy cập truy van nhanh
thông qua ngôn ngữ truy vấn MongoDB
1.3.2 Ưu điểm của MongoDB
e Do MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một
collection sẽ có các kích cỡ và các document khác nhau, linh hoạt trong việc
lưu trữ dữ liệu, nên việc insert rất dễ dàng
NGUYEN PHU THỊNH - B17DCCN578
21
Trang 24ĐÔ ÁN TOT NGHIỆP
« Di liệu trong MongoDB không có sự ràng buộc lẫn nhau, không có join như
trong RDBMS nên khi insert, xóa hay update nó không cần phải mất thời giankiểm tra xem có thỏa mãn các ràng buộc dữ liệu như trong RDBMS
« MongoDB rất dé mở rộng (Horizontal Scalability) Trong MongoDB có một
khái niệm cluster là cụm các node chứa dữ liệu giao tiếp với nhau, khi muốn
mở rộng hệ thống ta chỉ cần thêm một node với vào cluster:
e Truong dữ liệu “ id” luôn được tự động đánh index (chỉ mục) để tốc độ truy
van thông tin đạt hiệu suất cao nhất
« Khi có một truy van dir liệu, bản ghi được cache lên bộ nhớ Ram, dé phuc vu
lượt truy van sau dién ra nhanh hơn mà không cần phải đọc từ 6 cứng
« _ Hiệu năng cao: Tốc độ truy van (find, update, insert, delete) của MongoDB
nhanh hon han so với các hệ quản trị cơ sở dit liệu quan hệ (RDBMS) Với một
lượng đữ liệu đủ lớn thì thử nghiệm cho thấy tốc độ insert của MongoDB có thênhanh tới gấp 100 lần so với MySQL
1.3.3 Nhược điểm của MongoDB
e Một ưu điểm của MongoDB cũng chính là nhược điểm của nó MongoDB
không có các tính chất ràng buộc như trong RDBMS nên khi thao tác với
mongoDB thì phải hết sức can thận
e Tốn bộ nhớ do đữ liệu lưu dưới dạng key-value, các collection chỉ khác về
value do đó key sẽ bị lặp lại Không hỗ trợ join nên dễ bị dư thừa dữ liệu.
e© Khi insert/update/remove bản ghi, MongoDB sẽ chưa cập nhật ngay xuống
6 cứng, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống 6 cứng điêu này sẽ là nhược điểm vì sẽ có nguy cơ bị
mất dữ liệu khi xảy ra các tình huống như mất điện
1.3.4 So sánh SQL và noSQL
Tham số SQL NoSQL
Định nghĩa Cơ sở dit liệu SQL chủ yếu được Cơ sở dữ liệu NoSQL chủ yếu được
gọi là RDBMS hoặc Cơ sở dữ liệu gọi là cơ sở dữ liệu không liên quan quan hệ hoặc phân tán
Design for RDBMS truyén thong sử dụng cú _ Hệ thống co sở dữ liệu NoSQL bao
pháp và truy vân SQL dé phân tích gồm nhiều loại công nghệ cơ sở dữ
và lay dữ liệu dé có thêm thông tin liệu khác nhau Các cơ sở dit liệu này
chi tiết Chúng được sử dụng cho được phát triển dé đáp ứng nhu cầu
các hệ thống OLAP trình bay cho sự phát triển của ứng
dụng hiện đại.
NGUYEN PHU THỊNH - B17DCCN578
22
Trang 25ĐÔ ÁN TOT NGHIỆP
Ví dụ Oracle, Postgres, and MS-SQL.
Phù hợp cho Đây là 1 lựa chọn lý tưởng cho môi
trường truy vân phức tạp
Lưu trữ dữ SQL databases không thích hợp cho
liệu phân câp việc lưu trữ dữ liệu phân cap.
Variations Một loại có biến thé nhỏ
Năm phát Nó được phát triển vào những năm
triên 1970 đê giải quyét các vân đê với
lưu trữ tệp phăng
Open-source Một sự kết hợp của mã nguồn mở
như Postgres & MySQL, và thương mại như Oracle Database.
Tính nhất Nó phải được cấu hình cho sự nhất
quán quán chặt chẽ.
Được sử dụng RDBMS database là tùy chọn thích
tot nhâtcho hợp đê giải quyết các vân dé vê
ACID.
Tam quan Nó nên được sử dung khi hiệu lực
trọng dữ liệu là siêu quan trọng
NoSQL Không có ngôn ngữ query
NoSQL databases có thé dựa trên tài
liệu, cặp khóa-giá trị, cơ sở dữ liệu biểu đồ
NoSQL databases sử dung lược đồ
động cho dt liệu phi câu trúc.
NoSQL databases có thé mo réng theo
chiéu ngang
MongoDB, Redis, , Neo4j, Cassandra,
Hbase.
Không phủ hợp với truy van phức tap
Phù hợp hơn cho kho lưu trữ dữ liệu
phân câp vì nó hô trợ phương thức cặp khóa-giá tri.
Nhiêu loại khác nhau bao gôm các kho khéa-gia tri, cơ sở dt liệu tải liệu và
cơ sở đữ liệu đô thị.
Được phát triển vào cuối những năm
2000 đê khắc phục các van dé và hạn chê cua SQL databases.
Open-source
Nó phụ thuộc vào DBMS như một sé
cung cấp tính nhất quán mạnh mẽ như
MongoDB, trong khi những người khác cung câp chỉ cung câp sự nhất quan cuôi cùng, như Cassandra.
NoSQL được sử dụng tốt nhất đề giải
quyết các vân đê về tính khả dụng của dir liệu
Sử dụng khi nó quan trọng hơn để có
dữ liệu nhanh hon dt liệu chính xác
NGUYEN PHU THỊNH - B17DCCN578
23
Trang 26ĐÔ ÁN TOT NGHIỆP
Tham số SQL NoSQL
Lua chọn tốt Khi bạn cần hỗ trợ truy vấn động Sử dụng khi bạn cần mở rộng quy mô
nhât dựa trên yêu câu thay đôi
Tính năng tốt Hỗ trợ đa nền tảng, Bảo mật và Dễ sử dụng, hiệu suất cao và công cụ
nhât miên phí linh hoạt.
Mô hình ACID (Atomicity, nhất quán, cách Cơ bản (Về cơ bản có sẵn, trạng thái
ACID và ly va độ bên) là một chuân cho mềm, phù hợp cuối cùng) là một mô
BASE RDBMS hình của nhiều hệ thống NoSQL
Performance SQL hoạt động tốt và nhanh thì việc Nhanh hơn SQL NoSQL thì
desgin tốt là cực kì quan trọng và denormalized cho phép bạn lấy được
ngược lại tất cả thông tin về một item cụ thê với
các condition mà không cần JOIN liên
quan hoặc truy van SQL phức tap
Kết luận Dự án đã có yêu cầu đữ liệu rõ ràng Phù hợp với những dự án yêu cầu đữ
xác định quan hệ logic có thể được liệu không liên quan, khó xác định, xác định trước đơn giản mềm dẻo khi đang phát triển
Bang 1.1 So sánh SQL với noSQL
1.4 GIỚI THIEU THU VIEN REACTJS
1.4.1 ReactJS là gi?
React là một thư viện UI phat triển bởi Facebook dé hỗ trợ việc xây dựng
những thành phan (components) UI có tính tương tác cao, có trạng thái và có thé sử
dụng lại được React được sử dụng tại Facebook, Instagram được viết hoàn toàn
trên React.
Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động
trên phía client, mà còn được render trên server và có thê kêt nôi với nhau React
so sánh sự thay đôi giữa các giá trị của lân render này với lân render trước vả cập
nhật ít thay đôi nhât trên DOM.
Nó cũng sử dụng khái niệm là Virtual DOM (DOM ảo) Virtual DOM tạo ra
bản cache cấu trúc đữ liệu của ứng dụng trên bộ nhớ Sau đó, ở mỗi vòng lặp, nó
liệt kê những thay đôi và sau đó là cập nhật lại sự thay đôi trên DOM của trình
duyệt một cách hiệu quả Điều này cho phép ta viết các đoạn code như thể toàn bộ
trang được render lại dù thực tế là Reactjs chi render những component hay
subcomponent nào thực sự thay đồi
NGUYEN PHU THỊNH - B17DCCN578
24
Trang 27ĐÔ ÁN TOT NGHIỆP
1.4.2 Ưu điểm của ReactJS
Reactjs giúp việc viết các đoạn code JS dé dàng hơn: Nó dung cú pháp đặc biệt
là JSX (Javascript mở rộng) cho phép ta kết hợp giữa code HTML và
Javascript Ta có thể thêm vào các đoạn HTML vào trong hàm render mà khôngcần phải nói chuỗi Đây là đặc tinh thú vị của Reactjs Nó sẽ chuyên đổi các
đoạn HTML thành các hàm khởi tạo đối tượng HTML bằng bộ biến đổi JSX
Nó có nhiều công cụ phát triển: Khi bạn bắt đầu Reactjs, đừng quên cài đặt ứng
dụng mở rộng của Chrome dành cho Reactjs Nó giúp ban debug code dé dàng
hơn Sau khi bạn cài đặt ứng dụng này, bạn sẽ có cái nhìn trực tiếp vào virtual
DOM như thé bạn đang xem cây DOM thông thường
Render tầng server: Một trong những vấn đề với các ứng dụng đơn trang là tối
ưu SEO và thời gian tai trang Nếu tat cả việc xây dựng và hiền thị trang đềuthực hiện ở client, thì người dung sẽ phải chờ cho trang được khởi tạo và hiểnthị lên Điều này thực tế là chậm Hoặc nếu giả sử người dung vô hiệu hóa
Javascript thì sao? Reactjs là một thư viện component, nó có thê vừa render ởngoài trình duyệt sử dụng DOM và cũng có thể render bằng các chuỗi HTML
mà server trả về
Làm việc với van đề test giao diện: Nó cực kì dé dé viết các test case giao dién
vi virtual DOM duoc cai dat hoan toan bang JS
Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dé dang cho
bảo trì và sửa lỗi.
1.4.3 Nhược điểm của ReactJS
Reactjs chỉ phục vụ cho tầng View React chỉ là View Library nó không phải là
một MVC framework như những framework khác Đây chỉ là thư viện của
Facebook giúp render ra phần view Vì thế React sẽ không có phần Model và
Controller, mà phải kết hợp với các thư viện khác
Tích hợp Reactjs vào các framework MVC truyền thống yêu cầu cần phải cầu
hình lại.
React khá nặng nếu so với các framework khác React có kích thước tương
tương với Angular (Khoảng 35kb so với 39kb của Angular) Trong khi đó Angular là một framework hoàn chỉnh
Khó tiếp cận cho người mới học Web
1.5 KET LUẬN CHUONG
Chương 1 đã trình bày so lược về phần mềm web "Ung dung học tiếng Anh
thông minh - EnglishLearn" Nêu rõ được bài toán về nhu cau học tiếng Anh
hiện nay, một 36 ứng dung thực tế được người dùng sử dụng và những nhược điểm
NGUYEN PHU THỊNH - B17DCCN578
25
Trang 28ĐÔ ÁN TOT NGHIỆP
còn tồn tại Đồng thời đã đưa ra hướng giải quyết cũng như các công nghệ liên
Trang 29ĐÔ ÁN TOT NGHIỆP
CHƯƠNG 2: PHAN TÍCH VÀ THIẾT KE HE THONG UNG DỤNG HỌC
TIENG ANH THONG MINH - ENGLISHLEARN
Nội dung chính cua chương:
Giới thiệu hệ thống
Biểu đồ usecase
Chỉ tiết usecaseBiểu đồ tuần tựBiểu dé lớp
LLL LL AN Thiết kế cơ sở dữ liệu
2.1 GIỚI THIỆU HỆ THÓNG
2.1.1 Mô tả hệ thống
Hệ thống được xây dựng giúp cho người có nhu cầu học tiếng anh dễ dàng tra cứu, ghi nhớ va ôn luyện tiếng Anh Hiện này, công nghệ ngày càng phát triển dẫn đến có rất nhiều nguồn thông tin, tài liệu học tiếng Anh, đôi khi người học không
thể tìm kiếm và chọn lọc phủ hợp với nhu cầu của mình Do đó việc xây dựng một
trang web đáp ứng nhu cầu học tiếng Anh đơn giản, hiệu quả, phù hợp với nhu cầu
tìm kiếm là rất cần thiết
Trang web cung cấp các tính năng cho người học có thé dé dàng tra cứu từ điển,
học từ vựng, ngữ pháp, các mẫu câu phù hợp với trình độ người học được đánh giá
thông qua bài entry-test Bên cạnh đó là hệ thống bài tập giúp người học có thé ôn
luyện để ghi nhớ những phần lý thuyết đã học, gây hứng thú trong học tập Ngoài
ra, hệ thống còn cung cấp tính năng Translate đa ngôn ngữ giúp người dùng dễ
dàng dịch nhanh chóng các từ, đoạn văn bản hay hình ảnh.
2.1.2 Mô tả chức năng
> Người dùng truy cập vào web dé tra cứu từ điển
Người dùng có thê đăng nhập, đăng ký tài khoản
Người dùng có thể học từ vựng theo các chủ đề (TOEIC)
Người dùng có thé học các câu giao tiếp thông dụngNgười dùng có thê ghi nhớ từ vựng với phương pháp Flashcard
Người dùng có thê ôn luyện lý thuyết ngữ pháp cùng các ví dụ đi kèm
Người dùng có thê tra cứu động từ bất quy tắc với phát âm trực tiếp
Người dùng có thê luyện tập củng cố kiến thức thông qua các bai tập trắc
VVVVV VV nghiém
Người dùng có thé lưu các từ yêu thích dé ghi nhớ hơn
Người dùng có thê dịch văn bản hoặc dịch hình ảnh
Người dùng có thé đóng góp thêm từ hoặc câu
VV Vv
NGUYEN PHU THỊNH - B17DCCN578
27
Trang 30ĐÔ ÁN TOT NGHIỆP
2.1.3 Yêu cầu về chất lượng hệ thống
e Tinh hiệu quả
e Tinh tương thích
e Tính tiện dụng
2.1.4 Xác định và mô tả tác nhân
Tìm kiếm nhanh và chính xácKết hợp đa dạng các chức năng
Tương thích trên tất cả các trình duyệt của các nền tảng khác nhau
Giao diện hiền thị responsive trên các loại thiết bị như smartphone,
tablet, PC
Giao diện đơn giản, dễ sử dụng.
Người dùng: là người truy cập sử dụng phần mềm ứng dụng, có thể có hoặc
không cần đăng ký tài khoản
2.2 BIEU ĐỎ USECASE
2.2.1 Danh sách các usecase
STT Tên Usecase Ý nghĩa
1 Dang ky Chức nang cho phép người dùng đăng ky tài
khoản
2 Đăng nhập Chức năng cho phép người dùng đăng nhập
vào hệ thông
3 Tra từ điên Chức năng cho phép người dùng tra từ điển
và có thé chon theo chủ đề, phân loại từ.
4 Học từ vựng TOEIC | Chức năng cho phép người dùng học các từ
vựng trong TOEIC va xem chi tiệt từ đó.
5 Học câu giao tiếp Chức năng cho người dùng học các mẫu câu
giao tiệp thông dụng, nghĩa và phát âm trực tiép của câu.
6 Học từ vựng Chức năng cho phép người dùng học từ
Flashcard vựng theo phương pháp thẻ Flashcard và ở
chê độ thư viện ảnh
7 Tra ngữ pháp Chức năng tông hợp | sô cau trúc câu trong
tiêng Anh cũng như cách sử dụng kèm với các ví dụ minh họa
8 Tra cứu bảng động từ | Chức năng cho phép người dùng tra cứu các
bất quy tắc động từ bat quy tắc và lọc theo các trường
hợp đặc biệt trong tiếng Anh
NGUYEN PHU THỊNH - B17DCCN578
28
Trang 31ĐÔ ÁN TOT NGHIỆP
củng cô qua các bài test.
sách các từ cá nhân yêu thích đê dê dàng ghi nhớ.
11 Translate Chức nang cho phép người dùng dich văn
bản hoặc hình ảnh 1 cách nhanh chóng.
thêm từ hoặc câu cho hệ thông.
Lam bai tap <<Extend>>
Xem kếtquả “~~ Xem kết quả
extension points Dịch văn bản Dịch hình ảnh
NGUYEN PHU THỊNH - B17DCCN578
29
Trang 32DO AN TOT NGHIỆP
Hình 2.1: Biéu đồ usecase tổng quát
2.2.3 Biéu đồ usecase chỉ tiết
Trang 33ĐÔ ÁN TOT NGHIỆP
e Usecase tra từ điên
me de
_ at