1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp An toàn thông tin: Xây dựng ứng dụng thi trực tuyến tin cậy và an toàn

91 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Xây dựng ứng dụng thi trực tuyến tin cậy và an toàn
Tác giả Cao Trọng Nghĩa, Lê Hải Minh
Người hướng dẫn ThS. Trần Tuấn Dũng, ThS. Trần Thị Dung
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Kỹ sư ngành An toàn thông tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 91
Dung lượng 40,87 MB

Nội dung

Lý do chọn đề tài Trong những năm gần đây, giáo dục đã có rất nhiều sự thay đôi, đặc biệt là với sự xuất hiện của các phần mềm, ứng dụng.. Khi sử dụng một phần mềm chất lượng, chúng ta s

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA MANG MAY TINH VA TRUYEN THONG

CAO TRONG NGHIA

LE HAI MINH

KHOA LUAN TOT NGHIEP

DEVELOPING AN ONLINE SAFE EXAM WEBSITE

KY SU NGANH AN TOAN THONG TIN

TP HO CHi MINH, 2022

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

CAO TRỌNG NGHĨA - 18521138

LE HAI MINH - 18521103

KHOA LUAN TOT NGHIEP

XAY DUNG UNG DUNG THI TRUC TUYEN TIN CAY

VA AN TOAN

DEVELOPING AN ONLINE SAFE EXAM WEBSITE

KY SU NGANH AN TOAN THONG TIN

GIANG VIEN HUONG DAN

ThS TRAN TUẦN DUNG - ThS TRAN THI DUNG

TP HO CHI MINH, 2022

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

Tigầy của Hiệu trưởng Trường Dai học Công nghệ Thông tin.

Trang 4

LỜI CẢM ƠN

Đâu tiên, nhóm chúng em gửi lời cảm ơn đên nhà trưởng và bộ môn đã tạo điêu kiện

cho chúng em cơ hội làm việc với Khoá Luận Tôt Nghiệp, luôn tạo điêu kiện tôt nhât

đê sinh viên có thê hoàn thành tôt quá trình học tại trường nói chung và trong Khoá

Luận Tốt Nghiệp nói riêng

Tiếp theo, nhóm chúng em xin gửi lời cảm ơn chân thành tới thầy Trần Tuấn Dũng

và cô Trần Thị Dung, giảng viên trực tiếp phụ trách hướng dẫn Khoá Luận Tốt

Nghiệp Thầy và cô đã tận tình hướng dẫn, chỉ bảo với những phân tích định hướng

rõ ràng cho nhóm trong suốt quá trình thực hiện đề tài, là tiền đề để nhóm có thể hoànthành đề tài đúng hạn Thầy và cô cũng tạo điều kiện thuận lợi nhất có thê với các tàiliệu cần thiết liên quan, giải đáp thắc mắc khi nhóm gặp khó khăn

Và cuối cùng, xin cảm ơn tất cả các bạn trong nhóm đã cùng nhau chia sẻ công việc,hoàn thành tốt trách nhiệm của các nhân trong suốt quá trình thực hiện với sự hướngdẫn của thầy và phân công của nhóm trưởng, là yếu tố quan trọng nhất dé hoàn thànhtốt mục tiêu Mặc dù đã cô gắng hoàn thành đề tài với tat cả sự cố gang nhưng tatnhiên chúng em vẫn còn mắc phải những sai sót, khuyết điểm trong đề tài, mong nhậnđược sự thông cảm của Hội Đồng và những lời nhận dé giúp nhóm cải thiện Chúng

em xin chân thành cảm ơn!

XIN CHÂN THÀNH CẢM ƠN

Sinh viên Cao Trọng Nghĩa

Sinh viên Lê Hải Minh

Trang 5

MỤC LỤC

Chương 1 MỞ ĐẦU - 2 ¿+ £+E9SE#EEEEE9E12E12112112171711111111E 111111111110 2

1.1 Tổng quan đề tài ¿+ k+Sx+Ex2EE2E12E217171111111211211 1111.1111111 cy 21.2 Lý do chọn đề tài ¿- 2: +22++2++2Ex222E221122112711211221127112712211 21111 1 cv 2

1.2.1 Tiết kiệm thời gian -2-©5¿ 252 E+EESEE2EE2E1EE17171121111 71211211 crxe 3

1.2.2 Tiết kiệm Chi phí -. - ¿2£ 5¿+x£+Ex+2EE£EEEEEE+SEEEEEEEEEESEEEEErrkrerkesrke 31.2.3 Chong gian 1a 0887 aa< 31.2.4 Lượng kiến thức phủ rộng ¿- ¿+ + E+EE+EE2EE+E£EEEEeEEeEkerkrrxrrerei 41.3 Muc ti@u dé 0n 433 4

Chương 2 TONG QUAN wiceccecssssssessesssessessecsscssesascsvcsvessessessecsuessessessecsuessessessecaneeseeses 5

2.1 CAC CÔNG NGHỆ SU DUNG ooeceecscscssessessssssessesssssssssessscsecsussseesecsessusssseseeses 5

2.1.1 Frontend Ai ora tats YTB Racca Lccescesesevsencenscccscccaceassaccceecsseess 5

2.1.2 Bake U h CC 6c aG 13

2.1.3 Co an So 23

2.1.4 Safe Exam Browser) á- se sex c1 111311 11T TH HT TT re 25

2.2 Các sản phẩm tương tỰ -:- 2-5 52+SE+ESEEEEEEEEEEE12112112112111171 11111 xe, 27

2.2.1 MOO o scsssesssesssessssssecssecssessssssssssecssecsusssssssecssessssssecssecsuessusesecssecssecseeeses 27

Chương 3 PHAN TÍCH THIET KE HE THNG -2- 525555: 30

3.1 PHƯƠNG PHAP TRIÊN KHAI HE THONG -. -¿-5¿©5¿£: 30

3.2 6n 060 12 äẦ 30

3.2.1 Người dùng chưa đăng nhập - - 5 6 1S niệ, 30 cm 31

Trang 6

4.1.2 Các công nghệ được dùng dé triển khai -2¿-25¿©5255z2zx2cseei 35

4.1.3 Triển khai Backend ¿- +: ©s¿+++EE++ExtEEEtEEESEESEErrEkerkrsrkrrrrees 36

4.1.4 Triển khai Frontend ¿2-2 + x2E£+EE+EE£EEtEEEEEEEEEEEECrErkrrkerkerreee 37

4.2 Phương pháp bảo vệ ứng ụng - c- c5 1x ng gi, 37

4.2.1 Safe Exam 00/21 37

4.2.2 MoOSCUTTEY 2G G1 HT TH HH HH 39

4.3 Thiết kế Model ccscscsesssesssesssssesssesssessesssecsuecsusssesssecsuessusssecssecssecsessseseseesseess 40

4.3.1 Các IMOdel ++Ss9St 2x SEEE19E1E21211211171711211211 1171211111111 cxye0 40

4.3.2 Mô tả các MOdel ccscccsssesssesstesssssesssecssssseessesssssssessesssecsusssesssecssecseeseessecs 41 4.4 Giao diện người đùng - - - + - 1x 19119 v11 H1 ng ng ng kg 51

4.4.1 Trang đăng KY Ăn HT TH HH HH 51

VAN co áo án 52

