3.1.1. Chức năng quản lý quiz
3.1.1.1. Mô tả
Chức năng dùng để thêm, chỉnh sửa, xóa quiz trong hệ thống. Mức độ ưu tiên: cao
3.1.1.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Thêm quiz Thêm quiz mới vào hệ thống: Câu hỏi, đáp án, … 2. Xóa quiz Xóa quiz ra khỏi hệ thống
3. Chỉnh sửa quiz Chỉnh sửa thông tin, nội dung quiz trong hệ thống cho phù hợp
4. Thêm câu hỏi Thêm, xóa câu hỏi khỏi quiz
Bảng 3.1: Yêu cầu chức năng quản lý quiz
3.1.2. Chức năng quản lý lộ trình học
3.1.2.1. Mô tả
Quản lý các lộ trình học có trên hệ thống. Lộ trình sẽ bao gồm các bài học. Mức độ ưu tiên: cao
3.1.2.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Thêm lộ trình học Thêm lộ trình học mới.
2. Cập nhật lộ trình học Cập nhật nội dung lộ trình theo yêu cầu. Thêm, loại bỏ, sắp xếp bài học.
3. Xóa lộ trình học Xóa lộ trình học.
Bảng 3.2: Yêu cầu chức năng quản lý tài khoản
3.1.3. Chức năng quản lý bài học
19 Quản lý các bài học có trên hệ thống, bài học là phần chi tiết của lộ trình học. Bài học bao gồm các kịch bản học.
Mức độ ưu tiên: cao
3.1.3.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Thêm bài học Thêm bài học mới.
2. Cập nhật bài học Cập nhật nội dung bài học theo yêu cầu. Chỉnh sửa nội dung các kịch bản có trong bài học.
3. Xóa bài học Xóa bài học.
Bảng 3.3: Yêu cầu chức năng quản lý tài khoản
3.1.4. Chức năng quản lý câu hỏi
3.1.4.1. Mô tả
Chức năng dùng để quản lý ngân hàng câu hỏi có trên hệ thống. Mức độ ưu tiên: Cao
3.1.4.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Thêm câu hỏi Thêm câu hỏi vào hệ thống với các mẫu câu hỏi được cung cấp sẵn.
2. Cập nhật câu
hỏi Cập nhật lại câu hỏi theo yêu cầu. 3. Xóa câu hỏi Xóa câu hỏi khỏi hệ thống.
Bảng 3.4: Yêu cầu chức năng nhắn tin với chatbot
3.1.5. Chức năng quản lý exam
3.1.5.1. Mô tả
Chức năng dùng để thêm, chỉnh sửa, xóa exam trong hệ thống. Mức độ ưu tiên: cao
3.1.5.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Thêm exam Thêm exam mới vào hệ thống. 2. Xóa exam Xóa exam ra khỏi hệ thống
20 3. Chỉnh sửa exam Chỉnh sửa thông tin, nội dung exam trong hệ thống cho
phù hợp.
4. Thêm câu hỏi Thêm, xóa các câu hỏi khỏi exam. Bảng 3.5: Yêu cầu chức năng quản lý exam
3.1.6. Chức năng học với từ vựng
3.1.6.1. Mô tả
Chức năng dùng để người dùng học các từ vựng bằng flashcard trong hệ thống. Mức độ ưu tiên: Cao
3.1.6.2. Yêu cầu chức năng
Yêu cầu Mô tả 1. Học với
flashcard
Người dùng sẽ học từ vựng trên flashcard. Hệ thống hiển thị nội dung từ vựng, ví dụ, …
2. Thêm thẻ ghi nhớ
Người dùng sẽ được thêm các thẻ ghi nhớ cho riêng mình giúp việc gợi nhớ từ vựng trở nên dễ dàng hơn.
3. Luyện tập Người dùng sẽ làm các câu hỏi liên quan đến chủ đề từ vựng mà người dùng học.
Bảng 3.6: Yêu cầu chức năng học với flashcard
3.1.7. Chức năng tra cứu từ vựng
3.1.7.1. Mô tả
Chức năng dùng để tra cứu các từ vựng trong hệ thống. Mức độ ưu tiên: cao
3.1.7.2. Yêu cầu chức năng
Yêu cầu Mô tả 1. Tra cứu từ
vựng
Tra cứu các từ vựng có trong hệ thống. Hiển thị thông tin từ vựng tìm kiếm (Từ tiếng anh, nghĩa tiếng việt, …)
2. Tra cứu với chatbot
Tra cứu các từ vựng thông qua chatbot. Hiển thị thông tin từ vựng tìm kiếm (Từ tiếng anh, nghĩa tiếng việt, …)
Bảng 3.7: Yêu cầu chức năng tra cứu từ vựng
3.1.8. Chức năng thảo luận
21 Chức năng dùng để trao đổi, thảo luận giữa người dùng với nhau nhằm mục đích hỗ trợ học tập. Mức độ ưu tiên: trung bình
3.1.8.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Bình luận Bình luận các bài viết được post lên trang forum của hệ thống.
2. Thích bài viết Tăng lượt tương tác với bài viết.
Bảng 3.8: Yêu cầu chức năng bình luận
3.1.9. Chức năng làm exam
3.1.9.1. Mô tả
Chức năng dùng để người dùng học làm các bài exam tương tự các bài thi toeic để kiểm tra trình độ học của mình. Mức độ ưu tiên: Cao
3.1.9.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Làm exam Người dùng sẽ trả lời các câu hỏi trong bài exam mà hệ thống đưa ra.
2. Xem kết quả Hiển thị số câu trả lời đúng và số điểm của người dùng. Bảng 3.9: Yêu cầu chức năng làm exam
3.1.10. Chức năng làm quiz
3.1.10.1. Mô tả
Chức năng dùng để người dùng học làm các bài quiz kiểm tra nhanh các câu hỏi trong chủ đề mà người dùng vừa học. Mức độ ưu tiên: Cao
3.1.10.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Làm quiz Người dùng sẽ trả lời các câu hỏi trong bài quiz được hệ thống cung cấp.
2. Kết quả Hiển thị kết quả đúng/sai cho từng câu hỏi trong quiz sau khi trả lời.
22 3. Lặp Lặp lại những câu hỏi trả lời sai cho đến khi kết thúc bài
quiz.
Bảng 3.10: Yêu cầu làm quiz
3.1.11. Chức năng nhắn tin
3.1.11.1. Mô tả
Chức năng dùng cho người dùng trao đổi các kinh nghiệm và các vấn đề khó khăn trong việc học tiếng anh. Mức độ ưu tiên: Cao
3.1.12.2. Yêu cầu chức năng
Yêu cầu Mô tả
1. Nhắn tin Người dùng nhắn tin qua lại với nhau.
2. Tạo boxchat Tạo boxchat cho phép mời người dùng khác cùng tham gia trao đổi.
Bảng 3.11: Yêu cầu chức năng nhắn tin
3.2. Phân tích yêu cầu phi chức năng 3.2.1. Khả năng sử dụng 3.2.1. Khả năng sử dụng
Hệ thống cho phép người dùng truy cập bằng internet.
Hệ thống sử dụng trình duyệt website và mobile app như là giao diện người dùng.
Hệ thống thân thiện với người dùng.
3.2.2 Độ khả dụng
Hệ thống luôn luôn ở trạng thái sẵn sàng 100% cho người dùng, 24 giờ một ngày, 365 ngày một năm. Hệ thống luôn luôn hoạt động 24 giờ/ngày.
Ở những thời điểm hệ thống bảo trì hoặc cập nhật, hệ thống phải có thông báo trước cho người dùng.
3.2.3. Độ tin cậy
Hệ thống phải đáng tin cậy 100% do tầm quan trọng của dữ liệu và các thiệt hại có thể gây ra bởi dữ liệu không chính xác hoặc không đầy đủ. Dữ liệu cá nhân của người dùng đều được bảo mật.
23
3.2.4. Hiệu suất
Hệ thống phải phản hồi các request từ người dùng không quá 2s. Hệ thống được phép tăng thời gian phản hồi khi nhận được những request lớn yêu cầu phải xử lý nhiều công việc.
3.2.5. Khả năng hỗ trợ
Hệ thống phải tuân thủ các tiêu chuẩn giao thức TCP/IP và phải được thiết kế phù hợp.
Hệ thống phải hỗ trợ việc bảo trì cũng như mở rộng, nâng cấp theo điều khoản trên hợp đồng.
Hệ thống phải được thiết kế sao cho phù hợp với nhiều loại browser hiện có. Hệ thống phải hỗ trợ cho phép người dùng báo lỗi nếu có.
3.2.6. Ràng buộc thiết kế
3.2.6.1. Ngôn ngữ lập trình
Front-end: Sử dụng framework ReactJs, HTML, CSS, Javascript.
Back-end: Sử dụng ngôn ngữ C# để thiết kế WebApi dựa trên .Net Core framework.
Mobile App: React Native
3.2.6.2. Công cụ phát triển
Sử dụng Visual Studio Code để lập trình.
Sử dụng các package của .net và các extensions cho IDE.
3.2.6.3. Mô hình thiết kế
Hệ thống được thiết kế theo mô hình MVC.
3.2.6.4. Cơ sở dữ liệu
24
3.3. Mô hình hóa yêu cầu 3.3.1. Usecase tổng quát 3.3.1. Usecase tổng quát
Hình 3.1: Usecase tổng quát
3.3.2. Mô tả sơ đồ usecase
ID Tên Mô tả
UC01 Đăng ký Đăng ký tài khoản để sử dụng hệ thống. UC02 Đăng nhập Đăng nhập vào hệ thống để có trải nghiệm
sử dụng tốt nhất.
UC03 Quên mật khẩu Đặt lại mật khẩu trong trường hợp không đăng nhập được.
25 UC04 Học theo lộ trình Học các lý thuyết, ngữ pháp, kĩ năng
nghe, đọc, viết thông qua các bài học. UC05 Chọn lộ trình Lựa chọn lộ trình từ danh sách lộ trình
được cung cấp.
UC06 Chọn bài học Lựa chọn bài học có trong lộ trình để tiến hành học.
UC07 Chọn kịch bản Lựa chọn kịch bản trong bài học để bắt đầu học.
UC08 Theo dõi tiến độ Theo dõi tiến độ hoàn thành lộ trình học. UC09 Học từ vựng Học từ vựng bằng giải pháp ghi nhớ do hệ
thống cung cấp.
UC10 Thảo luận Trao đổi thảo luận bằng các bài viết giữa các người học với nhau.
UC11 Đăng xuất Đăng xuất tài khoản ra khỏi hệ thống. UC12 Làm exam Làm quen, nâng cao kĩ năng làm bài với
các bài exam được cung cấp hoặc do người học tự thêm.
UC13 Làm quiz Luyện tập nhanh với những bộ câu hỏi quiz.
UC14 Quản lý tài nguyên cá nhân Người học quản lý các tài nguyên mà mình có.
UC15 Quản lý quiz/exam Quản lý các bài quiz/exam (của người học đối với người học)
UC16 Chia sẻ Chia sẻ quiz/exam cho người học khác. UC17 Quản lý ngân hàng câu hỏi Quản lý ngân hàng câu hỏi (của người học
đối với người học)
UC18 Quản lý bài viết Quản lý bài viết (của người học đối với người học)
26 UC19 Nhắn tin Nhắn tin trao đổi riêng tư với người dùng/
nhóm người dùng khác.
UC20 Thay đổi thông tin tài khoản Thay đổi địa chỉ email, mật khẩu, thông tin cá nhân khác của người học.
UC21 Đóng góp Người học đóng góp bản ghi cho tài
nguyên của hệ thống. UC22 Đóng góp ví dụ Người học đóng góp các ví dụ. UC23 Đóng góp ảnh ghi nhớ Người học cá nhân hóa thẻ ghi nhớ cho từ
vựng.
UC24 Quản lý từ vựng Quản lý từ vựng học được trên hệ thống bao gồm thêm, sửa, xóa từ vựng. UC25 Quản lý lộ trình học Quản lý lộ trình học bao gồm thêm, sửa,
xóa lộ trình học.
UC26 Quản lý bài học Quản lý bài học bao gồm thêm, sửa, xóa bài học.
UC27 Quản lý kịch bản Quản lý kịch bản có trong bài học. UC28 Kiểm duyệt tài nguyên Kiểm duyệt các tài nguyên khi người học
tiến hành công khai tài nguyên cá nhân. UC29 Kiểm duyệt bài viết Kiểm duyệt bài viết thảo luận mới được
người dùng tạo trước khi công khai UC30 Kiểm duyệt bình luận Kiểm duyệt bình luận mới có trong bài
viết.
UC31 Kiểm duyệt quiz/exam Kiểm duyệt quiz/exam của người học khi người học tiến hành chia sẻ.
UC32 Kiểm duyệt đóng góp Kiểm duyệt đóng góp của người dùng để xác định có được công khai. UC33 Quản lý tài khoản Quản lý tài khoản bao gồm khóa, mở
27 UC34 Khóa/ mở khóa tài khoản Khóa/mở khóa tài khoản theo yêu cầu. UC35 Phân quyền tài khoản Phân quyền cho tài khoản theo yêu cầu. UC36 Đặt lại mật khẩu Đặt lại mật khẩu cho tài khoản theo yêu cầu của người dùng trong trường hợp
chứng minh được sở hữu. Bảng 3.12: Mô tả sơ đồ usecase
3.3.3. Đặc tả một số USE CASE chính
3.3.3.1. Usecase Quản lý tài khoản (UC32)
Name Quản lý tài khoản
Brief description Quản trị viên truy cập trang quản lý tài khoản.
Actor(s) Người quản trị
Pre-conditions Người quản trị đăng nhập tài khoản, có kết nối Internet
Post-conditions Nếu có tài khoản vi phạm chính sách, quản trị viên tiến hành khóa/mở khóa tài khoản tạm thời/vĩnh viễn trực tiếp trên trang.
Flow of events
Basic flow (Thành công)
Use case bắt đầu khi quản trị viên click vào trang quản lý tài khoản.
1. Hệ thống hiển thị danh sách tài khoản có trên hệ thống.
2. Quản trị viên xem xét và tiến hành thực hiện khóa/ mở khóa tài khoản.
3. Bấm xác nhận.
4. Hệ thống lưu thông tin xuống cơ sở dữ liệu.
5. Hệ thống hiển thị thông báo kết quả, đóng popup và trở lại trang quản lý tài khoản.
Alternative flow (Thất bại)
Tại bước 3 khi người dùng bấm hủy.
Đóng popup và hiển thị màn hình trước đó.
28
Relationships Extend: Khóa/mở khóa tài khoản, Phân quyền tài khoản, Đặt lại mật khẩu
Bảng 3.13: USE CASE - OLMS_UC_32
3.3.3.2. Usecase Kiểm duyệt tài nguyên (UC27)
Name Kiểm duyệt tài nguyên
Brief description Quản trị viên, Nhân viên quản lý truy cập trang kiểm duyệt.
Actor(s) Người quản trị, Nhân viên quản lý.
Pre-conditions • Người quản trị, Nhân viên quản lý đăng nhập tài khoản
• Có kết nối Internet
Post-conditions • Phê duyệt: Tài nguyên sẽ được hiển thị trên toàn hệ thống.
• Từ chối: Tài nguyên sẽ không được hiển trị trên toàn hệ thống.
Flow of events
Basic flow (Thành công)
Use case bắt đầu khi quản trị viên click vào trang quản lý tài nguyên.
1. Hệ thống hiển thị các trang dành riêng cho từng loại tài nguyên cần kiểm duyệt.
2. Quản trị viên xem xét và tiến hành thực hiện phê duyệt/từ chối tài nguyên.
3. Bấm xác nhận.
4. Hệ thống lưu thông tin xuống cơ sở dữ liệu.
5. Hệ thống hiển thị thông báo kết quả, đóng popup và trở lại trang kiểm duyệt.
Alternative flow (Thất bại)
Tại bước 3 khi người dùng bấm hủy.
Đóng popup và hiển thị màn hình trước đó.
Extension point Hệ thống thông báo lỗi.
Relationships Extend: Kiểm duyệt bài viết, Kiểm duyệt quiz/exam, Kiểm duyệt bình luận, Kiểm duyệt đóng góp.
Bảng 3.14: USE CASE - OLMS_UC_27
3.3.3.3. Usecase Làm Exam (UC12)
Name Làm exam
29
Actor(s) Người học.
Pre-conditions Yêu cầu đăng nhập với bài exam có yêu cầu. Có kết nối Internet.
Post-conditions Hoàn thành: Nộp bài exam và hệ thống tiến hành chấm điểm.
• Chuyển người học đến trang kết quả. Thoát: Người học thoát khi đang làm bài.
• Chuyển người học về trang danh sách exam.
Flow of events
Basic flow (Thành công)
Use case bắt đầu khi người học click vào nút làm bài tại bài exam lựa chọn.
1. Hệ thống hiển thị trang làm bài.
2. Người học tiến hành chọn đáp án cho từng câu hỏi. 3. Bấm nộp bài.
4. Hệ thống tiến hành chấm điểm và lưu thông tin xuống cơ sở dữ liệu.
5. Hệ thống chuyển người học đến trang thông báo kết quả.
Alternative flow (Thất bại)
Người dùng bấm thoát.
1. Hiển thị popup thông báo xác nhận thoát. 2. Người học bấm xác nhận.
Đóng popup và hiển thị màn hình trước đó.
Extension point Hệ thống thông báo lỗi.
Relationships Include: Xem kết quả
Bảng 3.15: USE CASE - OLMS_UC_12
3.3.3.4. Usecase Làm Quiz (UC13)
Name Làm Quiz
Brief description Học các kĩ năng thông qua các bộ câu hỏi quiz.
Actor(s) Người học
Pre-conditions Yêu cầu đăng nhập với bài quiz có yêu cầu. Có kết nối Internet
Post-conditions Hoàn thành: Trả lời chính xác hết tất cả câu hỏi có trong bài quiz.
Thông báo popup hoàn thành và thời gian hoàn thành.
30 Chuyển người học đến trang danh sách quiz.
Flow of events
Basic flow (Thành công)
Use case bắt đầu khi quản trị viên click nút làm bài tại bài quiz lựa chọn.
1. Hệ thống hiển thị trang làm bài.
2. Người học tiến hành chọn đáp án, đáp án sẽ được kiểm tra và thông báo kết quả.
3. Người học hoàn thành chính xác tất cả các câu hỏi. 4. Hệ thống lưu thông tin xuống cơ sở dữ liệu.
5. Hệ thống hiển thị thông báo kết quả, đóng popup và trở lại trang danh sách quiz.
Alternative flow (Thất bại)
Người dùng bấm thoát.
1. Hiển thị popup thông báo xác nhận thoát. 2. Người học bấm xác nhận.
3. Đóng popup và hiển thị màn hình trước đó.
Extension point Hệ thống thông báo lỗi.
Bảng 3.16: USE CASE - OLMS_UC_13
3.3.3.5. Usecase Học theo lộ trình (UC04)
Name Học theo lộ trình
Brief description Học theo các lộ trình được cung cấp.
Actor(s) Người học
Pre-conditions Người học đã đăng nhập Có kết nối Internet
Post-conditions Hoàn thành: Hoàn thành tất cả bài học có trong lộ trình Thông báo popup chúc mừng.
Thất bại: Không hiển thị.
Thoát: Thoát trang học khi đang học. Chuyển người học đến trang chủ.
Flow of events
Basic flow (Thành công)
Use case bắt đầu khi người học lựa chọn kịch bản trong bài học thuộc lộ trình lựa chọn.
1. Hệ thống hiển thị trang học.
2. Người học tiến hành học theo kịch bản, chọn đáp án,