Bối cảnh và vấn đề nghiên cứu

Sự phát triển của công nghệ thông tin đã đưa máy tính trở thành công cụ hỗ trợ công tác quản lý và xử lý dữ liệu trong nhiều lĩnh vực của đời sống xã hội. Tại các cơ sở giáo dục mầm non, công tác quản lý học sinh theo phương thức thủ công bằng sổ sách và giấy tờ bộc lộ nhiều điểm hạn chế như tốc độ xử lý thông tin chậm, khó khăn trong việc lưu trữ và bảo quản hồ sơ theo thời gian, chi phí hành chính phát sinh cao và tiềm ẩn nguy cơ sai lệch dữ liệu. Xuất phát từ thực tế này, đề tài "Xây dựng hệ thống quản lý giờ giấc sinh hoạt của học sinh Trường Mẫu giáo tại Hải Phòng" được thực hiện bởi sinh viên Đặng Vũ Hiếu (ngành Quản trị mạng / Công nghệ thông tin, Trường Đại học Quản lý và Công nghệ Hải Phòng) dưới sự hướng dẫn của TS. Nguyễn Thị Xuân Hương nhằm tin học hóa quy trình theo dõi nề nếp, sức khỏe và thời khóa biểu của trẻ.

Theo nhiệm vụ đề tài được giao, tác giả xác định 4 nhiệm vụ nghiên cứu cụ thể:

  1. Đặc tả chính xác được các hoạt động nghiệp vụ quản lý học sinh tại trường mẫu giáo.
  2. Phân tích và thiết kế hệ thống theo phương pháp có cấu trúc đầy đủ theo cả 2 phương diện Dữ liệu và Xử lý.
  3. Viết chương trình thử nghiệm quản lý ứng dụng quản lý giờ giấc sinh hoạt của học sinh tại Trường Mẫu giáo, theo ngôn ngữ lập trình tự chọn, dựa trên yêu cầu thiết kế hệ thống.
  4. Đảm bảo đồ án tốt nghiệp có chất lượng.

Đối tượng và phạm vi nghiên cứu của đồ án bao gồm:

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý giờ giấc sinh hoạt, học tập, dinh dưỡng của học sinh mầm non; mô hình dữ liệu và các luồng xử lý thông tin liên quan đến lớp học, học viên, giáo viên, thời khóa biểu, thực đơn và theo dõi sức khỏe.
  • Phạm vi không gian: Trường Mẫu giáo tại địa bàn thành phố Hải Phòng; đề tài được hoàn thiện với sự hỗ trợ thực tập tại Công ty TNHH Công nghệ và Dịch vụ Viễn thông Nam Việt và Công ty Cổ phần Đầu tư Tài chính và Công nghệ DataTech.
  • Phạm vi thời gian: Đề tài được giao thực hiện từ ngày 31 tháng 10 năm 2022 và hoàn thành vào ngày 18 tháng 2 năm 2023.

Cơ sở lý thuyết và phương pháp

Đồ án xây dựng dựa trên phương pháp phân tích và thiết kế hệ thống thông tin hướng cấu trúc (Structured Systems Analysis and Design) theo cả hai trục: mô hình hóa luồng xử lý và mô hình hóa cấu trúc dữ liệu. Nền tảng phương pháp luận được tham chiếu từ các giáo trình chuyên ngành gồm: "Hệ thống thông tin quản lý" (Lê Văn Phùng, 2016), "Kỹ thuật phân tích và thiết kế hệ thống thông tin hướng cấu trúc" (Lê Văn Phùng, 2014) và "Phân tích và thiết kế hệ thống thông tin quản lý" (Nguyễn Văn Vị, 2002), kết hợp các nguồn tài liệu kỹ thuật trực tuyến từ W3Schools và StackOverflow.

