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

Khóa luận tốt nghiệp "Thiết kế và xây dựng Website quản lý nhà hàng" được sinh viên Phạm Thiên Lý thực hiện dưới sự hướng dẫn của TS. Vũ Đức Quảng tại Khoa Công nghệ Thông tin, Trường Đại học Quảng Nam (khóa 2015 – 2019, hoàn thành vào tháng 4 năm 2019). Nghiên cứu thuộc chuyên ngành Công nghệ thông tin, tập trung vào lĩnh vực công nghệ phần mềm và phát triển hệ thống thông tin web.

Về bối cảnh thực tiễn, tác giả chỉ ra rằng tin học hóa và ứng dụng công nghệ thông tin đã trở thành yếu tố quyết định hiệu quả vận hành của các tổ chức, doanh nghiệp trong thời đại Internet phổ cập. Đối với doanh nghiệp kinh doanh dịch vụ ẩm thực, việc sở hữu một website riêng biệt vừa là kênh quảng bá thực đơn, dịch vụ và tiếp cận khách hàng trực tuyến kịp thời, vừa đóng vai trò như một công cụ quản lý điều hành nhịp nhàng nhằm thay thế các phương thức thủ công truyền thống, giảm thiểu sai sót và tăng năng lực cạnh tranh. Trên cơ sở đó, đề tài đi sâu giải quyết bài toán quản lý vận hành thực tế tại Nhà hàng Trầu Cau – một cơ sở kinh doanh dịch vụ ăn uống có quy mô phục vụ lớn, lượng nhân sự đông và quy trình nghiệp vụ phức tạp.

Mục tiêu nghiên cứu được văn bản phân định rõ thành 4 nội dung cụ thể:

  1. Hiểu được phương pháp thiết kế và lập trình một website quản lý.
  2. Tìm hiểu, nắm bắt cấu trúc và nguyên lý hoạt động của các ngôn ngữ, công nghệ lập trình web gồm Node.js, HTML, CSS và JavaScript.
  3. Sử dụng thành thạo các ngôn ngữ và công nghệ nêu trên để xây dựng sản phẩm website hoàn chỉnh.
  4. Xây dựng thành công ứng dụng website quản lý phục vụ đầy đủ các nhu cầu nghiệp vụ thực tế của Nhà hàng Trầu Cau.

Đối tượng và phạm vi nghiên cứu của khóa luận được xác lập như sau:

  • Đối tượng nghiên cứu: Các ngôn ngữ và công cụ phát triển web bao gồm HTML, CSS, JavaScript, hệ quản trị cơ sở dữ liệu PostgreSQL, môi trường thực thi Node.js cùng các thư viện, framework liên quan (tiêu biểu là Express); quy trình nghiệp vụ quản lý bán hàng, quản lý kho, nhân sự và thanh toán của Nhà hàng Trầu Cau.
  • Phạm vi nghiên cứu: Về không gian, đề tài triển khai ứng dụng quản lý áp dụng trực tiếp tại Nhà hàng Trầu Cau, vận hành trong môi trường mạng nội bộ nhiều máy trạm kết hợp khả năng phục vụ khách hàng trực tuyến qua Internet; về thời gian, dữ liệu khảo sát và các mốc thực nghiệm được hoàn tất trong giai đoạn đào tạo 2015 – 2019, nghiệm thu vào tháng 4/2019.

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

Khung lý thuyết của đề tài được xây dựng trên mô hình kiến trúc phân tầng của ứng dụng web, bao gồm hai mảng thành phần chính: Lập trình giao diện (Front-end) và Lập trình xử lý máy chủ (Back-end).

