Mục tiêu của đề tài là nghiên cứu và phát triển ứng dụng luyện thi tiếng Anh TOEIC cho các bạn sinh viên với hai kỹ năng nghe và đọc, đặc biệt các bạn sinh viên ở các trường có chuẩn đầu ra tiếng Anh.
2.2 Yêu cầu chức năng
• Người dùng luyện tập kỹ năng nghe và kỹ năng đọc (Practice) mọi lúc mọi nơi với dữ liệu có sẵn trong ứng dụng.
• Người dụng luyện tập các kỹ năng theo từng phần của một bài thi TOEIC trên thực tế, gồm có 7 phần: Photographs, Question – Response, Short Conversations, Short Talks, Incomplete Sentences, Text Incomplete, Reading comprehension.
• Trong phần luyện tập kỹ năng nghe sẽ có sẵn phần dịch lại (transcript) những gì người dùng đã nghe được.
• Đánh giá mức độ luyện tập của người dùng bằng sốđiểm của từng phần và đánh dấu trạng thái người dùng đã hoàn thành phần luyện tập đó chưa.
• Người dùng có thể làm bài luyện thi (Test) mọi lúc mọi nơi.
• Nhiều loại bài luyện thi với số lượng câu hỏi khác nhau tương ứng với khoảng thời gian làm bài phù hợp.
• Sau khi làm luyện thi, người dùng sẽ biết được trình độ hiện tại của mình đang ở đâu bằng số điểm đạt được với thang điểm chấm thi TOEIC chuẩn.
• Đưa ra nhận xét mỗi khi người dùng hoàn thành bài kiểm tra, khuyến khích, tạo động lực cho người dùng cố gắng luyện tập.
• Ứng dụng đánh giá cấp độ người dùng (level) bằng cách tính toán khối lượng phần luyện tập người dùng đã hoàn thành để mở khoá thêm các bài kiểm tra, giúp người dùng luyện tập nhiều hơn.
• Có phần hướng dẫn nội dung một bài thi TOEIC với âm thanh, hình ảnh cho từng phần thi.
• Thông tin liên quan đến một bài thi TOEIC, các mẹo vặt khi thi cũng như nguồn tài liệu của ứng dụng cũng được đưa ra cho người dùng tham khảo đánh giá.
• Ứng dụng còn có biểu đồ thống kê điểm các phần luyện tập cũng như kiểm tra của người dùng theo tháng, thống kê mức độ luyện tập giữa các phần giúp cho người dùng có cái nhìn trực quang hơn về quá trình luyện tập của mình.
2.3 Yêu cầu phi chức năng
• Đơn giản, dễ dàng sử dụng.
• Giao diện trực quang, hài hoà màu sắc.
• Đáp ứng nhanh nhu cầu người sử dụng.
• Các chức năng theo một luồng thống nhất.
2.4 Thiết kế hệ thống
2.4.1 Sơđồ ca sử dụng
• Ca sử dụng tổng quát
• Ca sử dụng tổng quát luyện tập
Hình 2.2 Ca sử dụng tổng quát luyện tập
• Ca sử dụng luyện tập cụ thể
Hình 2.3 Ca sử dụng luyện tập với các phần cụ thể
• Ca sử dụng tổng quát luyện thi
• Ca sử dụng đánh giá cấp độ
Hình 2.5 Ca sử dụng đánh giá cấp độ
• Ca sử dụng hướng dẫn cấu trúc bài thi
• Ca sử dụng thống kê
Hình 2.7 Ca sử dụng thống kê
• Ca sử dụng xem thông tin liên quan
Hình 2.8 Ca sử dụng xem thông tin liên quan
2.4.2 Đặc tả ca sử dụng a. Ca sử dụng tổng quát
• Mục đích: Tổng quát toàn bộ hệ thống.
• Mô tả: Các chức năng chính của ứng dụng mà người dùng có thể tương tác và sử dụng.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng luyện tập. Hiển thị giao diện để người dùng chọn phần gồm các bài luyện tập. Luyện tập Chọn chức năng luyện thi. Hiển thị giao diện để người dùng chọn phần gồm các bài luyện thi.
Luyện thi. Đánh giá mức độ luyện tập. Hiển thị giao diện để người dùng có thể thấy được các mức đánh giá và mức hiện tại của người dùng. Mức độ luyện tập
Hướng dẫn bài thi.
Hiển thị giao diện để người dùng chọn phần cần hướng dẫn. Hướng dẫn Thống kê. Hiển thị giao diện để người dùng biết được sô liệu về mức luyện tập và luyện thi của bản thân.
Thống kê.
Xem thông tin liên quan.
Hiển thị giao diện để người dùng biết được thông tin về nhóm phát triển và cách sử dụng ứng dụng.
Thông tin.
• Luồng sự kiện phụ: Không.
• Ngoại lệ: Không.
b. Ca sử dụng luyện tậptổng quát
• Mục đích: Lựa chọn bài tập trong danh mục bài tập để thực hành luyện tập.
• Mô tả: Sau khi chọn luyện tập, người dùng có một danh mục các bài tập gồm phần nghe và phần đọc đã được chia theo đúng các phần trong bài thi TOEIC, người dùng có thể lựa chọn bài tập mà mình muốn luyện tập và nhận kết quả sau khi đã nhấn nộp bài.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng luyện tập.
Hiển thị giao diện danh mục chứa bài tập đã được chia theo các phần trong để thi TOEIC để người dùng có thể lựa chọn. Danh mục luyện tập. Chọn danh mục bài tập. Hiển thị giao diện gồm danh sách các bài tập luyện tập. Danh sách bài tập Chọn bài tập Hiển thị giao diện phần làm bài tập tùy theo bài tập thuộc phần nghe hay phần đọc.
Kết quả
Hiển thị giao diện kết quả sau khi người dùng nhấn nút nộp bài. In ra kết quả câu trả lời của người dùng và đáp án đúng. Kết quả. Bảng 2.2: Mô tả luồng sự kiện chính của ca sử dụng luyện tập tổng quát • Luồng sự kiện phụ: Không. • Ngoại lệ: Không. c. Ca sử dụng luyện tập cụ thể
• Mục đích: Lựa chọn bài tập trong danh mục bài tập để luyện tập.
• Mô tả: Sau khi chọn luyện tập, người dùng có một danh mục các bài tập gồm phần nghe và phần đọc đã được chia theo đúng các phần trong bài thi TOEIC, người dùng có thể lựa chọn bài tập trong 7 phần cụ thể mà mình muốn luyện tập và nhận kết quả sau khi đã nhấn nộp bài.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng luyện tập.
Hiển thị giao diện danh mục chứa bài tập đã được chia theo các phần trong để thi TOEIC để người dùng có thể lựa chọn.
Chọn danh mục bài tập. Hiển thị giao diện gồm danh sách các bài tập luyện tập. Danh sách bài tập Chọn bài tập Hiển thị giao diện phần làm bài tập tùy theo bài tập thuộc phần nghe hay phần đọc.
Bài tập.
Kết quả
Hiển thị giao diện kết quả sau khi người dùng nhấn nút nộp bài. In ra kết quả câu trả lời của người dùng và đáp án đúng. Kết quả. Bảng 2.3: Mô tả luồng sự kiện chính của ca sử dụng luyện tập cụ thể • Luồng sự kiện phụ: Không. • Ngoại lệ: Không. d. Ca sử dụng luyện thi
• Mục đích: Lựa chọn bài thi tùy theo các mức thời gian khác nhau có trong danh mục bài thi để tiến hành luyện thi.
• Mô tả: Sau khi chọn luyện thi, người dùng có một danh sách các bài thi gồm cả phần nghe và phần đọc đã được chia theo các mức thời gian khác nhau, người dùng có thể lựa chọn bài thi tùy theo mức thời gian và nhận kết quả sau khi đã nhấn nộp bài.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng luyện thi.
Hiển thị giao diện danh sách các đề thi để người dùng có thể lựa chọn.
Danh mục luyện thi.
Chọn bài thi
Hiển thị giao diện phần làm bài thi tùy theo thời gian mà người dùng lựa chọn.
Bài thi.
Kết quả
Hiển thị giao diện kết quả sau khi người dùng nhấn nút nộp bài. In ra kết quả câu trả lời của người dùng và đáp án đúng.
Kết quả.
Bảng 2.4: Mô tả luồng sự kiện chính của ca sử dụng luyện thi
• Luồng sự kiện phụ: Không.
• Ngoại lệ: Không.
e. Ca sử dụng đánh giá cấp độ
• Mục đích: Giúp người dùng biết được các cấp độ khác nhau mà mình cần phải đạt được nhằm mở khóa thêm bài luyện thi, đồng thời hiển thị cấp độ hiện tại của bản thân.
• Mô tả: Sau khi chọn cấp độ, người dùng sẽ thấy được cấp độ hiện tại của bản thân và danh sách các mức độ khác nhau phải đạt được để mở
khóa thêm các bài luyện thi. Người dùng có thể đạt cấp độ cao hơn thông qua việc hoàn thành đúng số lượng bài tập yêu cầu trong phần luyện tập.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng cấp độ. Hiển thị giao diện danh sách cấp độ mà người dùng có thể đạt được, đồng thời hiển thị cấp độ hiện tại của người dùng. Cấp độ. Bảng 2.5: Mô tả luồng sự kiện chính của ca sử dụng cấp độ luyện tập • Luồng sự kiện phụ: Không. • Ngoại lệ: Không.
f. Ca sử dụng xem hướng dẫn bài thi
• Mục đích: Người dùng có thể biết được cách làm các phần trong một bài thi TOEIC.
• Mô tả: Người dùng chọn hướng dẫn bài thi, sẽ có một danh sách các phần trong một bài thi TOEIC với số lượng câu cụ thể, người dùng chọn vào phần mình muốn nghe hướng dẫn đểđược hướng dẫn cách làm bài thi phần đó.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng hướng dẫn.
Hiển thị giao diện danh sách các phần trong một bài thi. Người dùng chọn vào phần cần hướng dẫn để biết cách làm bài thi phần đó.
Hướng dẫn.
Bảng 2.6: Mô tả luồng sự kiện chính của ca sử dụng xem hướng dẫn thi
• Luồng sự kiện phụ: Không.
• Ngoại lệ: Không.
g. Ca sử dụng thống kê
• Mục đích: Người dùng có thể biết được số liệu thống kê về phần làm luyện tập và luyện thi của bản thân.
• Mô tả: Người dùng chọn thống kê, sẽ có một biểu đồ thể hiện mức luyện tập và luyện thi của người dùng được đánh giá theo hàng tháng.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng thống kê. Hiển thị giao diện thống kê với biểu đồ đánh giá mức độ luyện tập và luyện thi của Thống kê.
người dùng được ghi lại theo hàng tháng.
Bảng 2.7: Mô tả luồng sự kiện chính của ca sử dụng thống kê
• Luồng sự kiện phụ: Không.
• Ngoại lệ: Không.
h. Ca sử dụng xem thông tin liên quan
• Mục đích: Người dùng có thể biết được thông tin về nhóm phát triển và hướng dẫn sử dụng ứng dụng.
• Mô tả: Người dùng chọn xem thông tin liên quan, sẽ có danh sách gồm thông tin nhóm phát triển và hướng dẫn sử dụng ứng dụng. Thông qua phần này người dùng có thể liên lạc với nhóm phát triển để gửi phản hồi cũng như xem giới thiệu ứng dụng hoạt động.
• Luồng sự kiện chính:
Hành động tác nhân Phản ứng hệ thống Dữ liệu liên quan
Chọn chức năng xem thông tin liên quan.
Hiển thị giao diện thông tin liên quan với danh sách gồm thông tin nhóm phát triển, hướng dẫn sử dụng.
Thông tin liên qua
Bảng 2.8: Mô tả luồng sự kiện chính của ca sử dụng xem thông tin liên quan
• Luồng sự kiện phụ: Không.
2.4.3 Sơđồ lớp
2.4.4 Phân tích các bảng dữ liệu và ràng buộc
• Bảng Category
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Category
Category_ID Int Khóa
CategoryName String Progress Float Audio String Image String Content String Order Int Bảng 2.9: Bảng dữ liệu Category • Bảng Practice
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Practice
Practice_ID String Khóa
PracticeName String
Status String
HighestScore Int
Category_ID Int Tham chiếu bảng
Category
• Bảng Question
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Question
Question_ID String Khóa
Text String
Audio String
Image String
Transcript String
Test_ID String Tham chiếu bảng
Test
Practice_ID String Tham chiếu bảng
Practice
Category_ID Int Tham chiếu bảng
Category Bảng 2.11: Bảng dữ liệu Question • Bảng QuestionDetail Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu QuestionDetail
QuestionDetail_ID String Khóa
CorrectAnswer Int
Order Int
Question_ID String Tham chiếu bảng
Question
• Bảng Answer
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Answer
Answer_ID String Khóa
Chars String
Content String
Order Int
QuestionDetail_ID String Tham chiếu bảng
QuestionDetail
Bảng 2.13: Bảng dữ liệu Answer
• Bảng Test
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Test
Test_ID String Khóa
TestName String Duration Float Status String Score Float Order Int Bảng 2.14: Bảng dữ liệu Test • Bảng TestRecord
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Score Float
CreateTime Date
CompleteTime Float
Test_ID String Tham chiếu bảng
Test Bảng 2.15: Bảng dữ liệu TestRecord • Bảng PracticeRecord Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu PracticeRecord
PracticeRecord_ID String Khóa
Score Float
CreateTime Date
Practice_ID String Tham chiếu bảng
Practice
Category_ID Int Tham chiếu bảng
Practice Bảng 2.16: Bảng dữ liệu PracticeRecord • Bảng Point Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu Point
Point_ID Int Khóa
numberOfCorrectAnswer Int
Reading Int
Bảng 2.17: Bảng dữ liệu Point
• Bảng Level
Tên bảng Tên trường Kiểu dữ liệu Ràng buộc dữ liệu
Level
Level_ID Int Khóa
CurrentLevel Int
Bảng 2.18: Bảng dữ liệu Level
2.4.5 Sơđồ tuần tự
• Danh sách danh mục
• Danh sách luyện tập
Hình 2.11: Sơ đồ tuần tự Danh sách luyện tập
• Luyện tập
• Danh sách luyện thi
Hình 2.13: Sơđồ tuần tự Danh sách luyện thi
• Luyện thi
• Danh sách đáp án
Hình 2.14: Sơ đồ tuần tự Danh sách đáp án
• Cấp độ luyện tập
• Hướng dẫn
Hình 2.16: Sơđồ tuần tự Hướng dẫn
• Thống kê luyện tập và luyện thi
CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC 3.1 Môi trường triển khai
• Công cụ lập trình: Xcode 8.2
• Cơ sở dữ liệu: Công nghệ Coredata
• Ngôn ngữ lập trình: Swift 3.1
• Yêu cầu cài đặt và kiểm thử: Thiết bị chạy hệđiều hành iOS 9.0 trở lên.
• Cài đặt ứng dụng: Người dùng sẽ tải và cài đặt ứng dụng trên AppStore. Hiện tại do kinh phí hạn hẹp nên ứng dụng chưa được đưa lên AppStore nên phải liên kết trực tiếp với máy tính để chạy ứng dụng trên thiết bị thực tế.
3.2 Kết quả và chức năng của phần mềm 3.2.1 Màn hình chờ và giao diện Menu 3.2.1 Màn hình chờ và giao diện Menu
3.2.2 Giao diện Luyện tập
Hình 3.3 Danh sách danh mục Hình 3.4 Danh sách luyện tập
Hình 3.6 Luyện tập Question – Response và bản dịch lại
Hình 3.8 Luyện tập Short Talks và bản dịch lại
Hình 3.10 Luyện tập Reading Comprehension và bản đọc
Hình 3.13 Danh sách câu hỏi Luyện tập Hình 3.14 Danh sách đáp áp Luyện tập
3.2.3 Giao diện Luyện thi
Hình 3.17 Danh sách câu hỏi luyện thi Hình 3.18 Xác nhận câu trả lời luyện thi
3.2.4 Giao diện Cấp độ luyện tập
Hình 3.20 Đặt mục tiêu điểm Hình 3.21 Cấp độ luyện tập
3.2.5 Giao diện Hướng dẫn làm bài thi
3.2.6 Giao diện Thống kê