4.4.4 Trang thông tin tài khOảï - - c1 191 v9 ng ngư, 54

4.4.5 Trang đôi mat khâẫu - 2-2 2+S£+E£+E£EE£EEEEEEEEEEEEE21121 2121k, 55

4.4.6 Trang danh sách phòng tH1 cece cee 2E 1 vn 56

4.4.7 Trang chi tiết phòng thi ¿2c 52+2x++EEt2EEtEEEEEESEErEEkerkrsrkrrrrees 57

4.4.8 Trang làm bài tĨ1 - c1 122311321113 11 911110101 10111 HH ngư 58

Trang 7

4.4.9 Trang tạo tài khoản giảng viên/sinh viên (đối với role ađmin) 60

4.4.10 Trang tạo đề thi (đối với role giảng viên) - 5z: 61 4.4.11 Trang xem bai thi tự luận (dành cho giảng viÊn) «< «+ 62

4.4.12 Trang chấm điểm - - 2E E+EE+EE+E£EEEEEEEEEEEEEEEEEEEEEEEEEErkrrkrrkee 63 4.4.13 Trang hién thị sau khi nộp bài ¿2-2 + s+E++£++Ezzxezxerxerxerxee 64 4.4.14 Sửa thông tin phòng thi (dành cho giảng viÊn) -‹++-<<++<<+ 65 4.4.15 Xem bảng điểm của các sinh viên dự thi -s+ssszs+s+zszezxzzsrs 66 4.4.16 Xem thống kê bài thi ¿22c 52+2E++EEtEEECEEEEEEEEECEEErrkrsrkrrrrees 67 4.4.17 Tìm kiếm phòng thic c cccccccccccsscssssssssssesssessecssesssessecssecsessesssecsessseeasecs 68 4.4.18 Giao diện quản lý tài khoản trường (của Admin) - ‹ + 69

4.4.19 Giao diện gửi thông tin tài khoản qua Email cho giảng vién 70

4.4.20 Giao diện gửi thông tin tài khoản qua Email cho sinh viên 70

4.4.21 Kiểm tra rang buộc tài khoản có tồn tại hay không - 71

4.4.22 bùn on 0 ncừẶẶÁOnỪDỮ 71

4.4.23 Quên mật khâu ecceesccseesecsssesessseeccssnesessnseessnsecessnscessneceesnseeesaneeessnseesses 72

4.4.24 Trang quản lý tài khoản của fTƯỜng - + ss + sssseeeeesereree 74

Chương 5 THỰC NGHIÊM, KET QUA 2-2: 5£25225££E+£Et£EzEzrxerxeres 76

5.1 Phương pháp thực nghiỆm - 5c +22 3232392 EEErtrirrrrrrerrrrrerree 76

5.2 So sánh với Moodle? - 4 0 HH TH ng Hi ng 76

Chương 6 TONG KET & HƯỚNG PHAT TRIÉN -2-5c2522s+cx+zxzsz 71

6.1 TỔng KẾT - 2-22 Ss+SE E219 1EE1211211211211121121121171111211111111.11E 1111 xe 71

6.2 Hướng phát triển 2-2 2¿©©+++Ek+EE++EEESEE2EEEEEEEEEEEEE2E1 211212212 71

Trang 8

DANH MỤC HÌNH

I0): 809.9000311 5 Hình 2.2 Logo 'Typ€SCTIDI - 5 111 9191k 9 HH HH ng 6

Hinh 2.3 Logo UNnOCSS oc 8 Hình 2.4 Logo VueJŠ 3 oo eee ce eee e ce ceeceeecseseeesseeseseeeseeesseeseeseeasseassenaeeeeas 9 Hinh 2.5 Logo Pinta ce 10

Hình 2.6 LOGO ÁXIOS - Q1 HH TH HH HH nh 11 Igiì):020/09 9009)-11 220157 7 13 Hình 2.8 Logo Django REST Framework - «cv HH ng re, 16

Hinh 80 9050 01 17

Hình 2.10 Cấu trúc JWWT -¿-©5¿+2++22x22EE221127112112211271121121111 21121 cre 17

Hình 2.11 Logo Python wo eee 6 <1 3 111191 901 91T TH TH 20 Hình 2.12 Logo MySQÌU - . - 5 1 1v 9 1T ng HH ngư 23 Hình 2.13 Logo Safe Exam BTOWS€T - LG 1 vn ng ng ng rrg 25

Hình 2.14 Logo MOỌ€ 2c 2221122118311 1311 113111 911 1191111 111 HH ng 27 Hinh 2.15 Logo vu 0n hố ‹44 29 Hình 3.1 Mơ hình Use-case người dùng chưa đăng nhập ‹ -«++-+ 30 Hình 3.2 Mơ hình Use-case frƯỜng + + 11v ng re 31 Hình 3.3 Mơ hình Use-case giảng VIÊNn - - c1 119 1 ng 32 Hình 3.4 Mơ hình Use-case sinh VIÊN - - 5 ng ng rờn 33

Hình 4.1 Mơ hình triỀn khai - 2-5 2 E+SE£EE£2EE2EEEEEEEEEEEEEEEEEEEEErrkrrkerkrres 35

Hình 4.2 Danh sách các rmOelL + + + E1 E3 kE9x E991 91 9 v.v vn ve 40

Hình 4.3 Model CustomUser - G6 5E 1119 930 9311 ng ng ng tr 41 Hình 4.4 Model School - - G5 10119190191 9 HH HH như 43 Hinh S1 ::24Ỡ24:: in Ầ.ồẦ ốố 44 Hình 4.6 Model 'TeaCherr - s11 9g HT ng Hi ngư 45

Hình 4.7 Model EXam - - - c0 10H HH Hư 46

Hình 4.8 Model Atfend << kh HT Thư 47

Trang 9

Hinh 4.9 Model Question 000757 48

Giao diện trang đăng ký - -¿- 6 5s nHn HH HH gh g gg 51

Giao diện trang đăng nhap 5c 2c +22 sEEerirrrrrrerrrrrrrrrree 52

Gia dién trang CHU 53 Giao dién trang f0 53 Giao diện trang thông tin tài khoản eseeeeeseeeeeeeeteeeeeeneeeeeaes 54

Giao diện trang đổi mật KAU eeececcesceseesessessessessessesssesseeseeseeseesessees 55

Giao diện trang danh sách phòng tH1 -. 5+ 5£ £++*£+sceseeeees 56

Giao diện trang chi tiết phòng thi - 2 2 25£+£2+E££E+zxerxerxrrssrs 57

Giao diện trang làm bài thi trắc nghiệm 2 2 2 s2 s+£s+£sz£4 58

Giao diện trang làm bài thi tự Wan eee eeeeeneeeneceaeeeseeeeeeaeeeaeeees 58 Trang tạo tai khoản giảng viên/sinh viÊn 5 «+ £<sc<se+sessxs 60

Trang ta0 G6 thi NNU /Z vẽ nh 61

Mail thông báo sinh viên đã được thêm vào phòng thi 61

Giao diện trang xem bài thi tự luận . 5+5 **++++seesssereses 62

Giao điện trang chấm điỀm - 2 ¿©E E+SE+EE+EE+E£E£EerEerxerxrrszrs 63Giao diện trang sau khi cham điểm xong - : 2- 5¿25+z©5+ecs2 63

