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

Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh

37 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Tác giả Đào Tiến Phát
Người hướng dẫn Th.S Đặng Kiên Cường
Trường học Trường Đại học Nông Lâm Thành phố Hồ Chí Minh
Chuyên ngành Hệ thống thông tin
Thể loại Đồ án
Năm xuất bản 2025
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 37
Dung lượng 2,13 MB

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

Cấu trúc

  • CHƯƠNG 1: Cơ sở lý thuyết và phân tích nghiệp vụ (10)
    • 1.1. Giới thiệu hệ thống thông tin trong hệ thống quản lý học sinh (10)
    • 1.2. Tổng quan về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu (11)
    • 1.3. Kiến trúc Web Client – Server (11)
    • 1.4. Luồng xử lý chính trong hệ thống (12)
      • 1.4.1. Luồng xử lý đăng nhập (12)
      • 1.4.2. Luồng xử lý hiển thị danh sách học sinh (12)
      • 1.4.3. Luồng xử lý thêm học sinh mới (12)
      • 1.4.4. Luồng xử lý nhập điểm học sinh (13)
      • 1.4.5. Luồng xử lý xem điểm và xếp loại (13)
      • 1.4.6. Luồng xử lý chỉnh sửa thông tin học sinh (13)
      • 1.4.7. Luồng xử lý xoá học sinh (13)
      • 1.4.8. Luồng xử lý xuất CSV (14)
    • 1.5. Sơ đồ khối (14)
  • CHƯƠNG 2: Phân tích hệ thống (15)
    • 2.1. Các chức năng chính (15)
      • 2.1.1. Đăng nhập hệ thống (15)
      • 2.1.2. Xem danh sách học sinh (17)
      • 2.1.3. Thêm/Sửa/Xoá học sinh (18)
      • 2.1.4. Quản lý điểm số và đánh giá học lực (23)
      • 2.1.5. Xuất dữ liệu CSV (27)
    • 2.2. Mục tiêu thiết kế cơ sở dữ liệu (27)
    • 2.3. Mô hình dữ liệu (28)
    • 2.4. Ƣu điểm và Hạn chế của Mô hình Cơ sở Dữ liệu Access (0)
      • 2.4.1. Ƣu điểm (0)
      • 2.4.2. Hạn chế (30)
    • 2.5. Tổng kết (31)
  • CHƯƠNG 3: Kỹ thuật sử dụng (31)
    • 3.1. Ngôn ngữ lập trình (31)
    • 3.2. Framework và thƣ viện (31)
    • 3.3. Cơ sở dữ liệu (32)
    • 3.4. Giao diện người dùng (33)
    • 3.5. Các chức năng chính đã lập trình (33)
    • 3.6. Mô hình hoạt động hệ thống (33)
  • CHƯƠNG 4: Hướng phát triển (34)
    • 4.1. Phát triển chức năng người dùng (34)
    • 4.2. Mở rộng cơ sở dữ liệu (34)
    • 4.3. Phát triển báo cáo thống kê nâng cao (34)
    • 4.4. Tích hợp công nghệ Web hiện đại (35)
    • 4.5. Mở rộng triển khai hệ thống (35)
    • 4.6. Tổng kết (35)
  • CHƯƠNG 5: Kết Luận (36)
  • Tài liệu tham khảo (37)

Nội dung

HCM ĐỒ ÁN MÔN CƠ SỞ VÀ ỨNG DỤNG HỆ THỐNG THÔNG TIN QUẢN LÝ Hệ Thống Thông Tin Trong Quản Lý Thông Tin Chi Tiết Của Học Sinh Giảng viên: Th.S Đặng Kiên Cường Sinh viên thực hiện: Đào

Cơ sở lý thuyết và phân tích nghiệp vụ

Giới thiệu hệ thống thông tin trong hệ thống quản lý học sinh

Trong thời đại chuyển đổi số và phát triển mạnh mẽ của công nghệ thông tin, việc ứng dụng các hệ thống thông tin vào lĩnh vực giáo dục ngày càng đóng vai trò quan trọng Quản lý học sinh không chỉ dừng lại ở việc lưu trữ hồ sơ, mà còn bao gồm theo dõi kết quả học tập, tra cứu nhanh thông tin và xuất báo cáo phục vụ công tác giảng dạy cũng nhƣ hành chính

