đồ án 1 xây dựng ứng dụng luyện toeic

71 1 0
Tài liệu đã được kiểm tra trùng lặp
đồ án 1 xây dựng ứng dụng luyện toeic

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Trang 1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

SINH VIÊN THỰC HIỆN: NGUYỄN CÁT TƯỜNG - 21521655

NGÔ THỊ BẢO LINH - 21522288

Trang 2

TP HỒ CHÍ MINH, 2023

LỜI CẢM ƠN

Chúng em xin gửi lời cảm ơn chân thành và sự tri ân đến ThS.Trần Thị Hồng Yếnđã hướng dẫn, tạo điều kiện cho nhóm em hoàn thành đồ án 1– đề tài Xây dựng ứngdụng luyện TOEIC Trong thời gian một học kỳ thực hiện đồ án, nhóm em đã học hỏithêm được nhiều kiến thức, kinh nghiệm, biết được thêm về nhiều công nghệ mới.Những nhận xét, góp ý chân tình của cô chính là cơ sở để nhóm có thể cải tiến và hoànthiện đề tài này một cách tốt nhất

Tuy nhiên, trong quá trình thực hiện đề tài, do còn thiếu kinh nghiệm trong việcxây dựng sản phẩm, nhóm có thể không tránh khỏi những thiếu sót Chính vì vậy,chúng em rất mong nhận được những sự góp ý, hỗ trợ từ phía cô nhằm hoàn thiện đồán một cách tốt nhất, và cũng là hành trang để em thực hiện tiếp các đề tài khác trongtương lai

Một lần nữa, chúng em xin chân thành cảm ơn sâu sắc Chúng em xin kính chúc côluôn dồi dào sức khỏe, thành công trong sự nghiệp và cuộc sống!

Tp HCM, ngày 23 tháng 12 năm 2023 Sinh viên thực hiện

Nguyễn Cát Tường – Ngô Thị Bảo Linh

MỤC LỤC

TÓM TẮT ĐỒ ÁN 1 Chương 1 GIỚI THIỆU ĐỀ TÀI 2 1.1 Lý do chọn đề

tài 2 1.2 Mụctiêu 2 1.3 Đối tượngnghiên cứu 3 1.4 Phạm vi nghiêncứu 3 1.5 Phân tích một số ứngdụng hiện có liên quan đến đề tài 4 1.5.1 Ứng dụng TOEICTest 4 1.5.2 Ứng dụng MigiiTOEIC 5 1.6 Những vấn đề còn tồntại 6 1.7 Những vấn đề cần tập trung

Trang 3

nghiên cứu giải quyết 6 Chương 2 CƠ SỞ LÝ THUYẾT 7

2.1 Ngôn ngữ lập trình Javascript 7

2.1.1 Giới thiệu Javascript [1] 7 2.1.2.Cú pháp Javascript cơ bản 7 2.1.2.1 Cáchđặt tên biến, hàm và khai báo biến 7 2.1.2.2 Toán tử trongJavascript 8 2.2 Ngôn ngữHTML 8 2.2.1 Giớithiệu 8 2.2.2 Ưu điểm[2] 8 2.2.3 Nhượcđiểm 9 2.3.React.js 9

Trang 4

cầu 14 3.1.1 Yêu cầu chứcnăng 14 3.1.2 Yêu cầu phi chức

3.2.3.3 Usecase quên mật khẩu 23

3.2.3.4 Usecase luyện tập kỹ năng nghe 25

3.2.3.5 Usecase luyện tập kỹ năng đọc 26

3.2.3.6 Usecase luyện tập kỹ năng nói 27

3.2.3.7 Usecase luyện tập kỹ năng viết 28

3.2.3.8 Usecase luyện thi .29

3.2.3.9 Usecase xem lịch sử 29

3.2.3.10 Usecase xem từ vựng, câu hỏi đã lưu 30

3.2.3.11 Usecase học từ vựng qua card 31

3.2.3.12 Usecase học từ vựng qua game 32

3.2.3.13 Usecase xem bài viết trên diễn đàn 33

3.2.3.14 Usecase xem hồ sơ cá nhân 34

3.2.3.15 Usecase lọc bài viết 35

3.2.3.16 Usecase tìm kiếm bài viết 35

3.2.3.22 Usecase đăng bài viết 41

3.2.3.23 Usecase tạo đề thi 42

3.2.3.24 Usecase thêm câu hỏi 43

Trang 6

phát triển 84 TÀI LIỆUTHAM KHẢO 85

MỤC LỤC HÌNH

Trang 7

Hình 1.1 Logo ứng dụng TOEIC Test 4

