1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng website thi tiếng anh online

58 0 0

Đ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 đề Website Thi Tiếng Anh Online
Tác giả Nguyễn Văn Trí
Người hướng dẫn TS. Phạm Tuấn
Trường học Đại học Đà Nẵng
Chuyên ngành Công nghệ thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 58
Dung lượng 4,7 MB

Nội dung

Sau đó, lập trình viên dùng một đoạncode để phát hiện thiết bị của người dùng.. Application SPA cho phép kết hợp với nhiều các công cụ hiện đại, như Laravelchẳng hạn.Vue.js được sử dụng

Trang 1

ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

WEBSITE THI TIẾNG ANH ONLINE

Sinh viên thực hiện : Nguyễn Văn Trí

Trang 2

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT

KHOA CÔNG NGHỆ SỐ

ĐỒ ÁN TỐT NGHIỆP

ĐẠI HỌC NGÀNH: CÔNG NGHỆ THÔNG TIN

CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI:

WEBSITE THI TIẾNG ANH ONLINE

Giảng viên hướng dẫn duyệt

Trang 6

1 Tên đề tài: WEBSITE THI TIẾNG ANH ONLINE.

2 Sinh viên thực hiện: NGUYỄN VĂN TRÍ

và tham gia các bộ đề ôn tập, phòng thi online

Qui trình xây dựng website thi tiếng anh online bao gồm:

 Khảo sát thực tế nhu cầu học tập, kiểm tra kiến thực học tập của học sinh

 Tập hợp tài liệu các phần mềm liên quan

Trang 7

Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cảchiều rộng và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm màđang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người,không chỉ ở công sở mà còn ngay cả trong gia đình.

Công nghệ thông tin đang dần chứng tỏ tầm ảnh hưởng rất lớn đến mọi mặt của đời sống xã hội

Đứng trước đại dịch Covid-19 nhu cầu ôn tập thi tiếng anh trực tuyến rất là khókhan nên để góp phần khắc phục tình trạng trên em đã xây dựng một website có thểkiểm tra kiến thức đã học bằng hình thức trắc nghiệm với sự hướng dẫn của thầy PhạmTuấn em đã hoàn thành đồ án tốt nghiệp này Tuy đã có gắng hết sức tìm hiểu, phântích thiết kế, xây dựng hệ thống nhưng sẽ không tránh khỏi những thiếu sót Em rấtmong nhận được góp ý và giúp đỡ của quý thầy cô

Cuối cùng em muốn gởi lời cảm ơn đến toàn bộ quý thầy cô của khoa Công nghệsống trường Đại học Sư phạm kỹ thuật, những người có vai trò rất lớn trong suốt quátrình em theo học tại trường

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

Sinh viên thực hiện

Nguyễn Văn Trí

Trang 8

Chúng tôi xin cam đoan :

1 Những nội dung trong luận văn này do chúng em thực hiện dưới sựhướng dẫn của thầy Phạm Tuấn

2 Mọi tham khảo trong luận văn đều được trích dẫn rõ ràng tên tácgiả,tên công trình ,thời gian,địa điểm công bố

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,chúng em xin chịu hoàn toàn trách nhiệm

Sinh viên thực hiện

Nguyễn Văn Trí

Trang 9

TÓM TẮT V LỜI CẢM ƠN VI CAM ĐOAN VII MỤC LỤC VIII

MỞ ĐẦU 1

1 Phân tích hiện trạng 1

2 Lí do chọn đề tài 1

3 Mục đích đề tài 1

4 Phạm vi đề tài 1

5 Đối tượng nghiên cứu 1

6 Phương pháp nghiên cứu 1

7 Công nghệ sử dụng 2

8 Cơ cấu tổ chức 2

9 Hoạt động nghiệp vụ thực tế 3

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT 4

1.1 Phần mềm 4

1.1.1 Visual Studio Code 4

1.1.2 phpMyAdmin 5

1.1.3 Công cụ Postman 5

1.2 Công nghệ 6

1.2.1 Công nghệ Bootstrap 6

1.2.2 Công nghệ VueJS 7

1.2.3 Công nghệ Laravel 9

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG 12

2.1 Đặc tả yêu cầu phần mềm (Software Requirements) 12

2.1.1 Học sinh 12

2.1.2 Giảng viên 12

2.1.3 Trường học 12

Trang 10

