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

Bối cảnh thực tiễn và lý do chọn đề tài

Sự phát triển của mạng Internet và các thiết bị số cá nhân (điện thoại thông minh, máy tính bảng, máy tính xách tay) đã làm thay đổi hành vi mua sắm của người tiêu dùng, chuyển dịch từ phương thức mua bán trực tiếp, thủ công sang mua sắm trực tuyến. Thương mại điện tử mở ra môi trường kinh doanh cạnh tranh cho các nhà bán lẻ, giúp người tiêu dùng dễ dàng tìm kiếm, so sánh sản phẩm, giá cả và nhà sản xuất.

Xuất phát từ thực tế cạnh tranh khốc liệt của thị trường và nhu cầu trực tiếp từ cơ sở sản xuất, chế tác đồ nội thất và đồ gia dụng của gia đình tác giả, đề tài được thực hiện nhằm xây dựng một kênh phân phối trực tuyến. Giải pháp này hướng tới việc giúp cơ sở sản xuất nhỏ tiếp cận trực tiếp khách hàng mục tiêu, cắt giảm chi phí thuê mặt bằng vật lý, tinh gọn đội ngũ nhân sự bán hàng trực tiếp tại cửa hàng và giảm giá thành sản phẩm thông qua việc loại bỏ các khâu trung gian phân phối.

Mục tiêu và nhiệm vụ của đề tài

Mục tiêu tổng quát của đồ án là xây dựng hoàn chỉnh hệ thống website bán đồ nội thất và gia dụng phục vụ cho mô hình kinh doanh quy mô nhỏ như hộ kinh doanh cá thể, xưởng sản xuất gia đình. Các nhiệm vụ và yêu cầu cụ thể bao gồm:

  1. Yêu cầu chức năng:
    • Phía khách hàng (Customer): Cung cấp các tính năng đăng ký tài khoản, đăng nhập, tìm kiếm sản phẩm theo danh mục và từ khóa, xem chi tiết sản phẩm, thêm sản phẩm vào giỏ hàng, đặt hàng (checkout), xem lịch sử và trạng thái đơn hàng, hủy đơn hàng ở trạng thái chờ xác nhận, quản lý thông tin cá nhân và tương tác hỏi đáp thông qua chatbot tự động.
    • Phía nhân viên quản lý (Admin/NVQL): Cung cấp trang quản trị (Dashboard) để quản lý tài khoản người dùng, danh mục sản phẩm (Category), danh sách sản phẩm, quản lý đơn đặt hàng, quản lý kho hàng (nhập, xuất, tồn kho), quản lý mã khuyến mãi/voucher và xem thống kê số lượng sản phẩm bán ra theo tháng hoặc theo từng sản phẩm cụ thể.
  2. Yêu cầu phi chức năng: Thiết kế giao diện trực quan, bắt mắt, thao tác tinh gọn, loại bỏ các hiệu ứng phức tạp không cần thiết; bố trí các khu vực hiển thị sản phẩm bán chạy (Top Product) và trang thông tin giới thiệu cơ sở sản xuất nhằm nâng cao mức độ tin cậy.
  3. Yêu cầu hiệu năng: Hệ thống vận hành ổn định các chức năng cốt lõi, phản hồi thao tác nhanh chóng và xử lý chính xác dữ liệu nhập/xuất cũng như các ràng buộc nghiệp vụ.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Quy trình nghiệp vụ bán lẻ, quản lý kho, quản lý đơn hàng và tương tác khách hàng đối với các ngành hàng đồ nội thất (nội thất phòng khách, phòng ngủ, nhà bếp...) và đồ gia dụng (gia dụng nhà bếp, phòng tắm, thiết bị gia dụng thông minh).
  • Phạm vi dữ liệu và triển khai: Hệ thống được thiết kế xử lý tập dữ liệu vừa và nhỏ, đáp ứng nhu cầu quản trị nội bộ của cơ sở sản xuất quy mô hộ gia đình; môi trường thử nghiệm và vận hành hệ thống được thực hiện trên máy cục bộ (Localhost).

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