Hình 1.2 Logo ứng dụng Migii TOEIC 5

Hình 2.1 Ví dụ về cách đặt tên biến, hàm trong JavaScript 7

Hình 2.2 Tất cả các toán tử được JavaScript hỗ trợ 8

Hình 3.1 Sơ đồ usecase cho người dùng chưa đăng nhập 17

Hình 3.2 Sơ đồ usecase cho người dùng đã đăng nhập 18

Hình 3.3 Sơ đồ usecase cho admin 19

Trang 8

Bảng 3.1 Danh sáchusecase 19 Bảng 3.2 Usecaseđăng nhập 21 Bảng 3.3 Usecaseđăng ký 22 Bảng 3.4 Usecasequên mật khẩu 23 Bảng 3.5 Usecaseluyện tập kỹ năng nghe 25 Bảng 3.6 Usecaseluyện tập kỹ năng đọc 26 Bảng 3.7 Usecaseluyện tập kỹ năng nói 27 Bảng 3.8 Usecaseluyện tập kỹ năng viết 28 Bảng 3.9 Usecaseluyện thi 29 Bảng 3.10.Usecase xem lịch sử 29 Bảng 3.11.Usecase xem từ vựng, câu hỏi đã lưu 30 Bảng 3.12.Usecase học từ vựng qua card .31 Bảng3.13 Usecase học từ vựng qua game 32 Bảng3.14 Usecase xem bài viết trên diễn đàn 33 Bảng

3.15 Usecase xem hồ sơ cá nhân .34

Bảng 3.16 Usecase lọc bài viết 35

Bảng 3.17 Usecase tìm kiếm bài viết 36

Bảng 3.23 Usecase đăng bài viết 41

Bảng 3.24 Usecase tạo đề thi 42

Bảng 3.25 Usecase thêm câu hỏi 43

Trang 10

Bảng 4.11 Bảng mô tả giao diện từ vựng 68

Bảng 4.12 Bảng mô tả giao diện game 69

Bảng 4.13 Bảng mô tả giao diện chủ đề từ vựng 70

Bảng 4.14 Bảng mô tả giao diện lộ trình 71

Bảng 4.15 Bảng mô tả giao diện kế hoạch 72

Bảng 4.16 Bảng mô tả giao diện chọn lộ trình 73

Bảng 4.17 Bảng mô tả giao diện diễn đàn 74

Bảng 4.18 Bảng mô tả giao diện tạo bài viết 75

Bảng 4.19 Bảng mô tả giao diện hồ sơ 76

Bảng 4.20 Bảng mô tả giao diện phântích .77 Bảng 4.21 Bảng mô tả giao diệnquản lý câu hỏi 78 Bảng 4.22 Bảng mô tả giao diệntạo đề thi 79

Bảng 4.23 Bảng mô tả giao diện quản lý chủ đề từ vựng 80

Bảng 4.24 Bảng mô tả giao diện từ vựng trong chủ đề 81

Bảng 4.25 Bảng mô tả giao diện quản lý người dùng 82

TÓM TẮT ĐỒ ÁN

Vấn đề nghiên cứu:

Đồ án này tập trung vào việc tìm hiểu thị trường ngôn ngữ và kỳ thi TOEIC sauđó xây dựng một ứng dụng di động luyện thi hiệu quả Thị trường ngôn ngữ đang trảiqua sự biến đổi nhanh chóng, đặt ra thách thức lớn đối với những người muốn nâng caokỹ năng tiếng Anh của mình để thích ứng với môi trường làm việc quốc tế Đồng thời,kỳ thi TOEIC, là công cụ đánh giá phổ biến trong doanh nghiệp và giáo dục, đòi hỏimột phương tiện học tập linh hoạt và chất lượng

Các hướng tiếp cận:

Hướng tiếp cận chủ yếu xoay quanh việc tìm hiểu sâu sắc về nhu cầu và mongmuốn của người học tiếng Anh trong thị trường hiện tại Chúng em cũng đặt sự chú ývào nhận thức về đặc điểm cụ thể của kỳ thi TOEIC và cách mà người học có thể đượchỗ trợ hiệu quả

Trang 11

hoạt, tích hợp các tính năng và nội dung được tối ưu hóa dựa trên thông tin thị trường

Một số kết quả đạt được:

Kết quả đạt được của dự án bao gồm việc xây dựng một ứng dụng di động luyệnthi TOEIC, hỗ trợ nâng cao kỹ năng tiếng Anh chuẩn bị cho kỳ thi, và một trang webquản lý dành cho admin giúp quản lý tài liệu, bài thi, diễn đàn và người dùng một cáchhiệu quả Điều này mang lại trải nghiệm toàn diện cho cả người học và quản trị viên.