2.3 Kịch bản hoạt động 14

2.3.1 Trường học (Admin) 14

2.3.2 Giáo viên 15

2.3.3 Học sinh 16

2.4 Sơ đồ hoạt động 17

2.4.1 Trường học (Admin) 18

2.4.2 Giáo viên 19

2.4.3 Học sinh 21

2.5 Mô hình dữ liệu 21

2.5.1 Sơ đồ ERD 22

CHƯƠNG 3: TRIỂN KHAI CHƯƠNG TRÌNH 23

3.1 Trường học 23

3.1.1 Cập nhật giảng viên 23

3.2 Giáo viên 26

3.2.1 Giao diện chức năng tạo câu hỏi 26

3.2.2 Cập nhật kỳ thi 32

3.2.3 Cập nhật học sinh 35

3.3 Học sinh 37

3.3.1 Cập nhật thông tin 37

3.3.2 Thi cử 39

KẾT LUẬN & HƯỚNG PHÁT TRIỂN 45

TÀI LIỆU THAM KHẢO 46

Trang 11

Hình 1 1 Cơ cấu tổ chức của trường học 2

Hình 1 2 Qui trình thi cử tiếng anh tại trường 3

Y Hình 2 1 Mô hình MVC 9

Hình 3 1 Sơ đồ Usecase 14

Hình 3 2 Sơ đồ hoạt động “Cập nhật giáo viên” của trường học 18

Hình 3 3 Sơ đồ hoạt động “Cập nhật câu hỏi” của Giáo viên 19

Hình 3 4 Sơ đồ hoạt động “Cập nhật kỳ thi và gởi mail thông báo cho học sinh” của Giáo viên 20

Hình 3 5 Sơ đồ hoạt động “Thi cử” của học sinh 21

Hình 3 6 Sơ đồ ERD 22

Hình 4 1 Giao diện triển khai chức năng “Đăng nhập” 23

Hình 4 2 Giao diện triển khai chức năng “Tạo giáo viên” 23

Hình 4 3 Giao diện triển khai chức năng “Tạo giáo viên” 2 24

Hình 4 4 Giao diện triển khai chức năng “Sửa giáo viên” 24

Hình 4 5 Giao diện triển khai chức năng “Chi tiết giáo viên” 25

Hình 4 6 Giao diện triển khai chức năng “Xóa giáo viên” 25

Hình 4 7 Giao diện chức năng “Danh sách giáo viên” 26

Hình 4 8 Giao diện tạo câu hỏi một đáp án 26

Hình 4 9 Giao diện sửa câu hỏi một đáp án 27

Hình 4 10 Giao diện tạo câu hỏi nhiều đáp án 28

Hình 4 11 Giao diện sửa câu hỏi nhiều đáp án 29

Hình 4 12 Giao diện tạo câu hỏi điền vào chỗ trống 29

Hình 4 13 Giao diện sửa câu hỏi điền vào chỗ trống 30

Hình 4 14 Giao diện chức năng tạo câu hỏi True/False 30

Hình 4 15 Giao diện chức năng sửa câu hỏi True/False 31

Hình 4 16 Giao diện upload câu hỏi bằng file excel 1 31

Hình 4 17 Giao diện upload câu hỏi bằng file excel 2 32

Hình 4 18 Giao diện triển khai chức năng “Cập nhật kì thi” 32

Hình 4 19 Giao diện triển khai chức năng “Tạo kỳ thi” 33

Hình 4 20 Giao diện chức năng thêm học sinh và cài đặt ngày giờ thi 33

Hình 4 21 Giao diện chức năng gởi email cho học sinh tham gia 1 34

Hình 4 22 Giao diện chức năng gởi email cho học sinh tham gia 2 34

Hình 4 23 Giao diện chức năng “Xóa kỳ thi” 35

Hình 4 24 Giao diện triển khai chức năng “Cập nhật học sinh” 35

Hình 4 25 Giao diện triển khai chức năng “Cập nhật học sinh” 2 36

Hình 4 26 Giao diện triển khai chức năng “Cập nhật học sinh” 3 36

Hình 4 27 Giao diện triển khai chức năng “Cập nhật học sinh” 4 37

Hình 4 28 Giao diện triển khai chức năng “Cập nhật học sinh” 5 37

Hình 4 29 Giao diện trang chủ 38