Về mặt công nghệ và lý thuyết nền tảng:

  • Lập trình Front-end: Khóa luận tiếp cận chuẩn ngôn ngữ đánh dấu siêu văn bản HTML5, phân tích cấu trúc thẻ cơ bản (<html>, <head>, <body>), hệ thống thẻ ngữ nghĩa và giao diện điều khiển. Định kiểu giao diện sử dụng Cascading Style Sheets (CSS) với ba phương thức nhúng (Inline, Internal, External) kết hợp CSS Selector để phân tách nội dung và hình thức hiển thị. Ngôn ngữ kịch bản JavaScript được nghiên cứu ở cả khía cạnh thao tác cây đối tượng tài liệu (DOM), xử lý sự kiện bất đồng bộ, kiểm tra dữ liệu đầu vào phía người dùng; đồng thời khảo sát thư viện jQuery hỗ trợ xử lý sự kiện, hiệu ứng và cơ chế Ajax cho ứng dụng đơn trang (SPA).
  • Lập trình Back-end: Văn bản tổng quan các ngôn ngữ máy chủ phổ biến (PHP, Python, Ruby, Perl, Go), từ đó luận chứng việc lựa chọn nền tảng Node.js xây dựng trên bộ biên dịch V8 JavaScript Engine của Google. Tác giả phân tích sâu cơ chế kiến trúc hướng sự kiện (Event-driven) và mô hình vào/ra không chặn (Non-blocking I/O API) thông qua vòng lặp sự kiện (Event Loop) và hàng đợi sự kiện (Event Queue). Trên nền tảng Node.js, khóa luận sử dụng framework Express theo mô hình kiến trúc MVC (Model - View - Controller), quản lý định tuyến (Router), các tầng phần mềm trung gian (Middleware) và xây dựng giao diện lập trình ứng dụng RESTful API.
  • Cơ sở dữ liệu: Nghiên cứu ứng dụng hệ quản trị cơ sở dữ liệu quan hệ hướng đối tượng PostgreSQL (phát triển từ dự án POSTGRES 4.2 của Đại học California tại Berkeley). Tác giả phân tích năng lực hỗ trợ kiểu dữ liệu phức tạp, khả năng mở rộng dữ liệu, tính toàn vẹn và mức giới hạn lưu trữ dữ liệu quy mô lớn so với các hệ cơ sở dữ liệu mã nguồn mở khác.

Phương pháp nghiên cứu được tác giả kết hợp ba phương pháp chính:

  • Phương pháp quan sát: Quan sát trực tiếp các khâu vận hành thực tế tại Nhà hàng Trầu Cau từ tiếp nhận khách, ghi yêu cầu món, chuyển đơn vào bếp, thanh toán hóa đơn đến xuất nhập nguyên vật liệu tại kho.
  • Phương pháp phỏng vấn: Thực hiện trao đổi, phỏng vấn người quản lý, nhân viên thu ngân, nhân viên kho và nhân viên phục vụ để nắm bắt quy trình nghiệp vụ, khó khăn gặp phải và các yêu cầu chức năng mới.
  • Phương pháp thực nghiệm: Cài đặt môi trường máy chủ Node.js, hệ quản trị PostgreSQL, viết mã nguồn kiểm thử các chức năng từ xử lý tuyến đường (routes), thao tác cơ sở dữ liệu đến giao diện hiển thị trên trình duyệt.

Nguồn dữ liệu của khóa luận bao gồm tài liệu kỹ thuật chuẩn về Node.js, Express, PostgreSQL; dữ liệu khảo sát hiện trạng hệ thống cũ và mẫu biểu nghiệp vụ thu thập từ Nhà hàng Trầu Cau.

Thiết kế và triển khai hệ thống

Trên cơ sở khảo sát thực tế, tác giả chỉ ra hệ thống phần mềm cũ tại Nhà hàng Trầu Cau vận hành trên nền hệ điều hành Windows XP, tuy có ưu điểm nhẹ và hỗ trợ nhập hóa đơn linh hoạt nhưng bộc lộ nhiều điểm hạn chế: giao diện thiếu tính thẩm mỹ, thiếu giải pháp bảo mật dữ liệu, chỉ tập trung vào lưu trữ thu chi cơ bản và hoàn toàn thiếu cơ chế tương tác trực tuyến với khách hàng.