1.2 Mục tiêu

- Xây dựng một ứng dụng di động linh hoạt và tương tác, cung cấp bài thi thửTOEIC và bài tập đa dạng Cùng với đó là thiết kế giao diện thân thiện, dễ sửdụng để khuyến khích người học duy trì sự hứng thú và kiên nhẫn

- Giúp người dùng ôn tập và bồi dưỡng thêm kiến thức về TOEIC - Giúpngười dùng làm quen với cấu trúc đề thi, nội dung thi TOEIC.

2

Trang 12

- Hỗ trợ giải đáp câu hỏi, thắc mắc của người dùng thông qua diễn đàn - Tạo trang web quản lý dành cho admin, giúp quản lý nội dung, bài thi, tài liệu, từ vựng và hỗ trợ diễn đàn một cách hiệu quả

1.3 Đối tượng nghiên cứu

- Các công nghệ

• Ngôn ngữ lập trình: JavaScript

• Cơ sở dữ liệu và một vài dịch vụ khác: Firebase

• Frontend: React Native (app cho người dùng), ReactJS (web cho admin) • Backend: NodeJS, ExpressJS

- Đối tượng sử dụng

• Người dùng: Học tập thông qua các câu hỏi, luyện thi qua các đề với cấu

trúc và thời gian thật, học ôn từ vựng…

• Quản trị viên: Quản lý các bài học, kho kiến thức, các bài luyện tập, diễn đàn và người dùng

+ Luyện tập kỹ năng nghe, nói đọc viết của các phần trong bài thi TOEIC +

Mục lưu trữ câu hỏi và từ vựng

+ Thống kê tiến trình + Kiểm tra và đánh giá + Tích hợp xã hội

3

+ Quản lý người dùng + Quản lý tài liệu + Quản lý từ vựng + Quản lý diễn đàn

Trang 13

+ Một số chức năng khác như xây dựng lộ trình và trò chơi ôn từ vựng

1.5 Phân tích một số ứng dụng hiện có liên quan đến đề tài 1.5.1.Ứng dụng TOEIC Test

Hình 1.1 Logo ứng dụng TOEIC Test

- Ứng dụng không cung cấp lộ trình học cụ thể hoặc hướng dẫn đặc biệt cho người học

1.5.2 Ứng dụng Migii TOEIC

Trang 14

Hình 1.2 Logo ứng dụng Migii TOEIC

• Ưu điểm:

- Ứng dụng cung cấp luyện tập cho cả 4 kỹ năng tiếng Anh (Nghe, Nói, Đọc, Viết) - Có bài thi mô phỏng và các bài tập luyện tập giúp người học làm quen với định

dạng của kỳ thi TOEIC

- Cung cấp một kho từ vựng đa dạng và quản lý học từ vựng một cách có tổ chức - Cung cấp lộ trình học cụ thể và hướng dẫn đặc biệt

- Tích hợp chức năng tự động nhắc nhở - Giao diện người dùng thân thiện, dễ sử dụng

- Cung cấp rõ hướng dẫn sử dụng cho từng chức năng của ứng dụng.

5

• Nhược điểm:

- Thiếu diễn đàn trao đổi có thể làm giảm sự tương tác và chia sẻ thông tin giữangười học, làm giảm tính tương tác và hỗ trợ cộng đồng Điều này có thể làmgiảm sự đa dạng và giàu tính học thuật của trải nghiệm học tập

1.6 Những vấn đề còn tồn tại

• Thiếu tích hợp hiệu quả các kỹ năng: Một số ứng dụng vẫn chưa có cách tích hợphiệu quả giữa cả bốn kỹ năng (Nghe, Nói, Đọc, Viết), làm giảm khả năng toàndiện trong việc chuẩn bị cho kỳ thi TOEIC

• Chưa có hệ thống xây dựng lộ trình học: Một số ứng dụng vẫn chưa cung cấp lộtrình học cụ thể và hiệu quả, làm cho người học có thể cảm thấy thiếu hướngdẫn và khó khăn trong việc quyết định cách họ nên học

• Chưa có giao tiếp và hỗ trợ cộng đồng: Sự thiếu diễn đàn trao đổi và cộng đồnghỗ trợ có thể làm mất đi sự tương tác và chia sẻ thông tin giữa người học, gâythiếu sót trong khía cạnh học thuật và xã hội

1.7 Những vấn đề cần tập trung nghiên cứu giải quyết

Trang 15

• Xây dựng lộ trình học: Xây dựng hệ thống xây dựng lộ trình học để hỗ trợ người học có định hướng ôn luyện