Giao diện trang sau khi nộp bài tH1 5 +55 <++<++s<seceseeezes 64

Giao diện trang sửa thông tin phòng tH1 - - +55 «+ ++<£++sex+s+ 65

Giao diện tiến hành sửa thông tin phòng thi 5c 55s 5s+s4 65

Giao diện phòng thi sau khi chỉnh SỬa .- 5 555 ++<*‡++*tcx+seeses 65

Giao diện dé xem bảng điểm của sinh viên -. ¿- 55552552 66Giao diện bảng điểm của sinh viên -. ¿- 5: ©2+©s+2cxt2zxcrxesres 66Giao diện xem điểm của giảng viên -2¿- 5c 2++2x++cxzzxerresree 66

Giao diện dé xem thống kê bài thi 2- 22 2 sE+£E2E+£erxrsez 67

Giao điện thống kê - -2- 2-56 SE2SE2ESE£EEEEEEEEEEEEEE2E1217121 2121 xe, 67Giao diện tim kiếm phòng thi 2-2 2 2 +2 £+E££EezEe£xerxerszrs 68

Trang 10

Hình 4.38 Giao diện sau khi tìm kiếm xong -2 2¿+¿©++2+++cx++zxzxesrss 68

Hình 4.39 Giao diện trang quản lý tài khoản trường - -. -«<<<c+s++ 69

Hình 4.40 Giao diện thay đổi thông tin trường -. ¿- s¿©+2+++zx+zxerxeerxz 69

Hình 4.41 Giao diện thông tin tài khoản của giảng viên được gửi qua Email 70 Hình 4.42 Giao diện thông tin tài khoản của sinh viên được gửi qua Email 70

Hình 4.43 Giảng viên upload 1 file sinh viên không có trong hệ thống 71Hình 4.44 Hệ thống báo lỗi mail sinh viên không tổn tại .: -:-5- 71Hinh 4.45.Giao dién khi quén mat KDA vee eeceeccesececseceesessesessecessucerseseesessesasseseneeeeees 72

Hình 4.46 Giao diện nhập mail để gửi link reset mật khâu - - 72

Hình 4.47 Mail chứa link reset lại mật khâu -. -¿ cccccccccxeerrrrrrkrrrrrrrkee 73

Hình 4.48 Giao diện reset mật khâu -¿- - - s+k+k+EEE+EvEEEESESEEEEEkeEerkrkerrrererree 73

Hình 4.49 Giao diện trang quản lý sinh viên của tTường - - «<< s+<<ss+ 74 Hình 4.50 Trang quản lý tài khoản giảng viên của trường - -«<-«+ 74 Hình 4.51 Trang chỉnh sửa thông tin - 5 5 1kg ng rưkt 74

Hình 4.52 Mail nhận được sau khi sửa thông tin (không thay đổi mật khẩu) 75Hình 4.53 Mail nhận được sau khi sửa thong tin (có thay đổi mật khâu) 75

Trang 11

DANH MỤC BANG

Bảng 4.1 Bảng mô tả dữ liệu CustormS€T - G2 S11 *Ekseeerrereresre 42 Bang 4.2 Bảng mô tả dit liệu SChOOIL - 5 5E 621119311911 91 13 1 91 1v re 43 Bang 4.3 Bảng mô tả dữ liệu Student - 5 5 + ngàng ưệt 44 Bảng 4.4 Bảng mô tả dữ liệu 'TeaCeT G5 1 1193119111911 1 91 1 ng rưy 45

Bang 4.5 Bảng mô tả dữ liệu EXxaim - - 5 5 2+ 3 HH HH ng ưkp 46

Bảng 4.6 Bảng mô tả dữ liệu Atfend - - c1 ng ng ng rg 47 Bảng 4.7 Bảng mô tả dữ liệu QQuestIOII - G1 32311193 1 ng re 48 Bang 4.8 Bảng mô tả dữ liệu StudentAnSWT eseesecsecsecseceeeeeseseeseeseens 49 Bang 4.9 Bảng mô tả dữ liệu StudentESSay sành Hit 50

Trang 12

DANH MỤC TỪ VIET TAT

SEB Safe Exam Browser

AWS Amazon Web Service

EC2 Elastic Compute Cloud

S3 Simple Storage Service

OAuth Open Authorization

HTML Hypertext Markup Language

CSS Cascading Style Sheets

ERD Entity Relationship Diagram

URL Uniform Resource Locator

LMS Learning Management System

Trang 13

TÓM TẮT KHÓA LUẬN

Theo Uỷ ban Văn hoá, Giáo dục của Quốc hội, từ đầu năm 2020, dịch COVID-19 đã

có nhiều tác động tiêu cực đến ngành giáo dục Trẻ em mầm non, học sinh, sinh viên

đã phải tạm dừng đến trường trong nhiều tháng liên tiếp Nhiều giáo viên, trẻ em, họcsinh bị nhiễm COVID-19 Nhiều nhiệm vụ quan trọng của ngành không thể tiến hànhtheo đúng kế hoạch, ví dụ như tình hình học tập không được liên tục dẫn đến bị hỏngkiến thức, học sinh không được đến trường, giảng viên đối mặt với nguy cơ thất

nghiệp.

Đặc biệt là công tác tổ chức thi cử cho học sinh, sinh viên gặp rất nhiều khó khan vìkhông thể tập trung đông người Vì vậy nhóm chúng em giới thiệu một giải pháp mớicho van đề thi cử, có thé thi moi lúc mọi nơi, tiết kiệm chi phí tô chức va chi phi đilại Đó là giải pháp trang web thi trực tuyến an toàn

Trong thời đại công nghệ 4.0, mọi hoạt động ngày nay hầu hết đều được lưu trữ, triển

khai trên máy móc, việc học tập và thi cử cũng không là ngoại lệ Những học sinh,

sinh viên sau khi đi qua mùa dịch COVID-19 cũng đều đã quá quen với việc ngồi nhà

và học tập, thi cử thông qua thiết bị di động của mình Và có lẽ khi tình hình dịch

bệnh không còn căng thăng như trước, thói quen này vẫn sẽ in vào tiềm thức của họcsinh, sinh viên Vì thé dé áp dung mô hình này vào thực tiễn cũng không phải là một

vân đê quá khó khăn.

Trang 14

Chương 1 MỞ DAU

1.1 Téng quan đề tài

Trong quá trình đào tạo, đánh giá kết quả học tập bằng các kỳ thi, kiểm tra là côngviệc phải tiến hành thường xuyên, không kém phần nặng nhọc cho người quản lý vàkhó đảm bảo độ chính xác tính công bằng khách quan đối với người học Do đó việccải tiễn hệ thống thi, kiểm tra đã và đang được nhiều người quan tâm Vì vậy dé đápứng những thay đổi trên trong môi trường giáo dục cần phải tô chức hệ thống dao tạođiện tử, trong đó hệ thống thi trắc nghiệm là một phần quan trọng

Thi trắc nghiệm là hình thức thi đang được ưa chuộng và sử dụng rộng rãi ở nhiềunơi trên thé giới bởi:

e Đánh giá chính xác trình độ của sinh viên, chất lượng đào tạo

e Lượng kiến thức kiểm tra lớn, bao quát nhiều van đề

