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

Đề tài "Xây dựng website bán quần áo nam cho cửa hàng NTD" được thực hiện bởi sinh viên Nguyễn Trường Duy (MSSV: 1824801030058) dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh tại Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một (hoàn thành vào tháng 11/2021).

Về bối cảnh thực tiễn, công nghệ thông tin tại Việt Nam đang có bước phát triển mạnh mẽ và trở thành công cụ quản lý thiết yếu cho các tổ chức, doanh nghiệp, đặc biệt trong khâu thu thập và xử lý thông tin. Tại các cửa hàng kinh doanh thời trang truyền thống, việc quản lý hóa đơn, sản phẩm và giao dịch thanh toán bằng sổ sách, giấy tờ bộc lộ nhiều nhược điểm: tốn kém thời gian, dễ xảy ra sai sót, khó tìm kiếm hoặc chỉnh sửa dữ liệu, đồng thời khi tài liệu bị rách hỏng hoặc thất lạc thì không thể phục hồi. Do đó, việc xây dựng một hệ thống thông tin trực tuyến là nhu cầu cấp thiết nhằm tin học hóa quy trình vận hành, giúp tiết kiệm thời gian, công sức và nâng cao hiệu quả kinh doanh.

Mục tiêu và nhiệm vụ nghiên cứu của đồ án bao gồm:

  1. Nghiên cứu cơ sở lý thuyết về lập trình web, các framework hỗ trợ, kiến trúc phân tích thiết kế hệ thống và hệ quản trị cơ sở dữ liệu.
  2. Khảo sát thực tế các mô hình website thương mại điện tử kinh doanh thời trang (như ivymoda.com) và thu thập yêu cầu từ chủ cửa hàng, quản lý và người mua.
  3. Phân tích, thiết kế cơ sở dữ liệu và xây dựng các biểu đồ ca sử dụng (Use Case Diagram), lược đồ dữ liệu và sơ đồ liên kết trang.
  4. Hiện thực hóa hệ thống "Website bán quần áo nam cho cửa hàng NTD" với đầy đủ phân hệ cho khách hàng (tìm kiếm, xem sản phẩm, quản lý giỏ hàng, đặt hàng) và phân hệ cho quản trị viên (quản lý sản phẩm, danh mục, đơn hàng, tài khoản).

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

  • Đối tượng nghiên cứu: Quy trình quản lý bán hàng thời trang nam, cấu trúc cơ sở dữ liệu quan hệ, và các công nghệ phát triển web gồm PHP, Laravel, jQuery, AJAX và MySQL.
  • Phạm vi không gian và ứng dụng: Triển khai thử nghiệm cho cửa hàng thời trang nam NTD tại Việt Nam.
  • Phạm vi chức năng: Xử lý nghiệp vụ bán lẻ trực tuyến, quản lý danh mục sản phẩm, theo dõi đơn đặt hàng và quản lý tài khoản người dùng; giới hạn phương thức thanh toán thực tế ở hình thức thanh toán khi nhận hàng.

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

Đồ án tổng hợp và ứng dụng nền tảng công nghệ web mã nguồn mở kết hợp các phương pháp kỹ thuật phần mềm truyền thống:

Khung công nghệ và lý thuyết áp dụng

  • Ngôn ngữ PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản mã nguồn mở phía máy chủ (server-side), thực thi trên server để sinh mã HTML trả về cho trình duyệt. Văn bản điểm lại lịch sử phát triển từ phiên bản PHP/FI (Rasmus Lerdorf phát triển năm 1995 bằng ngôn ngữ C), PHP 3.0 (Andi Gutmans và Zeev Suraski viết lại năm 1997 hỗ trợ mở rộng module và đa cơ sở dữ liệu), PHP 4.0 (năm 2000, hỗ trợ HTTP session, output buffering) đến PHP 5.0 (phát hành tháng 7/2004).
  • Framework Laravel: Nền tảng phát triển ứng dụng PHP với cú pháp tinh tế, hỗ trợ các cơ chế tích hợp sẵn như xác thực người dùng (authentication), quản lý phiên (session), lưu bộ nhớ đệm (caching), quản lý định tuyến (routing), xử lý hàng đợi tác vụ nền (background job queue) và khả năng tích hợp dịch vụ điện toán đám mây bên thứ ba (như Amazon Web Services - AWS).
  • Thư viện jQuery: Thư viện JavaScript nhỏ gọn do John Resig tạo ra năm 2006, hỗ trợ thao tác nhanh trên cây DOM (Document Object Model), xử lý CSS, quản lý sự kiện và tạo hiệu ứng động.
  • Kỹ thuật AJAX (Asynchronous JavaScript and XML): Cơ chế giao tiếp bất đồng bộ giữa trình duyệt và máy chủ thông qua đối tượng XMLHttpRequest, kết hợp DOM và HTML/XHTML. AJAX mang lại 4 ưu điểm chính: Callbacks (truy xuất dữ liệu cục bộ không cần gửi lại toàn bộ trang), thực hiện cuộc gọi không đồng bộ (giảm thời gian chờ đợi của người dùng), tăng tính thân thiện và tối ưu tốc độ phản hồi.
  • Hệ quản trị cơ sở dữ liệu MySQL: Hệ quản trị CSDL quan hệ phát hành năm 1995, có ưu điểm là tốc độ truy xuất cao, tính bảo mật, miễn phí và hỗ trợ đầy đủ các hàm SQL; tuy nhiên có nhược điểm về một số ràng buộc chức năng nâng cao và cần giải pháp chia tải (sharding) hoặc bộ nhớ đệm (cache) khi kích thước dữ liệu tăng lớn.

