Đặc tả use-case “Luyện phát âm”

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ môn học (báo cáo cuối kì đồ án 1) (Trang 31)

Tên chức năng Luyện phát âm

Tóm tắt Người dùng sẽ đọc lại mẫu câu cho trước và hệ thống sẽ đưa ra kết quả cho biết người đọc phát âm đúng sai chỗ nào so với mẫu câu

Dòng sự kiện chính 1. Người dùng đăng nhập vào ứng dụng

2. Hệ thống sẽ hiển thị danh sách các mẫu câu thuộc nhiều chủ đề đa dạng khác nhau

3. Người dùng chọn bất kì mẫu câu để luyện phát âm 4. Sau đó họ bấm vào nút micro để bắt đầu nói

5. Hệ thống sẽ hiện ra kết quả thông báo so sánh giữa giọng của người đọc và mẫu câu

Dòng sự kiện khác Không có

Các yêu cầu đặc biệt Người dùng đã đăng nhập vào ứng dụng Trạng thái hệ thống trước

khi thực hiện use case

Actor: Người dùng

Điều kiện: Người dùng đăng nhập vào hệ thống. Trạng thái hệ thống sau

khi thực thiện use case

Hệ thống sẽ hiện ra kết quả thông báo so sánh giữa giọng của người đọc và mẫu câu

Điểm mở rộng Không có

18

Chương 4: PHÂN TÍCH 4.1 Sơ đồ lớp (mức phân tích)

Hình 4.1 Sơ đồ lớp tổng quát của ứng dụng

4.2 Danh sách các lớp đối tượng và quan hệ

STT Tên lớp/quan hệ Loại Ý nghĩa/Ghi chú

1 User Lớp Lớp tài khoản

2 Video Lớp Lớp video

3 EntryTest Lớp Lớp kiểm tra đầu vào

4 EntryTestDetail Lớp Lớp chi tiết bài kiểm tra đầu vào

5 VideoOutline Lớp Lớp đề cương video (bao gồm các từ vựng và mẫu câu đáng chú ý)

6 User – Video Quan hệ Association

Quan hệ tài khoản – video 7 User – EntryTest Quan hệ

Association

19 8 EntryTest –

EntryTestDetail Quan hệ Composition Quan hệ kiểm tra đầu vào – chi tiết kiểm tra đầu vào 9 Video –

VideoOutline Quan hệ Aggregation Quan hệ video – đề cương video

10 Vocabulary Lớp Lớp từ vựng để lưu các thông tin về từ vựng 11 Sentence Lớp Dùng để lưu thông tin của mẫu câu cho

người dùng luyện phát âm

Bảng 4.1 Danh sách các lớp và mối quan hệ trong ứng dụng

4.3 Mô tả chi tiết từng lớp đối tượng

4.3.1 Lớp “User”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 fullName String Public Tên người dùng

2 email String Public Email người dùng

3 dateOfBirth String Public Ngày sinh người dùng 4 gender String Public Giới tính người dùng 5 address String Public Địa chỉ người dùng

Bảng 4.2 Bảng mô tả thuộc tính lớp "User"

b) Danh sách phương thức

STT Tên phương thức Loại Ràng buộc Ý nghĩa/ghi chú

1 createUser Bool Public Tạo tài khoản người dùng. 2 updateUser Bool Public Cập nhật thông tin người dùng

20

4.3.2 Lớp “EntryTest”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 numberOfQuestions Number Public Số lượng câu hỏi

2 result String Public Kết quả bài kiểm tra đầu vào

Bảng 4.4 Bảng mô tả thuộc tính lớp "EntryTest"

b) Danh sách phương thức

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 calculateResult Bool Public Tính toán kết quả bài kiểm tra

Bảng 4.5 Bảng mô tả phương thức lớp "EntryTest" 4.3.3 Lớp “EntryTestDetail”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 question String Public Chủ đề câu hỏi 2 answers Array Public Các câu trả lời 3 rightAswer String Public Câu trà lời đúng

Bảng 4.6 Bảng mô tả thuộc tính lớp "EntryTestDetail"

b) Danh sách phương thức

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 answerQuestion Bool Public Trả lời câu hỏi

2 CheckResult Bool Public Kiểm tra xem câu hỏi có đúng hay không

21

4.3.4 Lớp “VideoOutline”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 videoDescription String Public Mô tả video 2 videoSubject String Public Chủ đề video

3 Vocabularies Array Public Các từ vựng có trong video 4 Sentences Array Public Các mẫu câu có trong video

