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

BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE

76 53 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 đề Xây Dựng Website Khóa Học, Hỗ Trợ Kiểm Tra Và Thanh Toán Online
Tác giả Nguyễn Viết Vũ
Người hướng dẫn ThS. Phạm Thị Miên
Trường học Trường Đại Học Giao Thông Vận Tải
Chuyên ngành Công Nghệ Thông Tin
Thể loại báo cáo đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 76
Dung lượng 3,79 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

HỒ CHÍ MINH BỘ MÔN CÔNG NGHỆ THÔNG TIN CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do - Hạnh phúc--- NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP BỘ MÔN: CÔNG NGHỆ THÔNG TIN *** Mã sinh viên: 58510

Trang 1

TP Hồ Chí Minh, 08 năm 2021

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

PHÂN HIỆU TẠI TP HỒ CHÍ MINH

BỘ MÔN CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: XÂY DỰNG WEBSITE KHÓA HỌC, HỖ TRỢ

KIỂM TRA VÀ THANH TOÁN ONLINE

Giảng viên hướng dẫn: ThS PHẠM THỊ MIÊN

Sinh viên thực hiện: NGUYỄN VIẾT VŨ

Lớp: CÔNG NGHỆ THÔNG TIN

Khoá: 58

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI

PHÂN HIỆU TẠI TP HỒ CHÍ MINH

BỘ MÔN CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN TỐT NGHIỆP

ĐỀ TÀI: XÂY DỰNG WEBSITE KHÓA HỌC, HỖ TRỢ

KIỂM TRA VÀ THANH TOÁN ONLINE

Giảng viên hướng dẫn: ThS PHẠM THỊ MIÊN

Sinh viên thực hiện: NGUYỄN VIẾT VŨ

Lớp: CÔNG NGHỆ THÔNG TIN

Khoá: 58

Trang 3

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN

TẢI PHÂN HIỆU TẠI TP HỒ CHÍ MINH

BỘ MÔN CÔNG NGHỆ THÔNG TIN

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do - Hạnh phúc -

NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP

BỘ MÔN: CÔNG NGHỆ THÔNG TIN

***

Mã sinh viên: 5851071089 Họ tên SV: Nguyễn Viết Vũ

- Xây dựng website cho phép học viên đăng ký khóa học và mua khóa học online,

tham khảo các bài kiểm tra của trung tâm Về phần giao diện admin, thiết kế thuận tiện

trong việc quản lý các thông tin, thêm, sửa, xóa cho các khóa học và bài kiểm tra

b Yêu cầu.

- Tìm hiểu về PHP và Laravel Framework

- Tìm hiểu về HTML, CSS, Javascript, Bootstrap

- Tìm hiểu và áp dụng các Api, thanh toán online và các chức năng khác cho website

- Xây dựng, thiết kế website phù hợp với mục đích sử dụng

Trang 4

3 Nội dung và phạm vi đề tài.

a Nội dung đề tài.

- Xây dựng website gồm 2 giao diện cho người dùng và admin

+ Về giao diện người dùng cho phép các học viên có thể xem và tiến hành đăng ký cáckhóa học offline tại trung tâm Ngoài ra trung tâm có các khóa học online miễn phí và

có phí, học viên có thể tiến hành xem, đăng kí và tiến hành thanh toán để sở hữu khóahọc Chức năng hỗ trợ kiểm tra online theo hình thức trắc nghiệm

+ Về giao diện admin cho phép đăng bài quản lý các khóa học tại trung tâm và cáckhóa học online, quản lý các bài học, các bài kiểm tra Phân quyền các chức năng chongười dùng

b Phạm vi đề tài.

- Xây dựng website cho phép học viên đăng ký khóa học và mua khóa học online, tham khảo các bài kiểm tra của trung tâm

4 Công nghệ, công cụ và ngôn ngữ lập trình.

a Công nghệ: Visual Studio Code version 1.57.1, Xampp PhpMyAdmin phiên

bản: 5.0.2

b Ngôn ngữ lập trình: PHP, HTML, CSS, Javascript, Bootstrap.

5 Các kết quả chính dự kiến sẽ đạt được và ứng dụng

- Hoàn chỉnh cuốn báo cáo đề tài

- Xây dựng đầy đủ các chức năng cần thiết cho website khóa học

- Xây dựng giao diện thuận tiện cho người dùng sử dụng

- Nắm được quy trình nghiệp vụ của website

- Xây dựng thành công website khóa học

Trang 5

6 Giáo viên và cán bộ hướng dẫn

Phạm Thị Miên

Đã nhận nhiệm vụ TKTN

Sinh viên: Nguyễn Viết Vũ Ký tên:

Điện thoại: 0332173097 Email: 5851071089@st.utc2.edu.vn

Trang 6

LỜI CẢM ƠN

Lời nói đầu tiên, em xin gửi tới Quý thầy cô trong Bộ môn Công Nghệ ThôngTin, cũng như Ban Giám Hiệu Trường Đại học Giao thông Vận tải phân hiệu tại Thànhphố Hồ Chí Minh lời chúc sức khỏe và lời cảm ơn sâu sắc Với sự quan tâm dạy dỗ,chỉ bảo tận tình chu đáo của thầy cô, nay em có thể hoàn thành đề tài tốt nghiệp “Xâydựng website Khóa học, hỗ trợ kiểm tra và thanh toán online”

Để hoàn thành nhiệm vụ được giao này, ngoài sự nỗ lực học hỏi không ngừngcủa bản thân còn có sự hướng dẫn tận tình của các giảng viên trong 4 năm vừa qua, đặc

biệt hơn hết nhờ có giảng viên Phạm Thị Miên, người đã hướng dẫn cho tôi những

hướng đi, truyền đạt cho em những kiến thức, kỹ năng để tôi có thể hoàn thành đề tàitốt nghiệp này

Mặc dù đã cố gắng hết sức để hoàn thành đề tài, nhưng chắc chắn rằng sẽ khótránh khỏi những thiếu sót Em rất mong nhận được những sự đánh giá, góp ý của Quýthầy cô để t có thể rút ra cho mình những bài học, kinh nghiệm quý báu

Sau cùng, em cũng không biết nói gì hơn ngoài kính chúc Quý thầy cô trong Bộ

môn Công Nghệ Thông Tin và đặc biệt là cô Phạm Thị Miên thật dồi dào sức khỏe và

ngày càng gặt hái được nhiều thành công hơn nữa trong cuộc sống cũng như trong sựnghiệp giảng dạy của mình

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

TP Hồ Chí Minh, ngày 01 tháng 08 năm 2021

Sinh viên thực hiện

Nguyễn Viết Vũ

Trang 7

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Tp Hồ Chí Minh, ngày 01 tháng 08 năm 2021

Giảng viên hướng dẫn

Phạm Thị Miên

Trang 8

MỤC LỤC

LỜI CẢM ƠN IV NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN V DANH MỤC CHỮ VIẾT TẮT X DANH MỤC HÌNH VẼ XI DANH MỤC BẢNG BIỂU XIV

CHƯƠNG 1 MỞ ĐẦU 1

1.1 Tổng quan đề tài 1

1.2 Mô tả chi tiết đề tài 1

1.3 Công cụ sử dụng 2

1.4 Cấu trúc báo cáo đồ án tốt nghiệp 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

2.1 Tổng quan về ngôn ngữ lập trình PHP 3

2.1.1 Ưu và nhược điểm của PHP 3

2.1.2 Ứng dụng thực tế của ngôn ngữ PHP 3

2.2 Tổng quan về Laravel 4

2.2.1 Ưu điểm của Laravel 4

2.2.2 Nhược điểm của Laravel 5

2.3 HTML 5

2.3.1 Giới thiệu về HTML 5