Hệ thống mới được thiết kế theo mô hình mạng đa máy trạm kết nối cơ sở dữ liệu tập trung qua giao thức TCP/IP, hỗ trợ phân quyền người dùng và mở rộng tính năng đặt bàn từ xa cho khách hàng.

Hệ thống xác định 5 tác nhân chính (Actors) và các quyền hạn nghiệp vụ tương ứng:

Tác nhân (Actor) Phạm vi quyền hạn và nhiệm vụ chính
Người quản lý Xem báo cáo doanh thu; quản lý thông tin nhân viên (thêm, sửa, xóa, điểm danh, tính trừ lương/thưởng); cập nhật tài khoản đăng nhập; quản lý thực đơn (thêm, sửa, xóa món).
Nhân viên thu ngân Thống kê doanh thu theo chu kỳ tháng; khởi tạo và bổ sung hóa đơn mới; cập nhật trạng thái thanh toán; in và lưu trữ hóa đơn vào cơ sở dữ liệu.
Nhân viên kho Nhập thông tin và kiểm kê nguyên vật liệu; thêm nguyên liệu mới hoặc xóa nguyên liệu ngừng nhập; kiểm tra tình trạng hàng tồn; in phiếu nhập kho.
Nhân viên phục vụ Đăng nhập ca trực; tìm kiếm món và bàn trống; ghi nhận gọi món trực tiếp; in order; tiếp nhận đặt chỗ từ xa, hỗ trợ ghép/rời bàn ăn.
Khách hàng Tra cứu danh mục món ăn theo mã/tên; thực hiện đặt bàn trực tuyến; hủy đặt bàn trước thời gian quy định; gửi yêu cầu gọi món từ xa.

Quy trình nghiệp vụ của hệ thống được chuẩn hóa qua 5 nhóm đặc tả yêu cầu (R1 đến R5):

  • R1 (Nhập nguyên vật liệu): Kiểm kê, chỉnh sửa thông tin nguyên vật liệu nhập kho, cập nhật sổ chi và lưu đơn đặt hàng.
  • R2 (Khách đặt bàn & gọi món): Hỗ trợ gọi món trực tiếp tại bàn hoặc lựa chọn món ăn qua giao diện website trực tuyến.
  • R3 (Thanh toán): Tính tổng tiền, áp dụng trừ phí cọc hủy bàn (nếu có), in hóa đơn trực tiếp hoặc cập nhật trạng thái thanh toán của đơn đặt hàng trực tuyến thông qua nhân viên giao hàng.
  • R4 (Thống kê): Định kỳ cuối tháng, người quản lý trích xuất báo cáo tổng hợp nguyên vật liệu nhập, hàng tồn kho và doanh thu thực tế.
  • R5 (Tra cứu thông tin): Hỗ trợ nhân viên tra cứu danh mục hàng hóa, nhân sự phục vụ vận hành.

Mô hình dữ liệu của khóa luận được cụ thể hóa thông qua lược đồ lớp và đối tượng CSDL gồm các thực thể cốt lõi:

  • BAN (ma_ban, ma_loaiban, ten_ban, vitri, tinhtrang)
  • HOADON (ma_hd, ma_ban, ma_nv, ngaylap, masp, tongtien, ghichu) liên kết quan hệ 1:1 với BAN và 1:n với chi tiết món.
  • PHIEUNHAP (ma_pn, ten_pn, ma_nv, ma_kho, ma_ncc, ngaynhap, tongtien, ghichu) quan hệ 1:n với nhà cung cấp và kho.
  • NHACUNGCAP (ma_ncc, ten_ncc, diachi, sdt)
  • KHO (ma_kho, ten_kho, mota)
  • NGUYENVATLIEU (ma_nvl, ten_nvl, loainvl, hsd, soluong, dongia)
  • NHANVIEN (ma_nv, ten_nv, pass) và USER (ma_user, ten_user, pass) phục vụ kiểm soát đăng nhập hệ thống.