Bảng 4.8 Bảng mô tả thuộc tính lớp "VideoOutline" 4.3.5 Lớp “Video”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 videoURL String Public Đường dẫn để lấy video 2 videoSubtitle String Public Subtitle của video

Bảng 4.9 Bảng mô tả thuộc tính lớp "Video"

b) Danh sách phương thức

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 getVideo Bool Public Lấy video về để chiếu cho người dùng

Bảng 4.10 Bảng mô tả phương thức lớp "Video" 4.3.6 Lớp “Vocabulary”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 word String Public Từ vựng

2 pronounce String Public Phát âm

22

4 meaningEng String Public Nghĩa tiếng Anh

5 example String Public Ví dụ minh họa về từ đó

6 wordType String Public Loại từ

7 anotherWordOne String Public Từ gây nhiễu để sử dụng trong câu hỏi

8 anotherWordTwo String Public Từ gây nhiễu để sử dụng trong câu hỏi

Bảng 4.11 Bảng mô tả thuộc tính lớp "Vocabulary" 4.3.7 Lớp “Sentence”

a) Danh sách thuộc tính

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 content String Public Nội dung mẫu câu

2 sound Sound Public Giọng đọc cho mẫu câu đó

Bảng 4.12 Bảng mô tả thuộc tính lớp "Sentence"

b) Danh sách phương thức

STT Tên thuộc tính Loại Ràng buộc Ý nghĩa/ghi chú

1 getVoice Void Public Lấy giọng đọc chuẩn của mẫu câu để người dùng luyện theo

23

Chương 5:

THIẾT KẾ DỮ LIỆU 5.1 Sơ đồ logic

Hình 5.1 Sơ đồ dữ liệu tổng quát của ứng dụng

STT Tên bảng dữ liệu Diễn giải

1 Users Thông tin tài khoản người dùng 2 Video Thông tin các video hội thoại 3 Vocabulary Thông tin chi tiết về từ vựng 4 Sentence Thông tin chi tiết về mẫu câu

24

5.2 Mô tả chi tiết các kiểu dữ kiệu trong sơ đồ logic

5.2.1 Bảng “Users”

STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/Ghi chú

1 uid string Khóa chính, không

null

Id người dùng

2 username string Không null Tên người dùng

3 email string Không null Email đăng nhập

4 password string Không null Mật khẩu

5 gender string Giới tính người dùng

6 birthDay string Ngày sinh người dùng

7 address string Địa chỉ người dùng

Bảng 5.2 Bảng mô tả chi tiết dữ liệu "User" 5.2.2 Bảng “Video”

STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/Ghi chú

1 videoId string Khóa chính, Not null Id của video

2 subject string Not null Chủ đề của video

3 description string Not null Mô tả của video

4 subtitle string Not null Phụ đề của video

5 vocabularies array Not null Từ vựng đáng chú ý

6 Sentences array Not null Mẫu câu đáng chú ý

25

5.2.3 Bảng “Vocabulary”

STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/Ghi chú

1 word string Not null, khóa chính Từ vựng 2 type string Not null, khóa chính Loại từ

3 pronounce string Not null Phát âm từ

4 meaningViet string Not null Nghĩa tiếng Việt

5 meaningEng string Not null Nghĩa tiếng Anh

6 example string Not null Ví dụ minh họa

7 anotherWordOne string Not null Từ gây nhiễu 8 anotherWordTwo string Not null Từ gây nhiễu

Bảng 5.4 Bảng mô tả chi tiết dữ liệu "Vocabulary" 5.2.4 Bảng “Sentence”

STT Tên thuộc tính Kiểu Ràng buộc Ý nghĩa/Ghi chú

1 content string Khóa chính, Not null, Nội dung câu

2 sound Sound Not null Âm thanh của câu

26

Chương 6:

THIẾT KẾ GIAO DIỆN ỨNG DỤNG 6.1 Danh sách các màn hình

STT Tên màn hình Ý nghĩa / Ghi chú

1 Đăng nhập Cho phép người dùng đăng nhập vào hệ thống.

2 Đăng ký Cho phép người dùng đăng ký tài khoản để tương tác với hệ thống.

3 Trang chủ Hiển thị màn hình chính của hệ thống để người dùng sử dụng

4 Video Hiển thị thông tin video hội thoại

5 Học từ vựng Hiển thị danh sách các flashcard giúp cho người dùng học từ vựng mới