• Tích hợp cộng đồng: Xây dựng môi trường giao tiếp và hỗ trợ cộng đồng trongứng dụng để tạo nên sự tương tác và chia sẻ thông tin giữa người học • Đa dạng

nguồn tài nguyên: Tích hợp đa dạng nguồn tài nguyên học liệu như câu hỏi trong tất cả các phần của bốn kỹ năng, bài thi, từ vựng để làm phong phú nội dung luyện tập

• Giao diện thân thiện: Phát triển giao diện người dùng thân thiện, dễ sử dụng để tốiưu hóa trải nghiệm học tập

• Hiệu suất ứng dụng: Tối ưu hóa hiệu suất để đảm bảo ứng dụng chạy mượt mà • Đảm bảo bảo mật thông tin: Bảo vệ thông tin cá nhân của người học để đảm bảo

an toàn và tin cậy khi sử dụng ứng dụng.6

Chương 2 CƠ SỞ LÝ THUYẾT 2.1 Ngôn ngữ lập trình Javascript

2.1.1 Giới thiệu Javascript [1]

- JavaScript là một ngôn ngữ lập trình dành cho việc tạo và phát triển web Nó đượcnhúng vào trong file HTML giúp cho website trở nên sống động và đẹp hơn.JavaScript có thể cập nhật và thay đổi cả HTML và CSS

- JavaScript còn là một ngôn ngữ lập trình đa nền tảng, ngoài dành cho việc lập trìnhfrontend trên nền tảng web ra thì nó còn được sử dụng cho việc lập trình và pháttriển ứng dụng trên nền tảng mobile

2.1.2 Cú pháp Javascript cơ bản

2.1.2.1 Cách đặt tên biến, hàm và khai báo biến

- Trong Javascript, định danh (identifiers) được sử dụng để đặt tên biến, từ khóa, hàm và labels

Hình 2.1 Ví dụ về cách đặt tên biến, hàm trong JavaScript

Trang 16

- Javascript hỗ trợ 3 cách để khai báo một biến, đó là sử dụng các từ khóa sau:

• Const: được dùng để khai báo hằng số, giá trị của nó không thay đổi trong suốt chương trình

• var: biến được khai báo với từ khóa var sẽ được truy cập ở bất kể đâu trong chương trình

• let: từ khóa này giúp cho biến chỉ có thể được truy xuất bên trong phạm viblok quanh nó (block được định nghĩa bởi dấu ngoặc nhọn {}).

7

2.1.2.2 Toán tử trong Javascript

Hình 2.2 Tất cả các toán tử được JavaScript hỗ trợ

2.2 Ngôn ngữ HTML

2.2.1 Giới thiệu

HTML viết tắt cho Hypertext Markup Language, tạm dịch là ngôn ngữ đánh dấusiêu văn bản HTML được sử dụng để tạo và cấu trúc các thành phần trong trang webhoặc ứng dụng, phân chia các đoạn văn, heading, links, blockquotes,… HTML khôngphải là ngôn ngữ lập trình Điều này có nghĩa là nó không thể tạo ra các chức năng"động" Hiểu một cách đơn giản hơn, HTML cũng tương tự như phần mềm MicrosoftWord, nó chỉ có tác dụng bố cục và định dạng trang web Một tài liệu HTML đượchình thành bởi các phần tử HTML (HTML Elements) được quy định bằng các cặp thẻ(tag và attributes) Các cặp thẻ này được bao bọc bởi dấu ngoặc < > và thường là sẽđược khai báo thành một cặp, bao gồm thẻ mở và thẻ đóng

2.2.2 Ưu điểm [2]

- HTML là chuẩn mực Internet do tổ chức W3C (World Wide Web Consortium) duy trì

- Có mã nguồn mở, cho phép dữ liệu được công khai và miễn phí sử dụng

- Dễ dàng tìm hiểu và sử dụng nên HTML trở nên rất phổ biến, nhờ đó có được nguồn

Trang 17

tài nguyên phong phú

8

2.2.3 Nhược điểm

Nhược điểm lớn nhất mà HTML còn tồn tại đó chính là chỉ có thể sử dụng ởnhững trang web tĩnh Đây là những trang web chỉ hiển thị thông tin mà không có sựtương tác của người dùng Chính vậy, khi xây dựng những tính năng động hoặc hướngđối tượng người dùng thì lập trình viên cần phải sử dụng Javascript hoặc ngôn ngữbackend khác của bên thứ 3 mới có thể thực hiện được

2.3 React.js

2.3.1 Giới thiệu [3]