Hình 4 30 Giao diện trang đăng nhập 38

Hình 4 31 Giao diện triển khai chức năng “Thi cử” 1 39

Hình 4 32 Giao diện triển khai chức năng “Thi cử” 2 40

Trang 12

Hình 4 34 Giao diện triển khai chức năng “Thi cử” 4 41

Hình 4 35 Giao diện triển khai chức năng “Thi cử” 5 41

Hình 4 36 Giao diện triển khai chức năng “Thi cử” 6 42

Hình 4 37 Giao diện triển khai chức năng “Thi cử” 7 42

Hình 4 38 Giao diện triển khai chức năng “Thi cử” 8 43

Hình 4 39 Giao diện triển khai chức năng “Thi cử” 9 43

Hình 4 40 Giao diện triển khai chức năng “Thi cử” 10 44

Trang 13

MỞ ĐẦU

1 Phân tích hiện trạng

- Ngày nay, nhu cầu thi trực tuyện tại nhà đang có nhu cầu cao và và thật sự cần

thiết trong mùa dịch covid 19

- Việc phải đợi đến khi hết dịch chúng ta mới tổ chức thi tại trường việc đó rất mất

thời gian trong hoàn cảnh dịch bệnh và việc tổ chức thi ở trường rất đông và tốnthời gian dẫn đến nguy cơ lấy nhiễm covid 19 rất cao

- Bên cạnh đó là cuộc cách mạng công nghiệp 4.0, hướng đến thành phố thông

- Thi online trực tiếp bằng laptop, máy tính tại nhà.

- Tài khoản và mật khẩu được gởi về mail của sinh viên.

- Học sinh có thể xem lịch thi và kết quả trực tuyến trên ứng dụng sau mỗi lần thi.

- Theo dõi được lịch thi định kỳ.

- Giảng viên có thể tạo các kỳ thi trực tuyến và thêm học sinh vào thi.

- Giảng viên có thể upload câu hỏi bằng file excel.

4 Phạm vi đề tài

Áp dụng tại trong một trường học bất kỳ

5 Đối tượng nghiên cứu

- Học sinh

- Giáo viên

- Trường học.

6 Phương pháp nghiên cứu

Đề tài được nghiên cứu thông qua thứ tự các phương pháp sau:

- Khảo sát và Phân tích bài toán.

- Lên ý tưởng giải quyết bài toán.

- Nghiên cứu các công nghệ sẽ sử dụng.

- Phân tích thiết kế hệ thống.

Trang 15

9 Hoạt động nghiệp vụ thực tế

Hình 1 2 Qui trình thi cử tiếng anh tại trường.

Nhà trường thông báo

lịch thi trên website

Học sinh nhận thông báo kiểm tra lịch thi trên trang trường hoặc thông báo qua lớp trưởng

Học sinh kiểm tra lịch thi

có sai sót gì thông báo cho nhà trường

có khiếu nại gì thì báo cáo với thầy cô

Trang 16

CHƯƠNG 1: CƠ SỞ LÍ THUYẾT

1.1 Phần mềm

1.1.1 Visual Studio Code

Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux vàmacOS, Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kếthợp hoàn hảo giữa IDE và Code Editor

Visual Studio Code hỗ trợ chức năng debug, đi kèm với Git, có syntaxhighlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nhờ tínhnăng tùy chỉnh, Visual Studio Code cũng cho phép người dùng thay đổi theme, phímtắt, và các tùy chọn khác

- Cung cấp kho tiện ích mở rộng

- Kho lưu trữ an toàn

- Visual Studio Code hỗ trợ nhiều ứng dụng web Ngoài ra, nó cũng có một trình

soạn thảo và thiết kế website

- Lưu trữ dữ liệu dạng phân cấp

- Hỗ trợ viết Code

- Visual Studio Code có tích hợp thiết bị đầu cuối, giúp người dùng khỏi phải

chuyển đổi giữa hai màn hình hoặc trở về thư mục gốc khi thực hiện các thaotác

- Người dùng Visual Studio Code có thể mở cùng lúc nhiều tệp tin và thư mục –

mặc dù chúng không hề liên quan với nhau

- Intellisense: có thể phát hiện nếu bất kỳ đoạn mã nào không đầy đủ Thậm chí,

khi lập trình viên quên không khai báo biến, Intellisense sẽ tự động giúp họ bổsung các cú pháp còn thiếu