2.3.2 Vai trò của HTML 6

2.4 CSS 7

2.4.1 Giới thiệu về CSS 7

2.4.2 Ưu điểm của CSS 7

2.5 JavaScript 8

2.5.1 Giới thiệu về JavaScript 8

2.5.2 Ưu điểm của JavaScript 8

2.5.3 Nhược điểm của JavaScript 8

2.6 Bootstrap 8

2.6.1 Giới thiệu về Bootstrap 8

2.6.2 Lý do chọn Bootstrap 9

Trang 9

2.7 Tổng quan về cơ sở dữ liệu 10

2.7.1 Cơ sở dữ liệu MySQL 10

2.7.2 Phương thức hoạt động của MySQL 11

2.7.3 Ưu nhược điểm của MySQL 11

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ 13

3.1 Đặt vấn đề 13

3.2 Yêu cầu hệ thống 13

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

3.2.2 Mô tả hệ thống 14

3.3 Mô hình nghiệp vụ của hệ thống: 15

3.3.1 Mô hình thực thể kết hợp ERD 16

3.3.2 Đặc tả các quy trình nghiệp vụ: 17

3.3.3 Mô hình hóa các lớp nghiệp vụ 22

3.4 Lưu trữ dữ liệu trong MySql 23

3.4.1 Các thuộc tính dữ liệu bảng khoahoc 23

3.4.2 Các thuộc tính dữ liệu bảng đào tạo 24

3.4.3 Các thuộc tính dữ liệu bảng bài test 24

3.4.4 Các thuộc tính dữ liệu bảng danh sách câu hỏi 24

3.4.5 Các thuộc tính dữ liệu bảng khóa học online 25

3.4.6 Các thuộc tính dữ liệu bảng bài học online 25

3.4.7 Các thuộc tính dữ liệu bảng học viên 26

3.4.8 Các thuộc tính dữ liệu bảng bình luận 26

3.4.2 Các thuộc tính dữ liệu bảng thanh toán 26

3.4.10 Các thuộc tính dữ liệu bảng đăng ký 27

3.4.11 Các thuộc tính dữ liệu bảng tài khoản học viên 27

3.4.12 Các thuộc tính dữ liệu bảng tài khoản quản lý 27

3.4.13 Các thuộc tính dữ liệu bảng chi tiết quyền 27

3.4.14 Các thuộc tính dữ liệu bảng quyền 28

3.5 Database Diagram 28

CHƯƠNG 4 TRIỂN KHAI CHƯƠNG TRÌNH 29

4.1 Các chức năng chính của hệ thống 29

4.1.1 Giao diện đăng nhập 29

4.1.2 Giao diện Admin 29

4.1.3 Giao diện Thêm khóa học trung tâm 30

Trang 10

4.1.4 Giao diện danh sách khóa học trung tâm 30

4.1.5 Giao diện sửa khóa học trung tâm 31

4.1.6 Giao diện thêm đào tạo 31

4.1.7 Giao diện danh sách đào tạo 32

4.1.8 Giao diện sửa đào tạo 32

4.1.9 Giao diện thêm khóa học online 33

4.1.10 Giao diện danh sách khóa học online 33

4.1.11 Giao diện sửa khóa học online 34

4.1.12 Giao diện các thêm bài học online 34

4.1.13 Giao diện danh sách bài học online 35

4.1.14 Giao diện sửa bài học online 35

4.1.15 Giao diện thêm bài kiểm tra 36

4.1.16 Giao diện danh sách bài kiểm tra 36

4.1.17 Giao diện danh sách câu hỏi 37

4.1.18 Giao diện thêm câu hỏi thành công 37

4.1.19 Giao diện thêm user 38

4.1.20 Giao diện danh sách user 38

4.1.21 Giao diện phân quyền user 39

4.1.23 Giao diện thông tin các học viên online 40

4.1.24 Giao diện đổi mật khẩu admin 40

4.1.25 Chức năng đăng xuất 41

4.1.26 Giao diện trang chủ web khóa học 42

4.1.27 Giao diện đăng nhập của học viên 43

4.1.28 Giao diện đăng nhập thành công của học viên 43

4.1.29 Giao diện đăng nhập bằng facebook 44

4.1.30 Giao diện đăng nhập facebook thành công 44

4.1.31 Giao diện đăng ký tài khoản user 45

4.1.32 Giao diện các khóa học tại trung tâm 45

4.1.33 Giao diện tìm kiếm thành công 46

4.1.34 Giao diện chi tiết khóa học tại trung tâm 46

4.1.35 Giao diện gmail khi đăng ký thành công 47

4.1.36 Giao diện danh sách khóa học trực tuyến 47

4.1.37 Giao diện chi tiết khóa học online 48

4.1.38 Giao diện thanh toán khóa học online bằng VNPAY 49

Trang 11

4.1.39 Giao diện danh sách giảng 51

4.1.40 Giao diện chi tiết bài học online 52

4.1.41 Giao diện bài kiểm tra 53

4.1.42 Giao diện quên mật khẩu 54

4.1.43 Giao diện cập nhật thông tin học viên 55

4.1.44 Giao diện cập nhật thông tin học viên 55

4.1.45 Giao diện giới thiệu trung tâm 56

CHƯƠNG 5 KẾT LUẬN-KIẾN NGHỊ 57

5.1 Kết quả 57

5.2 Hạn chế 57

5.3 Hướng phát triển 58

PHỤ LỤC 59

Phụ lục 1: Hướng dẫn sử dụng 59

Phụ lục 2: Thông tin trang Web 59

TÀI LIỆU THAM KHẢO 60

Trang 12

DANH MỤC CHỮ VIẾT TẮT STT Từ viết

Ngôn ngữ đánh dấu siêu văn

bản

6 W3C World Wide

Web Consutirum

Thước đo khi thiết kế các

Ngôn ngữ truy vấn có cấu

trúc

9 API Application

Programming Interface

Một trung gian phần mềm cho phép hai ứng dụng giao tiếp

với nhau

Trang 13

DANH MỤC HÌNH VẼ

Hình 3 1: Sơ đồ phân rã chức năng trang quản lý Website khóa học 15

Hình 3 2: Sơ đồ phân rã chức năng trang chủ Website khóa học 15

Hình 3 3: Sơ đồ ERD web khóa học SHTP 16

Hình 3 4: Quy trình nghiệp vụ chọn khóa học 17

Hình 3 5: Quy trình nghiệp vụ thêm khóa học mới 18

Hình 3 6: Quy trình nghiệp vụ thêm bài học mới 19

Hình 3 7: Quy trình nghiệp vụ làm bài test 20

Hình 3 8: Quy trình nghiệp vụ thêm bài test mới 21

Hình 3 9: Sơ đồ database diagram 28

Hình 4 1: Giao diện đăng nhập admin 29

Hình 4 2: Giao diện quản lý của admin 29

Hình 4 3: Giao diện thêm khóa học 30

Hình 4 4: Giao diện các khóa học 30

Hình 4 5: Giao diện sửa khóa học trung tâm 31

Hình 4 6: Giao diện thêm chương trình đào tạo 31

Hình 4 7: Giao diện danh sách đào tạo 32

Hình 4 8: Giao diện sửa đào tạo 32

Hình 4 9: Giao diện thêm khóa học online 33

Hình 4 10: Giao diện danh sách khóa học online 33

Hình 4 11: Giao diện sửa khóa học online 34

Hình 4 12: Giao diện các thêm bài học online 34

Hình 4 13: Giao diện các chương trình đào tạo 35

Hình 4 14: Giao diện sửa bài học online 35

Hình 4 15: Giao diện thêm bài kiểm tra 36

Hình 4 16: Giao diện danh sách bài kiểm tra 36