React.js là một thư viện Javascript đang nổi lên trong những năm gần đây với xuhướng Single Page Application Trong khi những framework khác cố gắng hướng đếnmột mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợpvới những thư viện Javascript khác React là một library cho phép nhúng code htmltrong code javascript nhờ vào JSX, có thể dễ dàng lồng các đoạn HTML vào trong JS.Việc tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểuhơn

Trang 18

- React Native sử dụng một ngôn ngữ và mô hình phát triển chung để xây dựng ứngdụng cho cả hai hệ điều hành, điều này giúp giảm bớt công sức và thời gian cầnthiết để phát triển và duyệt ứng dụng trên nhiều nền tảng Điều này có nghĩa rằngbạn có thể chia sẻ nhiều mã nguồn giữa ứng dụng iOS và Android, đồng thời vẫncó khả năng tùy chỉnh và điều chỉnh từng phiên bản ứng dụng cho từng nền tảngmột

2.4.2 Ưu điểm

- Tiết kiệm thời gian và công sức: React Native cho phép các nhà phát triển viết mãmột lần và chạy ứng dụng trên cả hai hệ điều hành, giúp tiết kiệm thời gian và côngsức đáng kể

- Hiệu suất cao: React sử dụng cơ chế virtual DOM để cải thiện hiệu suất ứng dụng.Thay vì cập nhật toàn bộ DOM mỗi khi có sự thay đổi, React chỉ cập nhật các phầntử cần thiết, giúp giảm tải cho trình duyệt và làm cho ứng dụng chạy nhanh hơn - Học dễ dàng: React sử dụng JSX (JavaScript XML) để định nghĩa giao diện người

dùng, và nó có cú pháp rất giống với HTML Điều này làm cho việc học Reacttương đối dễ dàng cho những người đã có kinh nghiệm về HTML và JavaScript - Cộng đồng phát triển lớn: React Native có một cộng đồng phát triển lớn và tích cực,

giúp các nhà phát triển dễ dàng tìm kiếm sự hỗ trợ và chia sẻ kiến thức.

10

2.4.3 Nhược điểm

- Hỗ trợ nền tảng hạn chế: React chỉ hỗ trợ hai nền tảng phổ biến nhất là iOS vàAndroid thông qua React Native Điều này có nghĩa rằng nếu bạn muốn phát triểnứng dụng cho các nền tảng khác bạn sẽ phải tìm kiếm các giải pháp khác

- Hiệu suất không bằng ứng dụng native thuần: Mặc dù React Native đã cải thiện hiệusuất so với việc sử dụng các framework cross-platform truyền thống, nhưng ứngdụng viết bằng ngôn ngữ và công nghệ native thường có hiệu suất tốt hơn

2.5 Node.js

2.5.1 Giới thiệu [6]

- NodeJS là một nền tảng được xây dựng trên V8 JavaScript Engine – trình thông dịchthực thi mã JavaScript, giúp xây dựng các ứng dụng web một cách đơn giản và dễdàng mở rộng

- Phần Core bên dưới của NodeJS được viết hầu hết bằng C++ nên cho tốc độ xử lý vàhiệu năng khá cao

Trang 19

- NodeJS tạo ra được các ứng dụng có tốc độ xử lý nhanh, realtime thời gian thực

2.6.3 Nhược điểm

- Thiếu cấu trúc: Do Express.js không áp đặt một cấu trúc nghiêm ngặt, việc tổ chứcdự án và quản lý mã nguồn có thể trở nên khó khăn, đặc biệt khi ứng dụng pháttriển lớn và phức tạp

2.7 Firebase

2.7.1 Giới thiệu

Trang 20

- Firebase là nền tảng được phát triển bởi Google cho việc tạo ra các ứng dụng di độngvà web.

- Không phải mã nguồn mở

- Chỉ hoạt động trên cơ sở dữ liệu NoSQL

- Không phải tất cả các dịch vụ trên Firebase đều miễn phí.

Trang 21

- Bài kiểm tra mô phỏng TOEIC

• Cung cấp bài kiểm tra mô phỏng TOEIC theo định dạng và thời gian thực tế của kỳ thi

- Học từ vựng TOEIC qua các card từ vựng theo từng chủ đề - Kỹ năng nghe

• Bài nghe TOEIC: Cung cấp bài nghe và câu hỏi tương ứng, cho phép người dùng luyện tập kỹ năng nghe

• Phân tích câu hỏi nghe: Đưa ra phân tích, dịch nghĩa và các gợi ý giúp người dùnghiểu rõ hơn về nội dung của bài nghe

- Kỹ năng đọc