Hệ thống công nghệ được tác giả lựa chọn và nghiên cứu bao gồm:

  • Công nghệ giao diện (Front-end): Ngôn ngữ đánh dấu HTML (cấu trúc tài liệu, các thẻ biểu mẫu <form>, <input>, <select>, bảng <table>), ngôn ngữ định kiểu CSS (mô hình hộp Box Model gồm Margin, Border, Padding; cơ chế định dạng theo Selector và Declaration do W3C phát triển năm 1996), ngôn ngữ kịch bản JavaScript để xử lý sự kiện tương tác phía người dùng, và thư viện Bootstrap 4 hỗ trợ thiết kế giao diện tương thích đa thiết bị theo tiếp cận Mobile-first.
  • Ngôn ngữ lập trình và nền tảng máy chủ (Back-end): Ngôn ngữ C# hướng đối tượng chạy trên nền tảng .NET Core, biên dịch mã nguồn thành mã trung gian MSIL (Microsoft Intermediate Language) và thực thi qua máy ảo CLR (Common Language Runtime). Nền tảng ASP.NET Core được ứng dụng nhờ khả năng hợp nhất MVC và Web API, hỗ trợ cơ chế tiêm phụ thuộc (Dependency Injection), cú pháp Tag Helpers, quản lý phiên qua Cookie và Session.
  • Kiến trúc máy chủ web: Mô hình triển khai kết hợp hai tầng máy chủ gồm máy chủ proxy ngược (Reverse Proxy như IIS, Apache hoặc Nginx) để tiếp nhận truy vấn HTTP từ trình duyệt client và chuyển tiếp vào máy chủ tích hợp Kestrel (built-in server độc lập, đa nền tảng của ASP.NET Core) nhằm thực thi mã nguồn ứng dụng.
  • Hệ quản trị cơ sở dữ liệu: PostgreSQL – hệ thống quản trị cơ sở dữ liệu quan hệ - đối tượng nguồn mở (phát triển từ POSTGRES 4.2 tại Đại học California Berkeley). Hệ thống tận dụng các tính năng của PostgreSQL như hỗ trợ nhiều kiểu dữ liệu (nguyên hàm, chuỗi, JSON/JSONB, UUID), kiểm soát truy cập đồng thời đa phiên bản (MVCC), ghi nhật ký trước khi ghi (Write-ahead Logging - WAL) và các cơ chế đánh chỉ mục B-tree, GiST, GIN.

Thiết kế và triển khai

Hệ thống được thiết kế hướng tới phục vụ ba nhóm tác nhân chính: Người quản lý (quản lý tổng thể thông tin trường, lớp, giáo viên, thời khóa biểu, thực đơn, nhân sự và phân quyền), Giáo viên (quản lý học viên trong lớp, theo dõi bài học, ghi nhận tình hình sinh hoạt và dinh dưỡng của trẻ) và Phụ huynh học sinh (truy cập tài khoản để theo dõi lịch trình, thực đơn, hoạt động học tập và gửi phản hồi).

Cấu trúc chức năng của hệ thống được phân rã thành 8 phân hệ nghiệp vụ chính:

  1. Quản lý lớp học: Chức năng 1.1 Thêm lớp học (nhập tên lớp, giáo viên phụ trách, người hỗ trợ, độ tuổi, sĩ số) và Chức năng 1.2 Cập nhật lớp học.
  2. Quản lý học viên: Chức năng 2.1 Thêm học viên (nhập hồ sơ nhân thân, ngày sinh, giới tính, quê quán, địa chỉ thường trú, thông tin cha mẹ) và Chức năng 2.2 Cập nhật thông tin học viên.
  3. Quản lý bài học: Chức năng 3.1 Thêm bài học (phân loại cấp độ, chỉ mục hiển thị, nội dung dành cho trẻ) và Chức năng 3.2 Cập nhật bài học.
  4. Quản lý theo dõi nuôi dưỡng: Chức năng 4.1 Thêm theo dõi nuôi dưỡng (chỉ mục dinh dưỡng, tình trạng ăn ngủ) và Chức năng 4.2 Cập nhật theo dõi nuôi dưỡng.
  5. Quản lý thời khóa biểu: Chức năng 5.1 Thêm thời khóa biểu (lập lịch theo ngày, khung giờ bắt đầu - kết thúc, nội dung môn học) và Chức năng 5.2 Cập nhật thời khóa biểu.
  6. Quản lý thực đơn: Chức năng 6.1 Thêm thực đơn (thực đơn theo ngày, thời gian bữa ăn, món ăn) và Chức năng 6.2 Cập nhật thực đơn.
  7. Quản lý nhân viên: Chức năng 7.1 Thêm nhân viên và Chức năng 7.2 Cập nhật nhân viên.
  8. Quản lý nhóm quản trị: Chức năng 8.1 Thêm nhóm quản trị và Chức năng 8.2 Cập nhật phân quyền nhóm.