Về quy trình triển khai, ứng dụng yêu cầu thiết lập máy chủ dịch vụ bằng Node.js, sử dụng gói quản lý npm để tải các thư viện phụ thuộc, cấu hình tệp app.js và package.json, kết hợp tạo lập cấu trúc bảng trong hệ quản trị cơ sở dữ liệu PostgreSQL. Phía máy khách chỉ cần trang bị các trình duyệt web hiện đại có khả năng thông dịch HTML5/JavaScript để truy cập giao diện hệ thống.

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

Chương 1: Cơ sở lý thuyết

Chương 1 hệ thống hóa toàn bộ các khối kiến thức lý thuyết cần thiết phục vụ việc xây dựng trang web. Tác giả mở đầu bằng việc phân biệt rõ hai mảng lập trình Front-end và Back-end. Đối với Front-end, tác giả trình bày nguồn gốc, vai trò của HTML5 và lập bảng danh mục các thẻ định dạng, nhập liệu, cấu trúc tài liệu. Phân tích kỹ thuật CSS làm rõ 3 cách áp dụng kiểu dáng (Inline, Internal, External) và nguyên lý bộ chọn CSS Selector. Với JavaScript, khóa luận khái quát lịch sử phát triển từ tên gọi Mocha, LiveScript đến phiên bản chuẩn hóa; nêu rõ cơ chế thông dịch trên trình duyệt, các từ khóa cú pháp cơ bản (var, function, if...else, for, try...catch), ưu nhược điểm của ngôn ngữ và cách tích hợp thư viện jQuery hỗ trợ tương tác DOM.

Ở mảng Back-end, tác giả đánh giá khái quát các ngôn ngữ máy chủ (PHP, Python, Ruby, Perl, Go), từ đó đi sâu vào Node.js. Khóa luận mô tả chi tiết mô hình xử lý yêu cầu của Node.js: máy khách gửi request, hệ thống đưa vào Event Queue, Event Loop điều phối đơn luồng để xử lý các tác vụ Non-blocking I/O hoặc ủy thác cho luồng nội bộ khi gặp các tác vụ Blocking I/O nặng (tương tác cơ sở dữ liệu, tệp tin). Tiếp đó, tác giả phân tích kiến trúc module Express gồm các thư mục routes, views, public, cấu hình app.js và cách thiết lập router xử lý các phương thức HTTP. Phần cuối chương dành để giới thiệu hệ quản trị cơ sở dữ liệu quan hệ hướng đối tượng PostgreSQL, phân tích ưu điểm tuân thủ chuẩn SQL, hỗ trợ đa người dùng và khả năng lưu trữ vượt trội thông qua bảng thông số kỹ thuật:

Thông số giới hạn kỹ thuật Giá trị trong PostgreSQL
Kích thước tối đa của cơ sở dữ liệu Không giới hạn
Kích thước tối đa của một bảng (table) 32 TB
Kích thước tối đa của một hàng (row) 1.6 TB
Kích thước tối đa của một trường (field) 1 GB
Số lượng hàng tối đa trên mỗi bảng Không giới hạn
Số lượng cột tối đa trên mỗi bảng 250 - 1600 (tùy thuộc vào kiểu cột)
Số lượng chỉ mục (index) tối đa trên mỗi bảng Không giới hạn

Chương 2: Xây dựng website quản lý nhà hàng

Chương 2 là nội dung trọng tâm của đề tài, tập trung giải quyết bài toán nghiệp vụ cụ thể tại Nhà hàng Trầu Cau. Tác giả trình bày chi tiết kết quả khảo sát thực tế, phân tích ưu nhược điểm của hệ thống cũ và xác lập mục tiêu cho hệ thống mới: hỗ trợ đầy đủ các nghiệp vụ quản lý nhập xuất kho, điều phối bàn ăn (thêm, ghép, chuyển bàn), theo dõi công nợ, quản lý thẻ ưu đãi, chiết khấu và lập báo cáo tài chính đa chiều.