• Bài đọc TOEIC: Cung cấp các câu hỏi ngữ pháp, đoạn văn và câu hỏi tương ứng

để người dùng luyện tập kỹ năng đọc

• Từ vựng và ngữ pháp: Cung cấp các bài học về từ vựng và ngữ pháp liên quan đến đoạn văn

• Người dùng có thể chia sẻ bài nói của mình lên diễn đàn và nhờ người dùng khác đánh giá và sửa chữa

Trang 22

- Kiểm tra và đánh giá

• Cung cấp các bài kiểm tra thực tế sát với đề thi TOEIC hàng tháng để đánh giá kỹnăng tổng thể và sự tiến bộ của người dùng

• Quản lý thông tin tài khoản người dùng

• Xác định và quản lý các quyền truy cập của người dùng, bao gồm cấp bậc và vai trò

- Quản lý tài liệu

• Thêm, sửa, xóa tài liệu

Trang 23

- Một số chức năng khác:

• Đưa ra bài test nhỏ để kiểm tra đầu vào của người dùng, từ đó xác định cấp bậc vàgợi ý lộ trình học phù hợp

• Tích hợp game vui để ôn tập dễ dàng hơn

3.1.2 Yêu cầu phi chức năng

- Tính bảo mật: Phải đảm bảo an toàn thông tin dữ liệu của người dùng, ngăn chặn cáccuộc tấn công từ bên ngoài, giảm thiểu tối đa rủi ro, rò rỉ thông tin tài khoản ngườidùng

- Tính tiện dụng: Phần mềm thân thiện với người dùng, dễ sử dụng - Tính hiệu quả: Đảm bảo tốc độ xử lý ổn định, nhanh chóng

- Tính tương thích: Ứng dụng có thể chạy ổn định.

16

3.2 Thiết kế hệ thống

3.2.1 Sơ đồ usecase

Trang 24

Hình 3.1 Sơ đồ usecase cho người dùng chưa đăng nhập

17

Trang 25

Hình 3.2 Sơ đồ usecase cho người dùng đã đăng nhập

18

Trang 26

Hình 3.3 Sơ đồ usecase cho admin

3.2.2 Danh sách usecase

Bảng 3.1 Danh sách usecase.

STT Tên Use-case Actor Mô tả

1 Đăng nhập Người dùng chưa đăng nhập

Đăng nhập bằng tài khoản đã đăng ký.

2 Đăng ký Người dùng chưa đăng nhập

Tạo tài khoản mới để sử dụng App.

3 Quên mật khẩu Người dùng Người sử dụng App quên mật khẩu tài

Người dùng chọn 1 trong 4 phần để luyện nghe, chọn số câu cần luyện.5 Luyện tập kỹ

năng đọc

Người dùng đã đăng nhập

Người dùng chọn 1 trong 3 phần để luyện đọc, chọn số câu cần luyện.6 Luyện tập kỹ

năng nói

Người dùng đã đăng nhập

Người dùng chọn 1 trong 6 phần để luyện nói, chọn số câu cần luyện.

Trang 27

7 Luyện tập kỹ năng viết

Người dùng đã đăng nhập

Người dùng chọn 1 trong 3 phần để luyện viết, chọn số câu cần luyện.8 Luyện thi Người dùng đã

đăng nhập

Người dùng chọn đề thi và tiến hành thi

9 Xem lịch sử luyện tập, thi

Người dùng đã đăng nhập

Người dùng xem lịch sử luyện tập, thi

10 Xem từ vựng, câu hỏi đã lưu

Người dùng đã đăng nhập

Người dùng xem lại những từ vựng, câu hỏi đã lưu

11 Học từ vựng qua card

Người dùng đã đăng nhập

Người dùng học từ vựng theo chủ đề

12 Học từ vựng qua game

Người dùng đã đăng nhập

Người dùng học từ vựng qua các game

13 Xem bài viết trên diễn đàn

Người dùng đã đăng nhập

Người dùng xem các bài viết hiện có trêndiễn đàn

14 Xem hồ sơ cá nhân

Người dùng đã đăng nhập

Người dùng xem trang cá nhân của mìnhhoặc người khác

15 Lọc bài viết Người dùng đã Người dùng lọc bài viết theo các

Trang 28

20 đăng nhập

16 Tìm kiếm bài viết

Người dùng đã đăng nhập

Người dùng tìm kiếm bài viết

17 Chọn lộ trình Người dùng đã đăng nhập

Người dùng chọn mục tiêu điếm và số ngày luyện tập mong muốn và hợp lệ18 Xem lộ trình Người dùng đã

đăng nhập