Tương tác giữa các chức năng và hồ sơ dữ liệu được chuẩn hóa thông qua ma trận thực thể chức năng:

Chức năng nghiệp vụ DS Lớp học (a) DS Học viên (b) DS Bài học (c) DS Nuôi dưỡng (d) DS Thời khóa biểu (e) DS Thực đơn (f) DS Nhân viên (g) DS Quản trị (h)
1. Quản lý lớp học C R
2. Quản lý học viên R C
3. Quản lý bài học C
4. Quản lý nuôi dưỡng C R
5. Quản lý TKB R C
6. Quản lý nhân viên C R
8. Nhóm quản trị C

(Ghi chú: C = Create/Tạo mới; R = Read/Đọc dữ liệu)

Cơ sở dữ liệu vật lý của hệ thống gồm 15 bảng được thiết kế chi tiết trên PostgreSQL:

  • class: Lưu trữ mã lớp (ClassID), tên lớp, mã giáo viên (idTeacher), người hỗ trợ (idSupporters), mô tả, trạng thái kích hoạt (IsEnable), trạng thái xóa (IsTrash).
  • student: Chứa 28 thuộc tính chi tiết gồm mã học viên (idStudent), họ tên, ngày sinh, giới tính, tôn giáo, dân tộc, mã lớp (IDClass), địa chỉ quê quán (xã, huyện, tỉnh), địa chỉ hiện tại, ảnh đại diện (AvatarUrl), cùng nhóm thông tin phụ huynh (Parent_Fullname, Parent_PhoneNumber, Parent_Email, Parent_Role).
  • lesson: Lưu thông tin bài học (LessonID), cấp độ (Level), bài học cha (IDParent), cờ đánh dấu trẻ em (HasChildrent).
  • nourishtrackdetail: Lưu dữ liệu theo dõi dinh dưỡng (NourishTrackDetailID), mã theo dõi (IDNourishTrack), chỉ mục hiển thị.
  • grade: Lưu thời khóa biểu (ScheduleID), mã lớp (IDClasses), ngày, thời gian bắt đầu (TimeFrom), kết thúc (TimeTo), môn học (Description).
  • menu: Lưu thực đơn ăn uống (MenuID), mã lớp, ngày, thời gian (Time), nội dung mô tả món ăn.
  • autoIncrementIds: Quản lý cấp phát khóa chính tự tăng cho các bảng (id, name, value).
  • Bảng bảo mật và quyền: rights (danh mục quyền), controllerProtectors (bảo vệ quyền truy cập các controller), rightDetail (chi tiết cấp quyền cho nhân viên và chức vụ).
  • Bảng hệ thống và điều hướng: menu giao diện (cây điều hướng hiển thị URL và icon), userLog (ghi vết hoạt động của nhân viên gồm vị trí và hành động).
  • Bảng danh mục hành chính: province (tỉnh/thành), district (quận/huyện), ward (xã/phường).

Môi trường cài đặt và thử nghiệm ứng dụng được thực hiện trên phần cứng máy tính xách tay Asus trang bị vi xử lý Intel Core i5-6300U CPU @ 2.50 GHz, chạy trên hệ điều hành Windows 10 64-bit. Giao diện chương trình được thiết kế các phân hệ đăng nhập bảo mật và các trang biểu mẫu quản trị tương ứng cho 8 chức năng đã mô hình hóa.


Nội dung chính theo từng chương

Chương 1: Tìm hiểu về lập trình web trên nền tảng C#/.NET Core và PostgreSQL

