Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh công nghệ thông tin ngày càng được ứng dụng sâu rộng vào các lĩnh vực kinh doanh và dịch vụ, hoạt động thương mại điện tử đã trở thành xu thế tất yếu trên thế giới cũng như tại Việt Nam. Phương thức mua sắm trực tuyến cho phép người tiêu dùng thực hiện giao dịch nhanh chóng thông qua các thao tác trên thiết bị điện tử mà không cần trực tiếp đến cửa hàng, giúp tiết kiệm đáng kể thời gian, công sức và chi phí đi lại. Đối với các cơ sở kinh doanh mỹ phẩm quy mô vừa và nhỏ, việc vận hành theo phương thức truyền thống bộc lộ nhiều bất cập trong kiểm soát tồn kho, theo dõi đơn hàng và quản lý thông tin khách hàng. Do đó, việc xây dựng một hệ thống trực tuyến hỗ trợ quản lý toàn diện hoạt động kinh doanh là yêu cầu cấp thiết nhằm tối ưu hóa quy trình vận hành, nâng cao hiệu quả kinh tế và giảm thiểu chi phí quản lý.
Đề tài "Xây dựng hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh mỹ phẩm" do sinh viên Trần Thị Lan Hương thực hiện dưới sự hướng dẫn của PGS. Võ Trung Hùng tại Trường Đại học Sư phạm Kỹ thuật – Đại học Đà Nẵng (năm 2023) tập trung giải quyết các nhiệm vụ và mục tiêu cụ thể sau:
- Quản lý sản phẩm: Hệ thống lưu trữ và cung cấp thông tin chi tiết về từng mặt hàng trong cửa hàng, bao gồm tên sản phẩm, giá bán, mô tả chi tiết, hạn sử dụng và số lượng thực tế còn trong kho.
- Quản lý nhân viên: Hỗ trợ chủ cửa hàng theo dõi thông tin hồ sơ nhân viên, thống kê số lượng hóa đơn và số lượng sản phẩm do từng nhân viên bán ra theo ngày, tháng, năm; từ đó cung cấp căn cứ để điều chỉnh định biên nhân sự phù hợp với tình hình kinh doanh.
- Quản lý thông tin khách hàng: Lưu trữ danh sách khách hàng, thông tin liên hệ và lịch sử mua sắm, giúp cửa hàng nắm bắt hành vi tiêu dùng để triển khai các chương trình khuyến mãi và chính sách chăm sóc khách hàng mục tiêu nhằm gia tăng doanh thu dài hạn.
- Quản lý kho: Kiểm soát chặt chẽ số lượng sản phẩm tồn kho và số lượng sản phẩm xuất kho, hỗ trợ lập kế hoạch nhập hàng hợp lý, ngăn ngừa tình trạng tồn đọng hàng hóa khó tiêu thụ.
- Quản lý đơn hàng: Cho phép theo dõi và kiểm soát toàn bộ vòng đời của đơn hàng từ khâu tiếp nhận đơn, đóng gói, bàn giao vận chuyển cho đến việc xử lý các vấn đề phát sinh sau bán hàng.
- Thống kê: Cung cấp công cụ tổng hợp số liệu doanh thu và xác định danh mục các sản phẩm bán chạy theo từng giai đoạn hoạt động, phục vụ việc lập kế hoạch nhập hàng và tiếp thị sản phẩm.
Về đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Các phương pháp phân tích và thiết kế hệ thống phần mềm phục vụ quản lý xuất nhập kho, quy trình mua bán và quản trị vận hành cửa hàng mỹ phẩm; các công nghệ, ngôn ngữ lập trình và hệ quản trị cơ sở dữ liệu phù hợp để phát triển ứng dụng web; mô hình quản lý thực tế của một cửa hàng kinh doanh mỹ phẩm trực tuyến.
- Phạm vi nghiên cứu: Đề tài giới hạn phạm vi áp dụng cho các doanh nghiệp, hộ kinh doanh mặt hàng mỹ phẩm có quy mô vừa và nhỏ; dữ liệu và tài liệu khảo sát được tổng hợp và hoàn thành vào tháng 6 năm 2023.
Cơ sở lý thuyết và phương pháp
Cơ sở lý thuyết và nền tảng công nghệ
Hệ thống được phát triển dựa trên các công nghệ web tiêu chuẩn và kiến trúc phần mềm hướng đối tượng:
- Ngôn ngữ PHP và Laravel Framework: PHP (viết tắt ban đầu là Personal Home Page, sau đổi thành Hypertext Preprocessor) là ngôn ngữ kịch bản chạy phía máy chủ (server-side) chịu trách nhiệm xử lý logic nghiệp vụ và sinh mã HTML trả về cho trình duyệt. Khung phát triển Laravel do Taylor Otwell phát triển từ năm 2011 được ứng dụng để chuẩn hóa cấu trúc dự án theo mô hình MVC (Model - View - Controller), nâng cao tính bảo mật, tối ưu hóa quá trình viết mã và đảm bảo tính ổn định của hệ thống.
- Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị cơ sở dữ liệu quan hệ mã nguồn mở sử dụng ngôn ngữ truy vấn có cấu trúc (SQL), có tính ổn định, tốc độ xử lý cao, hỗ trợ đa nền tảng (Windows, Linux, macOS, Unix...) và phù hợp với các ứng dụng web trực tuyến.
- Công nghệ Front-end:
- HTML (Hypertext Markup Language): Ngôn ngữ đánh dấu siêu văn bản định hình cấu trúc, phân chia các thành phần văn bản, liên kết, tiêu đề và khối nội dung của trang web.
- CSS (Cascading Style Sheets): Ngôn ngữ định kiểu do W3C phát triển nhằm thiết lập màu sắc, phông chữ và bố cục hiển thị cho các phần tử HTML.
- JavaScript: Ngôn ngữ lập trình kịch bản thông dịch phía máy khách do Brendan Eich phát triển, giúp tăng cường tính tương tác động trên giao diện người dùng.
- Bootstrap Framework: Thư viện front-end hỗ trợ thiết kế giao diện theo tiêu chuẩn Responsive và tư duy Mobile-first, đảm bảo hệ thống tương thích và hiển thị tối ưu trên nhiều kích thước màn hình thiết bị (máy tính để bàn, máy tính bảng, điện thoại di động).
Phương pháp nghiên cứu
- Phương pháp nghiên cứu lý thuyết: Thu thập, tổng hợp và phân tích tài liệu kỹ thuật từ sách, tài liệu chuyên ngành và các nguồn dữ liệu trực tuyến liên quan đến lập trình PHP/Laravel, cơ sở dữ liệu MySQL và kỹ thuật thiết kế phần mềm.
- Phương pháp triển khai thực nghiệm: Xây dựng phần mềm ứng dụng thực tế theo quy trình công nghệ phần mềm; tiến hành kiểm thử các mô-đun chức năng trong môi trường giả lập, phát hiện và hiệu chỉnh lỗi phát sinh trước khi đưa vào vận hành thử nghiệm.
Nguồn dữ liệu
Dữ liệu nghiên cứu được tổng hợp từ quy trình nghiệp vụ bán hàng mỹ phẩm thực tế, các quy định quản lý thông tin sản phẩm và biểu mẫu giao dịch thương mại điện tử cơ bản.
Thiết kế và triển khai
Phân tích tác nhân và yêu cầu chức năng
Hệ thống xác định 4 nhóm tác nhân (Actors) với các quyền hạn và phân hệ chức năng tương ứng:
| Tác nhân (Actor) |
Phạm vi quyền hạn và chức năng được phân bổ |
| Khách vãng lai |
Đăng ký tài khoản, Đăng nhập hệ thống, Tìm kiếm sản phẩm, Lọc danh mục sản phẩm, Xem thông tin chi tiết sản phẩm, Xem bình luận và đánh giá từ người dùng khác. |
| Khách hàng |
Kế thừa các chức năng của khách vãng lai, đồng thời thực hiện: Cập nhật giỏ hàng (thêm, sửa số lượng, xóa), Đặt hàng, Xem lịch sử đơn hàng, Hủy đơn hàng, Đăng tải bình luận và đánh giá sản phẩm. |
| Nhân viên |
Đăng nhập hệ thống quản trị, Tìm kiếm và lọc sản phẩm, Quản lý danh mục sản phẩm (thêm/sửa/xóa), Quản lý danh sách sản phẩm (thêm/sửa/xóa/cập nhật hình ảnh), Quản lý đơn hàng (tiếp nhận, chỉnh sửa thông tin, duyệt đơn, theo dõi trạng thái đơn đang giao và đã giao). |
| Chủ cửa hàng |
Kế thừa toàn bộ quyền hạn quản trị của nhân viên, bổ sung các chức năng chuyên sâu: Quản lý tài khoản nhân viên (tạo mới/sửa/xóa), Quản lý kho hàng (nhập/xuất/sửa/xóa số lượng tồn và giá trị lô hàng), Quản lý danh sách khách hàng, Xem báo cáo thống kê doanh thu và sản phẩm bán chạy. |
Yêu cầu phi chức năng
- Giao diện người dùng được thiết kế trực quan, bố cục rõ ràng, dễ thao tác.
- Đảm bảo tính an toàn dữ liệu, mã hóa mật khẩu và phân quyền truy cập chặt chẽ giữa các nhóm người dùng.
- Tốc độ phản hồi và xử lý truy vấn nhanh chóng, hạn chế tối đa độ trễ trong quá trình giao dịch.
Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu quan hệ của hệ thống bao gồm 8 bảng (tables) với cấu trúc chi tiết như sau:
| Tên bảng |
Tên trường (Thuộc tính) |
Kiểu dữ liệu |
Vai trò / Ghi chú |
category |
id
name
created_at
update_at |
Int(11) Text Date Date |
Khóa chính (PK) Tên danh mục Thời gian tạo Thời gian cập nhật |
product |
id
id_category
name
description
price
image
created_at
updateed_at |
Int(11) Int(11) Varchar(255) Text Int(11) Varchar(255) Timestamp Timestamp |
Khóa chính (PK) Khóa ngoại (FK) liên kết category Tên sản phẩm Mô tả chi tiết Đơn giá Đường dẫn hình ảnh Thời gian tạo Thời gian cập nhật |
users |
id
email
name
password
is_admin
address
remember_token
created_at
updated_at |
Int(11) Varchar(255) Varchar(10) Varchar(255) Int(11) Text Varchar(100) Timestamp Timestamp |
Khóa chính (PK) Địa chỉ thư điện tử Tên người dùng Mật khẩu mã hóa Cờ phân quyền quản trị Địa chỉ liên hệ Token ghi nhớ đăng nhập Thời gian tạo Thời gian cập nhật |
cart |
id
idUser
idProduct
amount
genaral
created_at
updateed_at |
Int(11) Int(11) Int(11) Int(11) Text Text Text |
Khóa chính (PK) Khóa ngoại (FK) liên kết users Khóa ngoại (FK) liên kết product Số lượng sản phẩm đặt Trạng thái giỏ hàng Thời gian tạo Thời gian cập nhật |
bill |
id
idUser
name
email
price
numberPhone
address
general
created_at
updateed_at |
Int(11) Int(11) Text Text Int(11) Text Text Int(11) Text Text |
Khóa chính (PK) Khóa ngoại (FK) liên kết users Tên khách hàng nhận Email người nhận Tổng giá trị đơn hàng Số điện thoại liên hệ Địa chỉ giao hàng Trạng thái đơn hàng Thời gian tạo Thời gian cập nhật |
nhapxuatkho |
id
code
type
id_product
content
amount
price
created_at
updateed_at |
Bigint(2) Varchar(255) Int(11) Int(11) Varchar(255) Int(11) Int(11) Timestamp Timestamp |
Khóa chính (PK) Mã đơn nhập/xuất Loại đơn (nhập hoặc xuất) Khóa ngoại (FK) liên kết product Nội dung ghi chú Số lượng biến động kho Đơn giá lô hàng Thời gian tạo Thời gian cập nhật |
comments |
id
user_id
parent_id
body
commentable_id
commentable_type
created_at
updateed_at |
Int(11) Int(11) Int(10) Text Int(10) Varchar(255) Timestamp Timestamp |
Khóa chính (PK) Khóa ngoại (FK) liên kết users Mã bình luận cha (nếu có) Nội dung bình luận Khóa ngoại định danh thực thể Loại thực thể bình luận Thời gian tạo Thời gian cập nhật |
love |
id
id_product
id_user
created_at
update_at |
Int(11) Int(11) Int(11) Date Date |
Khóa chính (PK) Khóa ngoại (FK) liên kết product Khóa ngoại (FK) liên kết users Thời gian tạo Thời gian cập nhật |
Kịch bản xử lý của các Usecase nghiệp vụ chính
- Đăng ký / Đăng nhập: Hệ thống kiểm tra tính hợp lệ của dữ liệu đầu vào (tên, email, mật khẩu, xác nhận mật khẩu). Nếu thông tin trùng khớp và đầy đủ, tài khoản mới sẽ được ghi vào bảng
users hoặc cấp phiên đăng nhập điều hướng về trang chủ.
- Cập nhật giỏ hàng: Khách hàng thêm sản phẩm vào giỏ, tùy chỉnh tăng/giảm số lượng bằng các nút bấm điều khiển; nếu số lượng giảm về mức 0, hệ thống tự động xóa sản phẩm tương ứng khỏi giỏ hàng.
- Quản lý danh mục và sản phẩm: Nhân viên quản trị thực hiện nhập tên danh mục, thêm mới sản phẩm kèm các thuộc tính (mô tả, đơn giá, hình ảnh đại diện và ảnh phụ đính kèm), đồng thời có thể cập nhật thông tin hoặc xóa bỏ thông qua bảng điều khiển.
- Quản lý đơn hàng: Nhân viên theo dõi các đơn hàng mới, duyệt chuyển trạng thái đơn sang các danh sách "đơn đang giao" và "đơn đã giao".
- Quản lý kho: Chủ cửa hàng thiết lập các phiếu nhập/xuất kho (loại hình giao dịch, sản phẩm, số lượng, đơn giá, mô tả), dữ liệu được cập nhật trực tiếp vào bảng
nhapxuatkho.
Nội dung chính theo từng chương
Mở đầu
Phần mở đầu trình bày tính cấp thiết của việc số hóa quy trình quản lý bán mỹ phẩm trong bối cảnh thương mại điện tử bùng nổ. Tác giả xác lập rõ 6 mục tiêu nghiên cứu cụ thể gắn liền với các khâu quản lý sản phẩm, nhân sự, khách hàng, kho bãi, đơn hàng và báo cáo thống kê; xác định phạm vi triển khai hướng đến đối tượng doanh nghiệp vừa và nhỏ.
Chương 1: Cơ sở lý thuyết
Chương này tổng hợp các kiến thức nền tảng về công nghệ phần mềm được ứng dụng trong đề tài:
- Trình bày lịch sử hình thành, khái niệm và cơ chế hoạt động của ngôn ngữ lập trình PHP từ các phiên bản PHP/FI (1995) đến PHP 7 (2015).
- Giới thiệu kiến trúc MVC và các mốc phát triển của Laravel Framework từ phiên bản đầu tiên (tháng 6/2011) đến bản Laravel 3.7.
- Phân tích đặc tính của hệ quản trị cơ sở dữ liệu quan hệ MySQL về khả năng lưu trữ, bảo mật và tính khả chuyển trên nhiều hệ điều hành.
- Trình bày vai trò của HTML, CSS, ngôn ngữ JavaScript và thư viện Bootstrap trong việc xây dựng giao diện web đa thiết bị.
Chương 2: Phân tích thiết kế hệ thống
Chương 2 tập trung vào các bước phân tích yêu cầu và mô hình hóa hệ thống:
- Khảo sát thực tế nhu cầu mua sắm trực tuyến của người tiêu dùng và yêu cầu quản trị của chủ cửa hàng.
- Xác định 4 tác nhân hệ thống và chi tiết hóa các yêu cầu chức năng cũng như phi chức năng.
- Xây dựng sơ đồ Use-case tổng quát và các sơ đồ Use-case thành phần (Đăng ký, Đăng nhập, Cập nhật giỏ hàng, Quản lý danh mục, Quản lý sản phẩm, Quản lý đơn hàng, Quản lý nhân viên, Xem danh sách khách hàng, Quản lý kho, Thống kê).
- Thiết lập 8 kịch bản Use-case chi tiết và 9 sơ đồ hoạt động (Activity Diagrams).
- Xây dựng sơ đồ thực thể quan hệ (ERD) và đặc tả chi tiết 8 bảng dữ liệu quan hệ trong cơ sở dữ liệu.
Chương 3: Xây dựng chương trình
Chương này mô tả kết quả lập trình và hiện thực hóa giao diện hệ thống:
- Liệt kê các công cụ hỗ trợ xây dựng phần mềm.
- Trình bày thiết kế và chức năng của 13 giao diện màn hình chính: Trang đăng ký, Trang đăng nhập, Trang chủ, Trang danh sách sản phẩm, Trang chi tiết sản phẩm, Trang giỏ hàng, Giao diện quản lý danh mục sản phẩm, Giao diện quản lý sản phẩm, Giao diện quản lý đơn hàng, Giao diện quản lý kho hàng, Giao diện quản lý nhân viên, Giao diện quản lý khách hàng và Giao diện báo cáo thống kê.
Chương 4: Kết luận và hướng phát triển
Đánh giá tổng quát mức độ hoàn thành nhiệm vụ đồ án so với các mục tiêu đã đề ra ban đầu, đồng thời chỉ rõ những tồn tại cần hoàn thiện và định hướng nâng cấp hệ thống trong tương lai.
Kết quả và đóng góp
Kết quả chính
- Đã phân tích, thiết kế và lập trình thành công hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh mỹ phẩm hoàn chỉnh với đầy đủ các phân hệ chức năng cho cả người dùng cuối và quản trị viên.
- Xây dựng cơ sở dữ liệu chuẩn hóa gồm 8 bảng dữ liệu quan hệ, đảm bảo tính toàn vẹn và nhất quán thông tin trong quá trình xử lý đơn hàng, lưu trữ thông tin người dùng và cập nhật tồn kho.
- Hiện thực hóa 13 giao diện người dùng và bảng điều khiển quản trị, đáp ứng quy trình khép kín từ khâu tiếp thị sản phẩm, đặt hàng, quản lý giao dịch đến xuất nhập kho và báo cáo doanh thu.
Giải pháp và kiến nghị
- Ứng dụng giải pháp công nghệ mã nguồn mở (PHP, Laravel, MySQL, Bootstrap) nhằm giảm thiểu chi phí đầu tư ban đầu cho các cửa hàng kinh doanh quy mô vừa và nhỏ.
- Số hóa quy trình quản lý bán hàng và xuất nhập kho giúp loại bỏ các sai sót thủ công, hỗ trợ chủ cửa hàng đưa ra quyết định nhập hàng và tiếp thị dựa trên số liệu thống kê thực tế.
Đóng góp của đề tài
- Hệ thống hóa tài liệu phân tích thiết kế phần mềm chi tiết cho bài toán kinh doanh mỹ phẩm trực tuyến, từ đặc tả yêu cầu, kịch bản use-case, sơ đồ hoạt động đến cấu trúc cơ sở dữ liệu quan hệ.
- Tạo ra một sản phẩm phần mềm mẫu có khả năng vận hành thực tế, có thể ứng dụng trực tiếp hoặc làm nền tảng mở rộng cho các hệ thống thương mại điện tử vừa và nhỏ.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Theo tự nhận xét của tác giả, do giới hạn về mặt kiến thức và thời gian thực hiện đề tài, hệ thống vẫn còn tồn tại một số sai sót nhất định trong quá trình vận hành; phạm vi ứng dụng mới tập trung vào mô hình bán lẻ vừa và nhỏ, chưa tích hợp sâu các cổng thanh toán điện tử trực tuyến hoặc các dịch vụ vận chuyển tự động bên thứ ba.
- Hướng phát triển tiếp: Tiếp thu các ý kiến đóng góp từ hội đồng phản biện và giáo viên hướng dẫn để tối ưu hóa mã nguồn, khắc phục các lỗi phát sinh trong môi trường thử nghiệm; nghiên cứu tích hợp thêm các tiện ích thanh toán trực tuyến và mở rộng tính năng phân tích dữ liệu nâng cao.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho:
- Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Cung cấp mẫu tài liệu đặc tả phân tích thiết kế hệ thống hoàn chỉnh, bao gồm sơ đồ use-case, kịch bản hoạt động chi tiết và thiết kế cơ sở dữ liệu quan hệ theo chuẩn mô hình MVC.
- Các lập trình viên phát triển web với PHP/Laravel: Cung cấp cấu trúc tham khảo về cách tổ chức cơ sở dữ liệu và triển khai các chức năng thương mại điện tử cơ bản (giỏ hàng, đơn hàng, phân quyền người dùng, quản lý kho).
Câu hỏi thường gặp
1. Hệ thống phân chia những nhóm người dùng nào và quyền hạn khác nhau ra sao?
Hệ thống phân chia 4 nhóm tác nhân: Khách vãng lai (chỉ xem, tìm kiếm sản phẩm và đăng ký/đăng nhập), Khách hàng (có thêm quyền quản lý giỏ hàng, đặt/hủy đơn và đánh giá sản phẩm), Nhân viên (quản lý danh mục, sản phẩm và duyệt đơn hàng), và Chủ cửa hàng (nắm toàn quyền quản trị, bao gồm quản lý nhân viên, quản lý kho, xem danh sách khách hàng và báo cáo thống kê).
2. Cơ sở dữ liệu của hệ thống gồm bao nhiêu bảng và những bảng nào lưu trữ thông tin giao dịch?
Cơ sở dữ liệu gồm 8 bảng: category, product, users, cart, bill, nhapxuatkho, comments, và love. Trong đó, các giao dịch mua bán và biến động hàng hóa được lưu trữ chính tại bảng cart (giỏ hàng tạm thời), bill (hóa đơn thanh toán) và nhapxuatkho (nhập xuất kho hàng).
3. Quy trình xử lý khi khách hàng giảm số lượng sản phẩm trong giỏ hàng về 0 được thiết kế như thế nào?
Theo kịch bản Use-case "Cập nhật giỏ hàng" (Bảng 2.3 trong văn bản), khi khách hàng thao tác giảm số lượng của một sản phẩm trong giỏ hàng về mức 0, hệ thống sẽ tự động xóa hoàn toàn sản phẩm đó ra khỏi giỏ hàng.
4. Chức năng quản lý kho lưu trữ những thông tin cụ thể nào cho mỗi lần nhập/xuất?
Theo cấu trúc bảng nhapxuatkho, mỗi bản ghi lưu trữ các trường: mã đơn (id), mã code (code), loại đơn nhập hoặc xuất (type), mã sản phẩm liên kết (id_product), nội dung ghi chú (content), số lượng hàng hóa (amount), đơn giá (price), cùng thời gian tạo và cập nhật (created_at, updateed_at).
5. Bộ công nghệ (tech stack) chính được tác giả lựa chọn để xây dựng website là gì?
Hệ thống sử dụng ngôn ngữ PHP kết hợp Laravel Framework cho phần xử lý phía máy chủ (Back-end), hệ quản trị cơ sở dữ liệu MySQL để lưu trữ dữ liệu, và sử dụng HTML, CSS, JavaScript cùng Bootstrap Framework để xây dựng giao diện người dùng (Front-end).
Kết luận
Đồ án tốt nghiệp "Xây dựng hệ thống trực tuyến hỗ trợ quản lý cửa hàng kinh doanh mỹ phẩm" của sinh viên Trần Thị Lan Hương đã hoàn thành việc khảo sát, phân tích thiết kế và xây dựng thành công một ứng dụng web quản lý bán hàng hoàn chỉnh. Hệ thống đáp ứng tốt các yêu cầu nghiệp vụ cơ bản từ quản lý danh mục sản phẩm, theo dõi giỏ hàng, xử lý đơn hàng đến kiểm soát xuất nhập kho và báo cáo doanh thu. Sản phẩm là tài liệu học thuật và thực tiễn có giá trị tham khảo tốt cho sinh viên chuyên ngành Công nghệ thông tin trong việc nghiên cứu và triển khai các ứng dụng thương mại điện tử quy mô vừa và nhỏ.