Phương pháp nghiên cứu và phát triển hệ thống

Quy trình xây dựng hệ thống được tác giả thực hiện tuần tự qua 4 bước:

  • Bước 1 - Khảo sát và thu thập yêu cầu: Khảo sát thực tế nhu cầu người dùng, khảo sát thị hiếu về mẫu mã nội thất/gia dụng bán chạy, tham khảo trải nghiệm người dùng và tính năng từ các sàn thương mại điện tử lớn (IKEA, Shopee, Lazada, Amazon).
  • Bước 2 - Phân tích hệ thống: Sử dụng ngôn ngữ mô hình hóa thống nhất (UML) để xây dựng biểu đồ Use Case tổng quan, biểu đồ Use Case phân rã cho từng module, viết kịch bản chuẩn/ngoại lệ và trích xuất thực thể dữ liệu.
  • Bước 3 - Thiết kế hệ thống: Thiết kế biểu đồ lớp (Class Diagram), mô hình hóa cơ sở dữ liệu quan hệ (Entity-Relationship/Relational Schema) và xây dựng biểu đồ tuần tự (Sequence Diagram) cho các luồng xử lý nghiệp vụ.
  • Bước 4 - Cài đặt, triển khai và đánh giá: Lập trình mã nguồn, cấu hình môi trường, tích hợp chatbot và kiểm thử chức năng giao diện.

Công nghệ và công cụ sử dụng

Tác giả lựa chọn ngăn xếp công nghệ dựa trên ngôn ngữ JavaScript nhờ tính phổ biến, cộng đồng hỗ trợ lớn và không phát sinh chi phí bản quyền:

  • Frontend: Thư viện ReactJS hỗ trợ xây dựng giao diện người dùng theo kiến trúc thành phần (component-based).
  • Backend: Nền tảng NodeJS kết hợp Web Framework ExpressJS để xây dựng API và xử lý logic phía máy chủ.
  • Tích hợp thông minh: Nền tảng Google Dialogflow phục vụ xây dựng và huấn luyện kịch bản hỏi đáp tự động (Chatbot).
  • Công cụ phân tích thiết kế: Phần mềm Visual Paradigm Community Edition để vẽ các biểu đồ UML và sơ đồ thực thể.

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

Mô hình hóa lớp thực thể và quan hệ đối tượng

Từ việc phân tích các danh từ nghiệp vụ, đồ án đã loại bỏ các danh từ trừu tượng và xác định các lớp thực thể chính, cấu trúc kế thừa và quan hệ số lượng giữa chúng:

Thực thể lớp Thuộc tính chính Quan hệ và kế thừa
ThanhVien username, password, email Lớp cha trừu tượng
KhachHang role, profile Kế thừa từ ThanhVien (quan hệ 1-1 với Profile, 1-n với Order)
NhanVienQuanLy role Kế thừa từ ThanhVien
Profile firstname, lastname, phonenumber, address, avatarImage Thuộc về KhachHang
Product id, name, detailInformation, image, price, status, totalSold, type Quan hệ n-1 với Category, 1-n với Stock
Category id, name, type Quan hệ 1-n với Product
Stock id, soluongnhapkho, soluongtonkho, soluongxuatkho, product Quan hệ n-1 với Product
Voucher discountId, createDate, points, time Quan hệ 1-n với Product
ShoppingCart id, customerID, createdDate, cartItems Quan hệ 1-n với CartItems
CartItems id, product, quantity, createdDate Lớp liên kết giữa ShoppingCart và Product
Order id, customerId, placeOrderDate, status, orderItem, kh Quan hệ 1-n với OrderItem
OrderItem id, product, quantity, orderedDate Lớp liên kết giữa Order và Product
TopProduct topNumber, product Kế thừa thuộc tính từ Product

Thiết kế cơ sở dữ liệu quan hệ