Chương 1 cung cấp nền tảng lý thuyết về kiến trúc mạng Internet và các công nghệ phát triển web hiện đại. Tác giả phân tích khái niệm World Wide Web (chiếm khoảng 85% giao dịch Internet), phân biệt nguyên lý giữa web tĩnh (phân phối tài liệu đơn giản, không linh hoạt) và web động (kết nối cơ sở dữ liệu để đáp ứng truy vấn phức tạp). Nội dung tập trung làm rõ:

  • Cú pháp cơ bản của HTML, CSS (mô hình hộp Box Model, cấu trúc khai báo bộ chọn) và JavaScript trong việc xử lý sự kiện động phía giao diện.
  • Khung giao diện Bootstrap 4 với cơ chế lưới đáp ứng (Responsive Grid) và phương pháp tiếp cận ưu tiên thiết bị di động (Mobile-first).
  • Ngôn ngữ lập trình C#: Khái quát kiến trúc hướng đối tượng, quy trình biên dịch mã MSIL thành native code thông qua CLR, bảng tổng hợp các kiểu dữ liệu giá trị từ 1 đến 8 byte (byte, int, long, float, double, decimal, bool).
  • Nền tảng ASP.NET Core: Kiến trúc module hóa dựa trên các gói NuGet, cơ chế hoạt động của máy chủ web Kestrel kết hợp proxy ngược (IIS/Nginx), kỹ thuật tiêm phụ thuộc (Dependency Injection) và cơ chế phiên làm việc (Session/Cookie).
  • Hệ quản trị cơ sở dữ liệu PostgreSQL: Lịch sử phát triển, các kiểu dữ liệu nâng cao (JSONB, UUID, mảng, hình học), kỹ thuật bảo toàn dữ liệu (khóa chính, khóa ngoại, ràng buộc loại trừ) và các cơ chế xử lý giao tác tiên tiến như MVCC và WAL.

Chương 2: Phân tích thiết kế hệ thống

Chương 2 là nội dung trọng tâm của đồ án, trình bày quy trình mô hình hóa bài toán quản lý trường mẫu giáo theo phương pháp hướng cấu trúc. Các kết quả phân tích bao gồm:

  • Đặc tả bài toán quản lý thực tế với nhu cầu của ba đối tượng: Người quản lý, Giáo viên và Phụ huynh học sinh.
  • Xây dựng Biểu đồ ngữ cảnh hệ thống (Context Diagram) và Biểu đồ phân rã chức năng (Functional Decomposition Diagram) thành 8 cụm chức năng chính với 16 tác vụ nghiệp vụ chi tiết (mỗi cụm gồm thao tác thêm mới và cập nhật).
  • Lập danh mục 8 hồ sơ dữ liệu (ký hiệu từ a đến h) và thiết lập Ma trận thực thể chức năng (CRUD Matrix) để xác định quyền hạn truy xuất dữ liệu của từng quy trình.
  • Thiết kế hệ thống Biểu đồ luồng dữ liệu: Biểu đồ DFD mức 0 khái quát toàn bộ luồng thông tin hệ thống và 8 biểu đồ DFD mức 1 chi tiết hóa các luồng dữ liệu nội bộ của từng chức năng (lớp học, học viên, bài học, nuôi dưỡng, thời khóa biểu, thực đơn, nhân viên, nhóm quản trị).
  • Thiết kế mô hình dữ liệu: Xác định danh sách thực thể và thuộc tính, xây dựng Mô hình liên kết thực thể (ERD) và chuyển đổi thành lược đồ vật lý gồm 15 bảng dữ liệu quan hệ hoàn chỉnh với các khóa chính, khóa ngoại và kiểu dữ liệu cụ thể.

Chương 3: Hệ thống quản lý giờ giấc sinh hoạt của học sinh mầm non tại Hải Phòng

Chương 3 trình bày việc hiện thực hóa các kết quả phân tích thiết kế thành ứng dụng thử nghiệm thực tế:

  • Công bố thông số môi trường thử nghiệm phần cứng (Laptop Asus Intel Core i5-6300U @ 2.50 GHz) và phần mềm (Windows 10 64-bit).
  • Giới thiệu giao diện đăng nhập hệ thống dành cho nhân viên với cơ chế phân quyền bảo mật.
  • Trình bày danh mục các giao diện quản trị thành phần đã xây dựng, bao gồm: Trang quản lý lớp học, Trang quản lý học viên, Trang quản lý bài học, Trang quản lý theo dõi nuôi dưỡng, Trang quản lý thời khóa biểu, Trang quản lý thực đơn, Trang quản lý nhân viên và Trang quản lý nhóm quản trị.

Kết quả và đóng góp