Phương pháp nghiên cứu và nguồn dữ liệu

  • Phương pháp khảo sát và phỏng vấn: Thu thập thông tin từ sách báo chuyên ngành, khảo sát cấu trúc hệ thống của các website bán lẻ thời trang tiêu biểu (ivymoda), phỏng vấn trực tiếp chủ cửa hàng, người quản lý và khách hàng để xác định các ràng buộc dữ liệu, quy trình ra/vào của thông tin và luồng thao tác thực tế.
  • Phương pháp mô hình hóa hệ thống: Sử dụng chuẩn UML để xây dựng biểu đồ Use Case (Actor, Use Case, quan hệ), bảng đặc tả Use Case chi tiết, lược đồ quan hệ thực thể (ERD/Lược đồ CSDL) và sơ đồ luồng liên kết màn hình.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân quyền rõ ràng giữa hai tác nhân chính (Actors) và triển khai qua các trang giao diện tương ứng với các ca sử dụng cụ thể.

Bảng tổng hợp Actor và quyền hạn hệ thống

STT Tác nhân (Actor) Vai trò và phạm vi chức năng
1 Người dùng thường (Khách hàng) Đăng ký tài khoản, đăng nhập, đăng xuất, đổi mật khẩu, cập nhật thông tin cá nhân, tìm kiếm sản phẩm theo tên, sắp xếp danh sách sản phẩm, xem chi tiết sản phẩm, quản lý giỏ hàng, thực hiện đặt hàng, theo dõi danh sách đơn hàng đã mua.
2 Quản trị viên (Admin / Quản lý) Đăng nhập bằng tài khoản mặc định được cấp, cập nhật danh sách sản phẩm (thêm, sửa, xóa), cập nhật loại sản phẩm, quản lý đơn hàng (sửa thông tin, cập nhật trạng thái, xóa đơn), quản lý tài khoản khách hàng và tài khoản quản trị.

Danh sách ca sử dụng (Use Cases) của hệ thống

STT Tên Use Case Ý nghĩa chức năng Actor thực hiện
1 Đăng nhập Cho phép người dùng và Admin đăng nhập vào hệ thống Người dùng, Admin
2 Đăng xuất Cho phép thoát phiên làm việc ra khỏi hệ thống Người dùng, Admin
3 Đăng ký tài khoản Cho phép khách hàng tạo mới tài khoản trên hệ thống Người dùng
4 Cập nhật thông tin tài khoản Cho phép người dùng chỉnh sửa thông tin cá nhân Người dùng
5 Mua hàng Cho phép chọn sản phẩm, lập giỏ và đặt đơn hàng Người dùng
6 Xem chi tiết sản phẩm Hiển thị thông tin chi tiết, size, giá, mô tả sản phẩm Người dùng
7 Xem danh sách đơn hàng Xem danh sách và trạng thái các đơn hàng đã đặt Người dùng
8 Cập nhật danh sách sản phẩm Quản trị viên sửa đổi dữ liệu sản phẩm Admin
9 Cập nhật danh sách loại SP Quản trị viên quản lý danh mục/loại sản phẩm Admin
10 Thêm sản phẩm Quản trị viên nhập mới thông tin và hình ảnh sản phẩm Admin
11 Cập nhật đơn hàng Quản trị viên chỉnh sửa trạng thái và thông tin đơn hàng Admin
12 Sắp xếp sản phẩm Phân loại và hiển thị danh sách sản phẩm theo giá Người dùng
13 Tìm kiếm sản phẩm Tra cứu sản phẩm theo từ khóa tên sản phẩm Người dùng

