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

đồ án tốt nghiệp công nghệ thông tin xây dựng website thi trắc nghiệm

74 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
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 Website Thi Trắc Nghiệm
Tác giả Trần Vĩnh Trí
Người hướng dẫn Ths. Ngô Tân Khai
Trường học Trường Đại Học Tài Nguyên và Môi Trường Tp.HCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp.Hồ Chí Minh
Định dạng
Số trang 74
Dung lượng 1,56 MB

Nội dung

Mục tiêu của đề tài Hiểu rõ và sử dụng được các ngôn ngữ lập trình website HTML, CSS, JavaScript, ASP.NET, hệ quản trị cơ sở dữ liệu MS SQL.. 2.1.2 Sơ đồ Usecase Sơ đồ usecase hệ thống

Trang 1

KHOA: HE THONG THONG TIN VA VIEN THAM

XAY DUNG WEBSITE THI TRAC NGHIEM

Giảng viên hướng dẫn: Ths Ngô Tân Khai

Sinh viên thực hiện: Trần Vĩnh Trí

Mã số sinh viên: 0750080038

Khoa: 2018 — 2022

Tp Hồ Chí Minh, tháng 01 năm 2023

Trang 2

KHOA: HE THONG THONG TIN VA VIEN THAM

DO AN TOT NGHIEP NGANH: CONG NGHE THONG TIN

Dé tai:

XAY DUNG WEBSITE THI TRAC NGHIEM

Giảng viên hướng dẫn: Ths Ngô Tân Khai

Sinh viên thực hiện: Trần Vĩnh Trí

Mã số sinh viên: 0750080038

Khoa: 2018 — 2022

Tp.Hồ Chí Minh, tháng 01 năm 2023

Trang 3

Trong suốt thời gian học tập tại tường Đại học Tài Nguyên và Môi Trường thành

phố Hồ Chí Minh, em đã được học thêm rất nhiêu kiến thức bồ ích Những kiến thức liên

quan đến chuyên ngành và cả những kiến thức từ việc chia sẻ về đời sống thực tế của thầy

cô, học hỏi từ bạn bè và xã hội Chúng em được trải nghiệm về đời sống sinh viên, những trải nghiệm chưa từng có trước đây Và quan trọng hơn là chúng em đã được trang bị rất nhiều các kiến thức, kĩ năng về chuyên ngành Công Nghệ Thông Tin để làm nền tảng bước vào đời với ngành nghề Chúng em xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy Th§ Ngô Tân Khai, người đã trực tiếp hướng dẫn em về cách thực hiện đề tài báo cáo cũng như đưa ra những ý kiến để em có thể hoàn thiện tốt hơn bài báo cáo của mình Trong quá trình làm báo cáo, em đã cô gắng làm một cách tốt nhất nhưng vẫn còn những điểm hạn chế về kiến thức và kỹ năng nên có thê còn thiếu sót nhiều trong bài báo cáo Vì vậy, em rất mong nhận được sự tthông cảm cũng như đóng góp ý kiến của thầy dé

em có thể hoàn thiện báo cáo một cách tốt nhất

Cuối cùng, em xin kính chúc thầy có nhiều sức khỏe, hạnh phúc và thành đạt trong

công việc và cuộc sông

Xin chan thanh cam on thay!

Trang 4

Tôi xin cam đoan kết quả đạt được trong khóa luận là sản phẩm của riêng cá nhân được hướng dẫn bởi ThS Ngô Tân Khai, không sao chép lại của người khác Trong toàn

bộ nội dung của khóa luận, những điều được trình bày hoặc là của cá nhân hoặc là được

tông hợp từ nhiều nguồn tài liệu Tất cả các tài liệu tham kháo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan của mình

SINH VIÊN THỰC HIỆN

(Kỹ và ghi rõ họ tên)

Trang 5

Kết luận: (Đồng ý hoặc Không đồng ý cho sinh viên nộp báo cáo)

Tp Hồ Chí Minh, ngày tháng .năm 2023 GIẢNG VIÊN HƯỚNG DÂN

(Ký và ghi rõ học hàm, học vị họ tên)

Trang 6

Kết luận: (Đồng ý hoặc Không đồng ý cho sinh viên nộp báo cáo)

Tp Hồ Chí Minh, ngày tháng năm 2023 GIẢNG VIÊN PHÁN BIEN

(Ký và ghi rõ học hàm, học vị họ tên)

Trang 7

Học, ôn tập các lý thuyết về HTML, CSS

Học ngôn ngữ JavaScript và ReactJs