Hệ thống sử dụng cơ sở dữ liệu quan hệ gồm 11 bảng dữ liệu được chuẩn hóa, thiết lập đầy đủ khóa chính (PK) và khóa ngoại (FK):

STT Tên bảng dữ liệu Mục đích lưu trữ Khóa chính (PK) / Khóa ngoại (FK) tiêu biểu
1 customer_account Tài khoản đăng nhập của người dùng PK: id_customer
2 customer_profile Hồ sơ thông tin cá nhân khách hàng PK: customerProfile_id, FK: id_customer
3 category Danh mục phân loại sản phẩm PK: category_id
4 products Thông tin chi tiết các mặt hàng nội thất, gia dụng PK: product_id, FK: category_id
5 stock Số liệu kho hàng (nhập, xuất, tồn) PK: stock_id, FK: product_id
6 shopping_cart Giỏ hàng của từng khách hàng PK: cart_id, FK: customer_id
7 cart_items Danh sách sản phẩm chi tiết trong giỏ hàng PK: cartItem_id, FK: product_id, cart_id
8 order Thông tin tổng quát về đơn đặt hàng PK: order_id, FK: kh_id
9 order_items Chi tiết mặt hàng và số lượng theo từng đơn PK: order_items_id, FK: id_order, id_product
10 discount Mã khuyến mãi, giảm giá (voucher) PK: discount_id
11 top_product Dữ liệu các sản phẩm bán chạy nhất PK: top_id, FK: product_id

Thiết kế biểu đồ tuần tự (Sequence Diagrams)

Đồ án xây dựng chi tiết 17 biểu đồ tuần tự biểu diễn luồng tương tác giữa Tác nhân (Actor), Giao diện (Boundary/View), Bộ điều khiển (Controller/Handler) và Cơ sở dữ liệu:

  • Nhóm chức năng xác thực và tài khoản: Đăng ký tài khoản, đăng nhập hệ thống, đăng xuất, đổi mật khẩu, chỉnh sửa thông tin cá nhân (My profile).
  • Nhóm chức năng khách hàng: Xem danh mục sản phẩm, xem chi tiết sản phẩm, thêm sản phẩm vào giỏ hàng (ADD TO CART), đặt hàng và thanh toán (BUY NOW -> CHECKOUT -> PLACE ORDER), xem lịch sử đơn đặt hàng (My order), hủy đơn hàng đang chờ xác nhận.
  • Nhóm chức năng quản trị: Quản lý khách hàng, quản lý sản phẩm, quản lý đơn đặt hàng, quản lý danh mục (Category), quản lý kho hàng (Stock), quản lý mã khuyến mãi (Voucher), thống kê số lượng sản phẩm bán ra theo tháng và thống kê sản phẩm bán chạy.

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

CHƯƠNG 1: KHẢO SÁT HIỆN TRẠNG VÀ THU THẬP YÊU CẦU

Chương 1 tập trung khảo sát bối cảnh ứng dụng CNTT trong kinh doanh nội thất - gia dụng quy mô nhỏ. Tác giả tiến hành khảo sát sơ bộ về ngân sách đầu tư, yêu cầu giao diện thân thiện, thị hiếu mặt hàng nội thất/gia dụng được ưa chuộng; đồng thời khảo sát chi tiết các tính năng mua sắm từ các website thương mại điện tử lớn. Nội dung chương phân tích cụ thể các nhóm sản phẩm (phòng khách, phòng ngủ, nhà bếp, đồ gia dụng thông minh), dữ liệu khách hàng, dữ liệu kho bãi (nhập, xuất, tồn), xác lập các ràng buộc logic giữa khách hàng, giỏ hàng, đơn hàng và quyền quản trị.

CHƯƠNG 2: PHÂN TÍCH HỆ THỐNG