Dựa trên yêu cầu nghiệp vụ, chương này chuẩn hóa 5 nhóm đặc tả yêu cầu (R1 đến R5), phân loại chi tiết các tác nhân (Actors) và xây dựng hệ thống 9 trường hợp sử dụng chính (Use Case):

  • UC_Dangnhap: Xác thực phiên làm việc của nhân viên và quản lý.
  • UC_Nhapnguyenvatlieu: Quản lý tiếp nhận hàng hóa đầu vào từ nhà cung cấp.
  • UC_Bansp: Quản lý chọn bàn, gọi món tại chỗ và tiếp nhận đặt chỗ trực tuyến.
  • UC_Thanhtoan: Tính tiền, xuất hóa đơn và xử lý tiền đặt cọc.
  • UC_Thongke: Thống kê doanh thu theo tháng và kiểm kê kho hàng tuần.
  • UC_Timkiem: Tra cứu thông tin món ăn theo mã định danh.
  • UC_Capnhatnvl: Điều chỉnh thông tin, số lượng và hủy bỏ nguyên vật liệu hỏng.
  • UC_Capnhatsp: Cập nhật danh mục thực đơn của nhà hàng.
  • UC_Quanlynhanvien: Cập nhật hồ sơ, điểm danh và quản lý chế độ thưởng phạt.

Tác giả hiện thực hóa các use case trên thông qua hệ thống sơ đồ thiết kế: biểu đồ ca sử dụng tổng quát, sơ đồ đối tượng hệ thống, biểu đồ tuần tự (Sequence Diagram) và biểu đồ cộng tác (Collaboration Diagram) cho chức năng đăng nhập, cùng các biểu đồ trạng thái (State Diagram) cho 10 thực thể (nhà cung cấp, hóa đơn, phiếu nhập, nhân viên, món, khách hàng, kho, bàn, user). Cuối chương là thiết kế chi tiết các bảng dữ liệu trong PostgreSQL.

Chương 3: Demo chương trình

Chương 3 trình bày kết quả hiện thực hóa phần mềm và kịch bản vận hành thử nghiệm Website quản lý Nhà hàng Trầu Cau. Tác giả cung cấp tài liệu hướng dẫn cài đặt chi tiết trên môi trường máy chủ (Server) gồm các bước cài đặt môi trường chạy Node.js, thiết lập hệ quản trị cơ sở dữ liệu PostgreSQL, nạp cấu trúc cơ sở dữ liệu và kích hoạt ứng dụng thông qua Express; đối với máy khách (Client), tài liệu hướng dẫn truy cập qua giao diện trình duyệt web.

Chương này minh họa kết quả chạy thử nghiệm hệ thống qua hai phân hệ giao diện chính:

  • Phân hệ quản trị (Dành cho Quản lý và Nhân viên): Giao diện đăng nhập quản trị hệ thống, màn hình cập nhật thông tin thực đơn, cập nhật nhân viên, giao diện lập phiếu bán hàng/hóa đơn, và màn hình trích xuất thống kê báo cáo doanh thu, tình trạng xuất nhập kho.
  • Phân hệ khách hàng: Giao diện trực quan cho phép khách hàng duyệt thực đơn, tra cứu thông tin món ăn, chọn bàn và gửi yêu cầu đặt chỗ trước từ xa.

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

Về kết quả kỹ thuật, đề tài đã thiết kế và xây dựng thành công một website quản lý nhà hàng hoạt động dựa trên sự kết hợp giữa Node.js, framework Express và cơ sở dữ liệu PostgreSQL. Hệ thống đã số hóa thành công các chu trình nghiệp vụ quản lý bán hàng, đặt bàn, kiểm soát kho nguyên vật liệu, thanh toán hóa đơn và quản lý nhân sự cho Nhà hàng Trầu Cau.