Hình 4 17: Giao diện danh sách câu hỏi 37

Hình 4 18: Giao diện thêm câu hỏi thành công 37

Hình 4 19: Giao diện thêm user 38

Hình 4 20: Giao diện danh sách user 38

Trang 14

Hình 4 21: Giao diện phân quyền user 39

Hình 4 22: Giao diện thông tin học viên tại trung tâm 39

Hình 4 23: Giao diện thông tin học viên online 40

Hình 4 24: Giao diện đổi mật khẩu admin 40

Hình 4 25: Chức năng đăng xuất 41

Hình 4 26: Trang chủ Website khóa học SHTP 42

Hình 4 27: Giao diện đăng nhập user 43

Hình 4 28: Giao diện đăng nhập user thành công 43

Hình 4 29 Giao diện khi nhấn button facebook 44

Hình 4 30 Giao diện đăng nhập facebook thành công 44

Hình 4 31: Giao diện đăng ký user 45

Hình 4 32: Giao diện các khóa học tại trung tâm 45

Hình 4 33: Giao diện tìm kiếm thành công 46

Hình 4 34: Giao diện chi tiết khóa học tại trung tâm 46

Hình 4 35: Gửi mail cảm ơn 47

Hình 4 36: Danh sách các khóa học trực tuyến 47

Hình 4 37: Giao diện hiển thị khóa học chưa thanh toán 48

Hình 4 38: Giao diện hiển thị khóa học miễn phí 48

Hình 4 39: Giao diện hiển thị khóa học đã thanh toán 49

Hình 4 40: Giao diện thanh toán VNPAY 49

Hình 4 41: Giao diện nhập thông tin VNPAY 50

Hình 4 42: Giao diện nhập mã xác thực OTP 50

Hình 4 43: Hình ảnh thông tin đơn hàng 51

Hình 4 44: Giao diện danh sách bài giảng 51

Hình 4 45: Giao diện bài học online 52

Hình 4 46: Giao diện bài kiểm tra tham khảo 53

Hình 4 47: Giao diện kết quả bài kiểm tra 53

Hình 4 48: Giao diện quên mật khẩu 54

Hình 4 49: Hình ảnh email mật khẩu mới 54

Hình 4 50: Cập nhật thông tin học viên 55

Hình 4 51: Thông tin các khóa học đã đăng ký 55

Trang 15

Hình 4 52: Trang giới thiệu trung tâm 56Hình 5 1: Kết quả đưa lên Web host 57

Trang 16

DANH MỤC BẢNG BIỂU

Bảng 3 1: Mô hình hóa lớp User 22

Bảng 3 2: Mô hình hóa lớp khóa học 22

Bảng 3 3: Mô hình hóa lớp bài học 23

Bảng 3 4: Mô hình hóa lớp bài test 23

Bảng 3 5: Các thuộc tính dữ liệu bảng khóa học 23

Bảng 3 6: Các thuộc tính dữ liệu bảng đào tạo 24

Bảng 3 7: Các thuộc tính dữ liệu bảng bài test 24

Bảng 3 8: Các thuộc tính dữ liệu bảng danh sách câu hỏi 24

Bảng 3 9: Các thuộc tính dữ liệu bảng khóa học online 25

Bảng 3 10: Các thuộc tính dữ liệu bảng bài học online 25

Bảng 3 11: Các thuộc tính dữ liệu bảng học viên 26

Bảng 3 12: Các thuộc tính dữ liệu bảng bình luận 26

Bảng 3 13: Các thuộc tính dữ liệu bảng thanh toán 26

Bảng 3 14: Các thuộc tính dữ liệu bảng đăng ký 27

Bảng 3 15: Các thuộc tính dữ liệu bảng tài khoản học viên 27

Bảng 3 16: Các thuộc tính dữ liệu bảng tài khoản quản lý 27

Bảng 3 17: Các thuộc tính dữ liệu bảng chi tiết quyền 27

Bảng 3 18: Các thuộc tính dữ liệu bảng quyền 28

Trang 17

CHƯƠNG 1 MỞ ĐẦU 1.1 Tổng quan đề tài

Hiện nay, các khóa học được mở ra nhằm nâng cao kỹ năng nghề nghiệp hoặcchuyên môn nào đó cho học viên Người học đăng ký các khóa học này với mong muốnhoàn thiện các kỹ năng, kiến thức còn thiếu để có cơ hội tăng lương, lên chức hoặc chỉđơn giản là làm tốt hơn chuyên môn của mình

Các khóa học này xuất hiện ngày càng nhiều nhằm đáp ứng nhu cầu học ( củamọi đối tượng bao gồm cả già lẫn trẻ, cán bộ làm trong các cơ quan nhà nước đến ngườilàm tư nhân, làm tự do, còn đi học hay đã về hưu…) Mục đích tham gia các khóa họccũng rất đa dạng, từ việc học để hoàn thiện kỹ năng, nâng cao chuyên môn đến học đểnâng lương, thăng chức hoặc đi du học,… Tuy nhiên cũng chính vì sự xuất hiện ngàycàng nhiều và tràn lan của đủ các loại khóa học mà việc thu hút học viên dường như khókhăn hơn

Với mong muốn nhằm cải thiện các vấn đề nắm bắt thông tin khóa học, đăng kýkhoá học tại trung tâm đào tạo được thực hiện nhanh hơn, mang tính chính xác cao Từ

thực tế đó, em xây dựng Website khóa học.

Website khoá học là website cho phép người dùng thực hiện một cách nhanhchóng , chính xác việc nhập dữ liệu, lưu trữ, cập nhật thông tin các khóa học tại trungtâm đào tạo, các khóa học online, đồng thời cho học viên tham khảo các bài kiểm tra.Website sẽ giúp người dùng tránh việc dữ liệu bị mất, sắp xếp và lưu thông tin một cáchhợp lý và logic, xử lý nhanh chóng các thông tin,tra cứu thông tin với một tốc độ truycập nhanh và độ chính xác cao không nhầm lẫn giúp ta tiết kiệm nhiều thời gian hơn vớigiao diện làm việc thân thiện, tiện dụng đối với người sử dụng

1.2 Mô tả chi tiết đề tài

Website khoá học được chia làm 2 phần:

Phần 1 dành cho học viên, học viên khi vào web giới thiệu khóa học có thể coiđược thông tin các khóa học có đào tạo tại trung tâm đào tạo, bao gồm các thông tin :Tên khóa học, lịch khai giảng dự kiến, thời lượng học của khóa học, mục tiêu giảngdạy, nội dung giảng dạy Tất cả học viên khi muốn đăng ký khoá học tại đây đều phảiđăng nhập tài khoản, nếu chưa có thì sẽ phải đăng ký tài khoản bằng thông tin cá nhân

để trung tâm có thể liên lạc và tư vấn (họ và tên học viên, số điện thoại, email,địa chỉ,tên tài khoản, mật khẩu) Các thông tin khoá học trên website giới thiệu khóa học sẽđược sắp xếp theo lịch khai giảng dự kiến gần nhất, những khoá học hết hạn đăng ký

sẽ được bỏ qua không hiển thị trên web để tránh nhầm lẫn cho các học viên Bên cạnh

đó, chúng ta có thể tìm kiếm các khóa học bằng từ khoá của tên khoá học nếu cần.Ngoài ra, trung

Trang 18

tâm còn cung cấp các khóa học online để cho học viên có thể học bổ trợ kiến thức.Khóa học online có thể miễn phí và có phí Nếu miễn phí học viên tiến hành học ngay,nếu có phí học viên có thể thanh toán để sở hữu khóa học thông qua hệ thống VNPAY.Trung tâm còn cung cấp các bài kiểm tra cho học viên tham khảo cũng như khảo sátkiến thức giúp học viên chọn khóa học hợp lý.