Chương 2 mô tả hệ thống thông qua hai góc độ: ngôn ngữ tự nhiên và mô hình hóa UML. Tác giả xác định 2 tác nhân chính là Khách hàng (Customer) và Nhân viên quản lý (Admin), thiết lập biểu đồ Use Case tổng quan và 12 biểu đồ Use Case phân rã. Điểm trọng tâm của chương là việc xây dựng 20 bảng kịch bản Use Case chuẩn và ngoại lệ (từ Bảng 1 đến Bảng 20) chi tiết cho các luồng thao tác: thêm/sửa/xóa khách hàng, sản phẩm, đơn hàng, danh mục, mã giảm giá, đặt hàng, hủy đơn, quản lý giỏ hàng và xem báo cáo thống kê. Cuối chương, kỹ thuật trích xuất danh từ được áp dụng để xác định các lớp thực thể và các mối quan hệ 1-1, 1-n, n-n.

CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

Chương 3 trình bày bản thiết kế kỹ thuật hoàn chỉnh của hệ thống bao gồm:

  • Thiết kế biểu đồ lớp chi tiết (Hình 15) thể hiện đầy đủ thuộc tính, phương thức và quan hệ bao hàm/kế thừa giữa các lớp ThanhVien, KhachHang, NVQL, Product, Stock, ShoppingCart, CartItems, Order, OrderItem, Category, Voucher.
  • Thiết kế lược đồ cơ sở dữ liệu quan hệ (Hình 16) và đặc tả chi tiết các trường dữ liệu, kiểu dữ liệu, khóa chính, khóa ngoại của 11 bảng CSDL.
  • Xây dựng hệ thống 17 biểu đồ tuần tự (Hình 17 đến Hình 33) mô tả chính xác thông điệp giao tiếp giữa giao diện người dùng, hệ thống xử lý logic và cơ sở dữ liệu.

CHƯƠNG 4: CÀI ĐẶT VÀ KIỂM THỬ HỆ THỐNG

Chương 4 thuyết minh về môi trường cài đặt và hiện thực hóa giao diện chức năng. Tác giả trình bày cấu hình công cụ ReactJS, NodeJS, ExpressJS và quá trình thiết lập chatbot trên Google Dialogflow (Hình 34). Chương này minh họa giao diện chạy thử thực tế qua hệ thống ảnh chụp màn hình (từ Hình 36 đến Hình 51), bao gồm: giao diện trang chủ, xem danh mục, trang chi tiết sản phẩm, giỏ hàng, checkout đặt hàng, hộp thoại chatbot tương tác, Dashboard quản trị, màn hình quản lý khách hàng, quản lý sản phẩm, xử lý đơn đặt hàng, quản lý danh mục, kho hàng, voucher và biểu đồ thống kê sản phẩm bán ra theo tháng. Đồng thời, chương tổng kết các chức năng đã hoàn thành và các hạn chế kỹ thuật còn tồn tại.

CHƯƠNG 5: KẾT LUẬN

Chương 5 tóm lược toàn bộ quá trình nghiên cứu, phân tích, thiết kế và cài đặt hệ thống website bán đồ nội thất và gia dụng. Tác giả đánh giá mức độ hoàn thành so với mục tiêu ban đầu, chỉ rõ những điểm đã làm được, những mặt hạn chế do phạm vi triển khai và đề xuất lộ trình hoàn thiện hệ thống trong tương lai.


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

Kết quả kỹ thuật đạt được

  1. Xây dựng hoàn chỉnh tài liệu phân tích thiết kế: Hoàn thành 13 biểu đồ Use Case, 20 bảng kịch bản chi tiết cho cả trường hợp chuẩn và ngoại lệ, 1 biểu đồ lớp thực thể, 1 lược đồ CSDL chuẩn hóa (11 bảng) và 17 biểu đồ tuần tự bao quát mọi tương tác hệ thống.
  2. Triển khai thành công ứng dụng web: Xây dựng website thương mại điện tử hoạt động ổn định trên môi trường cục bộ với đầy đủ hai phân hệ:
    • Phân hệ người dùng: Xem sản phẩm theo danh mục, tìm kiếm, giỏ hàng, thanh toán nhiều bước (nhập địa chỉ, chọn thanh toán, xác nhận đơn hàng), theo dõi lịch sử đơn và hủy đơn hàng ở trạng thái chờ duyệt.
    • Phân hệ quản trị: Cung cấp Dashboard quản lý toàn diện người dùng, sản phẩm, đơn hàng, danh mục, kho hàng (nhập/xuất/tồn), voucher và xuất báo cáo thống kê doanh số bán theo tháng/theo sản phẩm.
  3. Ứng dụng công nghệ phụ trợ: Tích hợp thành công chatbot thông minh bằng Google Dialogflow hỗ trợ giải đáp thắc mắc và hướng dẫn người dùng tự động.

