Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin phát triển mạnh mẽ và trở thành công cụ hỗ trợ thiết yếu trong công tác quản lý tại các cơ quan, doanh nghiệp và trường học, việc tin học hóa các quy trình nghiệp vụ giúp nâng cao độ chính xác, tiết kiệm thời gian, giảm thiểu chi phí và bảo đảm an toàn dữ liệu lưu trữ. Tại Trường Mầm non Bảo Châu (Hải Phòng), công tác quản lý dinh dưỡng cho trẻ là nhiệm vụ quan trọng, đòi hỏi phải xử lý khối lượng lớn thông tin về khẩu phần, định lượng dưỡng chất và số lượng suất ăn hàng ngày. Do quy mô học sinh ngày càng tăng, phương thức quản lý và tính toán thủ công bộc lộ nhiều hạn chế như dễ phát sinh sai sót, tốn nhiều thời gian và gây khó khăn trong việc lưu trữ, đối chiếu số liệu.
Nhiệm vụ nghiên cứu của đề tài được xác định cụ thể theo văn bản giao nhiệm vụ tốt nghiệp gồm các nội dung:
- Tìm hiểu về lập trình ứng dụng web trên nền tảng ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySQL.
- Khảo sát và phân tích bài toán quản lý dinh dưỡng thực tế tại Trường Mầm non Bảo Châu.
- Xây dựng ứng dụng phần mềm trên nền tảng web phục vụ công tác quản lý dinh dưỡng.
- Đưa ứng dụng lên môi trường máy chủ (host) và tích hợp vào website trung tâm của đơn vị.
- Các yêu cầu cần giải quyết: Nắm vững mục đích, cách thức thực hiện bài toán nghiệp vụ và xây dựng hoàn chỉnh ứng dụng để vận hành thử nghiệm.
Đối tượng và phạm vi nghiên cứu của đồ án:
- Đối tượng nghiên cứu: Quy trình nghiệp vụ quản lý dinh dưỡng, tính toán định lượng các chất dinh dưỡng (Gluxit, Lipit, Protein), quản lý danh mục thực phẩm, món ăn, thực đơn và lập thực đơn chi tiết theo ngày cho học sinh bán trú.
- Phạm vi không gian: Trường Mầm non Bảo Châu, địa chỉ tại số 29 đường Lực Hành, phường Đằng Lâm, quận Hải An, thành phố Hải Phòng (cơ sở có diện tích khuôn viên trên 4.000 m², gồm 12 phòng học diện tích 46 m²/phòng, 6 phòng chức năng và bếp ăn một chiều diện tích 150 m² phục vụ trẻ từ 18 đến 72 tháng tuổi).
- Phạm vi thời gian: Đề tài được giao thực hiện từ ngày 03/10/2016 đến ngày 30/12/2016.
Cơ sở lý thuyết và phương pháp
Đồ án sử dụng khung lý thuyết về kiến trúc ứng dụng web và các phương pháp phân tích thiết kế hệ thống thông tin hướng cấu trúc:
-
Khung lý thuyết và công nghệ nền tảng:
- Mô hình mạng và dịch vụ web: Lý thuyết về mạng máy tính toàn cầu (Internet), bộ giao thức truyền thông TCP/IP, kiến trúc máy khách - máy chủ (Client - Server), cơ chế hoạt động của World Wide Web (WWW), phân biệt trang web tĩnh và trang web động.
- Ngôn ngữ kịch bản máy chủ PHP: Cơ chế thực thi phía máy chủ (Server-Side), cú pháp kịch bản nhúng trong HTML, các kiểu dữ liệu cơ bản (Integer, Double, String, Boolean, Object, Array), phương thức truyền nhận dữ liệu qua giao thức HTTP (
GET,POST), cơ chế quản lý phiên làm việc (Cookie,Session), cùng các hàm tự định nghĩa và cấu trúc nhúng tập tin (include,require). - Hệ quản trị cơ sở dữ liệu MySQL: Mô hình cơ sở dữ liệu quan hệ, các kiểu dữ liệu lưu trữ (Char, Varchar, Text, Longtext, Int, Float, Double, Date, Datetime), cú pháp truy vấn ngôn ngữ SQL (
CREATE DATABASE,CREATE TABLE,SELECT,INSERT,UPDATE,DELETE), cùng các hàm kết nối và thao tác dữ liệu giữa PHP và MySQL (mysql_connect,mysql_select_db,mysql_query,mysql_num_rows,mysql_fetch_array,mysql_close). - Công nghệ giao diện và máy chủ web: Ngôn ngữ đánh dấu siêu văn bản HTML theo chuẩn W3C, bảng định kiểu tầng (Cascading Style Sheets - CSS), máy chủ HTTP Apache và dịch vụ Internet Information Services (IIS).
-
Phương pháp nghiên cứu thực tế:
- Phương pháp khảo sát hiện trạng: Thu thập dữ liệu thực tế về cơ sở vật chất, quy mô lớp học, số lượng học sinh và quy trình tiếp nhận, chế biến thực phẩm tại Trường Mầm non Bảo Châu.
- Phương pháp phân tích và thiết kế hệ thống theo hướng cấu trúc: Xác định tác nhân, hồ sơ dữ liệu; xây dựng bảng phân tích chức năng - tác nhân - hồ sơ; biểu đồ ngữ cảnh; biểu đồ phân rã chức năng (BFD); ma trận thực thể chức năng; biểu đồ luồng dữ liệu (DFD) mức 0 và mức 1.
- Phương pháp mô hình hóa dữ liệu: Xác định các thực thể nghiệp vụ, thuộc tính và thiết kế cấu trúc bảng dữ liệu quan hệ.
- Phương pháp thực nghiệm phần mềm: Cài đặt, cấu hình hệ thống trên gói phần mềm AppServ và kiểm thử chức năng thông qua trình duyệt web.
-
Nguồn dữ liệu: Dữ liệu nghiệp vụ khảo sát trực tiếp tại bếp ăn và các lớp học của Trường Mầm non Bảo Châu (thông tin 12 phòng học, chỉ số định mức thành phần dinh dưỡng Gluxit, Lipit, Protein trong thực phẩm và thực đơn).
Thiết kế và triển khai
Hệ thống được thiết kế nhằm tự động hóa các khâu tính toán khẩu phần và lưu trữ dữ liệu dinh dưỡng cho nhà bếp của trường mầm non bán trú.
- Kiến trúc và quy trình xử lý nghiệp vụ:
- Tác nhân chính tương tác với hệ thống là "Nhân viên nhà bếp".
- Quy trình vận hành: Nhân viên nhà bếp tiếp nhận danh sách số lượng học sinh ăn bán trú trong ngày (chia theo các bữa: sáng, trưa, tối) từ giáo viên các lớp -> Lựa chọn thực đơn định sẵn dựa trên tiêu chuẩn dinh dưỡng (Gluxit, Lipit, Protein) -> Hệ thống tính toán khối lượng thực phẩm cần thiết -> Cung cấp số liệu cho nhân viên đi chợ mua thực phẩm -> Tiến hành chế biến các món ăn theo thực đơn.
| Thành phần thiết kế | Mô tả chi tiết trong văn bản |
|---|---|
| Tác nhân hệ thống | Nhân viên nhà bếp |
| Hồ sơ dữ liệu chính | Danh sách thực phẩm, Danh sách món ăn, Danh sách thực đơn, Danh sách thực đơn theo ngày |
| Công nghệ phát triển | Ngôn ngữ PHP, CSDL MySQL, HTML, CSS |
| Môi trường chạy máy chủ | AppServ (Apache Web Server, MySQL Server), hỗ trợ IIS |
| Môi trường người dùng | Trình duyệt web: Google Chrome, Mozilla Firefox, Microsoft Internet Explorer |
- Thiết kế cơ sở dữ liệu (các thực thể và thuộc tính):
| Tên thực thể | Tên thuộc tính | Mô tả thuộc tính |
|---|---|---|
| THỰC PHẨM | MathucphamTenthucphamLoaithucphamGiathucphamTp_gluxitTp_lipitTp_protein |
Mã thực phẩm Tên thực phẩm Loại thực phẩm Giá thực phẩm Thành phần Gluxit Thành phần Lipit Thành phần Protein |
| MÓN ĂN | mamonanTenmonanTp_gluxitTp_lipitTp_protein |
Mã món ăn Tên món ăn Thành phần Gluxit Thành phần Lipit Thành phần Protein |
| LỚP HỌC | MalophocTenlophocSohocsinh |
Mã lớp học Tên lớp học Số học sinh |
| THỰC ĐƠN | MathucdonTenthucdonTp_gluxitTp_lipitTp_protein |
Mã thực đơn Tên thực đơn Thành phần Gluxit Thành phần Lipit Thành phần Protein |
- Ma trận thực thể chức năng:
- Chức năng Cập nhật thực phẩm thực hiện quyền Tạo mới (Create - C) và Cập nhật (Update - U) trên thực thể Danh sách thực phẩm.
- Chức năng Chọn thực đơn món ăn theo ngày thực hiện quyền Đọc (Read - R) trên Danh sách thực phẩm và Danh sách món ăn, đồng thời thực hiện Tạo mới (C) và Cập nhật (U) trên Danh sách thực đơn món ăn theo ngày.
Nội dung chính theo từng chương
Chương I: Internet, World Wide Web và HTML
Chương này trình bày các khái niệm nền tảng về mạng máy tính toàn cầu và công nghệ web. Nội dung giới thiệu lịch sử hình thành của Internet từ mạng ARPANET của Bộ Quốc phòng Mỹ, cấu trúc mạng với mô hình Client - Server và các dịch vụ phổ biến như World Wide Web, Email, FTP. Tác giả phân tích cơ chế hoạt động của giao thức TCP/IP, phân loại trang web tĩnh (phân phối tài liệu cố định từ hệ thống tập tin của máy chủ) và website động (xử lý logic và truy vấn cơ sở dữ liệu trên máy chủ trước khi trả về kết quả cho trình duyệt). Ngoài ra, chương này hệ thống hóa các thẻ định dạng HTML cơ bản theo chuẩn W3C, bao gồm cấu trúc trang (<html>, <head>, <title>, <body>), các thẻ văn bản, hình ảnh, bảng (<table>, <tr>, <td>), liên kết (<a>), cùng các thành phần biểu mẫu (<form>, <input>, <textarea>, <select>) phục vụ việc gửi dữ liệu qua phương thức GET và POST.
Chương II: Tổng quan ngôn ngữ PHP và MySQL
Nội dung chương tập trung giới thiệu chi tiết về ngôn ngữ kịch bản mã nguồn mở PHP (khởi nguồn từ năm 1994 bởi Rasmus Lerdorf) và hệ quản trị cơ sở dữ liệu quan hệ MySQL. Tác giả trình bày cú pháp cơ bản của PHP, quy tắc khai báo biến ($), định nghĩa hằng số (define), các kiểu dữ liệu nguyên thủy và phức hợp, cơ chế điều khiển phiên làm việc qua Cookie và Session, cũng như cách tổ chức hàm tái sử dụng (function, include, require). Đối với MySQL, chương nêu rõ mục đích sử dụng CSDL (lưu trữ, truy cập, tổ chức, xử lý), các thuộc tính ràng buộc (NULL, AUTO_INCREMENT, UNSIGNED, PRIMARY KEY), các kiểu dữ liệu chuỗi, số và thời gian, cùng các câu lệnh SQL cơ bản. Chương cũng giới thiệu tập hàm PHP dùng để thao tác với MySQL, khái niệm và tác dụng của bảng định kiểu CSS trong việc phân tách nội dung và định dạng, cùng nguyên lý hoạt động của hai máy chủ web Apache và IIS.
Chương III: Tìm hiểu bài toán quản lý dinh dưỡng của trường mầm non Bảo Châu
Chương III là trọng tâm khảo sát và phân tích thiết kế hệ thống. Tác giả giới thiệu cơ sở thực nghiệm là Trường Mầm non Bảo Châu (thành lập tháng 7/2014 tại quận Hải An, Hải Phòng với diện tích hơn 4.000 m², 12 phòng học, 6 phòng chức năng và bếp ăn một chiều 150 m²). Trên cơ sở yêu cầu quản lý thực phẩm, món ăn và lập thực đơn chi tiết cho trẻ từ 18 đến 72 tháng tuổi, chương trình bày chi tiết:
- Phát biểu bài toán và quy trình nghiệp vụ tính toán dinh dưỡng (Gluxit, Lipit, Protein).
- 4 sơ đồ tiến trình nghiệp vụ: Quản lý thực phẩm, Quản lý món ăn, Quản lý thực đơn và Quản lý thực đơn ngày (gồm các thao tác Tiếp nhận yêu cầu, Kiểm tra hợp lệ, Nhận/Sửa/Xóa thông tin).
- Mô hình nghiệp vụ: Bảng phân tích xác định chức năng - tác nhân - hồ sơ, biểu đồ ngữ cảnh, biểu đồ phân rã chức năng (gồm 4 nhóm chức năng chính: 1.0 Cập nhật thực phẩm, 2.0 Cập nhật món ăn, 3.0 Tạo thực đơn món ăn, 4.0 Chọn thực đơn món ăn theo ngày với các chức năng lá tạo, sửa, xóa).
- Ma trận thực thể chức năng và hệ thống biểu đồ luồng dữ liệu (DFD mức 0 và các DFD mức 1 tương ứng cho từng nhóm chức năng).
- Thiết kế cơ sở dữ liệu với 4 bảng thực thể chi tiết: Thực phẩm, Món ăn, Lớp học, Thực đơn.
Chương IV: Chương trình thực nghiệm
Chương IV trình bày việc cài đặt và chạy thử nghiệm hệ thống. Tác giả giới thiệu môi trường thử nghiệm trên máy tính cá nhân sử dụng gói phần mềm tích hợp AppServ để chạy Web Server Apache, cơ sở dữ liệu MySQL và trình thông dịch PHP. Chương giới thiệu các giao diện chính của ứng dụng phục vụ nhân viên nhà bếp thực hiện việc nhập liệu danh mục thực phẩm, phối hợp món ăn, tạo lập thực đơn và tính toán số lượng thực phẩm phục vụ bữa ăn bán trú theo ngày.
Kết quả và đóng góp
-
Kết quả chính:
- Khảo sát và mô hình hóa thành công quy trình nghiệp vụ quản lý dinh dưỡng tại Trường Mầm non Bảo Châu, chuẩn hóa các tiêu chí dinh dưỡng cần tính toán bao gồm Gluxit, Lipit và Protein.
- Xây dựng đầy đủ tài liệu phân tích thiết kế hệ thống theo phương pháp cấu trúc, bao gồm 4 sơ đồ tiến trình nghiệp vụ, biểu đồ phân rã chức năng 4 nhóm cấp 1, ma trận thực thể chức năng và hệ thống biểu đồ luồng dữ liệu DFD từ mức ngữ cảnh, mức 0 đến mức 1.
- Thiết kế hoàn chỉnh cấu trúc cơ sở dữ liệu gồm 4 bảng thực thể:
THỰC PHẨM(7 thuộc tính),MÓN ĂN(5 thuộc tính),LỚP HỌC(3 thuộc tính) vàTHỰC ĐƠN(5 thuộc tính). - Xây dựng chương trình ứng dụng trên nền tảng web (PHP/MySQL) và thực nghiệm thành công các chức năng quản lý danh mục thực phẩm, món ăn, thực đơn và lập thực đơn theo ngày trên môi trường máy chủ cục bộ AppServ.
-
Giải pháp đề xuất:
- Áp dụng phần mềm quản lý web động thay thế cho phương thức ghi chép và tính toán thủ công tại bếp ăn nhà trường.
- Tích hợp công thức tính toán tự động định lượng dinh dưỡng dựa trên sĩ số học sinh ăn thực tế (sáng, trưa, tối) của từng lớp học để xuất danh sách thực phẩm đi chợ chính xác.
-
Đóng góp của đề tài:
- Đồ án giải quyết bài toán thực tế của Trường Mầm non Bảo Châu, cung cấp công cụ hỗ trợ nhân viên nhà bếp tiết kiệm thời gian, hạn chế sai sót số liệu và đảm bảo định lượng dinh dưỡng cho trẻ theo quy định.
Hạn chế và hướng nghiên cứu tiếp
-
Hạn chế của đề tài:
- Hệ thống mới được triển khai và chạy thử nghiệm trên môi trường máy chủ cục bộ (AppServ/localhost), chưa hoàn thành việc đưa lên máy chủ Internet (host) và tích hợp vào website trung tâm như mục tiêu mở rộng ban đầu.
- Cơ sở dữ liệu mới tập trung vào 4 bảng thực thể cơ bản, chưa bao quát đầy đủ các quan hệ chi tiết đa - đa (như bảng trung gian chi tiết thực phẩm trong từng món ăn hoặc chi tiết món ăn trong từng thực đơn).
-
Hướng nghiên cứu và phát triển tiếp theo:
- Đưa ứng dụng lên môi trường hosting thực tế và thực hiện tích hợp hoàn chỉnh vào website trung tâm của nhà trường.
- Hoàn thiện các chức năng báo cáo, thống kê chi tiết chi phí mua sắm thực phẩm theo tuần, tháng và mở rộng các chỉ số vi chất dinh dưỡng khác.
Giá trị tham khảo
- Đối tượng tham khảo:
- Sinh viên ngành Công nghệ thông tin, đặc biệt là hệ đại học liên thông hoặc cao đẳng đang thực hiện đồ án tốt nghiệp về xây dựng ứng dụng web quản lý với PHP và MySQL.
- Lập trình viên và cán bộ quản lý đang nghiên cứu bài toán tin học hóa quản lý dinh dưỡng, khẩu phần ăn bán trú tại các trường mầm non và tiểu học.
- Phần nội dung đáng tham khảo:
- Phương pháp phân tích thiết kế hệ thống thông tin hướng cấu trúc (Chương III), đặc biệt là cách xây dựng sơ đồ tiến trình nghiệp vụ, biểu đồ phân rã chức năng và biểu đồ luồng dữ liệu DFD gắn liền với nghiệp vụ bếp ăn bán trú.
Câu hỏi thường gặp
1. Đề tài được khảo sát và xây dựng cho đơn vị cụ thể nào?
Đề tài được xây dựng dựa trên bài toán thực tế tại Trường Mầm non Bảo Châu, địa chỉ tại số 29 đường Lực Hành, phường Đằng Lâm, quận Hải An, thành phố Hải Phòng. Cơ sở này được thành lập từ tháng 7/2014 với diện tích khuôn viên trên 4.000 m², quy mô 12 phòng học (46 m²/phòng), 6 phòng chức năng và bếp ăn một chiều 150 m² phục vụ trẻ từ 18 đến 72 tháng tuổi.
2. Các chỉ số dinh dưỡng chính được hệ thống quản lý và tính toán là gì?
Hệ thống quản lý và tính toán ba thành phần dinh dưỡng cơ bản trong thực phẩm, món ăn và thực đơn theo quy định của chuyên gia dinh dưỡng, bao gồm: Gluxit (Tp_gluxit), Lipit (Tp_lipit), và Protein (Tp_protein).
3. Hệ thống quản lý dinh dưỡng bao gồm những phân hệ chức năng chính nào?
Hệ thống được phân rã thành 4 nhóm chức năng chính:
- Nhóm 1.0: Cập nhật thực phẩm (Tạo, sửa, xóa thông tin thực phẩm).
- Nhóm 2.0: Cập nhật món ăn (Tạo, sửa, xóa thông tin món ăn).
- Nhóm 3.0: Tạo thực đơn món ăn (Tạo, sửa, xóa thông tin thực đơn).
- Nhóm 4.0: Chọn thực đơn món ăn theo ngày (Tạo, sửa, xóa chi tiết thực đơn theo ngày dựa trên sĩ số học sinh ăn thực tế).
4. Cơ sở dữ liệu của hệ thống gồm các thực thể nào và lưu trữ thông tin gì?
Cơ sở dữ liệu gồm 4 thực thể chính:
THỰC PHẨM: Lưu trữ mã, tên, loại, đơn giá và các hàm lượng Gluxit, Lipit, Protein.MÓN ĂN: Lưu trữ mã, tên món và tổng hàm lượng Gluxit, Lipit, Protein của món.LỚP HỌC: Lưu trữ mã lớp, tên lớp và số lượng học sinh.THỰC ĐƠN: Lưu trữ mã thực đơn, tên thực đơn và tổng các thành phần Gluxit, Lipit, Protein.
5. Công nghệ và môi trường thực nghiệm được tác giả sử dụng là gì?
Hệ thống được lập trình bằng ngôn ngữ PHP kết hợp cơ sở dữ liệu MySQL, giao diện định dạng bằng HTML và CSS. Môi trường thực nghiệm được triển khai cục bộ thông qua bộ công cụ AppServ (tích hợp Apache Web Server và MySQL Command Line Client) trên hệ điều hành Windows và kiểm thử trên các trình duyệt web phổ biến (Google Chrome, Firefox, Internet Explorer).
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống quản lý dinh dưỡng trong trường bán trú" của sinh viên Vũ Văn Mạnh đã giải quyết bài toán tin học hóa công tác tính toán khẩu phần ăn cho Trường Mầm non Bảo Châu (Hải Phòng). Tác giả đã hoàn thành việc khảo sát hiện trạng, phân tích thiết kế hệ thống thông tin hướng cấu trúc và xây dựng cơ sở dữ liệu gồm 4 thực thể chính phục vụ tính toán các chỉ số Gluxit, Lipit, Protein. Ứng dụng web được phát triển trên nền tảng PHP/MySQL và thử nghiệm thành công trên môi trường AppServ, cung cấp giải pháp thiết thực hỗ trợ nhân viên nhà bếp lập thực đơn và quản lý thực phẩm bán trú hiệu quả.