Hệ thống thông tin trong quản lý học sinh là một giải pháp phần mềm giúp tự động hóa và tối ưu hóa quá trình thu thập, lưu trữ, xử lý và khai thác dữ liệu liên quan đến từng học sinh Hệ thống này cho phép nhà trường dễ dàng quản lý thông tin cá nhân của học sinh (nhƣ họ tên, lớp, giới tính, ngày sinh, liên hệ, ), đồng thời theo dõi và phân tích kết quả học tập qua các môn học cụ thể

Trong khuôn khổ đồ án này, em xây dựng một hệ thống thông tin đơn giản sử dụng ngôn ngữ lập trình Python và framework Flask, kết hợp với cơ sở dữ liệu SQLite Hệ thống cho phép người dùng (quản trị viên hoặc giáo viên) thực hiện các chức năng cơ bản nhƣ:

• Thêm, sửa, xoá học sinh

• Nhập và xem điểm các môn học

• Tìm kiếm học sinh theo tên hoặc lớp

• Tính điểm trung bình và xếp loại học lực

• Xuất danh sách học sinh kèm điểm ra file CSV

Mặc dù là một phiên bản đơn giản, hệ thống này minh họa rõ ràng cách công nghệ có thể hỗ trợ công tác quản lý trong nhà trường, giúp tiết kiệm thời gian, giảm thiểu sai sót và nâng cao hiệu quả làm việc

Tổng quan về cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu

Cơ sở dữ liệu (Database) là tập hợp có tổ chức các dữ liệu có liên quan với nhau, được lưu trữ dưới dạng điện tử để dễ dàng truy xuất và quản lý Trong các hệ thống thông tin giáo dục, cơ sở dữ liệu đóng vai trò trung tâm trong việc lưu trữ và tổ chức dữ liệu nhƣ: thông tin học sinh, điểm số, lớp học và kết quả học tập

Hệ quản trị cơ sở dữ liệu (DBMS) là phần mềm cho phép người dùng tạo, lưu trữ, truy cập và quản lý dữ liệu một cách hiệu quả, đồng thời đảm bảo tính toàn vẹn và bảo mật của thông tin DBMS cũng hỗ trợ mở rộng dữ liệu trong hệ thống một cách dễ dàng, đáp ứng nhu cầu lưu trữ và truy cập ngày càng tăng.

Một số hệ quản trị cơ sở dữ liệu phổ biến hiện nay bao gồm:

 SQLite – nhẹ, đơn giản, dễ tích hợp, không cần cài đặt riêng

 MySQL, PostgreSQL – mã nguồn mở, mạnh mẽ và linh hoạt

 MongoDB – cơ sở dữ liệu NoSQL phù hợp với dữ liệu phi cấu trúc.

Kiến trúc Web Client – Server

Kiến trúc Client – Server là mô hình gồm hai thành phần chính:

 Client (máy khách): gửi yêu cầu và hiển thị kết quả cho người dùng

 Server (máy chủ): xử lý yêu cầu, truy xuất cơ sở dữ liệu và trả phản hồi

Trong Flask, client là trình duyệt và server là ứng dụng Flask xử lý logic

Ví dụ: Khi truy cập /students, Flask nhận yêu cầu, truy vấn dữ liệu học sinh từ SQLite và trả HTML để hiển thị trên trình duyệt

Hình 1.1: Sơ đồ kiến trúc web client – server

Luồng xử lý chính trong hệ thống

1.4.1 Luồng xử lý đăng nhập:

 Người dùng truy cập trang /login

 Hệ thống nhận dữ liệu username và password từ biểu mẫu

 So sánh với dữ liệu mẫu trong biến users

 Nếu đúng: gán session['username'] và chuyển về /index

 Nếu sai: hiển thị thông báo lỗi

Bảng 1.1: Xử lý đăng nhập

1.4.2 Luồng xử lý hiển thị danh sách học sinh:

 Người dùng truy cập /students sau khi đăng nhập

 Nếu có tham số tìm kiếm (search), hệ thống lọc danh sách theo tên hoặc lớp

 Dữ liệu đƣợc truy xuất từ SQLite và hiển thị trong bảng HTML

Bảng 1.2: Xử lý hiển thị danh sách học sinh

1.4.3 Luồng xử lý thêm học sinh mới:

 Người dùng chọn “Thêm học sinh” từ giao diện

 Nhập thông tin học sinh và gửi về /add-student qua phương thức POST

 Hệ thống ghi dữ liệu vào bảng students

Người dùng → [GET /add-student] → Biểu mẫu