Đóng góp thực tiễn của đề tài

  • Đưa ra mô hình giải pháp tin học hóa phù hợp với năng lực tài chính và quy mô quản lý của các xưởng sản xuất, hộ kinh doanh đồ nội thất và gia dụng gia đình.
  • Giúp cơ sở sản xuất thử nghiệm việc loại bỏ các khâu trung gian, trực tiếp tiếp cận khách hàng tiềm năng qua Internet, tối ưu hóa chi phí vận hành cửa hàng và nhân sự.

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

Hạn chế của đề tài

  • Phạm vi triển khai: Hệ thống mới chỉ dừng lại ở việc cài đặt, chạy thử nghiệm trên máy cục bộ (Localhost), chưa được đưa lên máy chủ Internet (Cloud/Hosting) thực tế.
  • Quy mô dữ liệu: Cơ sở dữ liệu mới được thử nghiệm với dung lượng và số lượng bản ghi nhỏ, chưa kiểm thử tải với lượng truy cập đồng thời lớn.
  • Tính năng mở rộng: Chưa tích hợp các cổng thanh toán trực tuyến tự động qua ngân hàng/ví điện tử (hệ thống mới dừng lại ở bước ghi nhận thông tin thanh toán), kịch bản chatbot trên Dialogflow còn ở mức cơ bản.

Hướng phát triển trong tương lai

  • Triển khai website lên môi trường Internet thực tế với tên miền và hệ thống máy chủ chuyên dụng.
  • Tích hợp các cổng thanh toán trực tuyến phổ biến (VNPAY, MoMo, ZaloPay, thẻ tín dụng).
  • Nâng cấp và huấn luyện sâu hơn cho Chatbot Dialogflow để xử lý các câu hỏi phức tạp về tư vấn kích thước, chất liệu nội thất và tự động tra cứu tình trạng vận chuyển đơn hàng.
  • Bổ sung thuật toán gợi ý sản phẩm thông minh dựa trên lịch sử xem và hành vi mua sắm của khách hàng.

Giá trị tham khảo

Báo cáo đồ án tốt nghiệp là tài liệu tham khảo có giá trị chuyên môn cao cho các nhóm đối tượng sau:

  • Sinh viên ngành Công nghệ thông tin, Hệ thống thông tin, Công nghệ phần mềm: Có thể tham khảo cấu trúc chuẩn mực của một đồ án tốt nghiệp phát triển hệ thống thông tin từ bước khảo sát, phân tích Use Case, viết kịch bản ngoại lệ, thiết kế Class Diagram đến xây dựng lược đồ cơ sở dữ liệu quan hệ và biểu đồ tuần tự bằng Visual Paradigm.
  • Lập trình viên Web cơ bản (ReactJS, NodeJS, ExpressJS): Tham khảo cách tổ chức luồng nghiệp vụ thương mại điện tử thực tế bao gồm quản lý trạng thái đơn hàng, tính toán giỏ hàng, trừ tồn kho và tích hợp Chatbot Dialogflow vào giao diện ReactJS.
  • Chủ hộ kinh doanh, cơ sở sản xuất thủ công nhỏ: Tham khảo mô hình phân tích yêu cầu nghiệp vụ để số hóa quy trình quản lý bán lẻ, theo dõi xuất - nhập - tồn kho hàng và quản lý danh sách khách hàng thân thiết.

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

