11111111111111111111111111111fdefdewfsgdfhdfhfdgdddd11111111111111111111111111111fdefdewfsgdfhdfhfdgdddddddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssdddddddddddddddssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
THIỆU ĐỀ TÀI
Giới thiệu
Trong bối cảnh nền giáo dục ngày càng phát triển và đòi hỏi sự hiệu quả cao, việc áp dụng công nghệ thông tin vào quản lý học sinh trở thành một xu hướng không thể phủ nhận Đặc biệt, ở cấp độ trung học phổ thông, nơi quản lý thông tin học sinh, ghi nhận điểm số, và tạo điều kiện thuận lợi cho quá trình giảng dạy là rất quan trọng Để đáp ứng những yêu cầu này, chúng tôi quyết định nghiên cứu và phát triển đề tài "Hệ Thống Quản Lý Học Sinh Cấp 3." Đề tài tập trung vào việc xây dựng một hệ thống linh hoạt và tiện ích, tập trung đến nhu cầu cụ thể của các đối tượng chính bao gồm học sinh, giáo viên, nhân viên trường và quản trị viên hệ thống Hệ thống sẽ giúp học sinh theo dõi thông tin cá nhân, đăng ký khóa học, và theo dõi tiến trình học tập Đồng thời, giáo viên sẽ có khả năng quản lý điểm số, nhân viên trường tạo thời khóa biểu và tương tác với học sinh một cách hiệu quả Quản trị viên hệ thống sẽ được trang bị các công cụ để quản lý người dùng, theo dõi hoạt động, và đảm bảo tính bảo mật của hệ thống.
Phân tích yêu cầu
Hình 1.2.1: Lược đồ usecase (xem chi tiết tại đây)
○ Tạo hồ sơ học sinh
■ Mô tả: use case này cho phép nhân viên trường tạo hồ sơ học sinh.
■ Actor chính: Nhân viên trường.
1 Nhân viên trường đã truy cập vào web và đăng nhập thành công hệ thống.
2 Hiển thị nghiệp vụ nhân viên.
1 Hệ thống thông báo thành công hoặc không hợp lệ.
1 Nhân viên trường tạo hồ sơ cho học sinh.
2 Hệ thống hiển thị giao diện nhập thông tin cho nhân viên.
3 Nhân viên nhập thông tin học sinh.
4 Nhân viên ấn nút xác nhận.
5 Hệ thống tiến hành kiểm tra thông tin đã nhập.
6 Hệ thống lưu thông tin học sinh.
1 Ở bước 1, nếu nhân viên trường chọn đăng xuất thay vì chọn tạo hồ học sinh thì hệ thống sẽ thoát quyền truy xuất và trở về giao diện ban đầu.
2 Ở bước 3, nếu nhân viên trường chọn huỷ thay vì nhập thông tin học sinh thì hệ thống sẽ quay lại nghiệp vụ nhân viên.
3 Ở bước 5, nếu thông tin không hợp lệ thì hệ thống sẽ thông báo lại cho nhân viên và quay về giao diện tạo hồ học sinh.
1 Nếu hệ thống có sự cố trong quá trình lưu thông tin học sinh thì hệ thống sẽ thông báo lỗi cho nhân viên trường và huỷ quá trình tạo hồ sơ học sinh hiện tại.
■ Mô tả: use case này cho phép nhân viên trường lập danh sách lớp.
■ Actor chính: Nhân viên trường.
1 Nhân viên đã truy cập vào web và đăng nhập thành công hệ thống.
2 Hiển thị nghiệp vụ nhân viên.
1 Hệ thống thông báo thành công hoặc không hợp lệ.
2 Xuất danh sách lớp cho nhân viên.
1 Nhân viên trường lập danh sách lớp.
2 Hệ thống hiển thị giao diện nhập thông tin cho nhân viên.
3 Nhân viên nhập thông tin lớp.
4 Nhân viên ấn nút xác nhận.
5 Hệ thống tiến hành kiểm tra thông tin đã nhập.
6 Hệ thống lưu thông tin lớp đã nhập.
7 Máy in xuất danh sách lớp
1 Ở bước 1, nếu nhân viên trường chọn đăng xuất thay vì chọn lập danh sách lớp thì hệ thống sẽ thoát quyền truy xuất và trở về giao diện ban đầu.
2 Ở bước 3, nếu nhân viên trường chọn huỷ thay vì nhập thông tin lớp thì hệ thống sẽ quay lại nghiệp vụ nhân viên.
3 Ở bước 5, nếu thông tin không hợp lệ thì hệ thống sẽ thông báo lại cho nhân viên và quay về giao diện nhập thông tin lớp.
1 Nếu hệ thống có sự cố trong quá trình lưu thông tin lớp thì hệ thống sẽ thông báo lỗi cho nhân viên trường và huỷ quá trình lập danh sách lớp hiện tại.
■ Mô tả: use này cho phép giáo viên trường lập bảng điểm.
1 Giáo viên đã truy cập vào web và đăng nhập thành công hệ thống.
2 Hiển thị nghiệp vụ giáo viên.
1 Hệ thống thông báo thành công hoặc không hợp lệ.
2 Xuất bảng điểm cho giáo viên
1 Giáo viên lập bảng điểm.
2 Hệ thống hiển thị giao diện nhập nhập điểm cho giáo viên.
4 Giáo viên ấn nút xác nhận.
5 Hệ thống tiến hành kiểm tra thông tin đã nhập.
6 Hệ thống lưu thông tin điểm đã nhập.
7 Máy in xuất bảng điểm.
1 Ở bước 1, nếu giáo viên chọn đăng xuất thay vì chọn lập bảng điểm thì hệ thống sẽ thoát quyền truy xuất và trở về giao diện ban đầu.
2 Ở bước 3, nếu giáo viên trường chọn huỷ thay vì nhập thông tin điểm thì hệ thống sẽ quay lại nghiệp vụ giáo viên.
3 Ở bước 5, nếu thông tin không hợp lệ thì hệ thống sẽ thông báo lại cho giáo viên và quay về giao diện nhập thông tin lớp
1 Nếu hệ thống có sự cố trong quá trình lưu thông tin điểm thì hệ thống sẽ thông báo lỗi cho giáo viên và huỷ quá trình lập bảng điểm hiện tại.
■ Mô tả: use case này cho phép quản trị viên thêm, xóa, sửa tìm kiếm môn học
■ Actor chính: Quản trị viên.
1 Quản trị viên đã truy cập vào web và đăng nhập thành công hệ thống bằng tài khoản dành cho quản trị viên.
■ Hậu điều kiện: Không có.
1 Quản trị viên có thể chọn “thêm môn học”, “cập nhật môn học”, “xóa môn học”, “tìm kiếm môn học”.
2 Hệ thống hiển thị giao diện cho quản trị viên lựa chọn.
3 Quản trị viên xác nhận thao tác.
4 Quản trị viên có thể thực hiện thao tác sau khi xong hoặc có thể thoát.
1 Ở bước 1, nếu giáo viên chọn đăng xuất thay vì chọn lập bảng điểm thì hệ thống sẽ thoát quyền truy xuất và trở về giao diện ban đầu.
● Nếu quản trị viên lựa chọn “thêm môn học”, hệ thống hiển thị giao diện thêm môn học Quản trị viên có thể lựa chọn huỷ thêm hoặc nhập thông tin và sau đó ấn nút xác nhận thêm Hệ thống sẽ kiểm tra thông tin, nếu thông tin không hợp lệ thì sẽ quay lại giao diện nhập thông tin cho quản trị viên nhập tiếp, nếu thông tin hợp lệ thì hệ thống tiến thành lưu thông tin, thông báo lưu thành công cho quản trị viên và quay lại trang quản lý môn học.
● Nếu quản trị viên lựa chọn “cập nhật môn học”, hệ thống hiển thị giao diện cập nhật môn học Quản trị viên có thể lựa chọn huỷ cập nhật hoặc nhập thông tin và sau đó ấn nút xác nhận thêm Hệ thống sẽ kiểm tra thông tin, nếu thông tin không hợp lệ thì sẽ quay lại giao diện nhập thông tin cho quản trị viên nhập tiếp, nếu thông tin hợp lệ thì hệ thống tiến thành lưu thông tin, thông báo lưu thành công cho quản trị viên và quay lại trang quản lý môn học.
● Nếu quản trị viên lựa chọn “xóa môn học”, hệ thống hiển thị thông báo xác nhận Nếu quản trị viên ấn huỷ xoá thì hệ thống sẽ quay về giao diện quản lý môn học Nếu quản trị viên ấn xóa môn học thì hệ thống sẽ tiến hành xóa và thông báo cho quản trị viên, sau đó quay về giao diện quản lý môn học.
1 Nếu hệ thống có sự cố trong quá trình thêm, xóa, sửa thông tin môn học thì hệ thống sẽ thông báo lỗi cho quản trị viên.
○ Thống kê, báo cáo
■ Mô tả: use case này cho phép quản trị viên thống kê, báo cáo tổng kết năm học
■ Actor chính: Quản trị viên.
1 Quản trị viên đã truy cập vào web và đăng nhập thành công hệ thống bằng tài khoản dành cho quản trị viên.
1 Thông báo kết quả báo cáo cho quản trị viên.
2 Xuất file thống kê, báo cáo cho quản trị viên.
1 Chọn thông tin cần thống kế, báo cáo
2 Hệ thống hiển thị giao diện kết quả thống kê, báo cáo
3 Quản trị viên xuất thông tin thống kê, báo cáo
4 Hệ thống tiến hành xuất thông tin
5 Quản trị viên có thể tiếp tục thực hiện các hoạt động khác hoặc thoát sau khi thống kê, báo cáo
KẾ HỆ THỐNG
Sơ đồ lớp
Thiết kế sơ đồ lớp các entity class
Hình 2.1.1 Sơ đồ lớp các entity class của hệ thống quản lý học sinh
Phân tích, giải thích các mối quan hệ thiết lập
Hình 2.1.2 Mối quan hệ User - Teacher - Staff - Admin - Student
Mối quan hệ User-Teacher-Staff-Admin-Studnet: Teacher-Staff-Admin-Student là các đối tượng hoạt động trong hệ thống, User là tổng quát hóa của các đối tượng Teacher- Staff-Admin-Student
Hình 2.1.3: Mối quan hệ User - SetOfPermission
Mối quan hệ User - SetOfPermission: mỗi user có một bộ quyền thể hiện các quyền của user trong hệ thống, mỗi SetOfPermission có thể không được User nào sử dụng hoặc có thể do nhiều User sử dụng.
Hình 2.1.4: Mối quan hệ SetOfPermission - Permission
Mối quan hệ SetOfPermission-Permision: mỗi SetOfPermission (bộ quyền) có thể có từ 0 đến nhiều Permission (quyền)
Hình 2.1.5: Mối quan hệ Class -Grade
Mối quan hệ Class - Grade: mỗi Grade có từ 1 - nhiều Class, Mỗi Class chỉ thuộc di nhất một Grade
Hình 2.1.6: Mối quan hệ Semester - Year
Mối quan hệ Semester - Year: một Year có từ 1-2 Semester, một Semester chỉ thuộc về một Year
Hình 2.1.7 Mối quan hệ Student -Class
Mối quan hệ Student-Class: Một Student có thể tham gia từ 1 đến nhiều Class, Một Class có tối đa 40 Student , tạo mới một đối tượng trung gian Student_Class
Hình 2.1.8: Mối quan hệ Student_Class - Semester
Mối quan hệ Student_Class - Semester: Student có thể tham gia lớp từ 1 đến 2 học kì, một học kì có nhiều Student tham gia vào nhiều Class
Hình 2.1.9: Mối quan hệ Teacher - Class
Mối quan hệ Teacher - Class: Teacher có thể không là Giáo Viên Chủ Nhiệm hoặc là Giáo Viên Chủ Nhiệm của một Class, Một Class chỉ duy nhất một Giáo Viên Chủ Nhiệm
Hình 2.1.10: Mối quan hệ Subject- Teacher
Mối quan hệ Subject-Teacher: Một Teacher có thể được bổ nhiêm hoặc không làm Trưởng Bộ Môn của một Subject, một Subject chỉ duy nhất một Trưởng Bộ Môn Một Subject có thể được dạy bỏi từ một đến nhiều Teacher, một teacher có thể dạy từ mộ đến nhiều Subject Phát sinh đối tượng trung gian Subject_Teacher thể hiện sự mối quan hệ nhiều nhiều giữa Teacher và Subject
Hình 2.1.11: Mối quan hệ của đối tượng trung gian Subject_Teacher - Class
Mối quan hệ Subject_Teacher-Class: Một Teacher được phân công vào Subject có thể giảng dạy cho từ một đến nhiều Class Một Class có thể được dạy bởi nhiều Teacher ở nhiều Subject Phát sinh bảng trung gian Subject_Teacher_Class thể hiện cho Teacher dạy Subject nào ở Class nào.
Hình 2.1.12: Mối quan hệ của Subject_Teacher_Class - Student_Class
Mối quan hệ của hai bảng trung gian Subject_Teacher_Class - Student_Class: Một Subject_Teacher_Class tượng trưng cho việc Teacher dạy Subject ở Class dạy cho nhiều Student_Class, một Student học một Class có thể được dạy nhiều
Subject_Teacher_Class Phát sinh bảng trung gian Score, là đối tượng thể hiện cho kết quả của việc dạy và học ở trên Chỉ Teacher dạy Subject ở Class nào mới có thể chấm điểm cho Student ở Class ấy
Sơ đồ hoạt động
○ Tạo hồ sơ học sinh
Hình 2.2.1: Sơ đồ activity tạo hồ sơ học sinh (xem chi tiết tại đây)
Hình 2.2.2: Sơ đồ activity lập danh sách lớp (xem chi tiết tại đây)
Hình 2.2.3: Sơ đồ activity lập bảng điểm (xem chi tiết tại đây)
Hình 2.2.4: Sơ đồ activity báo cáo (xem chi tiết tại đây)
Hình 2.2.5: Sơ đồ activity quản lý môn học (xem chi tiết tại đây)
Sơ đồ tuần tự
● Tạo hồ sơ học sinh
Hình 2.3.1: Sơ đồ sequencetạo hồ sơ học sinh (xem chi tiết tại đây)
Hình 2.3.2: Sơ đồ sequencelập danh sách lớp(xem chi tiết tại đây)
Hình 2.3.3: Sơ đồ sequence lập bảng điểm(xem chi tiết tại đây)
Hình 2.3.4: Sơ đồ sequence quản lý môn học(xem chi tiết tại đây)
Lược đồ cơ sở dữ liệu quan hệ
Lược đồ cơ sở dữ liệu quan hệ.
Giải thích mối quan hệ giữa các bảng.
Hình 2.4.1: Lược đồ cơ sở dữ liệu quan hệ
Hình 2.4.2: Mối quan hệ Semester - Year Bảng Semester và bảng Year có mối quan hệ one to many một Year có nhiều Semester và một Semester chỉ thuộc về một Year.
Thiết kế giao diện và thiết kế xử lý
○ Tạo hồ sơ học sinh
Hình 2.5.1: Giao diện tạo hồ sơ học sinh (xem chi tiết tại đây)
Hình 2.5.2: Giao diện lập danh sách lớp (xem chi tiết tại đây)
■ Tìm lớp để nhập điểm
Hình 2.5.3: Giao diện tìm kiếm lớp (xem chi tiết tại đây)
Hình 2.5.4: Giao diện lập bảng điểm (xem chi tiết tại đây)
Hình 2.5.5: Giao diện quản lý người dùng (xem chi tiết tại đây)
Hình 2.5.6: Giao diện quản lý điểm (xem chi tiết tại đây)
Hình 2.5.7: Giao diện quản lý môn học (xem chi tiết tại đây)
Hình 2.5.8: Giao diện quản lý khối (xem chi tiết tại đây)
○ Các hàm xử lý tạo hồ sơ học sinh
■ Các hàm trong View(này trong index)
STT Tên xử lý Điều kiện gọi thực hiện Ý nghĩa
1 create_student Khi nhân viên click tạo hồ sơ học sinh Thêm thông tin học sinh vừa nhập vào database
■ Các hàm trong Controller(này trong dao nè)
STT Tên xử lý Điều kiện gọi thực hiện Ý nghĩa
1 add_student Khi nhân viên click xác nhận tạo hồ sơ học sinh
Thêm thông tin học sinh mới vào database
○ Các hàm xử lý lập danh sách lớp
STT Tên xử lý Điều kiện gọi thực hiện Ý nghĩa
1 create_class Khi nhân viên click lập danh sách lớp Tạo danh sách lớp
2 add_student_class Khi thêm học sinh vào lớp
Thêm học sinh vào danh sách lớp
STT Tên xử lý Điều kiện gọi thực hiện Ý nghĩa
1 load_semester Khi nhân viên click chọn học kì Nạp lên danh sách học kỳ trong năm học
2 load_classes Khi nhân viên click chọn lớp học Nạp lên danh sách lớp trong học kỳ
Khi nhân viên click chọn tạo danh sách lớp
Nạp danh sách học sinh chưa có lớp
THỐNG QUẢN LÝ HỌC SINH KTS
Kết quả đạt được của đề tài
Nhóm em đánh giá rằng môn học này là tuyệt vời nhất, vì qua đó, nhóm em đã tích lũy được một lượng lớn kiến thức về ngành nghề của mình.Nhóm đã nắm vững các phương pháp khảo sát hệ thống, kỹ thuật xây dựng hệ thống, vòng đời của một hệ thống, cũng như các nguyên tắc quan trọng về thiết kế giao diện và bản vẽ hệ thống để tạo ra các hệ thống hiệu quả.
Tự tìm hiểu và phân tích thiết kế hệ thống đã giúp nhóm phát triển kinh nghiệm đáng kể Khác biệt rõ ràng so với trước đây, khi chỉ làm việc với những bài nhỏ và chỉ ghi chú đôi điều Việc thực hiện bài tiểu luận này đã giúp em tích lũy nhiều kinh nghiệm, từ việc áp dụng kiến thức môn học đến việc thực hành.
Kỹ năng làm việc nhóm của nhóm đã được củng cố thông qua việc nắm bắt cách đặt câu hỏi và đề xuất giải pháp Qua đó, nhóm đã cùng nhau phát triển những ý tưởng mà trước đây chỉ tồn tại trong suy nghĩ.
Bài tập này không chỉ là công việc bình thường mà nhóm thực hiện mà còn là dự án mà nhóm rất tâm huyết, được chuẩn bị kỹ lưỡng từ trước Qua môn học, nhóm đã học cách thiết kế một hệ thống một cách chuẩn mực.
Nhóm đã thành công trong việc tạo và thiết kế một phần mềm quản lý học sinh, sử dụng công nghệ Python-Flask.
Sản phẩm của nhóm không chỉ đẹp mắt mà còn rất tinh tế và dễ sử dụng.
Hệ thống có khả năng phát triển và nâng cấp dễ dàng, tạo điều kiện cho việc phát triển cao hơn trong tương lai.
Các chức năng hệ thống
3.2.1 Chức năng 1: Đăng nhập hệ thống
Người dùng sẽ đăng nhập bằng tài khoản Admin, Staff, Teacher, Student để có thể vào được hệ thống, hệ thống sẽ tiến hành kiểm tra thông tin tài khoản, mật khẩu có trùng khớp với tài khoản, mật khẩu đã tạo và lưu trong cơ sơ dữ hay không Nếu tài khoản, mật khẩu có tồn tại sẽ tiến hành hành đăng nhập vào hệ thống và hiển thị nghiệp vụ đã chọn lúc đăng nhập Nếu tài khoản, mật khẩu không tồn tại thì sẽ tiến hành thông báo lỗi cho người dùng.
Hình 3.2.1: Hình chức năng đăng nhập hệ thống
3.2.2 Chức năng 2: Tạo hồ sơ học sinh
Chức năng này sẽ do nhân viên trường phụ trách Nhân viên trường sẽ đăng nhập vào hệ thống bằng tài khoản của mình Sau khi đăng nhập xong nhân viên sẽ được chọn chức năng tạo hồ sơ học sinh Nhân viên trường sẽ tiến hành nhập thông tin học học, sau khi nhập xong thì thông tin học sinh sẽ được lữu trữ xuống cơ dữ liệu để quản lý.
Hình 3.2.2: Hình chức năng tạo hồ sơ học sinh
3.2.3 Chức năng 3: Lập danh sách lớp
Chức năng này sẽ do nhân viên trường phụ trách Nhân viên trường sẽ đăng nhập vào hệ thống bằng tài khoản của mình Sau khi đăng nhập xong nhân viên sẽ được chức năng lập danh sách lớp Nhân viên viên trường sẽ tiến hành chọn lớp, học kỳ, năm học từ các học sinh đã tạo bằng chức năng tạo hồ sơ học sinh Sau khi chọn xong sẽ tiến hành thêm các học sinh vào lớp
Hình 3.2.3: Hình chức năng lập danh sách lớp
3.2.4 Chức năng 4: Lập bảng điểm
Chức năng này sẽ do giáo viên trường phụ trách Giáo viên trường sẽ đăng nhập vào hệ thống bằng tài khoản của mình Sau khi đăng nhập xong giáo viên sẽ được chọn chức năng lập bảng điểm Giáo viên sẽ tiến hành tìm kiếm học sinh theo lớp theo khối, học kỳ, năm học Sau khi tìm kiếm xong giáo viên sẽ tiến hành nhập điểm Sau khi nhập điểm xong giáo viên có thể xuất bảng trung bình của học sinh đó.
Hình 3.2.4: Hình chức năng lập bảng điểm
3.2.5 Chức năng 5: Quản lý môn học
Chức năng này sẽ do quản trị viên phụ trách Chức năng này quản trị viên có thể thêm, xóa, sửa tìm kiếm môn học.
Hình 3.2.5: Hình chức năng quản lý môn học
3.2.6 Chức năng 6: Quản lý người dùng chung
Chức năng này sẽ do quản trị viên phụ trách Chức năng này quản trị viên có thể thêm, xóa, sửa tìm kiếm Giáo viên, Nhân viên trường, Học sinh.
Hình 3.2.6: Hình chức năng quản lý người dùng
3.2.7 Chức năng 7: Thống kê, báo cáo tổng kết năm học
Chức năng này sẽ do quản trị viên phụ trách Chức năng này quản trị viên có thể thống kế báo cáo lại học sinh nào đậu và học sinh nào rớt.