Đồ án đã hoàn thành các mục tiêu nghiên cứu và nhiệm vụ được giao với các kết quả cụ thể:

  • Kết quả kỹ thuật: Xây dựng đầy đủ tài liệu phân tích thiết kế hệ thống thông tin hướng cấu trúc gồm sơ đồ ngữ cảnh, biểu đồ phân rã chức năng, biểu đồ DFD mức 0 và 8 biểu đồ DFD mức 1; hoàn thiện ma trận thực thể chức năng CRUD; thiết kế mô hình dữ liệu quan hệ gồm 15 bảng dữ liệu với các ràng buộc toàn vẹn khóa chính, khóa ngoại chặt chẽ.
  • Xây dựng chương trình thử nghiệm: Ứng dụng thành công nền tảng C# / ASP.NET Core kết hợp cơ sở dữ liệu PostgreSQL để triển khai các giao diện chức năng cơ bản, thiết lập cơ chế quản lý phân quyền và phiên làm việc thông qua bảng rightDetail, controllerProtectors và userLog.
  • Giải pháp đề xuất: Tác giả đề xuất việc ứng dụng hệ thống phần mềm nhằm thay thế phương thức quản lý thủ công truyền thống tại các cơ sở giáo dục mầm non, giúp chuẩn hóa quy trình lưu trữ hồ sơ học sinh, tự động hóa theo dõi lịch biểu và hỗ trợ quản lý khẩu phần dinh dưỡng của trẻ.
  • Đóng góp so với các hệ thống thông thường: Khác với các hệ thống quản lý đào tạo chung tại các cấp học phổ thông hoặc đại học (chủ yếu tập trung vào điểm số và học chế tín chỉ), hệ thống này được thiết kế chuyên biệt cho đặc thù trường mầm non với các mô đun chuyên sâu về quản lý giờ giấc sinh hoạt, thời khóa biểu theo khung giờ trong ngày, thực đơn bữa ăn hàng ngày và theo dõi các chỉ số phát triển nuôi dưỡng của trẻ nhỏ.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên nội dung văn bản đồ án, các hạn chế và hướng phát triển được ghi nhận như sau:

  • Hạn chế: Hệ thống mới dừng lại ở quy mô thử nghiệm nội bộ trên một máy tính cá nhân đơn lẻ (Laptop Asus CPU i5-6300U), chưa có kết quả đo lường hiệu năng tải hoặc triển khai trên hạ tầng máy chủ trực tuyến diện rộng. Trong tài liệu đồ án, phần hiện thực hóa mã nguồn chi tiết cho các thuật toán xử lý nghiệp vụ backend và giao diện tương tác dành riêng cho phụ huynh (như ứng dụng di động hoặc cổng thông tin tra cứu) chưa được trình bày chi tiết mà mới dừng lại ở màn hình đăng nhập và danh mục trang quản trị của nhân viên.
  • Hướng nghiên cứu tiếp: Tiếp tục hoàn thiện đầy đủ các chức năng giao diện người dùng cho giáo viên và phụ huynh; phát triển bổ sung ứng dụng trên thiết bị di động để phụ huynh tiện theo dõi thời gian thực; kiểm thử bảo mật, tối ưu hóa cơ sở dữ liệu trên PostgreSQL và tiến hành triển khai ứng dụng thực tế tại các trường mầm non trên địa bàn thành phố Hải Phòng.

Giá trị tham khảo

Đồ án là tài liệu tham khảo phù hợp cho các nhóm đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin và Hệ thống thông tin: Tài liệu hữu ích cho sinh viên làm đồ án tốt nghiệp hoặc bài tập lớn về đề tài phân tích thiết kế hệ thống thông tin theo phương pháp hướng cấu trúc truyền thống.
  • Lập trình viên bắt đầu với hệ sinh thái .NET và PostgreSQL: Phần tổng quan công nghệ ở Chương 1 cung cấp kiến thức nền tảng có hệ thống về cơ chế vận hành của máy chủ ASP.NET Core (mô hình Kestrel và Reverse Proxy) cũng như các đặc tính kỹ thuật của hệ quản trị cơ sở dữ liệu PostgreSQL.
  • Người nghiên cứu hệ thống quản lý giáo dục mầm non: Phần thiết kế dữ liệu ở Chương 2 là nguồn tham khảo giá trị về cấu trúc cơ sở dữ liệu thực tế, đặc biệt là cách tổ chức bảng quản lý thông tin học sinh mầm non (student), quản lý thực đơn dinh dưỡng (menu), thời khóa biểu theo khung giờ (grade) và mô hình phân quyền bảo vệ controller (controllerProtectors, rightDetail).

