PHÂN TÍCH
Phân tích hệ thống
Hệ thống đánh giá kết quả rèn luyện trực tuyến cung cấp giải pháp toàn diện cho việc đánh giá kết quả rèn luyện của sinh viên, cố vấn học tập và ban chủ nhiệm khoa Hệ thống đảm bảo tính an toàn bảo mật, cho phép sinh viên tự chấm điểm rèn luyện dễ dàng và nhanh chóng, trong khi cố vấn học tập có thể theo dõi và điều chỉnh điểm số dựa trên quá trình tự đánh giá của sinh viên Ban chủ nhiệm khoa có khả năng xem báo cáo tổng hợp điểm và xếp loại của từng lớp, cũng như xuất dữ liệu ra Excel khi cần Quản lý thông tin sinh viên, giáo viên và tiêu chí đánh giá là yếu tố quan trọng để duy trì và quản lý hệ thống, đáp ứng nhu cầu của nhà trường.
2.1.2 Cấu trúc của phiếu đánh giá xét điểm rèn luyện
• Tiêu chuẩn: Các chuẩn mực mà sinh viên cần đáp ứng
• Tiêu chí: Các tiêu chí mà sinh viên cần đáp ứng là mục nhỏ của tiêu chuẩn
• Chi tiết tiêu chí: Chi tiết tiêu chí mà các sinh viên cần đáp ứng là mục nhỏ của tiêu chí
• Vi phạm : Số điểm sẽ bị trừ nếu sinh viên vi phạm
• Điểm quy định: Số điểm quy định cho mỗi chi tiết tiêu chí
• Điểm đánh giá : Sinh viên, cán bộ lớp, cố vấn học tập
Commented [MOU1]: Chương này phân tích thôi Thiết kế là chương 3
2.2 Biểu đồ usecase tổng quát
Dựa vào các chức năng đã được liệt kê, có thể xây dựng biểu đồ Use Case như sau:
Hình 2 Biểu đồ usecase tổng quát
STT Tác nhân Mô tả
1 Sinh viên Những người sử dụng ứng dụng với mục đích tự chấm điểm rèn luyện
2 Cán bộ lớp Những người sử dụng ứng dụng với mục đích tự chấm điểm rèn luyện cho
Commented [MOU2]: Căn chỉnh kích thước các cột ở bảng này mình và các thành viên trong lớp
3 Cố vấn học tập Những người sử dụng ứng dụng với mục đích chấm điểm rèn luyện cho các sinh viên mà mình quản lý
4 Ban chủ nhiệm khoa Những người sử dụng ứng dụng với mục đích xem thống kê báo cáo điểm rèn luyện của các sinh viên khoa mình
Bảng 1 Danh sách tác nhân
2.2.2.Danh sách actor và usecase a) Sinh viên Đối tượng người dùng là sinh viên có thể thực hiện các chức năng như sau:
● Tự đánh giá điểm rèn luyện
● Quản lý thông tin cá nhân
● Xuất danh sách sinh viên b) Ban cán sự Đối tượng người dùng là ban cán sự có thể thực hiện các chức năng như sau:
● Tự đánh giá điểm rèn luyện
● Đánh giá điểm rèn luyện thành viên lớp
● Quản lý thông tin cá nhân
● Xuất danh sách sinh viên c) Cố vấn học tập Đối tượng người dùng là cố vấn học tập có thể thực hiện các chức năng như sau:
● Đánh giá điểm rèn luyện thành viên lớp
Commented [MOU3]: Viết thêm một vài câu như: Đối tượng người dùng là Sinh viên có thể thực hiện các công việc như sau:
Commented [MOU4]: Viết tương tự như sinh viên, và làm tương tự cho các tác nhân khác
● Quản lý thông tin cá nhân
● Xuất danh sách sinh viên d) Ban chủ nhiệm khoa Đối tượng người dùng là ban chủ nhiệm khoa có thể thực hiện các chức năng như sau:
● Quản lý điểm rèn luyện của các lớp
● Xem báo cáo thống kê điểm rèn luyện
● Quản lý thông tin cá nhân
● Xuất báo cáo thống kê e) Quản lý thông tin Đối tượng người dùng là người quản lý thông tin có thể thực hiện các chức năng như sau:
● Quản lý thông tin giảng viên
● Quản lý thông tin khoa
● Quản lý thông tin lớp
● Quản lý thông tin học kì
● Quản lý thông tin tiêu chuẩn
● Quản lý thông tin tiêu chí
● Quản lý thông tin chi tiết tiêu chí
● Quản lý thông tin vi phạm
● Quản lý thông tin cá nhân
Phân tích yêu cầu hệ thống
Hình 3 Use case đăng nhập
• Tác nhân chính: Sinh viên, cố vấn học tập, ban chủ nhiệm khoa và admin
• Mô tả: Chức năng có nhiệm vụ kiểm tra xem user đã đăng nhập đúng tài khoản của mình hay chưa rồi sau đó phân quyền user
• Điều kiện bắt đầu : Người dùng truy cập vào trang web
• Điều kiện sau khi hoàn thành: Hệ thống sẽ trả về màn hình đúng có các chức năng đúng với chức vụ của mình
• Kịch bản sử dụng chính:
- Người dùng truy cập vào website hệ thống xét điểm rèn luyện
- Sau đó điền tên tài khoản và mật khẩu
- Nếu tài khoản mật khẩu đúng , người dùng sẽ được chuyển sang trang chủ
• Kịch bản sử dụng phụ:
- Người dùng đăng nhập sai, sẽ hiện thông báo
Hình 4 Biểu đồ hoạt động đăng nhập b Tự đánh giá điểm rèn luyện
Hình 5 Use case tự đánh giá điểm rèn luyện
• Tên Usecase: Tự đánh giá điểm rèn luyện
• Tác nhân chính: Sinh viên, cán bộ lớp
• Mô tả: Chức năng có nhiệm vụ giúp cho sinh viên , cán bộ lớp có thể tự đánh giá điểm rèn luyện của mình
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Tổng điểm và xếp loại điểm rèn luyện cho sinh viên
• Kịch bản sử dụng chính:
- Sinh viên hoặc cán bộ lớp tự đánh giá điểm rèn luyện của mình
- Nếu bấm lưu số điểm sẽ được lưu lại và có thể cập nhật điểm bất cứ lúc nào
- Nếu bấm nộp số điểm sẽ được gửi đi và sẽ không có quyền chỉnh sửa cập nhật lại điểm nữa
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 6 Biểu đồ hoạt động tự đánh giá điểm rèn luyện c Đánh giá điểm rèn luyện thành viên lớp
Hình 7 Use case đánh giá điểm rèn luyện
• Tên Usecase: Đánh giá điểm rèn luyện
• Tác nhân chính: Cán bộ lớp, cố vấn học tập
Chức năng này hỗ trợ cán bộ lớp và cố vấn học tập trong việc đánh giá điểm rèn luyện của các thành viên, giúp nâng cao chất lượng học tập và phát triển kỹ năng cá nhân trong lớp.
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Tổng điểm và xếp loại điểm rèn luyện cho sinh viên
• Kịch bản sử dụng chính:
- Cán bộ lớp hoặc cố vấn học tập đánh giá điểm rèn luyện thành viên trong lớp mình
- Nếu bấm lưu số điểm sẽ được lưu lại và có thể cập nhật điểm bất cứ lúc nào
- Nếu bấm nộp số điểm sẽ được gửi đi và sẽ không có quyền chỉnh sửa cập nhật lại điểm nữa
- Cố vấn học tập chấm điển khi bấm lưu, điểm sẽ được tính
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 8 Biểu đồ hoạt động đánh giá điểm rèn luyện d Xem điểm
Hình 8 Use case xem điểm
• Tác nhân chính: Sinh viên , cán bộ lớp, cố vấn học tập
Chức năng này cho phép sinh viên, cán bộ lớp và cố vấn học tập theo dõi điểm rèn luyện của các thành viên trong lớp, giúp nâng cao hiệu quả quản lý và hỗ trợ học tập.
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Sinh viên, cán bộ lớp, cố vấn học tập có thể xem điểm của các thành viên trong lớp
• Kịch bản sử dụng chính:
- Khi bấm vào xem điểm, hiện ra chi tiết điểm đánh giá của người đó
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 9 Biểu đồ hoạt động xem điểm e Quản lý thông tin cá nhân
Hình 10 Use case quản lý thông tin cá nhân
• Tên Usecase: Quản lý thông tin cá nhân
• Tác nhân chính: Sinh viên , cán bộ lớp, cố vấn học tập, ban chủ nhiệm khoa, admin
• Mô tả: Chức năng có nhiệm vụ giúp cho người sử dụng có thể xem và cập nhật thông tin cá nhân
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Người sử dụng quản lý được thông tin cá nhân
• Kịch bản sử dụng chính:
- Khi bấm vào profile, hiện ra thông tin cá nhân
- Cập nhật thông tin cá nhân mình
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 11 Biểu đồ hoạt động quản lý thông tin cá nhân f Xuất danh sách sinh viên
Hình 12 Use case xuất danh sách sinh viên
• Tên Usecase: Xuất danh sách sinh viên
• Tác nhân chính: Sinh viên , cán bộ lớp, cố vấn học tập
• Mô tả: Chức năng có nhiệm vụ giúp cho sinh viên, cán bộ lớp và cố vấn học tập có thể xuất danh sách sinh viên trong lớp mình
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Xuất ra danh sách sinh viên trong lớp ra file excel
• Kịch bản sử dụng chính:
- Chọn danh sách sinh viên
- Chọn export sẽ hiện ra cho người dùng chọn lưu file excel danh sách vào đâu trên máy tính
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 13 Biểu đồ hoạt động xuất danh sách sinh viên g Xem báo cáo thống kê
Hình 14 Use case xem báo cáo thống kê
• Tên Usecase: Xem báo cáo thống kê
• Tác nhân chính: Ban chủ nhiệm khoa
• Mô tả: Chức năng có nhiệm vụ giúp ban chủ nhiệm khoa có thể xem báo cáo thống kê điểm sinh viên các lớp thuộc khoa mình quản lý
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Thống kê được điểm sinh viên trong 1 lớp
• Kịch bản sử dụng chính:
- Khi bấm vào tổng kết đánh giá sẽ hiện ra danh sách các lớp trong khoa quản lý
- Chọn kết quả đánh giá
- Hiện ra bản báo cáo thống kê điểm của sinh viên lớp đó
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 15 Biểu đồ hoạt động xem báo cáo thống kê h Xuất báo cáo thống kê
• Tên Usecase: Xuất báo cáo thống kê
• Tác nhân chính: Ban chủ nhiệm khoa
• Mô tả: Chức năng có nhiệm vụ giúp ban chủ nhiệm khoa có thể xuất báo cáo thống kê điểm sinh viên các lớp thuộc khoa mình quản lý
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Thống kê được điểm sinh viên trong 1 lớp
• Kịch bản sử dụng chính:
- Khi bấm vào tổng kết đánh giá sẽ hiện ra danh sách các lớp trong khoa quản lý
- Chọn kết quả đánh giá
- Hiện ra bản báo cáo thống kê điểm của sinh viên lớp đó
- Chọn export sẽ hiện ra cho người dùng chọn lưu file excel danh sách vào đâu trên máy tính
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
Hình 17 Biểu đồ hoạt động xuất báo cáo thống kê i Quản lý thông tin
• Tên Usecase: Quản lý thông tin
• Tác nhân chính: Admin (người quản lý hệ thống)
Chức năng này hỗ trợ quản trị viên hệ thống trong việc quản lý hiệu quả các thành phần như khoa, lớp học, giảng viên, tiêu chuẩn, tiêu chí, chi tiết tiêu chí, vi phạm và học kỳ Người quản lý có thể dễ dàng thêm, sửa đổi hoặc xóa thông tin liên quan, đảm bảo hệ thống luôn được cập nhật và chính xác.
• Điều kiện bắt đầu : Người dùng truy cập vào trang web và đăng nhập thành công
• Điều kiện sau khi hoàn thành: Quản lý được thông tin
• Kịch bản sử dụng chính:
Khi truy cập vào các mục như Khoa, lớp, giảng viên, quản lý tiêu chuẩn, quản lý tiêu chí, quản lý chi tiết tiêu chí, quản lý vi phạm và học kỳ, người dùng có thể dễ dàng tìm kiếm và quản lý thông tin liên quan đến giáo dục một cách hiệu quả.
- Hiện ra danh sách và cho phép admin có thể thêm, sửa , xóa thông tin
• Kịch bản sử dụng phụ:
- Người dùng quay lại trang chủ
THIẾT KẾ
Thiết kế kiến trúc
Hệ thống này được thiết kế dành cho hầu hết người dùng web app, không yêu cầu họ phải có kiến thức chuyên sâu về cách thức hoạt động của ứng dụng Vì vậy, mô hình kiến trúc 3 tầng là lựa chọn lý tưởng để xây dựng hệ thống này.
Hình 18 Sơ đồ kiến trúc
Tầng Client chịu trách nhiệm hiển thị dữ liệu từ cơ sở dữ liệu lên giao diện người dùng, nhằm mang đến trải nghiệm tốt nhất cho người dùng Nó đảm bảo dữ liệu chính xác và cung cấp các chức năng như chấm điểm rèn luyện, xem điểm, báo cáo thống kê điểm rèn luyện, xuất dữ liệu ra file Excel và quản lý thông tin hiệu quả.
Tầng ứng dụng chịu trách nhiệm tương tác với client bằng cách nhận dữ liệu, gửi dữ liệu đến server để thực hiện truy vấn, và cuối cùng trả lại kết quả cho client để hiển thị.
Tầng dữ liệu đóng vai trò quan trọng trong việc lưu trữ thông tin về các tiêu chuẩn, tiêu chí, chi tiết tiêu chí và điểm số Nó thực hiện các thao tác truy cập, quản lý và truy vấn cơ sở dữ liệu, đồng thời trả về kết quả cho tầng ứng dụng.
Thiết kế giao diện
Cần có tài khoản , mật khẩu và nút đăng nhập để đăng nhập và hệ thống
Hình 19 Giao diện đăng nhập
Giao diện trang chủ cần có phần quản lý thông tin cá nhân của người dùng
Nếu người dùng là sinh viên thì danh sách chức năng phải có : Sinh viên chấm điểm, danh sách lớp
Nếu người dùng là cán bộ lớp thì danh sách chức năng cần có : cán bộ lớp chấm
Nếu người dùng là cố vấn học tập thì danh sách chức năng cần có: Đánh giá điểm lớp chủ nhiệm
Hình 20 Giao diện trang chủ
• Giao diện xét điểm rèn luyện
Giao diện xét điểm rèn luyện cần đảm bảo đầy đủ thông tin trong phiếu đánh giá, bao gồm các tiêu chuẩn, tiêu chí, chi tiết tiêu chí, vi phạm và điểm số của từng chi tiết tiêu chí.
Nếu là sinh viên và cán bộ lớp, cần có nút lưu để lưu lại kết quả của người dùng khi người dùng chưa làm xong
Cần có nút nộp để nộp kết quả cuối cùng của điểm rèn luyện
Commented [MOU6]: Vẫn gạch đầu dòng là sao nhỉ? Không thể viết bình thường được à? Chưa căn lề
Commented [MOU7]: Viết lại Ai cần có…
Hình 21 Giao diện xét điểm rèn luyện
• Giao diện thống kê báo cáo
Giao diện thống kê báo cáo hiển thị thông tin quan trọng như mã sinh viên, họ tên sinh viên, tổng điểm đạt được và xếp loại của từng sinh viên.
Hình 22 Giao diện thống kê báo cáo
• Giao diện quản lý thông tin
Giao diện quản lý thông tin bao gồm các chức năng quản lý: Khoa, lớp, giảng
Hình 23 Giao diện quản lý thông tin
Thiết kế quy trình
3.3.1 Quy trình xét điểm rèn luyện
Khi nhận thông báo về thời gian xét điểm rèn luyện, sinh viên cần đăng nhập vào hệ thống để tự đánh giá và xem xét điểm rèn luyện của chính mình.
Sau khi sinh viên hoàn thành việc tự đánh giá và chấm điểm rèn luyện cho bản thân, cán bộ lớp sẽ tiến hành chấm điểm rèn luyện cho từng sinh viên.
Sau khi cán bộ lớp hoàn thành việc chấm điểm rèn luyện cho sinh viên, cố vấn học tập sẽ tiếp tục thực hiện việc chấm điểm rèn luyện cho các sinh viên đã được đánh giá trước đó.
- Kết quả mà cố vấn học tập chấm điểm cho sinh viên đó chính là kết quả cuối cùng mà sinh viên đó đạt được
3.3.2 Quy trình xem điểm rèn luyện
- Sau khi đăng nhập vào hệ thống, sinh viên, cố vấn học tập có thể xem điểm mà sinh viên trong lớp mình đạt được
- Nếu có thắc mắc hay khiếu nại, có thể liên hệ trực tiếp với người phụ trách chấm số điểm đó
3.3.3 Quy trình xem thống kê báo cáo
- Sau khi ban chủ nhiệm khoa đăng nhập vào hệ thống, sẽ có thể nhìn thấy các lớp thuộc khoa mình quản lý
- Chọn lớp muốn xem , sau đó ban chủ nhiệm có thể xem được báo cáo thống kê điểm của các sinh viên thuộc lớp đó
3.3.4 Quy trình quản lý thông tin
- Sau khi đăng nhập vào hệ thống người quản lý sẽ thấy các chức năng thêm, sửa xóa, và danh sách các mục cần quản lý
- Người quản lý có thể thêm sửa xóa cho phù hợp với nhu cầu của nhà trường
Thiết kế cơ sở dữ liệu
• id: Id tự động tăng
• name: Tên tiêu chuẩn đánh giá
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement name varchar(255
• id: Id tự động tăng
• name: Tên tiêu chí đánh giá
• tieuchuan_id : Id của tiêu chuẩn
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement name varchar(255
Không vipham tinyint(2) Không 0 tieuchi_id bigint(20) UNSIGNED Không -> tieuchidanhgias.id
CASCADE created_at timestamp Có NULL updated_at timestamp Có NULL
Bảng 3 Tiêu chí đánh giá
• id: Id tự động tăng
• name: Tên chi tiết tiêu chí đánh giá
• sodiem: Số điểm sẽ cộng khi sinh viên đạt được theo quy định
• vipham: Nếu vi phạm là 0 thì chi tiết tiêu chí không có thêm mục vi phạm nào nếu là 1 thì sẽ có thêm vi phạm
• tieuchi_id: Là khóa ngoại đối chiếu với id bảng tieuchidanhgias
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement name varchar(255
Không vipham tinyint(2) Không 0 tieuchi_id bigint(20) UNSIGNED Không -> tieuchidanhgias.id
ON DELETE CASCADE created_at timestamp Có NULL updated_at timestamp Có NULL
Bảng 4 Chi tiết tiêu chí
• id: Id tự động tăng
• sodiemtru: Số điểm bị trừ khi sinh viên mắc lỗi
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id int(10) UNSIGNED Không auto_inc rement name varchar(255
• id: Id tự động tăng
• user_id : Là khóa ngoại đối chiếu với id bảng users
• diachi: Địa chỉ của admin
• sodienthoai: số điện thoại của admin
• ngaysinh: ngày tháng năm sinh của admin
• avatar: hình ảnh đại diện
Cột Kiểu Thuộc tính Null Mặc Thêm Liên kết tới định id bigint(20) UNSIGNED Không auto_inc rement user_id bigint(20) UNSIGNED -> users.id
ON DELETE CASCADE name varchar(255
Không sodienthoai varchar(11) Không gioitinh varchar(10) Không email varchar(250
Không ngaysinh date Không avatar text Có NULL created_at timestamp Có NULL updated_at timestamp Có NULL
• id: Id tự động tăng
• giangvien_id: Là khóa ngoại đối chiếu với id bảng giangviens
• khoa_id: Là khóa ngoại đối chiếu với id bảng khoas
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) Không auto_inc giangvien_id bigint(20) UNSIGNED Không khoa_id bigint(20) UNSIGNED Không -> khoas.id
Bảng 7 Bảng ban chủ nhiệm khoa
• id: Id tự động tăng
• giangvien_id: Là khóa ngoại đối chiếu với id bảng giangviens
• lop_id: Là khóa ngoại đối chiếu với id bảng lops
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement giangvien_id bigint(20) UNSIGNED Không -> giangviens.id
ON DELETE CASCADE lop_id bigint(20) UNSIGNED Không created_at timestamp Có NULL updated_at timestamp Có NULL
• id: Id tự động tăng
• diem: Điểm của sinh viên do giáo viên đánh giá
• hocki_id: Là khóa ngoại đối chiếu với id bảng hocki
• chitiettieuchi_id: Là khóa ngoại đối chiếu với id bảng chitiettieuchis
• user_sinhvien: Là khóa ngoại đối chiếu với id bảng users
• user_giangvien: Là khóa ngoại đối chiếu với id bảng users
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement diem float Không hocki_id bigint(20) UNSIGNED Không -> hocki.id
ON DELETE CASCADE chitiettieuch i_id bigint(20) UNSIGNED Không -> chitiettieuchis.id
ON DELETE CASCADE user_sinhvie n bigint(20) UNSIGNED Không -> users.id
ON DELETE CASCADE user_giangvi en bigint(20) UNSIGNED Không
Bảng 9 Bảng điểm đánh giá
• id: Id tự động tăng
• diem: Điểm của sinh viên do cán bộ lớp đánh giá
• hocki_id: Là khóa ngoại đối chiếu với id bảng hocki
• chitiettieuchi_id: Là khóa ngoại đối chiếu với id bảng chitiettieuchis
• user_sinhvien: Là khóa ngoại đối chiếu với id bảng users
• user_canbolop: Là khóa ngoại đối chiếu với id bảng users
Cột Kiểu Thuộc tính Null Mặc định Thêm id bigint(20) UNSIGNED Không auto_inc rement diem float Không hocki_id bigint(20) UNSIGNED Không -> hocki.id
ON DELETE CASCADE chitiettieuch i_id bigint(20) UNSIGNED Không user_sinhvie n bigint(20) UNSIGNED Không -> users.id
ON DELETE CASCADE user_canbol op bigint(20) UNSIGNED Không -> users.id
ON DELETE RESTRICT active int(11) Không 0
Bảng 10 Bảng điểm đánh giá của cán bộ lớp
3.4.10 diem_danh_gia_sinh_vien
• id: Id tự động tăng
• diem: Điểm của sinh viên tự đánh giá
• hocki_id: Là khóa ngoại đối chiếu với id bảng hocki
• chitiettieuchi_id: Là khóa ngoại đối chiếu với id bảng chitiettieuchis
• user_sinhvien: Là khóa ngoại đối chiếu với id bảng users
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement diem float Không hocki_id bigint(20) UNSIGNED Không -> hocki.id
ON DELETE CASCADE chitiettieuch i_id bigint(20) UNSIGNED Không -> chitiettieuchis.id
ON DELETE CASCADE user_sinhvie n bigint(20) UNSIGNED Không -> users.id
ON DELETE CASCADE active int(11) Không 0
Bảng 11 Bảng điểm đánh giá của sinh viên
• id: Id tự động tăng
• user_id: Là khóa ngoại đối chiếu với id bảng users
• name: Tên của giảng viên
• gioitinh: Giới tính của giảng viên nam hoặc nữ
• sodienthoai: Số điện thoại của giảng viên
• diachi: Địa chỉ hiện tại của giảng viên
• chucvu: Chúc vụ của giảng viên đó trong khoa là cố vấn học tập hoặc ban chủ nhiệm khoa
• avatar: hình ảnh đại diện
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement user_id bigint(20) UNSIGNED Không -> users.id
ON DELETE CASCADE name varchar(255 Không
The database schema includes the following fields: "gioitinh" (gender) as a varchar(10), "ngaysinh" (date of birth) as a date, "sodienthoai" (phone number) as a varchar(12), "diachi" (address) as text, and "chucvu" (position) as a varchar(20) Additionally, the "avatar" field is stored as text The timestamps for "created_at" and "updated_at" are nullable, indicating they may not always contain data.
• id: Id tự động tăng
• name: Tên học kì 1 hoặc 2
• nam: Năm học hiện tại
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement name int(11) Không nam int(11) Không active int(11) Không 0
• id: Id tự động tăng
• tenkhoa: Tên của khoa name int(11) Không nam int(11) Không active int(11) Không 0
• id: Id tự động tăng
• khoa_id: Là khóa ngoại đối chiếu với id bảng khoas
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement tenlop varchar(255
Không khoa_id bigint(20) UNSIGNED Không -> khoas.id
ON DELETE CASCADE created_at timestamp Có NULL updated_at timestamp Có NULL
• id: Id tự động tăng
• user_id: Là khóa ngoại đối chiếu với id bảng users
• name: Tên của sinh viên
• ngaysinh: Ngày tháng năm sinh của sinh viên
• email: Email của sinh viên
• gioitinh: Giới tính là nam hay nữ
• diachi: Địa chỉ của sinh viên
• sodienthoai: số điện thoại của sinh viên
• avatar: hình ảnh đại diện
• lop_id: Là khóa ngoại đối chiếu với id bảng lops
• chucvu: Là số 4 hoặc 5, nếu là 4 chức vụ là sinh viên, nếu là 5 sẽ là cán bộ lớp
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement user_id bigint(20) UNSIGNED Không name varchar(255
Không ngaysinh date Không email varchar(255
The database schema includes fields for gender (varchar(10)), phone number (varchar(12)), address (text), class ID (bigint(20) UNSIGNED), position (varchar(10)), and avatar (text), with the latter being nullable Additionally, it features timestamps for creation and updates, both of which are also nullable.
• id: Id tự động tăng
• maso: Mã số của sinh viên, cán bộ lớp, cố vấn học tập, giảng viên, admin
Vaitro là một số từ 1 đến 5, với ý nghĩa cụ thể: số 1 đại diện cho admin, số 2 là ban chủ nhiệm khoa, số 3 là cố vấn học tập, số 4 là sinh viên.
5 sẽ là cán bộ lớp
Cột Kiểu Thuộc tính Null Mặc định Thêm Liên kết tới id bigint(20) UNSIGNED Không auto_inc rement maso varchar(255
Không vaitro tinyint(4) Không password varchar(255
Có NULL created_at timestamp Có NULL updated_at timestamp Có NULL
XÂY DỰNG HỆ THỐNG
Hệ quản trị cơ sở dữ liệu My SQL
4.1.1 Giới thiệu về My SQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở được ưa chuộng toàn cầu nhờ tốc độ cao, tính ổn định và dễ sử dụng Hệ thống này hoạt động trên nhiều hệ điều hành và cung cấp nhiều hàm tiện ích mạnh mẽ, giúp người dùng dễ dàng truy vấn và nhận kết quả Với tính bảo mật cao, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu trên internet Người dùng có thể tải MySQL miễn phí từ trang chủ, và hệ thống có nhiều phiên bản cho các hệ điều hành khác nhau, đáp ứng đa dạng nhu cầu sử dụng.
4.1.2 Hệ quản trị cơ sở dữ liệu My SQL
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ phổ biến, sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để quản lý và truy xuất dữ liệu hiệu quả.
MySQL không chỉ là một công cụ truy xuất dữ liệu, mà còn vượt trội hơn nhiều so với các công cụ khác, mặc dù chức năng truy xuất dữ liệu vẫn giữ vai trò quan trọng trong thiết kế ban đầu của SQL.
MySQL được ưa chuộng sử dụng với các ngôn ngữ như: NodeJs, PHP, Perl…
Ngôn ngữ lập trình
Ứng dụng là chương trình cho phép máy tính thực hiện và xử lý các công việc mà người dùng mong muốn.
Ban đầu, các website chỉ đơn giản với text, hình ảnh và video, liên kết qua các đường dẫn Chúng chủ yếu lưu trữ và hiển thị thông tin cho người dùng, cho phép họ xem và click để di chuyển giữa các trang Tuy nhiên, với sự gia tăng nhu cầu trải nghiệm của người dùng, các website đã bộc lộ nhiều hạn chế và chưa đáp ứng đủ mong muốn của người sử dụng.
Với sự phát triển của các ngôn ngữ phía server như Java, Perl, Python và PHP, các website đã có khả năng tương tác tốt hơn với người dùng, dẫn đến sự ra đời của web app Web app là những ứng dụng chạy trên nền tảng web, cho phép người dùng thực hiện nhiều công việc như mua sắm, tra cứu thông tin và kiểm tra điểm rèn luyện Tính tương tác của web app vượt trội hơn so với website truyền thống, vì vậy chúng ngày càng trở nên phổ biến và phát triển mạnh mẽ.
Ngôn ngữ PHP được các nhà phát triển ưa chuộng và sử dụng rộng rãi, vì vậy chúng tôi đã quyết định xây dựng hệ thống dựa trên nền tảng PHP.
4.2.1 Ngôn Ngữ PHP và Laravel
PHP, viết tắt của Hypertext Preprocessor, là ngôn ngữ lập trình mã nguồn mở phổ biến cho phát triển ứng dụng web Với khả năng nhúng dễ dàng vào HTML, PHP tối ưu hóa cho các ứng dụng web, mang lại tốc độ nhanh và kích thước nhỏ gọn Đặc biệt, PHP dễ học và giúp rút ngắn thời gian xây dựng sản phẩm, khiến nó trở thành ngôn ngữ lập trình web được ưa chuộng nhất toàn cầu, thu hút sự chú ý của cộng đồng lập trình viên.
Laravel là framework PHP mã nguồn mở và miễn phí, đang dẫn đầu thế giới về độ phổ biến và được cộng đồng hỗ trợ phát triển mạnh mẽ Framework này được thiết kế để hỗ trợ phát triển phần mềm và ứng dụng theo kiến trúc hiện đại.
Laravel nổi bật với cú pháp rõ ràng và dễ hiểu, hệ thống đóng gói module hiệu quả, cùng khả năng quản lý phụ thuộc linh hoạt Nó cung cấp nhiều phương thức truy cập cơ sở dữ liệu quan hệ và tích hợp các tiện ích hỗ trợ việc triển khai và bảo trì ứng dụng một cách dễ dàng.
Hiện nay, Laravel là framework PHP phổ biến và được ưa chuộng nhất, được nhiều lập trình viên tin tưởng sử dụng Framework này cung cấp nhiều plugin hữu ích, giúp quá trình lập trình trở nên dễ dàng hơn Ngoài ra, Laravel còn tích hợp sẵn các chức năng đăng nhập, đăng xuất và phân trang tự động, giúp đơn giản hóa các nhiệm vụ lập trình.
Việc căn lề và phân trang vẫn chưa được thực hiện, khiến người dùng phải tự viết mã theo các phương pháp thông thường Điều này sẽ giúp phát triển ứng dụng nhanh chóng và dễ dàng hơn.
4.2.2 Tại sao phải dùng Laravel
Laravel hiện đang là framework PHP phổ biến và được ưa chuộng nhất, được nhiều lập trình viên tin dùng Framework này cung cấp nhiều plugin hữu ích, giúp quá trình lập trình trở nên dễ dàng hơn Ngoài ra, Laravel còn tích hợp sẵn tính năng đăng nhập, đăng xuất và phân trang tự động, giúp đơn giản hóa các tác vụ phân trang so với các phương pháp truyền thống, từ đó thúc đẩy quá trình phát triển ứng dụng nhanh chóng và hiệu quả.
Framework Laravel được xây dựng trên mô hình MVC trong đó :
• M là Model: kết nối với các bảng trong database
• V là View: hiển thị các dữ liệu cho người sử dụng
C là Controller, đóng vai trò như bộ điều khiển của hệ thống, nhận lệnh từ người dùng và gửi lệnh đến Model để cập nhật dữ liệu Đồng thời, Controller cũng truyền dữ liệu đến View để hiển thị Laravel mang lại nhiều ưu điểm nổi bật trong việc phát triển ứng dụng web.
• Tích hợp các framework phía client hiện đại và các quy trình làm việc phát triển dễ dàng
• Tích hợp sẵn các tiện ích được hỗ trợ lâu dài cho hệ thống
• Tạo công cụ đơn giản hóa phát triển web hiện đại và tối ưu
• Khả năng xây dựng, chạy trên Windows, macOS, và Linux rất tốt
• Laravel là mã nguồn mở và tập trung vào cộng đồng phát triển mã nguồn trên toàn thế giới
• Thử nghiệm và xây dựng hệ thống rất dễ dàng với Laravel
Chức năng của hệ thống
Hình 25 Sơ đồ chức năng hệ thống
Xem danh sách lớp để kiểm tra điểm tự chấm của các thành viên, và nếu có thắc mắc về sự công bằng trong việc chấm điểm, hãy liên hệ với cố vấn học tập hoặc ban chủ nhiệm khoa để được hỗ trợ Đánh giá kết quả rèn luyện giúp sinh viên nhận diện những thành công và sai lầm trong kỳ vừa qua, từ đó tự đánh giá điểm rèn luyện một cách công tâm Nếu có thành tích xuất sắc theo quy định, sinh viên sẽ được cộng điểm, ngược lại, nếu vi phạm sẽ bị trừ điểm.
Nhiều người có thể thắc mắc về việc sinh viên tự chấm điểm cho mình, liệu có công tâm hay không, đặc biệt khi họ có thể không trừ điểm cho những phần vi phạm Tuy nhiên, điểm rèn luyện tự đánh giá của sinh viên là cơ sở để cán bộ lớp và cố vấn học tập xem xét và chấm điểm Họ sẽ dựa vào kết quả theo dõi của từng cá nhân để đánh giá chính xác Tôi tin rằng sinh viên chính là tương lai của đất nước, với những phẩm chất tốt đẹp và lòng tự trọng, họ sẽ không bao giờ cho phép mình làm những điều sai trái.
Hình 26 Giao diện sinh viên đánh giá điểm rèn luyện
Cán bộ lớp sẽ đánh giá kết quả rèn luyện của từng sinh viên thông qua việc tự chấm điểm của sinh viên và sự theo dõi của cán bộ lớp Dựa trên những thông tin này, cán bộ sẽ chấm điểm rèn luyện và công bố kết quả cho sinh viên.
Xem danh sách lớp giúp theo dõi tình trạng tự chấm điểm của sinh viên, từ đó đánh giá các thành viên trong lớp Những cá nhân vi phạm quy chế sẽ bị trừ điểm, trong khi sinh viên hoàn thành tốt nhiệm vụ và đạt thành tích sẽ được cộng điểm Cuối cùng, điểm số sẽ được chuyển cho cố vấn học tập để xét duyệt.
Commented [MOU10]: Hình này chưa có caption ( tiêu đề hình),
Commented [MOU11]: Cắt những chỗ ko cần thiết trong hình
Hình 27 Giao diện cán bộ lớp đánh giá điểm rèn luyện
Cố vấn học tập đóng vai trò quan trọng trong việc hỗ trợ sinh viên, giúp họ giải quyết các khó khăn và thắc mắc Họ là cầu nối giữa sinh viên và nhà trường, ảnh hưởng trực tiếp đến sự thành công học tập của sinh viên Cố vấn học tập hướng dẫn sinh viên nắm vững quy chế của trường, tư vấn về chương trình đào tạo và phương pháp học tập hiệu quả.
Cố vấn học tập cần làm những việc sau khi xét điểm rèn luyện:
Xem danh sách lớp giúp bạn kiểm tra tình trạng tự chấm điểm của sinh viên, từ đó đánh giá các thành viên trong lớp Những cá nhân vi phạm quy chế sẽ bị trừ điểm, trong khi những sinh viên hoàn thành tốt nhiệm vụ và đạt thành tích sẽ được cộng điểm.
+ Cố vấn học tập phải đánh giá kết quả rèn luyện cho từng sinh viên được giao phụ trách
Hình 28 Giao diện cố vấn học tập đánh giá điểm rèn luyện
Ban chủ nhiệm khoa là những người lãnh đạo được nhà trường tín nhiệm, chịu trách nhiệm điều hành các hoạt động trong khoa Họ phân công giảng viên quản lý giảng dạy, sinh hoạt chuyên môn, tổ chức thi cử và chấm thi.
Ban chủ nhiệm khoa có khả năng xem xét và xuất báo cáo thống kê điểm rèn luyện của sinh viên trong lớp thuộc khoa mình, nhằm đánh giá kết quả học tập một cách hiệu quả.
Hình 29 Giao diện ban chủ nhiệm khoa xem báo cáo thống kê
4.3.5 Quản lý thông tin Để phục vụ cho công tác xét điểm rèn luyện chúng ta cần quản lý thông tin của sinh viên, giảng viên , lớp khoa và các tiêu chuẩn tiêu chí để xét điểm rèn luyện, học kì, một thời điểm nào đó nếu cần chúng ta có thể thay đổi và cập nhật lại các thông tin trên rất dễ dàng và không gây ra lỗi lầm gì cho hệ thống Ngoài ra chức năng xét học kì để chọn ra học kì mà sinh viên sinh viên và giảng viên cần đánh giá điểm rèn luyện
Hình 30 Giao diện của người quản lý thông tin
Người quản lý thông tin có thể thêm, sửa, xóa khoa để phù hợp với thông tin của nhà trường
• Khi bấm thêm khoa sẽ chuyển sang giao diện thêm mới khoa, sau khi thêm xong sẽ quay lại danh sách các khoa hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi khoa đó
Hình 31 Giao diện quản lý khoa
Người quản lý thông tin có thể thêm, sửa, xóa lớp để phù hợp với thông tin của nhà trường
• Khi bấm thêm lớp sẽ chuyển sang giao diện thêm mới lớp, sau khi thêm xong sẽ quay lại danh sách các lớp hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi lớp đó
Hình 32 Giao diện quản lý lớp
Người quản lý thông tin có thể thêm, sửa, xóa giảng viên để phù hợp với yêu cầu của nhà trường
• Khi bấm thêm giảng viên sẽ chuyển sang giao diện thêm mới giảng viên, sau khi thêm xong sẽ quay lại danh sách các giảng viên hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi giảng viên đó
Hình 33 Giao diện quản lý giảng viên
Người quản lý thông tin có thể thêm, sửa, xóa tiêu chuẩn để phù hợp với cấu trúc của phiếu xét điểm rèn luyện
• Khi bấm thêm tiêu chuẩn viên sẽ chuyển sang giao diện thêm mới tiêu chuẩn, sau khi thêm xong sẽ quay lại danh sách các tiêu chuẩn hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi tiêu chuẩn đó
Hình 34 Giao diện quản lý tiêu chuẩn
Người quản lý thông tin có thể thêm, sửa, xóa tiêu chí để phù hợp với cấu trúc của phiếu xét điểm rèn luyện
• Khi bấm thêm tiêu chí sẽ chuyển sang giao diện thêm mới tiêu chí, sau khi thêm xong sẽ quay lại danh sách các tiêu chí hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi tiêu chí đó
Hình 35 Giao diện quản lý tiêu chí
4.3.5.6 Quản lý chi tiết tiêu chí
Người quản lý thông tin có thể thêm, sửa, xóa chi tiết tiêu chí để phù hợp với cấu trúc của phiếu xét điểm rèn luyện
Khi bạn nhấn vào nút thêm tiêu chí, hệ thống sẽ chuyển sang giao diện để bạn nhập chi tiết tiêu chí mới Sau khi hoàn tất việc thêm, bạn sẽ trở lại danh sách các chi tiết tiêu chí hiện có.
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi chi tiết tiêu chí đó
Hình 36 Giao diện quản lý chi tiết tiêu chí
Người quản lý thông tin có thể thêm, sửa, xóa vi phạm để phù hợp với cấu trúc của phiếu xét điểm rèn luyện
• Khi bấm thêm tiêu chí sẽ chuyển sang giao diện thêm mới vi phạm, sau khi thêm xong sẽ quay lại danh sách các vi phạm hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi vi phạm đó
Hình 37 Giao diện quản lý vi phạm
Người quản lý thông tin có thể thêm, sửa, xóa, active học kì để phù hợp với yêu cầu của nhà trường
• Khi bấm thêm học kì sẽ chuyển sang giao diện thêm mới học kì, sau khi thêm xong sẽ quay lại danh sách các học kì hiện có
• Khi bấm edit sẽ chuyển sang giao diện cập nhật
• Khi bấm delete thì lập tức sẽ xóa đi học kì đó
• Active để chọn ra học kì mà sinh viên cần xét điểm rèn luyện
Hình 38 Giao diện quản lý học kì