Hiện thực giao diện và quy trình xử lý

Hệ thống được tổ chức thành 21 giao diện màn hình chức năng chính:

  • Phân hệ Client (Khách hàng): Gồm Trang đăng ký (yêu cầu nhập tên tài khoản, mật khẩu, xác nhận mật khẩu, họ tên, email, địa chỉ, số điện thoại), Trang đăng nhập (tài khoản, mật khẩu), Trang chủ, Trang danh sách sản phẩm, Trang chi tiết sản phẩm (chứa hình ảnh, mã, giá, kích thước, khối thông tin bảo quản, thông tin liên hệ; có nút đặt hàng và nút tìm địa điểm còn hàng nhưng nút này chưa tích hợp xử lý), Trang giỏ hàng (hiển thị thông báo giỏ rỗng hoặc bảng danh sách sản phẩm kèm số lượng, size, thành tiền, nút xóa, nút cập nhật), Trang giao hàng (nhập/tùy chỉnh địa chỉ người nhận), Trang thanh toán (chọn phương thức vận chuyển chuyển phát nhanh, chọn hình thức thanh toán), Trang đặt hàng thành công (hiển thị mã đơn hàng và lời cảm ơn), Trang thông tin cá nhân và Trang đổi mật khẩu.
  • Phân hệ Admin (Quản trị): Gồm Trang danh sách sản phẩm (mã, tên, đơn giá, ngày cập nhật, số lượng, nhà cung cấp, nút sửa/xóa), Trang thêm mới sản phẩm (nhập tên, đơn giá, giá bán, nhà cung cấp, size, tổng số lượng, mô tả, cách bảo quản, hình ảnh minh họa, hình chi tiết, danh mục), Trang sửa sản phẩm, Trang danh sách đơn hàng (mã đơn, ngày lập, tên khách, địa chỉ, số điện thoại, phương thức thanh toán, trạng thái, thành tiền), Trang sửa đơn hàng, Trang danh sách tài khoản khách hàng, Trang thêm/sửa tài khoản khách hàng, Trang danh sách tài khoản Admin và Trang thêm/sửa tài khoản Admin.

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

Chương 1: Mô tả bài toán và sơ đồ chức năng

Chương mở đầu phân tích thực trạng thương mại điện tử và nhu cầu xây dựng website cho cửa hàng thời trang nam NTD. Tác giả chỉ ra các bất cập của việc quản lý bằng sổ sách truyền thống, từ đó xác lập các yêu cầu hệ thống về phân quyền người dùng/quản lý và yêu cầu bảo mật cơ sở dữ liệu. Chương này cũng phân loại các nhóm chức năng chính của khách hàng (đăng nhập, tìm kiếm, quản lý tài khoản, đổi mật khẩu, theo dõi đơn hàng) và quản trị viên (quản lý sản phẩm, đơn hàng, tài khoản).

Chương 2: Tổng quan về PHP, các Framework sử dụng và các sơ đồ chức năng

Chương 2 trình bày tổng quan lý thuyết về công nghệ nền tảng: lịch sử và cơ chế hoạt động của ngôn ngữ PHP qua các phiên bản (1.0 đến 5.0); các đặc tính kỹ thuật của framework Laravel (xử lý routing, session, caching, background queue, AWS); thư viện jQuery và cơ chế bất đồng bộ của AJAX (kết hợp HTML, DOM, XMLHttpRequest); đặc điểm, ưu điểm và hạn chế của hệ quản trị CSDL MySQL. Tác giả cũng nêu phương pháp thu thập dữ liệu thông qua điều tra sách báo, khảo sát website mẫu (ivymoda) và phỏng vấn trực tiếp chủ cửa hàng để phục vụ việc thiết kế.

Chương 3: Phân tích và thiết kế cơ sở dữ liệu

Nội dung chương tập trung vào phân tích hướng đối tượng với danh sách 2 Actor (Người dùng thường và Quản trị viên), danh sách 13 Use Case và hệ thống 13 bảng đặc tả ca sử dụng chi tiết (từ Bảng 3 đến Bảng 15). Mỗi ca sử dụng được đặc tả theo cấu trúc: Tên Use Case, Actor chính, Actor phụ, Tiền điều kiện, Hậu điều kiện, Mô tả chung, Dòng sự kiện chính (từng bước thao tác B1-B6) và Dòng sự kiện phụ (xử lý lỗi khi dữ liệu không hợp lệ). Chương kết thúc bằng việc thiết lập Sơ đồ Use Case tổng quát, Sơ đồ Use Case cho từng Actor, Lược đồ CSDL quan hệ và Sơ đồ liên kết các trang màn hình.