Về giải pháp đề xuất, tác giả đã đưa ra phương án thay thế phần mềm đơn lẻ chạy cục bộ trên nền Windows XP cũ bằng một hệ thống ứng dụng web đa máy trạm, cho phép kết nối dữ liệu thông suốt qua mạng máy tính, mở rộng phương thức giao tiếp trực tuyến với khách hàng và tự động hóa công tác lập báo cáo doanh thu, công nợ định kỳ.

Về mặt đóng góp, văn bản tự xác định hai giá trị chính:

  1. Đóng góp về mặt học thuật và kỹ năng: Giúp người nghiên cứu hiểu rõ hơn về phương pháp lập trình web hiện đại, nắm vững cơ chế kết hợp giữa các công nghệ HTML, CSS, JavaScript, Node.js và PostgreSQL để xây dựng một ứng dụng web quản lý hoàn chỉnh.
  2. Đóng góp về mặt thực tiễn: Cung cấp một công cụ ứng dụng cụ thể cho Nhà hàng Trầu Cau, hỗ trợ ban quản lý giám sát minh bạch, điều hành các hoạt động kinh doanh nhịp nhàng, góp phần giảm chi phí vận hành và thúc đẩy hiệu quả kinh doanh của nhà hàng.

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

Về mặt hạn chế, căn cứ trên phạm vi nghiên cứu được văn bản công bố, hệ thống mới chỉ được khảo sát, thiết kế và thử nghiệm giới hạn trong phạm vi nghiệp vụ đặc thù của Nhà hàng Trầu Cau. Việc ứng dụng Node.js tuy mang lại hiệu quả cao về xử lý đa kết nối và phản hồi thời gian thực nhưng tác giả cũng ghi nhận nhược điểm của nền tảng này khi xử lý các tác vụ tiêu tốn nhiều tài nguyên CPU chuyên sâu (như mã hóa, xử lý đa phương tiện nặng). Bên cạnh đó, các vấn đề về tối ưu hóa tính tương thích giao diện trên nhiều độ phân giải thiết bị di động (Responsive) và các cơ chế bảo mật chuyên sâu phía máy chủ chưa được khóa luận đi sâu giải quyết triệt để.

Về hướng phát triển tiếp theo, từ các nội dung phân tích trong văn bản, hệ thống có thể mở rộng nghiên cứu theo các hướng:

  • Tích hợp thêm các khối Addon viết bằng C++ kết nối với Node.js để tăng tốc độ xử lý đối với các tác vụ tính toán phức tạp hoặc khối lượng dữ liệu lớn.
  • Bổ sung và hoàn thiện các module thanh toán trực tuyến, hoàn thiện giao tiếp API thời gian thực phục vụ khách hàng trên ứng dụng di động.
  • Nâng cấp cơ chế phân quyền bảo mật nâng cao và các giải pháp phòng chống lỗ hổng web trong môi trường Internet công cộng.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo hữu ích cho các nhóm đối tượng sau:

  • Sinh viên chuyên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Tài liệu cung cấp một trường hợp nghiên cứu cụ thể (case study) về đồ án tốt nghiệp phát triển ứng dụng web Full-stack từ khâu khảo sát thực tế, phân tích ca sử dụng đến cài đặt hệ thống.
  • Người làm đề tài về hệ thống thông tin quản lý bán hàng/nhà hàng: Các phần phân tích ca sử dụng (Chương 2), đặc tả luồng xử lý (R1 - R5) và thiết kế lược đồ quan hệ thực thể cơ sở dữ liệu (HOADON, PHIEUNHAP, NGUYENVATLIEU, BAN) có giá trị tham khảo trực tiếp khi xây dựng bài toán tương tự.
  • Lập trình viên mới tiếp cận bộ công nghệ Node.js và PostgreSQL: Phần trình bày cơ sở lý thuyết tại Chương 1 cung cấp tổng quan rõ ràng về cơ chế Event Loop, Non-blocking I/O của Node.js cũng như các thông số giới hạn lưu trữ dữ liệu của hệ quản trị PostgreSQL.

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