Phần 2 dành cho quản lý (admin), người quản lý web có thể thực hiện các chứcnăng thêm sửa xóa đối với mục đào tạo, khóa học tại trung tâm, khóa học online, bàihọc và bài kiểm tra Danh sách câu hỏi được nhập từ file Excel Ngoài ra, người quản

lý chính có thể tạo tài khoản và phân quyền cho người dùng, xem thông tin các họcviên đăng ký khoá học tại trung tâm, học viên mua khóa học online, thống kê doanhthu, khóa học và học viên,

Cả 2 phần quản lý và học viên đều có chức năng đổi mật khẩu

1.3 Công cụ sử dụng

 Sử dụng ngôn ngữ lập trình xử lý BackEnd : PHP Laravel

 Lập trình phía FrontEnd sử dụng : HTML , CSS , JS , JQUERY

 Thiết kế cơ sở dữ liệu : MySQL

 Môi trường phát triển tích hợp: Visual studio code , XamPP

1.4 Cấu trúc báo cáo đồ án tốt nghiệp

1.4.1 Chương 1: Mở đầu

1.4.2 Chương 2: Cơ sở lý thuyết

1.4.3 Chương 3: Phân tích và thiết kế

1.4.4 Chương 4: Triển khai chương trình

1.4.5 Chương 5: Kết quả - Kiến nghị

Trang 19

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về ngôn ngữ lập trình PHP

PHP là một từ viết tắt của cụm từ Hypertext Pre Processor Là một ngôn ngữlập trình thường được sử dụng để phát triển ứng dụng Những thứ có liên quan đến viếtmáy chủ, mã nguồn mở hay mục đích tổng quát Ngoài ra, nó còn rất thích hợp để lậptrình web và có thể dễ dàng nhúng vào trang HTML Ngày nay, PHP đã chiếm tới hơn70% web hiện nay, trang web giới thiệu của các công ty như influxwebtechnologies,Monamedia đều được xây dựng bằng WordPress – một mã nguồn được viết bởi ngônngữ PHP Bởi những tính năng như tối ưu hóa cho các ứng dụng web Tốc độ load webnhanh, nhỏ gọn, cú pháp giống C và JAVA Rất dễ học và thời gian xây dựng sảnphẩm tương đối ngắn hơn so với các ngôn ngữ khác hiện nay

2.1.1 Ưu và nhược điểm của PHP

Qua những giới thiệu trên, ta có thể thấy ngôn ngữ này có khá nhiều tính nănghay Tuy nhiên, cũng giống như các ngôn ngữ lập trình khác Chúng đều có ưu vànhược điểm riêng, cụ thể là dưới đây

Ưu điểm

PHP được sử dụng miễn phí

Cú pháp và cấu trúc của PHP tương đối dễ dàng

Là ngôn ngữ thông dụng với các công ty hiện nay

Nhược điểm

PHP còn hạn chế về cấu trúc của ngữ pháp Nó không được thiết kế gọn gàng

và không được đẹp mắt như những ngôn ngữ lập trình khác

PHP chỉ có thể hoạt động và sử dụng được trên các ứng dụng trong web

2.1.2 Ứng dụng thực tế của ngôn ngữ PHP

Không phải tự nhiên mà PHP trở thành ngôn ngữ lập trình web phổ biến nhấthiện nay, nhất là khi nó được sử dụng trong các dịch vụ thiết kế website trọn gói củanhiều công ty lớn, đó là bởi vì tính linh hoạt của PHP, có thể chèn PHP ngay trongcode HTML hoặc viết thành những file riêng, giúp cho các lập trình viên có thể dễdàng quản lý code của mình

Với khả năng tương thích với HTML5 và có thể gắn trực tiếp vào code, PHPhiển nhiên trở thành ngôn ngữ thiết kế web phổ biến nhất hiện nay, được nhiều người

sử dụng, cũng như các ưu điểm dễ học, ứng dụng cao và phù hợp với nhiều đối tượng,nhiều mục đích website khác nhau mà PHP ngày càng được thịnh hành, minh chứngchính là sự phát triển của các website viết bằng PHP và sự phổ biến hơn của các CMSnhư Joomla, Drupal và đặc biệt là WordPress – những mã nguồn được viết bằng PHPcàng khiến nó trở nên phổ biến hơn

Trang 20

Tất cả các cơ sở trên đây giải thích tại sao PHP được ứng dụng để thiết kế webtrọn gói trong thực tế hiện nay mà không phải là bất kỳ ngôn ngữ nào khác.

2.2.1 Ưu điểm của Laravel

 Sử dụng các tính năng mới nhất của PHP

Một trong những tính năng làm cho PHP Laravel framework trở nên nổi bật hơntất cả đó là nó sử dụng tất cả các tính năng mới của PHP Các framework khác khôngtận dụng được điều này Sử dụng Laravel 5 bạn sẽ sở hữu một số tính năng mới nhất

mà PHP cung cấp, đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymousfunctions và Shorter array syntax Đã có rất nhiều bộ CMS nổi bật được viết trên nềnLaravel framework ra đời, từ những bộ CMS đơn giản nhất đến những bộ "siêu mạnh",

từ mã nguồn mở đến thương mại

 Tài liệu tuyệt vời

Tài liệu của Laravel rất thân thiện với nhà phát triển Tất cả các phiên bản củaLaravel được phát hành cùng với các tài liệu phù hợp, bạn sẽ tìm thấy những giải thíchchi tiết về coding style, methods và classes

 Tích hợp với dịch vụ mail

Các ứng dụng web bắt buộc phải thông báo cho người dùng về các deal và offermới Đăng ký người dùng mới cũng rất quan trọng (nghĩa là thông báo cho người dùngmới khi anh ấy/ cô ấy đăng ký) Framework được trang bị API sạch trên thư việnSwiftMailer Và có các driver cho SMTP, Mailgun, SparkPost, Mandrill, PHP's "mail"function, Amazon SES, và "sendmail" giúp bạn gửi thư qua các dịch vụ dựa trên đámmây hoặc dịch vụ local

 Hỗ trợ cache backend phổ biến

Laravel framework hỗ trợ các cache backend như Memcached và Redis the-box Bạn cũng có thể tùy chỉnh nhiều cấu hình cache

out-of- Công cụ tích hợp cho dòng lệnh - Artisan

Các nhà phát triển thường thấy tẻ nhạt khi thực hiện các nhiệm vụ lập trình lặp

đi lặp lại vì chúng rất tốn thời gian Công cụ dòng lệnh có tên Artisan giúp họ tạokhung code và quản lý hệ thống cơ sở dữ liệu hiệu quả Artisan giúp tạo các tệp MVC

cơ bản và quản lý tài sản, bao gồm cả các cấu hình tương ứng của chúng

 Gói và nguồn lực sẵn có

Trang 21

Bạn sẽ được hưởng lợi ích từ npm package và bower package bằng cách kếthợp framework với Gulp và elixir, giúp trong việc sửa đổi tài nguyên Việc tích hợpnày sẽ giải quyết các phụ thuộc và là nguồn đáng tin cậy nhất trong thế giới PHP.

 Giảm chu kỳ phát triển sản phẩm

Bạn có thể giảm đáng kể chu kỳ phát triển sản phẩm vì framwork giúp tích hợpnhanh hơn, bên cạnh đó là cộng đồng hỗ trợ rất lớn - Laracasts

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

 Không hỗ trợ tính năng thanh toán

Sẽ không đáng lo ngại nếu bạn không tự mình quản lý các khoản thanh toán,bởi vì bạn sẽ phải tuân thủ các quy tắc tuân thủ PCI Trì hoãn các dịch vụ như Stripe