6 Ôn tập từ vựng Ôn tập các từ vựng đã học theo dạng câu hỏi trắc nghiệm 7 Luyện phát âm Người dùng luyện phát âm theo mẫu câu cho sẵn và kết quả

so sánh cho người dùng

27

6.2 Mô tả chi tiết mỗi màn hình

6.2.1 Đăng nhập

Hình 6.1 Màn hình đăng nhập

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Kiểm tra email đăng nhập Kiểm tra email đăng nhập Người dùng bấm vào nút “Sign in”

Kiểm tra chuỗi rỗng và email có khả dụng hay không. 2 Kiểm tra mật khẩu Kiểm tra mật khẩu Người dùng bấm vào nút “Sign in”

Kiểm tra chuỗi rỗng và mật khẩu có khả dụng hay không.

28 3 Xác nhận đăng nhập Xác nhận đăng nhập Người dùng bấm vào nút “Sign in”

4 Tạo tài khoản Chuyển sang

màn hình tạo tại khoản

Khi người dùng click vào nút.

Bảng 6.2 Bảng mô tả các thao tác trong màn hình đăng nhập 6.2.2 Đăng ký

29

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Kiểm tra email Kiểm tra email Khi người dùng bấm vào “Sign up”

Kiểm tra format email và chuỗi rỗng, nếu không thỏa sẽ báo lỗi

2 Kiểm tra mật khẩu Kiểm tra mật khẩu Khi người dùng bấm vào “Sign up”

Kiểm tra độ mạnh mật khẩu và chuỗi rỗng, nếu không thỏa sẽ báo lỗi 3 Kiểm tra xác nhận mật khẩu Kiểm tra xác nhận mật khẩu Khi người dùng bấm vào “Sign up”

Kiểm tra xác nhận mật khẩu phải trùng với mật khẩu đăng ký

4 Đăng ký Đăng ký tài

khoản cho người dùng

Khi người dùng bấm vào “Sign up”

Xử lý gửi email verification cho người dùng và lưu thông tin tài khoản vào database.

30

6.2.3 Trang chủ

Hình 6.3 Màn hình trang chủ

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Hiển thị các từ

mới lưu

Hiển thị các từ mới lưu

Người dùng lưu từ mới

2 Hiển thị các

chủ video gợi ý cho từng ngày

Hiển thị các chủ video gợi ý cho từng ngày

Người dùng đăng nhập vào ứng dụng

31

6.2.4 Video

Hình 6.4 Màn hình học qua video

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Hiển thị video

cho người dùng

Hiển thị video cho người dùng

Người dùng đã làm bài kiểm tra đầu vào và đủ trình độ vào xem video

2 Hiển thị mô tả

video cho

người dùng

Hiển thị mô tả video cho người dùng

Người dùng đã làm bài kiểm tra đầu vào và đủ trình độ vào xem video

32 3 Hiển thị các từ vựng đáng chú ý cho người dùng Hiển thị các từ vựng đáng chú ý cho người dùng Người dùng đã làm bài kiểm tra đầu vào và đủ trình độ vào xem video

4 Hiển thị các mẫu câu đáng chú ý cho người dùng Hiển thị các mẫu câu đáng chú ý cho người dùng Người dùng đã làm bài kiểm tra đầu vào và đủ trình độ vào xem video

Bảng 6.5 Bảng mô tả các thao tác trong màn hình học qua video 6.2.5 Thông tin cá nhân

33

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Cập nhật Cập nhật thông

tin tài khoản

Khi người dùng nhấn vào nút “Save Profile”

Khi đó thông tin mới mà người dùng nhập vào sẽ được cập nhật trên database

2 Đăng

xuất

Đăng xuất khỏi ứng dụng

Khi người dùng nhấn vào nút “Sign out”

3 Hiển thị Hiển thị thông

tin tài khoản

Người dùng chuyển sang tab “Profile”

Bảng 6.6 Bảng mô tả các thao tên trên màn hình thông tin cá nhân 6.2.6 Học từ vựng

34

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Xem nội dung Xem các nội dung khác của từ vựng Khi người dùng nhấn vào thẻ từ vựng đó (hoặc thẻ flashcard)

Khi đó thông tin khác của từ vựng như nghĩa tiếng Anh, tiếng Việt, ví dụ minh họa sẽ xuất hiện

