Đang tải... (xem toàn văn)
Hệ thống đáp ứng được các yêu cầu cơ bản về bảo mật thông tin tài khoản, xác thực email, reset pasword. • Hệ thống E-Learning cung cấp các dịch vụ, chức năng chính như cho phép giảng viên upload bài giảng lên hệ thống với nhiều định dạng tài liệu như: video bài giảng; tập tin pdf, docx, pptx. • Tích hợp được trình xem trước tài liệu cho các tập tin như pdf, docx. • Cung cấp tính năng làm bài kiểm tra trắc nghiệm để đánh giá kết quả học tập của học viên. • Hiểu rõ hơn về quy trình phát triển phần mềm thông qua việc phân tích và thiết kế hệ thống. • Áp dụng được các kiến thức các môn học trong quá trình xây dựng hệ thống đặc biệt là: Phân tích yêu cầu phần mềm, Thiết kế và xây dựng phần mềm, Thiết kế và cài đặt cơ sở dữ liệu, Lập trình hướng đối tượng.
Trang 1Xây dựng hệ thống phần mềm Elearning học trực tuyến
Trang 2CHƯƠNG 2 PHÂN TÍCH YÊU CẦU PHẦN MỀM 2
2.1 Các yêu cầu chức năng 2
Các tác nhân 2
Các chức năng của hệ thống 2
Biểu đồ use case tổng quan 3
Biểu đồ use case phân rã 4
Quy trình nghiệp vụ 5
Đặc tả các usecase 13
2.2 Các yêu cầu phi chức năng 34
Giao diện người dùng 34
Tính bảo mật 34
Ràng buộc 34
CHƯƠNG 3 THIẾT KẾ HỆ THỐNG 35
3.1 Mô hình hóa cấu trúc 35
Đăng nhập, thay đổi mật khẩu, thiết lập lại mật khẩu 35
Quản lý câu hỏi thường gặp 39
Xem lịch sử khóa học và thông tin học viên 39
Quản lý thể loại khóa học 39
Sử dụng chức năng hệ thống của học viên 40
3.2 Mô hình hóa sự tương tác 40
Trang 3Đăng nhập 40
Thay đổi mật khẩu 41
Thiết lập lại mật khẩu 42
Đăng ký tài khoản 43
Cập nhật thông tin cá nhân 43
Quản lý câu hỏi thường gặp 50
Quản lý thể loại khóa học 51
Các chức năng hệ thống của học viên 52
Lịch sử khóa học và thông tin học viên 53
3.3 Kiến trúc tổng thể của hệ thống 54
Kiến trúc hoạt động của hệ thống [5] [6] 54
Thiết kế gói 55
Thiết kế chi tiết các gói 55
3.4 Thiết kế chi tiết lớp 56
Thiết kế chi tiết lớp của gói Admin 56
Thiết kế chi tiết lớp của gói Student 57
Thiết kế chi tiết lớp của gói Models 58
Thiết kế chi tiết lớp của gói Views 62
3.5 Thiết kế giao diện sử dụng hệ thống 73
Biểu đồ dịch chuyển màn hình 73
Giao diện người dùng 74
3.6 Thiết kế dữ liệu 88
Mô hình dữ liệu mức khái niệm 88
Mô hình dữ liệu mức logic 88
Trang 4Giao diện trang chủ 93
Giao diện trang quản trị 95
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 99
Trang 6DANH MỤC HÌNH VẼ
Hình 2.1 Biểu đồ use case tổng quan 3
Hình 2.2 Biểu đồ use case Quản trị viên 4
Hình 2.3 Biểu đồ use case Giảng viên 4
Hình 2.4 Biểu đồ hoạt động sử dụng phần mềm 5
Hình 2.5 Biểu đồ hoạt động quản lý giảng viên 6
Hình 2.6 Biểu đồ hoạt động quản lý khóa học 7
Hình 2.7 Biểu đồ hoạt động quản lý bài giảng 8
Hình 2.8 Biểu đồ hoạt động quản lý học viên 9
Hình 2.9 Biểu đồ hoạt động quản lý tin tức 10
Hình 2.10 Biểu đồ hoạt động quản lý câu hỏi thường gặp 11
Hình 2.11 Biểu đồ hoạt động sử dụng phần mềm của học viên 12
Hình 3.1 Biểu đồ lớp tham gia nhóm ca sử dụng “Quản lý tài khoản” 35
Hình 3.2 Biểu đồ lớp tham gia ca sử dụng “Đăng ký” 35
Hình 3.3 Biểu đồ lớp tham gia ca sử dụng “Cập nhật thông tin cá nhân” 35
Hình 3.4 Biểu đồ lớp tham gia ca sử dụng “Tìm kiếm” 36
Hình 3.5 Biểu đồ lớp tham gia ca sử dụng “Quản lý giảng viên” 36
Hình 3.6 Biểu đồ lớp tham gia ca sử dụng “Quản lý khóa học” 37
Hình 3.7 Biểu đồ lớp tham gia ca sử dụng “Quản lý học viên” 37
Hình 3.8 Biểu đồ lớp tham gia ca sử dụng “Quản lý bài giảng” 38
Hình 3.9 Biểu đồ lớp tham gia ca sử dụng “Quản lý tin tức” 38
Hình 3.10 Biểu đồ lớp tham gia ca sử dụng “Quản lý faqs” 39
Hình 3.11 Biểu đồ lớp tham gia ca sử dụng “Lịch sử khóa học” 39
Hình 3.12 Biểu đồ lớp tham gia ca sử dụng “Quản lý thể loại khóa học” 39
Hình 3.13 Biểu đồ lớp tham gia ca sử dụng “Chức năng hệ thống của học viên” 40
Hình 3.14 Biểu đồ trình tự cho chức năng “Đăng nhập” 40
Hình 3.15 Biểu đồ trình tự cho chức năng “Thay đổi mật khẩu” 41
Hình 3.16 Biểu đồ trình tự cho chức năng “Thiết lập lại mật khẩu” 42
Hình 3.17 Biểu đồ trình tự cho chức năng “Đăng ký tài khoản” 43
Hình 3.18 Biểu đồ trình tự cho chức năng “Cập nhật thôngt in cá nhân” 43
Hình 3.19 Biểu đồ trình tự cho chức năng “Tìm kiếm” 44
Hình 3.20 Biểu đồ trình tự cho chức năng “Quản lý giảng viên” 45
Hình 3.21 Biểu đồ trình tự cho chức năng “Quản lý khóa học” 46
Hình 3.22 Biểu đồ trình tự cho chức năng “Quản lý bài giảng” 47
Hình 3.23 Biểu đồ trình tự cho chức năng “Quản lý bài tập của bài giảng” 48
Hình 3.24 Biểu đồ trình tự cho chức năng “Quản lý tin tức” 49
Trang 7DANH MỤC HÌNH VẼ
Hình 3.25 Biểu đồ trình tự cho chức năng “Quản lý câu hỏi thường gặp” 50
Hình 3.26 Biểu đồ trình tự cho chức năng “Quản lý thể loại khóa học” 51
Hình 3.27 Biểu đồ trình tự cho “Chức năng hệ thống của học viên” 52
Hình 3.28 Biểu đồ trình tự cho chức năng “Thảo luận bài giảng” 53
Hình 3.29 Biểu đồ trình tự cho chức năng “Lịch sử khóa học và thông tin học viên” 53
Hình 3.30 Mô hình kiến trúc phần mềm MVC 54
Hình 3.31 Các gói của hệ thống 55
Hình 3.32 Mô tả chi tiết các gói của hệ thống 55
Hình 3.33 Lớp điều khiển AdminController 56
Hình 3.34 Lớp điều khiển CourseController 56
Hình 3.35 Lớp điều khiển LoginController 56
Hình 3.36 Lớp điều khiển FaqController 56
Hình 3.37 Lớp điều khiển NewsController 56
Hình 3.38 Lớp điều khiển UserController 57
Hình 3.39 Lớp điều khiển SubjectController 57
Hình 3.40 Lớp điều khiển DashboardController 57
Hình 3.41 Lớp điều khiển LectureController 57
Hình 3.42 Lớp điều khiển HistoryCourseController 57
Hình 3.43 Lớp điều khiển HomeController 57
Hình 3.44 Lớp điều khiển UserController 58
Hình 3.45 Lớp điều khiển CommentsController 58
Hình 3.46 Lớp điều khiển LoginController 58
Hình 3.47 Lớp điều khiển PasswordResetEmailsController 58
Trang 9Hình 3.108 Màn hình dịch chuyển trang quản trị 73
Hình 3.109 Giao diện danh sách GV – QTV 74
Hình 3.110 Giao diện thêm mới GV – QTV 74
Hình 3.111 Giao diện chi tiết GV – QTV 74
Hình 3.112 Giao diện cập nhật GV – QTV 75
Hình 3.113 Giao diện danh sách học viên 75
Hình 3.114 Giao diện xem thông tin học viên 75
Hình 3.115 Giao diện danh sách khóa học 76
Hình 3.116 Giao diện thêm mới khóa học 76
Hình 3.117 Giao diện thông tin khóa học 76
Hình 3.118 Giao diện cập nhật khóa học 77
Hình 3.119 Giao diện thêm bài giảng cho khóa học 77
Hình 3.120 Giao diện danh sách bài giảng 77
Hình 3.121 Giao diện tạo mới bài giảng 78
Hình 3.122 Giao diện xem chi tiết bài giảng 78
Hình 3.123 Giao diện cập nhật bài giảng 78
Hình 3.124 Giao diện tạo bài tập cho bài giảng 78
Hình 3.125 Giao diện sửa đổi bài tập 79
Hình 3.126 Giao diện danh sách tin tức 79
Hình 3.127 Giao diện thêm mới tin tức 79
Hình 3.128 Giao diện sửa đổi tin tức 80
Hình 3.129 Giao diện xem thông tin tin tức 80
Hình 3.130 Giao diện danh sách câu hỏi thường gặp 80
Hình 3.131 Giao diện tạo câu hỏi thường gặp 80
Trang 10DANH MỤC HÌNH VẼ
Hình 3.132 Giao diện xem câu hỏi thường gặp 81
Hình 3.133 Giao diện sửa đổi câu hỏi thường gặp 81
Hình 3.134 Giao diện danh sách thể loại khóa học 81
Hình 3.135 Giao diện tạo mới thể loại khóa học 81
Hình 3.136 Giao diện sửa đổi thể loại khóa học 82
Hình 3.137 Giao diện danh sách khóa học 82
Hình 3.138 Giao diện danh sách học viên trong khóa học 82
Hình 3.139 Giao diện đang nhập của GV – QTV 82
Hình 3.140 Giao diện đăng nhập của học viên 83
Hình 3.141 Giao diện gửi email thiết lập lại mật khẩu của GV – QTV 83
Hình 3.142 Giao diện gửi email thiết lập lại mật khẩu của học viên 83
Hình 3.143 Giao diện thiết lập lại mật khẩu của GV – QTV 83
Hình 3.144 Giao diện thiết lập lại mật khẩu của học viên 84
Hình 3.145 Giao diện thông tin cá nhân của GV – QTV 84
Hình 3.146 Giao diện thông tin cá nhân của học viên 84
Hình 3.147 Giao diện trang chủ 85
Hình 3.148 Giao diện thay đổi mật khẩu 85
Hình 3.149 Giao diện danh sách khóa học 85
Hình 3.150 Giao diện danh sách câu hỏi thường gặp 86
Hình 3.151 Giao diện danh sách tin tức 86
Hình 3.152 Giao diện nội dung tin tức 86
Hình 3.153 Giao diện danh sách khóa học của học viên 86
Hình 3.154 Giao diện thông tin khóa học 87
Hình 3.155 Giao diện danh sách bài giảng trong khóa học 87
Hình 3.156 Giao diện nội dung bài giảng 87
Hình 3.157 Giao diện đăng ký tài khoản 88
Hình 3.158 Mô hình dữ liệu khái niệm 88
Hình 3.159 Mô hình dữ liệu logic 88
Hình 3.160 Mô hình dữ liệu vật lý 89
Hình 3.161 Thiết kế cơ sở dữ liệu admins 89
Hình 3.162 Thiết kế cơ sở dữ liệu faq 89
Hình 3.163 Thiết kế cơ sở dữ liệu news 89
Hình 3.164 Thiết kế cơ sở dữ liệu course_lecture_user 90
Hình 3.165 Thiết kế cơ sở dữ liệu course_user 90
Hình 3.166 Thiết kế cơ sở dữ liệu subjects 90
Hình 3.167 Thiết kế cơ sở dữ liệu lectures 90
Trang 11DANH MỤC HÌNH VẼ
Hình 3.168 Thiết kế cơ sở dữ liệu courses 90
Hình 3.169 Thiết kế cơ sở dữ liệu course_lecture 90
Hình 3.170 Thiết kế cơ sở dữ liệu users 91
Hình 3.171 Thiết kế cơ sở dữ liệu comments 91
Hình 3.172 Thiết kế cơ sở dữ liệu exercises 91
Hình 3.173 Thiết kế cơ sở dữ liệu answer_user 91
Hình 3.174 Thiết kế cơ sở dữ liệu answers 91
Hình 3.175 Thiết kế cơ sở dữ liệu questions 91
Hình 4.1 Trang chủ 93
Hình 4.2 Danh sách khóa học 94
Hình 4.3 Thông tin chi tiết khóa học 94
Hình 4.4 Danh sách bài giảng 94
Hình 4.5 Nội dung bài giảng 95
Hình 4.6 Khóa học của giảng viên 95
Hình 4.7 Nội dung khóa học 96
Hình 4.8 Cập nhật thông tin khóa học 96
Hình 4.9 Tạo mới khóa học 96
Hình 4.10 Thêm bài giảng cho khóa học 97
Hình 4.11 Danh sách bài giảng 97
Hình 4.12 Tạo bài giảng 97
Hình 4.13 Nội dung chi tiết bài giảng 98
Hình 4.14 Sửa đổi bài giảng 98
Hình 4.15 Tạo bài tập cho bài giảng 98
Trang 12DANH MỤC BẢNG BIỂU
Bảng 2.1 Đặc tả chức năng “Đăng nhập” 13
Bảng 2.2 Dữ liệu chức năng “Đăng nhập” 13
Bảng 2.3 Đặc tả chức năng “Thay đổi mật khẩu” 14
Bảng 2.4 Đặc tả chức năng “Thiết lập lại mật khẩu” 15
Bảng 2.5 Đặc tả chức năng “Đăng ký” 16
Bảng 2.6 Dữ liệu chức năng “Đăng ký” 16
Bảng 2.7 Đặc tả chức năng “Cập nhật thông tin cá nhân” 17
Bảng 2.8 Dữ liệu chức năng “Cập nhật thông tin cá nhân” 17
Bảng 2.9 Đặc tả chức năng “Tìm kiếm giảng viên, học viên” 18
Bảng 2.10 Dữ liệu đầu vào “Tìm kiếm giảng viên , học viên” 18
Bảng 2.11 Dữ liệu tìm kiếm tin tức 18
Bảng 2.12 Dữ liệu tìm kiếm faqs 19
Bảng 2.13 Dữ liệu tìm kiếm khóa học 19
Bảng 2.14 Dữ liệu tìm kiếm lịch sử khóa học 19
Bảng 2.15 Dữ liệu tìm kiếm bài giảng 19
Bảng 2.16 Đặc tả chức năng “Quản lý giảng viên” 19
Bảng 2.17 Dữ liệu đầu vào chức năng “Quản lý giảng viên” 21
Bảng 2.18 Đặc tả chức năng “Quản lý khóa học” 21
Bảng 2.19 Dữ liệu chức năng “Quản lý khóa học” 23
Bảng 2.20 Đặc tả chức năng “Quản lý học viên” 23
Bảng 2.21 Đặc tả chức năng “Quản lý bài giảng” 24
Bảng 2.22 Dữ liệu đầu vào chức năng “Quản lý bài giảng” 26
Bảng 2.23 Dữ liệu bài tập của bài giảng 26
Bảng 2.24 Dữ liệu câu hỏi cho bài tập 26
Bảng 2.25 Dữ liệu đầu vào đáp án cho câu hỏi 27
Bảng 2.26 Đặc tả chức năng “Quản lý tin tức” 27
Bảng 2.27 Dữ liệu đầu vào khi thêm, sửa tin tức 28
Bảng 2.28 Đặc tả chức năng “Quản lý câu hỏi thường gặp” 28
Bảng 2.29 Dữ liệu đầu vào khi thêm, sửa faqs 30
Bảng 2.30 Đặc tả chức năng “Xem lịch sử khóa học và thông tin học viên” 30
Bảng 2.31 Đặc tả chức năng “Quản lý thể loại khóa học” 31
Bảng 2.32 Dữ liệu đầu vào khi thêm, sửa đổi thể loại khóa học 32
Bảng 2.33 Đặc tả sử dụng các chức năng hệ thống của học viên 32
Trang 13CHƯƠNG 1 GIỚI THIỆU 1.1 Đặt vấn đề
Ngày nay nhiều tổ chức, cá nhân đang phát triển và sử dụng rất nhiều dịch vụ hữu ích trên nền tảng internet trong đó có việc giảng dạy và học tập trên nền tảng số Để bắt kịp với thời đại 4.0 đã có rất nhiều các tổ chức, công ty đã tạo ra các khóa học online giúp các học viên có thể học trực tuyến
Việc học trực tuyến theo xu hướng hiện nay là rất cần thiết vì các khóa học cung cấp đầy đủ nội dung, chất lượng như những khóa học truyền thống khác Và lợi ích không nhỏ đó là chi phí bỏ ra ít tốn kém hơn rất nhiều
Cuối năm 2019 đến những tháng giữa năm 2020 này trên thế giới đã và đang xảy ra một cuộc khủng hoảng y tế toàn cầu do Coronavirus gây ra khiến thế giới phải cách ly xã hội Vì vậy việc học tập và giảng dạy gặp rất nhiều khó khăn; các trường học, tổ chức, cá nhân chưa có sự chuẩn bị nền tảng, nội dung cung cấp các khóa học trực tuyến sẽ có đối mặt với nhiều khó khăn trong việc duy trì việc dạy và học
Vì vậy trong đề tài ĐATN lần này em đã lựa chọn việc xây dựng một hệ thống học tập trực tuyến để giải quyết khó khăn và đáp ứng nhu cầu thực tế trong việc dạy và học trực tuyến, đang rất cần thiết trong giai đoạn dịch bệnh này
1.2 Mục đích và phạm vi đề tài
ĐATN được xây dựng nhằm mục đích phát triển hệ thống học tập trực tuyến hỗ trợ công việc giảng dạy và học tập cho học sinh , sinh viên trong các trường đại học, cao đẳng cũng như các đơn vị tổ chức giáo dục, cá nhân mong muốn tích hợp và chuyển đổi nền tảng học tập đi kèm với hình thức giảng dạy truyền thống nhưng vẫn đảm bảo được nội dung, chất lượng và chi phí
1.3 Bố cục đồ án
Tài liệu này được viết dựa theo gợi ý của thầy TS Nguyễn Nhật Quang, chuẩn của “Tài liệu đặc tả yêu cầu phần mềm SRS - mô tả thiết kế phần mềm SDD” được giải thích trong “IT4490: Software Design and Construction” [1], “IEEE Recommended Practice for Software Requirements Specifications” [2], “IEEE Guide for Developing System Requirements Specifications” [3] và “IEEE Standard for Information Technology–Systems Design–Software Design Descriptions” [4]
Với cấu trúc được chia thành năm chương: ❖ Chương 1: Giới thiệu ĐATN
❖ Chương 2: Mô tả các yêu cầu và thành phần của hệ thống ❖ Chương 3: Mô tả thiết kế phần mềm hệ thống E-Learning ❖ Chương 4: Tìm hiểu công nghệ, cài đặt hệ thống
❖ Chương 5: Kết luận và hướng phát triển của hệ thống
Trang 14CHƯƠNG 2 PHÂN TÍCH YÊU CẦU PHẦN MỀM 2.1 Các yêu cầu chức năng
Các tác nhân
Hệ thống gồm có các tác nhân là Khách, Học viên, Giảng viên và Quản trị viên Khách có vai trò là người dùng khi chưa đăng nhập vào hệ thống Học viên đăng nhập vào hệ thống Giảng viên được cung cấp các chức năng giảng dạy và hướng dẫn học tập Quản trị viên có vai trò quản trị hoạt động của hệ thống
Các chức năng của hệ thống
❖ Đăng nhập: Chức năng này nhằm mục đínch xác thực người dùng khi tương tác với hệ thống nhằm cung cấp quyền cũng như phạm vi truy cập hệ thống
❖ Đăng ký: Để truy cập sử dụng hệ thống thì Người dùng trước hết cần đăng ký tài khoản
❖ Quản trị người dùng: Quản trị viên có vai trò quản trị những người dùng trong hệ thống
❖ Các nhóm chức năng quản lý khóa học, bài giảng, bài tập: Công việc quản trị khóa học của Giảng viên
❖ Đăng ký khóa học: Người dùng sử dụng chức năng nhằm mục đích đăng ký, truy cập đến nguồn kiến thức từ những khóa học do Giảng viên tạo ra Để có thể hình dung rõ hơn về các tác nhân cũng như yêu cầu chức năng của hệ thống bằng cách mô hình hóa chúng dưới các sơ đồ use cases, các sơ đồ sẽ được trình bày phía sau
Trang 15Biểu đồ use case tổng quan
Hình 2.1 Biểu đồ use case tổng quan
Trang 16Biểu đồ use case phân rã
2.1.4.1 Phân rã use case “Quản trị viên”
Hình 2.2 Biểu đồ use case Quản trị viên
2.1.4.2 Phân rã use case “Giảng viên”
Hình 2.3 Biểu đồ use case Giảng viên
Trang 17Quy trình nghiệp vụ
2.1.5.3 Quy trình sử dụng phần mềm
Khách có thể đăng ký để tạo ra tài khoản cho mình Sau đó có thể đăng nhập để sử dụng các chức năng của phần mềm Nếu khách quên mật khẩu, khách có thể yêu cầu hệ thống cho phép mình thiết lập lại mật khẩu Lúc này, hệ thống sẽ gửi liên kết qua email đã đăng ký và có thể vào liên kết đó để thực hiện việc thiết lập lại mật khẩu
Sau khi đăng nhập thành công vào hệ thống, người dùng có thể sử dụng các chức năng như Xem và cập nhật thông tin cá nhân của mình, Thay đổi mật khẩu, và các chức năng trong phạm vi của mình mà hệ thống đã cấp phát
Hình 2.4 Biểu đồ hoạt động sử dụng phần mềm
Trang 182.1.5.4 Quy trình quản lý giảng viên
Quản trị viên có thể quản lý người dùng theo theo các bước: Quản trị viên tìm kiếm người dùng, cung cấp thông tin tìm kiếm và xem thông tin người dùng đó Quản trị viên có thể thêm mới người dùng là Giảng viên
Hình 2.5 Biểu đồ hoạt động quản lý giảng viên
Trang 192.1.5.5 Quy trình quản lý khóa học
Giảng viên trước tiên cần đăng nhập hệ thống để xác thực người dùng Sau đó, giảng viên yêu cầu chức năng tạo thông tin khóa học và cung cấp thông tin cần có cho khóa học và tạo mới Các quy trình cập nhật, xóa thông tin khóa học có các bước thực hiện tương tự
Hình 2.6 Biểu đồ hoạt động quản lý khóa học
Trang 202.1.5.6 Quy trình quản lý bài giảng
Hình 2.7 Biểu đồ hoạt động quản lý bài giảng
Trang 212.1.5.7 Quy trình quản lý học viên
Hình 2.8 Biểu đồ hoạt động quản lý học viên
Trang 222.1.5.8 Quy trình quản lý tin tức
Hình 2.9 Biểu đồ hoạt động quản lý tin tức
Trang 232.1.5.9 Quy trình quản lý câu hỏi thường gặp
Hình 2.10 Biểu đồ hoạt động quản lý câu hỏi thường gặp
Trang 242.1.5.10 Quy trình sử dụng phần mềm của học viên
Hình 2.11 Biểu đồ hoạt động sử dụng phần mềm của học viên
Trang 25ME
5 Hệ thống Kiểm tra xem khách đã nhập các trường bắt buộc nhập hay chưa
trong hệ thống hay không
* Dữ liệu đầu vào gồm các trường dữ liệu sau:
Bảng 2.2 Dữ liệu chức năng “Đăng nhập”
Bắt
1 Email Input email field Có Đúng định dạng email
qndev@gmail.com 2 Mật khẩu Pasword field Có Tối thiểu 6 kí tự Password
Trang 262.1.6.12 Thay đổi mật khẩu
Bảng 2.3 Đặc tả chức năng “Thay đổi mật khẩu”
Passwork” đối với Học viên trên phần đầu trang
ME
3 Người dùng Điền thông tin mật khẩu cũ để xác minh, mật khẩu mới để thay đổi và xác minh lại mật khẩu mới trùng khớp với mật khẩu cần thay đổi
khẩu mới có trùng khớp và tiến hành thay đổi mật khẩu
AE
cấp không đúng hoặc không trùng khớp
*Ghi chú: Đối với tác nhân là Quản trị viên và Giảng viên thì use case thay đổi mật khẩu sẽ tích hợp vào use case cập nhật thông tin cá nhân với hai trường Input field là Password và Password Confirm Đối với tác nhân là Học viên thì cần cung cấp thông tin mật khẩu cũ để xác minh
Trang 272.1.6.13 Thiết lập lại mật khẩu
Bảng 2.4 Đặc tả chức năng “Thiết lập lại mật khẩu”
password?” đối với Học viên tại trang đăng nhập
ME
hoạt bên trên)
2 Hệ thống Hiển thị giao diện chức năng thiết lập lại mật khẩu 3 Người dùng Nhập email tương ứng với tài khoản cần thiết lập lại
lập lại mật khẩu (liên kết thiết lập lại mật khẩu chỉ tồn tại trong vòng 60 phút)
Trang 282.1.6.14 Đăng ký
Bảng 2.5 Đặc tả chức năng “Đăng ký”
ME
5 Hệ thống Kiểm tra xem khách đã nhập các trường bắt buộc nhập hay chưa
7 Hệ thống Kiểm tra mật khẩu nhập lại và mật khẩu có trùng nhau hay không
nếu mật khẩu không đảm bảo độ an toàn được quy định bởi hệ thống (có ít nhất 6 ký tứ)
* Dữ liệu đầu vào của chức năng Đăng ký gồm các trường dữ liệu sau:
Bảng 2.6 Dữ liệu chức năng “Đăng ký”
Bắt
1 Email Input email field Có Địa chỉ email hợp lệ qndev@gmail.com
2 Mật khẩu Pasword field Có Ít nhất 6 ký tự 123456 3 Xác nhận
mật khẩu
Pasword field Có Trùng với Mật khẩu 123456
Trang 292.1.6.15 Cập nhật thông tin cá nhân
Bảng 2.7 Đặc tả chức năng “Cập nhật thông tin cá nhân”
trên phần đầu trang (header)
ME
1 Người dùng Chọn chức năng Cập nhật thông tin cá nhân 2 Hệ thống Hiển thị giao diện cập nhật thông tin cá nhân 3 Người dùng Điền thông tin cần cập nhật (mô tả phía dưới *)
5 Hệ thống Kiểm tra thông tin nhập liệu của người dùng
AE
5a Hệ thống Thông báo lỗi nếu kiểm tra thông tin nhập liệu không đúng định dạng
6a Hệ thống Thông báo lỗi nếu hệ thống không thể cập nhật thông tin
* Dữ liệu đầu vào chức năng Cập nhật thông tin cá nhân:
Bảng 2.8 Dữ liệu chức năng “Cập nhật thông tin cá nhân”
Bắt
1 Họ tên Input text field Không Không quá 255 kí tự Nguyễn Đình Quang
2 Email Input email field Có Đúng định dạng email qndev@gmail.com
3 Ngày sinh DatePicker Không Ngày tháng hợp lệ 04/15/1996 4 Điện thoại Input text field Không Kí tự số 0989123456 5 Giới tính Male, Female,
Other
Không Chọn Male, Female, Other
Male 6 Ảnh Ảnh đại diện Không Định dạng png, gif,
jpeg, jpg
Trang 302.1.6.16 Tìm kiếm
Bảng 2.9 Đặc tả chức năng “Tìm kiếm giảng viên, học viên”
ME
2 Hệ thống Hiển thị giao diện chức năng tìm kiếm
3 QTV Nhập tên, email, số điện thoại hoặc giới tính người dùng muốn tìm kiếm (mô tả phía dưới *)
5 Hệ thống Tìm và lấy về thông tin những người dùng thoả mãn các tiêu chí tìm kiếm
6 Hệ thống Hiển thị danh sách những người dùng thoả mãn điều kiện tìm kiếm nếu có ít nhất một người dùng được tìm thấy
AE
6a Hệ thống Thông báo: Không tìm thấy thông tin người dùng nào thoả mãn tiêu chí tìm kiếm nếu trả về danh sách rỗng
* Dữ liệu đầu vào khi tìm kiếm giảng viên, học viên:
Bảng 2.10 Dữ liệu đầu vào “Tìm kiếm giảng viên , học viên”
1 Tên Input text field
Không Chuỗi kí tự Nguyễn Văn A 2 Email Input text
ing
Male
Tương tự như đặc tả use case “Tìm kiếm giảng viên, học viên” ta có luồng sự kiện tìm kiếm giữa tác nhân Quản trị viên, Giảng viên với hệ thống với dữ liệu tìm kiếm ở các use case “Tìm kiếm tin tức, câu hỏi thường gặp, khóa học, lịch sử khóa học, bài giảng” này tương ứng dưới bảng sau:
Dữ liệu đầu vào khi tìm kiếm tin tức:
Bảng 2.11 Dữ liệu tìm kiếm tin tức
1 Tiêu đề Input text
Không Chuỗi kí tự Đại học Bách Khoa Hà Nội
Trang 31Dữ liệu đầu vào khi tìm kiếm câu hỏi thường gặp (faqs):
Bảng 2.12 Dữ liệu tìm kiếm faqs
1 Nội dung câu hỏi
Input text field
Không Chuỗi kí tự Các yêu cầu kỹ thuật để xem tài liệu trên hệ thống là gì ?
Dữ liệu đầu vào khi tìm kiếm khóa học:
Bảng 2.13 Dữ liệu tìm kiếm khóa học
bắt đầu
Lựa chọn thời gian (Datetime Picker)
Không Ngày tháng hợp lệ
2020/07/28 5 Thời gian
kết thúc
Lựa chọn thời gian (Datetime Picker)
Không Ngày tháng hợp lệ
2020/08/28 6 Trạng thái
khóa học
Select dropbox Không Private/Public/Null
Chọn trạng thái Private tại dropbox
Dữ liệu đầu vào khi tìm kiếm lịch sử khóa học:
Bảng 2.14 Dữ liệu tìm kiếm lịch sử khóa học
1 Tên khóa học
Input text field Không Chuỗi kí tự Math 2 Mã khóa học Input text field Không Chuỗi kí tự CO258369
Dữ liệu đầu vào khi tìm kiếm bài giảng:
Bảng 2.15 Dữ liệu tìm kiếm bài giảng
1 Tên bài giảng
Input text field Không Chuỗi kí tự Lecture 1
2.1.6.17 Quản lý giảng viên
Bảng 2.16 Đặc tả chức năng “Quản lý giảng viên”
TE
Click nút “Create Teacher”, “Delete”, “Teachers”, “Teacher Detail, “Edit Teacher” tương ứng với các sự kiện thêm mới, xóa, xem danh sách, xem chi tiết, thay đổi thông tin giảng viên
Trang 32Tìm kiếm (S - Search): UC006 Xem (R - Read):
ME
1 Quản trị viên Yêu cầu Xem danh sách giảng viên
3 Quản trị viên Yêu cầu xem chi tiết thông tin giảng viên 4 Hệ thống Hiển thị chi tiết thông tin giảng viên
Sửa (U - Update):
ME
1 Quản trị viên Chọn xem chi tiết giảng viên và yêu cầu sửa
2 Hệ thống Lấy thông tin chi tiết giảng viên và hiển thị thông tin lên giao diện của chức năng sửa
3 Quản trị viên Chỉnh sửa các thông tin giảng viên (mô tả phía dưới **) và yêu cầu sửa
5 Hệ thống Cập nhật các thông tin cần chỉnh sửa và thông báo chỉnh sửa thành công
1 Quản trị viên Chọn giảng viên cần xóa yêu cầu xoá
2 Hệ thống Hiển thị thông báo yêu cầu quản trị viên xác nhận việc xoá
3 Người dùng Xác nhận xoá giảng viên
Thêm (C - Create):
ME
1 Quản trị viên Yêu cầu chức năng thêm mới giảng viên
3 Quản trị viên Nhập các thông tin giảng viên (mô tả phía dưới **) và yêu cầu thêm mới
Trang 33** Dữ liệu đầu vào khi thêm/sửa:
Bảng 2.17 Dữ liệu đầu vào chức năng “Quản lý giảng viên”
1 Tên Text field Có Tối đa 255 kí tự 2 Email Email giảng viên:
input email field
Có Định dạng email teacher@gmail.com 3 Kiểu
Người dùng
Giảng viên Có Số nguyên 1: Admin 2: Giảng viên 4 Ngày sinh DatePicker Không Định dạng ngày 04/15/1980 5 Điện thoại Không Kí tự số 0989123456 6 Giới tính Lựa chọn Male,
Female hoặc Other
7 Ảnh đại diện
Không Định dạng ảnh: png, jpeg, jpg, gif 8 Mật khẩu Có Độ dài tối thiểu 6
kí tự
123456 9 Trạng thái Tài khoản bị khóa
hay không
Có Đã lựa chọn trạng thái
Unlocked (không bị khóa)
2.1.6.18 Quản lý khóa học
Bảng 2.18 Đặc tả chức năng “Quản lý khóa học”
Tìm kiếm (S - Search):
ME
2 Hệ thống Hiển thị giao diện chức năng tìm kiếm
khóa học muốn tìm kiếm
5 Hệ thống Tìm và lấy về thông tin những người dùng thoả mãn các tiêu chí tìm kiếm
AE 5a Hệ thống Thông báo: Không tìm thấy thông tin người dùng nào thoả mãn tiêu chí tìm kiếm nếu trả về danh sách rỗng Xem (R - Read):
ME
2 Hệ thống Hiển thị danh sách khóa học của giảng viên
4 Hệ thống Hiển thị chi tiết khóa học
Trang 34AE 2a Hệ thống Thông báo nếu không có ít nhất một khóa học nào
Sửa (U - Update):
ME
2 Hệ thống Lấy thông tin chi tiết khóa học và hiển thị thông tin hiện tại lên giao diện của chức năng sửa
và yêu cầu sửa
5 Hệ thống Cập nhật các thông tin cần chỉnh sửa và thông báo chỉnh sửa thành công
2 Hệ thống Hiển thị thông báo yêu cầu người dùng xác nhận việc xoá
3 Người dùng Xác nhận xoá khóa học
Thêm (C - Create):
ME
3 GV Nhập các thông tin khóa học (mô tả phía dưới **) và yêu cầu thêm mới
Trang 35** Dữ liệu đầu vào khi thêm/sửa:
Bảng 2.19 Dữ liệu chức năng “Quản lý khóa học”
1 Tên khóa học Input text field Có Đại số tuyến tính
2 Miêu tả Text field Có 3 Thời gian bắt
dầu
DatePicker Có Đúng ngày 15/04/2020 4 Thời gian kết
thúc
DatePicker Có Đúng ngày sau thời gian bắt dầu
30/04/2020 5 Trạng thái Radio button Có Public hoặc
Private 6 Ảnh Ảnh minh họa Không Định dạng ảnh:
png, gif, jpg, jpeg 7 Tài liệu tham
khảo
Thông tin hoặc các đường dẫn đến tài liệu tham khảo
Không
2.1.6.19 Quản lý học viên
Bảng 2.20 Đặc tả chức năng “Quản lý học viên”
viên
Sự kiện kích hoạt Click nút “Delete”, “Users”, “User Detail tương ứng với các sự kiện xóa, xem danh sách, xem chi tiết học viên
Tìm kiếm (S - Search): UC006 Xem (R - Read):
Luồng sự kiện chính
STT
4 Hệ thống Hiển thị chi tiết thông tin học viên
Luồng sự kiện thay
2 Hệ thống Hiển thị thông báo yêu cầu quản trị viên, giảng viên xác nhận việc xoá
Luồng sự kiện thay
thế
Trang 36Hậu điều kiện Hiển thị danh sách tương ứng với thông tin cần tìm kiếm; Xóa thành công học viên khỏi hệ thống; Mở khóa cho học viên sử dụng chức năng hệ thống hay khi Khóa học viên, sẽ không thể sử dụng được chức năng hệ thống
2.1.6.20 Quản lý bài giảng
Bảng 2.21 Đặc tả chức năng “Quản lý bài giảng”
tập cho bài giảng
Lecture”, “Create Exercises”, “Delete Exercise”, “Edit Exercise”
Tìm kiếm (S - Search):
ME
2 Hệ thống Hiển thị giao diện chức năng tìm kiếm
5 Hệ thống Tìm và lấy về thông tin bài giảng
2 Hệ thống Hiển thị danh sách bài giảng
4 Hệ thống Hiển thị chi tiết bài giảng với danh sách bài tập của bài giảng đó
5.2 Hệ thống Hiển thị thông báo yêu cầu xác nhận việc xoá
6.2 Hệ thống Hiển thị chi tiết bài tập của bài giảng đó
6.4 Hệ thống Hiển thị giao diện cập nhật bài tập
6.6 Hệ thống Kiểm tra thông tin mới cần chỉnh sửa và cập nhật lại cơ sở dữ liệu của hệ thống
AE
2a Hệ thống Thông báo nếu không có ít nhất một bài giảng nào 4a Hệ thống Thông báo nếu không có ít nhất bài tập nào của bài
giảng
Trang 375.4a Hệ thống Thông báo lỗi nếu xóa không thành công
6.6a Hệ thống Thông báo lỗi nếu thông tin mới cần cập nhật không đings định dạng hoặc thông báo lỗi nếu cập nhật không thành công vào hệ thống
Thêm bài tập cho bài giảng (CE – Create Exercises):
ME
2 Hệ thống Hiển thị chi tiết bài giảng
4 Hệ thống Hiển thị giao diện chức năng thêm mới bài tập
(mô tả phía dưới **)
6 Hệ thống Kiểm tra định dạng thông tin GV nhập liệu trước khi lưu trữ vào hệ thống
7 Hệ thống Thêm mới bài tập cho bài giảng vào cơ sở dữ liệu của hệ thống
2 Hệ thống Lấy thông tin chi tiết bài giảng và hiển thị thông tin hiện tại lên giao diện của chức năng sửa
và yêu cầu sửa
5 Hệ thống Cập nhật các thông tin cần chỉnh sửa và thông báo chỉnh sửa thành công
2 Hệ thống Hiển thị thông báo yêu cầu xác nhận việc xoá
Thêm (C - Create):
ME
2 Hệ thống Hiển thị chức năng thêm mới bài giảng
Trang 383 GV Nhập các thông tin bài giảng (mô tả phía dưới *) và yêu cầu thêm mới
*Dữ liệu đầu vào khi thêm/sửa:
Bảng 2.22 Dữ liệu đầu vào chức năng “Quản lý bài giảng”
1
2 Tên bài giảng Input text field Có Chuỗi kí tự Chapter1: Hệ tuyến tính 3 Miêu tả Text field Không Chuỗi kí tự
4 Đường dẫn đến tài liệu
Text field Có URL https://storageserver/lecture.mp4 5 Người tạo ID Giảng viên,
Quản trị viên
Có Số nguyên 20
**Dữ liệu đầu vào khi thêm/sửa:
Bảng 2.23 Dữ liệu bài tập của bài giảng
2 2 Id bài giảng Xác định bài tập
thuộc bài giảng nào
Có Số nguyên 1
3 Tên bài tập Input text field Có Chuỗi kí tự Bài tập 1: Hệ tuyến tính 4 Miêu tả Text field Có Chuỗi kí tự
5 Người tạo ID Giảng viên, Quản trị viên
Có Số nguyên 20
Dữ liệu câu hỏi:
Bảng 2.24 Dữ liệu câu hỏi cho bài tập
Bắt buộc?
3 2 Id của bài tập Xác định câu hỏi thuộc
bài tập nào
Có Số nguyên 2 3 Nội dung câu
hỏi
Text field Có Chuỗi kí tự Hệ PT tuyến tính là gì?
Trang 39Dữ liệu đáp án cho câu hỏi:
Bảng 2.25 Dữ liệu đầu vào đáp án cho câu hỏi
Text field Có Chuỗi kí tự Hệ PT tuyến tính là A (1) Hệ PT tuyến tính là B (0) Hệ PT tuyến tính là C (0) Hệ PT tuyến tính là D (0) 2 Id câu hỏi Xác định câu trả lời
thuộc câu hỏi nào
Có Số nguyên 3 3 Đáp án đúng Đáp án đúng trong 4
đáp án trên: nếu đáp án được đánh dấu flag là 1 và 0 là các đáp án sai
Có 1 hoặc 0 1
2.1.6.21 Quản lý tin tức
Bảng 2.26 Đặc tả chức năng “Quản lý tin tức”
Sự kiện kích hoạt
Click nút “Create News”, “Delete”, “News Detail, “Edit News”, “Search Button”, menu “News” tương ứng với các sự kiện thêm mới, xóa, xem chi tiết, thay đổi, tìm kiếm, danh sách tin tức
Tìm kiếm (S - Search): UC007 Xem (R - Read):
ME
1 Quản trị viên Yêu cầu Xem danh sách tin tức (click menu News)
3 Quản trị viên Yêu cầu xem chi tiết thông tin tin tức 4 Hệ thống Hiển thị chi tiết thông tin tin tức
Sửa (U - Update):
ME
1 Quản trị viên Chọn xem chi tiết tin tức và yêu cầu sửa
2 Hệ thống Lấy thông tin chi tiết tin tức và hiển thị thông tin lên giao diện của chức năng sửa
3 Quản trị viên Chỉnh sửa các thông tin (mô tả phía dưới **) và yêu cầu sửa
5 Hệ thống Cập nhật các thông tin cần chỉnh sửa và thông báo
Trang 401 Quản trị viên Chọn tin tức cần xóa yêu cầu xoá
2 Hệ thống Hiển thị thông báo yêu cầu quản trị viên xác nhận việc xoá
3 Người dùng Xác nhận xoá tin tức
Thêm (C - Create):
ME
1 Quản trị viên Yêu cầu chức năng thêm mới tin tức
3 Quản trị viên Nhập các thông tin tin tức (mô tả phía dưới **) và yêu cầu thêm mới
AE
4a Hệ thống Thông báo lỗi nếu dữ liệu nhập vào không đúng định dạng
Hậu điều kiện
Hiển thị danh sách tương ứng với thông tin cần tìm kiếm; Cập nhật thành công, thông tin mới sẽ được lưu trữ vào hệ thống; Xóa thành công tin tức; Tin tức khi tạo mới được lưu trữ trong cơ sở dữ liệu của hệ thống Thông báo lỗi khi thực hiện các chức năng không thành công
**Dữ liệu tin tức:
Bảng 2.27 Dữ liệu đầu vào khi thêm, sửa tin tức
1 Tiêu đề Tiêu đề tin tức (Input field)
Có Chuỗi kí tự Linear Algebra 2 Nội dung Nội dung tin
tức (textarea)
Có Text Linear Algebra course released in 2011
2.1.6.22 Quản lý câu hỏi thường gặp
Bảng 2.28 Đặc tả chức năng “Quản lý câu hỏi thường gặp”
thường gặp (faqs)
Sự kiện kích hoạt
Click nút “Create News”, “Delete”, “News Detail, “Edit News”, “Search Button”, menu “News” tương ứng với các sự kiện thêm mới, xóa, xem chi tiết, thay đổi, tìm kiếm, danh sách tin tức