Người dùng xem lộ trình mà hệ thống đã thiết lập theo nhu cầu của mình

19 Chia sẻ câu hỏi Người dùng đã đăng nhập

Người dùng chia sẻ bài nói hoặc bài viết của mình qua diễn đàn

20 Lưu từ vựng Người dùng đã đăng nhập

Người dùng lưu lại từ vựng

21 Nhắc nhở từ vựng

Người dùng đã đăng nhập

Người dùng chọn từ vựng cần nhắc nhở hàng ngày

22 Đăng bài viết Người dùng đã đăng nhập

Người dùng đăng bài viết lên diễn đàn

23 Tạo đề thi Admin Admin thêm đề thi cho ứng dụng24 Thêm câu hỏi Admin Admin thêm câu hỏi cho ứng dụng

Trang 29

25 Thêm từ vựng Admin Admin thêm từ vựng cho chủ đề từ vựng

Trang 30

Trạng thái hệ thống trướckhi bắt đầu Usecase

Người dùng chưa đăng nhập trước đó hoặc đã đăng xuất

Trạng thái hệ thống sau khi thực hiện Usecase

Người dùng đăng nhập ứng dụng thành công

Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng

2 Người dùng nhập Email, mật khẩu và chọn lệnh đăng nhập

3 Hệ thống xác thực thông tin đăng nhập thành công và cho phép người dùng truy cập ứng dụng.

Luồng sự kiện phụ - Người dùng muốn đăng nhập bằng Google 2a) Người dùng chọn đăng nhập với Google

3a) Người dùng lựa chọn tài khoản liên kết với Google và bắt đầu thực hiện xác thực

Mở rộng KhôngCác yêu cầu đặc biệt Không

3.2.3.2 Usecase đăng ký

Bảng 3.3 Usecase đăng ký

Tên Usecase Đăng ký

Mục đích Tạo tài khoản mới để sử dụng App

22

Người dùng Người dùng chưa đăng nhập

Điều kiện kích hoạt Người dùng vào trang “Đăng ký tài khoản” và nhấn nút đăng ký.

Trạng thái hệ thống trướckhi bắt đầu Usecase

Người dùng chưa có tài khoản.

Trạng thái hệ thống sau khi thực hiện Usecase

Người dùng đăng ký tài khoản mới thành công Hệ thống lưu thông tin tài khoản mới vào dữ liệu.

Trang 31

-Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng 2 Người dùng chọn lệnh đăng ký tài khoản

3 Người dùng nhập Email, tên hiển thị, mật khẩu, xác nhận mật khẩu và chọn lệnh đăng ký.

Luồng sự kiện phụ KhôngMở rộng Không

Các yêu cầu đặc biệt Email phải là Email hợp lệ, mật khẩu phải có tối thiểu ít nhất 6 ký tự.

3.2.3.3 Usecase quên mật khẩu

Bảng 3.4 Usecase quên mật khẩu

Tên Usecase Quên mật khẩu

Mục đích Cấp lại mật khẩu mới cho người dùng.Người dùng Người dùng chưa đăng nhập

Điều kiện kích hoạt Người dùng nhấn vào nút quên mật khẩu ở trang “Quên mật khẩu”.

23 Trạng thái hệ thống trước

khi bắt đầu Usecase

Người dùng chưa đăng nhập.

Trạng thái hệ thống sau khi thực hiện Usecase

- Người dùng đổi mật khẩu cho tài khoản thành công.- Hệ thống lưu thông tin mật khẩu mới vào dữ liệu.

Trang 32

Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng 2 Người dùng chọn lệnh quên mật khẩu

3 Người dùng nhập Email tài khoản và chọn lệnh gửi 4 Hệ thống kiểm tra tính hợp lệ của Email, đảm bảoEmail này đã được đăng ký tài khoản trước đó, sau đóhệ thống tiến hành gửi tới Email đó tới địa chỉ đã đượcđăng ký

5 Người dùng bấm vào đường dẫn trong Email và dẫn đến trang Web thay đổi mật khẩu

6 Người dùng thay đổi mật khẩu

7 Trang Web thông báo thay đổi mật khẩu thành công.

Luồng sự kiện phụ Không

Mở rộng - Hệ thống xác thực thông tin Email không thành công và hiển thị thông báo

+ TH1: Người dùng nhập lại thông tin Use Case quay lại bước 3

+ TH2: Người dùng chọn lệnh quay lại Use Case quay lại bước 2

Các yêu cầu đặc biệt Không

3.2.3.4 Usecase luyện tập kỹ năng nghe

Bảng 3.5 Usecase luyện tập kỹ năng nghe

