Bối cảnh và vấn đề nghiên cứu
Đề tài đồ án tốt nghiệp "Xây dựng website bán hàng quần áo thời trang" được sinh viên Lê Trọng Linh (lớp DHCNTT3.K21, Khoa Công nghệ thông tin, Trường Đại học Hải Phòng) thực hiện năm 2024 dưới sự hướng dẫn của ThS. Lê Ngọc Minh. Bối cảnh thực tiễn được tác giả nêu ra xuất phát từ sự phát triển mạnh mẽ của mạng toàn cầu và dịch vụ World Wide Web (WWW) – nơi ước tính chiếm tới 85% các giao dịch trên Internet. Việc chuyển dịch kênh phân phối sang nền tảng số giúp các doanh nghiệp, cửa hàng thời trang giảm thiểu tối đa chi phí in ấn, phân phát ấn phẩm tiếp thị truyền thống, đồng thời mở rộng khả năng tiếp cận khách hàng trên diện rộng.
Mục tiêu và nhiệm vụ nghiên cứu của đồ án được xác định cụ thể:
- Nghiên cứu cơ sở lý thuyết về Internet, giao thức truyền thông TCP/IP, cấu trúc ngôn ngữ HTML, ngôn ngữ kịch bản phía máy chủ PHP và hệ quản trị cơ sở dữ liệu quan hệ MySQL.
- Khảo sát thực trạng hoạt động kinh doanh bán lẻ quần áo thời trang, xác định yêu cầu của khách hàng và các bất cập trong hệ thống quản lý hiện hành của cửa hàng để đề xuất hệ thống mới.
- Phân tích thiết kế hệ thống thông tin: mô tả yêu cầu chức năng, yêu cầu phi chức năng, xây dựng biểu đồ Use Case, lập kịch bản chi tiết cho từng tác vụ, thiết kế sơ đồ hoạt động, sơ đồ tuần tự và sơ đồ lớp.
- Hiện thực hóa website bán hàng quần áo thời trang với đầy đủ giao diện người dùng và trang quản trị back-end, phục vụ hoạt động trưng bày sản phẩm, xử lý giỏ hàng, đặt hàng và quản lý doanh thu.
Đối tượng và phạm vi nghiên cứu:
- Đối tượng nghiên cứu: Quy trình phân tích, thiết kế và xây dựng website thương mại điện tử chuyên ngành hàng quần áo thời trang.
- Phạm vi nghiên cứu: Mô hình ứng dụng web dành cho cửa hàng bán lẻ thời trang quy mô vừa và nhỏ; phạm vi chức năng giới hạn ở quy trình tương tác của khách vãng lai, khách hàng thành viên, nhân viên bán hàng và người quản trị hệ thống (Admin).
Cơ sở lý thuyết và phương pháp
Đồ án ứng dụng mô hình kiến trúc Client - Server trên nền tảng web động kết hợp xử lý cơ sở dữ liệu. Khung lý thuyết và các công nghệ cốt lõi được sử dụng gồm:
- Giao thức và công nghệ nền tảng: Bộ giao thức TCP/IP (Transmission Control Protocol/Internet Protocol), chuẩn World Wide Web Consortium (W3C) cho ngôn ngữ đánh dấu siêu văn bản HTML (sử dụng các cặp thẻ cấu trúc, bảng
<table>, biểu mẫu <form> cùng các phương thức truyền dữ liệu GET/POST).
- Ngôn ngữ kịch bản máy chủ PHP: Cơ chế thực thi Server-Side, mô hình xử lý nhúng trong HTML, hệ thống kiểu dữ liệu, các cấu trúc điều khiển rẽ nhánh (
if-elseif-else, switch-case), vòng lặp (while, for, do-while), cơ chế truyền tham số hàm (tham trị, tham biến, tham số mặc định), lập trình hướng đối tượng cơ bản (class Cart), và kỹ thuật lưu trữ phiên làm việc qua Session (session_start(), $_SESSION, session_destroy()) cùng Cookie (setcookie()).
- Hệ quản trị cơ sở dữ liệu quan hệ MySQL: Mô hình quản lý dữ liệu theo 4 mục đích (lưu trữ, truy cập, tổ chức, xử lý); các nhóm kiểu dữ liệu số nguyên (
tinyint, smallint, mediumint, int, bigint), số thực (float, double), ngày giờ (date, time, datetime, timestamp), chuỗi ký tự (char, varchar, text, blob); câu lệnh truy vấn cấu trúc (SELECT, INSERT, UPDATE); các nhóm hàm xử lý chuỗi, thời gian, toán học và hàm gộp (GROUP BY).
- Tích hợp PHP và MySQL: Sử dụng thư viện hàm kết nối truyền thống (
mysql_connect, mysql_select_db, mysql_query, mysql_fetch_row, mysql_fetch_array, mysql_fetch_object).
Phương pháp nghiên cứu thực tế bao gồm:
- Phương pháp phân tích và mô hình hóa hướng chức năng/ca sử dụng (Use Case Modeling): đặc tả yêu cầu, phân loại tác nhân, xây dựng kịch bản Use Case dạng bảng chuẩn hóa.
- Phương pháp thiết kế hệ thống hướng đối tượng: mô hình hóa hành vi và tương tác thông qua sơ đồ hoạt động (Activity Diagram), sơ đồ tuần tự (Sequence Diagram) và sơ đồ lớp (Class Diagram).
- Phương pháp phát triển phần mềm thực nghiệm: lập trình mã nguồn, cấu hình máy chủ web cục bộ (Apache/XAMPP), thiết kế cơ sở dữ liệu (tên database
minhcanh) và xây dựng giao diện người dùng.
Thiết kế và triển khai hệ thống
Hệ thống website bán hàng quần áo thời trang được phân tích và thiết kế dựa trên sự phân cấp rõ ràng giữa 4 nhóm tác nhân (Actors):
| Tác nhân (Actor) |
Phạm vi quyền hạn và nhiệm vụ chính |
| Quản trị viên (Admin) |
Toàn quyền kiểm soát hệ thống: quản lý tài khoản người dùng, phân quyền/nâng cấp tài khoản khách hàng lên quyền nhân viên, xem thông tin khách hàng; có toàn bộ quyền hạn nghiệp vụ của nhân viên. |
| Nhân viên (Người bán hàng) |
Đăng nhập hệ thống; quản lý sản phẩm (thêm, sửa thông tin, xóa sản phẩm, tạo danh mục loại sản phẩm mới); quản lý đơn hàng (xem chi tiết, thay đổi trạng thái giao hàng); kiểm duyệt bình luận (ẩn/hiện để chống spam); theo dõi thống kê (lượt truy cập, doanh thu, lợi nhuận, biểu đồ kinh doanh, danh sách sản phẩm bán chạy). |
| Khách hàng (Thành viên) |
Đăng nhập hệ thống; quản lý thông tin cá nhân; đổi mật khẩu, lấy lại mật khẩu; tham gia bình luận sản phẩm, phản hồi và thích (like) bình luận; sử dụng toàn bộ chức năng của khách vãng lai. |
| Khách vãng lai |
Tìm kiếm sản phẩm theo tên; xem danh mục và chi tiết sản phẩm; thêm/sửa/xóa sản phẩm trong giỏ hàng; tiến hành đặt hàng, chọn phương thức thanh toán; chấm điểm đánh giá (gắn sao) sản phẩm; đăng ký tài khoản mới. |
Yêu cầu phi chức năng được tác giả xác định cụ thể trong thiết kế:
- Thời gian: Tối ưu hóa thời gian phản hồi, thời gian xử lý truy vấn và thời gian trả kết quả ở trạng thái vận hành bình thường.
- Công suất tối đa: Đáp ứng giới hạn về dung lượng lưu trữ thực thể, số lượng người dùng truy cập đồng thời, băng thông mạng và khối lượng giao dịch thành công trên một đơn vị thời gian.
- Giao diện người dùng: Bố trí danh mục, cửa sổ, biểu tượng hài hòa; sử dụng tông màu thân thiện, thuận tiện cho thao tác mua sắm và quản trị.
- Bảo mật và xác thực: Kiểm tra tính đúng đắn của dữ liệu đầu vào (tên đăng nhập, mật khẩu cũ/mới, định dạng thông tin); phân quyền truy cập chặt chẽ theo vai trò.
Triển khai nghiệp vụ giỏ hàng và thanh toán:
- Quản lý trạng thái giỏ hàng thông qua cơ chế Session của PHP (
$_SESSION['cart']), cho phép lưu trữ tạm thời danh sách mặt hàng đã chọn khi người dùng chuyển hướng qua các trang web.
- Xử lý kiểm tra số lượng tồn kho: khi người dùng cập nhật số lượng mua vượt quá số lượng còn lại trong kho, hệ thống gửi thông báo cảnh báo và yêu cầu điều chỉnh lại số lượng hợp lệ.
- Cung cấp 2 hình thức thanh toán đơn hàng: chuyển khoản ngân hàng hoặc thanh toán trực tiếp khi nhận hàng (COD).
Nội dung chính theo từng chương
Chương 1. Internet, World Wide Web và HTML
Chương này cung cấp bức tranh tổng quan về hạ tầng mạng và công nghệ hiển thị nội dung web:
- Lịch sử và dịch vụ Internet: Trình bày sự hình thành từ mạng ARPANET của Bộ Quốc phòng Mỹ trong thập niên 80, cấu trúc mạng toàn cầu theo mô hình Host, phương thức kết nối Dial-up và kết nối vật lý (Ethernet, Token Ring). Phân định rõ 2 nhóm máy tính trên mạng là Client (máy khách) và Server (máy chủ dịch vụ: Web Server, Mail Server, FTP Server) vận hành dưới giao thức điều khiển truyền dữ liệu TCP/IP.
- World Wide Web và phân loại web: Khái quát vai trò của WWW và trình duyệt web (Internet Explorer, Mozilla Firefox, Google Chrome). Phân biệt rạch ròi giữa Web tĩnh (phân phát tài liệu trực tiếp từ hệ thống tệp tin của máy chủ, tốc độ nhanh nhưng thiếu tính tương tác) và Web động (xử lý logic phía máy chủ, truy vấn cơ sở dữ liệu và kết xuất HTML động trả về trình duyệt).
- Cấu trúc HTML: Mô tả chi tiết cú pháp các thẻ cấu trúc (
<html>, <head>, <title>, <body>), các thẻ định dạng văn bản (<p>, <font>), thẻ liên kết <a>, thẻ hình ảnh <img>, thẻ cấu trúc bảng (<table>, <tr>, <td>), và các thành phần biểu mẫu tiếp nhận dữ liệu (<form>, <input> với các kiểu text, password, submit, button, reset, checkbox, radio, image; <textarea>; <select>).
Chương 2. Tìm hiểu ngôn ngữ PHP và MySQL
Chương 2 đóng vai trò là cơ sở kỹ thuật phục vụ lập trình ứng dụng:
- Ngôn ngữ kịch bản PHP: Nêu nguồn gốc ra đời từ Rasmus Lerdorf năm 1994 với tên gọi ban đầu là Personal Home Page, sau đổi thành PHP: Hypertext Preprocessor. Phân tích ưu điểm mã nguồn mở, khả năng chạy đa nền tảng (Windows, Unix), hoạt động phía máy chủ và tích hợp cơ sở dữ liệu. Trình bày chi tiết cú pháp các kiểu thẻ nhúng PHP (Short tag
<? ?>, XML tag <?php ?>, Script tag <script language="php">, ASP tag <% %>), các kiểu dữ liệu cơ bản (số nguyên, số thực, xâu chuỗi, mảng chỉ số và mảng liên kết), các mảng biến toàn cục ($HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS), các hằng định sẵn (__FILE__, __LINE__, __PHP_VERSION__), toán tử số học/logic/bit/so sánh/điều khiển lỗi @. Phân tích cơ chế hướng đối tượng với ví dụ về lớp Cart, kỹ thuật truyền tham chiếu (&$var), cơ chế quản trị phiên với Session và lưu trữ cục bộ qua Cookie.
- Hệ quản trị cơ sở dữ liệu MySQL: Trình bày 4 mục đích sử dụng CSDL (lưu trữ, truy cập, tổ chức, xử lý). Bảng tổng hợp chi tiết các kiểu dữ liệu trường:
- Kiểu số nguyên:
Tinyint (1 byte), Smallint (2 byte), Mediumint (3 byte), Int (4 byte), Bigint (8 byte).
- Kiểu số chấm động:
Float(M,D), Double(M,D).
- Kiểu ngày giờ:
Date (định dạng yyyy-mm-dd), Time (hh:mm:ss), DateTime (yyyy-mm-dd hh:mm:ss), TimeStamp.
- Kiểu chuỗi và nhị phân:
Char, Varchar (chiều dài tối đa 255 ký tự); Tinyblob/Tinytext ($2^8-1$ byte); Blob/Text ($2^{16}-1$ byte); Mediumblob/Mediumtext ($2^{24}-1$ byte); Longblob/Longtext ($2^{32}-1$ byte).
- Cú pháp và hàm: Cú pháp câu lệnh
SELECT (với mệnh đề FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT), INSERT INTO, UPDATE TABLE. Hệ thống các hàm thông dụng: hàm nhóm (AVG, MIN, MAX, COUNT, SUM); hàm chuỗi (ASCII, CHAR, UPPER, LOWER, LEN, LTRIM, RTRIM, LEFT, RIGHT, INSTR); hàm thời gian (CurDate(), CurTime(), Period_Diff, dayofmonth); hàm toán học (sqrt).
Chương 3: Phân tích thiết kế hệ thống và Xây dựng ứng dụng thực tế
Chương này trình bày toàn bộ quá trình kỹ nghệ phần mềm cho đề tài:
- Phân tích yêu cầu và ca sử dụng: Thiết lập Bảng 3.1 phân tích yêu cầu chức năng cho 4 nhóm đối tượng người dùng. Thiết lập Bảng 3.2 phân rã chi tiết danh mục Use Case cho từng tác nhân (quản lý tài khoản, quản lý sản phẩm/danh mục, quản lý đơn hàng, theo dõi báo cáo, giỏ hàng, thanh toán, tương tác bình luận).
- Hệ thống kịch bản Use Case (Bảng 3.3 đến Bảng 3.16): Xây dựng chi tiết luồng sự kiện chính, điều kiện tiên quyết, trường hợp ngoại lệ và trạng thái kết thúc cho 14 kịch bản trọng yếu:
- Đăng ký, Đăng nhập, Đăng xuất (Bảng 3.3 - 3.5): Xử lý xác thực người dùng, kiểm tra trùng lặp tài khoản.
- Xem/Sửa thông tin cá nhân, Đổi mật khẩu (Bảng 3.6 - 3.8): Kiểm tra tính hợp lệ của mật khẩu cũ và xác nhận mật khẩu mới.
- Bình luận, Xem chi tiết sản phẩm, Tìm kiếm (Bảng 3.9 - 3.11): Xử lý hiển thị thông tin sản phẩm và nội dung phản hồi.
- Quản lý giỏ hàng (Bảng 3.12): Xử lý 4 thao tác thêm, xem, xóa, sửa số lượng sản phẩm; xử lý ngoại lệ khi số lượng đặt lớn hơn số lượng tồn kho.
- Thanh toán (Bảng 3.13): Nhập thông tin nhận hàng và lựa chọn 1 trong 2 hình thức (chuyển khoản hoặc thanh toán khi nhận hàng).
- Quản lý sản phẩm, chi tiết sản phẩm, danh mục (Bảng 3.14 - 3.16): Các thao tác thêm, sửa, xóa và kiểm tra tính hợp lệ dữ liệu của Admin/Nhân viên.
- Thiết kế sơ đồ và giao diện: Xây dựng các sơ đồ hoạt động (đăng ký, đăng nhập, đổi mật khẩu, quên mật khẩu, thêm giỏ hàng, thanh toán, đánh giá), sơ đồ tuần tự và sơ đồ lớp. Thiết kế giao diện thực tế bao gồm Form đăng nhập/đăng ký, Trang chủ, Trang thông tin tài khoản, Trang danh mục sản phẩm, Trang chi tiết sản phẩm, Trang giỏ hàng, Trang thanh toán và Giao diện trang quản trị Admin.
Kết quả và đóng góp
Kết quả đạt được của đồ án:
- Xây dựng hoàn chỉnh website thương mại điện tử chuyên ngành hàng thời trang với đầy đủ hai phân hệ: giao diện mua sắm cho khách hàng và bảng điều khiển quản trị (Admin Dashboard).
- Thiết lập hệ thống cơ sở dữ liệu quan hệ MySQL chuẩn hóa, lưu trữ toàn diện dữ liệu về sản phẩm, danh mục loại hàng, tài khoản người dùng, đơn hàng và phản hồi bình luận.
- Hiện thực hóa thành công các luồng nghiệp vụ cốt lõi: tìm kiếm sản phẩm theo tên, thêm sản phẩm vào giỏ hàng lưu bằng Session, kiểm tra giới hạn tồn kho, đặt hàng và lựa chọn phương thức thanh toán.
- Thiết lập cơ chế phân quyền bảo mật 4 cấp độ (Admin, Nhân viên, Khách hàng thành viên, Khách vãng lai) cùng các tính năng quản lý nội dung (ẩn/hiện bình luận để phòng chống spam).
Giải pháp và đóng góp của đề tài do tác giả nêu ra:
- Cung cấp tài liệu phân tích thiết kế hệ thống chi tiết bao gồm 19 bảng đặc tả yêu cầu/kịch bản Use Case và 14 sơ đồ mô hình hóa (sơ đồ hoạt động, sơ đồ tuần tự, sơ đồ lớp), tạo tiền đề vững chắc cho việc bảo trì và nâng cấp phần mềm.
- Đề xuất giải pháp website thương mại điện tử gọn nhẹ, tối ưu chi phí vận hành bằng cách ứng dụng nền tảng mã nguồn mở PHP thuần và cơ sở dữ liệu MySQL, phù hợp với năng lực tài chính và quy mô quản lý của các cửa hàng thời trang nhỏ lẻ.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài được chỉ ra trong văn bản:
- Hệ thống chưa tích hợp các cổng thanh toán điện tử trực tuyến tự động cao cấp (như ví điện tử, cổng thanh toán quốc tế) do điều kiện áp dụng thực tế tại các cửa hàng quy mô nhỏ còn gặp rào cản về chi phí và thủ tục tích hợp.
- Cơ chế kết nối cơ sở dữ liệu trong đồ án sử dụng các hàm thư viện
mysql_* truyền thống (chưa nâng cấp lên chuẩn mở rộng mysqli hoặc PDO).
- Việc quản lý phiên làm việc qua Session ở mức cơ bản, cần bổ sung các cơ chế bảo mật nâng cao nếu đưa vào môi trường thương mại thực tế có lưu lượng truy cập lớn.
Hướng phát triển tiếp theo:
- Tích hợp thêm các phương thức thanh toán trực tuyến đa dạng nhằm nâng cao trải nghiệm mua sắm cho khách hàng.
- Nâng cấp mã nguồn kết nối cơ sở dữ liệu lên các chuẩn bảo mật cao hơn, tăng cường khả năng chống tấn công SQL Injection và Cross-Site Scripting (XSS).
- Mở rộng các mô-đun báo cáo thống kê chuyên sâu, tự động hóa biểu đồ phân tích lợi nhuận và doanh thu theo chu kỳ tháng/năm.
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, Kỹ thuật phần mềm hoặc Hệ thống thông tin trong quá trình thực hiện đồ án môn học Phát triển ứng dụng Web hoặc đồ án tốt nghiệp:
- Phần phân tích thiết kế hệ thống (Chương 3): Rất có giá trị đối với người học cần mẫu chuẩn về việc xây dựng bảng phân tích yêu cầu chức năng (Bảng 3.1), bảng phân rã Use Case theo tác nhân (Bảng 3.2) và chuỗi 14 kịch bản Use Case chi tiết có phân tích luồng chính, trường hợp ngoại lệ và trạng thái kết thúc.
- Phần kiến thức lập trình cơ sở (Chương 2): Cung cấp tài liệu tổng hợp đầy đủ các kiểu dữ liệu, các hàm xử lý chuỗi, thời gian, toán học trong MySQL và kỹ thuật điều khiển Session/Cookie trong PHP.
Câu hỏi thường gặp
1. Hệ thống website phân chia quyền hạn của người dùng thành những nhóm tác nhân nào?
Hệ thống xác định 4 nhóm tác nhân gồm: Quản trị viên (Admin - toàn quyền quản lý tài khoản và nghiệp vụ), Nhân viên (quản lý sản phẩm, danh mục, đơn hàng, duyệt bình luận và xem thống kê báo cáo), Khách hàng thành viên (quản lý thông tin cá nhân, đổi mật khẩu, bình luận, like/trả lời comment) và Khách vãng lai (tìm kiếm, xem sản phẩm, quản lý giỏ hàng, đặt hàng, chấm điểm đánh giá và đăng ký tài khoản).
2. Cơ chế quản lý giỏ hàng khi người dùng chưa thanh toán được hiện thực hóa bằng kỹ thuật nào?
Giỏ hàng được quản lý thông qua kỹ thuật lưu trữ phiên Session của PHP ($_SESSION['cart']), cho phép hệ thống duy trì danh sách mặt hàng, số lượng và thông tin sản phẩm tạm thời khi khách hàng chuyển hướng giữa các trang trên website mà không bị mất dữ liệu.
3. Kịch bản Use Case quản lý giỏ hàng xử lý trường hợp ngoại lệ nào liên quan đến kho hàng?
Khi khách hàng nhập hoặc cập nhật số lượng sản phẩm trong giỏ hàng vượt quá số lượng hàng thực tế còn lại trong kho, hệ thống sẽ kích hoạt luồng sự kiện ngoại lệ: gửi thông báo hiển thị số lượng còn lại của mặt hàng đó và yêu cầu người dùng nhập lại số lượng hợp lệ.
4. Website hỗ trợ những phương thức thanh toán nào cho khách hàng khi hoàn tất đặt hàng?
Do định hướng ứng dụng cho cửa hàng quy mô nhỏ, hệ thống hỗ trợ 2 hình thức thanh toán chính trong kịch bản thanh toán: chuyển khoản ngân hàng hoặc thanh toán bằng tiền mặt khi nhận hàng (COD).
5. Phân hệ quản trị cung cấp cho nhân viên những công cụ báo cáo và thống kê nào?
Nhân viên bán hàng được cung cấp các công cụ theo dõi: số lượt người truy cập vào website, báo cáo doanh thu theo ngày, báo cáo lợi nhuận theo ngày, biểu đồ hoạt động kinh doanh theo năm và danh sách các sản phẩm bán chạy nhất.
Kết luận
Đồ án tốt nghiệp của sinh viên Lê Trọng Linh đã hoàn thành việc nghiên cứu cơ sở lý thuyết về lập trình web động và hệ quản trị cơ sở dữ liệu quan hệ, từ đó xây dựng thành công website bán hàng quần áo thời trang trên nền tảng PHP và MySQL. Công trình cung cấp hệ thống tài liệu phân tích thiết kế chi tiết với 16 kịch bản Use Case và các sơ đồ mô hình hóa hành vi hệ thống rõ ràng. Ứng dụng giải quyết trọn vẹn các yêu cầu nghiệp vụ từ trưng bày, tìm kiếm sản phẩm, quản lý giỏ hàng đến xử lý đơn hàng và quản trị bán lẻ cho cửa hàng thời trang vừa và nhỏ.