e Hình thức kiểm tra phong phú

e Chấm điểm, đưa ra kết quả nhanh và chính xác

Ở Việt Nam, nhiều trường học đã áp dụng hình thức thi trắc nghiệm và kết quả thudoc rất khả quan Như vậy thi trắc nghiệm dang dan trở nên phổ biến và cần thiết,

do đó yêu cầu có một phần mềm tin cậy, chất loiợng, có nhiều tính năng hỗ trợ tốthình thức thi này cũng đã được nhiều tô chức đặt ra

1.2 Lý do chọn đề tài

Trong những năm gần đây, giáo dục đã có rất nhiều sự thay đôi, đặc biệt là với sự

xuất hiện của các phần mềm, ứng dụng Bên cạnh việc học, giảng dạy trực tuyến, sửdung các phần mềm thi online cũng ngày càng trở nên phổ biến hơn, nhất là trongthời điểm khó khăn do dịch bệnh như hiện nay Sử dụng phần mềm thi online có rất

nhiêu lợi ích.

Trang 15

1.2.1 Tiết kiệm thời gian

Một trong những lý do quan trọng nhất khiến cho những phần mềm thi online ngàycàng được quan tâm, ưa chuộng lời bởi sự tiết kiệm về mặt thời gian Tắt nhiên, trongmọi công việc thì tiết kiệm thời gian sẽ đồng nghĩa với việc tiết kiệm chỉ phí, công

Trong công tác tô chức thi cử, việc tiết kiệm chi phí luôn được hướng tới như một

tiêu chí khá quan trọng Vì thé, các phần mềm thi trực tuyến đã xuất hiện khá phổbiến bởi các tính năng của nó giúp chúng ta hạn chế được rất nhiều khoản ngân sáchkhông cần thiết

Khi sử dụng một phần mềm chất lượng, chúng ta sẽ không còn bận tâm tới các khâu

tổ chức truyền thông như: nghiên cứu, thâm định dé thi, coi thi, công tác cham điềm Tat nhiên, với các tính năng đó, chúng ta sẽ tiết kiệm được khoản chi phí khá đángkể

1.2.3 Chống gian lận

Việc gian lận trong thi cử chắc han là một câu chuyện muôn thuở Vì vậy, mỗi khi tổ

chức các cuộc thi, bài thi thì mọi người déu rat quan tâm tới van dé nay đê có thê đảm

bảo sự công bằng cho các thí sinh

Khi sử dụng các phần mềm thi trực tuyến, van đề gian lận thi cử sẽ không thé xảy ra

Các phần mềm thi online luôn sở hữu một số lượng đề thi cực kỳ đa dạng Chính vì

thế, với việc phân chia mỗi người một đề thi, chắc chắn tình trạng quay cop, gian lận

là điều không thé xảy ra

Trang 16

1.2.4 Lượng kiến thức phủ rộng

Một trong những ưu điểm lớn nhất của việc tô chức thi trực tuyến thông qua những

phần mềm đó là lượng kiến thức phủ rộng, đa dạng Điều này sẽ giúp chúng ta cảithiện tốt hơn nữa chất lượng giáo dục

Các câu hỏi trong bài thi sẽ được sưu tập, thiết kế một cách phong phú, đi kèm vớinhững hình ảnh chân thực, sống động Việc này tránh được tình trạng học tủ, ôn tủđôi với học sinh, sinh viên.

1.3 Mục tiêu đê tài

Hiện nay đã có một số phần mềm thi trắc nghiệm (của nước ngoài cũng như của các

tô chức trong nước) được đưa vào sử dụng nhưng cũng có một số hạn chế, chưa đáp

ứng được nhu cầu thi trắc nghiệm ở Việt Nam Đối với phần mềm của nước ngoài thìhạn chế về mặt ngôn ngữ do không phải là Tiếng Việt, giá thành lại cao, mà vấn đề

bảo trì, đào tạo không thuận lợi Còn đối với phần mềm ở trong nước thì chất lượng

bài trắc nghiệm không cao do ngân hàng câu hỏi và quá trình sinh đề không được xâydựng tốt, chưa theo quy trình thi Còn rất nhiều điều phải làm dé phần mềm thi trắcnghiệm trở nên hoàn thiện và áp dụng tốt ở Việt Nam

Xuất phát từ thực tế đó, cùng với sự góp ý và hướng dẫn của Thầy Trần Tuấn Dũng

và Cô Trần Thị Dung, nhóm em đã xây dựng lên hệ thống thi trắc nghiệm qua mạngvới hy vọng có thể trở thành 1 nền tảng thi online do người Việt, cho người Việt Dotrình độ kiến thức còn hạn chế, nên chương trình không tránh khỏi những thiếu sót

Em hy vọng được sự giúp đỡ của thầy và các bạn để hệ thống thi trắc nghiệm được

hoàn thiện dân.

Trang 17

Chương 2 TONG QUAN

2.1 CAC CONG NGHE SU DUNG

2.1.1 Frontend

2.1.1.1 NuxtJS 31

Hình 2.1 Logo NuxtJS

NuxtJS là một Javascript framework dé tạo các ứng dụng VueJS Mục tiêu là dé chúng

ta có thé tạo một ứng dụng linh hoạt nhưng được render phía máy chủ, tương tự một

trang web tĩnh giống như các website thông thường (điều mà có lợi cho SEO)

NuxtJS tập trung vào khía cạnh render giao diện người dùng Ngoài ra, NuxtJS có ratnhiều tinh năng giúp chúng ta phát triển giữa phía client và server như Dữ liệu batđồng bộ (Asynchronous Data), Middleware, Layouts, v.v

NuxtJS có rất nhiều tính năng hữu ích, giúp nhanh chóng xây dựng các ứng dung

web, có thé kề tới như

e Automatic Code Splitting

e Hỗ trợ Vue hoàn hảo

Trang 18

e Tu động tách code

e Phục vụ file tĩnh

e_ Dịch chuyển ES6, ES7

e Đóng gói và thu nhỏ Javascript và CSS

e_ Quản lý phan tử <head>

e Trình tiền xử lý SASS, LESS, Stylus,

e H6 trợ phiên ban HTTP/2

e Hệ thống router và dữ liệu bat đồng bộ dé sử dung

e HO trợ tính năng Hot reloading (rất hữu ích cho các developer)

server-side (NodeJS).

Trang 19

TypeScript sử dụng tat ca các tính năng của của ECMAScript 2015 (ES6) như classes,

modules Không dừng lại ở đó nếu như ECMAScript 2017 ra đời thì chắc răng

TypeScript cũng sẽ nâng cấp phiên bản của mình lên để sử dụng mọi kỹ thuật mới

Hỗ trợ các tính năng của Javascript phiên bản mới nhất: TypeScript luôn

đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của Javascript, ví dụ

như version hiện tại là ECMAScript 2015 (ES6).

La mã nguồn mở: TypeScript là một mã nguồn mở nên chúng ta hoàn toàn

có thé sử dụng mà không mất phí, bên cạnh đó còn được cộng đồng hỗ trợ.

TypeScript là Javscript: Bản chất của TypeScript là biên dịch tao ra các

đoạn mã javascript nên chúng ta có thê chạy bat kì ở đâu miễn ở đó có hỗ

