Xây dựng hệ thống phần mềm Elearning học trực tuyến

112 0 0
Tài liệu đã được kiểm tra trùng lặp
Xây dựng hệ thống phần mềm Elearning học trực tuyến

Đ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

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 1

Xây dựng hệ thống phần mềm Elearning học trực tuyến

Trang 2

CHƯƠ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 4

Giao 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 6

DANH 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 7

DANH 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 9

Hì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 10

DANH 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 11

DANH 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 12

DANH 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 13

CHƯƠ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 14

CHƯƠ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 15

Biểu đồ use case tổng quan

Hình 2.1 Biểu đồ use case tổng quan

Trang 16

Biể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 17

Quy 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 18

2.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 19

2.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 20

2.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 21

2.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 22

2.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 23

2.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 24

2.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 25

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

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 26

2.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 27

2.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 28

2.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 29

2.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 30

2.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 31

Dữ 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 32

Tì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 34

AE 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 36

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; 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 37

5.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 38

3 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 39

Dữ 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 40

1 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

Ngày đăng: 16/05/2024, 13:57

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

Tài liệu liên quan