và Paypal sẽ giải quyết vấn đề đó Bạn cũng có thể thử bất kỳ trang web thương mạitrực tuyến nào và xây dựng ứng dụng của mình trong kho template có sẵn, hoặc sửdụng các thư viện của Framework cho phép bạn tích hợp các phương thức thanh toán.Tuy nhiên, hầu hết các nhà giao dịch điện tử nên được nhúng bộ xử lý thanh toán củabên thứ ba nhằm thuận tiện hơn

 Thiếu sự liên tục giữa các phiên bản

Không có chuyển đổi liền mạch từ Laravel 4 sang 5 Nếu cố cập nhật code, bạn

có thể sẽ phá vỡ ứng dụng

 Chất lượng

Một số thành phần trong framework không được thiết kế tốt Ví dụ, dependencyinjection đôi khi trở nên phức tạp không cần thiết Các tài liệu khá nặng Bạn phải học hỏi nhiều trước khi bắt đầu xây dựng các ứng dụng

Do đó, đây không phải là một lựa chọn tốt cho các nhà phát triển nghiệp dư.Tuy nhiên, framework vẫn đang được cải thiện rất nhiều Phiên bản 5 đã tốt hơn nhiềuvới số lượng sai sót cũng ít hơn

 Một số nâng cấp có thể có vấn đề

Đây không chỉ là vấn đề của Laravel mà là của các PHP framework Vì vậy, cácnhà phát triển nên có biện pháp phòng ngừa trước khi nâng cấp mobile

application/website

 Thường không cung cấp sự phong phú cho ứng dụng di động

Việc tải lại toàn trang có thể hơi nặng trong các mobile app khi so sánh với cácwebsite Trong những trường hợp như vậy, các nhà phát triển web có xu hướng chỉ sửdụng framework như backend JSON API

2.3 HTML.

2.3.1 Giới thiệu về HTML.

HTML là chữ viết tắt của cụm từ HyperText Markup Language (dịch là Ngôn

Trang 22

ngữ đánh dấu siêu văn bản) được sử dụng để tạo một trang web, trên một website cóthể sẽ chứa nhiều trang và mỗi trang được quy ra là một tài liệu HTML (sau đây có thểgọi là một tập tin HTML) 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), các cặp thẻ này được bao bọcbởi một dấu ngoặc nhọn (ví dụ <html>) và thường là sẽ được khai báo thành một cặp,bao gồm thẻ mở và thẻ đóng (ví <strong> dụ </strong> và ) Các văn bản muốn đượcđánh dấu bằng HTML sẽ được khai báo bên trong cặp thẻ (ví dụ <strong>Đây là chữ

in đậm</strong>) Nhưng một số thẻ đặc biệt lại không có thẻ đóng và dữ liệu đượckhai báo sẽ nằm trong các thuộc tính (ví dụ như thẻ <img>)

Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở rộng là.html hoặc htm

2.3.2 Vai trò của HTML.

HTML là một ngôn ngữ đánh dấu siêu văn bản nên nó sẽ có vai trò xây dựngcấu trúc siêu văn bản trên một website, hoặc khai báo các tập tin kỹ thuật số (media)như hình ảnh, video, nhạc

Điều đó không có nghĩa là chỉ sử dụng HTML để tạo ra một website mà HTMLchỉ đóng một vai trò hình thành trên website

HTML – Xây dựng cấu trúc và định dạng các siêu văn bản

CSS – Định dạng các siêu văn bản dạng thô tạo ra từ HTML thành một bố cụcwebsite, có màu sắc, ảnh nền…

Javascript – Tạo ra các sự kiện tương tác với hành vi của người dùng (ví dụ nhấp vào ảnh trên nó sẽ có hiệu ứng phóng to)

Dễ hiểu hơn, bạn hãy nghĩ rằng nếu website là một cơ thể hoàn chỉnh thì HTML chính

là bộ xương của cơ thể đó, nó như là một cái khung sườn vậy

Như vậy, dù website thuộc thể loại nào, giao tiếp với ngôn ngữ lập trình nào để xử lý

dữ liệu thì vẫn phải cần HTML để hiển thị nội dung ra cho người truy cập xem

Trang 23

2.4 CSS.

2.4.1 Giới thiệu về CSS.

CSS là chữ viết tắt của Cascading Style Sheets, nó chỉ đơn thuần là một dạngfile text với phần tên mở rộng là css Trong Style Sheet này chứa những câu lệnh CSS.Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ như: fontcủa chữ, đường viền, màu nền, căn chỉnh hình ảnh…

Trước đây khi chưa có CSS, những người thiết kế web phải trộn lẫn giữa cácthành phần trình bày và nội dung với nhau Nhưng với sự xuất hiện của CSS, người ta

có thể tách rời hoàn toàn phần trình bày và nội dung Giúp cho phần code của trangweb cũng gọn hơn và quan trọng hơn cả là dễ chỉnh sửa hơn

CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, vì một

lý do đơn giản HTML không được thiết kế để gắn tag để giúp định dạng trang web.Bạn chỉ có thể dùng nó để “đánh dấu” lên site

Những tag như <font> được ra mắt trong HTML phiên bản 3.2, nó gây rất nhiềurắc rối cho lập trình viên Vì website có nhiều font khác nhau, màu nền và phong cáchkhác nhau Để viết lại code cho trang web là cả một quá trình dài, cực nhọc Vì vậy,CSS được tạo bởi W3C là để giải quyết vấn đề này

Mối tương quan giữa HTML và CSS rất mật thiết HTML là ngôn ngữ markup (nềntảng của site) và CSS định hình phong cách (tất cả những gì tạo nên giao diệnwebsite), chúng là không thể tách rời

CSS về lý thuyết không có cũng được, nhưng khi đó website sẽ chỉ là một trangchứa văn bản mà không có gì khác

CSS cho phép tạo các quy tắc chỉ định cách nội dung của một phần tử sẽ xuấthiện Ví dụ: có thể chỉ định rằng nền của trang là màu kem, tất cả các đoạn văn sẽ xuấthiện bằng màu xám bằng kiểu chữ Arial hoặc tất cả các tiêu đề cấp một phải có màuxanh lam, in nghiêng, kiểu chữ Times (có thể tham khảo Chương 10 trong cuốn

“Html&Css” [6] của John Ducket)

2.4.2 Ưu điểm của CSS.

Sự khác biệt giữa site có CSS và không có CSS rất dễ nhận biết

Trước khi sử dụng CSS, tất cả những phong cách của CSS cần được đính kèmvào trong HTML markup Có nghĩa là bạn cần tách ra để xác định các thành phần nhưbackground, font colors, canh hàng…

CSS giúp định kiểu mọi thứ trên một file khác, bạn có thể tạo phong cách trước rồi sau

đó tích hợp file CSS lên trên cùng của file HTML Việc này giúp HTML markup rõràng và dễ quản lý hơn nhiều

Tóm lại, với CSS bạn không cần lặp lại các mô tả cho từng thành phần Nó tiết kiệmthời gian, làm code ngắn lại để bạn có thể kiểm soát lỗi dễ dàng hơn

Trang 24

2.5 JavaScript.

2.5.1 Giới thiệu về JavaScript.

JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua

Nó cũng là một trong số 3 ngôn ngữ chính của lập trình web:

 HTML: Giúp bạn thêm nội dung cho trang web

 CSS: Định dạng thiết kế, bố cục, phong cách, canh lề của trang web

 JavaScript: Cải thiện cách hoạt động của trang web

2.5.2 Ưu điểm của JavaScript.

JavaScript có rất nhiều ưu điểm khiến nó vượt trội hơn so với các đối thủ, đặcbiệt trong các trường hợp thực tế Không cần một compiler vì web browser có thể biêndịch nó bằng HTML