trợ biên dịch Javascript Ngoài ra chúng ta có thể sử dụng trộn lẫn cú phápcủa Javascript vào bên trong TypeScript, điều này giúp các lập trình viêntiếp cận TypeScript dễ dàng hơn

Trang 20

2.1.1.3 UnoCSSHH

Hình 2.3 Logo unocss

UnoCSS là một công cu Atomic CSS hoàn toàn có thé tùy chỉnh được lay cảm

hứng từ Windi CSS, Tailwind CSS và Twind UnoCSS không phải là một framework

CSS, nhưng nó là một công cụ sử dụng dé tạo ra framework Nó cung cap một tậphợp cao cấp chung của các framework CSS phô biến đầu tiên dành cho sự tiện ích

như Tailwind CSS, Windi CSS và Bootstrap.

Các tính năng của UnoCSS:

e Hoàn toàn tuỳ biến

e Nhanh hon 200 so với WindiCSS và Tailwind JIT.

e Gon, nhẹ, phù hợp với moi trình duyệt

¢ Hỗ trợ icon thông qua CSS thuần Mỗi icon là 1 class CSS

e Hỗ tro CSS Directives

e Tổng hợp các class lại thành 1 khi build

e Và các tinh năng hap dẫn khác

Trang 21

2.1.1.4 VueJS 3!

Hinh 2.4 Logo VueJS 3

Vue là một framework Javascript tiên tiễn trong xây dựng giao diện người

dùng, không giống như các framework khác, Vue được xây dựng từ những dòng code

cơ bản nhất nhằm tối ưu tốc độ Thư viện của Vue chỉ tập trung vào lớp hién thị, ratđơn giản dé tiếp cận và dễ dàng tích hợp vào các hệ thống khác Vue cũng có khanăng cung cấp các ứng dụng web đơn trang Single Page Application (SPA) cho phép

két hợp với nhiêu các công cụ hiện đại, như Laravel chăng han.

Vue.js được sử dụng để xây dựng giao diện người dùng giống như React (sử

dụng bởi Facebook), Angular (được hậu thuẫn bởi Google), Ember Tuy nhiên,

Vue.js có tốc độ tạo trang (render) rất nhanh và chiếm khá ít bộ nhớ

Trang 22

2.1.1.5 Pinia"!

P Ini

Hinh 2.5 Logo Pinia

Như chúng ta đã biết mỗi ứng dụng VueJS đều được hình thành bởi rat nhiều

các component khác nhau, các component này liên kết với nhau tạo thành từng page

trong ứng dụng của ta.

Thông thường chúng ta sẽ có rất nhiều các dữ liệu/ state cần được chia sẻ/dùng chung giữa các component với nhau đơn giản nhất chúng ta có thé hình dung ởđây đó là thông tin về người dùng đang đăng nhập trên trang của chúng ta Thông tinnày luôn luôn cần được lưu trữ trên ứng dụng của chúng ta và có thể được truy cập/

sử dụng bởi bât cứ component nào cân đên nó.

Tương tự với Vuex thì Pinia cũng là một thư viện phục vụ cho việc lưu trữ và

chia sẻ state giữa các component ở các vi trí khác nhau trong ứng dụng của chúng ta

một cách đơn giản nhất Với các ưu điểm được giới thiệu ngay trên trang chủ của

Trang 23

e Được hỗ trợ luôn cả bởi Vue Devtoool

e Siêu nhẹ, chỉ khoảng 1kb

2.1.1.6 Axioslil

cho việc xây dựng các ứng dụng API.

Axios có thé được sử dụng ở ca browser hoặc Node.Js

Axios có thể hoạt động trong hau hết tat các trình duyệt web hiện đại

Tại sao chọn Axios?

Các browser hiện đại bây giờ thường có sẵn các tính năng Fetch API, vậy tạo

sao ta lại không dùng nó luôn cho xong? Rất nhiều những sự khác biệt giữa Axios vàFetch khiến rất nhiều người vẫn lựa chọn Axios thay vì Fetch

Một trong những đặc điểm lớn ta có thể thấy đó là cách mà 2 thư viện xử lý

với các HTTP error code Khi sử dụng Fetch, nếu khi server trả về các mã lỗi 4xx hay

5xx, thì hàm catch() của chúng ta sẽ không được gọi đến và người lập trình viên sẽ

có nhiệm vụ phải tự kiểm tra trạng thái của mã trả về dé xác định xem liệu request đó

có thành công hay không Trong khi đó, Axios sẽ reject tat cả các promise của request

nêu một trong các mã lỗi trên được trả vê.

lãi

Trang 24

Axios hỗ trợ đầy đủ các request như get, post, put, delete,

GET là phương pháp lấy dữ liệu từ server bằng phương thức HTTP GET,

thường nhận vào một tham số là url (API link)

POST là phương pháp đưa đữ liệu lên server băng phương thức HTTP POST,

thường được dùng đề thêm mới dữ liệu vào server POST thường nhận vào 2 tham số

đó là url (API Link) và data (Kiểu dit liệu Object).

PUT là phương pháp đưa dit liệu lên server bang phương thức HTTP PUT,

PUT thường được dùng dé thay đổi dữ liệu trên server PUT thường nhận vào 2 tham

số đó là url (API Link) và data (Kiểu dit liệu Object)

DELETE là phương pháp xóa dit liệu trên server bằng phương thức HTTP

DELETE Delete thường nhận vào 1 tham số đó là url (API Link).

12

Trang 25

2.1.2 Backend

Hình 2.7 Logo Django

Django là một trong số những web framework bậc cao miễn phí, là mã nguồn

mở được tạo ra bởi ngôn ngữ Python dựa trên mô hình mô hình MTV (gồm Template-Views) Hiện framework này được phát triển, quản lý bởi Django SoftwareFoundation.Django ra đời với mục tiêu hỗ trợ thiết kế các website phức tạp dựa trên

Model-những cơ sở dữ liệu có sẵn Nó hoạt động dựa theo nguyên ly ‘cam’ các thành phan

và và tái sử dụng để tạo nên các website với ít code, ít khớp nối, có khả năng pháttriển và không bị trùng lặp

Ưu điểm của Django

Lợi thé hàng đầu của Django là khả năng thiết kế, tạo lập website và các ứngdụng nhanh chóng đến bất ngờ Ngoài ra, dưới đây liệt kê những điểm cộng khiếnframework này trở nên nôi bật và được lập trình viên sử dụng rộng rãi.

e Bảo mật tot: Làm việc với Django, các lập trình viên gân như không có

không gian đê phạm bât cứ sai lâm về an ninh nào Nó giúp các lập trình

13

Trang 26

viên tránh được tat cả các lỗi thường gặp như XXS, SQL injection, Nhờ

đó, sản phẩm được tạo bởi framework này có khả năng bảo mật cực tot

Mở rộng thỏa thích: Django có sẵn tinh năng mở rộng nhằm hỗ trợ các lập

trình viên quản lý lưu lượng người truy cập, thích hợp với các trang có traffic lớn.

Dễ sử dụng: Django được tạo ra bởi ngôn ngữ lập trình Python và mô hình MVC nên rất dé ứng dụng trong các dự án Da ngôn ngữ va được hỗ trợ

Multi-Site

Dễ học: Có nhiều tài liệu hỗ trợ việc học Django, bao gồm cả tài liệu miễn