1. Khóa luận sử dụng hệ quản trị cơ sở dữ liệu nào và kích thước tối đa của một bảng (table) trong cơ sở dữ liệu đó là bao nhiêu?
Khóa luận sử dụng hệ quản trị cơ sở dữ liệu quan hệ hướng đối tượng PostgreSQL. Theo bảng số liệu thống kê kích thước dữ liệu được tác giả trình bày tại Chương 1, kích thước tối đa của một bảng trong PostgreSQL đạt mức 32 TB, trong khi kích thước toàn bộ cơ sở dữ liệu là không giới hạn.

2. Hệ thống phần mềm cũ tại Nhà hàng Trầu Cau có những ưu điểm và hạn chế kỹ thuật gì?
Hệ thống cũ chạy trên hệ điều hành Windows XP, có ưu điểm là đơn giản, dễ dùng, cấu hình nhẹ và hỗ trợ nhập hóa đơn linh hoạt. Tuy nhiên, hệ thống này bộc lộ nhược điểm: giao diện không mang tính mỹ thuật, bảo mật kém, chỉ lưu trữ thu chi cơ bản và không đáp ứng được yêu cầu bán hàng, giao tiếp với khách qua mạng.

3. Cơ chế xử lý yêu cầu bất đồng bộ của ứng dụng Node.js được tác giả mô tả ra sao?
Khi máy khách gửi yêu cầu, Web Service của Node.js tiếp nhận và đưa vào hàng đợi Event Queue. Thành phần Event Loop sử dụng một luồng đơn để kiểm tra hàng đợi. Nếu yêu cầu là Non-blocking I/O, hệ thống xử lý ngay và chuẩn bị phản hồi; nếu chứa các tác vụ Blocking I/O (truy xuất cơ sở dữ liệu, đọc ghi tệp), hệ thống sẽ chỉ định một luồng nội bộ riêng để xử lý, sau đó gửi kết quả phản hồi lại cho Event Loop để trả về client.

4. Khóa luận thiết lập bao nhiêu use case nghiệp vụ chính và những tác nhân nào tương tác với hệ thống?
Khóa luận xây dựng 9 use case chính bao gồm: UC_Dangnhap, UC_Nhapnguyenvatlieu, UC_Bansp, UC_Thanhtoan, UC_Thongke, UC_Timkiem, UC_Capnhatnvl, UC_Capnhatsp, và UC_Quanlynhanvien. Các tác nhân chính tương tác gồm: Người quản lý, Nhân viên thu ngân, Nhân viên kho, Nhân viên phục vụ và Khách hàng (ngoài ra còn có các tác nhân liên quan như Nhà cung cấp, Nhân viên bảo trì).

5. Trong thiết kế cơ sở dữ liệu của khóa luận, thực thể HOADON và PHIEUNHAP chứa các trường thuộc tính nào?
Theo sơ đồ đối tượng tại Chương 2, thực thể HOADON gồm các thuộc tính: ma_hd, ma_ban, ma_nv, ngaylap, masp, tongtien, ghichu. Thực thể PHIEUNHAP gồm các thuộc tính: ma_pn, ten_pn, ma_nv, ma_kho, ma_ncc, ngaynhap, tongtien, ghichu.

Kết luận

Khóa luận tốt nghiệp của sinh viên Phạm Thiên Lý đã giải quyết trọn vẹn mục tiêu nghiên cứu thông qua việc phân tích, thiết kế và xây dựng thành công Website quản lý Nhà hàng Trầu Cau. Tác giả đã vận dụng hiệu quả các công nghệ web hiện đại gồm Node.js, framework Express và hệ quản trị cơ sở dữ liệu PostgreSQL nhằm số hóa đồng bộ các quy trình quản lý thực đơn, đặt bàn, kho hàng và thu chi. Kết quả nghiên cứu không chỉ mang lại giá trị ứng dụng thực tiễn cho cơ sở kinh doanh mà còn cung cấp một tài liệu tham khảo chi tiết về quy trình kỹ thuật phát triển phần mềm ứng dụng web.