[POST /add-student] → Ghi dữ liệu vào CSDL → Chuyển về /students

Người dùng → Nhập tài khoản → [POST /login]

Kiểm tra tài khoản → Gán session → Chuyển hướng /index

Người dùng → [GET /students?search= ]

Flask → Truy vấn CSDL → Trả danh sách học sinh → Giao diện bảng

Bảng 1.3: Xử lý thêm học sinh mới

1.4.4 Luồng xử lý nhập điểm học sinh:

 Tại trang chi tiết học sinh, người dùng chọn “Nhập điểm”

 Gửi điểm các môn về /student//add-score

 Dữ liệu được lưu hoặc cập nhật vào bảng scores

Người dùng → [GET /student//add-score] → Biểu mẫu nhập điểm ↓

[POST /add-score] → Ghi vào bảng scores → Trở về trang điểm

Bảng 1.4: Xử lý nhập điểm học sinh

1.4.5 Luồng xử lý xem điểm và xếp loại:

 Người dùng truy cập /student//scores

 Hệ thống truy xuất điểm từ scores

 Tính điểm trung bình → Xếp loại học lực → Hiển thị ra giao diện avg = (math + literature + english + physics + chemistry) / 5

Bảng 1.5: Công thức tính xếp loại Xếp loại:

1.4.6 Luồng xử lý chỉnh sửa thông tin học sinh:

 Người dùng vào /student//edit

 Giao diện hiện thông tin cũ → người dùng sửa → nhấn lưu

 Hệ thống cập nhật thông tin mới trong bảng students

1.4.7 Luồng xử lý xoá học sinh:

 Người dùng nhấn nút “Xoá” tại chi tiết học sinh

 Gửi POST về /student//delete

 Hệ thống xoá học sinh trong students và liên kết điểm trong scores

1.4.8 Luồng xử lý xuất CSV:

 Người dùng nhấn “Xuất CSV” từ danh sách học sinh

 Flask truy xuất dữ liệu từ 2 bảng students và scores

 Ghi vào StringIO → gửi file csv về trình duyệt.

Sơ đồ khối

Hình 1.2: Sơ đồ khối của hệ thống

Phân tích hệ thống

Các chức năng chính

Chức năng đăng nhập là bước xác thực người dùng khi truy cập vào hệ thống quản lý thông tin học sinh

Việc yêu cầu đăng nhập đóng vai trò bảo mật, giúp chỉ những người được cấp quyền, như giáo viên và quản trị viên, mới có thể truy cập các chức năng quản lý thông tin học sinh Các chức năng này bao gồm thêm mới, chỉnh sửa và tra cứu dữ liệu học sinh, được đảm bảo chỉ người có quyền mới thực hiện Qua đó hệ thống kiểm soát tốt quyền truy cập, bảo vệ dữ liệu và duy trì tính toàn vẹn của hồ sơ học sinh Việc xác thực người dùng mang lại sự an tâm cho trường học và tối ưu hóa quản trị thông tin bằng cách phân quyền rõ ràng cho từng loại tài khoản.

Giao diện đăng nhập đƣợc thiết kế đơn giản, trực quan với các thành phần chính:

 Một ô nhập Tên đăng nhập

 Hiển thị thông báo lỗi khi tài khoản hoặc mật khẩu không hợp lệ

Thiết kế sử dụng tông màu xanh chủ đạo, các thành phần đƣợc căn giữa và làm nổi bật để tăng tính thân thiện với người dùng

Dưới đây là hai đoạn mã của trang đăng nhập:

Hình 2.2: Đoạn mã mẫu của app.py

Hình 2.3: Đoạn mã mẫu của login.html

2.1.2 Xem danh sách học sinh:

Chức năng xem danh sách học sinh là một trong những tính năng cốt lõi của hệ thống Nó cho phép người dùng (giáo viên, quản lý) dễ dàng theo dõi toàn bộ học sinh đang được lưu trữ trong cơ sở dữ liệu, bao gồm thông tin cơ bản như họ tên và lớp học

Hình 2.4: Trang danh sách học sinh

Giao diện danh sách học sinh đƣợc thiết kế hiện đại, đơn giản, dễ sử dụng Các đặc điểm nổi bật gồm:

 Bố cục rõ ràng: Giao diện đƣợc chia thành các khu vực: o Thanh điều hướng với nút "Đăng xuất" o Thanh chức năng tìm kiếm và xuất dữ liệu o Bảng danh sách học sinh kèm các hành động nhƣ Xem chi tiết và

 Tương tác thân thiện: Người dùng có thể: o Tìm kiếm theo tên hoặc lớp học o Nhấn nút để thêm học sinh mới o Xuất toàn bộ danh sách ra file CSV để sử dụng ngoài hệ thống

Dưới đây là đoạn mã của trang danh sách học sinh:

Hình 2.5: Đoạn mã mẫu của students.html

2.1.3 Thêm/Sửa/Xoá học sinh:

Chức năng quản lý học sinh bao gồm việc thêm mới, chỉnh sửa và xoá học sinh khỏi hệ thống Đây là nhóm chức năng quan trọng nhằm đảm bảo dữ liệu học sinh được cập nhật thường xuyên và chính xác trong cơ sở dữ liệu

Người dùng có thể thêm một học sinh mới bằng cách điền thông tin vào biểu mẫu

 Số điện thoại (tùy chọn)

Hình 2.6: Trang thêm học sinh

Dưới đây là đoạn mã tham khảo của trang thệm học sinh:

Hình 2.7: Đoạn mã mẫu của trang thêm học sinh

Hình 2.8: Đoạn mã mẫu của add_student.html

2.1.3.2 Chỉnh sửa thông tin học sinh:

Người dùng có thể sửa thông tin của một học sinh đã có bằng cách truy cập vào giao diện chỉnh sửa Các trường thông tin được tự động điền trước (dựa trên ID học sinh), cho phép chỉnh sửa và cập nhật lại

Hình 2.9: Trang chỉnh sửa thông tin học sinh

Dưới đây là đoạn mã tham khảo của trang chỉnh sửa thông tin học sinh:

Hình 2.10: Đoạn mã mẫu của app.py

Hình 2.11: Đoạn mã mẫu của edit_student.html

Hệ thống cho phép xoá học sinh khỏi cơ sở dữ liệu thông qua nút "Xoá" tại trang danh sách Trước khi xoá, hệ thống yêu cầu xác nhận để tránh thao tác nhầm

Hình 2.12: Chức năng xoá học sinh Dưới đây là đoạn code tham khảo:

Hình 2.13: Đoạn mã mẫu của app.py

2.1.4 Quản lý điểm số và đánh giá học lực:

Chức năng này cho phép người dùng nhập điểm, xem điểm chi tiết của học sinh theo từng môn học, đồng thời đánh giá học lực dựa trên điểm trung bình

Sau khi học sinh đƣợc thêm vào hệ thống, giáo viên có thể nhập điểm cho các môn:

 Hóa học Điểm được nhập qua biểu mẫu và lưu vào bảng scores trong cơ sở dữ liệu Nếu học sinh đã có điểm trước đó, hệ thống sẽ cập nhật lại điểm

Hình 2.14: Trang nhập điểm học sinh Đoạn mã tham khảo:

Hình 2.15: Đoạn mã nhập điểm của app.py

Hình 2.16: Đoạn mã nhập điểm của add_score.html

Người dùng có thể xem điểm chi tiết của từng học sinh trong 5 môn học Hệ thống cũng tự động tính điểm trung bình và xếp loại học lực theo quy tắc sau:

Hình 2.17: Bảng đánh giá học lực

Hình 2.18: Trang đánh giá kết quả và đánh giá học lực Đoạn mã tham khảo:

Hình 2.19: Đoạn mã đánh giá kết quả và đánh giá học lực của app.py

Hình 2.20: Đoạn mã đánh giá kết quả và đánh giá học lực của student_scores.html

Giúp người dùng xuất toàn bộ dữ liệu học sinh (bao gồm cả thông tin cá nhân và điểm số) ra tệp CSV để sử dụng trong các phần mềm khác nhƣ Excel, Google Sheets, hoặc để lưu trữ, in ấn và tổng hợp báo cáo

Hệ thống hỗ trợ xuất danh sách học sinh dưới dạng tệp csv, với nội dung bao gồm:

 Thông tin học sinh: Họ tên, lớp, ngày sinh, giới tính, SĐT, email, nơi sinh, dân tộc

 Điểm số: Toán, Ngữ văn, Tiếng Anh, Vật lý, Hóa học

Người dùng có thể tìm kiếm trước và chỉ xuất những học sinh phù hợp với từ khóa lọc (theo tên hoặc lớp)

Hình 2.21: Kết quả khi xuất CSV

Mục tiêu thiết kế cơ sở dữ liệu

Cơ sở dữ liệu là thành phần then chốt trong hệ thống thông tin quản lý điểm số sinh viên Thiết kế cơ sở dữ liệu đúng sẽ giúp hệ thống lưu trữ dữ liệu điểm số của sinh viên một cách nhất quán và an toàn, tối ưu hóa hiệu suất truy vấn và báo cáo, đảm bảo toàn vẹn dữ liệu và khả năng phân tích điểm số, đồng thời dễ mở rộng khi có thêm môn học, kỳ thi hoặc chương trình đào tạo mới, từ đó tăng cường bảo mật và quản trị dữ liệu.

 Lưu trữ dữ liệu nhất quán, không trùng lặp

 Dễ dàng truy vấn, thống kê theo lớp, học kỳ, môn học

 Hỗ trợ mở rộng: phân quyền, nhiều khoa, nhiều lớp

 Tăng tốc độ xử lý và giảm thiểu sai sót khi thao tác

Do hệ thống đƣợc xây dựng ở quy mô nhỏ (một lớp học hoặc một bộ môn), nên

Microsoft Access (.accdb) được lựa chọn làm công cụ lưu trữ nhờ tính đơn giản, dễ sử dụng, không cần cài đặt server.

Mô hình dữ liệu

Tên trường Kiểu dữ liệu Ý nghĩa id INTEGER Mã số học sinh (tự tăng) name TEXT Họ và tên học sinh class_name TEXT Tên lớp học birth_date TEXT Ngày sinh gender TEXT Giới tính phone TEXT Số điện thoại email TEXT Email liên hệ place_of_birth TEXT Nơi sinh ethnicity TEXT Dân tộc

Bảng 2.2.1: Bảng students -Bảng scores (điểm số):

Tên trường Kiểu dữ liệu Ý nghĩa student_id INTEGER Khóa chính, liên kết với students(id) math REAL Điểm môn Toán literature REAL Điểm môn Ngữ văn english REAL Điểm môn Tiếng Anh physics REAL Điểm môn Vật lý

23 chemistry REAL Điểm môn Hóa học

Bảng 2.2.1: Bảng scores Trong hệ thống quản lý điểm số sinh viên, các bảng dữ liệu không tồn tại độc lập, mà liên kết chặt chẽ với nhau theo các mối quan hệ có tính logic Việc xác định rõ các mối quan hệ này giúp:

 Đảm bảo tính nhất quán dữ liệu

 Hỗ trợ truy vấn kết hợp (JOIN) hiệu quả

 Hạn chế trùng lặp dữ liệu

 Tăng cường khả năng mở rộng và bảo trì hệ thống

Việc thiết kế CSDL hợp lý với mối quan hệ 1-1 giữa bảng students và scores giúp hệ thống:

 Dễ dàng truy vấn thông tin và điểm số học sinh

 Duy trì tính toàn vẹn và rõ ràng trong dữ liệu

 Hỗ trợ mở rộng thêm các bảng khác nhƣ courses, teachers, v.v

2.4 Ƣu điểm và Hạn chế của Mô hình Cơ sở Dữ liệu

Thiết kế cơ sở dữ liệu là một bước nền tảng quan trọng trong việc xây dựng một hệ thống thông tin Trong đồ án này, nhóm đã sử dụng mô hình cơ sở dữ liệu quan hệ đƣợc chuẩn hóa, bao gồm ba bảng chính: Students và Scores Các bảng này đƣợc liên kết với nhau thông qua khóa chính – khóa ngoại nhằm đảm bảo tính toàn vẹn và logic dữ liệu

Việc đánh giá những ƣu điểm và hạn chế của mô hình hiện tại sẽ giúp xác định được giá trị của giải pháp đã triển khai cũng như hướng phát triển mở rộng trong tương lai

1 Đảm bảo tính chuẩn hóa dữ liệu

 Dữ liệu đƣợc chia thành các bảng theo đúng nguyên lý chuẩn hóa, giúp loại bỏ dƣ thừa thông tin

 Tránh việc lặp lại tên môn học hay thông tin sinh viên khi lưu điểm, từ đó giảm lỗi và tăng tính nhất quán

 Có thể dễ dàng thêm mới sinh viên, môn học hoặc học kỳ mà không làm thay đổi cấu trúc dữ liệu hiện có

 Sẵn sàng tích hợp thêm các bảng khác nhƣ: Users, Departments, AcademicYears, v.v nếu hệ thống phát triển thêm chức năng quản trị

3 Hỗ trợ truy vấn linh hoạt

 Hệ thống cho phép thực hiện các truy vấn thống kê, tổng hợp, và lọc dữ liệu một cách hiệu quả, ví dụ: o Tính điểm trung bình từng học sinh hoặc theo từng lớp o Phân loại học lực theo học kỳ hoặc toàn khóa o Thống kê tỷ lệ học sinh đạt yêu cầu hoặc cần hỗ trợ

 Các truy vấn liên bảng (JOIN) đƣợc thực hiện dễ dàng nhờ thiết kế có liên kết rõ ràng

4 Thân thiện với người dùng và dễ triển khai

 Microsoft Access là công cụ phổ biến, giao diện đồ họa dễ sử dụng, phù hợp với người mới làm quen cơ sở dữ liệu

 Có thể chạy trực tiếp trên máy tính cá nhân mà không cần cài đặt server hay cấu hình mạng phức tạp

5 Tối ưu hóa lưu trữ dữ liệu

 Việc loại bỏ thông tin trùng lặp giúp giảm dung lƣợng tập tin accdb , đồng thời tăng hiệu suất truy cập

 Với số lượng bản ghi vừa và nhỏ (ví dụ dưới 10,000 bản ghi), hệ thống vẫn hoạt động mƣợt mà

1 Giới hạn mở rộng – phụ thuộc vào Access

 Microsoft Access có giới hạn dung lƣợng tối đa ~2GB cho mỗi file CSDL

 Không thích hợp cho hệ thống cấp trường hoặc nếu có nhiều người truy cập cùng lúc (multi-user concurrency thấp)

2 Chưa có phân quyền người dùng

 Hệ thống hiện tại chỉ có một tài khoản giảng viên (admin), chƣa hỗ trợ các quyền hạn khác nhau (xem/sửa/xoá)

 Thiếu bảng Users và cơ chế phân quyền theo vai trò (role-based access).

Ƣu điểm và Hạn chế của Mô hình Cơ sở Dữ liệu Access

3 Thiếu bảng học kỳ, niên khóa và phân cấp tổ chức

 Hiện tại học kỳ và niên khóa được lưu dưới dạng văn bản trong bảng điểm, gây khó khăn cho việc tổng hợp và báo cáo theo năm học

 Hệ thống chưa mô hình hóa đầy đủ mối quan hệ giữa các cấp: Trường – Khoa – Lớp – Sinh viên

4 Thiếu ràng buộc nâng cao

 Không có kiểm tra ràng buộc logic nhƣ: một sinh viên không đƣợc đăng ký trùng môn trong cùng học kỳ

 Microsoft Access không hỗ trợ các tính năng mạnh nhƣ Trigger, Stored

Procedure hay Check Constraint nhƣ các hệ quản trị cơ sở dữ liệu chuyên nghiệp

Tổng kết

Mô hình cơ sở dữ liệu quan hệ sử dụng trong đồ án là phù hợp với quy mô lớp học hoặc nhóm môn học nhỏ, có cấu trúc rõ ràng và thuận tiện để thao tác Tuy nhiên, để phát triển thành hệ thống cấp trường hoặc trực tuyến, cần chuyển đổi sang hệ quản trị cơ sở dữ liệu mạnh hơn và thiết kế lại một số cấu trúc để đáp ứng yêu cầu về mở rộng và bảo mật.

Kỹ thuật sử dụng

Ngôn ngữ lập trình

 Python: Là ngôn ngữ lập trình chính để xây dựng toàn bộ hệ thống, dễ học, dễ phát triển, phù hợp cho các dự án web vừa và nhỏ

 Các thƣ viện Python hỗ trợ:

 Flask: Framework web nhẹ, cho phép xây dựng nhanh các ứng dụng web có cấu trúc rõ ràng

 sqlite3: Kết nối cơ sở dữ liệu SQLite đơn giản và hiệu quả

 csv, io: Dùng để xuất dữ liệu ra file CSV

 datetime: Xử lý ngày tháng khi hiển thị thông tin học sinh.

Framework và thƣ viện

Tên thƣ viện Vai trò

Jinja2 Template engine tích hợp trong Flask

SQLite3 Cơ sở dữ liệu nhẹ, tích hợp Python

Bootstrap (tuỳ chọn) Giao diện đẹp, responsive, dễ dùng

Bảng 3.1: Thƣ viện và vai trò

Cơ sở dữ liệu

 Sử dụng SQLite3: Một cơ sở dữ liệu nhẹ, không cần cài đặt riêng biệt, phù hợp với hệ thống đơn giản và demo

 students: Lưu thông tin cá nhân học sinh

 scores: Lưu điểm các môn học, liên kết với students qua khóa ngoại student_id

CREATE TABLE students ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, class_name TEXT, birth_date TEXT, gender TEXT, phone TEXT, email TEXT, place_of_birth TEXT, ethnicity TEXT

Bảng 3.2: Cấu trúc bảng students

CREATE TABLE scores ( student_id INTEGER PRIMARY KEY, math REAL, literature REAL, english REAL, physics REAL, chemistry REAL, FOREIGN KEY (student_id) REFERENCES students(id)

Bảng 3.2: Cấu trúc bảng scores

Giao diện người dùng

 Sử dụng HTML kết hợp Jinja2 để hiển thị dữ liệu động

 login.html: Trang đăng nhập

 students.html: Danh sách học sinh

 add_student.html, edit_student.html: Thêm/Sửa học sinh

 student_info.html, student_scores.html: Hiển thị chi tiết thông tin và điểm học sinh

Giao diện dễ sử dụng, tương thích trình duyệt, có thể dùng thêm CSS hoặc Bootstrap để cải thiện trải nghiệm.

Các chức năng chính đã lập trình

 Xác thực đăng nhập bằng session Flask

 Thêm/Sửa/Xoá học sinh, quản lý điểm

 Tìm kiếm học sinh theo tên hoặc lớp

 Tính trung bình điểm và xếp loại học lực (Giỏi, Khá, Trung bình, Yếu)

 Xuất dữ liệu ra file CSV dùng cho báo cáo hoặc in ấn.

Mô hình hoạt động hệ thống

 Người dùng truy cập qua trình duyệt → Giao diện Flask trả về HTML → Flask xử lý logic → Giao tiếp với cơ sở dữ liệu SQLite → Trả về kết quả

 Dữ liệu điểm số đƣợc xử lý và tính toán phía server

 Giao diện hiển thị dữ liệu một cách trực quan cho người quản lý

Hướng phát triển

Phát triển chức năng người dùng

 Hiện tại hệ thống chỉ hỗ trợ một tài khoản duy nhất cho giáo viên

 Trong tương lai, có thể xây dựng bảng users kết hợp phân quyền (quản trị viên, giáo viên bộ môn, sinh viên)

 Mỗi người dùng sẽ được cấp quyền truy cập phù hợp: xem, sửa, xoá, thêm

Tích hợp chức năng đăng ký/đổi mật khẩu:

 Thêm trang đăng ký tài khoản mới

 Cho phép đổi mật khẩu và phục hồi mật khẩu khi quên.

Mở rộng cơ sở dữ liệu

Thêm bảng courses (môn học):

 Tách riêng tên môn học và mã môn ra bảng riêng, dễ mở rộng khi có thêm môn học mới

 Tránh lặp dữ liệu điểm theo từng môn

Thêm bảng semesters, academic_years:

 Quản lý theo từng học kỳ và niên khóa

 Hỗ trợ truy vấn điểm theo học kỳ cụ thể hoặc theo năm học

Xây dựng quan hệ nhiều-nhiều giữa học sinh và môn học:

 Tăng tính linh hoạt khi quản lý điểm theo lớp, học kỳ, môn học.

Phát triển báo cáo thống kê nâng cao

Thống kê học lực toàn khối/lớp:

 Thống kê số lƣợng học sinh giỏi, khá, trung bình, yếu

 Tính điểm trung bình theo môn, theo lớp

Biểu đồ trực quan (dùng Chart.js hoặc Plotly):

 Trình bày kết quả học tập qua biểu đồ cột, tròn, đường

 Giao diện thân thiện và dễ theo dõi hơn.

Tích hợp công nghệ Web hiện đại

Nâng cấp giao diện người dùng (UI):

 Áp dụng giao diện Responsive với Bootstrap hoặc Tailwind CSS

 Hỗ trợ tốt trên điện thoại và máy tính bảng

Sử dụng AJAX/Fetch API để xử lý dữ liệu không tải lại trang:

 Nâng cao trải nghiệm người dùng

 Giảm thời gian tải trang khi nhập/sửa điểm.

Mở rộng triển khai hệ thống

Triển khai trên mạng LAN hoặc Internet:

 Dùng các dịch vụ nhƣ PythonAnywhere, Heroku hoặc VPS

 Cho phép giáo viên truy cập mọi lúc, mọi nơi

Kết nối với hệ thống SMS/email:

 Tự động gửi thông báo điểm hoặc học lực cho phụ huynh qua email hoặc tin nhắn.

Tổng kết

Hệ thống hiện tại đã đáp ứng tốt các chức năng cơ bản trong quản lý học sinh Tuy nhiên, với nhu cầu thực tế trong giáo dục hiện đại, hệ thống hoàn toàn có khả năng mở rộng và phát triển mạnh mẽ hơn nữa với các công nghệ web mới, khả năng thống kê, phân quyền, và triển khai toàn diện

Ngày đăng: 12/09/2025, 09:12

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Nguyễn Văn Hiệu, Giáo trình Cơ sở dữ liệu, Nhà xuất bản Giáo dục, 2020 Sách, tạp chí
Tiêu đề: Giáo trình Cơ sở dữ liệu
Tác giả: Nguyễn Văn Hiệu
Nhà XB: Nhà xuất bản Giáo dục
Năm: 2020
[2] Đào Hữu Hạnh, Phân tích và thiết kế hệ thống thông tin, NXB Khoa học và Kỹ thuật, 2019 Sách, tạp chí
Tiêu đề: Phân tích và thiết kế hệ thống thông tin
Tác giả: Đào Hữu Hạnh
Nhà XB: NXB Khoa học và Kỹ thuật
Năm: 2019
[3] Flask Documentation – https://flask.palletsprojects.com/ Sách, tạp chí
Tiêu đề: Flask Documentation
[4] SQLite Documentation – https://www.sqlite.org/docs.html Sách, tạp chí
Tiêu đề: SQLite Documentation
[6] Real Python – Flask Tutorials – https://realpython.com/tutorials/flask/ Sách, tạp chí
Tiêu đề: Flask Tutorials
Nhà XB: Real Python
[7] Bootstrap Documentation – https://getbootstrap.com/ Sách, tạp chí
Tiêu đề: Bootstrap Documentation
[8] MDN Web Docs – https://developer.mozilla.org/ Sách, tạp chí
Tiêu đề: MDN Web Docs
[5] W3Schools – HTML, CSS, Python Tutorials – https://www.w3schools.com/ Link

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Sơ đồ kiến trúc web client – server - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 1.1 Sơ đồ kiến trúc web client – server (Trang 11)
Hình 1.2: Sơ đồ khối của hệ thống - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 1.2 Sơ đồ khối của hệ thống (Trang 14)
Hình 2.1: Trang đăng nhập - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.1 Trang đăng nhập (Trang 15)
Hình 2.2: Đoạn mã mẫu của app.py - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.2 Đoạn mã mẫu của app.py (Trang 16)
Hình 2.4: Trang danh sách học sinh - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.4 Trang danh sách học sinh (Trang 17)
Hình 2.3: Đoạn mã mẫu của login.html - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.3 Đoạn mã mẫu của login.html (Trang 17)
Hình 2.5: Đoạn mã mẫu của students.html - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.5 Đoạn mã mẫu của students.html (Trang 18)
Hình 2.6: Trang thêm học sinh - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.6 Trang thêm học sinh (Trang 19)
Hình 2.11: Đoạn mã mẫu của edit_student.html - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.11 Đoạn mã mẫu của edit_student.html (Trang 22)
Hình 2.12: Chức năng xoá học sinh  Dưới đây là đoạn code tham khảo: - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.12 Chức năng xoá học sinh Dưới đây là đoạn code tham khảo: (Trang 23)
Hình 2.14: Trang nhập điểm học sinh - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.14 Trang nhập điểm học sinh (Trang 24)
Hình 2.16: Đoạn mã nhập điểm của add_score.html - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.16 Đoạn mã nhập điểm của add_score.html (Trang 25)
Hình 2.18: Trang đánh giá kết quả và đánh giá học lực - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.18 Trang đánh giá kết quả và đánh giá học lực (Trang 26)
Hình 2.20: Đoạn mã đánh giá kết quả và đánh giá học lực của student_scores.html - Đồ Án môn cơ sở và Ứng dụng hệ thống thông tin quản lý hệ thống thông tin trong quản lý thông tin chi tiết của học sinh
Hình 2.20 Đoạn mã đánh giá kết quả và đánh giá học lực của student_scores.html (Trang 27)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w