Phân tích và thiết kế hệ thông

Xây dựng giao diện website hệ thống

Xem xét và chỉnh sửa phân tích thiết ké dé phù hợp

với giao diện

Ôn tập lý thuyết về C#, ASP.Net, JWT, JavaScript,

Xây dựng API Server hệ thống

Tích hop API cho phia client

Kiểm thử và sửa lỗi hệ thống

Triển khai hệ thống

Việt tải liệu và báo cáo

Thời gian dự kiên

Trang 8

1 Tên đề tài Luận văn: Xây dựng website thi trắc nghiệm

2 Tóm tắt đề tài: Giúp tạo ra một môi trường quản lý bộ câu hỏi dành cho trưởng khoa, giảng viên, cũng như nơi thi cử cho học sinh, sinh viên

3 Vấn đề đưa ra

Ngày nay, ngành Công nghệ thông tin là một ngành có tầm ảnh hưởng vô cùng lớn đối với hầu như mọi lĩnh vực: y tế, giao thông, ngân hàng Trở thành một lĩnh vực quan trọng trong công cuộc phát triển kinh tế, xã hội Nó đem lại một lượng lớn thông tin đến cho mọi người và đã trở thành một thứ không thê thiếu trong cuộc sống hằng ngày Ứng dụng công nghệ thông tin giúp cho cuộc sống trở nên đơn giản, tiện lợi hơn Với tình hình

dịch bệnh COVID-19 chưa thé kiểm soát va dé dam bao cho việc thi cử của học sinh, sinh

viên được diễn ra một cách thuận tiện, nhanh chóng Cần phải có một hệ thống thi online

giúp sinh viên, sinh viên làm bài thi trực tuyến Từ đó hệ thống thi trắc nghiệm trực tuyến

ra đời với sứ mệnh giúp thi trắc nghiệm trở nên đơn giản, dễ tiếp cận hơn

4 Mục tiêu của đề tài

Hiểu rõ và sử dụng được các ngôn ngữ lập trình website HTML, CSS, JavaScript,

ASP.NET, hệ quản trị cơ sở dữ liệu MS SQL Thiết kế được website thi trắc nghiệm

5 Thiết kế tông quát đề tai:

Chương I: Tổng quan tài liệu (Giới thiệu về đề tài, cơ sở lý thuyết)

Chương 2: Phương pháp thực hiện (Các mô hình của chương trình)

Chương 3: Cài đặt thực nghiệm (Các giao diện, cơ sở dữ liệu)

6 Nội dung chính của đề tài, các vấn đề cần giải quyết

Xây dựng website có các chức năng chính sau:

¢ Quan lý lớp học, tài khoản (giảng viên, sinh viên), môn học, cho quản trị viên

© Quản lý câu hỏi, đề thi cho giảng viên

e Tham gia thi, xem diém cho sinh viên

Trang 9

MO DAU esseceecsseeesssssesssssseecessneesssssnnsesssnscesssneessssnsessnessnneessssnsesssnnetseesuesenesesnesees 1 CHUONG 1: TONG QUAN TAL LIEU eecscccsecsssseesssseeessseeeesssmesessssnesessnnsssnnsesneesnesees 2

1.1 Các dur ar Li6nn quant ccc ccc cece ccccsecneeceeecceeccseesseecusecsssesseecuesesseeseeseeeseees 2

1.2 Cơ sở lý thuyẾt: ác n2 1n n1 1 H21 re, 2 1.2.1 Công cụ sử dụng và hỗ trỢ + sc E2 1211112111211 1210111111 51H Hưyn 2

1.2.2 Ngôn ngữ, nền tảng, ÍramewOrk - St E1 11111 22110121 tre nrey 4

1.2.3 Kỹ thuật sử dụng - 2 2201121112 212 2111115511211 01 11 118111 k Hs như 6

CHƯƠNG 2: PHƯƠNG PHÁP THỰC HIỆN 5: ©2222222122E221221122122221E 1x2 xe2 10

2.1 Phân tích và thiết kế hệ thống 2-5 - SE EE11211112112111112 11211211 g tre 10 2.1.1 Đặc tả yêu cầu c1 n2 HH1 H1 H1 n1 t1 rêu 10

2.1.2 Sơ đồ Usecase 20c 2n 22212 1221211211121121121121121121211 re 10

2.1.3 Đặc tả secase - - c0 HH HH HH TT ng HT ng TK cà nen 11

2.1.4 Biểu đồ hoạt động S1 n1 HH0 1 n1 HH nh He He 17