- Dễ học hơn các ngôn ngữ lập trình khác

- Lỗi dễ phát hiện hơn và vì vậy dễ sửa hơn

- Có thể được gắn trên một số element của trang web hoặc event của trang web như là thông qua click chuột hoặc di chuột tới

JS hoạt động trên nhiều trình duyệt, nền tảng…

Bạn có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủcông khi truy xuất qua cơ sở dữ liệu

Nó giúp website tương tác tốt hơn với khách truy cập

Nó nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác

2.5.3 Nhược điểm của JavaScript.

Mọi ngôn ngữ lập trình đều có các khuyết điểm Một phần là vì ngôn ngữ đókhi phát triển đến một mức độ như JavaScript, nó cũng sẽ thu hút lượng lớn hacker,scammer, và những người có ác tâm luôn tìm kiếm những lỗ hổng và các lỗi bảo mật

để lợi dụng nó Một số khuyết điểm có thể kể đến là:

Dễ bị khai thác

Có thể được dùng để thực thi mã độc trên máy tính của người dùng

Nhiều khi không được hỗ trợ trên mọi trình duyệt

Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất

2.6 Bootstrap.

2.6.1 Giới thiệu về Bootstrap.

Bootstrap là một framework bao gồm các HTML, CSS và JavaScript templatedùng để phát triển website chuẩn responsive Bootstrap cho phép quá trình thiết kếwebsite diễn ra nhanh chóng và dễ dàng hơn dựa trên những thành tố cơ bản sẵn cónhư typography, forms, buttons, tables, grids, navigation, image carousels…

Trang 25

Bootstrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng đểtạo ra một mẫu website hoàn chỉnh Với các thuộc tính về giao diện được quy định sẵnnhư kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sảnphẩm mới mẻ nhưng vẫn tiết kiệm thời gian khi làm việc với framework này trong quátrình thiết kế giao diện website.

2.6.2 Lý do chọn Bootstrap.

Bootstrap rất phổ biến và là một lựa chọn tối ưu trong thiết kế web

Giữa muôn vàn ứng dụng thiết kế website hiện nay, Bootstrap vẫn có khả năng cạnh tranh cao là nhờ những đặc điểm nổi bật sau:

 Dễ dàng thao tác

Cơ chế hoạt động của Bootstrap là dựa trên xu hướng mã nguồn mở HTML,CSS và Javascript Người dùng cần trang bị kiến thức cơ bản 3 mã này mới cóthể sử dụng Bootstrap hiệu quả Bên cạnh đó, các mã nguồn này cũng có thể dễdàng thay đổi và chỉnh sửa tùy ý

 Tùy chỉnh dễ dàng

Bootstrap được tạo ra từ các mã nguồn mở cho phép designer linh hoạt hơn.Giờ đây có thể lựa chọn những thuộc tính, phần tử phù hợp với dự án họ đangtheo đuổi CDN Bootstrap còn giúp bạn tiết kiệm dung lượng vì không cần tải

mã nguồn về máy

 Chất lượng sản phẩm đầu ra hoàn hảo

Bootstrap là sáng tạo của các lập trình viên giỏi trên khắp thế giới Bootstrap đãđược nghiên cứu và thử nghiệm trên các thiết bị Được kiểm tra nhiều lần trướckhi đưa vào sử dụng Do đó, khi chọn Bootstrap, bạn có thể tin rằng mình sẽ tạonên những sản phẩm với chất lượng tốt nhất

 Độ tương thích cao

Điểm cộng lớn nhất của Bootstrap là khả năng tương thích với mọi trình duyệt

và nền tảng Đây là một điều cực kỳ quan trọng và cần thiết trong trải nghiệmngười dùng Sử dụng Grid System cùng với hai bộ tiền xử lý Less và Sass,Bootstrap mặc định hỗ trợ Responsive và ưu tiên cho các giao diện trên thiết bị

di động hơn Bootstrap có khả năng tự động điều chỉnh kích thước trang websitetheo khung browser Mục đích để phù hợp với màn hình của máy tính để bàn,tablet hay laptop

2.6.3 Cấu trúc và tính năng của Bootstrap.

Cấu trúc gọn nhẹ khiến chức năng của Bootstrap trở nên linh hoạt

Trang 26

 Bootstrap chứa các tập tin JavaScript, CSS và fonts đã được biên dịch và nénlại Ngoài ra, Bootstrap được thiết kế dưới dạng các mô-đun Do đó, dễ dàngtích hợp với hầu hết các mã nguồn mở như WordPress, Joomla, Magento, …Trong đó, Bootstrap mang đến nhiều chức năng nổi bật.

 Bootstrap cho phép người dùng truy cập vào thư viện “khổng lồ” các thành tốdùng để tạo nên giao diện của một website hoàn chỉnh như font, typography,form, table, grid…

 Bootstrap cho phép bạn tùy chỉnh framework của website trước khi tải xuống và

sử dụng nó tại trang web của khung

 Tái sử dụng các thành phần lặp đi lặp lại trên trang web

 Bootstrap được tích hợp jQuery Bạn chỉ cần khai báo chính xác các tính năngtrong quá trình lập trình web của bạn

 Định nghĩa glyphicons nhằm giảm thiểu việc sử dụng hình ảnh làm biểu tượng

và tăng tốc độ tải trang

2.7 Tổng quan về cơ sở dữ liệu

Cơ sở dữ liệu (Database) là tập hợp dữ liệu được tổ chức có cấu trúc liên quanvới nhau và được lưu trữ trong máy tính

Cơ sở dữ liệu được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuấtthông tin hoặc cập nhật dữ liệu

Hệ quản trị cơ sở dữ liệu là các phần mềm giúp tạo các cơ sở dữ liệu và cungcấp cơ chế lưu trữ, truy cập theo các mô hình CSDL Ví dụ: SQL Server, MicrosoftAccess, Oracle là các hệ quản trị CSDL điển hình

2.7.1 Cơ sở dữ liệu MySQL

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở mà trong tiếng anhgọi là Relational Database Management System (viết tắt là RDBMS) hoạt động theo

mô hình client-server Máy tính cài đặt và chạy phần mềm RDBMS được gọi là client(máy khách) Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server)RDBMS Cách thức này chính là mô hình “client-server” RDBMS là một phần mềmhay dịch vụ dùng để 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 được phát triển, phân phối và hỗ trợ bởi Oracle Corporation Phầnmềm được đặt tên theo tên của con gái người đồng sáng lập Monty Widenius: Mỹ Banđầu MySQL được phát triển bới một công ty công ty Thuỵ Điển MySQL AB vào năm

1994 Tiếp đến năm 2008, MySQL bị mua lại bởi công ty công nghệ Mỹ Sun

Trang 27

MySQL có thể được cài đặt trên nhiều nền tảng hệ điều hành khác nhau nhưWindows, Linux và Mac OS Ngoài MySQL ra, còn một số DBMS khác như Oracle,PostgreSQL, SQLite, … Cách phát âm chính thức là: MY-ES-KYOO-EL Các ứngdụng website lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùngMySQL cho mục đích lưu trữ dữ liệu.

2.7.2 Phương thức hoạt động của MySQL

Phương thức hoạt động