- Hỗ trợ Git

Trang 17

- Quản lý user(người dùng): thêm, xóa, sửa(phân quyền).

- Quản lý cơ sở dữ liệu: tạo mới, xóa, sửa, thêm bảng, hàng, trường, tìm kiếm đối

tượng

- Nhập xuất dữ liệu(Import/Export): hỗ trợ các định dạng SQL, XML và CSV.

- Thực hiện các truy vấn MySQL, giám sát quá trình và theo dõi.

- Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công.

Bên cạnh việc cung cấp nhiều tính năng cần thiết như đã đề cập, phpMyAdmincòn có thể vừa làm việc với một đối tượng vừa xử lý các tình huống bất ngờ Một vài

ví dụ kể đến như SQL injection, các vấn đề phát sinh, lỗi database…

Dù có nhiều ưu điểm song phpMyAdmin vẫn khó tránh khỏi một vài điểm yếu cốhữu Đặc biệt, trong việc sao lưu dữ liệu thủ công sẽ không có một vài tính năng cầnthiết như : Scheduling, Storage Media Support

1.1.3 Công cụ Postman

Postman là một công cụ cho phép chúng ta thao tác với API, phổ biến nhất làREST Postman hiện là một trong những công cụ phổ biến nhất được sử dụng trongthử nghiệm các API Với Postman, ta có thể gọi Rest API mà không cần viết dòngcode nào

Postman hỗ trợ tất cả các phương thức HTTP (GET, POST, PUT, PATCH,DELETE, …) Bên cạnh đó, nó còn cho phép lưu lại lịch sử các lần request, rất tiệncho việc sử dụng lại khi cần

Những lợi ích khi sử dụng Postman:

- Sử dụng Collections (Bộ sưu tập) – Postman cho phép người dùng tạo bộ sưu

tập cho các lệnh gọi API của họ Mỗi bộ sưu tập có thể tạo các thư mục con vànhiều yêu cầu (request) Điều này giúp việc tổ chức các bộ thử nghiệm

- Collaboration – Collections và environment có thể được import hoặc export

giúp chia sẻ tệp dễ dàng

- API Testing – Test trạng thái phản hồi HTTP.

Trang 18

- Gỡ lỗi – Bảng điều khiển Postman giúp kiểm tra dữ liệu nào đã được truy xuất

giúp dễ dàng gỡ lỗi kiểm tra

- Các chức năng cơ bản

- Cho phép gửi HTTP Request với các method GET, POST, PUT, DELETE.

- Cho phép post dữ liệu dưới dạng form (key-value), text, json.

- Hiện kết quả trả về dạng text, hình ảnh, XML, JSON.

vị cứu tinh trong tình huống khó xử này

Bootstrap là một framework nổi tiếng trong cộng đồng lập trình web, và cũng là

dự án được theo dõi nhiều nhất trên Github Bootstrap không đòi hỏi người dùng phải

có kiến thức về thiết kế hoặc mỹ thuật để tạo ra một giao diện đẹp Mọi thứ trongBootstrap đều đã được xây dựng sẵn Chỉ cần dùng những thành phần (component) cósẵn này cho mục đích riêng của mình Bootstrap khởi đầu là một dự án nội bộ củaTwitter Sau khi nhận ra được tính hữu ích của nó đối với cộng đồng, nhóm lập trìnhviên của Twitter quyết định mở nguồn cho Bootstrap và đăng tải nó lên Github vàonăm 2011 Đến nay, Bootstrap đã được 5 tuổi và hiện đang ở phiên bản 3, và sẽ ra mắtphiên bản 4 trong thời gian sắp tới

Bất kỳ ai cũng có thể dùng Bootstrap, kể cả khi người không có khiếu thẩm mỹhoặc không rành về CSS Nếu có tay nghề cao, có thể tùy biến Bootstrap theo ý thíchriêng, hoặc tự tạo theme dựa trên Bootstrap Nếu không chuyên về công nghệ front-end, hãy dùng kỹ thuật copy và paste đoạn code ví dụ có sẵn trên documentation củaBootstrap Tuy nhiên, đây chỉ là phương thức chữa cháy lúc mới bắt đầu học mà thôi.Sau này, nên nâng cao hiểu biết về Bootstrap để không phải phụ thuộc code mẫu nữa.Bootstrap được cấu tạo từ các file CSS và JavaScript Để dùng Bootstrap, bạn chỉcần thêm link đến những file này trong HTML Sau đó, hãy xem qua các component