1. Đồ án giải quyết bài toán thực tế nào của cơ sở sản xuất gia đình?

Đồ án giải quyết bài toán cạnh tranh gay gắt của cơ sở kinh doanh, chế tác đồ nội thất và gia dụng gia đình tác giả. Thay vì tốn nhiều chi phí thuê mặt bằng mở cửa hàng và nhân sự bán hàng trực tiếp, việc xây dựng website giúp cơ sở tiếp cận trực tiếp khách hàng, lưu trữ thông tin khách hàng tiềm năng, dễ dàng quản lý đơn hàng và kho bãi, từ đó giảm giá thành sản phẩm nhờ cắt giảm các khâu trung gian.

2. Ngăn xếp công nghệ (Tech Stack) được sử dụng để xây dựng hệ thống gồm những gì?

Hệ thống được xây dựng trên nền tảng JavaScript toàn diện:

  • Frontend: Thư viện ReactJS.
  • Backend: NodeJS và Web Framework ExpressJS.
  • Chatbot tự động: Nền tảng Google Dialogflow.
  • Công cụ thiết kế mô hình: Visual Paradigm Community Edition.

3. Cơ sở dữ liệu của hệ thống gồm những bảng chính nào?

Cơ sở dữ liệu gồm 11 bảng: customer_account (tài khoản người dùng), customer_profile (thông tin cá nhân), category (danh mục), products (sản phẩm), stock (kho hàng nhập/xuất/tồn), shopping_cart (giỏ hàng), cart_items (chi tiết sản phẩm trong giỏ), order (đơn đặt hàng), order_items (sản phẩm trong đơn hàng), discount (mã voucher/khuyến mãi) và top_product (sản phẩm bán chạy).

4. Phân hệ quản trị (Admin) cung cấp những chức năng thống kê và quản lý nào?

Nhân viên quản lý được cung cấp Dashboard để thực hiện: quản lý tài khoản khách hàng (thêm, sửa, tìm kiếm, xóa), quản lý thông tin sản phẩm, quản lý đơn đặt hàng, quản lý danh mục (Category), quản lý mã voucher, quản lý tồn kho hàng hóa (Stock) và xem hai dạng báo cáo thống kê: thống kê tổng số lượng sản phẩm bán ra theo từng tháng và thống kê tổng số lượng bán ra của từng sản phẩm cụ thể.

5. Khách hàng có thể hủy đơn đặt hàng trong trường hợp nào?

Theo thiết kế nghiệp vụ và kịch bản Use Case của hệ thống, khách hàng chỉ có quyền thực hiện thao tác hủy đơn đặt hàng trong mục My order khi đơn hàng đó đang ở trạng thái chờ quản trị viên/cửa hàng xác nhận. Nếu đơn hàng đã chuyển sang các trạng thái xử lý tiếp theo, hệ thống sẽ không cho phép hủy trực tiếp.


Kết luận

Đồ án tốt nghiệp "Xây dựng website bán đồ nội thất và gia dụng" của sinh viên Bùi Bích Phương (ngành Hệ thống thông tin, Học viện Công nghệ Bưu chính Viễn thông) đã hoàn thành toàn diện quy trình phân tích, thiết kế và lập trình thử nghiệm một hệ thống thương mại điện tử hoàn chỉnh. Tác giả đã chuẩn hóa tài liệu kỹ thuật phần mềm thông qua hệ thống biểu đồ UML, thiết kế cơ sở dữ liệu quan hệ 11 bảng và xây dựng giao diện trực quan bằng ReactJS kết hợp NodeJS, ExpressJS và Google Dialogflow. Đề tài đáp ứng tốt nhu cầu tin học hóa quy trình bán hàng, quản lý kho và chăm sóc khách hàng cho các cơ sở sản xuất quy mô nhỏ, đồng thời mở ra hướng hoàn thiện về thanh toán trực tuyến và triển khai thực tế trên môi trường đám mây.