Bối cảnh và vấn đề nghiên cứu
Trong xu thế phát triển của công nghệ thông tin và mạng Internet toàn cầu, các doanh nghiệp kinh doanh dịch vụ đang từng bước chuyển đổi số quy trình vận hành và tiếp cận thị trường. Việc xây dựng một kênh thông tin độc lập kết hợp nền tảng thương mại điện tử giúp các đơn vị kinh doanh quảng bá thương hiệu, tiếp cận lượng lớn khách hàng tiềm năng, tiết kiệm chi phí vận hành và giải quyết các vướng mắc trong khâu quản lý nội bộ. Nhằm ứng dụng các kiến thức chuyên ngành công nghệ thông tin vào bài toán thực tế của ngành dịch vụ ẩm thực và bán lẻ, nhóm tác giả Trần Lê Huy và Lưu Hà Nhật Quỳnh (lớp 22GIT1, Khoa Khoa học Máy tính, Trường Đại học Công nghệ thông tin & Truyền thông Việt - Hàn, Đại học Đà Nẵng) đã thực hiện Đồ án cơ sở 2 với đề tài: "HỆ THỐNG COFFEE HYTALEE COFFEE" dưới sự hướng dẫn của TS. Trần Văn Đại vào tháng 12 năm 2023.
Mục tiêu và nhiệm vụ nghiên cứu của đồ án được xác định gồm các nội dung chính:
- Xây dựng một website cung cấp dịch vụ đặt hàng (order) sản phẩm trực tuyến phục vụ hệ thống Hytalee Coffee với giao diện thân thiện, dễ sử dụng.
- Thiết kế và hiện thực hóa đầy đủ các phân hệ chức năng tương tác cho khách hàng ở giao diện người dùng (Front-end), bao gồm đăng ký, đăng nhập, tìm kiếm theo danh mục, xem chi tiết sản phẩm, quản lý giỏ hàng, gửi phản hồi và thanh toán.
- Thiết kế phân hệ quản trị (Back-end/Admin) nhằm hỗ trợ quản lý danh mục, thông tin sản phẩm, tài khoản người dùng, đơn đặt hàng, quản lý phản hồi và thống kê dữ liệu bán hàng.
- Xây dựng mô hình cơ sở dữ liệu quan hệ đồng bộ nhằm lưu trữ và xử lý thông tin giao dịch, thông tin khách hàng và danh mục hàng hóa một cách chính xác.
Đối tượng nghiên cứu của đồ án là quy trình tiếp nhận đơn hàng, xử lý thông tin sản phẩm và phân quyền quản trị trong hệ thống bán hàng trực tuyến. Phạm vi nghiên cứu tập trung vào việc phân tích, thiết kế và mô hình hóa chức năng cho một hệ thống web order trong phạm vi đồ án môn học cấp cơ sở, áp dụng công nghệ mã nguồn mở PHP và cơ sở dữ liệu MySQL, được hoàn thành vào học kỳ cuối năm 2023 tại Đà Nẵng.
Cơ sở lý thuyết và phương pháp
Về mặt công nghệ nền tảng, đồ án tập trung vào ngôn ngữ lập trình PHP (Hypertext Preprocessor) kết hợp cùng hệ quản trị cơ sở dữ liệu quan hệ MySQL. Theo tài liệu, PHP là ngôn ngữ kịch bản máy chủ mã nguồn mở có tính phổ biến cao, từng có thời điểm chiếm tới 74% thị phần các ngôn ngữ lập trình website. Văn bản chỉ ra các ưu điểm kỹ thuật của PHP bao gồm:
- Cú pháp đơn giản, lượng mã lệnh ít, khả năng tương thích cao với nhiều nền tảng và ngôn ngữ lập trình khác như .NET, Java, C++.
- Khả năng hoạt động ổn định trên các trình duyệt phổ biến như Chrome, Firefox, Bing.
- Khả năng tích hợp mạnh mẽ với nhiều hệ thống quản trị cơ sở dữ liệu khác nhau (MySQL, Oracle, Sybase, DB2), trong đó sự phối hợp giữa PHP và MySQL đem lại tốc độ truy xuất nhanh và tối ưu chi phí phát triển.
Bên cạnh PHP và MySQL, đồ án ứng dụng ngôn ngữ đánh dấu siêu văn bản HTML (HyperText Markup Language) và ngôn ngữ định kiểu Cascading Style Sheets (CSS) để xây dựng bố cục, cấu trúc hiển thị và thẩm mỹ cho giao diện web.
Phương pháp nghiên cứu thực tế được triển khai là phương pháp phân tích và thiết kế hệ thống theo mô hình hướng đối tượng dựa trên ngôn ngữ mô hình hóa thống nhất (UML). Nhóm tác giả thực hiện khảo sát các yêu cầu cốt lõi của một website bán hàng (cung cấp thông tin, giỏ hàng, thanh toán trực tuyến), sau đó tiến hành:
- Xây dựng biểu đồ ca sử dụng (Use Case Diagram) tổng quát cho toàn hệ thống và cho từng phân hệ (người dùng và quản trị viên).
- Đặc tả chi tiết từng ca sử dụng bao gồm: tên use case, mô tả mục đích, tác nhân, luồng sự kiện cơ bản, luồng sự kiện rẽ nhánh (xử lý ngoại lệ dữ liệu không hợp lệ hoặc mất kết nối cơ sở dữ liệu), điều kiện tiên quyết và hậu điều kiện.
- Thiết kế biểu đồ hoạt động (Activity Diagram) để trực quan hóa luồng dữ liệu của các tác vụ.
- Thiết kế biểu đồ trình tự (Sequence Diagram) thể hiện sự tương tác theo trục thời gian giữa các lớp giao diện (UI), lớp điều khiển (Controller) và các bảng thực thể dữ liệu (Model/Database).
Nguồn dữ liệu của đồ án là dữ liệu cấu trúc tự xây dựng, mô phỏng các thực thể sản phẩm, danh mục, đơn hàng và phản hồi của người dùng trong hệ thống.
Thiết kế và triển khai
Hệ thống được thiết kế theo cấu trúc module phân tầng, tách biệt rõ ràng giữa hai phân hệ tương tác: Phân hệ khách hàng (Front-end) và Phân hệ quản trị (Back-end).
Ở phân hệ Front-end, người dùng tương tác thông qua các giao diện chức năng để thực hiện luồng nghiệp vụ mua sắm:
- Đăng ký và Đăng nhập: Hệ thống xác thực dữ liệu đầu vào (họ tên, email, địa chỉ, số điện thoại, mật khẩu) và phân định quyền truy cập.
- Duyệt sản phẩm và Giỏ hàng: Khách hàng xem danh sách theo danh mục, xem chi tiết sản phẩm, thực hiện tác vụ lưu trữ tạm thời qua giỏ hàng và cập nhật số lượng hoặc xóa sản phẩm.
- Đặt hàng và Thanh toán: Thu nhận thông tin giao hàng của khách và tạo mới một phiên giao dịch trong cơ sở dữ liệu.
Ở phân hệ Back-end, quản trị viên (Admin) được cấp quyền can thiệp vào các danh mục và bảng dữ liệu chính để duy trì hoạt động của hệ thống thông qua các thao tác tạo mới, xem, chỉnh sửa và xóa (CRUD).
Kiến trúc dữ liệu của hệ thống được tổ chức thành các bảng lưu trữ quan hệ. Bảng tổng hợp dưới đây thể hiện các bảng dữ liệu cốt lõi và các trường thông tin tương ứng được mô tả trong đồ án:
| Tên bảng dữ liệu |
Mục đích lưu trữ trong hệ thống |
Các trường dữ liệu chính |
user_acc |
Lưu trữ tài khoản và thông tin người dùng |
Id, Họ tên, Email, Số điện thoại, Địa chỉ, Mật khẩu, Ảnh đại diện |
list_product / PRODUCTS |
Quản lý thông tin chi tiết các mặt hàng |
Mã sản phẩm, Tên sản phẩm, Thuộc tính, Phân loại danh mục |
ODERS |
Quản lý thông tin chung về đơn đặt hàng |
Mã đơn hàng, Thông tin khách hàng, Trạng thái đơn |
ODERS-DETAILS |
Lưu trữ chi tiết các mặt hàng trong từng đơn |
Mã đơn hàng, Mã hàng, Mã sản phẩm, Giá cả, Số lượng, Thành tiền |
CARTS |
Lưu trữ dữ liệu giỏ hàng và phục vụ thống kê |
Mã danh mục, Số lượng sản phẩm, Giá cao nhất, Giá thấp nhất, Giá trung bình |
FEEDBACK |
Lưu trữ nội dung liên hệ, góp ý của khách hàng |
Mã phản hồi, Họ tên, Email, Số điện thoại, Ghi chú, Nội dung phản hồi |
categorie_product |
Phân loại các nhóm sản phẩm trong hệ thống |
Mã danh mục, Tên danh mục sản phẩm |
admin_roles |
Quản lý phân quyền quản trị hệ thống |
Mã vai trò, Quyền hạn quản trị |
Quá trình điều hướng dữ liệu trong hệ thống được thể hiện qua các biểu đồ trình tự cụ thể. Khi thực hiện một ca sử dụng, lớp giao diện tiếp nhận tương tác từ người dùng, chuyển lệnh tới lớp điều khiển (Controller tương ứng như DangKiController, ThemVaoGioHangController, QuanLySanPhamController). Controller sẽ thực thi kiểm tra tính hợp lệ và gọi các phương thức truy xuất dữ liệu từ cơ sở dữ liệu (ví dụ: getSanPhamByID(), updateCartsByID(), deleteUSERSById(), writeFeedbackByID()) trước khi trả kết quả thông báo hiển thị về giao diện.
Nội dung chính theo từng chương
Do văn bản nguồn là đồ án cơ sở có tính chất tổng hợp tài liệu, cấu trúc báo cáo phản ánh nguyên văn các đề mục trong văn bản của tác giả, trong đó xuất hiện sự đan xen giữa đề tài dịch vụ cà phê và các nội dung tham khảo về bán đồ thể thao, đồ công nghệ và điện tử:
Lời nói mở đầu và Một số khái niệm về ngôn ngữ PHP
Phần này trình bày lý do chọn đề tài và tổng quan lý thuyết về công nghệ web. Tác giả định nghĩa ngôn ngữ PHP, giải thích nguyên nhân PHP trở nên phổ biến trong thương mại điện tử, đồng thời phân tích các thế mạnh của PHP như dung lượng mã nguồn gọn nhẹ, tính năng tùy chọn bộ nhớ linh hoạt, chi phí phát triển thấp và khả năng tương thích cao với các hệ thống máy chủ và trình duyệt web.
Tổng quan về dự án và Xây dựng website với ngôn ngữ PHP
Nội dung này xác định tên dự án là "Hệ thống coffee HYTALEE COFFEE" nhằm cung cấp dịch vụ đặt hàng đồ uống. Tuy nhiên, trong phần thuyết minh mục tiêu và lợi ích, văn bản liệt kê các lợi ích kinh doanh bằng website với tiêu đề "Lợi ích của việc kinh doanh dụng cụ, đồ dùng thể thao bằng website" và "Mục tiêu cần đạt được: Xây dựng được một website bán đồ công nghệ bằng ngôn ngữ PHP". Tác giả trình bày các nhóm kiến thức cần trang bị gồm PHP, HTML, CSS, MySQL và phân tích ba yêu cầu cơ bản của một hệ thống đặt hàng trực tuyến: cung cấp thông tin, chức năng giỏ hàng và thanh toán trực tuyến.
Phân tích các chức năng của website bán đồ công nghệ
Đây là chương nội dung chiếm dung lượng lớn nhất trong văn bản, chia thành hai phần chi tiết:
- Phân tích và đặc tả các chức năng giao diện người dùng (Front-end): Mô tả luồng xử lý và biểu đồ trình tự cho các use case gồm Đăng ký, Đăng nhập, Xem trang chủ, Xem chi tiết sản phẩm, Thêm vào giỏ hàng, Quản lý giỏ hàng, Phản hồi (được chú thích là chức năng mới chưa cập nhật hoàn chỉnh) và Đặt hàng / Thanh toán.
- Phân tích và đặc tả các chức năng quản trị hệ thống (Back-end): Mô tả các ca sử dụng dành riêng cho quản trị viên bao gồm Quản lý sản phẩm (thêm, sửa, xóa bản ghi trên bảng
list_product), Quản lý người dùng (thao tác trên bảng user_acc), Quản lý đơn đặt hàng (truy xuất bảng ODERS và ODERS-DETAILS), Quản lý thống kê (truy xuất số lượng và mức giá từ bảng CARTS) và Quản lý phản hồi (xử lý dữ liệu bảng FEEDBACK).
Cơ sở dữ liệu và Giao diện của hệ thống
Phần này liệt kê các lớp thực thể cơ sở dữ liệu như lớp thương hiệu, lớp vai trò quản trị (admin_roles), lớp chi tiết đơn hàng (oder_details), lớp danh mục (categorie_product). Đồng thời, mục lục văn bản ghi nhận cấu trúc giao diện bao gồm: Header, Footer, Giao diện đăng ký/đăng nhập, Giao diện trang chủ, Giao diện danh mục, Giao diện chi tiết sản phẩm, Giao diện giỏ hàng và các màn hình quản trị (quản lý danh mục, thương hiệu, sản phẩm, vận chuyển, mã giảm giá).
Kết quả và đóng góp
Đồ án ghi nhận các kết quả nghiên cứu và thiết kế cụ thể:
- Về kết quả kỹ thuật: Đã thiết lập được tài liệu phân tích hệ thống hoàn chỉnh với hệ thống biểu đồ ca sử dụng tổng quát và chi tiết, biểu đồ trình tự đồng bộ giữa các lớp giao diện, điều khiển và thực thể cơ sở dữ liệu cho 14 chức năng chính của hệ thống bán hàng.
- Về mô hình hóa dữ liệu: Thiết kế được cấu trúc quan hệ cho các bảng lưu trữ thiết yếu (
user_acc, list_product, ODERS, ODERS-DETAILS, CARTS, FEEDBACK), xác định rõ ràng các trường thuộc tính cần quản lý nhằm đáp ứng nghiệp vụ đặt hàng và giám sát hoạt động.
- Đóng góp của tác giả: Đồ án hệ thống hóa quy trình tiếp cận xây dựng một ứng dụng thương mại điện tử cơ bản bằng ngôn ngữ PHP và MySQL phục vụ học phần đồ án cơ sở, làm rõ luồng xử lý ngoại lệ khi thao tác với cơ sở dữ liệu trong các kịch bản sử dụng.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đồ án:
- Văn bản bộc lộ sự thiếu nhất quán nghiêm trọng trong việc biên tập nội dung: tiêu đề đồ án là "HỆ THỐNG COFFEE HYTALEE COFFEE", nhưng phần lớn các tiêu đề mục con và nội dung phân tích lại đề cập đến việc kinh doanh đồ dùng thể thao, đồ công nghệ và thiết bị điện tử.
- Chức năng phản hồi khách hàng mới dừng lại ở mức mô tả ca sử dụng sơ bộ và được chính tác giả ghi chú là "chức năng mới - chưa cập nhật".
- Đồ án chưa trình bày kết quả kiểm thử thực nghiệm (test cases), chưa cung cấp số liệu đo lường hiệu năng vận hành, mức độ tải của máy chủ cũng như mã nguồn triển khai chi tiết của các lớp controller.
Hướng nghiên cứu và phát triển:
- Đồng bộ và chuẩn hóa toàn bộ nội dung, danh mục sản phẩm theo đúng định hướng phục vụ chuỗi dịch vụ cà phê Hytalee Coffee.
- Hoàn thiện lập trình thực tế cho các module chưa hoàn tất như phân hệ Phản hồi khách hàng, Quản lý vận chuyển và Quản lý mã giảm giá.
- Tích hợp cổng thanh toán trực tuyến thực tế qua tài khoản ngân hàng hoặc ví điện tử như mục tiêu đã đề ra.
Giá trị tham khảo
Đồ án là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm đang thực hiện các đồ án cơ sở, đồ án môn học Phân tích thiết kế hệ thống thông tin hoặc Phát triển ứng dụng web với PHP và MySQL. Phần có giá trị tham khảo tốt nhất là các bản đặc tả ca sử dụng mẫu (Use Case Specifications) và biểu đồ trình tự (Sequence Diagrams), thể hiện chi tiết tên hàm và luồng gọi phương thức giữa giao diện, bộ điều khiển và cơ sở dữ liệu trong các tác vụ CRUD tiêu chuẩn.
Câu hỏi thường gặp
1. Đề tài đồ án nghiên cứu về hệ thống nào và do ai thực hiện?
Đề tài có tên "HỆ THỐNG COFFEE HYTALEE COFFEE", thuộc học phần Đồ án cơ sở 2, do hai sinh viên Trần Lê Huy và Lưu Hà Nhật Quỳnh (lớp 22GIT1, Khoa Khoa học Máy tính, Trường Đại học Công nghệ thông tin & Truyền thông Việt - Hàn) thực hiện dưới sự hướng dẫn của TS. Trần Văn Đại vào tháng 12 năm 2023.
2. Công nghệ và cơ sở dữ liệu chính được lựa chọn để phát triển hệ thống là gì?
Hệ thống được định hướng xây dựng trên nền tảng ngôn ngữ lập trình PHP, kết hợp hệ quản trị cơ sở dữ liệu MySQL cùng với HTML và CSS cho phần xây dựng giao diện.
3. Tại sao trong nội dung đồ án lại xuất hiện các mục về đồ thể thao và đồ công nghệ?
Đây là sự thiếu đồng nhất trong quá trình biên tập tài liệu của tác giả. Mặc dù tên đề tài và phần giới thiệu dự án xác định xây dựng hệ thống cho thương hiệu cà phê Hytalee, các tiêu đề chương mục và phân tích chức năng trong văn bản lại sử dụng nội dung mô tả của website bán đồ thể thao, đồ công nghệ và thiết bị điện tử.
4. Bảng dữ liệu người dùng (user_acc) trong thiết kế của đồ án lưu trữ các thông tin gì?
Theo đặc tả của ca sử dụng Quản lý người dùng, bảng user_acc lưu trữ 7 trường thông tin gồm: Id, Họ tên, Email, Số điện thoại, Địa chỉ, Mật khẩu và Ảnh đại diện.
5. Bảng ODERS-DETAILS lưu trữ các trường dữ liệu nào khi người dùng hoàn tất đặt hàng?
Bảng chi tiết đơn hàng ODERS-DETAILS ghi nhận 6 trường thông tin bao gồm: Mã đơn hàng, Mã hàng, Mã sản phẩm, Giá cả, Số lượng và Thành tiền.
Kết luận
Đồ án cơ sở 2 "HỆ THỐNG COFFEE HYTALEE COFFEE" của nhóm sinh viên Trần Lê Huy và Lưu Hà Nhật Quỳnh đã trình bày phương án phân tích và thiết kế một hệ thống đặt hàng trực tuyến sử dụng PHP và MySQL. Tài liệu cung cấp bản đặc tả chi tiết về các ca sử dụng, biểu đồ hoạt động, biểu đồ trình tự và cấu trúc bảng dữ liệu cho cả hai phân hệ khách hàng và quản trị viên. Dù còn tồn tại hạn chế về tính nhất quán trong nội dung biên soạn và mức độ hoàn thiện thực tế của một số tính năng, đồ án vẫn là tài liệu tham khảo hữu ích cho sinh viên công nghệ thông tin trong việc rèn luyện kỹ năng mô hình hóa nghiệp vụ và thiết kế phần mềm hướng đối tượng.