TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN KHOÁ LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN XÂY DỰNG HỆ THỐNG QUẢN LÝ HỒ SƠ SINH VIÊN TRƯỜNG ĐẠI HỌC AN GIANG BẰNG CÔNG NGHỆ BLOCKCHA
Trang 1TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN
KHOÁ LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG HỆ THỐNG QUẢN LÝ HỒ SƠ SINH VIÊN TRƯỜNG ĐẠI HỌC AN GIANG BẰNG CÔNG NGHỆ BLOCKCHAIN
HYPERLEDGER FABRIC - PHÂN HỆ ỨNG DỤNG WEB
LÊ THỊ MỸ TIÊN
AN GIANG, 05-2022
Trang 2TRƯỜNG ĐẠI HỌC AN GIANG KHOA CÔNG NGHỆ THÔNG TIN
KHOÁ LUẬN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN
XÂY DỰNG HỆ THỐNG QUẢN LÝ HỒ SƠ SINH VIÊN TRƯỜNG ĐẠI HỌC AN GIANG BẰNG CÔNG NGHỆ BLOCKCHAIN
HYPERLEDGER FABRIC - PHÂN HỆ ỨNG DỤNG WEB
Trang 3i
Khóa luận “Xây dựng hệ thống quản lý hồ sơ sinh viên trường đại học An Giang bằng công nghệ Blockchain Hyperledger Fabric - phân hệ ứng dụng web” do sinh viên Lê Thị Mỹ Tiên thực hiện dưới sự hướng dẫn của Ths.Nguyễn Hoàng Tùng Tác giả đã báo cáo kết quả nghiên cứu và được Hội đồng Khoa học và Đào tạo thông qua ngày ………
(Ký và ghi rõ chức danh, họ tên) (Ký và ghi rõ chức danh, họ tên)
Giảng viên hướng dẫn (Ký và ghi rõ chức danh, họ tên)
Trang 4ii
LỜI CẢM ƠN
Lời đầu tiên, tôi xin gửi lời cảm ơn chân thành đến Trường đại học An Giang đã tạo điều kiện học tập và rèn luyện tốt nhất tại trường Tiếp theo, tôi xin gửi lời cảm ơn đến các thầy cô của Trường đại học An Giang, các thầy côđã tận tình giảng dạy, truyền đạt kiến thức quý báo Với lòng biết ơn sâu sắc nhất, tôi xin gửi lời cảm ơn chân thành đến thầy cô thuộc khoa Công nghệ thông tin đã truyền đạt các kiến thức nền tảng cho định hướng nghề nghiệp sau này của tôi
Đặc biệt, tôi xin gửi lời cảm ơn sâu sắc nhất đến Thầy Nguyễn Hoàng Tùng đã giúp đỡ tôi trong suốt quá trình thực tập, thầy đã tận tình hướng dẫn, chỉ bảo để tôi có thể hoàn thành tốt đề tài thực tập cuối khóa
Về phía cơ quan thực tập, tôi gửi lời cảm ơn đến khoa Công nghệ thông tin đã tạo điều kiện giúp tôi và các bạn hoàn thành tốt giai đoạn thực tập cuối khóa Tiếp thu, học hỏi và áp dụng các kiến thức đã học vào thực tế cũng như
kỹ năng giao tiếp của bản thân
Với điều kiện và vốn kiến thức còn hạn chế của mình, đề tài này không thể tránh được nhiều thiếu sót Vì vậy tôi rất mong nhận được sự quan tâm, chỉ bảo của quý thầy cô để tôi có thể hoàn thiện đề tài hơn
Sau cùng, tôi xin kính chúc quý thầy cô thật nhiều sức khỏe và thành công trong cuộc sống
Một lần nữa tôi xin chân thành cảm ơn!
An Giang, ngày 17 tháng 5 năm 2022
Sinh viên thực hiện
Lê Thị Mỹ Tiên
Trang 5iii
TÓM TẮT
Trường đại học An Giang với số lượng sinh viên lớn thì việc quản lý hồsơ sinh viên là vấn đề đang được quan tâm Việc áp dụng công nghệ thông tin vào quản lý hồ sơ để thuận tiện cho việc lưu trữ, cập nhật và thống kê là cần thiết
Đối với nhu cầu liên hệ của các doanh nghiệp, nhà tuyển dụng với các trường đại học để tuyển dụng các sinh viên sắp ra trường ngày càng cao Nhà trường có thể cung cấp thông tin sinh viên cho doanh nghiệp, nhà tuyển dụng
để phục vụ cho việc tuyển dụng Đối với thông tin sinh viên phải có độ bảo mật
vì có nhiều thông tin riêng tư đồng thời phải có tính minh bạch
Với công nghệ ngày càng phát triển thì càng có nhiều công cụ để quản
lý hồ sơ Tuy nhiên, để đảm bảo tính bảo mật, tính minh bạch đối với từng hồ
sơ thì một giải pháp được đề xuất là lưu trữ dữ liệu trên Blockchain Khi đó, dữ liệu thông tin sinh viên được lưu trên Blockchain, nhà trường sẽ cung cấp cho các doanh nghiệp, nhà tuyển dụng một mã truy cập để có thể truy xuất được thông tin sinh viên
Trước thực trạng đó, tôi quyết định chọn đề tài: “Xây dựng hệ thống quản
lý hồ sơ sinh viên Trường đại học An Giang bằng công nghệ Blockchain Hyperledger Fabric - Phân hệ Ứng dụng Web” để tìm hiểu và tạo dựng một trang website có thể đáp ứng nhu cầu của thực trạng trên cũng như có thể hoàn thành báo cáo của tôi
Cấu trúc của bài báo cáo được trình bày trong 3 chương Chương 1: Đặt vấn đề Chương 2: Tổng quan và cơ sở lý thuyết Chương 3: Phân tích và thiết
kế hệ thống
Trang 6iv
MỤC LỤC
CHƯƠNG 1 ĐẶT VẤN ĐỀ 1
1.1 TÍNH CẦN THIẾT CỦA ĐỀ TÀI 1
1.2 MỤC TIÊU NGHIÊN CỨU CỦA ĐỀ TÀI 1
CHƯƠNG 2 TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 3
2.1 ĐẶT VẤN ĐỀ 3
2.2 PHẠM VI CỦA ĐỀ TÀI 3
2.3 PHƯƠNG PHÁP NGHIÊN CỨU 3
2.4 CƠ SỞ LÝ THUYẾT 4
2.4.1 Tổng quan về PHP 4
2.4.2 Tổng quan về RESTful API 4
2.4.3 Tổng quan về MySQL 5
2.4.4 Tổng quan về mô hình MVC 5
2.4.5 Tổng quan về Laravel framework 6
2.4.6 Tổng quan về Bootstrap 7
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 8
3.1 PHÂN TÍCH YÊU CẦU HỆ THỐNG 8
3.1.1 Yêu cầu chức năng 8
3.1.2 Yêu cầu phi chức năng 9
3.1.3 Yêu cầu hệ thống 9
3.2 SƠ ĐỒ TỔNG QUÁT CHỨC NĂNG 10
3.3 SƠ ĐỒ USECASE 10
3.3.1 Actor hệ thống 10
3.3.2 Usecase hệ thống 11
3.3.3 Sơ đồ Usecase tổng quát 13
3.3.4 Sơ đồ phân rã Usecase 13
3.3.4.1 Sơ đồ phân rã Usecase quản lý khoa 13
3.3.4.2 Sơ đồ phân rã Usecase quản lý ngành 14
3.3.4.3 Sơ đồ phân rã Usecase hệ đào tạo 14
Trang 7v
3.3.4.4 Sơ đồ phân rã Usecase quản lý niên học 15
3.3.4.5 Sơ đồ phân rã Usecase quản lý lớp 15
3.3.4.6 Sơ đồ phân rã Usecase quản lý sinh viên 16
3.3.4.7 Sơ đồ phân rã Usecase quản lý điểm rèn luyện 16
3.3.4.8 Sơ đồ phân rã Usecase quản lý điểm học tập tích lũy 16
3.3.4.9 Sơ đồ phân rã Usecase quản lý thành tích nổi bật 17
3.3.4.10 Sơ đồ phân rã Usecase quản lý doanh nghiệp 17
3.3.4.11 Sơ đồ phân rã Usecase quản lý truy cập hồ sơ sinh viên 18
3.3.4.12 Sơ đồ phân rã Usecase xem điểm rèn luyện cá nhân 18
3.3.4.13 Sơ đồ phân rã Usecase xem điểm học tập tích lũy cá nhân 18
3.3.4.14 Sơ đồ phân rã Usecase xem thành tích nổi bật cá nhân 19
3.3.4.15 Sơ đồ phân rã Usecase xem hồ sơ cá nhân 19
3.3.4.16 Sơ đồ phân rã Usecase truy cập hồ sơ sinh viên 19
3.3.4.17 Sơ đồ phân rã Usecase quản lý người dùng 20
3.4 ĐẶC TẢ USECASE 20
3.4.1 Đăng nhập 20
3.4.2 Quản lý doanh nghiệp 21
3.4.3 Quản lý sinh viên 22
3.4.4 Truy cập hồ sơ sinh viên đối với doanh nghiệp 24
3.5 SƠ ĐỒ TUẦN TỰ 25
3.5.1 Đăng nhập 25
3.5.2 Thêm thông tin sinh viên 26
3.5.3 Cập nhật thông tin sinh viên 26
3.5.4 Xóa thông tin sinh viên 27
3.5.5 Cập nhật hồ sơ cá nhân 28
3.5.6 Truy cập hồ sơ sinh viên 28
3.6 SƠ ĐỒ LỚP 29
3.7 THIẾT KẾ CƠ SỞ DỮ LIỆU 29
3.8 THIẾT KẾ GIAO DIỆN HỆ THỐNG 39
Trang 8vi
3.8.1 Giao diện đăng nhập 39
3.8.2 Giao diện trang chủ admin, cán bộ 39
3.8.3 Giao diện quản lý khoa 40
3.8.4 Giao diện quản lý ngành 40
3.8.5 Giao diện lớp 41
3.8.6 Giao diện quản lý sinh viên 41
3.8.7 Giao diện quản lý thêm sinh viên 42
3.8.9 Giao diện quản lý người dùng 42
3.8.10 Giao diện quản lý điểm rèn luyện 43
3.8.11 Giao diện quản lý điểm học tập tích lũy 43
3.8.12 Giao diện thống kê điểm học tập tích lũy 44
3.8.13 Giao diện thêm thành tích nổi bật 44
3.8.14 Giao diện xem hồ sơ cá nhân 45
3.8.15 Giao diện xem điểm rèn luyện cá nhân 45
3.8.16 Giao diện quản lý chứng chỉ 46
3.8.17 Giao diện xem biểu mẫu 46
3.8.18 Giao diện lưu hồ sơ sinh viên xuống Blockchain 47
3.8.19 Giao diện gửi mã truy cập hồ sơ sinh viên cho doanh nghiệp 47
3.8.20 Giao diện danh sách mã truy cập hồ sơ sinh viên 48
3.9 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 48
3.9.1 Các kiến thức, kinh nghiệm đã tích lũy được 48
3.9.2 Các chức năng của hệ thống được xây dựng 48
3.9.3 Những vấn đề chưa giải quyết 49
3.9.4 Hướng phát triển đề tài 49
TÀI LIỆU THAM KHẢO 50
Trang 9vii
DANH SÁCH HÌNH ẢNH
Hình 1 Mô hình MVC 6
Hình 2 Luồng xử lý của Laravel 7
Hình 3 Sơ đồ tổng quát chức năng 10
Hình 4 Sơ đồ Usecase tổng quát 13
Hình 5 Sơ đồ phân rã Usecase quản lý khoa 13
Hình 6 Sơ đồ phân rã Usecase quản lý ngành 14
Hình 7 Sơ đồ phân rã Usecase hệ đào tạo 14
Hình 8 Sơ đồ phân rã Usecase quản lý niên học 15
Hình 9 Sơ đồ phân rã Usecase quản lý lớp 15
Hình 10 Sơ đồ phân rã Usecase quản lý sinh viên 16
Hình 11 Sơ đồ phân rã Usecase quản lý điểm rèn luyện 16
Hình 12 Sơ đồ phân rã Usecase quản lý điểm học tập tích lũy 16
Hình 13 Sơ đồ phân rã Usecase quản lý thành tích nổi bật 17
Hình 14 Sơ đồ phân rã Usecase quản lý doanh nghiệp 17
Hình 15 Sơ đồ phân rã Usecase quản lý truy cập hồ sơ sinh viên 18
Hình 16 Sơ đồ phân rã Usecase xem điểm rèn luyện cá nhân 18
Hình 17 Sơ đồ phân rã Usecase xem điểm học tập tích lũy cá nhân 18
Hình 18 Sơ đồ phân rã Usecase xem thành tích nổi bật cá nhân 19
Hình 19 Sơ đồ phân rã Usecase xem hồ sơ cá nhân 19
Hình 20 Sơ đồ phân rã Usecase truy cập hồ sơ sinh viên 19
Hình 21 Sơ đồ phân rã Usecase quản lý người dùng 20
Hình 22 Sơ đồ tuần tự đăng nhập 25
Hình 23 Sơ đồ tuần tự thêm sinh viên 26
Hình 24 Sơ đồ tuần tự cập nhật thông tin sinh viên 26
Hình 25 Sơ đồ tuần tự xóa thông tin sinh viên 27
Hình 26 Sơ đồ tuần tự cập nhập hồ sơ cá nhân 28
Hình 27 Sơ đồ tuần tự truy cập hồ sơ sinh viên 28
Hình 28 Sơ đồ lớp 29
Trang 10viii
Hình 29 Sơ đồ CSDL 38
Hình 30 Giao diện đăng nhập 39
Hình 31 Giao diện trang chủ admin, cán bộ 39
Hình 32 Giao diện quản lý khoa 40
Hình 33 Giao diện quản lý ngành 40
Hình 34 Giao diện lớp 41
Hình 35 Giao diện quản lý sinh viên 41
Hình 36 Giao diện quản lý thêm sinh viên 42
Hình 37 Giao diện quản lý người dùng 42
Hình 38 Giao diện quản lý điểm rèn luyện 43
Hình 39 Giao diện quản lý điểm học tập tích lũy 43
Hình 40 Giao diện thống kê điểm học tập tích lũy 44
Hình 41 Giao diện thêm thành tích nổi bật 44
Hình 42 Giao diện xem hồ sơ cá nhân 45
Hình 43 Giao diện xem điểm rèn luyện cá nhân 45
Hình 44 Giao diện quản lý chứng chỉ 46
Hình 45 Giao diện xem biểu mẫu 46
Hình 46 Giao diện lưu hồ sơ sinh viên xuống Blockchain 47
Hình 47 Giao diện gửi mã truy cập hồ sơ sinh viên cho doanh nghiệp 47
Hình 48 Giao diện danh sách mã truy cập hồ sơ sinh viêns 48
Trang 11ix
DANH SÁCH CÁC BẢNG
Bảng 1 Yêu cầu chức năng của admin 8
Bảng 2 Yêu cầu chức năng đối với cán bộ 8
Bảng 3 Yêu cầu chức năng đối với sinh viên 9
Bảng 4 Yêu cầu chức năng đối với doanh nghiệp 9
Bảng 5 Các Usecase hệ thống 11
Bảng 6 Đặc tả Usecase đăng nhập 20
Bảng 7 Đặc tả Usecase quản lý doanh nghiệp 21
Bảng 8 Đặc tả Usecase quản lý sinh viên 22
Bảng 9 Đặc tả Usecase truy cập hồ sơ cá nhân đối doanh nghiệp 24
Bảng 10 Bảng tỉnh 29
Bảng 11 Bảng huyện 29
Bảng 12 Bảng xã 30
Bảng 13 Bảng khoa 30
Bảng 14 Bảng ngành 30
Bảng 15 Bảng hệ đào tạo 31
Bảng 16 Bảng niên học 31
Bảng 17 Bảng lớp 31
Bảng 18 Bảng dân tộc 31
Bảng 19 Bảng tôn giáo 32
Bảng 20 Bảng diện 32
Bảng 21 Bảng doanh nghiệp 32
Bảng 22 Bảng sinh viên 32
Bảng 23 Bảng chứng chỉ 33
Bảng 24 Bảng chi tiết diện 34
Bảng 25 Bảng quá trình học tập 34
Bảng 26 Bảng thành tích nổi bật 34
Bảng 27 Bảng điểm rèn luyện 35
Bảng 28 Bảng điểm học tập tích lũy 35
Trang 12x
Bảng 29 Bảng địa chỉ sinh viên 35 Bảng 30 Bảng gia đình 36 Bảng 31 Bảng lượt truy cập 37
Trang 13xi
DANH MỤC CHỮ VIẾT TẮT
1 API Application Programming Interface
9 ORM Object Relational Mapping
Trang 141
CHƯƠNG 1 ĐẶT VẤN ĐỀ 1.1 TÍNH CẦN THIẾT CỦA ĐỀ TÀI
Quản lý hồ sơ bao gồm việc sắp xếp, thiết kế và xem xét lại các văn bản,
hồ sơ trong tổ chức Nó liên quan đến việc phối hợp các nhiệm vụ, quản lý, bảo quản, tiêu hủy trong sự hoạt động của một tổ chức
Thực tiễn trong hoạt động của cơ quan, tổ chức có rất nhiều hồ sơ được hình thành với nhiều nội dung, nhiều hình thức khác nhau Phổ biến ở mọi cơ quan, tổ chức, hồ sơ hiện hành được chia thành có ba loại cơ bản, đó là hồ sơ công việc, hồ sơ nguyên tắc và hồ sơ nhân sự
Hồ sơ nhân sự là một tập tài liệu có liên quan về một cá nhân cụ thể (hồ
sơ đảng viên, hồ sơ cán bộ, hồ sơ sinh viên, hồ sơ học sinh, )
Quản lý hồ sơ sinh viên bao gồm việc quản lý thông tin cá nhân, thông tin trúng tuyển, các thành tích mà sinh viên đạt được trong suốt quá trình học tập tại trường
Với công nghệ ngày càng phát triển thì càng có nhiều công cụ để quản
lý hồ sơ sinh viên Tuy nhiên, để đảm bảo tính bảo mật, tính minh bạch đối với từng hồ sơ thì một giải pháp được đề xuất là lưu trữ dữ liệu trên blockchain Khi
đó, dữ liệu thông tin sinh viên được lưu trên blockchain, nhà trường sẽ cung cấp cho các doanh nghiệp, nhà tuyển dụng một mã truy cập để có thể truy xuất được thông tin sinh viên
Chính vì vậy tôi quyết định chọn đề tài: “Xây dựng hệ thống quản lý hồ
sơ sinh viên Trường đại học An Giang bằng công nghệ Blockchain Hyperledger Fabric - Phân hệ Ứng dụng Web” để góp phần nâng cao hiệu quả công tác quản
lý hồ sơ sinh viên
1.2 MỤC TIÊU NGHIÊN CỨU CỦA ĐỀ TÀI
Xây dựng website hỗ trợ quản lý hồ sơ sinh viên với các mục tiêu chính sau:
Trang 152
+ Hỗ trợ nhập, xuất excel và các thống kê
- Đối với sinh viên
+ Hỗ trợ xem các thành tích cá nhân: điểm rèn luyện, điểm học tập tích, điểm học tập tích lũy
+ Quản lý thông tin cá nhân: lý lịch, chứng chỉ, quá trình học tập
- Đối với doanh nghiệp
+ Truy xuất hồ sơ sinh viên với mã truy cập được cung cấp
+ Xem được danh sách lịch sử truy cập của hồ sơ
Trang 163
CHƯƠNG 2 TỔNG QUAN VÀ CƠ SỞ LÝ THUYẾT 2.1 ĐẶT VẤN ĐỀ
Hiện nay, sự phát triển của công nghệ thông tin đã tác động mạnh mẽ và làm thay đổi hầu hết các lĩnh vực: kinh tế, xã hội, giáo dục, nông nghiệp,… Công nghệ thông tin đã trở thành trụ cột chính của nền kinh tế tri thức, ứng dụng công nghệ thông tin vào giáo dục được rất nhiều người quan tâm Điều này mang lại hiệu quả cho quản lý, đào tạo và đơn giản hóa các nghiệp vụ phức tạp
Việc ứng dụng công nghệ thông tin trong công tác đào tạo và quản lý sinh viên là cần thiết Việc này giúp công tác quản lý, lưu trữ hồ sơ cũng như truy xuất và thống kê được dễ dàng và nhanh chóng
Với công nghệ ngày càng phát triển thì càng có nhiều công cụ để quản
lý hồ sơ Tuy nhiên, để đảm bảo tính bảo mật đối với các thông tin riêng tư, tính minh bạch đối với từng hồ sơ thì một giải pháp được đề xuất là lưu trữ dữ liệu trên blockchain Blockchain có những đặc tính ưu việt như tính bảo mật cao, không thể làm giả Khi đó, dữ liệu thông tin sinh viên được lưu trên blockchain, nhà trường sẽ cung cấp cho các doanh nghiệp, nhà tuyển dụng một mã truy cập
để có thể truy xuất được thông tin sinh viên
Từ những vấn đề trên và những ưu điểm từ công nghệ Blockchain mang lại là nền tảng thiết yếu để đề tài: “Xây dựng hệ thống quản lý hồ sơ sinh viên Trường đại học An Giang bằng công nghệ Blockchain Hyperledger Fabric - Phân hệ Ứng dụng Web” được hình thành
2.2 PHẠM VI CỦA ĐỀ TÀI
Quy trình quản lý hồ sơ sinh viên Trường đại học An Giang bao gồm:
- Quản lý thông tin sinh viên
- Quản lý thành tích sinh viên
- Quản lý việc truy cập hồ sơ sinh viên đối với doanh nghiệp
- Doanh nghiệp có thể truy cập hồ sơ sinh viên và lịch sử truy cập hồ sơ với mã truy cập được cung cấp
2.3 PHƯƠNG PHÁP NGHIÊN CỨU
- Nghiên cứu các tài liệu về hồ sơ sinh viên
- Xác định các quy trình nghiệp vụ, yêu cầu của hệ thống, CSDL
- Phương pháp thực nghiệm: phân tích, thiết kế, xây dựng, phát triển, kiểm thử
Trang 17PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI
do Rasmus Lerdorf tạo ra năm 1994
PHP/FI, viết tắt từ “Personal Home Page/Forms Interpreter”, bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó
có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán
PHP đã phát triển qua các phiên bản như: PHP/FI 2.0, PHP 3.0, PHP 4.0, PHP 5.0, PHP 6.0, PHP 7.0 và hiện nay là PHP 8 đang được phát triển
2.4.2 Tổng quan về RESTful API
API (API: Application Programming Interface) là một tập các quy tắc và
cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML
REST (REST: REpresentational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, POST, DELETE, vv đến một URL để xử lý dữ liệu
RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource RESTful là một trong những kiểu thiết
kế API được sử dụng phổ biến ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau
Trang 185
2.4.3 Tổng quan về MySQL
MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới
và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng
Vì MySQL là hệ quản trị cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ MySQL có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac
OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS,
MySQL là một trong những ví dụ rất cơ bản về hệ quản trị cơ sở dữ liệu quan hệ sử dụng ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ Node.js, PHP, Perl và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl,
2.4.4 Tổng quan về mô hình MVC
Mô hình MVC (Model - View - Controller) là một kiến trúc phần mềm hay mô hình thiết kế được sử dụng trong xây dựng phần mềm Nó giúp cho người phát triển tách ứng dụng của họ ra 3 thành phần khác nhau Model, View
và Controller Mỗi thành phần có một nhiệm vụ riêng biệt và độc lập với các thành phần khác
Mô hình này được dùng khá rộng rãi và đặc biệt là trong các dự án web Trong PHP có khá nhiều framework (Laravel, Symfony, CodeIgniter,…)
và tất cả đều sử dụng mô hình MVC
Các thành phần của mô hình MVC:
- 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 dữ liệu, đối tượng mô tả dữ liệu như các lớp, hàm
Cách làm việc của mô hình MVC:
Trang 19Là một PHP framework mã nguồn mở và miễn phí, được phát triển bởi Taylor Otwell, ra mắt lần đầu vào tháng 06 năm 2011 và nhằm vào mục tiêu hỗ trợ phát triển các ứng dụng web theo kiến trúc model-view-controller (MVC)
Những tính năng nổi bật của Laravel bao gồm cú pháp dễ hiểu – rõ ràng, một 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
Luồng xử lý của Laravel:
Trang 207
Hình 2 Luồng xử lý của Laravel
Ư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
mô hình MVC, nguồn tài nguyên vô cùng lớn và sẵn có, tích hợp với dịch vụ mail, tốc độ xử lý nhanh, tính bảo mật cao, tích hợp công cụ Artisan – Công cụ quản lý dòng lệnh, sử dụng composer để quản lý PHP package, hỗ trợ Eloquent ORM, Query Builder, Template Engine (Blade)
Nhược điểm của Laravel: không hỗ trợ tính năng thanh toán, thiếu sự liên tục giữa các phiên bản, thường không cung cấp sự phong phú cho ứng dụng
di động
2.4.6 Tổng quan về Bootstrap
Bootstrap là sản phẩm của Mark Otto và Jacob Thornton tại Twitter Nó được xuất bản như là một mã nguồn mở vào ngày 19/8/2011 trên GitHub Tên gọi ban đầu là Twitter Blueprint
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ẵn như kích thước, màu sắc, độ cao, độ rộng…, các designer có thể sáng tạo nhiều sản phẩ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
Ưu điểm của Bootstrap: khả năng tạo giao diện nhanh, nền tảng tối ưu, tương tác tốt với smartphone, giao diện đầy đủ, sang trọng, dễ dàng tùy biến
Nhược điểm của Bootstrap: kém phổ biến, sản phẩm nặng, tốc độ tối ưu cao, chưa hoàn thiện
Trang 218
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 PHÂN TÍCH YÊU CẦU HỆ THỐNG
3.1.1 Yêu cầu chức năng
Đối với admin: Các công việc thuộc quyền cán bộ và quản lý tài khoản
Bảng 1 Yêu cầu chức năng của admin
1 Quản lý Tài Khoản :
+ Cán bộ
+ Sinh viên
Tìm kiếm, thêm, xóa, sửa
Đối với cán bộ
Bảng 2 Yêu cầu chức năng đối với cán bộ
Trang 229
Đối với sinh viên
Bảng 3 Yêu cầu chức năng đối với sinh viên
2 Quản lý quá trình học tập cá nhân Tìm kiếm, thêm, xóa, sửa
4 Xem điểm rèn luyện cá nhân Xem thông tin
5 Xem điểm tích lũy cá nhân Xem thông tin
6 Xem thánh tích nổi bật cá nhân Xem thông tin
Đối với doanh nghiệp
Bảng 4 Yêu cầu chức năng đối với doanh nghiệp
1 Truy cập hồ sơ sinh viên Xem thông tin hồ sơ của
sinh viên
2 Xem lịch sử truy cập hồ sơ sinh viên Xem lịch sử các lượt truy
cập vào sơ của sinh viên
3.1.2 Yêu cầu phi chức năng
- Giao diện: gần gũi, hài hòa, trực quan dễ sử dụng
- Tính đúng đắn: Hệ thống phải hoạt động chính xác, nhanh chóng và dễ nâng cấp trong tương lai
- Tính bảo mật: Phải đảm bảo các yêu cầu về bảo mật, an toàn hệ thống, các chức năng trên hệ thống chỉ được truy xuất bởi những người dùng có quyền hạn tương ứng
- Tính ổn định: Hệ thống phải hoạt động nhanh và chính xác
3.1.3 Yêu cầu hệ thống
- Có thể sử dụng 24/24
- Có chức năng gửi email tới doanh nghiệp
- Có chức năng đăng nhập bằng email
- Hệ thống gồm các người dùng: admin, cán bộ, sinh viên, doanh nghiệp
Trang 2310
3.2 SƠ ĐỒ TỔNG QUÁT CHỨC NĂNG
Hình 3 Sơ đồ tổng quát chức năng
3.3 SƠ ĐỒ USECASE
3.3.1 Actor hệ thống
Admin: Là người dùng trong hệ thống, quản lý toàn bộ hệ thống bao gồm: tài khoản người dùng, khoa, ngành, lớp, hệ đào tạo, niên học, sinh viên, điểm rèn luyện, điểm học tập tích lũy, thành tích nổi bật, truy cập hồ sơ sinh viên
Cán bộ: Là người dùng trong hệ thống, bao gồm các chức năng quản lý sau: khoa, ngành, lớp, hệ đào tạo, niên học, sinh viên, điểm rèn luyện, điểm học tập tích lũy, thành tích nổi bật, truy cập hồ sơ sinh viên
Trang 241 Đăng nhập Muốn sử dụng hệ thống người dùng cần phải
đăng nhập vào hệ thống, mật khẩu người dùng được băm theo phương thức
2 Đăng xuất Khi sử dụng xong thì người dùng phải đăng xuất
ra khỏi hệ thống
3 Quản lý khoa Amin, cán bộ đăng nhập vào hệ thống có thể
quản lý thông tin khoa như: thêm, xóa, sửa, nhập-xuất file excel
4 Quản lý ngành Amin, cán bộ đăng nhập vào hệ thống có thể
quản lý thông tin ngành như: thêm, xóa, sửa, nhập-xuất file excel
5 Quản lý hệ đào tạo Amin, cán bộ đăng nhập vào hệ thống có thể
quản lý thông tin hệ đào tạo như: thêm, xóa, sửa, nhập-xuất file excel
6 Quản lý niên học Amin, cán bộ đăng nhập vào hệ thống có thể
quản lý thông tin niên học như: thêm, xóa, sửa, nhập-xuất file excel
7 Quản lý tài khoản Amin đăng nhập vào hệ thống có thể quản lý
thông tin tài khoản như: thêm, xóa, sửa, xuất file excel
nhập-8 Quản lý lớp Admin, cán bộ đăng nhập vào hệ thống có thể
quản lý thông tin lớp như: thêm, xóa, sửa, xuất file excel
nhập-9 Quản lý sinh viên Admin, cán bộ đăng nhập vào hệ thống có thể
quản lý thông tin sinh viên như: thêm, xóa, sửa, nhập-xuất file excel
10 Quản lý doanh
nghiệp
Admin, cán bộ đăng nhập vào hệ thống có thể quản lý thông tin doanh nghiệp như: thêm, xóa, sửa, nhập-xuất file excel
Trang 2512
11 Quản lý điểm học
tập tích lũy Admin, cán bộ đăng nhập vào hệ thống có thể quản lý thông tin điểm học tập tích lũy của sinh
viên như: thêm, xóa, sửa, nhập-xuất file excel
12 Quản lý điểm rèn
luyện Admin, cán bộ đăng nhập vào hệ thống có thể quản lý thông tin điểm rèn luyện của sinh viên
như: thêm, xóa, sửa, nhập-xuất file excel
13 Quản lý thành tích
nổi bật Admin, cán bộ đăng nhập vào hệ thống có thể quản lý thông tin thành tích nổi bật của sinh viên
như: thêm, xóa, sửa, nhập-xuất file excel
14 Quản lý truy cập hồ
sơ sinh viên Admin, cán bộ đăng nhập vào hệ thống có thể quản lý mã số truy cập hồ sơ của sinh viên như:
thêm, xóa, sửa
Sinh viên đăng nhập vào hệ thống có thể quản
lý thông tin của cá nhân như: xem, cập nhật
19 Quản lý chứng chỉ
cá nhân Sinh viên đăng nhập vào hệ thống có thể quản lý thông tin chứng chỉ của cá nhân như: thêm,
xóa, sửa
20 Quản lý quá trình
học tập Sinh viên đăng nhập vào hệ thống có thể quản lý thông tin quá trình học tập của cá nhân như:
thêm, xóa, sửa
21 Truy cập hồ sơ Doanh nghiệp nhập mã truy cập được cung cấp
để xem hồ sơ cá nhân của sinh viên
Trang 2613
3.3.3 Sơ đồ Usecase tổng quát
Hình 4 Sơ đồ Usecase tổng quát
3.3.4 Sơ đồ phân rã Usecase
3.3.4.1 Sơ đồ phân rã Usecase quản lý khoa
Hình 5 Sơ đồ phân rã Usecase quản lý khoa
Trang 2714
3.3.4.2 Sơ đồ phân rã Usecase quản lý ngành
Hình 6 Sơ đồ phân rã Usecase quản lý ngành
3.3.4.3 Sơ đồ phân rã Usecase hệ đào tạo
Hình 7 Sơ đồ phân rã Usecase hệ đào tạo
Trang 2815
3.3.4.4 Sơ đồ phân rã Usecase quản lý niên học
Hình 8 Sơ đồ phân rã Usecase quản lý niên học
3.3.4.5 Sơ đồ phân rã Usecase quản lý lớp
Hình 9 Sơ đồ phân rã Usecase quản lý lớp
Trang 2916
3.3.4.6 Sơ đồ phân rã Usecase quản lý sinh viên
Hình 10 Sơ đồ phân rã Usecase quản lý sinh viên
3.3.4.7 Sơ đồ phân rã Usecase quản lý điểm rèn luyện
Hình 11 Sơ đồ phân rã Usecase quản lý điểm rèn luyện
3.3.4.8 Sơ đồ phân rã Usecase quản lý điểm học tập tích lũy
Hình 12 Sơ đồ phân rã Usecase quản lý điểm học tập tích lũy
Trang 3017
3.3.4.9 Sơ đồ phân rã Usecase quản lý thành tích nổi bật
Hình 13 Sơ đồ phân rã Usecase quản lý thành tích nổi bật
3.3.4.10 Sơ đồ phân rã Usecase quản lý doanh nghiệp
Hình 14 Sơ đồ phân rã Usecase quản lý doanh nghiệp
Trang 3118
3.3.4.11 Sơ đồ phân rã Usecase quản lý truy cập hồ sơ sinh viên
Hình 15 Sơ đồ phân rã Usecase quản lý truy cập hồ sơ sinh viên
3.3.4.12 Sơ đồ phân rã Usecase xem điểm rèn luyện cá nhân
Hình 16 Sơ đồ phân rã Usecase xem điểm rèn luyện cá nhân
3.3.4.13 Sơ đồ phân rã Usecase xem điểm học tập tích lũy cá nhân
Hình 17 Sơ đồ phân rã Usecase xem điểm học tập tích lũy cá nhân