Về nguyên tắc, một máy client sẽ liên lạc với máy server trong một mạng nhấtđịnh Mỗi client có thể gửi một request từ giao diện người dùng trên màn hình, vàserver sẽ trả về kết quả như mong muốn Áp dụng với MySQL, MySQL cung cấp cáccâu lệnh phong phú để kết nối, yêu cầu và lấy dữ liệu phục vụ cho trang web như:chỉnh sửa cơ bản các hàng trong 1 quan hệ , thêm xóa và sửa đổi các đối tượng trongcùng cơ sở dữ liệu, điều khiển việc truy cập dữ liệu và các đối tượng của cơ sở dữ liệu.Sau đó, Client sẽ gửi yêu cầu SQL bằng một lệnh đặc biệt trên MySQL Cuối cùng,ứng dụng trên server sẽ phản hồi thông tin và trả về kết quả trên máy client

2.7.3 Ưu nhược điểm của MySQL

Ưu điểm

- Linh hoạt và dễ dùng Quá trình cài đặt tương đối đơn giản

- Hiệu năng cao Dù dữ liệu của bạn lớn như thế nào thì MySQL cũng đáp ứng với tốc

độ cao, mượt mà kể cả big data 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

- Tiêu chuẩn trong ngành Bất cứ ai đã dấn thân vào ngành công nghệ và dữ liệu thìđều đã sử dụng MySQL và người dùng cũng có thể triển khai dự án nhanh và thuê cácchuyên gia dữ liệu

- An toàn Vấn đề an toàn luôn là vấn đề cực kì quan trọng trong ngành dữ liệu vàMySQL đảm bảo được tiêu chuẩn bảo mật rất cao

Nhược điểm

Bên cạnh những ưu điểm nổi bật thì MySQL vẫn tồn tại những thiếu sót như

- MySQL có thể bị khai thác để chiếm quyền điều khiển.- Dù có thể quản lý dữ liệuvới số lượng lớn nhưng MySQL vẫn không đủ khả năng tích hợp quản lý dữ liệukhổng lồ và mang tính hệ thống cao như: hệ thống siêu thị trên toàn quốc, ngân hàng,quản lý thông tin dân số cả nước, …

Trang 28

Tầm quan trọng của MySQL

- Là cơ sở dữ liệu tốc độ cao, ổn định nhất hiện nay trên thị trường

- Độ bảo mật thông tin cao

- MySQL mặc dù có những tính năng cao nhưng sử dụng lại đơn giản, ít phức tạp

- Hoàn toàn miễn phí vì đây là một mã nguồn mở Tuy nhiên,trong trường hợp bạn cầnđược hỗ trợ từ MySQL, bạn vẫn phải trả phí

- Được hỗ trợ từ công đồng vì rất nhiều thành viên

- Hoạt động trên nhiều hệ điều hành

Trang 29

CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ 3.1 Đặt vấn đề

Giáo dục là một trong những ngành giữ vai trò quan trọng và chủ chốt trongviệc xây dựng một đất nước thịnh vượng, mà cụ thể là đầu tư từng cá nhân một về trithức cũng như kỹ năng sống

Với mức độ lan tỏa của mình, cuộc cách mạng 4.0 đã tạo ra sự thay đổi đối vớithị trường lao động trong mọi khía cạnh, đặc biệt là đối với trình độ chuyên môn Điềunày đặt ra yêu cầu cho giáo dục là cần phải đào tạo nguồn nhân lực có đủ chuyên môn

để thích nghi được với môi trường kỹ thuật mới

Chính yêu cầu đó đã biến môi trường giáo dục vốn chỉ tập trung truyền tảinhững kiến thức hàn lâm thì nay đã đổi mới bằng việc cung cấp cho người học cảnhững kiến thức về kỹ năng bao gồm kỹ năng thực hành, kỹ năng làm việc nhóm, kỹnăng tư duy sáng tạo, kỹ năng phản biện Cách mạng 4.0 trong giáo dục cũng buộcngười học phải

chủ động thay đổi và chủ động hơn trong việc học tập của mình

Ngày qua ngày, giáo dục không chỉ được biết đến với hình thức trường học, đạihọc mà còn là trung tâm và hình thức giáo dục online Với sự bùng nổ của nhiềutrường học, cơ sở giáo dục như vậy thì để giúp cho các trường học và trung tâm có thểtiếp cận hiệu quả nguồn học viên – phụ huynh, nổi bật hơn các trường khác, cũng như

là đáp ứng tối đa những nhu cầu về thông tin cho người dùng thì website khóa họcchính là giải pháp hàng đầu

3.2 Yêu cầu hệ thống

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

Website khóa học bao gồm:

Trang Web chia ra hai đối tượng sử dụng, gồm người học viên thực hiện học các khóa học thi kiểm nghiệm, và quản trị viên thực hiện quản lý Website

Ở giao diện người quản trị:

- Chức năng quản lý các khóa học tại trung tâm và các khóa học online

- Quản lý các bài học online

- Chức năng quản lý các đào tạo

- Chức năng quản lý thông tin học viên

- Chức năng quản lý nhân viên

- Chức năng quản lý bài kiểm tra

- Chức năng thống kê

Ở giao diện học viên:

Trang 30

- Tiến hành đăng ký các khóa học tại trung tâm.

- Xem các khóa học online

- Tiến hành thanh toán để sở hữu khóa học online

- Bình luận các khóa học đã sở hữu

- Tham khảo và làm các bài kiểm tra

- Đăng ký, đăng nhập và quên mật khẩu

3.2.2 Mô tả hệ thống

Website giới thiệu khóa học được chia làm 2 phần:

Phần 1 dành cho học viên, học viên khi vào web giới thiệu khóa học có thể coiđược thông tin các khóa học có đào tạo tại trung tâm đào tạo, bao gồm các thông tin :Tên khóa học, lịch khai giảng dự kiến, thời lượng học của khoá học, mục tiêu giảngdạy

, nội dung giảng dạy Tất cả học viên khi muốn đăng ký khoá học tại đây đều phảiđăng nhập tài khoản, nếu chưa có thì sẽ phải đăng ký tài khoản bằng thông tin cá nhân

để trung tâm có thể liên lạc và tư vấn (họ và tên học viên, số điện thoại, email, địa chỉ,tên tài khoản, mật khẩu) Các thông tin khoá học trên website giới thiệu khóa học sẽđược sắp xếp theo lịch khai giảng dự kiến gần nhất, những khoá học hết hạn đăng ký

sẽ được bỏ qua không hiển thị trên web để tránh nhầm lẫn cho các học viên Bên cạnh

đó, chúng ta có thể tìm kiếm các khóa học bằng từ khoá của tên khoá học nếu cần.Ngoài ra, trung tâm còn cung cấp các khóa học online để cho học viên có thể học bổtrợ kiến thức Khóa học online có thể miễn phí và có phí Nếu miễn phí học viên tiếnhành học ngay, nếu có phí học viên có thể thanh toán để sở hữu khóa học thông qua hệthống VNPAY Trung tâm còn cung cấp các bài kiểm tra cho học viên tham khảo cũngnhư khảo sát kiến thức giúp học viên chọn khóa học hợp lý

Phần 2 dành cho quản lý (admin), người quản lý web có thể thực hiện các chứcnăng thêm sửa xóa đối với mục đào tạo, khóa học tại trung tâm, khóa học online, bàihọc và bài kiểm tra.Danh sách câu hỏi được nhập từ file Excel Ngoài ra, người quản lýchính có thể tạo tài khoản và phân quyền cho người dùng, xem thông tin các học viênđăng ký khoá học tại trung tâm, học viên mua khóa học online, thống kê doanh thu,khóa học và học viên,

Cả 2 phần quản lý và học viên đều có chức năng đổi mật khẩu

Trang 31

Xem đào tạo Xem khóa học

Xem câu hỏi Xem bài kiểm tra

Xem bài học Xem khóa học

Phân quyền user Xóa đào tạo

Xóa khóa học Xóa câu hỏi

Xóa bài kiểm tra Xóa bài học

Xóa khóa học

Danh sách học viên online Xóa user