phí trên mạng và sách in Cộng đồng sử dung Django hiện nay dang pháttriển mạnh mẽ, newbie có thé tìm kiếm sự giúp đỡ trên các trang facebook,

diễn đàn, blog,

Nhược điểm của Django

Bên cạnh những ưu điêm kê trên, Django cũng tôn tại một sô nhược điêm machúng ta cần cân nhắc trước khi sử dụng chúng Cụ thể sau đây:

Có thể xảy ra một vai van dé khi phát trién các ứng dụng/website quy mô

nhỏ

Định tuyến tương đối khó

Không đưa ra các cảnh báo khi xuât hiện 161.

Vì sao nên sử dụng Django trong lập trình web?

Đây là câu hỏi của khá nhiêu người mới bat dau tìm hiệu Django Có nhiêu nguyên nhân khiên framework này được ưu ái Có thê kê đên vài lợi ích sau:

Nhanh chóng, đơn giản trong lập trình web/ứng dụng

Đa dạng về tài liệu

Sử dụng nguyên tắc DRY - không trùng lặp

Hỗ trợ ORM, mang lại sự tương thích, khả năng hoạt động với các cơ sở

dữ liệu thường gặp như Oracle và SQL

14

Trang 27

e Sở hữu nhiều tính năng, giải pháp độc đáo, hữu ích như GPS, chatbot, ứng

dụng cơ sở dữ liệu, nguồn cung cấp dữ liệu RSS, giúp phát triển, quản trị

website, chăm sóc khách hàng

e© Mang lại khả năng sửa đổi (thêm, xóa) một cách liền mạch nhiều thành

phần

e Thân thiện với SEO

e_ Linh hoạt cao: Xây dựng nhiều dang website, ứng dụng cần thiết cho mọi

lĩnh vực, tổ chức, cơ quan

Các nền tang nỗi bật sử dung Django

Framework này được ứng dụng để tạo lập, phát triển và hỗ trợ rất nhiều nền

tảng lớn như Instagram, Spotify, YouTube, Dropbox, trình duyệt Mozilla, Disqus,

Trong những nền tảng trên, Django giữ những vai trò khác nhau, khi thì hỗ trợ

quản lý và xử lý dữ liệu, khi thì lưu trữ thông tin hoặc cũng có lúc hỗ trợ triển khai

các thành phần mới, Với các nền tang lớn, nhiều người truy cập thì nó là framework

lý tưởng dé tăng hiệu suất làm việc

Những “ông lon’ trong thế giới số đều đã nắm bắt cơ hội dé sử dung ứng dụngDjango Bởi một website lớn được thiết kế dudi sự hỗ trợ của framework này sẽ mang

lại hiệu suât hoạt động vô cùng mạnh mẽ.

15

Trang 28

Hinh 2.8 Logo Django REST Framework

REST là viết tắt của REpresentational State Transfer ( nôn na là chuyên trạngthái đại diện) là một kiêu kiến trúc lập trình, nó định nghĩa các quy tắc dé thiết kếtcác web service chú trọng vào tài nguyên hệ thống Trong kiến trúc REST mọi thứ

đều được coi là tài nguyên, chúng có thê là: tệp văn ban, anh, trang html, video, hoặc

dữ liệu động REST server cung cấp quyền truy cập vào các tài nguyên, REST clienttruy cập và thay đổi các tài nguyên đó Ở đây các tài nguyên được định danh dựa vàoURI, REST sử dụng một vai đại diện để biểu diễn các tài nguyên như văn bản, JSON,

XML.

Django REST framework là một công cụ hỗ trợ đắc lực trong việc xây dựngWebAPI Một số lý do khi ta nên sử dụng REST:

e Có hỗ trợ dữ liệu ORM và non-ORM với Serialization.

e Tài liệu phong phú, cộng đồng hỗ trợ lớn

e Được sử dụng trong các công ty quốc tế như Mozilla, Red Hat, Heroku

16

Trang 29

2.1.2.3 JWT (JSON Web Token)"”!

Header Payload Signature