Chương 4: Hiện thực chức năng và kiểm thử

Chương này mô tả chi tiết kết quả xây dựng giao diện và luồng thực thi của 21 màn hình ứng dụng từ Hình 6 đến Hình 33 trong tài liệu. Tác giả thuyết minh chi tiết các thành phần giao diện (TextBox, Button, Bảng dữ liệu) cùng các bước thao tác tuần tự của người dùng và quản trị viên trong từng chức năng: đăng ký, đăng nhập, duyệt sản phẩm, thêm vào giỏ, điều chỉnh số lượng, điền thông tin giao hàng, thanh toán trực tiếp, cũng như các thao tác thêm, sửa, xóa dữ liệu trong trang quản trị.

Kết luận và hướng phát triển

Phần tổng kết đánh giá các chức năng đã xây dựng thành công, chỉ rõ các hạn chế kỹ thuật hiện tại của hệ thống và đề xuất các định hướng nâng cấp trong tương lai.


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

Kết quả chính đạt được

  • Xây dựng hoàn chỉnh website thương mại điện tử phục vụ bán quần áo nam cho cửa hàng NTD với đầy đủ giao diện người dùng và bảng điều khiển quản trị.
  • Thiết lập cơ chế phân quyền bảo mật: Phân tách rõ ràng quyền hạn của tài khoản Khách hàng (chỉ có quyền xem, đặt hàng và cập nhật thông tin cá nhân) và tài khoản Quản trị viên (toàn quyền truy cập, thêm mới, sửa đổi và xóa dữ liệu trong cơ sở dữ liệu).
  • Hiện thực đầy đủ quy trình mua hàng trực tuyến: Từ bước tìm kiếm/sắp xếp sản phẩm, xem chi tiết, đưa sản phẩm vào giỏ hàng, tùy chỉnh số lượng, nhập thông tin địa chỉ giao nhận đến xác nhận đơn hàng thành công.
  • Xây dựng phân hệ quản lý kho và đơn hàng: Cho phép Admin quản lý số lượng tồn kho, cập nhật thông tin đơn giá/giá bán/size/mô tả sản phẩm, và theo dõi, xử lý trạng thái các đơn hàng do khách thiết lập.

Giải pháp và đóng góp của đề tài

  • Đưa ra giải pháp chuyển đổi mô hình quản lý bán lẻ từ phương thức ghi chép sổ sách thủ công sang hệ thống thông tin tự động hóa trên nền tảng web, giảm thiểu rủi ro thất lạc số liệu và nâng cao tốc độ tra cứu thông tin.
  • Cung cấp tài liệu phân tích thiết kế hệ thống chi tiết với 13 bảng đặc tả ca sử dụng có cấu trúc rõ ràng, phục vụ làm tài liệu mẫu cho việc xây dựng các ứng dụng web thương mại điện tử quy mô vừa và nhỏ.

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

Hạn chế được ghi nhận trong tài liệu

  1. Chưa tích hợp thanh toán trực tuyến: Mặc dù giao diện trang thanh toán có hiển thị các tùy chọn thẻ tín dụng, thẻ ATM và ví điện tử MoMo, nhưng hệ thống thực tế mới chỉ kích hoạt phương thức thanh toán trực tiếp bằng tiền mặt khi nhận hàng (COD).
  2. Chức năng tra cứu vị trí chưa hoàn thiện: Trên giao diện chi tiết sản phẩm có thiết kế nút "Tìm địa điểm còn hàng", tuy nhiên chức năng này chưa được lập trình xử lý logic trong hệ thống.
  3. Giới hạn về nền tảng: Hệ thống mới được xây dựng dưới dạng ứng dụng web, chưa có phiên bản ứng dụng di động riêng biệt chạy trên các hệ điều hành di động.

Hướng phát triển

  1. Tích hợp các cổng thanh toán điện tử trực tuyến (ATM nội địa, thẻ quốc tế, ví điện tử MoMo/ZaloPay) để tự động hóa toàn diện quy trình thanh toán.
  2. Hoàn thiện tính năng định vị cửa hàng và kiểm tra tồn kho theo từng chi nhánh/địa điểm cụ thể.
  3. Tối ưu hóa hiệu năng truy vấn cơ sở dữ liệu MySQL bằng cách áp dụng giải pháp lưu bộ nhớ đệm (caching) hoặc phân tách dữ liệu khi số lượng bản ghi đơn hàng và sản phẩm tăng cao.

Giá trị tham khảo