Trang 19

có trong documentation, rồi chọn ra component ưng ý Kế đến, copy những đoạn codeminh họa và paste vào file HTML.

Mặc định, các thành phần trong Bootstrap đều responsive, nghĩa là chúng tự cogiãn cho phù hợp với kích thước màn hình Trước đây, khi thiết kế một trang web,người ta phải tạo ra nhiều phiên bản khác nhau Sau đó, lập trình viên dùng một đoạncode để phát hiện thiết bị của người dùng Đoạn code sẽ chuyển hướng sang trang webthiết kế riêng cho thiết bị đó Phương pháp này có nhiều điểm bất lợi, như khi cần cậpnhật web thì phải sửa tất cả các phiên bản Do vậy, responsive đang trở thành xu thếchủ đạo trong thiết kế web, và Bootstrap giúp thực hiện điều này một cách tự động.Giống như Windows Forms giúp thiết kế giao diện ứng dụng desktop, Bootstrapcung cấp nhiều component để thiết kế giao diện web Đây là các component HTML đãđược Bootstrap định kiểu (style) sẵn Nhờ vậy, lập trình viên có thể dùng ngay màkhông phải viết code phức tạp Ngoài ra, có thể tùy biến các style một cách dễ dàng.Nếu không có khả năng thiết kế, nên dùng theme nguồn mở của Bootstrap để thay đổikiểu dáng các component

Trước đây, khi thiết kế web, người ta thường dùng <table> để dàn trang Cách này

có khuyết điểm là khiến trang web tải chậm, đặc biệt khi <table> lồng vào nhau Ngoài

ra, <table> không phải là công cụ dùng để dàn trang Nó chỉ dùng để hiển thị thông tindạng bảng Do đó, dùng <table> để dàn trang là sai phương pháp Bootstrap sử dụngcác thẻ <div> để dàn trang, cho nên khả năng responsive của nó rất mạnh mẽ Mặcđịnh, Bootstrap sử dụng một khung lưới (grid) gồm 12 cột Khi thêm component, bạn

sẽ cung cấp số cột mà component chiếm Từ đó, Bootstrap sẽ tự động canh chỉnh chophù hợp

Vì Bootstrap được dùng rộng rãi, cộng đồng nguồn mở cung cấp một loạt cáctheme miễn phí nếu không muốn chỉnh style cho từng component Để thay đổi theme,vào trang bootswatch.com Ở đây, có thể chọn theme theo từng chủ đề với nhiềuphong cách khác nhau Để thay đổi theme, chỉ cần đổi file CSS của Bootstrap thànhfile CSS lấy từ trang bootswatch.com Sau đó refresh trình duyệt để xem kết quả

1.2.2 Công nghệ VueJS

 Giới thiệu

Vue (phiên âm /vjuː/, đọc giống như từ view) là một framework Javascript tiêntiế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 Vuechỉ tập trung vào lớp hiển thị, rất đơn giản để 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ó khả năng cung cấp các ứng dụng web đơn trang Single Page

Trang 20

Application (SPA) cho phép kết hợp với nhiều các công cụ hiện đại, như Laravelchẳng hạn.