Câu hỏi thường gặp

1. Đề tài áp dụng phương pháp luận phân tích thiết kế hệ thống nào và dựa trên nguồn tài liệu chuẩn nào?
Hệ thống được phân tích và thiết kế theo phương pháp hướng cấu trúc (Structured Approach) trên cả hai khía cạnh Dữ liệu và Xử lý. Nền tảng lý thuyết được tham chiếu từ các tài liệu học thuật của PGS.TS Lê Văn Phùng ("Hệ thống thông tin quản lý", 2016; "Kỹ thuật phân tích và thiết kế hệ thống thông tin hướng cấu trúc", 2014) và PGS.TS Nguyễn Văn Vị ("Phân tích và thiết kế hệ thống thông tin quản lý", 2002).

2. Mô hình máy chủ web của ASP.NET Core được tác giả mô tả vận hành như thế nào?
Trong kiến trúc của ASP.NET Core, hệ thống sử dụng kết hợp hai tầng máy chủ web: máy chủ tích hợp sẵn Kestrel (built-in server chạy độc lập, đa nền tảng) và máy chủ proxy ngược bên ngoài (Reverse Proxy như IIS, Apache hoặc Nginx). Reverse Proxy giao tiếp trực tiếp với trình duyệt client qua HTTP, sau đó chuyển tiếp truy vấn đến Kestrel để thực thi mã nguồn logic và nhận lại dữ liệu kết quả, giúp nâng cao tính bảo mật và hiệu năng.

3. Cơ sở dữ liệu của hệ thống gồm bao nhiêu bảng và bảng học viên (student) quản lý những thông tin gì về phụ huynh?
Cơ sở dữ liệu vật lý trên PostgreSQL gồm 15 bảng. Riêng bảng student gồm 28 trường dữ liệu, trong đó nhóm thuộc tính dành riêng cho việc quản lý và liên lạc với phụ huynh bao gồm: Parent_Fullname (họ tên phụ huynh), Parent_PhoneNumber (số điện thoại), Parent_Email (địa chỉ thư điện tử) và Parent_Role (quan hệ/giới tính phụ huynh).

4. Cơ chế kiểm soát bảo mật và phân quyền được thiết kế thông qua các bảng dữ liệu nào?
Hệ thống phân quyền được cấu trúc qua 4 bảng dữ liệu chính: bảng rights (quản lý danh mục quyền), bảng controllerProtectors (gắn mã quyền với tên controller tương ứng để bảo vệ đường dẫn truy cập), bảng rightDetail (phân quyền chi tiết theo nhân viên idUser và chức vụ idJobTitle) và bảng userLog (ghi lại lịch sử thao tác của nhân viên gồm vị trí thực hiện, hành động và thời gian).

5. Ứng dụng được cài đặt thử nghiệm trên cấu hình phần cứng và hệ điều hành nào?
Chương trình thử nghiệm được cài đặt và vận hành trên máy tính cá nhân Laptop Asus, trang bị bộ vi xử lý Intel Core i5-6300U CPU tốc độ 2.50 GHz, chạy trên nền tảng hệ điều hành Windows 10 phiên bản 64-bit.


Kết luận

Đồ án tốt nghiệp của sinh viên Đặng Vũ Hiếu đã giải quyết bài toán nghiệp vụ quản lý giờ giấc sinh hoạt và dinh dưỡng tại các trường mầm non trên địa bàn thành phố Hải Phòng. Thông qua phương pháp phân tích thiết kế hướng cấu trúc, tác giả đã xây dựng được mô hình chức năng, sơ đồ luồng dữ liệu chi tiết và lược đồ cơ sở dữ liệu quan hệ gồm 15 bảng trên PostgreSQL. Kết quả nghiên cứu đã được chuyển hóa thành chương trình thử nghiệm trên nền tảng C# / ASP.NET Core, cung cấp cơ sở kỹ thuật thực tiễn cho việc tin học hóa công tác quản lý tại các cơ sở giáo dục mầm non.