Sửa đào tạo Sửa khóa học

Sửa câu hỏi Sửa bài kiểm tra

Sửa bài học Sửa khóa học

Danh sách học viên tại trung tâm Thêm user

Thêm đào tạo Thêm khóa học

Thêm câu hỏi Thêm bài kiểm tra

Thêm bài học Thêm khóa học

Quản lý học viên Quản lý user

Quản lý đào tạo

Quản lý khóa học tại trung tâm

Quản lý danh sách câu hỏi

Quản lý bài kiểm tra

Quên mật khẩu

Tìm kiếm khóa học Làm bài kiểm tra

Bình luận bài học Thanh toán khóa

học online

Đăng nhập bằng

Facebook

Xem khóa học Xem bài kiểm tra

Xem bài học

Xem khóa học online Đăng nhập bằng tài khoản

Khóa học tại trung tâm Bài kiểm tra

Bài học online Khóa học online

Đăng nhập

Website khóa học

3.3 Mô hình nghiệp vụ của hệ thống:

Sơ đồ phân rã chức năng

Hình 3 1: Sơ đồ phân rã chức năng trang quản lý Website khóa học

Hình 3 2: Sơ đồ phân rã chức năng trang chủ Website khóa học

Với việc phân tích kiến trúc hệ thống và các quy trình của hoạt động của

Website học lập trình trực tuyến, chúng ta có được các sơ đồ phân rã chức năng như hình 3.1 và

3.2 Đây là các chức năng chính mà hệ thống cần có

Trang 32

3.3.1 Mô hình thực thể kết hợp ERD:

Hình 3 3: Sơ đồ ERD web khóa học SHTP

Trang 33

3.3.2 Đặc tả các quy trình nghiệp vụ:

1) Xem bài học

- Học viên chọn khóa học mong muốn

- Hệ thống hiển thị chi tiết khóa học

- Học viên chọn bài học

- Hệ thống chuẩn bị nội dung bài học

Hình 3 4: Quy trình nghiệp vụ chọn khóa học

Trang 34

2) Thêm khóa học mới:

- Admin chọn thêm khóa học mới

- Hệ thống hiển thị form thêm khóa học

- Admin nhập thông tin khóa học mới sau đó nhấn nút đăng khóa học

- Hệ thống kiểm tra tính hợp lệ của các thông tin về khóa học

- Hệ thống hiển thị kết quả thêm khóa học

Hình 3 5: Quy trình nghiệp vụ thêm khóa học mới.

Trang 35

3) Thêm bài học mới:

- Admin chọn khóa học mong muốn

- Hệ thống hiển thị danh mục các bài học của khóa học

- Admin chọn thêm bài học mới

- Hệ thống hiển thị form thêm bài học mới

- Admin nhập thông tin cho bài học mới

- Hệ thống hiển thị kết quả thêm bài học

Hình 3 6: Quy trình nghiệp vụ thêm bài học mới

Trang 36

4) Làm bài test:

- Học viên chọn bài test

- Học viên làm bài test

- Học viên nộp bài

- Hệ thống chấm điểm học viên

- Hệ thống thông báo kết quả test

Hình 3 7: Quy trình nghiệp vụ làm bài test.

Trang 37

5) Thêm bài test mới:

- Admin chọn thêm bài test

- Hệ thống hiển thị form thêm bài test

- Admin nhập nội dung bài test và nhấn nút thêm bài test

- Hệ thống phản hồi kết quả thêm bài test

Hình 3 8: Quy trình nghiệp vụ thêm bài test mới.

Trang 38

3.3.3 Mô hình hóa các lớp nghiệp vụ

Bảng 3 1: Mô hình hóa lớp User.

dụng để hệ thống xác nhận khi người dùng đăng nhập vào hệ thống

thông báo, tin tức mới hệ thống sẽ gửi đến người dùng thông qua địa chỉ emailnày

2) Lớp khóa học

- Lớp khóa học mô tả đối tượng các khóa học của hệ thống

- Các thuộc tính của lớp khóa học được thể hiện ở bảng dưới đây:

Bảng 3 2: Mô hình hóa lớp khóa học.

Ngày đăng: 24/06/2022, 03:39

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Trương Tuấn Anh, Hệ quản trị cơ sở dữ liệu, ĐH Bách Khoa Thành phố HCM Sách, tạp chí
Tiêu đề: Hệ quản trị cơ sở dữ liệu
[5]. Pgs.Ts Phạm Ngọc Nam (2007), Phân Tích Thiết Kế Hướng Đối Tượng, Đh Bách Khoa Hn Sách, tạp chí
Tiêu đề: Phân Tích Thiết Kế Hướng Đối Tượng
Tác giả: Pgs.Ts Phạm Ngọc Nam
Năm: 2007
[2]. Jon Duckett (2011), HTML and CSS: Design and Build Website Khác
[3]. Jennifer Robbins (2012), Learning Web Design Khác
[4]. Jon Duckett (2014), JAVASCRIPT &amp; JQUERY: Interactive Front-End Web Development Khác
[6]. Kevin Yank (2001), PHP &amp; MySQL: Novice to Ninja Khác
[7]. Lynn Beighley &amp; Michael Morison (2002), Head First PHP &amp; MySQL Khác
[8]. LeanPub (2017), Laravelista A Collection of Laravel Tutorials Khác
[9]. LeanPub (2017), Laravel 5.4 For Beginners Khác

HÌNH ẢNH LIÊN QUAN

Hình 3. 4: Quy trình nghiệp vụ chọn khóa học. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 3. 4: Quy trình nghiệp vụ chọn khóa học (Trang 33)
Hình 3. 7: Quy trình nghiệp vụ làm bài test. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 3. 7: Quy trình nghiệp vụ làm bài test (Trang 36)
Bảng 3. 3: Mô hình hóa lớp bài học. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Bảng 3. 3: Mô hình hóa lớp bài học (Trang 39)
Bảng 3. 6: Các thuộc tính dữ liệu bảng đào tạo. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Bảng 3. 6: Các thuộc tính dữ liệu bảng đào tạo (Trang 40)
3.4.14. Các thuộc tính dữ liệu bảng quyền. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
3.4.14. Các thuộc tính dữ liệu bảng quyền (Trang 44)
Hình 4. 1: Giao diện đăng nhập admin. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 1: Giao diện đăng nhập admin (Trang 45)
Hình 4. 7: Giao diện danh sách đào tạo. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 7: Giao diện danh sách đào tạo (Trang 48)
Hình 4. 12: Giao diện các thêm bài học online. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 12: Giao diện các thêm bài học online (Trang 50)
Hình 4. 13: Giao diện các chương trình đào tạo. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 13: Giao diện các chương trình đào tạo (Trang 51)
Hình 4. 14: Giao diện sửa bài học online. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 14: Giao diện sửa bài học online (Trang 51)
Hình 4. 15: Giao diện thêm bài kiểm tra. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 15: Giao diện thêm bài kiểm tra (Trang 52)
Hình 4. 17: Giao diện danh sách câu hỏi. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 17: Giao diện danh sách câu hỏi (Trang 53)
Hình 4. 22: Giao diện thông tin học viên tại trung tâm. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 22: Giao diện thông tin học viên tại trung tâm (Trang 55)
Hình 4. 21: Giao diện phân quyền user. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 21: Giao diện phân quyền user (Trang 55)
Hình 4. 23: Giao diện thông tin học viên online. - BÁO cáo đồ án tốt NGHIỆP đề tài xây DỰNG WEBSITE KHÓA học, hỗ TRỢ KIỂM TRA và THANH TOÁN ONLINE
Hình 4. 23: Giao diện thông tin học viên online (Trang 56)

TỪ KHÓA LIÊN QUAN

w