Vue.js được sử dụng để xây dựng giao diện người dùng giống như React (sử dụngbở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ớ Chúng ta có thể xem bảngbenchmark các framework Javascript nổi tiếng nhất hiện nay, Vue có một thứ hạngkhông tồi chút nào

Lí do sử dụng NodeJs:

- Các ứng dụng VueJs được viết bằng javascript, ngôn ngữ này là một ngôn ngữ

khá thông dụng

- Hiệu năng Vue.js là thực sự đáng nể so với các đối thủ khác.

- Vue.js có dung lượng tải cực bé do đã tách một số phần ra khỏi core như Vuex,

vue-router nó giúp cải thiện tốc độ tải của toàn trang

- Một lý do mà nhiều người tìm đến với Vue.js là tính đơn giản, dễ học, dễ áp

dụng đặc biệt cho những người chưa có nhiều kiến thức nền

- Dung lượng tải thấp, giúp tốc độ tải trang nhanh hơn

- Tích hợp các tính năng ưu việt của nhiều framework đối thủ, giúp tối ưu hóa

hiệu suất làm việc

- Vue.js luôn học hỏi và tích hợp những gì tốt nhất từ các framework khác, nó

cũng giống như framework Laravel nổi tiếng, luôn thay đổi và luôn tốt hơn

 Nhược điểm

Vue.js cũng có những yếu điểm, thứ nhất đội ngũ phát triển có hạn nên không thể

có những tính năng để phát triển các hệ thống cực lớn, đấy là mình nghe đồn vậy chứthực tế chưa kinh qua dự án nào mà không dùng được Vue.js Thứ hai, Vue.js do EvanYou, một người Mỹ gốc Trung Quốc phát triển đầu tiên, có một số bạn không thíchnhưng mình thấy Trung Quốc mấy năm gần đây phát triển CNTT cực mạnh và chúng

ta nên học tập họ

 Mô hình MVVM trong VueJS

MVVM là viết tắt của Model-View-View Model

Trang 21

ViewModel: Lớp trung gian giữa View và Model, Vuejs tập trung vào lớpViewModel của mẫu MVVM, nó kết nối View và Model thông qua các ràng buộc dữliệu hai chiều Nó chứa các mã lệnh cần thiết để thực hiện data binding, command.

1.2.3 Công nghệ Laravel

Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựngnhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC Hiện nay,Laravel đang là PHP framework phổ biến nhất và tốt nhất Vậy những lý do khiếnLaravel được biết đến rộng rãi là gì?

- Những lý do khiến Laravel trở nên rộng rãi:

- Cú pháp dễ hiểu – rõ ràng

- Hệ thống đóng gói modular và quản lý gói phụ thuộc

- Nhiều cách khác nhau để truy cập vào các cơ sở dữ liệu quan hệ

- Nhiều tiện ích khác nhau hỗ trợ việc triển khai vào bảo trì ứng dụng.

Trang 22

 Framework là gì? PHP Framework là gì?

Framework chính là một thư viện với các tài nguyên có sẵn cho từng lĩnh vực

để lập trình viên sử dụng thay vì phải tự thiết kế Có Framework, lập trình viên chỉ tìmhiểu và khai thác những tài nguyên đó, gắn kết chúng lại với nhau và hoàn chỉnh sảnphẩm của mình Đối với lập trình viên trong mỗi một lĩnh vực, họ cần phải xây dựngcác lớp chương trình để xây dựng nên những phần mềm, ứng dụng thành phẩm

PHP framework là thư viện làm cho sự phát triển của những ứng dụng web viếtbằng ngôn ngữ PHP trở nên trôi chảy hơn Bằng cách cung cấp 1 cấu trúc cơ bản đểxây dựng những ứng dụng đó Hay nói cách khác, PHP framework giúp bạn thúc đẩynhanh chóng quá trình phát triển ứng dụng Giúp bạn tiết kiệm được thời gian, tăng sự

ổn định cho ứng dụng Giảm thiểu số lần phải viết lại code cho lập trình viên

 Mô hình MVC:

VC (Model-View-Controller) là mẫu kiến trúc phần mềm trên máy tính nhằmmục đích tạo lập giao diện cho người dùng Theo đó, hệ thống MVC được chiathành ba phần có khả năng tương tác với nhau và tách biệt các nguyên tắc nghiệp

vụ với giao diện người dùng

Ba thành phần ấy bao gồm:

- Controller: Giữ nhiệm vụ nhận điều hướng các yêu cầu từ người dùng và gọi

đúng những phương thức xử lý chúng

- Model: Là thành phần chứa tất cả các nghiệp vụ logic, phương thức xử lý, truy

xuất database, đối tượng mô tả dữ liệu như các Class, hàm xử lý…

- View: Đảm nhận việc hiển thị thông tin, tương tác với người dùng, nơi chứa tất

cả các đối tượng GUI như textbox, images…

Ưu điểm của Laravel:

- Sử dụng các tính năng mới nhất của PHP: sử dụng Laravel 5 giúp các lập

trình viên tiếp cận những tính năng mới nhất mà PHP cung cấp, nhất là đối vớiNamespaces, Interfaces, Overloading, Anonymous functions và Shorter arraysyntax

- Nguồn tài nguyên vô cùng lớn và sẵn có: Nguồn tài nguyên của Laravel rất

thân thiện với các lập trình viên với đa dạng tài liệu khác nhau để tham khảo.Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng củamình

Trang 23

- Tích hợp với dịch vụ mail: Lavarel là framework được trang bị API sạch trên

thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nềntảng đám mây hoặc local

- Tốc độ xử lý nhanh: Laravel hỗ trợ hiệu quả cho việc tạo lập website hay các dự

án lớn trong thời gian ngắn Vì vậy, nó được các công ty công nghệ và lập trìnhviên sử dụng rộng rãi để phát triển các sản phẩm của họ

- Dễ sử dụng: Laravel được đón nhận và trở nên sử dụng phổ biến vì nó rất d sử

dụng Thường chỉ mất vài giờ, bạn có thể bắt đầu thực hiện một dự án nhỏ vớivốn kiến thức cơ bản nhất về lập trình với PHP

- Tính bảo mật cao:

o Laravel cung cấp sẵn cho người dùng các tính năng bảo mật mạnh mẽ để

người dùng hoàn toàn tập trung vào việc phát triển sản phẩm của mình

 Sử dụng PDO để chống lại tấn công SQL Injection

 Sử dụng một field token ẩn để chống lại tấn công kiểu CSRF

o Mặc định đều được Laravel escape các biến được đưa ra view mặc định,

do đó có thể tránh được tấn công XSS

Nhược điểm của Laravel:

- So với các PHP framework khác, Laravel bộc lộ khá ít nhược điểm Vấn đề lớn

nhất có thể kể đến của framework này là thiếu sự liên kết giữa các phiên bản,nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ

- Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang

trở nên chậm chạp

Trang 24

CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG

2.1 Đặc tả yêu cầu phần mềm (Software Requirements)

2.1.1 Học sinh

 Đăng nhập

 Xem thông tin cá nhân

 Xem danh sách các kỳ thi

 Xem điểm các kỳ thi

 Thi cử

2.1.2 Giảng viên

 Cập nhật

 Cập nhật kỳ thi

 Thêm học sinh vào danh sách thi

 Gởi mail thông báo kì thi cho học sinh

 Thêm học sinh vào danh sách thi

 Gởi mail thông báo kì thi cho học sinh

Trang 26

1 Description Trường học nhận được yêu cầu tạo tài khoản của giảng

viên

4 Output Hệ thống lưu tại thông tin nhân viên và gởi tài khoản mật khẩu đên email của giảng viên

5 Basic flow 1 Actors truy cập vào trang admin - vào phần Teachers

Trang 27

2 Vào phần create teacher – điền đầy đủ và chính xác thông tin giáo viên.

3 Hệ thống lưu lại tài khoản giáo viên và gửi email tài khoản mật khẩu đến email của giảng viên

1 Description Giáo viên có thể cập nhật câu hỏi hoắc upload câu hỏi bằng file excel.

9 Input Giáo viên cập nhật câu hỏi trên website hoặc có thể uploadbằng file excel.

10 Output Câu hỏi được thêm vào cơ sở dữ liệu

11 Basic flow

1 Actors truy cập vào chức năng quản lý câu hỏi – Bắt đầu use case

2 Actors xem một số câu hỏi đã có

3 Actors tiến hành lựa chọn loại câu hỏi hoặc upload câu hỏi bằng file excel

4 Hệ thống lưu lại thông tin câu hỏi đã điền (hoặc upload) – Kết thúc use case

Trang 28

1 Description Giáo viên lên kế hoạch cho kì thi

16 Output Kì thi được thêm vào danh sách kì thi

3 Actors tiến hành lưu kỳ thi trong cơ sở dữ liệu

4 Actors vào tiến hành thêm học sinh vào kì thi và gởi email thông báo đến học sinh trong kì thi – Kết thúc use case

Trang 29

Bảng 2.3.3 1.4.4: Kịch bản học sinh tiến hành thi cử

ST

1 Description Học sinh tiến hành thi cử

21 Input Đăng nhập bằng tài khoản học sinh và tiến hành thi cử

23 Basic flow

1 Actors chọn chức năng “Exams” - Bắt đầu use case

2 Actors lựa chọn kì thi muốn thi

3 Actors tiến hành thi cử đúng thời gian quy định trong thông báo

4 Hệ thống tiến hành tính điểm và trả về kết quả cho học sinh – Kết thúc use case

Ngày đăng: 07/03/2024, 10:44

w