Báo cáo đồ án là tài liệu học thuật phù hợp cho:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm và Hệ thống thông tin: Tham khảo phương pháp xây dựng đồ án chuyên ngành/đồ án môn học về phát triển ứng dụng web thương mại điện tử bằng PHP và MySQL.
  • Người học cần tài liệu mẫu về phân tích thiết kế: Phần đặc tả chi tiết 13 ca sử dụng (Use Case) kèm theo các luồng sự kiện chính - phụ và sơ đồ liên kết trang là nguồn tham khảo trực quan, chuẩn mực cho các bài tập lớn môn Phân tích thiết kế hệ thống thông tin.
  • Lập trình viên web mới bắt đầu: Tham khảo cách tổ chức luồng nghiệp vụ giỏ hàng (Shopping Cart), quy trình giao hàng - thanh toán, và cấu trúc trang quản trị dữ liệu CRUD (Create - Read - Update - Delete).

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

1. Đề tài do ai thực hiện, thuộc đơn vị đào tạo nào và thời gian hoàn thành khi nào?

Đề tài là Đồ án chuyên ngành thuộc Viện Kỹ thuật – Công nghệ, Trường Đại học Thủ Dầu Một, do sinh viên Nguyễn Trường Duy (MSSV: 1824801030058) thực hiện dưới sự hướng dẫn của ThS. Nguyễn Hữu Vĩnh, hoàn thành vào tháng 11 năm 2021 tại Bình Dương.

2. Hệ thống hỗ trợ những phương thức thanh toán nào trên giao diện và thực tế vận hành ra sao?

Trên giao diện trang thanh toán có liệt kê các phương thức: thẻ tín dụng, thẻ ATM, ví điện tử MOMO và thu tiền tận nơi. Tuy nhiên, theo ghi nhận thực tế của tác giả trong văn bản, hệ thống chưa tích hợp cổng thanh toán trực tuyến mà chỉ hỗ trợ thanh toán trực tiếp bằng tiền mặt khi nhận hàng.

3. Khách hàng và Quản trị viên (Admin) được phân quyền khác nhau như thế nào?

Khách hàng tự đăng ký tài khoản và chỉ có quyền tìm kiếm, xem chi tiết, sắp xếp sản phẩm, quản lý giỏ hàng, đặt hàng và cập nhật thông tin cá nhân của chính mình. Quản trị viên sử dụng tài khoản mặc định được cấp, có toàn quyền quản lý hệ thống bao gồm: thêm, sửa, xóa sản phẩm và danh mục sản phẩm; cập nhật tình trạng hoặc xóa đơn hàng; quản lý danh sách tài khoản khách hàng và tài khoản Admin.

4. Hệ thống đã đặc tả chi tiết bao nhiêu Use Case và gồm những Use Case nào?

Đồ án đã lập danh sách và viết bảng đặc tả chi tiết cho 13 Use Case, bao gồm: Đăng nhập, Đăng xuất, Đăng ký tài khoản, Cập nhật thông tin tài khoản, Mua hàng, Xem chi tiết sản phẩm, Xem danh sách đơn hàng, Cập nhật danh sách sản phẩm, Cập nhật danh sách loại sản phẩm, Thêm sản phẩm, Cập nhật đơn hàng, Sắp xếp sản phẩm và Tìm kiếm sản phẩm.

5. Nút "Tìm địa điểm còn hàng" trên trang chi tiết sản phẩm có hoạt động không?

Nút chức năng "Tìm địa điểm còn hàng" được thiết kế hiển thị trên giao diện trang chi tiết sản phẩm bên cạnh nút đặt hàng, tuy nhiên văn bản đồ án xác nhận rõ chức năng này chưa được tích hợp logic xử lý trong phiên bản hiện tại của website.


Kết luận

Đồ án "Xây dựng website bán quần áo nam cho cửa hàng NTD" của tác giả Nguyễn Trường Duy đã giải quyết bài toán tin học hóa hoạt động quản lý và kinh doanh bán lẻ thời trang thông qua việc xây dựng một hệ thống website thương mại điện tử hoàn chỉnh. Báo cáo thể hiện rõ nét quy trình kỹ thuật phần mềm từ khảo sát nghiệp vụ, phân tích thiết kế với 13 bảng đặc tả Use Case chi tiết, đến hiện thực hóa 21 giao diện chức năng trên nền tảng PHP và MySQL. Dù còn hạn chế về việc chưa tích hợp cổng thanh toán trực tuyến và chức năng tra cứu tồn kho theo địa điểm, công trình là tài liệu tham khảo có giá trị thực tiễn cho sinh viên chuyên ngành Công nghệ thông tin trong các học phần phát triển ứng dụng web.