base64enc[[ base64enc({ HMACSHA256(

"alg": "HS256”, "iss": "toptal.com", base64enc(header)

"typ": "IWT" “exp”: 1426420800, +h+,

) “company”: “Toptal", base64enc(payload)

“awesome”: true „secretKey)

)

®@ @

Hình 2.10 Cấu trúc JWTCấu trúc của JSON Web Token:

17

Trang 30

JSON Web Token bao gồm 3 phần, được ngăn cách nhau bởi dấu chấm (.):

hàng đầu Đề tránh việc bị hack thông tin từ những người ân danh, hacker hay thậm

chí là đối thủ cạnh tranh thì người dùng yêu cầu rat cao ở tính bảo mật Có thé thay

khi người dùng thực hiện đăng nhập vào hệ thống cần những yêu cầu tiếp theo phải

chứa thêm ma JWT Không chỉ vậy, việc này sẽ giúp cho họ thuận tiện trong việc

click vào những server, resource và url một cách khá là đễ dàng bởi họ chỉ cần sửdụng duy nhất một JWT là đã hoàn thành xác nhận được quyền truy cập một cách

nhanh chóng, đạt hiệu quả.

Giả sử trong trường hợp JWT của ban bị đánh cắp thì lúc này kẻ đánh cắp van

có thê hoàn toàn sử dung JWT của bạn Vì dé tránh những tình huống đó xảy ra JWT

luôn luôn có thời hạn sử dụng ở khoảng thời gian ngắn Sau khi thời gian hết hiệu lựcthì mã JWT sẽ không còn giá trị sử dụng Tuy nhiên bạn vẫn phải sử dụng cân thậnbảo mật mã JWT của mình một cách an toàn và tránh cho người khác biết đến mã đó

của bạn.

Điểm đặc biệt khác của JWT là nhờ có tính năng mới Single Sign On, hayđược hiểu là tính năng có thể đăng nhập một lần của JWT được dùng rất hiệu quả vàphô biến, bởi chi phí đưa ra không quá cao và nó cũng có thé sử dụng được rất nhiềulần, trên những phạm vi khác nhau

Truyén đạt, trao đồi thông tin

18

Trang 31

Lý do thứ hai mà được nhiều người ưa dùng đó chính là việc truyền đạt trao

đôi thông tin nhờ vào JWT với độ an toàn cao bởi các thành viên có thể trao đôi, nhận

dạng nhau dễ dàng hơn dựa vào phần chữ ký của nó Nhờ có tính năng chữ ký này

mà người sử dụng có thể nhận biết được người đã gửi thông tin là ai, từ đó có thể đảm

bảo tuyệt đôi chính xác va an tâm trong việc nhận biệt người gia mao.

Ngoài ra thì JWT còn mang đến cho người dùng rất nhiều lợi ích và chắc rằngbạn sẽ bị ấn tượng và muốn sử dụng dé làm công cụ hỗ trợ ngày cho công việc củamình đấy

Sử dụng an toàn, bảo mật cao hơn nhờ vào thuật toán mã hóa HMAC, dễ dàng

chia sẻ.

Phổ biến bởi bộ phận phân tích cú pháp JSON không hề xa lạ trong các ngônngữ lập trình khi chúng tạo ra một bản đồ trực tiếp hướng đến các đối tượng khác

nhau.

Nhỏ gọn hơn nhiều XML khác, chúng được mã hóa một cách rất thông minh

và được đánh giá là sự lựa chọn hoàn hảo trong môi trường làm việc

Xử lý nhanh gọn, dễ dàng trong các nền tảng internet, đo đó người dùng cóthể kết nối bat cứ trên thiết bị nào, kế cả là các thiết bị di động cá nhân

19

Trang 32

Hình 2.11 Logo Python

Python là ngôn ngữ lập trình hướng đối tượng, cấp cao, mạnh mẽ, được tạo rabởi Guido van Rossum Nó dé dang dé tìm hiểu và đang nổi lên như một trong nhữngngôn ngữ lập trình nhập môn tốt nhất cho người lần đầu tiếp xúc với ngôn ngữ lậptrình Python hoàn toàn tạo kiểu động và sử dụng cơ chế cấp phát bộ nhớ tự động

Python có cau trúc dữ liệu cấp cao mạnh mẽ và cách tiếp cận đơn giản nhưng hiệuquả đối với lập trình hướng đối tượng

Cú pháp lệnh của Python là điểm cộng vô cùng lớn vì sự rõ ràng, dễ hiéu và

cách gõ linh động làm cho nó nhanh chóng trở thành một ngôn ngữ lý tưởng dé viết

script và phát triển ứng dụng trong nhiều lĩnh vực, ở hầu hết các nền tảng

Tính nắng của Python

Ngôn ngữ lập trình đơn giản, dễ học: Python có cú pháp rất đơn giản, rõ ràng

Nó dễ đọc và viết hơn rất nhiều khi so sánh với những ngôn ngữ lập trình khác như

C++, Java, C# Python làm cho việc lập trình trở nên thú vi, cho phép chúng ta tập trung vào những giải pháp chứ không phải cú pháp.

20

Trang 33

Miễn phí, mã nguồn mở: Chúng ta có thể tự do sử dụng và phân phối Python,thậm chí là đùng nó cho mục đích thương mại Vì là mã nguồn mở, chúng ta không

những có thể sử dụng các phần mềm, chương trình được viết trong Python mà còn có

thé thay đổi mã nguồn của nó Python có một cộng đồng rộng lớn, không ngừng cải

thiện nó mỗi lân cập nhật.

Khả năng di chuyên: Các chương trình Python có thể di chuyển từ nền tảngnày sang nền tảng khác và chạy nó mà không có bat kỳ thay đổi nào Nó chạy liền

mạch trên hâu hêt tât cả các nên tảng như Windows, macOS, Linux.

Khả năng mở rộng và có thể nhúng: Giả sử một ứng dụng đòi hỏi sự phức tạprất lớn, chúng ta có thé dé dàng kết hợp các phần code bằng C, C++ và những ngônngữ khác (có thê gọi được từ C) vào code Python Điều này sẽ cung cấp cho ứng dụngcủa ta những tính năng tốt hơn cũng như khả năng scripting mà những ngôn ngữ lậptrình khác khó có thé làm được

Ngôn ngữ thông dịch cấp cao: Không giống như C/C++, với Python, chúng takhông phải lo lắng những nhiệm vụ khó khăn như quản lý bộ nhớ, don dep những dữliệu vô nghĩa, Khi chạy code Python, nó sẽ tự động chuyền đổi code sang ngôn ngữmáy tính có thé hiểu Ta không cần lo lắng về bat kỳ hoạt động ở cấp thấp nào

Thư viện tiêu chuẩn lớn dé giải quyết những tác vụ phổ biến: Python có một

số lượng lớn thư viện tiêu chuẩn giúp cho công việc lập trình của chúng ta trở nên dễthở hơn rất nhiều, đơn giản vì không phải tự viết tất cả code Ví dụ: chúng ta cần kết

nối cơ sở dữ liệu MySQL trên Web server? Ta có thé nhập thư viện MySQLdb va sử

dụng nó Những thư viện nay được kiêm tra kỹ lưỡng và được sử dụng bởi hàng trămngười Vì vậy, chúng ta có thé chắc chắn rằng nó sẽ không làm hỏng code hay ứng

dụng của mình.

Hướng đối tượng: Mọi thứ trong Python đều là hướng đối tượng Lập trình

hướng đối tượng (OOP) giúp giải quyết những van đề phức tạp một cách trực quan.Với OOP, chúng ta có thể phân chia những vấn đề phức tạp thành những tập nhỏ hơn

bang cách tạo ra các đối tượng

21

Trang 34

Python được dùng ở đâu?

Lập trình ứng dụng web: chúng ta có thể tạo web app có khả năng mở rộng

(scalable) được băng cách sử dụng framework và CMS (Hệ thong quản tri nội dung)

được tích hợp trong Python Vai nền tang phô biến dé tạo web app là: Django, Flask,

Pyramid, Plone, Django CMS Các trang như Mozilla, Reddit, Instagram và PBS đềuđược viết bang Python

Khoa học và tính toán: Có nhiều thư viện trong Python cho khoa học và tínhtoán số liệu, như SciPy và NumPy, được sử dụng cho những mục dich chung chungtrong tính toán Và, có những thư viện cụ thê như: EarthPy cho khoa học trái đất,AstroPy cho Thiên văn học, Ngoài ra, Python còn được sử dụng nhiều trong

machine learning, khai thác dữ liệu và deep learning.

Tạo nguyên mẫu phần mềm: Python chậm hơn khi so sánh với các ngôn ngữ

được biên dịch như C++ và Java Nó có thé không phải là lựa chọn tốt nếu nguồn lực

bị giới hạn và yêu cầu về hiệu quả là bắt buộc Tuy nhiên, Python là ngôn ngữ tuyệt

vời dé tạo những nguyên mẫu (bản chạy thử - prototype) Ví dụ, chúng ta có thé sửdụng Pygame (thư viện viết game) để tạo nguyên mẫu game trước Nếu thích nguyênmẫu đó có thé dùng C++ dé viết game thực sự

Ngôn ngữ tốt dé day lập trình: Python được nhiều công ty, trường học sử dụng

dé dạy lập trình cho trẻ em và những người mới lần đầu hoc lập trình Bên cạnh những

tính năng và khả năng tuyệt vời thì cú pháp đơn giản và dễ sử dụng của nó là lý do

chính cho việc này.

22

Trang 35

2.1.3 Cơ sở dữ liệu

2.1.3.1 MySQL”!

MySQL.

Hinh 2.12 Logo MySQL

MySQL là một hệ thong quản trị co sở dữ liệu ma nguồn mở (RelationalDatabase Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server RDBMS là một phần mềm hay dịch vụ dùng dé tạo và quản lý các cơ sở dữliệu (Database) theo hình thức quản lý các mối liên hệ giữa chúng

MySQL là một trong số các phan mềm RDBMS RDBMS va MySQL thường

được cho là một vì độ phô biến quá lớn của MySQL Các ứng dụng web lớn nhất như

Facebook, Twitter, YouTube, Google, đều dùng MySQL cho mục đích lưu trữ dữliệu Ké cả khi ban đầu nó chỉ được dùng rat hạn chế nhưng giờ nó đã tương thích vớinhiều hạ tầng máy tính quan trọng như Linux, macOS, Microsoft Windows, và

Ubuntu.

MySQL không phải là hệ quản lý cơ sở dữ liệu (RDBMS) duy nhất trên thịtrường, nhưng nó đích thực phô biến nhất và chỉ xếp sau Oracle Database khi xét đếnnhững thông số chính như số lượng tìm kiếm, profile người dùng trên LinkedIn, và

23

Trang 36

lượng thảo luận trên các diễn đàn internet Lý do chính vì sao rất nhiều ông lớn công

nghệ phụ thuộc vào MySQL là gì? Các lý do quan trọng như sau:

Linh hoạt và dễ dùng

Chúng ta có thé sửa source code dé đáp ứng nhu cầu của minh mà không phảithanh toán thêm bat kỳ chi phi nào Quá trình cài đặt cũng rat đơn giản và thường

không quá 30 phút.

Hiệu năng cao

Nhiều server clusters sử dụng MySQL Bat ké chúng ta lưu trữ dữ liệu lớn của

các trang thương mại điện tử hoặc những hoạt động kinh doanh nặng nề liên quan

đến công nghệ thông tin, MySQL cũng có thể đáp ứng được với tốc độ cao, mượt mà.Nhược điểm của MySQL:

Giới hạn: Theo thiết kế, MySQL không có ý định làm tất cả và nó đi kèm với

các hạn chê vê chức năng mà một vào ứng dụng có thê can.

Độ tin cậy: Cách các chức năng cụ thê được xử lý với MySQL (ví dụ tài liệu

tham khảo, các giao dịch, kiểm toán, ) làm cho nó kém tin cậy hơn so với một số

hệ quản trị cơ sở dữ liệu quan hệ khác.

Dung lượng hạn chế: Nếu số bản ghi của chúng ta lớn dần lên thì việc truy

xuất dữ liệu của mình là khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biệnpháp dé tăng tốc độ truy xuất dữ liệu như là chia tải database này ra nhiều server,

hoặc tao cache MySQL

Tiéu chuan trong nganh

Ngành công nghệ va dữ liệu đã sử dung MySQL nhiều năm, vì vay nó là một

kỹ năng căn bản một chuyên gia lập trình Người dùng MySQL cũng có thé triển khai

dự án nhanh và thuê các chuyên gia dữ liệu với mức phí nêu họ cân.

An toàn

24

Trang 37

An toàn dữ liệu luôn là vấn dé quan trọng nhất khi chọn phần mềm RDBMS.

Với hệ thống phân quyên truy cập và quan lý tài khoản, MySQL đặt tiêu chuẩn bao

mật rất cao Mã hóa thông tin đăng nhập và chứng thực từ host đều khả dụng

2.1.4 Safe Exam Browser"®!

Hinh 2.13 Logo Safe Exam Browser

Safe Exam Browser (SEB) là một môi trường trình duyệt web dé thực hiện các

kỳ thi trực tuyến một cách an toàn Phần mềm thay đồi bat kỳ máy tính nào thành mộtmáy trạm an toàn Nó điều chỉnh quyền truy cập vào các tài nguyên như chức năng

hệ thống, các trang web và ứng dụng khác và ngăn chặn các tài nguyên trái phép được

Trang 38

Một số hệ thống quản lý học tập (LMS) như Moodle, ILIAS, OpenOLAT và

các giải pháp thi như Inspera Assessment cung cấp một chế độ kiểm tra tương thích

cụ thé với SEB

Các chức nang của SEB:

Môi trường trình duyệt web dé thực hiện các bài kiểm tra trực tuyến một

cách an toàn.

Chế độ toàn màn hình hoặc cửa số trình duyệt (không có bat kỳ yếu tố điềuhướng nào).

Tắt các phím tắt và các chức năng của hệ điều hành như Trình quản lý tác

vụ (Ctrl-Alt-Del / Cmd-Alt-Esc), trình chuyên đổi chương trình (Alt-Tab,Win-Tab / Cmd-Tab), Màn hình in / Ảnh chụp màn hình không khả dụng

trong một ky thi.

Ngăn không cho học sinh lướt Internet trong ky thi.

Tương thích về cơ bản với tat cả các hệ thông thi dựa trên web, tích hợp bổsung với các hệ thông quản lý học tập Moodle, ILIAS và các hệ thống khác.Khả năng cho phép sử dung có kiểm soát các ứng dụng bên ngoài bé sung

Các phiên bản hiện tại hỗ trợ Windows 7, Windows 8.1, Windows 10, Mac

OS X 10.7 lên đến macOS 10.13 High Sierra và iOS 9.3.5 đến iOS 11

SEB 2.x có thê được bắt đầu hoặc cấu hình lại cho mỗi bài kiểm tra chỉ bằng

cách nhấp vào một liên kết đặc biệt trong một số trình duyệt web thông

thường hoặc trong e-mail.

Phát hiện nếu SEB đang chạy trên một máy ảo, giám sát các quy trình nào

được phép hoặc bị cắm chạy trong kỳ thi

Cài đặt và triển khai dé dàng: Tạo tệp cấu hình seb ma SEB có thé đượcđịnh cấu hình / cấu hình lại sau khi cài đặt

26

Trang 39

trang web bao gồm các khóa học, lớp học cùng tô chức các kỳ thi, kiểm tra khác nhau

trực tuyến Moodle là phần mềm học tập được sử dụng rộng rãi và ưa chuộng tạinhiều quốc gia trên thế giới

Các điểm cộng của Moodle:

e Mã nguồn mở và miễn phi

e Có thê câu hình và nhiêu tính năng

e Cộng đông hỗ trợ toàn câu

Các tính năng chính:

e Giao diện trực quan hiện dai, dễ sử dụng và thân thiện với tất cả các đối tượng

người dùng.

e Các trang tổng quan được phép cá nhân hoá

e Tất cả các lịch đào tạo đều được tích hợp

e Su hợp tác giữa các hoạt động và công cụ.

e Khả năng quản lý các tệp tin một cách dé dàng và thuận tiện.

e Các trình soạn thảo văn bản trực quan, đơn giản và dễ sử dụng.

e Khả năng theo dõi tiến độ.

e Tích hợp với các tinh năng thông báo sự kiện.

27

Trang 40

Bồ cục trang web được thiết kế linh hoạt và tùy chỉnh dé dàng.

Khả năng đăng ký hàng loạt và xác thực an toàn.

Khả năng hỗ trợ đa ngôn ngữ.

Cho phép người dùng tạo ra hàng loạt các khóa hoc và dé dàng sao lưu.

Các tính năng quản lý nhóm, quản lý người dùng được cung cấp

Nhiều tiêu chuân mở được hỗ trợ cùng khả năng tương tác cao

Dễ dàng và đơn giản hơn trong việc quản lý các plugin.

Cập nhật bảo mật một cách liên tục và thường xuyên.

Các báo cáo và nhật ký báo cáo chỉ tiết được cung cấp

Khả năng tích hợp đa phương tiện.

Khả năng hỗ trợ nhúng các tài nguyên bên ngoài, đánh dấu ngang hàng, trong

dòng và các quy trình làm việc.

Khả năng đánh dấu và tự đánh giá năng lực

Tinh năng dam báo sự riêng tư và an toàn thông tin.

28

Ngày đăng: 03/11/2024, 18:11

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w