Tên Usecase Luyện tập kỹ năng ngheMục đích Rèn luyện khả năng ngheNgười dùng Người dùng đã đăng nhậpĐiều kiện kích hoạt Người dùng nhấn nút Begin

Trang 33

Trạng thái hệ thống trướckhi bắt đầu Usecase

- Người dùng đã đăng nhập - Hệ thống lấy dữ liệu câu hỏi

- Hệ thống chuyển sang màn hình câu hỏi và phát audioTrạng thái hệ thống sau

khi thực hiện Usecase

- Hệ thống hiện trang kết thúc luyện tập với điểm số đạt được

Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng 2 Người dùng truy cập trang Home 3 Người dùng chọn mục Listening

4 Người dùng chọn 1 trong 4 part để luyện nghe 5 Người dùng chọn số câu cần luyện tập và nhấn Begin 6.Sau khi luyện tập xong, người dùng nhấn Submit

Luồng sự kiện phụ - Người dùng nhấn nút có icon thể hiện quay lại trang trước thì hệ thống sẽ hủy kết quả luyện tập hiện tại.Mở rộng Không

Các yêu cầu đặc biệt Không

25

3.2.3.5 Usecase luyện tập kỹ năng đọc

Bảng 3.6 Usecase luyện tập kỹ năng đọc

Tên Usecase Luyện tập kỹ năng đọcMục đích Rèn luyện khả năng đọcNgười dùng Người dùng đã đăng nhậpĐiều kiện kích hoạt Người dùng nhấn nút Begin Trạng thái hệ thống trước

khi bắt đầu Usecase

- Người dùng đã đăng nhập - Hệ thống lấy dữ liệu câu hỏi

- Hệ thống chuyển sang màn hình câu hỏiTrạng thái hệ thống sau

khi thực hiện Usecase

- Hệ thống hiện trang kết thúc luyện tập với điểm số đạt được

Trang 34

Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng 2 Người dùng truy cập trang Home 3 Người dùng chọn mục Reading

4 Người dùng chọn 1 trong 3 part để luyện đọc 5 Người dùng chọn số câu cần luyện tập và nhấn Begin 6.Sau khi luyện tập xong, người dùng nhấn Submit

Luồng sự kiện phụ - Người dùng nhấn nút có icon thể hiện quay lại trang trước thì hệ thống sẽ hủy kết quả luyện tập hiện tại.Mở rộng Không

Các yêu cầu đặc biệt Không

26

3.2.3.6 Usecase luyện tập kỹ năng nói

Bảng 3.7 Usecase luyện tập kỹ năng nói

Tên Usecase Luyện tập kỹ năng nóiMục đích Rèn luyện khả năng nóiNgười dùng Người dùng đã đăng nhậpĐiều kiện kích hoạt Người dùng nhấn nút Begin Trạng thái hệ thống trước

khi bắt đầu Usecase

- Người dùng đã đăng nhập - Hệ thống lấy dữ liệu câu hỏi

- Hệ thống chuyển sang màn hình câu hỏiTrạng thái hệ thống sau

khi thực hiện Usecase

- Hệ thống hiện trang kết thúc luyện tập với điểm số đạt được

Trang 35

Luồng sự kiện chính 1 Người dùng truy cập vào ứng dụng 2 Người dùng truy cập trang Home 3 Người dùng chọn mục Speaking

4 Người dùng chọn 1 trong 5 part để luyện nói 5 Người dùng chọn số câu cần luyện tập và nhấn Begin 6.Sau khi luyện tập xong, người dùng nhấn Submit

Luồng sự kiện phụ - Người dùng nhấn nút có icon thể hiện quay lại trang trước thì hệ thống sẽ hủy kết quả luyện tập hiện tại.Mở rộng Không

Các yêu cầu đặc biệt Không

27

3.2.3.7 Usecase luyện tập kỹ năng viết

Bảng 3.8 Usecase luyện tập kỹ năng viết

Tên Usecase Luyện tập kỹ năng viếtMục đích Rèn luyện khả năng viếtNgười dùng Người dùng đã đăng nhậpĐiều kiện kích hoạt Người dùng nhấn nút Begin Trạng thái hệ thống trước

khi bắt đầu Usecase

- Người dùng đã đăng nhập - Hệ thống lấy dữ liệu câu hỏi

- Hệ thống chuyển sang màn hình câu hỏiTrạng thái hệ thống sau

khi thực hiện Usecase

- Hệ thống hiện trang kết thúc luyện tập với điểm số đạt được

Ngày đăng: 15/05/2024, 09:30

Tài liệu cùng người dùng

Tài liệu liên quan