2 Học từ vựng qua flashcard Học từ mới qua flashcard như thẻ thật Khi người dùng nhấn vào nút "Learn Vocabulary" Màn hình gồm các flashcard từ vựng sẽ xuất hiện 3 Học thuộc từ vựng Chuyển từ vựng mới sang đã học Người dùng nhấn vào nút "Remember this word" Khi đó, từ vựng sẽ được chuyển sang mục đã học 4 Bỏ lưu từ vựng Xóa từ vựng ra khỏi danh sách từ chưa học Người dùng nhấn vào biểu tượng lá cờ

Từ vựng sẽ được xóa khỏi danh sách

35

6.2.7 Ôn tập từ vựng

Hình 6.7 Màn hình ôn tập từ vựng

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Xem nội dung Xem các nội dung khác của từ vựng Khi người dùng nhấn vào thẻ từ vựng đó

Khi đó thông tin khác của từ vựng như nghĩa tiếng Anh, tiếng Việt, ví dụ minh họa sẽ xuất hiện

2 Ôn tập từ vựng Luyện tập lại những từ đã học Người dùng nhấn vào nút "Review"

Màn hình gồm các câu hỏi ôn tập từ vựng gồm có 3 đáp án xuất hiện

36 3 Bỏ lưu từ vựng Xóa từ vựng ra khỏi danh sách từ chưa học Người dùng nhấn vào biểu tượng lá cờ

Từ vựng sẽ được xóa khỏi danh sách

Bảng 6.8 Bảng mô tả các thao tác trên màn hình ôn tập từ vựng 6.2.8 Luyện phát âm

37

STT Tên xử lí Ý nghĩa Điều kiện gọi Ghi chú

1 Lưu lại

giọng đọc

Lưu lại giọng đọc của người dùng

Khi người dùng nhấn vào biểu tượng micro

Sau khi nhấn, người dùng sẽ nói mẫu câu và hệ thống sẽ ghi lại 2 So sánh và đưa ra kết quả So sánh giọng đọc của người dùng với mẫu câu

Sau khi người dùng đã nói xong và nhấn lại biểu tượng micro

Hệ thống sẽ phân tích giọng nói của người dùng và mẫu câu, sau đó đưa ra kết quả trên màn hình

38

Chương 7: KẾT LUẬN

7.1 Môi trường phát triển và môi trường triển khai

7.1.1 Môi trường phát triển ứng dụng

● Hệ điều hành: Microsoft Windows, macOS

● Hệ quản trị CSDL: Cloud Firestore Firebase

● Công cụ xây dựng ứng dụng: Visual Studio Code

● Các thư viện đã sử dụng: Redux, React Native, Expo

7.1.2 Môi trường triển khai ứng dụng

● Hệ điều hành: Android, iOS

● Cài đặt Android Studio để chạy máy ảo Android, XCode để chạy máy ảo iOS

7.2 Ưu điểm

• Xây dựng được ứng dụng hỗ trợ học tiếng Anh giao tiếp với các chức năng cơ bản như: học từ vựng, ngữ pháp, các mẫu câu giao tiếp hằng ngày, trong công việc, luyện nghe các đoạn hội thoại, luyện phát âm với mẫu câu cho trước, giúp ôn luyện từ vựng, quản lý thông tin người dùng

• Ứng dụng hoạt động trên các nền tảng di động phổ biến hiện nay • Giao diện dễ sử dụng cho những người mới bắt đầu sử dụng

7.3 Nhược điểm

• Chưa hướng đến nhiều đối tượng sử dụng như trẻ em, học sinh • Ứng dụng chỉ tập trung vào 2 kĩ năng nghe và nói trong giao tiếp

7.4 Hướng phát triển

Ứng dụng hỗ trợ học tiếng anh giao tiếp cho người đi làm sẽ dự kiến mở rộng đối tượng người dùng. Không chỉ hướng đến những người đi làm, mà ứng dụng sẽ được hướng đến trẻ em hay học sinh ở mọi lứa tuổi có nhu cầu học tiếng Anh.

Hiện tại, ứng dụng chỉ hỗ trợ 2 kĩ năng nghe và nói cho người dùng vì đây là ứng dụng thực hành giao tiếp. Trong tương lai, nhóm em sẽ hỗ trợ cho người dùng 2 kĩ năng còn lại là nói và viết giúp cho người dùng phát triển toàn bộ các kĩ năng trong tiếng Anh.

39

7.5 Bảng phân công công việc

STT Tên công việc

Thành viên Trần Thanh

Hiền

Lê Khải Hoàn

1 Xác định yêu cầu bài toán x x

Một phần của tài liệu Xây dựng ứng dụng hỗ trợ môn học (báo cáo cuối kì đồ án 1) (Trang 31)