KẾT QUẢ DỰ KIẾNKiến thức● Sinh viên hiểu được về những kiến thức tìm hiểu trong báo cáo.● Sinh viên hiểu được cách triển khai một và quản lý một hệ thống thi trắc nghiệmtrực tuyến hiệu q
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG THÔN VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI
NGUYỄN THÀNH LONG
XÂY DỰNG WEBSITE HỆ THỐNG THI TRẮC NGHIỆM TRỰC
TUYẾN CHO HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
ĐỒ ÁN TỐT NGHIỆP / KHÓA LUẬN TỐT NGHIỆP
HÀ NỘI, NĂM 2023
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ NÔNG THÔN VÀ PTNT
TRƯỜNG ĐẠI HỌC THỦY LỢI
NGUYỄN THÀNH LONG
XÂY DỰNG WEBSITE THI TRẮC NGHIỆM TRỰC TUYẾN
CHO HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
Ngành: Hệ thống thông tin
Mã số: HT
Người hướng dẫn: TS Nguyễn Thọ Thông
HÀ NỘI, NĂM 2023
Trang 3GÁY BÌA ĐỒ ÁN TỐT NGHIỆP, KHÓA LUẬN TỐT NGHIỆP
HỌ VÀ TÊN:
NGU YỄN THÀ NH LON G ĐỒ ÁN/K L TỐT NGHI ỆP HÀ NỘI, NĂM 2023
Trang 4LỜI CAM ĐOAN
Em tên là Nguyễn Thành Long, em xin cam đoan đây là Đồ án tốt nghiệp / Luận án tốt nghiệp do chính bản thân em làm Các kết quả trong Đồ án tốt nghiệp / Khóa luận tốt nghiệp này mà em làm là trung thực, không sao chép toàn bộ từ bất cứ một nguồn nào, dưới mọi hình thức nào Việc thao khảo các nguồn tài liệu (nếu có) đã được em thực hiện trích dẫn và ghi nguồn tài liệu tham khảo một cách rõ ràng, đúng quy định
Tác giả ĐATN / KLTN
Long
Nguyễn Thành Long
Trang 5LỜI CẢM ƠN
Lời đầu tiên em xin chân thành cảm ơn các thầy, cô trong khoa Công nghệ thông tin, trường Đại học Thủy Lợi đã tạo điều kiện thuận lợi cho em trong quá trình học tập tại trường cũng như trong thời gian thực hiện đồ án tốt nghiệp Đặc biệt, em muốn gửi lời cảm ơn tới thầy Nguyễn Thọ Thông – giáo viên trực tiếp hướng dẫn, chỉ bảo để em khắc phục những khó khăn, thiếu xót và hoàn thành các phần trong đồ án tốt nghiệp từ lý thuyết cho tới thực hành một cách thuận lợi
Mặc dù em đã cố gắng với tất cả sự nỗ lực của bản thân để hoàn thiện đồ án, nhưng do thời gian có hạn, năng lực và kinh nghiệm còn hạn chế nên đồ án không thể tránh khỏi những thiếu sót Kính mong nhận được sự đóng góp ý kiến từ phía thầy cô, bạn bè để em
có thể nâng cao tư duy, kiến thức của bản thân và hoàn thiện đồ án tốt hơn
Em xin chân thành cảm ơn!
Trang 6CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Xây dựng website thi trắc nghiệm trực tuyến cho Học Viện Nông Nghiệp Việt Nam
2 - CÁC TÀI LIỆU THAM KHẢO
Trang 73 – NỘI DUNG CÁC PHẦN THUYẾT MINH VÀ TÍNH TOÁN
Chương 1: Tổng quan và cơ sở lý thuyết 10%
Chương 2: Phân tích thiết kế hệ thống 40%
Chương 3: Thực nghiệm và đánh giá 40%
Chương 2: Phân tích thiết kế hệ thống
Chương 3: Thực nghiệm và đánh giá
Trang 9TRƯỜNG ĐẠI HỌC THỦY LỢI
KHOA CÔNG NGHỆ THÔNG TIN
BẢN TÓM TẮT ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP
-TÊN ĐỀ TÀI XÂY DỰNG WEBSITE THI TRẮC NGHIỆM TRỰC
TUYẾN CHO HỌC VIỆN NÔNG NGHIỆP VIỆT NAM
Sinh viên thực hiện : Nguyễn Thành Long
Tại Việt Nam, đồng thời với sự đổi mới phương pháp dạy và học, việc cải tiếnhình thức thi cũng trở thành một yêu cầu cấp bách Trong các hình thức thi cử, trắcnghiệm khách quan được coi là hình thức thu hút nhiều sự quan tâm nhất, nhờ những ưuđiểm của nó trong việc kiểm tra và đánh giá trình độ của thí sinh Hình thức này mangtính khách quan, trung thực, và kiểm tra được nhiều kiến thức, từ đó tránh được việc họclòng và thuộc vẹt Hiện nay, trắc nghiệm đang là xu hướng chung trong hầu hết các kỳ thi
ở Việt Nam
Trang 10Với sự phổ biến của hình thức thi trắc nghiệm, đã có nhiều phần mềm được pháttriển nhằm hỗ trợ sinh viên ôn luyện kiến thức theo hình thức này Hơn nữa, các trangweb hỗ trợ làm bài thi trắc nghiệm trực tuyến cũng đã ra đời Vì lý do đó, Học Viện Nông
Nghiệp Việt Nam đã hợp tác với tôi “Xây dựng website thi trắc nghiệm trực tuyến cho Học viện Nông Nghiệp Việt Nam” để phục vụ cho các kì thi của trường
● Nghiên cứu về lý thuyết trắc nghiệm
● Tìm hiểu về quy trình tạo đề thi, chấm điểm đề thi , tạo câu hỏi trực tuyến
● Tìm hiểu về framework Laravel của PHP
● Tìm hiểu về cách thiết kế website, thiết kế cơ sở dữ liệu
Kỹ năng
● Sinh viên tìm hiểu kiến thức về hình thức thi trắc nghiệm
● Sinh viên nắm rõ và sử dụng Framework Laravel để xây dụng website thi trắcnghiệm trực tuyến
Trang 11KẾT QUẢ DỰ KIẾN
Kiến thức
● Sinh viên hiểu được về những kiến thức tìm hiểu trong báo cáo
● Sinh viên hiểu được cách triển khai một và quản lý một hệ thống thi trắc nghiệmtrực tuyến hiệu quả
● Sinh viên nắm rõ các kỹ thuật phân tích xử lý dữ liệu liên quan đến hệ thống thitrắc nghiệm trực tuyến
Kỹ năng
● Sinh viên ứng dụng cài đặt thành công chương trình trên ngôn ngữ lập trình PHPcùng với framework Laravel về hệ thống thi trắc nghiệm trực tuyến
● Thu thập dữ liệu, tiền xử lí dữ liệu
● Sinh viên có khả năng thiết kế và triển khai hệ thống một cách chuyên nghiệp
● Sinh viên có khả năng nghiên cứu và áp dụng các công nghệ mới nhất để nângcao hiệu suất và tính năng của hệ thống
Trang 12MỤC LỤC
DANH MỤC HÌNH ẢNH 1
DANH MỤC BẢNG BIỂU 1
DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ 1
MỞ ĐẦU 2
1.1 Lý do chọn đề tài 2
1.2 Mục tiêu nghiên cứu 2
1.3 Phương pháp nghiên cứu 3
1.4 Phạm vi nghiên cứu 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 4
2.1 Cơ sở lý thuyết 4
2.1.1 Lý thuyết trắc nghiệm 4
2.1.2 Hệ thống thi trắc nghiệm trực tuyến 5
2.2 Nền tảng công nghệ sử dụng 6
2.2.1 HTML 6
2.2.2 CSS 6
2.2.3 Javascript 7
2.2.4 PHP/Laravel 8
2.2.5 Mysql 8
2.2.6 Các thư viện khác được sử dụng trong đề tài 9
CHƯƠNG 2: PHÂN TÍCH, THIẾT KẾ HỆ THỐNG 9
Trang 132.1 Đặc tả phần mềm 9
2.2 Thiết kế chi tiết hệ thống 10
2.2.1 Sơ đồ UseCase 10
2.2.2 Biểu đồ hoạt động, phân rã chức năng 14
2.3 Thiết kế cơ sở dữ liệu 40
2.3.1 Các bảng trong CSDL 40
2.3.2 Sơ đồ quan hệ của CSDL 47
CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ SO SÁNH 48
3.1 Môi trường thực nghiệm 48
3.2 Kết quả thực nghiệm 49
3.2.1 Chức năng chung 49
3.2.2 Chức năng của Admin 53
3.2.3 Chức năng của Giảng viên 54
3.3 Đánh giá so sánh 62
KẾT LUẬN 63
8.1 Kết quả đạt được 63
8.2 Một số điểm hạn chế trong hệ thống 63
8.3 Hướng phát triển của hệ thống trong tương lai 63
TÀI LIỆU THAM KHẢO 64
Trang 14DANH MỤC HÌNH ẢNH
Hình 2.1 Sơ đồ Use case tổng quát 14
Hình 2.2 Sơ đồ Use case phân rã chức năng của Admin 15
Hình 2.3 Sơ đồ Use case phân rã chức năng của Giảng viên 16
Hình 2.4 Sơ đồ Use case phân rã chức năng của Sinh viên 17
Hình 2.5 Sơ đồ Use case phân rã chức năng Đăng nhập 17
Hình 2.6 Sơ đồ Use case phân rã chức năng Thông tin cá nhân 18
Hình 2.7 Sơ đồ Use case phân rã chức năng Tìm kiếm 18
Hình 2.8 Sơ đồ hoạt động đăng nhập 20
Hình 2.9 Sơ đồ hoạt động đăng xuất 21
Hình 2.10 Sơ đồ hoạt động thêm mới khoa 23
Hình 2.11 Sơ đồ hoạt động sửa khoa 23
Hình 2.12 Sơ đồ hoạt động xóa khoa 24
Hình 2.13 Sơ đồ hoạt động thêm mới tài khoản 25
Hình 2.14 Sơ đồ hoạt động sửa tài khoản 26
Hình 2.15 Sơ đồ hoạt động xóa tài khoản 26
Hình 2.16 Sơ đồ hoạt động thêm mới lớp học 28
Hình 2.17 Sơ đồ hoạt động sửa lớp học 29
Hình 2.18 Sơ đồ hoạt động xóa lớp học 29
Hình 2.19 Sơ đồ hoạt động thêm sinh viên vào lớp học 30
Hình 2.20 Sơ đồ hoạt động xóa sinh viên khỏi lớp học 30
Hình 2.21 Sơ đồ hoạt động thêm câu hỏi 32
Hình 2.22 Sơ đồ hoạt động tham khảo câu hỏi 33
Trang 15Hình 2.23 Sơ đồ hoạt động thêm đề thi 35
Hình 2.24 Sơ đồ hoạt động thêm câu hỏi vào đề thi 36
Hình 2.25 Sơ đồ hoạt động thêm sinh viên vào đề thi 36
Hình 2.26 Sơ đồ hoạt động tạo mật khẩu đề thi 37
Hình 2.27 Sơ đồ hoạt động kích hoạt đề thi 37
Hình 2.28 Sơ đồ hoạt động cho xem đáp án đề thi 38
Hình 2.29 Sơ đồ hoạt động kết thúc đề thi 38
Hình 2.30 Sơ đồ hoạt đông xem kết quả đề thi 40
Hình 2.31 Sơ đồ hoạt đông xem biểu đồ thống kê đề thi 40
Hình 2.32 Sơ đồ hoạt đông xem đáp án bài thi 41
Hình 2.33 Sơ đồ hoạt đông xuất file điểm đề thi 41
Hình 2.34 Sơ đồ hoạt động làm bài thi 43
Hình 2.35 Sơ đồ hoạt động xem kết quả bài thi 44
Hình 2.36 Sơ đồ quan hệ CSDL 51
Hình 3.1 Trang đăng nhập 53
Hình 3.2 Trang quên mật khẩu 54
Hình 3.3 Mail quên mật khẩu 54
Hình 3.4 Trang cài đặt mật khẩu mới 55
Hình 3.5 Trang thông tin cá nhân 55
Hình 3.6 Trang sửa thông tin cá nhân 56
Hình 3.7 Trang đổi mật khẩu 56
Hình 3.8 Chat giữa giảng viên và admin 57
Hình 3.9 Trang quản lý khoa 57
Trang 16Hình 3.11 Trang quản lý lớp học 58
Hình 3.12 Trang thêm sinh viên vào lớp học 59
Hình 3.13 Ngân hàng câu hỏi 59
Hình 3.16 Thêm mới đề thi 61
Hình 3.17 Trang chi tiết đề thi 61
Hình 3.17 Thêm câu hỏi vào đề thi 62
Hình 3.19 Thêm sinh viên vào đề thi 62
Hình 3.20 Tạo mật khẩu cho đề thi 63
Hình 3.21 Xem kết quả đề thi 63
Hình 3.22 Xem đáp án của sinh viên 64
Hình 3.23 Quản lý bài thi của sinh viên 64
Hình 3.24 Nhập mật khẩu bài thi 65
Hình 3.25 Làm bài thi của sinh viên 65
Hình 3.26 Kết quả bài thi sau khi nộp 66
Hình 3.27 Danh sách kết quả các bài thi của sinh viên 66
Trang 17DANH MỤC BẢNG BIỂU
Bảng 2.1 Kịch bản use case đăng nhập 20
Bảng 2.2 Kịch bản use case đăng xuất 21
Bảng 2.3 Kịch bản use case quản lý khoa 22
Bảng 2.4 Kịch bản use case quản lý tài khoản 26
Bảng 2.5 Kịch bản use case quản lý lớp học 28
Bảng 2.6 Kịch bản use case Ngân hàng câu hỏi 32
Bảng 2.7 Kịch bản use case Quản lý đề thi 35
Bảng 2.8 Kịch bản use case Thống kê 41
Bảng 2.9 Kịch bản use case Làm bài thi 44
Bảng 2.10 Kịch bản use case Xem kết quả 46
Bảng 2.11 Bảng Users 47
Trang 18DANH MỤC CÁC TỪ VIẾT TẮT VÀ GIẢI THÍCH CÁC THUẬT NGỮ
Từ viết tắt Viết đầy đủ
HTML HyperText Markup Language
CSS Cascading Style Sheets
SASS Syntactically Awesome Style Sheets
JS JavaScript
DOM Document Object Model
JSX Javascript syntax extension
SQL Structured Query Language
MySQL Structured Query Language
API Application Programming Interface
MVC Model – View – Controller
FE Front-End
URL Uniform Resource Locator
CSDL Cơ sở dữ liệu
Trang 19MỞ ĐẦU1.1 Lý do chọn đề tài
Đầu tiên, việc áp dụng công nghệ thông tin và internet vào tổ chức các kỳ thi trực tuyến là một xu hướng phát triển hiện đại Thông qua website thi trắc nghiệm, chúng ta
có thể đáp ứng nhu cầu thi trắc nghiệm hiện đại và mang lại sự tiện lợi cho cả người ra
Sử dụng website thi trắc nghiệm trực tuyến còn giúp tiết kiệm thời gian và tài nguyên Thí sinh có thể dễ dàng tham gia vào bất kỳ thời điểm và địa điểm nào có kết nối internet Quá trình chấm điểm và công bố kết quả cũng được thực hiện nhanh chóng vàtiện lợi Đồng thời, việc quản lý thông tin về thí sinh, đề thi, kết quả và thống kê trở nên dễ dàng qua hệ thống quản lý trên website
Một ưu điểm khác của việc xây dựng website thi trắc nghiệm trực tuyến là khả năng
mở rộng và linh hoạt Hệ thống có thể dễ dàng mở rộng để đáp ứng quy mô và phạm
vi của các kỳ thi ngày càng lớn hơn Ngoài ra, website cũng cho phép tùy chỉnh và linhhoạt trong việc thiết kế các bài thi, tạo điều kiện cho việc đổi mới và nâng cao chất lượng của quá trình kiểm tra và đánh giá
Tổng quan, việc “ Xây dựng website thi trắc nghiệm trực tuyến cho Học Viện Nông Nghiệp Việt Nam ” là một lựa chọn hợp lý để đáp ứng nhu cầu thi trắc nghiệm
hiện đại, tăng tính chính xác và khách quan trong quá trình kiểm tra, tiết kiệm thời gian và tài nguyên, đồng thời tạo sự linh hoạt và mở rộng cho quy mô kỳ thi trong tương lai
Trang 20 Xây dựng một giao diện trực quan, thân thiện với người dùng và dễ sử dụng để thí sinh có thể tham gia vào các kỳ thi trắc nghiệm một cách thuận tiện.
Cung cấp các tính năng để quản lý các kỳ thi, tạo quản lý và lưu trữ các bài thi, câu hỏi trắc nghiệm, thông tin thí sinh và kết quả thi
Đảm bảo tính khách quan và bảo mật trong quá trình thi trắc nghiệm Hệ thống
sẽ áp dụng các biện pháp bảo mật để đảm bảo rằng chỉ thí sinh được phép truy cập và làm bài thi Đồng thời, sẽ có các cơ chế kiểm soát để đảm bảo tính kháchquan và trung thực của quá trình chấm điểm và đánh giá kết quả
1.3 Phương pháp nghiên cứu
Tìm hiểu phân tích yêu cầu của “Học viên Nông Nghiệp Việt Nam” đối với hệ thống và thập thông tin chi tiết về các tính năng, quy trình và yêu cầu kỹ thuật cần thiết để xây dựng một hệ thống thi trắc nghiệm đáng tin cậy và hiệu quả
Tiến hành thiết kế tổng quan của hệ thống, bao gồm cấu trúc dữ liệu, giao diện người dùng, quy trình thi trắc nghiệm và cơ chế quản lý kết quả Việc thiết kế được thực hiện theo các nguyên tắc và tiêu chuẩn chung trong lĩnh vực phát triển website để đảm bảo tính hợp lý và khả năng mở rộng của hệ thống
Triển khai và phát triển “Xây dựng website thi trắc nghiệm trực tuyến cho Học Viện Nông Nghiệp Việt Nam”, sử dụng các công nghệ và ngôn ngữ lập
Trang 21này sẽ đảm bảo tính khách quan, trung thực và thuận tiện trong quá trình thi trắcnghiệm.
Nghiên cứu tập trung vào việc áp dụng các công nghệ và ngôn ngữ lập trình phù hợp để xây dựng hệ thống website thi trắc nghiệm trực tuyến Các công nghệ và ngôn ngữ này sẽ được lựa chọn và triển khai để đảm bảo tính ổn định, hiệu suất và bảo mật của hệ thống
Nghiên cứu tập trung vào việc phát triển và xây dựng website thi trắc nghiệm trực tuyến cho Học Viện Nông Nghiệp Việt Nam, với phạm vi sử dụng trong các kỳ thi và hoạt động giảng dạy của Học Viện Tuy nhiên, hệ thống có khả năng mở rộng để phục vụ các đối tượng và tổ chức có nhu cầu tương tự trong lĩnh vực giáo dục
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
2.1 Cơ sở lý thuyết
2.1.1 Lý thuyết trắc nghiệm
Lý thuyết trắc nghiệm là một lĩnh vực trong lĩnh vực đo lường và đánh giá, tập trung vào việc phát triển và áp dụng các phương pháp, quy trình và công cụ để xây dựng các câu hỏi trắc nghiệm và đánh giá kiến thức, kỹ năng hoặc phẩm chất của cá nhân
Lý thuyết trắc nghiệm đề cập đến các khía cạnh quan trọng trong việc thiết kế, xây dựng, đánh giá và sử dụng các bài kiểm tra trắc nghiệm Nó nghiên cứu các nguyên tắc
và quy tắc để đảm bảo tính chính xác, độ tin cậy và hiệu quả của các bài kiểm tra trắc nghiệm
Các khái niệm và nguyên tắc cơ bản trong lý thuyết trắc nghiệm bao gồm:
Câu hỏi trắc nghiệm: Lý thuyết trắc nghiệm xem xét cách thiết kế và phân loại các loại câu hỏi trắc nghiệm, bao gồm câu hỏi đúng/sai, câu hỏi multiple-choice(nhiều lựa chọn), câu hỏi điền từ/câu trả lời ngắn và câu hỏi kéo thả
Độ tin cậy: Lý thuyết trắc nghiệm quan tâm đến độ tin cậy của bài kiểm tra, tức
là mức độ mà bài kiểm tra đo lường được đúng đắn và ổn định đối với mục tiêu
Trang 22đo lường Độ tin cậy có thể được ước lượng bằng các phương pháp thống kê như hệ số alpha Cronbach.
Validity (Hợp lệ): Validity đề cập đến mức độ mà một bài kiểm tra đo lường chính xác và toàn diện mục tiêu đo lường Các phương pháp đánh giá tính hợp
lệ bao gồm phân tích nội dung, phân tích mặt trực tiếp và phân tích hệ thống
Thang điểm và chấm điểm: Lý thuyết trắc nghiệm nghiên cứu về các phương pháp thiết lập thang điểm và quy trình chấm điểm cho bài kiểm tra trắc nghiệm Điều này bao gồm việc thiết lập các tiêu chuẩn chấm điểm, xác định điểm cho từng câu hỏi và tính điểm tổng thể cho thí sinh
Bias (Thiên lệch): Lý thuyết trắc nghiệm quan tâm đến các yếu tố thiên lệch có thể ảnh hưởng đến kết quả đo lường, chẳng hạn như thiên lệch giới tính, thiên lệch văn hóa hoặc thiên lệch ngôn ngữ Nghiên cứu về bias giúp đảm bảo tính công bằng và công hiệu của bài kiểm tra trắc nghiệm
Tóm lại, lý thuyết trắc nghiệm là một lĩnh vực quan trọng trong đo lường và đánh giá, nghiên cứu các nguyên tắc và quy tắc để xây dựng, đánh giá và sử dụng các bàikiểm tra trắc nghiệm một cách chính xác, tin cậy và hiệu quả
2.1.2 Hệ thống thi trắc nghiệm trực tuyến
Lý thuyết về hệ thống thi trắc nghiệm trực tuyến là một lĩnh vực liên quan đến việc xây dựng và phát triển các hệ thống điện tử cho việc tổ chức và quản lý các bài kiểm tra trắc nghiệm trực tuyến Lý thuyết này tập trung vào các khía cạnh kỹ thuật, thiết kế giao diện, quy trình kiểm soát và tính bảo mật của hệ thống
Các khái niệm và nguyên tắc cơ bản trong lý thuyết về hệ thống thi trắc nghiệm trực tuyến bao gồm:
Thiết kế giao diện: Lý thuyết này quan tâm đến việc thiết kế giao diện người dùng trực quan và dễ sử dụng cho hệ thống thi trắc nghiệm trực tuyến Điều nàyđảm bảo rằng thí sinh có thể dễ dàng truy cập, làm bài thi và gửi kết quả một cách thuận tiện và không gặp khó khăn trong quá trình sử dụng hệ thống
Quản lý đề thi: Lý thuyết nghiên cứu về cách quản lý và lưu trữ các bộ đề thi trong hệ thống Điều này bao gồm việc tổ chức các danh mục đề thi, quản lý
Trang 23phiên bản và cập nhật, và đảm bảo tính bảo mật của các đề thi để ngăn chặn việc rò rỉ thông tin và gian lận trong quá trình thi.
Quy trình kiểm soát: Lý thuyết này tập trung vào việc xác định và áp dụng các quy trình kiểm soát chặt chẽ để đảm bảo tính chính xác và trung thực của quá trình thi trắc nghiệm Điều này bao gồm việc xác thực thí sinh, giám sát quá trình thi, kiểm tra độ tin cậy của kết quả và xử lý các hành vi gian lận và vi phạm quy tắc thi
Tính bảo mật: Lý thuyết nghiên cứu về các biện pháp bảo mật để đảm bảo rằng
hệ thống thi trắc nghiệm trực tuyến được bảo vệ khỏi các mối đe dọa an ninh vàtruy cập trái phép Điều này bao gồm việc áp dụng các biện pháp bảo vệ dữ liệu, mã hóa thông tin, kiểm soát quyền truy cập và giám sát hoạt động hệ thống
để ngăn chặn sự xâm nhập và lợi dụng
2.2 Nền tảng công nghệ sử dụng
2.2.1 HTML
HTML viết tắt cho Hypertext Markup Language, tạm dịch là ngôn ngữ đánh dấu siêu văn bản HTML được sử dụng để tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, links, blockquotes,… HTML không phải
là ngôn ngữ lập trình Điều này có nghĩa là nó không thể tạo ra các chức năng "động" Hiểu một cách đơn giản hơn, HTML cũng tương tự như phần mềm Microsoft Word, nóchỉ có tác dụng bố cục và định dạng trang web
Một tài liệu HTML được hình thành bởi các phần tử HTML (HTML Elements) được quy định bằng các cặp thẻ (tag và attributes) Các cặp thẻ này được bao bọc bởi một dấu ngoặc nhọn (ví dụ ) và thường là sẽ được khai báo thành một cặp, bao gồm thẻ mở
và thẻ đóng
2.2.2 CSS
CSS (viết tắt của Cascading Style Sheets) là một ngôn ngữ được sử dụng để áp dụng
và định dạng các phần tử được tạo bởi ngôn ngữ đánh dấu HTML Nó cho phép tách biệt việc xác định kiểu dáng và trình bày của tài liệu HTML khỏi nội dung chính của nó
Trang 24Thay vì đặt các quy tắc kiểu dáng trực tiếp trong mã HTML, CSS cho phép bạn tạo cáctập tin riêng biệt chứa các quy tắc kiểu dáng và áp dụng chúng cho các phần tử HTML.Điều này giúp giữ mã HTML gọn gàng hơn và tách biệt hóa nội dung và kiểu dáng, giúp việc cập nhật và thay đổi kiểu dáng trở nên dễ dàng hơn.
CSS cung cấp khả năng tạo ra các kiểu dáng và định dạng có thể áp dụng cho nhiều trang web, giúp tiết kiệm thời gian và công sức trong việc lặp lại mã code cho các trang web tương tự nhau
Tóm lại, CSS là một ngôn ngữ quan trọng trong việc định dạng và áp dụng kiểu dáng cho các trang web, cho phép tách biệt nội dung và kiểu dáng, giúp mã nguồn trang web trở nên gọn gàng và dễ quản lý hơn
2.2.3 Javascript
JavaScript (viết tắt là JS) là một ngôn ngữ lập trình kịch bản dựa trên đối tượng, được
sử dụng rộng rãi trong phát triển ứng dụng web JS có khả năng xử lý các phần tử HTML trên trình duyệt và thực hiện các hành động như thêm, sửa đổi và xóa thuộc tính CSS và thẻ HTML một cách linh hoạt Nó hoạt động trên phía client, tương tác trực tiếp với người dùng trên trình duyệt
JS mang lại nhiều ưu điểm như sau:
JS cho phép tương tác với người dùng trên phía client và tách biệt giữa các client Ví dụ, nếu có hai người sử dụng trình duyệt khác nhau, JS sẽ xử lý mỗi phiên làm việc riêng biệt cho từng người dùng mà không ảnh hưởng lẫn nhau
JS có thể hoạt động trên nhiều nền tảng khác nhau, bao gồm Windows, MacOS
và các hệ điều hành di động
JS là ngôn ngữ dễ tiếp cận và học, không yêu cầu cài đặt phần mềm phức tạp.Tuy nhiên, JS cũng có một số nhược điểm:
Vì mã nguồn JS dễ bị lộ, nên có thể dễ bị tấn công từ phía hacker
JS có thể được sử dụng để thực thi mã độc trên máy tính của người dùng
Sự triển khai của JS có thể khác nhau trên các thiết bị, dẫn đến sự không đồng nhất trong việc hiển thị và chạy các chức năng
2.2.4 PHP/Laravel
Trang 25PHP (viết tắt của Hypertext Preprocessor) là một ngôn ngữ lập trình phía server được
sử dụng chủ yếu để phát triển ứng dụng web động Nó có khả năng tạo nội dung động
và tương tác trực tiếp với cơ sở dữ liệu PHP là một ngôn ngữ mã nguồn mở, tức là mãnguồn của nó có thể được sửa đổi và tùy chỉnh theo nhu cầu của từng dự án cụ thể
Laravel hiện là PHP Framework phổ biến hàng đầu trên thế giới Laravel càng ngày
càng phát triển và được sử dụng vào nhiều dự án Web lớn nhỏ
Laravel là PHP Web Framework miễn phí, mã nguồn mở, được tạo bởi TaylorOtwell và dành cho việc phát triển các ứng dụng web theo mô hình kiến trúc mô hìnhMVC và dựa trên Symfony PHP Framework Một số tính năng của Laravel như là sửdụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợ nhiều hệ quản trịCSDL quan hệ (MySQL, MariaDB, SQLite, PostgreSQL,…), các tiện ích hỗ trợ triểnkhai và bảo trì ứng dụng
2.2.5 Mysql
MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở, tức là một hệ quản trị cơ sở dữ liệu quan hệ được sử dụng rộng rãi trên toàn cầu Nó được thiết kế dựa trên mô hình Client-Server, trong đó máy khách (client) và máy chủ (server) tương tác với nhau.MySQL cho phép lưu trữ, truy xuất và quản lý dữ liệu trong một môi trường quan hệ
Nó hỗ trợ ngôn ngữ truy vấn SQL (Structured Query Language) để thực hiện các thao tác truy xuất và cập nhật dữ liệu trong cơ sở dữ liệu MySQL có thể được sử dụng để xây dựng và quản lý các ứng dụng web, hệ thống quản lý nội dung, hệ thống e-
commerce và nhiều ứng dụng khác
Đặc điểm nổi bật của MySQL bao gồm khả năng xử lý dữ liệu nhanh, khả năng mở rộng linh hoạt, tính bảo mật cao và khả năng tương thích với các nền tảng khác nhau
Trang 26Nó cung cấp các tính năng như quản lý người dùng, giao dịch, kiểm soát truy cập và sao lưu/ phục hồi dữ liệu.
MySQL đã trở thành một công cụ quan trọng trong lĩnh vực phát triển phần mềm và quản lý cơ sở dữ liệu Sự phổ biến của nó chủ yếu đến từ tính đơn giản, hiệu suất cao
và tính linh hoạt trong triển khai Với MySQL, người dùng có thể xây dựng và quản lý
cơ sở dữ liệu một cách dễ dàng và hiệu quả
2.2.6 Các thư viện khác được sử dụng trong đề tài
Với ưu điểm của hình thức thi trắc nghiệm như tính khách quan, chính xác và tiện lợi,
hệ thống giúp đảm bảo sự công bằng và trung thực trong quá trình đánh giá trình độ của các thí sinh Bằng việc áp dụng công nghệ hiện đại, hệ thống giúp tối ưu hoá quy trình thi, từ việc quản lý người dùng, quản lý câu hỏi và đề thi, đến việc tổ chức và
xem kết quả của các kỳ thi.Việc “Xây dựng website thi trắc nghiệm trực tuyến cho Học Viện Nông Nghiệp Việt Nam” nhắm giải quyết các yêu cầu chức năng sau: Admin:
Quản lý tài khoản người dùng
Quản lý danh sách thông tin các Khoa trong trường
Giảng viên:
Trang 27 Quản lý lớp học và sinh viên trong lớp học.
Tạo ngân hàng câu hỏi, có thể tham khảo câu hỏi từ giảng viên cùng khoa khác
Tạo đề thi và các chức năng như kích hoạt đề thi, tạo mật khẩu cho đề thi, kết thúc đề thi, xem biểu đồ thống kê kết quả,…
Thống kê kết quả bài thi, xuất file điểm dạng excel, pdf hoặc xem đáp án của từng thí sinh
Sinh viên:
Làm bài thi, hiển thị câu hỏi tuần tự hoặc ngẫu nhiên,
Hỗ trợ đánh dấu câu hỏi để xem lại sau
Tính toán và hiển thị kết quả sau khi thí sinh hoàn thành bài thi
Cho phép sinh viên xem kết quả của bài thi đã hoàn thành, cung cấp chi tiết số câu đúng, số câu sai và kết quả đạt được
Lưu trữ kết quả của mỗi thí sinh để phục vụ cho việc thống kê và đánh giá.Ngoài ra cần có một số chức năng cơ bản như đăng nhập, đăng xuất, quên mật khẩu, thay đổi thông tin người dung, chat real-time và an toàn về bảo mật thông tin
2.2 Thiết kế chi tiết hệ thống
2.2.1 Sơ đồ UseCase
Use-Case tổng quát:
Trang 28Hình 2.1 Sơ đồ Use case tổng quát.
Sơ đồ Use-Case phân rã
Trang 29Hình 2.2 Sơ đồ Use case phân rã chức năng của Admin.
Trang 30Hình 2.3 Sơ đồ Use case phân rã chức năng của Giảng viên.
Trang 31Hình 2.4 Sơ đồ Use case phân rã chức năng của Sinh viên.
Hình 2.5 Sơ đồ Use case phân rã chức năng Đăng nhập.
Trang 32Hình 2.6 Sơ đồ Use case phân rã chức năng Thông tin cá nhân.
Hình 2.7 Sơ đồ Use case phân rã chức năng Tìm kiếm.
2.2.2 Biểu đồ hoạt động, phân rã chức năng
Trang 33Bảng 2.1 Kịch bản use case đăng nhập
Tên use case Đăng nhập
Tên Actor Admin, giảng viên, sinh viên
Mô tả Người dùng yêu cầu chức năng đăng nhập
Tiền điều kiện Người dùng có tài khoản trên hệ thống
Ngoại lệ Hệ thống thông báo lỗi yêu cầu đăng nhập lại
Trang 34Hình 2.8 Sơ đồ hoạt động đăng nhập.
Bảng 2.2 Kịch bản use case đăng xuất
Tên use case Đăng xuất
Tên Actor Admin, giảng viên, sinh viên
Mô tả Người dùng muốn đăng xuất khỏi Hệ
Trang 35Bảng 2.3 Kịch bản use case quản lý khoa
Tên use case Quản lý khoa
Mô tả Người dùng muốn thực hiện các chức
năng quản lý thông tin các khoa nhưthêm, sửa, xóa khoa
Tiền điều kiện Người dùng có tài khoản trên hệ
Trang 362.Người dùng thêm mới Khoa, chọn nút
thêm mới và nhập thông tin Khoa mới
2.1.Hệ thống kiểm tra và xác thựcthông tin, hiển thị thông báo thêmthành công hay thất bại
3.Người dùng muốn sửa Khoa, chọn khoa
cần sửa và nhận nút sửa, điền thông tin mới
của Khoa và nhấn nút Lưu
3.1.Hệ thống kiếm tra và xác thựcthông tin, hiển thị thông báo thànhcông hay thất bại
4.Người dùng muốn xóa Khoa, chọn khoa
cần xóa và nhấn nút xóa
4.1.Hệ thống xóa Khoa đó khỏi hệthống Thông báo thành công hoặcthất bại
Trang 37Hình 2.10 Sơ đồ hoạt động thêm mới khoa.
Trang 38Hình 2.12 Sơ đồ hoạt động xóa khoa.
Bảng 2.4 Kịch bản use case quản lý tài khoản
Tên use case Quản lý tài khoản
Mô tả Người dùng muốn thực hiện các
chức năng quản lý thông tin tàikhoản
Tiền điều kiện Người dùng có tài khoản trên hệ
Trang 39thêm mới và nhập thông tin của người dùng
mới
thông tin, hiển thị thông báo thêmthành công hay thất bại
3.Người dùng muốn sửa tài khoản, chọn tài
khoản cần sửa và nhận nút sửa, điền thông tin
mới của tài khoản và nhấn nút Lưu
3.1.Hệ thống kiếm tra và xác thựcthông tin, hiển thị thông báo thànhcông hay thất bại
4.Người dùng muốn xóa tài khoản người dùng,
chọn tài khoản cần xóa và nhấn nút xóa
4.1.Hệ thống xóa tài khoản đó khỏi
hệ thống Thông báo thành cônghoặc thất bại
Hình 2.13 Sơ đồ hoạt động thêm mới tài khoản.
Trang 40Hình 2.14 Sơ đồ hoạt động sửa tài khoản.
Hình 2.15 Sơ đồ hoạt động xóa tài khoản.