KHẢO SÁT VÀ ĐÁNH GIÁ HIỆN TRẠNG
Khảo sát cửa hàng
Cửa hàng Sneaker là hệ thống phân phối giày chính hãng tại Việt Nam, chuyên cung cấp các thương hiệu nổi tiếng từ Mỹ, Hàn Quốc và Đức như Gucci, Nike, Vans, và MLB Cơ cấu tổ chức của cửa hàng bao gồm chủ cửa hàng, nhân viên bán hàng, cùng với bộ phận kho và chuyển hàng.
Với 2 năm hoạt động, phục vụ quý khách hàng, Sneaker luôn là điểm đến yêu thích của giới công nghệ nói chung và giới săn giày mới nói riêng Cửa hàng luôn cập nhật các thông tin, mặt hàng mới nhất trên thế giới cũng như ở Việt Nam Đội ngũ nhân viên trẻ đẹp, năng động sẵn sàng phục vụ quý khách hàng kịp thời, đầy đủ nhất
Cửa hàng cam kết cung cấp sản phẩm với giá cả cạnh tranh nhất trên thị trường, đồng thời đảm bảo chất lượng hàng hóa Uy tín với khách hàng là nguyên tắc hàng đầu trong hoạt động và phát triển thương hiệu của cửa hàng.
Cửa hàng hiện chỉ phục vụ khách hàng mua hàng trực tiếp, nhưng với sự mở rộng quy mô bán hàng, cửa hàng đang có kế hoạch phục vụ khách hàng ở xa không thể đến mua trực tiếp.
Đánh giá hiện trạng
Để xây dựng cửa hàng bán giày cần giải quyết nhiều vấn đề:
Chọn vị trí cửa hàng là yếu tố quyết định thành công hay thất bại của doanh nghiệp Địa điểm nên thuận lợi cho việc thu hồi vốn và tối đa hóa lợi nhuận, vì vậy cần lựa chọn nơi có lưu lượng người qua lại cao và tập trung đông đảo khách hàng mục tiêu.
Bố trí cửa hàng không chỉ phụ thuộc vào vị trí mà còn cần thu hút sự chú ý của khách hàng Việc thiết kế cửa hàng phù hợp với quy mô và trang trí để thể hiện đặc điểm thương hiệu là rất quan trọng.
Sắp xếp mặt hàng trong cửa hàng cần dựa vào không gian có sẵn để tối ưu hóa việc trưng bày, đồng thời đảm bảo dễ dàng quan sát, thêm vào hoặc lấy ra sản phẩm.
Đầu tư vốn là yếu tố quan trọng trong việc giải quyết bài toán chi tiêu cho các hoạt động khởi đầu, bao gồm việc thuê hoặc mua địa điểm bán hàng, trang trí cửa hàng, và thuê nhân viên bán hàng.
6 mua mới sản phẩm cũng là công việc đòi hỏi chủ cửa hàng cân nhắc, chi tiêu cho hợp lí
Đầu tư thời gian và công sức là yếu tố quan trọng bên cạnh việc đầu tư vốn Chủ cửa hàng cần dành thời gian để xây dựng và vận hành cửa hàng, cũng như cập nhật thông tin cho các sản phẩm mới.
Cửa hàng mang lại lợi thế cho khách hàng khi cho phép họ dễ dàng quan sát, cảm nhận và trải nghiệm sản phẩm Tuy nhiên, đối với những khách hàng ở xa, việc tiếp cận cửa hàng trở nên khó khăn, dẫn đến việc họ phải tốn nhiều thời gian và chi phí cho việc di chuyển đến cửa hàng.
Khách hàng thường có nhu cầu đóng góp ý kiến nhưng không muốn trực tiếp trao đổi, dẫn đến khó khăn khi cửa hàng không cung cấp hòm thư góp ý.
Quản lý và thống kê thông tin là rất quan trọng đối với cửa hàng, bao gồm dữ liệu về người dùng, nhà cung cấp, nhân viên, sản phẩm và đơn đặt hàng Việc lưu trữ thông tin chủ yếu trên giấy tờ gây bất tiện trong việc sửa đổi và bổ sung, đồng thời có nguy cơ dẫn đến sai lệch thông tin.
Những vấn đề trên là nguyên nhân cản trở hoạt động của kinh doanh cửa hàng.
Hạn chế và khắc phục
Hệ thống hiện tại quản lý cửa hàng bằng phương pháp thủ công ở tất cả các khâu như lưu trữ, thống kê, nhập xuất và tìm kiếm, dẫn đến việc tiêu tốn nhiều thời gian và công sức Hiệu quả đạt được không cao, và đôi khi gây ra những sai lầm không đáng có.
- Khi khách hàng đến mua hàng thì nhân viên phải kiểm tra sản phẩm đó trong kho còn hay không và kiểm tra giá tiền sản phẩm đó
- Trong quá trình thống kê, do lưu trữ các thông tin chủ yếu bằng sổ sách nên khó khăn trong việc tổng hợp các thông tin
Việc cập nhật và lưu trữ thông tin sản phẩm có thể gặp nhiều khó khăn, đặc biệt khi cần thêm hoặc thay đổi dữ liệu Đôi khi, sổ sách bị thất lạc dẫn đến mất mát thông tin quan trọng, gây trở ngại cho việc kiểm tra và giám sát sau này.
- Giới hạn về thời gian mua bán trong ngày
Xây dựng một hệ thống website bán hàng trực tuyến là giải pháp hiệu quả để hỗ trợ và bổ sung cho việc bán hàng trực tiếp, từ đó nâng cao hiệu quả kinh doanh.
- Tăng thêm khả năng tiếp cận khách hàng và độ uy tín của shop
- Web giúp khách hàng dễ dàng xem sản phẩm của shop
- Xây dựng thương hiệu của shop
- Tăng khả năng cạnh tranh
- Thời gian hoạt động không ngừng nghỉ
- Dễ dàng quản lý thông tin sản phẩm, khách hàng, hóa đơn,…
- Hỗ trợ nhân viên, người chủ cửa hàng dễ dàng thực hiện các nghiệp vụ
- Tiết kiệm các chi phí như thuê địa điểm, quảng bá điến người tiêu dùng.
Mô tả bài toán
Cửa hàng quản lý bán giày đã hoạt động nhiều năm và xây dựng được một lượng khách hàng trung thành Để nâng cao hiệu quả kinh doanh và mở rộng quy mô, cửa hàng cần phát triển một hệ thống quản lý giúp ghi chép, thống kê, quảng bá sản phẩm và quản lý hàng hóa một cách hiệu quả hơn.
Hoạt động của hệ thống được xây dựng đảm bảo các yêu cầu sau:
* Đối tượng là Khách hàng:
- Khác hàng có thể xem sản phẩm khi truy cập vào website của cửa hàng
- Khách hàng có thể tìm kiếm thông tin về các loại sản phẩm
Sau khi tìm thấy sản phẩm mong muốn, khách hàng có thể xem thông tin chi tiết như màu sắc, thương hiệu, giá cả, và kích thước, cũng như đánh giá từ người dùng Nếu hài lòng, khách hàng có thể thêm sản phẩm vào giỏ hàng, cập nhật đơn hàng, và điền thông tin cá nhân Đơn hàng sẽ được thiết lập và trong khoảng 3-7 ngày, sản phẩm sẽ được duyệt và giao tận nơi cho khách hàng để thanh toán.
Khách hàng mua lẻ tại cửa hàng có thể chọn phương thức thanh toán phù hợp như tiền mặt hoặc thẻ Sau khi thanh toán, nhân viên sẽ in hóa đơn và giao cho khách hàng.
* Đối với Quản trị viên (Admin):
- Quản lý hàng sản phẩm nhập và xuất của cửa hàng
- Nắm được tình hình mua bán, doanh thu của cửa hàng, việc thống kê được thực hiện trong khoảng thời gian đề ra
- Quản lý thông tin user của người dùng
- Ghi nhận và giải quyết các yêu cầu, phản ánh của khách hàng để cửa hàng trong tình trạng phục vụ tốt nhất
- Quản lý tất cả các chức năng của website
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Biểu đồ usecase tổng quát
Bài toán “Xây dựng website bán giày ”
- Xác định các tác nhân (Actor) và chức năng (Usecase)
1 Admin - Quản lý Danh mục sản phẩm
- Quản lý đơn đặt hàng
- Quản lý bình luận, đánh giá
- Quản lý người dùng (User)
- Quản lý tài khoản cá nhân
Hình 3.1 Xác định Actor và User
- Biểu đồ usecase tổng quát:
Hình 3.2 Biểu đồ UC tổng quát 3.1.1 Biểu đồ Quản lý người dùng (user)
- Biểu đồ usecase chi tiết quản lý user
Hình 3.3 Biểu đồ UC chi tiết Quản lý user
TT Tên UC Xem thông tin User
2 Mục đích Xem thông tin
Mô tả Xem thông tin người dùng
- Quản lý thực hiện chức năng quản lý xem thông tin
- Hệ thống hiển thị danh mục người dùng
- Lựa chọn chức năng xem người dùng
- Lưu người dùng vào trong cơ sở dữ liệu
TT Tên UC Xem bình luận, đánh giá
2 Mục đích Xem bình luận, đánh giá
Xem bình luận, đánh giá , góp ý của người dùng
- Quản lý thực hiện chức năng quản lý người dùng
- Hệ thống hiển thị danh sách bình luận, đánh giá
- Tìm kiếm bình luận đánh giá
TT Tên UC Xóa bình luận, đánh giá
2 Mục đích Xóa bình luận, đánh giá
3 Mô tả Xóa bình luận, đánh giá của user
- Quản lý thực hiện chức năng quản lý user
- Hệ thống hiển thị sanh sách user
- Tìm kiếm bình luận cần xóa
- Lựa chọn chức năng xóa
- xóa và lưu vào cơ sở dữ liệu
5 Luồng sự kiện phụ - Không có bình luận cần xóa
Hình 3.4 UC Quản lý user
Biểu đồ hoạt động Quản lý user
Hình 3.5 Biểu đồ hoạt động quản lý User
3.1.2 Biểu đồ Quản lý danh mục sản phẩm
- Biểu đồ usecase chi tiết Quản lý danh mục sản phẩm
Hình 3.6 Biểu đồ usecase chi tiết danh mục sản phẩm
Tên usecase QL danh mục sản phẩm
Tác Nhân Admin Điều Kiện Đăng nhập vào hệ thống
Admin có quyền quản lý danh mục sản phẩm trên trang web, bao gồm việc thêm, sửa và xóa Để thêm danh mục sản phẩm, Admin chỉ cần nhập tên danh mục và gửi yêu cầu Đối với việc sửa danh mục, Admin chọn danh mục cần chỉnh sửa và thực hiện thao tác tương ứng.
Xóa danh mục sản phẩm - Chọn danh mục sản phẩm cần xóa rồi thao tác xóa
Xem danh mục sản phẩm - Chọn danh mục sản phẩm cần xem
Hình 3.7 Quản lý danh mục sản phẩm
- Biểu đồ hoạt động Quản lý danh mục sản phẩm
Hình 3.8 Biểu đồ hoạt độngdanh mục sản phẩm
- Biểu đồ trình tự Quản lý danh mục sản phẩm
Hình 3.6 Biểu đồ trình tự danh mục sản phẩm 3.1.3 Biểu đồ Đặt hàng
Hình 3.9 Biểu đồ UC chi tiết Đặt hàng
Tác Nhân Khách hàng Điều kiện Truy cập hệ thống
Mô tả Cho phép khách hàng đặt hàng và thanh toán
Luồng sự kiện Xem sản phẩm Hiển thị và xem chi tiết các sản phẩm mà khách hàng yêu cầu
Thêm sản phẩm vào giỏ hàng
- Khách hàng chọn được sản phẩm cần mua
- Hệ thống yêu cầu khách hàng nhập loại sản phẩm, số lượng,v.v cẩn mua
- Thêm sản phẩm vào giỏ hàng
Giỏ hàng - Hiển thị danh sách các sản phẩm đã đặt mua
- Khách hàng có thể hủy sản phẩm hoặc yêu cầu thanh toán
- Hệ thống yêu cầu Khách hàng chọn hình thức thanh toán khi nhận hàng
Ngoại lệ Sản phẩm yêu cầu của khách hàng đã hết hàng
Biểu đồ hoạt động Đặt hàng
Hình 3.11 Biểu đồ hoạt động Đặt hàng
- Biểu đồ trình tự Đặt hàng
Hình 3.12 Biểu đồ trình tự Đặt hàng
3.1.4 Biểu đồ Thống kê báo cáo
- Biểu đồ usecase chi tiết Thống kê báo cáo
Hình 3.13 Biểu đồ UC chi tiết Thống kê báo cáo
Tên Usecase Thống kê báo cáo
Tác Nhân Admin Điều kiện Admin đăng nhập vào hệ thống
Mô tả Xem thống kê doanh thu, thống kê đơn hàng
Luồng sự kiện Thống kê đơn hàng
- Hiển thị số đơn hàng đang có
- Hiển thị tổng số doanh thu
Hình 3.14 Thống kê báo cáo
- Biểu đồ hoạt động thống kê
Hình 3.15 Biểu đồ hoạt động Thống kê báo cáo
- Biểu đồ trình tự Thống kê báo cáo
Hình 3.16 Biểu đồ trình tự Thống kê báo cáo
3.1.5 Biểu đồ Quản lý đơn hàng
- Biểu đồ usecase chi tiết quản lý đơn hang
Hình 3.17 Biểu đồ UC chi tiết Quản lý đơn hàng
Tên Usecase Quản lý đơn hàng
Tác Nhân Admin Điều kiện Admin đăng nhập vào hệ thống
Xem chi tiết đơn hàng cho phép người dùng duyệt đơn hàng, kiểm tra thông tin người đặt và địa chỉ giao hàng Luồng sự kiện này hiển thị thông tin chi tiết về đơn hàng một cách rõ ràng và dễ hiểu.
Duyệt đơn hàng - Hiển thị đơn hàng chờ duyệt
Xem thông tin người đặt
Xem địa chỉ người đặt - Hiển thị địa chỉ
Hình 3.18 Quản lý đơn hàng
Xây dựng biểu đồ lớp
Hình 3.19 Triển khai biểu đồ lớp
Thiết kế cơ sở dữ liệu
3.3.1 Xác định các thực thể thuộc tính
Các bảng cơ sở dữ liệu
STT Tên bảng Mô tả
3 order Bảng đơn đặt hàng
4 items Bảng sản phẩm bán
5 rates Bảng đánh giá sản phẩm
6 comments Bảng bình luận sản phẩm
8 images Bảng ảnh sản phẩm
9 categories Bảng danh mục sản phẩm
10 trademarks Bảng thương hiệu sản phẩm
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID người dùng Int(10) Khóa chính
2 name Tên người dùng Varchar(255)
3 image ảnh đại diện Varchar(255)
4 email Email dung để đăng nhập
5 password Mật khẩu để đăng nhập Varchar(255)
6 level Phân biệt quyền quản trị và người dung
7 phone Số điện thoại Varchar(255)
10 created_at Thời gian tạo Timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID khách hàng Int(10) Khóa chính
2 ct_name Tên người dùng Varchar(255)
3 ct_email Email khách hàng Varchar(255)
4 ct_phone Số điện thoại khách hàng
5 ct_address Địa chỉ khách hàng Varchar(255)
6 ct_gender Giới tính Varchar(255)
7 created_at Thời gian tạo Timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID đặt đơn hàng Int(10) Khóa chính
2 od_customers_id Id khách hàng Int(10) Khóa ngoại
3 od_status Trạng thái đơn hàng Varchar(255)
4 od_code Mã đơn đặt hàng Varchar(255)
5 od_name Tên khách hàng Varchar(255)
6 pro_trademark_id ID thương hiệu Int(10)
7 od_phone Số điện thoại khách hàng
8 od_address Địa chỉ nhận hàng Varchar(255)
9 od_gender Giới tính khách hàng Varchar(255)
10 od_email Email khách hàng Varchar(255)
11 od_total Tổng tiền hóa đơn Int(11)
12 od_payment Hình thức thanh toán Varchar(255)
13 od_note Ghi chú (nếu có) Varchar(255)
14 created_at Thời gian tạo timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID người dùng Int(10) Khóa chính
2 i_order_id Id đơn đặt hàng Int(10) Khóa ngoại
3 i_product_code Mã sản phẩm Varchar(255)
7 created_at Thời gian tạo Timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID ảnh Int(10) Khóa chính
2 r_user_id ID người dùng Int(10) Khóa ngoại
3 r_product_id ID sản phẩm Int(10) Khóa ngoại
6 created_at Thời gian tạo Timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID ảnh Int(10) Khóa chính
2 cm_product_id ID sản phẩm Int(10) Khóa ngoại
3 cm_user_id ID người dùng Int(10) Khóa ngoại
6 created_at Thời gian tạo Timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID người dùng Int(10) Khóa chính
2 tr_name Tên thương hiệu Varchar(255) Khóa ngoại
3 tr_slug Tên không dấu Varchar(255) Khóa ngoại
5 tr_logo ảnh logo Text
6 tr_desc Mô tả Tinyint(4)
7 created_at Thời gian tạo Timestamp
STT Tên trường Mô tả Kiểu dữ liệu Khóa
1 id ID người dùng Int(10) Khóa chính
2 pro_code Mã sản phẩm Varchar(255)
3 pro_slug Tên không dấu Varchar(255)
4 pro_category_id ID danh mục sản phẩm Int(10) Khóa ngoại
5 pro_trademark_id ID thương hiệu Int(10) Khóa ngoại
7 pro_source Nguồn gốc Varchar(255)
8 pro_size Kích cỡ Varchar(255)
9 pro_guarantee Bảo hành Varchar(255)
10 pro_gender Giới tính Varchar(255)
11 pro_hot Nổi bật Varchar(255)
12 pro_price_entry Giá nhập Int(11)
13 pro_sale Giá khuyến mãi Int(11)
14 pro_amount Số lượng Int(11)
15 pro_amount_sell Số lượng đã bán Int(11)
16 pro_view Số lượt xem Int(11)
17 pro_desc Mô tả Text
18 pro_status Trạng thái Tinyint(4)
19 Created_at Thời gian tạo timestamp
Hình 3.28 Products 3.3.2 Mô hình cơ sở dữ liệu vật lý
Hình 3.29 Mô hình cơ sở dữ liệu vật lý
TRIỂN KHAI HỆ THỐNG
Môi trường lập trình
- Ngôn ngữ lập trình PHP
4.1.1 Xây dựng cơ sở dữ liệu
Hình 4.1 Mô hình triển khai cơ sở dữ liệu
PhpMyAdmin là công cụ mã nguồn mở miễn phí, được phát triển bằng PHP, giúp quản lý MySQL qua trình duyệt web Công cụ này cho phép người dùng thực hiện nhiều tác vụ như tạo, sửa đổi và xóa cơ sở dữ liệu, bảng, trường hoặc bản ghi, thực hiện các truy vấn SQL và quản lý người dùng cùng quyền truy cập.
Các tính năng của PHPMyAdmin
Một số tính năng thường được sử dụng trên phpMyAdmin:
Quản lý user(người dùng): thêm, xóa, sửa(phân quyền)
Quản lý cơ sở dữ liệu: tạo mới, xóa, sửa, thêm bảng, hàng, trường, tìm kiếm đối tượng
Nhập xuất dữ liệu(Import/Export): hỗ trợ các định dạng SQL, XML và CSV
Thực hiện các truy vấn MySQL, giám sát quá trình và theo dõi
Sao lưu và khôi phục(Backup/Restore): Thao tác thủ công
Công cụ hỗ trợ lập trình
Xampp là phần mềm giúp tạo máy chủ web, tích hợp FTP Server, Apache, PHP, MySQL và phpMyAdmin Với giao diện dễ sử dụng, Xampp cho phép người dùng dễ dàng bật, tắt hoặc khởi động lại các dịch vụ máy chủ.
Visual Studio Code là một trình soạn thảo mã nguồn mạnh mẽ do Microsoft phát triển, tương thích với các hệ điều hành Windows, Linux và macOS Nó cung cấp tính năng gỡ lỗi (debug) và tích hợp sẵn Git, giúp người dùng quản lý mã nguồn hiệu quả.
Phần mềm này nổi bật với 31 cú pháp, tính năng tự hoàn thành mã thông minh và cải tiến mã nguồn Người dùng có thể tùy chỉnh giao diện, phím tắt và các tùy chọn khác Đặc biệt, nó hoàn toàn miễn phí và là phần mềm mã nguồn mở.
Hình 4.3 Giao diện Visual studio code
Giao diện ứng dụng website
- Trang chỉ tiết sản phẩm
Hình 4.7 Trang chỉ tiết sản phẩm
Giao diện quản trị (Admin)
- Trang danh mục sản phẩm
Hình 4.11 Trang danh mục sản phẩm
- Trang tạo mới sản phẩm
Hình 4.12 Trang tạo mới sản phẩm
Kiểm thử hệ thống
Hình 4.13 Logo phần mềm kiểm thử 4.3.2 Xây dựng bộ kiểm thử
4.3.2.1 Đăng nhập trang người dùng
- Trường hợp đăng ký thành công
Hình 4.14 Đăng kí thành công
- Trường hợp đăng ký thông thành công email đã tồn tại
Hình 4.15 Đăng kí không thành công
- Trường hớp đăng kí không thành công thiếu ký tự
Hình 4.16 Đăng kí không thành công thiếu ký tự
- Trường hợp đăng nhập thành công
Hình 4.17 Đăng nhập thành công
- Trường hợp đăng nhập không thành công sai tài khoản, mật khẩu
Hình 4.17 Đăng nhập không thành công
- Trường hợp thêm vào giỏ mua hàng thanh công
Hình 4.18 Thêm vào giỏ mua hàng thành công
- Trường hợp mua hàng ngay thành công
Hình 4.19 Mua hàng thành công 4.3.2.2 Đăng nhập trang Admin
- Trường hợp duyệt đơn thành công
Hình 4.20 Duyệt đơn thành công
- Trường hợp chuyển hành động đang giao thành công
Hình 4.21 Chuyển hành động đang giao thành công
- Trường hợp đã giao thành công
Hình 4.22 Đã giao thành công
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
Những kết quả đạt được
Tiếp cận được bài toán thực tế
Xây dựng được kho dữ liệu lưu trữ sản phẩm của cửa hàng
Xây dựng được một cơ sở dữ liệu chuẩn để lưu trữ số liệu
Xây dựng được một website quản lý và bán hàng trên mạng.
Những mặt hạn chế
Hệ thống chưa hỗ trợ thanh toán online
Giao diện hệ thống chưa được đẹp
Hệ thống còn nhiễu lỗi nhỏ.
Hướng phát triển
Hướng phát triển tiếp theo là khắc phục những mặt hạn chế của hệ thống như:
Hỗ trợ thêm chức năng thanh toán online
Fix toàn bộ lỗi của hệ thống
Thêm tác nhân: Nhân viên