2.1.5 Lược đồ tuần tự - ST ng HH HH rrrree 27

2.1.6 Thiết kế mô hình [ERD: -©25:: 222 221121122 1 E1 36

2.1.6 Thiết kế biêu đồ lớp: ¿5c 5 2 E1111211211211 211 11 11 1 12121 erieg 42

2.2 Sự lựa chọn và thách tÌhức 2 2 - 2 v99 5530 5111k kg ng T1 kg cv 42

CHUONG 3: CAI DAT THUC NGHIEM, KET QUÁ VÀ ĐÁNH GIÁ -5: 43

3.1 Phân tích màn hình đăng nhập - - 2 E222 2221121112111 2 1111121 re 43 3.2 Phân tích màn hình home 2: 2132113213511 353351 1511551151 1551 151185121111 8151 18 x52 44 3.4 Phân tích các màn hình quản lý tài khoản sinh viên 572 2 22+ 2s c+szxs2 45 3.5 Phân tích các màn hình quản lý tài khoản giảng viên .c 2 c2 cà cà 46 3.6 Phân tích màn hình quản lý môn học 2 2 2 2212212221112 1222 1281111 47 3.7 Phân tích màn hình quản lý lớp học - c1 2222212121 1221211122 22tr tre 49 3.8 Phân tích màn hình quản lý câu hỏi - 2 - 2c 22 2222212111211 1 1211211118 Ekereo 50

3.9 Phân tích màn hình quản lý đề thi 52-55 112112 1E E2 2 5E tr rHrye 52

Trang 10

3.11 Phân tích màn hình chon 46 thin c.ccccccccccccccccesscesssssesssesssestesstesesesseeeensesseseeteees 55 3.12 Phân tích màn hình thi 2 2: ©2s22S19EE2225122511221271121112112711211.271 1 2 eee 56

3.13 Phân tích màn hình xem điểm 2-2 SE SE E1 2E2E1512517121151211525151 11522512 2Extx tra 57

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 52-5 522E22E15212E1E21211717121212 xe re, 58

DANH MUC TAI LIEU THAM KHAO ccceccccccscscssesesesesvevsseseseeevevesesesesesavavscsvecsesesees 59

Trang 11

Hình 1.1 Visual studio œod€ - c0 1 1121111111111 11112111111 1111111115111 11 111 111g 1x tra 2 Hình 1.2 Visual sfud10 - - c1 0 201121 1211111111 11111111111 112111 111115111 111 111 11 51 T1 111 tra 3 Hình 1.3 MS SQL S€TveT - Q00 21 1201111151111 011 110011111 K KH 1kg KE ng kg 1k0 3

000 9® in e 4 Hình 1.4 Reaet JŠ - - L1 11121 1211111111 1111111211 11112 11 118011011 11 111110 11H HH HH HH Hiệu 5

Hình 2.5 Sơ đồ usecase quản lý tài khoản - 5c s t 2111121121111 1 121tr reo 13 Hình 2.6 Sơ đồ usecase quản lý đề thi - S1 xEEEE11111 1121110121211 rryeg 14

Hình 2.7 Sơ đồ usecase quản lý danh sách điểm, thi + SE SE EEEEE sexy 14

Hình 2.8 Sơ đồ usecase quản lý câu hỏi - - 5c c2 21211211 1 E1 1 tre rat 15

Hình 2.9 Sơ đồ usecase thêm câu hỏi từ file : 5c 22 tr tre l6

Hình 2.10 Sơ đồ usecase tham gia thi 5-55 S1 tt SE E112111221121 22111118 trg tra 16 Hình 2.11 Sơ đồ usecase xem điểm 55c 2s x2 2212212122212 212121 xe 17

Hình 2.12 Biểu đồ hoạt động đăng nhập - 1 ST E1 E12 21181212121 re 18

Hình 2.13 Biểu đồ hoạt động quản lý lớp học - 5: s SE xEEEE221212 E121 19 Hình 2.14 Biểu đồ hoạt động quản lý môn học - 2-52 2S SE E181 11221221111 xrkt 20

Hình 2.15 Biểu đồ hoạt động quản lý tài khoản - 5c ST EEE E2 2x re 21 Hình 2.16 Biểu đồ hoạt động quản lý đề thi 5-5 SE EE11E11E2121111 12111 cty 22 Hình 2.17 Biểu đồ hoạt động quản lý danh sách thi, điểm 2 5s SE zxcrrrsre 23 Hình 2.18 Biểu đồ hoạt động quản lý câu hỏi 5c SE 1221 E1 HE HH nghe rên 24

Trang 12

Hình 2.20 Biểu đỗ hoạt động tham gia thi 5-5 SE 111E11E1121111211 21112 Hee 26 Hình 2.21 Biểu đỗ hoạt động tham gia thi 5-5 SE EE111E11E112111121 2121 cterrieg 27 Hình 2.22 Lược đồ tuần tự đăng nhập - 5 St n SE 21121121211 102111 1 trêu 27 Hình 2.23 Lược đồ tuần tự quản lý lớp học - -scc2E11EE1EE121121211211 21 Excterrree 28 Hình 2.24 Lược đồ tuần tự quản lý môn học -.- 5s tt kEE12E121221211 1.1.1 crrrreh 29 Hình 2.25 Lược đồ tuần tự quản lý tài khoản - 5 5c s12 2 21k 30 Hình 2.26 Lược đồ tuần tự quản lý để thi 5c s21 1121121121111 2121 errrreg 31 Hình 2.27 Lược đồ tuần tự quản lý danh sách đề, điểm - 5 - St SE srre se 32 Hình 2.28 Lược đồ tuần tự quản lý câu hỏi 5: SE 1111211118212 ket rrey 33

Hình 2.29 Lược đồ tuần tự thêm câu hỏi từ file - -¿: 2c: 22Ettrrrrttrrrrrrrrrrree 34

Hình 2.30 Lược đồ tuần tự tham 1a ỈH 2 20 220111221121 151 1115115111151 11581 tren 35 Hình 2.31 Lược đồ tuần tự xem điểm 2 ST 2 Hn TT EEnEn nen He He He Heo 36

Hình 3.10 Giao diện thêm môn học - - G Q T021 12 211111 SE S9 kg TH nh ng ky 48

Hinh 3.11 Giao diện quản lý lớp học 2 L2 2211221121112 11211112 2111k He 49

Hình 3.12 Giao diện thêm lớp học 002221112111 121 1121122111181 1101111 815gr ky 49

Hình 3.13 Giao điện quản lý câu hỏi 2 22 2221212112211 1111 1121112111 111181158111 ky 50

Hình 3.14 Giao diện thêm câu hỏi bằng cách điền thông tin - 5 nen set 51

Trang 13

Hình 3.16 Mẫu file excel - 2-52 221221 2121121121121121121121121121121122121 re 52 Hình 3.17 Màn hình hiển thị danh sách đề thi - 2: ©2s2S2SE22E122122212212221221222212 222 52 Hình 3.18 Màn hình thêm đề thi - 22-25 2 SE2251221112271211221211212211211 1211222 ye 53 Hình 3.19 Giao điện chi tiét dé thie ccccecccecssssssssesstssssssssstssesstesesenstseeseseseseeeees 54

Hình 3.20 Nội dung file “Export List SŠtudernf” - 1221121121111 1 1113113111111 1 re 34 Hình 3.21 Nội dung file “Export List Test Studenif” c2 0112111121 1 2111111 35

Hình 3.22 Các đề có thê tham gi thi 52 St 11211112 12112111 21 11111121 55

Hình 3.23 Màn hình tham gia tH1 ccc 2 2221222121211 3111151151151 1112111571111 11c re 56 Hình 3.24 Thông báo số điêm của bài kiêm tra vừa làm -2- 2S S2E SE Eretsrrsr eee 56

Hình 3.25 Màn hình hiển thị số điểm của các bài thi đã làm 5.522 S2 2212525225 c2 57

Trang 14

Bảng định nghĩa thực thể tài khoản 525 2 E221 E215E 111112112 re 36

Bang dinh nghĩa thực thể sinh viên 2 2S ST 5E 5E HH HH HH te 37 Bảng định nghĩa thực thể môn học - 2S T21 S251 255 15511 E5 re na 37 Bảng định nghĩa thực thé lớp học 2 2n 1121112112121 222 1H key 38 Bang dinh nghĩa thực thể câu hỏi 2 TS T111 11518258 2 HH tre 38

Bảng định nghĩa thực thê câu trả lời 5 5s SE EEEEEE Etryk 39 Bảng định nghĩa thực thê đề thi 5 5c s ềSEE12112111211 2x12 211 tre 39 Bảng định nghĩa thực thê điểm 5 5c c EE121111112211 111 ma 40

Bảng định nghĩa thực thê liên kết sinh viên và đề thi s eeees 40 Bảng 2.10: Bảng định nghĩa thực thể liên kết câu hỏi va dé thi cece eee 41

Trang 15

STT Ký hiệu Dang day du Diễn giải

CORDS Cross-Origin Resource Sharing Một cơ chế

ERD Entity Relationship Diagram Mô hình thực thê

Integrated Development Môi trường tích hợp đề

MS SQL Server Microsoft SQL Server He thong quan ly £ ag quan

hệ của cơ sở dữ liệu

URL Uniform Resource Locator He thong dinh I tat nguyên thong nhat

VSC Visual Studio Code Trinh soan thao ma nguồn

Trang 16

MỞ ĐẦU

Ngày nay, ngành Công nghệ thông tin là một ngành có tầm ảnh hưởng vô cùng lớn đối với hầu như mọi lĩnh vực: y tế, giao thông, ngân hàng trở thành một lĩnh vực quan trọng trong công cuộc phát triển kinh tế, xã hội Nó đem lại một lượng lớn thông tin đến cho mọi người truy cập và đã trở thành một thứ không thẻ thiếu trong cuộc sống hằng ngày Ứng dụng công nghệ thông tin giúp cho cuộc sống trở nên đơn giản và tiện lợi hơn

Với tình hình dịch bệnh COVID-19 chưa thể kiểm soát và dé dam bao cho việc thi

cử của sinh viên, sinh viên được diễn ra một cách thuận tiện, nhanh chóng Cần phải có

một hệ thông thi online giúp sinh viên, sinh viên làm bài thi trực tuyến Từ đó hệ thống thi

trắc nghiệm trực tuyến ra đời với sứ mệnh giúp thi trắc nghiệm trở nên đơn giản và dễ tiếp

cận hơn

Trang 17

CHUONG 1: TONG QUAN TAI LIEU

1.1 Các dự án liên quan:

So với đồ án website quản lý hồ sơ em đã từng làm trước đây, thì nhiều sự khác biệt

như là:

- Có nhiều đôi tượng người dùng hơn

- Quản lý nhiều đối tượng hơn, làm rõ quan hệ dữ liệu

- Đăng nhập với độ bảo mật tốt hơn bằng kỹ thuật jwt

- Bảo mật dữ liệu tốt hơn

1.2 Cơ sở lý thuyết:

1.2.1 Công cụ sử dụng và hỗ trợ

* Visual Studio Code:

Visual Studio Code (VS Code hay VSC) Là một trình biên tập lập trình code miễn phi danh cho Windows, Linux va macOS, VSC duoc phat triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa [DE và Code Editor

VSC hỗ trợ chức năng tìm kiếm lỗi, đi kèm với Git, có syntax highlighting, tự hoàn

thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tính năng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phim tắt, và các tùy chọn khác

Hinh 1.1 Visual studio code

Trang 18

* Visual Studio:

Visual Studio la (IDE — Integrated Development Environment) một bộ công cụ phát triển phần mềm do Microsoft phát triển Visual Studio cũng là một tool được sử dụng bởi các lập trình viên đê xây dựng nên các sản phâm phân mêm

Hinh 1.2 Visual studio

* MS SQL Server:

MS SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi

Microsoft Là một may chủ cơ sở dữ liệu, nó là một sản phâm phần mềm có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của các ứng dụng phần mềm khác Có thê chạy trên cùng một máy tính hoặc trên một máy tính khác trên mạng

SQL Server có khả năng cung cấp đầy đủ các công cụ cho việc quản lý từ giao diện

GUI đến sử dụng ngôn ngữ cho việc truy van SQL Điểm mạnh của SQL điểm mạnh của

nó là có nhiều nền tảng được kết hợp cùng như: ASP.NET, C# để xây dựng Winform

cũng chính nó có khả năng hoạt động độc lập

Tuy nhiên, SQL Server thường đi kèm với việc thực hiện riêng các ngôn ngữ SQL,

T-SQL,

Hinh 1.3 MS SOL Server

Trang 19

1.2.2 Ngôn ngữ, nền tang, framework

* C#:

C# là một ngôn ngữ lập trình hướng đối tượng, mã nguồn mở, đơn giản, hiện đại,

linh hoạt C# được phát triển bởi Microsofi

Microsoft phát triên C# dựa trên C++ và Java C# được miêu tả là ngôn ngữ có được

sự cân bằng giữa C+-+, Visual Basic, Delphi và Java

C# được thiết kế cho Common Language Infữastructure (CLI), mà gồm Executable Code va Runtime Environment, cho phép chúng ta sử dụng các ngôn ngữ high-level da dạng trên các nên tảng và cầu trúc máy tính khác nhau

Hinh 1.3 C#

* ReactJS:

React là một thư viện JavaScript ont-end mã nguồn mở miễn phí đề xây dựng giao diện người dùng hoặc các thành phần UI Nó được duy trì bởi Facebook và một cộng đồng các nhà phát triển và công ty cá nhân React có thể được sử dụng như một cơ so dé phát triển các ứng dụng một trang hoặc ứng dụng di động

Một trong những điểm hap dan cia React là thư viện này không chỉ hoạt động trên

phía client, mà còn được render trên server và có thê kết nối với nhau React so sánh sự

thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM

Trang 20

Hình L4 React JS

*GitHub:

GitHub là một dịch vụ nồi tiếng cung cấp kho lưu trữ mã nguồn Git cho các dự án phần mềm Github có đầy đủ những tính năng của Git, ngoài ra nó còn bổ sung những tính năng về social để các developer tương tác với nhau

Hình 1.5 Github Vài thông tin về GIT:

- Là công cụ giúp quản lý source code tô chức theo dạng dữ liệu phân tán

- Giup đồng bộ source code của team lên một server

- Hỗ trợ các thao tác kiểm tra source code trong quá trình làm việc (diff, check modifications, show history, merge source, )

GitHub có 2 phiên bản: miễn phí và trả phí Với phiên bản có phí thường được các doanh nghiệp sử dung dé tang kha nang quan ly team cũng như phân quyền bảo mật dự

án Còn lại thì phần lớn chúng ta đều sử dụng Github với tài khoản miễn phí để lưu trữ

source code

Github cung cấp các tính năng social networking như feeds, followers, và network graph đề các developer học hỏi kinh nghiệm của nhau thông qua lịch sử commit

Trang 21

GitHub được coi là một mạng xã hội dành cho lập trình viên lớn nhất và dễ dùng

nhất với các tính năng cốt lõi như:

- Wiki, issue, thông kê, d6i tén project, project duoc dat vao namespace la user

- Watch project: theo dõi hoạt động của project của người khác Xem quá trinh người ta phát triển phầm mềm thé nao, project phát trién ra sao

- Follow user: theo dối hoạt động của người khác

Có 2 cách tiếp cận GitHub: Tạo project của riêng mình Contribute cho project có sẵn: fork project có sẵn của người khác, sửa đổi, sau đó đề nghị họ cập nhật sửa đối của minh (tao pull request)

1.2.3 Kỹ thuật sử dụng

*JSON Web Token:

JWT (JSON Web Token) là một phương tiện đại diện cho các yêu cầu chuyên giao giữa hai bên Client — Server, các thông tin trong chuỗi JWT được định dạng bằng JSON Trong đó chuỗi Token phải có 3 phần là header, phần payload và phần signature được

66 99

ngan bang dau “

Hinh 1.6 Cau tric JWT (JSON web token)

Trang 22

Header: Phần header sẽ chứa kiểu dữ liệu, và thuật toán sử dụng để mã hóa ra chuỗi

JWT

“alg”: “HS256”

“typ”: “JWT”

“typ” (type) chỉ ra rằng đối tượng là một JWT

- “ajg” (algorithm) xác định thuật toán mã hóa cho chuỗi là HS256

Payload: Phan payloadsé chtra cac thông tin mình muốn đặt trong chuỗi Token như username , userld , author

Trang 23

Hinh 1.7 Vi du vé JWT (JSON Web Token)

*Ly do sw dung JWT

Authentication: Đây là trường hợp phô biến nhất thường sử dụng JWT Khi người dùng đã đăng nhập vào hệ thống thì những request tiếp theo từ phía người dùng sẽ chứa thêm mã JWT Điều này cho phép người dùng được cấp quyền truy cập vào các url, ServIce, và resource mà mã Token đó cho phép Phương pháp này không bị ảnh hưởng bởi Cross-Origin Resource Sharing (CORS) do no khéng str dung cookie

Trao đổi thông tin: JWT là một cách thức khá hay để truyền thông tin an toàn giữa các thành viên với nhau, nhờ vào phần signature của nó Phía người nhận có thể biết được người gửi là ai thông qua phần signature Và chữ ký được tạo ra bằng việc kết hợp cả phân header, payload lại nên thông qua đó ta có thể xác nhận được chữ ký có bị giả mạo hay không

*Lâp trình đồng bộ (Synchronous) và bất đồng bộ (Asynchronous):

Lập trình đồng bộ có nghĩa là xử lý đồng bộ, chương trình sẽ chạy theo từng bước và chi khi nào bước I thực hiện xong thì mới nhảy sang bước 2, khi nào chương trình này chạy xong mới nhảy qua chương trình khác Đây là nguyên tắc cơ bản trong lập trình,

Trang 24

đó là khi biên dịch các đoạn mã thì trình biên dịch sẽ biên dịch theo thứ tự từ trên xuống

dưới, từ trái qua phải và chỉ khi nào biên dịch xong dòng thứ nhât mới nhảy sang dòng thứ hai, điều này sẽ sinh ra một trạng thái ta hay gọi là trạng thái chờ

Lập trình bất đồng bộ là khả năng thực thi các tác vụ độc lập nhau, có nghĩa là chúng không nhất thiết phải chạy một cách tuần tự (có thể chạy song song với nhau) hoặc xử lý này không phải đợi xử lý khác giúp cho việc cải thiện hiệu suất hoạt động của ứng dụng

Trang 25

CHƯƠNG 2: PHƯƠNG PHÁP THỰC HIỆN

2.1 Phân tích và thiết kế hệ thống

2.1.1 Đặc tả yêu cầu

Yêu cầu chức năng

- Về phía quản trị viên:

+ Quản lý lớp học: thêm, xóa, cập nhật lớp học

+ Quản lý môn học: thêm, xóa, cập nhật môn học

+ Quản lý tài khoản: thêm, xóa tài khoản của giảng viên và sinh viên

- Về phía giảng viên :

+ Quản lý đề thì: tạo, xóa đề thi với số câu hỏi dễ, trung bình, khó do người dùng

nhập Thêm, xoá sinh viên khỏi dé thi

+ Quản lý câu hỏi: thêm, xóa, phân loại mức độ câu hỏi

- Về phía sinh viên :

+ Tham gia thi trực tuyến

+ Xem điểm

Yêu cầu phi chức năng

- Tính bảo mật cao

- Có tính hiệu quả trong thì

- Đảm bảo hiệu năng với lượt truy cập cao cùng thời điểm

Trang 26

2.1.2 Sơ đồ Usecase

Sơ đồ usecase hệ thống :

Hinh 2.1 So dé usecase hé thong 2.1.3 Dac ta Usecase

* Dac ta usecase dang nhap

Hình 2.2 Sơ đồ usecase đăng nhập s* Tóm tắt: Use case này mô tả cách đăng nhập vào hệ thông

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case này bắt đầu khi người dùng muốn đăng nhập vào hệ thông

Trang 27

+ Hệ thống yêu cầu người dùng nhập tài khoản và mật khâu

+ Hệ thống kiểm tra tài khoản và mật khâu mà người dùng đã nhập và cho phép người dùng đăng nhập vào hệ thống

- Dòng sự kiện khác: Nếu trong dòng sự kiện chính người dùng nhập tài khoản và mật khâu sai hoặc không tôn tại thì hệ thống sẽ báo lỗi Người dùng có thê quay

về đầu dòng sự kiện hoặc hủy bỏ việc đăng nhập lic nay usecase kết thúc

s* Post condition: Nếu usecase thành công thì người đăng nhập có các quyền sử dụng các tính năng của hệ thông tương ứng Ngược lại trạng thái của hệ thống không

+ Hệ thống hiển thị danh sách các lớp học tồn tại trong hệ thống

+ Người dùng chọn những tác vụ tương ứng thêm, xóa, cập nhật lớp học trong

hệ thống tùy vào nhu cầu sử dụng

Trang 28

* Đặc tả usecase quản lý môn học

Hình 2.4 Sơ đồ usecase quản lý môn học s* Tóm tắt: Use case này mô tả cách quản trị viên quản lý môn học

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case này bắt đầu khi quản trị viên đăng nhập vào hệ thống

+ Hệ thống hiển thị danh sách các môn học tôn tại trong hệ thống

+ Người dùng chọn những tác vụ tương ứng thêm, xóa, cập nhật môn học trong

hệ thống tùy vào nhu cầu sử dụng

* Đặc tả usecase quản lý tài khoản

Hình 2.5 Sơ đồ usecase quản lý tài khoản s* Tóm tắt: Use case này mô tả cách quản trị viên quản lý tài khoản

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case này bắt đầu khi quản trị viên đăng nhập vào hệ thống

Trang 29

+ Hệ thống hiển thị chỉ tiết thông tin danh sách tài khoản tồn tại trong hệ thống + Người dùng chọn những tác vụ tương ứng thêm, xóa tài khoản trong hệ thông tùy vào nhu cầu sử dụng Có 2 vai trò khi cấp tài khoản cần chú ý là: giảng viên và sinh viên, mỗi vai trò sẽ có những chức năng tương ứng

* Đặc tả usecase quản lý đề thi

Hinh 2.6 So dé usecase quan ly dé thi

“+ Tom tat: Use case này mô tả cách giảng viên quản lý đề thi

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case này bắt đầu khi giảng viên đăng nhập vào hệ thông và muốn quản lý

đề thi

+ Người dùng chọn những tác vụ tương ứng tạo, xoá đề thi được chỉ định

* Đặc tả usecase quản lý danh sách thi, điểm

Hình 2.7 Sơ đồ usecase quản lý danh sách điểm, thí

s* Tóm tắt: Use case mô tả cách giảng viên quản lý danh sách thi, xem điềm

** Dòng sự kiện:

Trang 30

- Dòng sự kiện chính

+ Use case nay bat dau khi giảng viên xem chỉ tiết đề thi

+ Hệ thống tải dánh sách sinh viên thi và điểm số nếu có

+ Người dùng chọn những tác vụ tương ứng đề thêm sinh viên, xoá sinh viên

khỏi dé thi

+ Hệ thống sẽ thêm, xoá sinh viên ra khỏi đề thi

+ Người dùng chọn tác vụ mm danh sách thi hoặc danh sách điểm

+ Hệ thống sẽ cho người dùng tải về một ñle tương ứng

* Đặc tả usecase quản lý cầu hỏi

Hình 2.8 Sơ đồ usecase quản lý câu hỏi s* Tóm tắt: Use case này mô tả cách giảng viên quản lý câu hỏi

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case nay bat dau khi giảng viên đăng nhập vào hệ thông

+ Hệ thống hiển thị chỉ tiết thông tin danh sách câu hỏi tổn tại trong hệ thông + Người dùng chọn những tác vụ tương ứng thêm, xóa câu hỏi trong hệ thống tùy vào nhu câu sử dụng

Trang 31

* Đặc tả usecase thêm câu hỏi từ file

Thêm câu

hoi tir file

Hình 2.9 Sơ đồ usecase thêm câu hỏi từ file s* Tóm tắt: Use case này mô tả cách giảng viên thêm câu hỏi từ một ñle excel

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case này bắt đầu khi giảng viên chọn tải lên danh sách câu hỏi từ màn hình quản lý câu hỏi

+ Nguoi dung chon file excel cần tạo câu hỏi

+ Hệ thống hiển thị tong s6 cau hoi co trong file

+ Người dùng bam “Upload” đề tạo câu hỏi trong danh sách

+ Hệ thống thẻ hiện trạng thái tiến trình, tổng số lượng câu hỏi tạo thành công

và thất bại cho người dùng

* Đặc tả usecase tham gia thi

Hình 2.10 Sơ đồ usecase tham gia thi s* Tóm tắt: Use case này mô tả cách sinh viên tham gia thi trực tuyến

Trang 32

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case nay bat đầu khi sinh viên đăng nhập vào hệ thống và muốn tham gia bai thi

+ Sinh vién chon dé thi

+ Hệ thống hiển thị đề thi đã được định trước và cho sinh viên bắt đầu tiền hành

làm bài thi

* Đặc tả usecase xem điềm

Hình 2.11 Sơ đồ usecase xem điềm s* Tóm tắt: Use case này mô tả cách sinh viên xem điểm của bản thân mình

** Dòng sự kiện:

- Dòng sự kiện chính

+ Use case nay bat đầu khi sinh viên đăng nhập vào hệ thống và muốn xem

điểm bài da thi

+ Sinh viên chọn xem điểm

+ Hệ thống hiển thị điểm trên từng đề của sinh viên đã thi

2.1.4 Biểu đồ hoạt động

Trang 33

* Đăng nhập

Hình 2.12 Biểu đô hoạt động đăng nhập

Trang 34

* Quản lý lớp học

Tình 2.13 Biêu đô hoạt động quản lý lớp học

Trang 35

* Quản lý môn học

Tình 2.14 Biêu đô hoạt động quản lý môn học

Trang 36

* Quản lý tài khoản

Tình 2.15 Biểu đô hoạt động quản lý tài khoản

Trang 37

* Quản lý đề thi

Hình 2.1ó Biêu đô hoạt động quản lý đề thị

Ngày đăng: 19/08/2024, 15:44