TỔNG QUAN
TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Kinh doanh mua bán là hoạt động thiết yếu của mỗi cá nhân trong cuộc sống Trong thời đại cạnh tranh khốc liệt, việc giới thiệu sản phẩm đến từng khách hàng với chi phí thấp và hiệu quả cao là thách thức lớn đối với nhà kinh doanh Người tiêu dùng ngày càng có nhu cầu mua sắm đa dạng, chất lượng tốt và phù hợp với túi tiền Chính vì vậy, thương mại điện tử đã phát triển mạnh mẽ trên toàn cầu, trở thành giải pháp tối ưu cho cả doanh nghiệp và người tiêu dùng.
Với sự phát triển của các website bán hàng trực tuyến, người dùng có thể mua mọi loại hàng hóa một cách thuận tiện, nhanh chóng mọi lúc, mọi nơi mà không cần đến tận nơi Các công ty, doanh nghiệp và cá nhân không ngừng đầu tư vào các giải pháp và sản phẩm thương mại điện tử để mở rộng hoạt động kinh doanh trên Internet.
Trong xu hướng phát triển hiện nay, việc mua sắm trở nên dễ dàng và tiện lợi hơn bao giờ hết Chỉ cần một chiếc smartphone hoặc máy tính kết nối internet, người dùng có thể dễ dàng mua sắm các sản phẩm điện máy mong muốn Chính vì vậy, xây dựng website kinh doanh điện máy là một giải pháp hiệu quả để đáp ứng nhu cầu ngày càng tăng của khách hàng trong thị trường trực tuyến.
LÝ DO CHỌN ĐỀ TÀI
Trong thị trường hiện nay, cạnh tranh kinh doanh ngày càng quyết liệt, đòi hỏi các doanh nghiệp lớn và nhà kinh doanh phải tập trung tối đa vào việc thỏa mãn khách hàng Việc đáp ứng nhu cầu khách hàng một cách tốt nhất giúp tăng năng lực cạnh tranh và duy trì vị thế trên thị trường Do đó, chăm sóc khách hàng và nâng cao trải nghiệm người tiêu dùng trở thành yếu tố then chốt để các doanh nghiệp thành công trong cạnh tranh ngày càng khốc liệt này.
Thương mại điện tử có chi phí thấp hơn và hiệu quả cao hơn so với kinh doanh truyền thống Nhờ lợi thế của công nghệ internet, việc truyền tải thông tin về sản phẩm trở nên nhanh chóng, thuận tiện và dễ dàng Kết hợp với dịch vụ giao hàng tận nơi, hình thức này ngày càng phát triển mạnh mẽ trong thị trường hiện nay.
Chương trình xây dựng website bán hàng được thiết kế để đáp ứng nhu cầu của người tiêu dùng trong việc xem và đặt mua các sản phẩm trực tuyến Đặc biệt, trong bối cảnh thiết bị điện tử và điện lạnh ngày càng cần thiết cho cá nhân và hộ gia đình, việc phát triển "Website kinh doanh điện máy" giúp khách hàng dễ dàng lựa chọn các thiết bị phù hợp với nhu cầu của mình Website này không chỉ mang lại sự thuận tiện, an toàn và nhanh chóng trong quá trình mua sắm mà còn góp phần nâng cao trải nghiệm mua sắm trực tuyến cho người tiêu dùng hiện nay.
MỤC TIÊU NGHIÊN CỨU
- Hiểu biết về các giải pháp xây dựng một website thương mại điện tử
- Nắm được cách thức hoạt đông của mô hình Client – Server
- Sử dụng được ngôn ngữ PHP, laravel và hệ quản trị MySQL Server để xây dựng website
Xây dựng một website bán hàng thân thiện, có giao diện đẹp và bố cục trình bày sản phẩm rõ ràng giúp tạo ấn tượng tích cực với khách hàng Thiết kế chi tiết sản phẩm bắt mắt và dễ hiểu mang lại trải nghiệm mua sắm thuận tiện, nhanh chóng cho người dùng Điều này giúp tiết kiệm thời gian khi khách hàng có nhu cầu tìm kiếm và mua sản phẩm, nâng cao hiệu quả kinh doanh online.
- Website giúp cho nhân viên quản lý thông tin một cách trực quan thuận tiện
PHƯƠNG PHÁP NGHIÊN CỨU
- Khảo sát và tham khảo các website bán hàng đã có sẵn
- Tham khảo ý kiến của cửa hàng, người dung
- Tìm hiểu, thu thập thông tin liên quan đến đề tài qua tài liệu, sách, các website khác
- Tìm hiểu, nghiên cứu mô hình MVC
- Hiểu được cách lưu trư dữ liệu của hệ quản trị cơ sở dữ liệu MySQL Server
- Hiểu được cách thức hoạt động của Client – Server
- Tìm hiểu, nghiên cứu các kỹ thuật lập trình và cách thức hoạt động của chương trình
- Sử dụng thư viện boostrap để xây dựng giao diện trang web
- Sử dụng ajax jquery để xử lý dữ liệu
- Nghiên cứu sử dụng framework laravel để giúp xây dựng các tính năng.
PHẠM VI NGHIÊN CỨU
Xây dựng một website thương mại điện tử giúp khách hàng dễ dàng mua sắm các thiết bị điện tử và điện lạnh một cách thuận tiện và nhanh chóng Việc triển khai website còn hỗ trợ các doanh nghiệp nâng cao hiệu quả kinh doanh, mở rộng thị trường và tăng doanh số bán hàng Với một nền tảng trực tuyến chuyên nghiệp, công ty có thể tiếp cận khách hàng mọi lúc mọi nơi, tiết kiệm thời gian và chi phí vận hành Đầu tư vào xây dựng website thương mại điện tử là giải pháp tối ưu để đáp ứng nhu cầu tiêu dùng ngày càng tăng và thúc đẩy sự phát triển bền vững của doanh nghiệp.
CƠ SỞ LÝ THUYẾT
MÔ HÌNH MVC
2.2 Mô hình MVC trong laravel 5
3.1 Sơ đồ Usecase Tổng quát 18
3.2 Sơ đồ tuần tự đăng ký 34
3.3 Sơ đồ tuần tự đăng nhập 35
3.4 Sơ đồ tuần tự thêm sản phẩm vào giỏ hàng 36 3.5 Sơ đồ tuần tự cập nhật sản phẩm trong giỏ hàng 37 3.6 Sơ đồ tuần tự xóa sản phẩm trong giỏ hàng 38
3.7 Sơ đồ tuần tự tìm kiếm sản phẩm 38
3.8 Sơ đồ tuần tự áp dụng mã khuyến mãi 39
3.9 Sơ đồ tuần tự xem sản phẩm 40
3.10 Sơ đồ tuần tự xem chi tiết sản phẩm 40
3.11 Sơ đồ tuần tự đặt hàng 41
3.12 Sơ đồ tuần tự đăng nhập admin 42
3.13 Sơ đồ tuần tự thêm sản phẩm 43
3.14 Sơ đồ tuần tự xóa sản phẩm 44
3.15 Sơ đồ tuần tự sửa sản phẩm 45
3.16 Sơ đồ tuần tự thêm danh mục sản phẩm 46
3.17 Sơ đồ tuần tự cập nhật danh mục sản phẩm 47
3.18 Sơ đồ tuần tự xóa danh mục sản phẩm 48
3.19 Sơ đồ tuần tự thêm thương hiệu sản phẩm 49 3.20 Sơ đồ tuần tự cập nhật thương hiệu sản phẩm 50
3.21 Sơ đồ tuần tự xóa thương hiệu sản phẩm 51
3.22 Sơ đồ tuần tự thêm bài viết 52
3.23 Sơ đồ tuần tự cập nhật bài viết 53
3.24 Sơ đồ tuần tự xóa bài viết 54
3.25 Sơ đồ tuần tự thêm mã khuyến mãi 55
3.26 Sơ đồ tuần tự gửi mã khuyến mãi 56
3.27 Sơ đồ tuần tự xóa mã khuyến mãi 57
3.28 Sơ đồ tuần tự thêm slider 58
3.29 Sơ đồ tuần tự xóa slider 59
3.30 Sơ đồ tuần tự quản lý đơn hàng 60
3.31 Sơ đồ tuần tự thống kê bán hàng 61 vii
3.33 Lược đồ cơ sở dữ liệu 68
4.1 Giao diện banner trang chủ 69
4.2 Giao diện trang chủ top sản phẩm bán chạy 69
4.4 Giao diện trang sản phẩm 70
4.5 Giao diện trang chi tiết sản phẩm 71
4.6 Giao diện trang đăng nhập 72
4.7 Giao diện trang đăng ký 72
4.8 Giao diện xem bài viết 73
4.9 Giao diện xem thông tin liên hệ 73
4.10 Giao diện trang tìm kiếm 74
4.12 Giao diện trang đặt hàng thanh toán 75
4.13 Giao diện trang lịch sử đơn hàng 76
4.14 Giao diện hủy đơn hàng 76
4.15 Giao diện trang lịch sử đơn hàng chi tiết 77
4.16 Giao diện trang đăng nhập 77
4.18 Giao diện trang liệt kê danh mục sản phẩm 78
4.19 Giao diện trang thêm danh mục sản phẩm 79
4.20 Giao diện trang cập nhật danh mục sản phẩm 79 4.21 Giao diện trang liệt kê thương hiệu sản phẩm 80 4.22 Giao diện trang thêm thương hiệu sản phẩm 80 4.23 Giao diện trang cập nhật thương hiệu sản phẩm 81
4.24 Giao diện trang liệt kê sản phẩm 81
4.25 Giao diện trang thêm sản phẩm 82
4.26 Giao diện trang cập nhật sản phẩm 83
4.27 Giao diện trang quản lý hình ảnh sản phẩm 83 4.28 Giao diện trang liệt kê danh mục bài viết 84
4.29 Giao diện trang thêm danh mục bài viết 84
4.30 Giao diện trang cập nhật danh mục bài viết 85
4.31 Giao diện trang liệt kê bài viết 85
4.32 Giao diện trang thêm bài viết 86
4.33 Giao diện trang cập nhật bài viết 86 viii
4.34 Giao diện trang liệt kê mã khuyến mãi 87
4.35 Giao diện trang thêm mã khuyến mãi 87
4.36 Giao diện trang gửi mã khuyến mãi cho khách hàng 88
4.37 Giao diện trang liệt kê slider 88
4.38 Giao diện trang thêm slider 89
4.39 Giao diện trang liệt kê đơn hàng 89
4.40 Giao diện trang quản lý chi tiết đơn hàng 90
4.41 Giao diện trang thống kê 90
CHƯƠNG 1 TỔNG QUAN 1.1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Trong thời đại cạnh tranh khốc liệt ngày nay, việc kinh doanh mua bán là nhu cầu thiết yếu của mỗi người Việc giới thiệu sản phẩm một cách hiệu quả, chi phí thấp đến từng cá nhân trở thành thách thức lớn đối với các nhà kinh doanh Người tiêu dùng ngày càng có nhu cầu sắm sửa đa dạng, sản phẩm chất lượng cao, phù hợp với túi tiền Chính vì vậy, thương mại điện tử đã phát triển mạnh mẽ trên toàn thế giới, mở ra cơ hội mới cho hoạt động mua bán trực tuyến hiệu quả và tiết kiệm.
Với sự ra đời của các website bán hàng trực tuyến, người tiêu dùng có thể mua mọi loại hàng hóa mọi lúc mọi nơi mà không cần đến cửa hàng truyền thống Các doanh nghiệp, cá nhân và công ty không ngừng đầu tư vào các giải pháp thương mại điện tử và cải tiến sản phẩm nhằm thúc đẩy hoạt động bán hàng và thương mại hóa trên Internet.
Với sự phát triển hiện nay, việc mua sắm trở nên dễ dàng và thuận tiện hơn bao giờ hết, chỉ cần một chiếc smartphone hoặc máy tính kết nối internet để mua sắm mọi sản phẩm mong muốn Chính vì thế, xây dựng website kinh doanh điện máy là giải pháp hiệu quả để đáp ứng nhu cầu mua sắm trực tuyến của khách hàng.
1.2 LÝ DO CHỌN ĐỀ TÀI
Trong thị trường ngày nay, cạnh tranh kinh doanh ngày càng khốc liệt, và các doanh nghiệp lớn cũng như nhà kinh doanh đều đặt trọng tâm vào việc tối ưu hóa trải nghiệm khách hàng Việc thỏa mãn khách hàng một cách tốt nhất không chỉ giúp nâng cao uy tín thương hiệu mà còn tạo lợi thế cạnh tranh vượt trội trong thị trường đầy cạnh tranh hiện nay.
Thương mại điện tử có chi phí thấp và hiệu quả cao hơn so với kinh doanh truyền thống Nhờ lợi thế của công nghệ internet, việc truyền tải thông tin về sản phẩm trở nên nhanh chóng, thuận tiện và dễ dàng Sự kết hợp với dịch vụ giao hàng tận nơi giúp thương mại điện tử phát triển mạnh mẽ trong thị trường hiện nay.
Chương trình xây dựng website bán hàng được thiết kế để đáp ứng nhu cầu của người tiêu dùng, giúp họ dễ dàng xem và đặt mua các sản phẩm điện tử-điện lạnh Việc xây dựng “Website kinh doanh điện máy” hướng tới việc tạo thuận lợi, an toàn và nhanh chóng trong quá trình mua sắm trực tuyến, giúp cá nhân và hộ gia đình dễ dàng lựa chọn các thiết bị phù hợp với nhu cầu của mình Đây là giải pháp hiệu quả để nâng cao trải nghiệm mua sắm trực tuyến và thúc đẩy hoạt động kinh doanh trong lĩnh vực điện tử-điện lạnh.
- Hiểu biết về các giải pháp xây dựng một website thương mại điện tử
- Nắm được cách thức hoạt đông của mô hình Client – Server
- Sử dụng được ngôn ngữ PHP, laravel và hệ quản trị MySQL Server để xây dựng website
- Xây dựng được website bán hàng có tính thân thiện, giao diện đẹp, cách trình bày sản phẩm, chi tiết sản phẩm, gây ấn tượng với người mua Mang lại thuận tiện cho người dùng, tiết kiệm được thời gian khi có nhu cầu mua một sản phẩm
- Website giúp cho nhân viên quản lý thông tin một cách trực quan thuận tiện
- Khảo sát và tham khảo các website bán hàng đã có sẵn
- Tham khảo ý kiến của cửa hàng, người dung
- Tìm hiểu, thu thập thông tin liên quan đến đề tài qua tài liệu, sách, các website khác
- Tìm hiểu, nghiên cứu mô hình MVC
- Hiểu được cách lưu trư dữ liệu của hệ quản trị cơ sở dữ liệu MySQL Server
- Hiểu được cách thức hoạt động của Client – Server
- Tìm hiểu, nghiên cứu các kỹ thuật lập trình và cách thức hoạt động của chương trình
- Sử dụng thư viện boostrap để xây dựng giao diện trang web
- Sử dụng ajax jquery để xử lý dữ liệu
- Nghiên cứu sử dụng framework laravel để giúp xây dựng các tính năng
Tạo dựng một website thương mại điện tử giúp đáp ứng nhu cầu mua sắm các thiết bị điện tử-điện lạnh của người tiêu dùng Với nền tảng trực tuyến, khách hàng dễ dàng tìm kiếm và đặt hàng, nâng cao trải nghiệm mua sắm tiện lợi và nhanh chóng Đồng thời, việc triển khai website mang lại lợi ích lớn cho các doanh nghiệp, giúp hoạt động kinh doanh hiệu quả hơn, mở rộng thị trường và tăng doanh số bán hàng một cách tối ưu.
CƠ SỞ LÝ THUYẾT 2.1 MÔ HÌNH MVC
MVC là mô hình thiết kế phần mềm giúp tổ chức mã nguồn theo các phần độc lập, dễ quản lý và mở rộng Mô hình này phân chia ứng dụng thành ba thành phần chính: Model, View và Controller, tạo ra cấu trúc rõ ràng và tối ưu trong phát triển phần mềm Nhờ vậy, việc giữ gìn, cập nhật và mở rộng ứng dụng trở nên dễ dàng hơn, đồng thời cải thiện khả năng tương tác giữa các phần của hệ thống theo một cách có trật tự MVC thường được sử dụng trong phát triển web và các ứng dụng phức tạp để tối ưu hóa quy trình lập trình và nâng cao hiệu quả vận hành.
- Mô hình MVC gồm 3 lớp: Model, View, Controller
Hình 2.1: Mô hình MVC gồm các thành phần chính, trong đó Model đảm nhận trách nhiệm quản lý dữ liệu bằng cách giao tiếp với cơ sở dữ liệu, lưu trữ và truy vấn dữ liệu một cách hiệu quả.
+ View: Lớp này chính là giao diện của ứng dụng, chịu trách nhiệm biểu diễn dữ liệu của ứng dụng thành các dạng nhìn thấy được
Lớp Controller trong ứng dụng đóng vai trò quan trọng trong việc quản lý và điều phối toàn bộ luồng hoạt động của hệ thống Nó nhận các yêu cầu (request) từ phía khách hàng, sau đó điều phối hoạt động của các Model và View để tạo ra output phù hợp Cuối cùng, Controller trả kết quả đã xử lý về cho người dùng một cách chính xác và hiệu quả.
Mô hình hoạt động của hệ thống bắt đầu khi trình duyệt gửi một yêu cầu (request) tới server, sau đó server phân tích và định tuyến dữ liệu đến controller phù hợp Trong một số trường hợp, controller sẽ trực tiếp render view (một template chuyển đổi thành HTML) và gửi lại cho trình duyệt để hiển thị Tuy nhiên, đối với các trang web động, controller thường tương tác với model (đại diện cho các phần tử như Post, có nhiệm vụ giao tiếp với cơ sở dữ liệu) Sau khi gọi vào model để lấy dữ liệu, controller sẽ render view kèm dữ liệu này và gửi kết quả về trình duyệt để hiển thị chính xác nội dung yêu cầu.
FRAMEWORD LARAVEL
Laravel là một PHP framework mã nguồn mở, miễn phí, được thiết kế để hỗ trợ phát triển phần mềm và ứng dụng theo kiến trúc MVC Hiện nay, Laravel đang được xem là framework PHP phổ biến nhất và mang lại hiệu quả cao cho các nhà phát triển [7].
Laravel lần đầu tiên được tạo ra bởi Taylor Otwell vào tháng 6 năm 2011 như một giải pháp thay thế cho CodeIgniter, mang đến nhiều tính năng mới, hiệu quả hơn và dễ sử dụng cho lập trình viên Đến nay, Laravel đã phát triển mạnh mẽ và đạt đến phiên bản 5.8, liên tục được cập nhật với nhiều cải tiến mới nhằm nâng cao hiệu suất và trải nghiệm người dùng.
Laravel 5 giúp lập trình viên tiếp cận các tính năng mới nhất của PHP như Namespaces, Interfaces, Overloading, Anonymous functions và cú pháp mảng ngắn hơn, nâng cao hiệu quả phát triển Nguồn tài nguyên của Laravel rất thân thiện và đa dạng, cung cấp tài liệu phù hợp cho từng phiên bản giúp dễ dàng tham khảo và làm việc Framework này sở hữu API sạch dựa trên thư viện SwiftMailer, cho phép gửi thư dễ dàng qua các dịch vụ đám mây hoặc hệ thống cục bộ, nâng cao khả năng tích hợp và mở rộng của dự án.
Thiếu sự liên kết giữa các phiên bản có thể gây ra gián đoạn hoặc phá vỡ ứng dụng khi cố gắng cập nhật mã nguồn Ngoài ra, Laravel cũng quá nặng đối với các ứng dụng di động, điều này khiến tốc độ tải trang trở nên chậm chạp, ảnh hưởng đến trải nghiệm người dùng và hiệu suất của ứng dụng.
- Mở Terminal (CMD hoặc Git Bash), gõ dòng lệnh sau: “composer global require “laravel/installer””
+ Đối với Windows, đường dẫn là “%appdata%Composervendorbin”
+ Đối với macOS và Linux, đường dẫn là “~/.composer/vendor/bin”
Sau khi cài đặt XAMPP xong, bạn cần truy cập vào thư mục htdocs để chuẩn bị cài đặt mã nguồn Để mở cửa sổ lệnh trên Windows, nhấn Shift cùng với nhấp chuột phải và chọn "Command Prompt" hoặc "Command Window" Việc này giúp bạn dễ dàng thao tác và kiểm tra các bước cài đặt tiếp theo một cách nhanh chóng và thuận tiện.
Here hoặc Git Bash Here) và gõ: “laravel new blog” Trong đó blog chính là tên thư mục laravel project của bạn
Di chuyển thẳng vào thư mục htdocs của XAMPP, tại đây mở cửa sổ lệnh và gõ
“composer create-project –prefer-dist laravel/laravel blog” Trong đó blog chính là tên thư mục laravel project của bạn
2.2.5 Mô hình MVC trong laravel
Hình 2.2: Mô hình hoạt động của MVC
Nguyên lý hoạt động của mô hình MVC:
Khi người dùng gửi yêu cầu qua trình duyệt, yêu cầu này được chuyển đến web server và sau đó đến bộ định tuyến của Laravel Bộ định tuyến của Laravel xác định phương thức phù hợp trong Controller dựa trên mẫu URL, rồi chuyển hướng cho Controller xử lý Controller sẽ thực hiện các tác vụ cần thiết để tạo phản hồi phù hợp, có thể là render ngay lập tức một View hoặc tương tác với Model để truy xuất dữ liệu từ cơ sở dữ liệu, sau đó mới gửi kết quả về trình duyệt Quá trình này đảm bảo mỗi yêu cầu từ người dùng được xử lý chính xác và hiệu quả, phù hợp với kiến trúc của các trang web động.
NGÔN NGỮ
HTML (viết tắt của Hypertext Markup Language) là ngôn ngữ đánh dấu dùng để tạo các trang web trên World Wide Web, đóng vai trò quan trọng cùng với CSS và JavaScript trong thiết kế website Được định nghĩa như một ứng dụng đơn giản của SGML, HTML phù hợp với các tổ chức yêu cầu xuất bản phức tạp và đã trở thành tiêu chuẩn của Internet do W3C duy trì Phiên bản chính thức mới nhất của HTML là HTML5, thay thế các phiên bản cũ như HTML 4.01 (1999) và XHTML.
Trong mỗi trang HTML, các tag (hay còn gọi là elements) đóng vai trò như những khối xây dựng cơ bản của trang web, giúp tạo nên cấu trúc tổ chức rõ ràng Các tag này hình thành nên một cấu trúc cây thư mục, phân chia thành các phần như section, paragraph, heading và các khối nội dung khác, góp phần xây dựng nội dung một cách logic và dễ hiểu.
CSS, viết tắt của Cascading Style Sheets, là ngôn ngữ giúp định dạng và kiểm soát cách các phần tử HTML hiển thị trên màn hình, giấy và các phương tiện khác Với CSS, bạn có thể dễ dàng tùy chỉnh và quản lý layout của nhiều trang web cùng lúc, nâng cao trải nghiệm người dùng và thiết kế chuyên nghiệp Điều này giúp tối ưu hóa khả năng trình bày và hiệu quả trong quá trình xây dựng website.
CSS được thêm vào các phần tử HTML bằng 3 cách:
- Inline - dùng các thuộc tính về kiểu cách (Style) trong các phần tử HTML
- Internal - sử dụng phần tử
- External - dùng tập tin CSS riêng
- Là một ngôn ngữ thông dịch
- Mã nguồn của javascript được nhúng hoặc tích hợp trực tiếp vào tập tin HTML
- Làm cho website trở nên sinh động hơn
- Tạo ra các tương tác với người dung
- Đọc và thay đổi nội dung của các phần tử trong HTML
PHP (Hypertext Preprocessor) là ngôn ngữ lập trình mã nguồn mở, ban đầu được thiết kế để phát triển web nhằm tạo các trang web động và tương tác Được phát triển bởi Rasmus Lerdorf vào năm 1994, PHP ngày nay do nhóm PHP Group quản lý và cập nhật liên tục Mã PHP có thể được thực thi qua dòng lệnh (CLI), nhúng vào mã HTML, hoặc kết hợp với các hệ thống web template, quản lý nội dung và frameworks khác để xây dựng ứng dụng web phức tạp PHP thường được xử lý bởi trình thông dịch PHP, hoạt động như một mô-đun trong máy chủ web hoặc dưới dạng script CGI, giúp máy chủ tạo ra các kết quả trang web động dựa trên mã PHP đã được giải thích và thực thi.
PHP có thể chạy trên nhiều nền tảng khác nhau (Windows, Linux, Unix, Mac OS
PHP tương thích và chạy ổn định trên hầu hết các máy chủ được sử dụng phổ biến hiện nay (Apache, )[10]
PHP hỗ trợ một số lượng lớn các hệ quản trị cơ sở dữ liệu.
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, hoạt động theo mô hình client-server và được các nhà phát triển ưa chuộng trong quá trình phát triển ứng dụng Với khả năng xử lý dữ liệu nhanh, độ ổn định cao và tính dễ sử dụng, MySQL phù hợp cho các ứng dụng truy cập cơ sở dữ liệu trên internet Ngoài ra, MySQL còn có tính khả chuyển cao, hoạt động trên nhiều hệ điều hành và cung cấp nhiều hàm tiện ích mạnh mẽ để hỗ trợ quản lý dữ liệu hiệu quả Nhờ vào tốc độ xử lý nhanh và tính bảo mật cao, MySQL là lựa chọn lý tưởng cho các dự án cần quản lý dữ liệu lớn và an toàn.
Bạn có thể tải về MySQL hoàn toàn miễn phí từ trang chủ, phù hợp với nhiều hệ điều hành khác nhau như Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris và SunOS MySQL là một trong những hệ quản trị cơ sở dữ liệu quan hệ phổ biến nhất, ứng dụng Ngôn ngữ truy vấn có cấu trúc (SQL) để quản lý dữ liệu hiệu quả.
MySQL là hệ quản trị cơ sở dữ liệu phổ biến được sử dụng để hỗ trợ các ngôn ngữ lập trình như NodeJs, PHP, Perl, giúp lưu trữ dữ liệu cho các trang web viết bằng những công nghệ này Việc sử dụng MySQL giúp đảm bảo khả năng quản lý, truy xuất dữ liệu hiệu quả cho các ứng dụng web phát triển trên các nền tảng khác nhau Đây là lựa chọn hàng đầu cho các nhà phát triển khi cần xây dựng hệ thống lưu trữ mạnh mẽ, ổn định và dễ mở rộng cho website của mình.
PHẦN MỀM
Xampp là phần mềm tạo máy chủ web tích hợp sẵn Apache, PHP, MySQL, Mail và các công cụ quản lý như phpAdmin, giúp người dùng dễ dàng thiết lập và vận hành máy chủ web Khác với Appserv, Xampp có giao diện quản lý tiện lợi, cho phép chủ động bật, tắt hoặc khởi động lại các dịch vụ máy chủ bất cứ lúc nào để tối ưu hóa hiệu suất và dễ dàng quản lý.
Xampp là phần mềm máy chủ web mã nguồn mở đa nền tảng do Apache Friends phát triển, gồm Apache HTTP Server, MariaDB database, và interpreters cho PHP và Perl Tên gọi Xampp là viết tắt của Cross-Platform (đa nền tảng-X), Apache (A), MariaDB (M), PHP (P) và Perl (P), thể hiện khả năng hoạt động trên nhiều hệ điều hành như Linux, Windows và Mac Xampp cung cấp một môi trường máy chủ web nhẹ, đơn giản, giúp lập trình viên dễ dàng tạo máy chủ local để kiểm tra và triển khai trang web Sản phẩm này tích hợp đầy đủ các thành phần cần thiết cho phát triển website trong một tệp duy nhất, bao gồm Apache, cơ sở dữ liệu MariaDB và ngôn ngữ lập trình PHP Với tính đa nền tảng, Xampp giúp việc chuyển đổi từ máy chủ local sang máy chủ online trở nên dễ dàng, phù hợp với các quá trình triển khai thực tế.
Xampp bao gồm các thành phần:
- PHP (thiết lập nền tảng để các tập tin script *.php hoạt động)
- MySql (hệ quản trị dữ liệu)
Visual Studio Code là trình biên tập mã nguồn mở của Microsoft, hỗ trợ đa nền tảng Windows, Linux và macOS Nó tích hợp các tính năng mạnh mẽ như chức năng debug, hỗ trợ Git, cú pháp highlighting, tự hoàn thành mã thông minh, snippets và các cải tiến về mã nguồn giúp lập trình viên phát triển hiệu quả hơn Ngoài ra, Visual Studio Code còn cho phép tùy chỉnh linh hoạt như thay đổi theme, phím tắt và các thiết lập cá nhân, đáp ứng nhu cầu làm việc đa dạng của người dùng.
Nó miễn phí và là phần mềm mã nguồn mở, mặc dù gói tải xuống chính thì là có giấy phép
Visual Studio Code là một trình biên tập mã nguồn mở hỗ trợ nhiều ngôn ngữ lập trình khác nhau, phù hợp với nhiều nhu cầu phát triển phần mềm Nhiều chức năng của Visual Studio Code không hiển thị trực tiếp trong các menu hay giao diện người dùng mà thay vào đó được gọi qua khung nhập lệnh hoặc tệp cấu hình JSON, giúp tùy biến và tối ưu hóa trải nghiệm người dùng Việc hiểu rõ cách sử dụng các lệnh và cấu hình này là chìa khóa để tận dụng tối đa khả năng của Visual Studio Code trong quá trình lập trình.
Khung nhập lệnh là giao diện theo dòng lệnh, cho phép người dùng tương tác nhanh chóng Tuy nhiên, nó sẽ biến mất khi nhấp ra ngoài hoặc nhấn tổ hợp phím thao tác khác, gây gián đoạn quá trình nhập lệnh Các dòng lệnh mất nhiều thời gian xử lý cũng sẽ bị hủy nếu người dùng thao tác ngoại vi, ảnh hưởng đến trải nghiệm và hiệu quả công việc trên nền tảng này.
THƯ VIỆN HỖ TRỢ
Bootstrap là một framework HTML, CSS, và JavaScript giúp người dùng dễ dàng thiết kế website chuẩn chỉnh, tối ưu hóa trải nghiệm trên các thiết bị di động như mobile, iPad, tablet, mang lại giao diện thân thiện và phù hợp với nhiều nền tảng khác nhau.
Font Awesome là thư viện phổ biến chứa các biểu tượng hình ảnh dùng trong thiết kế website, giúp website trở nên trực quan hơn Các icon của Font Awesome đều là các ký hiệu dạng font chữ, dễ tùy biến về kích thước và màu sắc, phù hợp để chèn vào các layout trang web Đây là công cụ hữu ích cho các nhà thiết kế web nhằm cải thiện giao diện và trải nghiệm người dùng một cách chuyên nghiệp.
jQuery là một thư viện JavaScript đa năng, nhỏ gọn và nhanh chóng, được tạo ra bởi John Resig vào năm 2006 với phương châm “Write less, do more” (Viết ít hơn, làm nhiều hơn) Thư viện này giúp đơn giản hóa việc duyệt tài liệu HTML, xử lý sự kiện, hoạt ảnh và tương tác Ajax để phát triển web nhanh chóng Các phân tích về web đã chỉ ra rằng, jQuery là thư viện JavaScript phổ biến và được triển khai rộng rãi nhất Nó cung cấp các công cụ giúp viết ít mã hơn để thực hiện các tác vụ phức tạp, từ xử lý DOM đến hiệu ứng hoạt hình, giúp lập trình viên tối ưu hóa quá trình phát triển website.
Thao tác DOM với jQuery giúp dễ dàng lựa chọn các phần tử DOM để duyệt và chỉnh sửa nội dung của chúng một cách đơn giản, hiệu quả như sử dụng CSS Nhờ vào phương tiện Selector mã nguồn mở, bạn có thể dễ dàng thao tác và điều chỉnh các phần tử trên trang web một cách linh hoạt và nhanh chóng.
Xử lý sự kiện jQuery giúp nâng cao khả năng tương tác với người dùng bằng cách xử lý đa dạng các sự kiện một cách dễ dàng Nhờ đó, mã HTML của bạn trở nên rõ ràng hơn, không bị rối tung bởi quá nhiều Event Handler Điều này giúp tối ưu hóa hiệu suất của website và mang lại trải nghiệm người dùng mượt mà hơn.
- Hỗ trợ AJAX jQuery giúp bạn rất nhiều để phát triển một site giàu tính năng và phản hồi tốt bởi sử dụng công nghệ AJAX
- Hiệu ứng động jQuery đi kèm với rất nhiều hiệu ứng động đẹp mà bạn có thể sử dụng cho các website của mình
- Gọn nhẹ jQuery là thư viện gọn nhẹ nó chỉ có kích cỡ khoảng 19KB (gzipped)
jQuery là thư viện JavaScript phổ biến được hỗ trợ rộng rãi trên hầu hết các trình duyệt hiện đại như Chrome, Firefox, Safari, Opera, và Internet Explorer 6.0 trở lên Việc này giúp các nhà phát triển web đảm bảo tính tương thích cao và trải nghiệm người dùng tối ưu trên nhiều nền tảng trình duyệt khác nhau.
Cập nhật và hỗ trợ các công nghệ mới nhất jquery hỗ trợ CSS3 Selector và cú pháp XPath cơ bản
- Có hai cách để sử dụng jQuery:
+ Cài đặt cục bộ: Bạn có thể tải jQuery Library trên máy của bạn và đưa nó vào trong code HTML
+ Sử dụng từ CDN (CDN Based Version): Bạn có thể đưa thư viện jQuery vào trong code HTML một cách trực tiếp từ Content Delivery Network (CDN)[11]
AJAX (Asynchronous JavaScript and XML) là một bộ công cụ mạnh mẽ giúp tải dữ liệu từ server một cách bất đồng bộ, không cần phải làm mới toàn bộ trang web Nó tận dụng XMLHttpRequest (XHR), chức năng tích hợp sẵn trong trình duyệt, để gửi yêu cầu đến server và xử lý dữ liệu phản hồi một cách nhanh chóng và hiệu quả Việc sử dụng AJAX giúp cải thiện trải nghiệm người dùng bằng cách làm cho các ứng dụng web trở nên mượt mà, tương tác hơn và tối ưu hóa hiệu suất tổng thể của trang web.
JQuery cung cấp method $.ajax và một số methods tiện lợi giúp bạn làm việc với XHRs thông qua trình duyệt một cách dễ dàng hơn[11]
Phương thức ajax() trong jquery
$.ajax({ url: 'vidu2.php', type: 'POST', dataType: 'html', data: { a: "content abc", b: "content bcd"
- url: chuỗi chứa đường dẫn tới file cần lấy và trả về dữ liệu
- type: phương thức gửi đi tương tự như của “”, mặc định là “GET” nếu như các bạn không truyền vào
Trong lập trình với jQuery, thuộc tính dataType xác định kiểu dữ liệu trả về là gì, như script, html hoặc json Nếu không cung cấp dataType, jQuery sẽ tự động nhận biết kiểu dữ liệu nhưng tốt nhất bạn nên truyền vào đầy đủ để đảm bảo nhận dữ liệu chính xác nhất Trong các trường hợp phổ biến, kiểu dữ liệu "html" thường được sử dụng để xử lý dữ liệu trả về hiệu quả.
Trong lập trình, truyền dữ liệu sang đường dẫn chỉ định giúp thực hiện xử lý và trả về dữ liệu một cách hiệu quả, tương tự như cách hoạt động của phương thức “post()” Quá trình này cho phép gửi dữ liệu đến server một cách linh hoạt và chính xác, đảm bảo các yêu cầu xử lý được thực hiện đúng theo mục đích của người dùng.
Trong các hướng dẫn về kỹ thuật Ajax, phương thức “done()” đã được thay thế bằng các thuộc tính như “success” trong đối tượng truyền vào hàm “ajax()” của các phiên bản mới hơn của jQuery Các khuyến cáo hiện nay đề xuất sử dụng các phương thức như “done()”, “fail()”, và “always()” để xử lý kết quả Ajax, tương ứng với hoàn thành, thất bại và thực hiện luôn luôn Tùy vào nhu cầu, bạn có thể chọn phương thức phù hợp, và nên gắn chúng vào hàm “ajax()” hoặc lưu vào biến để xử lý kết quả một cách rõ ràng và hiệu quả hơn.
SweetAlert là thư viện mã nguồn mở giúp tạo thông báo trên website với thiết kế đẹp mắt và hiệu ứng chuyển động bắt mắt Việc tích hợp SweetAlert vào trang web rất dễ dàng chỉ cần gọi file sweetalert.min.js qua CDN và thiết lập các thuộc tính cơ bản như tiêu đề (title), nội dung (text), và biểu tượng (icon) Ngoài ra, bạn còn có thể tùy chỉnh thêm các chức năng khác như nút bấm (button) hoặc hiển thị dữ liệu qua Ajax để nâng cao trải nghiệm người dùng.
Morris.js là một thư viện mạnh mẽ với giao diện sáng sủa, được phát triển dựa trên nền tảng jQuery và thư viện Raphael JavaScript, nhằm cung cấp các biểu đồ đẹp mắt, dễ sử dụng và linh hoạt Thư viện hỗ trợ nhiều loại biểu đồ mặc định như biểu đồ đường, cột, vùng và donut, giúp người dùng dễ dàng tạo ra các visual dữ liệu chuyên nghiệp Morris.js phù hợp cho các dự án cần hiển thị dữ liệu trực quan, tối ưu cho việc phát triển các ứng dụng web hiện đại.
MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2B, B2C
B2B (Business to Business) là hình thức Thương mại điện tử diễn ra giữa các doanh nghiệp, thể hiện mối quan hệ mua bán và hợp tác chặt chẽ giữa các tổ chức Mô hình này chiếm hơn 80% tổng doanh số Thương mại điện tử toàn cầu, chứng tỏ vai trò quan trọng trong nền kinh tế số.
Mô hình B2B được nhiều doanh nghiệp ưa chuộng vì giúp giảm chi phí nghiên cứu thị trường và nâng cao hiệu quả marketing Nó tăng khả năng nhận diện thương hiệu và mở rộng cơ hội hợp tác giữa các doanh nghiệp, tạo ra thị trường đa dạng về mặt hàng và đối tác Doanh nghiệp có thể chào hàng, tìm kiếm bạn hàng, đặt hàng, ký kết hợp đồng và thanh toán dễ dàng qua hệ thống này Mô hình B2B đã hỗ trợ đắc lực cho hoạt động kinh doanh quốc tế của các doanh nghiệp, nâng cao hiệu quả kinh doanh và mở rộng thị trường.
Mô hình kinh doanh B2C (Business to Customer) mô tả các giao dịch thương mại trực tiếp giữa doanh nghiệp và người tiêu dùng cuối cùng Trước đây, thuật ngữ này thường liên quan đến việc bán hàng tại cửa hàng hoặc phục vụ tại nhà hàng, nhưng ngày nay nó bao gồm các giao dịch qua các nền tảng bán lẻ trực tuyến Các doanh nghiệp bán trực tiếp cho người tiêu dùng thường được gọi là doanh nghiệp B2C, góp phần thúc đẩy thương mại điện tử phát triển mạnh mẽ.
B2C là một khái niệm được rất nhiều doanh nghiệp, cá nhân ưa chuộng bởi việc giao dịch và hợp tác giữa các chủ thể tham gia mua bán với nhau thường mang lại lợi ích đa dạng và hiệu quả hơn, các doanh nghiệp cũng nhanh chóng vừa khẳng định vị trí trên thị trường, vừa xây dựng thành công thương hiệu đối với khách hàng khi hợp tác và làm việc cùng nhau
B2C truyền thống thường liên quan đến mua sắm tại trung tâm thương mại, ăn uống tại nhà hàng và trả tiền xem phim Tuy nhiên, với sự phát triển của Internet, hình thức kinh doanh B2C đã chuyển đổi mạnh mẽ sang thương mại điện tử Thương mại điện tử B2C cho phép bán hàng hóa và dịch vụ trực tuyến, mang lại sự tiện lợi và mở rộng thị trường cho các doanh nghiệp.
PHÂN TÍCH VÀ THIẾT KẾ
CHỨC NĂNG CỦA CHƯƠNG TRÌNH
Chức năng đăng ký thành viên cho phép khách hàng trở thành thành viên của hệ thống, từ đó có thể truy cập và mua sắm các sản phẩm trên website một cách dễ dàng Việc trở thành thành viên là bước quan trọng để người dùng được phép thực hiện các giao dịch mua hàng một cách thuận tiện và bảo mật hơn Đăng ký thành viên giúp khách hàng hưởng các ưu đãi độc quyền và quản lý đơn hàng hiệu quả hơn trên nền tảng của bạn.
- Đối tượng: Khách vãng lai
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Nhập đầy đủ thông tin và bấm nút đăng ký
Để xử lý đăng ký, hệ thống kiểm tra chính xác thông tin nhập vào và đảm bảo không trùng với các tài khoản đã đăng ký trước đó Nếu thông tin hợp lệ và chưa tồn tại, hệ thống sẽ tạo tài khoản mới cho người dùng và lưu trữ đầy đủ thông tin trong cơ sở dữ liệu Ngược lại, nếu thông tin đã có trong hệ thống, quá trình đăng ký sẽ bị từ chối để đảm bảo tính duy nhất của tài khoản.
+ Đầu ra: Thông báo cho người dùng tạo tài khoản thành công hoặc không b Đăng nhập
Chức năng cho phép khách hàng đăng nhập vào trang web khi đã có tài khoản
- Đối tượng: Khách thành viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Nhập đầy đủ thông tin và bấm nút đăng nhập
+ Xử lý: Hệ thống sẽ tiến hành kiểm tra, nếu thông tin đúng thì cho đăng nhập ngược lại thì không
+ Đầu ra: Thông báo cho khách hàng đăng nhập thành công hoặc không c Đăng nhập
Chức năng cho phép khách hàng đăng nhập vào trang web khi đã có tài khoản
- Đối tượng: Khách thành viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Nhập đầy đủ thông tin và bấm nút đăng nhập
+ Xử lý: Hệ thống sẽ tiến hành kiểm tra, nếu thông tin đúng thì cho đăng nhập ngược lại thì không
+ Đầu ra: Thông báo cho người dùng đăng nhập thành công hoặc không d Quên mật khẩu
Chức năng cho phép lấy lại mật khẩu thông qua mail
- Đối tượng: Khách thành viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Nhập email cần lấy lại mật khẩu và bấm nút
Hệ thống sẽ tiến hành kiểm tra thông tin khách hàng; nếu thông tin đúng, hệ thống sẽ thông báo thành công và gửi email chứa đường link phản hồi đến khách hàng Ngược lại, nếu thông tin không chính xác, hệ thống sẽ không gửi email hoặc thông báo lỗi để khách hàng biết Việc xác thực dữ liệu đảm bảo quá trình xử lý diễn ra chính xác và an toàn.
+ Đầu ra: Thông báo đổi mật khẩu thành công
Chức năng này cho phép khách hàng tìm kiếm sản phẩm một các nhanh chóng
- Đối tượng: Khách vãng lai, khách thành viên
- Luồng sự kiện và dữ liệu:
Khách hàng bắt đầu tìm kiếm bằng cách nhập tên sản phẩm vào ô tìm kiếm và nhấn nút xác nhận Hệ thống sẽ tiến hành kiểm tra dữ liệu nhập vào, và nếu thông tin chính xác, sẽ hiển thị các sản phẩm phù hợp Trong trường hợp thông tin không đúng hoặc không tồn tại, hệ thống sẽ không hiển thị kết quả phù hợp.
+ Đầu ra: Hiển thị sản phẩm nếu tìm thấy hoặc không hiển thị nếu không tìm thấy f Xem thông tin sản phẩm
Chức năng này cho phép khách hàng có thể xem được thông tin chi tiết của sản phẩm
- Đối tượng: Khách vãng lai, khách thành viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Khách hàng bấm vào sản phẩm
+ Xử lý: Hệ thống tiến hành kiểm tra và đưa ra thông tin sản phẩm tương ứng + Đầu ra: Hiển thị thông tin sản phẩm g Xem bài viết
Chức năng này cho phép khách hàng có thể xem được thông tin chi tiết của sản phẩm
- Đối tượng: Khách vãng lai, khách thành viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Khách hàng bấm vào bài viết và bấm nút xem
Hệ thống xử lý bài viết bằng cách kiểm tra và cung cấp thông tin phù hợp, đảm bảo nội dung chính xác và rõ ràng Sau đó, hệ thống hiển thị thông tin bài viết chi tiết để người dùng dễ dàng tiếp cận Đồng thời, cho phép thêm sản phẩm vào giỏ hàng nhanh chóng, nâng cao trải nghiệm mua sắm trực tuyến tiện lợi và hiệu quả.
Chức năng này cho phép khách hàng có thể thêm các sản phẩm vào giỏ hàng
- Đối tượng: khách vãng lai, khách thành viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Khách hàng chọn sản phẩm và bấm nút thêm giỏ hàng
+ Xử lý: Hệ thống sẽ xử lý và thêm sản phẩm vào giỏ hàng
+ Đầu ra: Thông báo đã thêm sản phẩm vào giỏ hàng i Quản lý giỏ hàng
Chức năng này giúp khách hàng có thể cập nhật, xóa các sản phẩm trong giỏ hàng và áp dụng mã khuyến mãi
- Đối tượng: Khách vãng lai, khách thành viên
- Luồng sự kiện và dữ liệu:
+ Cập nhật số lượng sản phẩm trong giỏ hàng
Đầu vào: Khách hàng chọn sản phẩm trong giỏ hàng và bấm tăng hoặc giảm số lượng sản phẩm
Xử lý: Hệ thống sẽ xử lý và cập nhật lại số lượng sản phẩm
Đầu ra: Thông báo cập nhật thành công hoặc không
+ Xoá sản phẩm trong giỏ hàng
Đầu vào: Chọn danh mục sản phẩm cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa
Đầu ra: Thông báo xóa thành công
Đầu vào: Nhập mã khuyến mãi và bấm nút
Xử lý: Hệ thống kiểm tra thông tin mã, nếu đúng thì cho áp dụng ngược lại thì không
Đầu ra: Thông báo áp dụng mã giảm thành công hoặc không j Đặt hàng
Chức năng này cho phép khách hàng đăt mua các sản phẩm trên trang web
- Đối tượng: khách thành viên
- Luồng sự kiện và dữ liệu:
Người dùng đăng nhập vào hệ thống để truy cập trang nhập thông tin đặt hàng, sau đó điền đầy đủ các thông tin cần thiết và nhấn xác nhận mua hàng để hoàn tất quá trình đặt hàng.
+ Xử lý: Hệ thống sẽ tiến hành kiểm tra các thông tin, nếu hợp lệ sẽ cho phép đặt hàng ngược lại thì không
- Đầu ra: Thông báo đã đặt hàng
3.1.2 Người quản lý a Đăng nhập
Chức năng cho phép quản trị viên đăng nhập vào trang web khi đã có tài khoản
- Đối tượng: Quản trị viên
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Nhập các thông tin và bấm nút đăng nhập
+ Xử lý: Hệ thống tiến hành kiểm tra thông tin đăng nhập Nếu đúng thì cho phép đăng nhập ngược lại thì không
+ Đầu ra: Thông báo cho người dùng đăng nhập thành công hoặc không b Quản lý danh mục sản phẩm
Chức năng này giúp quản trị viên có thể xem, thêm, cập nhật, xóa các danh mục sản phẩm của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
+ Thêm danh mục sản phẩm
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của danh mục sản phẩm mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
+ Cập nhật danh mục sản phẩm
Đầu vào: Quản trị viên nhập thông tin cần sửa và bấm nút cập nhật
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo cập nhật thành công hoặc không
+ Xoá danh mục sản phẩm
Đầu vào: Chọn danh mục sản phẩm cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công c Quản lý danh mục bài viết
Chức năng này giúp quản trị viên có thể thêm, cập nhật, xóa các danh mục bài viết của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
+ Thêm danh mục bài viết
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của danh mục bài viết mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
+ Cập nhật danh mục bài viết
Đầu vào: Quản trị viên nhập thông tin cần sửa và bấm nút cập nhật
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo cập nhật thành công hoặc không
+ Xoá danh mục bài viết
Đầu vào: Chọn danh mục bài viết cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công d Quản lý thương hiệu sản phẩm
Chức năng này giúp quản trị viên có thể thêm, cập nhật, xóa các thương hiệu sản phẩm của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của thương hiệu sản phẩm mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
Đầu vào: Quản trị viên nhập thông tin cần sửa và bấm nút cập nhật
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo cập nhật thành công hoặc không
Đầu vào: Chọn bài viết cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công e Quản lý sản phẩm
Chức năng này giúp quản trị viên có thể thêm, sửa, xóa các sản phẩm của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của sản phẩm mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
Đầu vào: Quản trị viên nhập các thông tin cần sửa và bấm nút cập nhật
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo cập nhật thành công hoặc không
Đầu vào: Chọn sản phẩm cần xoá và bấm nút xóa
Xử lý: Hệ thống tiến hành kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công f Quản lý bài viết
Chức năng này giúp quản trị viên có thể thêm, cập nhật, xóa các bài viết của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của bài viết mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
Đầu vào: Quản trị viên nhập thông tin cần sửa và bấm nút cập nhật
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo cập nhật thành công hoặc không
Đầu vào: Chọn bài viết cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công g Quản lý đơn đặt hàng
Chức năng này giúp quản trị viên có thể xem, xóa đơn đặt hàng
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
Đầu vào: Quản trị viên chọn đơn hàng cần xem và bấm nút
Xử lý: Hệ thống tiến hành kiểm tra và hiển thị thông tin đơn hàng
Đầu ra: Hiển thị thông tin chi tiết đơn hàng
Đầu vào: Chọn đơn hàng cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công h Quản lý mã khuyến mãi
Chức năng này giúp quản trị viên có thể xem, thêm, gửi, xóa các mã khuyến mãi của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của mã khuyến mãi mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
Đầu vào: Quản trị viên chọn mã khuyến mãi và bấm nút gửi
Xử lý: Hệ thống tiến hành kiểm tra và gửi mã code cho khách hàng
Đầu ra: Thông báo gửi mã thành công
Đầu vào: Chọn mã khuyến mãi cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công i Quản lý slider
Chức năng này giúp quản trị viên có thể xem, thêm, xóa slider của website
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
Đầu vào: Quản trị viên nhập vào những thông tin cần thiết của slider mới và bấm nút thêm
Xử lý: Kiểm tra xem những trường nào không được để trống Nếu tất cả đều phù hợp thì thêm vào CSDL Ngược lại thì không thêm vào CSDL
Đầu ra: Thông báo thêm thành công hoặc không
Đầu vào: Chọn mã slider cần xoá và bấm nút xóa
Xử lý: Hệ thống kiểm tra và xóa trong CSDL
Đầu ra: Thông báo xóa thành công j Thống kê bán hàng
Chức năng này giúp quản trị viên có thống kê được doanh thu bán hàng
- Đối tượng: Quản trị viên website
- Luồng sự kiện và dữ liệu:
+ Đầu vào: Nhập ngày thống kê mà bấm nút
+ Quá trình: Hệ thống tiến hành kiểm tra và tiến hành thống kê
+ Đầu ra: Hiển thị biểu đồ thống kê.
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Phân tích và thiết kế Usecase a Use case tổng quát
Bảng 3.1: Mô tả use case
STT Tên actor Tên useCase
- Quản lý danh mục sản phẩm,
- Quản lý thương hiệu sản phẩm
- Quản lý danh mục bài viết
- Quản lý mã giảm giá
- Xem thông tin sản phẩm
- Xem thông tin liên hệ
- Thêm sản phẩm vào giỏ hàng
- Xem thông tin sản phẩm
- Xem thông tin liên hệ
- Thêm sản phẩm vào giỏ hàng
Hình 3.1: Biểu dồ use case tổng quát
Bảng 3.2: Đặc tả use case đăng ký
1 Mô tả Là khách hàng muốn trở thành viên để mua hàng và hưởng các ưu đãi
2 Tác nhân Khách hàng vãng lai
3 Tiền điều kiện 1 Thiết bị của khách đã được kết nối internet
2 Khách hàng đang ở trên trang web
3 Khách hàng chưa có tài khoản
4 Hậu điều kiện Khách hàng đã đăng ký thành công
1 Khách hàng truy cập vào trang web
2 Khách hàng chọn phương thức đăng ký
3 Hệ thống hiển thị trang đăng ký
4 Khách hàng nhập đầy đủ thông tin và bấm nút đăng ký
5 Hệ thống kiểm tra thông tin đăng ký
6 Hệ thống thông báo đăng ký thành công và lưu vào CSDL
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực thông tin đăng ký không thành công và hiển thị thông báo
2 Use case quay lại bước 3 của luồng sự kiện chính
Bảng 3.3: Đặc tả use case đăng nhập
1 Mô tả Khách hàng thành viên hoặc admin muốn đăng nhập vào hệ thống
2 Tác nhân Khách hàng thành viên, admin
3 Tiền điều kiện 1 Thiết bị của khách hàng và admin đã được kết nối internet
2 Khách hàng đang ở trên trang web
3 Khách hàng đã có tài khoản
4 Admin đã có tài khoản
4 Hậu điều kiện Khách hàng đăng nhập thành công
1 Khách hàng truy cập vào trang web
2 Khách hàng chọn phương thức đăng nhập
3 Hệ thống hiển thị trang đăng nhập
4 Khách hàng nhập đầy đủ thông tin và bấm nút đăng nhập
5 Hệ thống kiểm tra các thông tin đăng nhập
6 Hệ thống thông báo đăng nhập thành công
2a Admin truy cập vào trang login của admin
3a Hệ thống hiển thị trang đăng nhập
4a Admin nhập đầy đủ thông tin và bấm nút đăng nhập 5a Hệ thống kiểm tra các thông tin đăng nhập
6a Hệ thống thông báo đăng nhập thành công
6 Luồng sự kiến ngoại lệ
1 Hệ thống xác thực thông tin đăng nhập không thành công và hiển thị thông báo
2 Use case quay lại bước 3 và bước 3a của luồng sự kiện chính
Bảng 3.4: Đặc tả use case quên mật khẩu
1 Mô tả Khách hàng quên mật khẩu và muốn lấy lại
2 Tác nhân Khách hàng thành viên
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
3 Khách hàng đã có tài khoản
4 Hậu điều kiện Khách hàng đổi mật khẩu thành công
1 Khách hàng truy cập vào trang web
2 Khách hàng chọn phương thức quên mật khẩu
3 Hệ thống hiển thị input nhập
4 Khách hàng nhập email sau đó bấm nút gởi
5 Hệ thống kiểm tra và thông báo đã gửi tới email của khách hàng một đường link
6 Khách hàng vào email của mình và nhập vào đường link sau đó sẽ dẫn tới trang đổi mật khẩu
7 Khách hàng nhập mật khẩu mới và bấm nút
9 Hệ thống thông báo mật khẩu đã được đổi thành công
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực không thành công
2 Use case quay lại bước 3 của luồng sự kiện chính
Bảng 3.5: Đặc tả use case tìm kiếm sản phẩm
UC tìm kiếm sản phẩm
1 Mô tả Khách hàng tìm kiếm sản phẩm mà mình cần
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
4 Hậu điều kiện Hiển thị danh sách sản phẩm tương ứng
1 Khách hàng truy cập vào trang web
2 Khách hàng nhập tên sản phẩm cần tìm vào input tìm kiếm sau đó bấm nút
4 Hệ thống sẽ kiểm tra thông tin tìm kiếm
5 Hệ thống hiển thị ra sản phẩm tương ứng
6 Luồng sự kiện ngoại lệ
Hệ thống xác thực không có kết quả trùng khớp với thông tin và hiển thị không có sản phẩm
- Xem thông tin sản phẩm:
Bảng 3.6: Đặc tả use case xem thông tin sản phẩm
UC xem thông tin sản phẩm
1 Mô tả Cho phép khách hàng xem chi tiết về các sản phẩm có trong trang web
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
4 Hậu điều kiện Hiển thị thông tin sản phẩm
1 Khách hàng truy cập vào trang web
2 Khách hàng chọn sản phẩm cần xem
3 Hệ thống hiển thị thông tin chi tiết về sản phẩm đã chọn
6 Luồng sự kiện ngoại lệ
Bảng 3.7: Đặc tả use case xem bài viết
1 Mô tả Cho phép khách hàng xem các bài viết của trang web
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
4 Hậu điều kiện Hiển thị nội dung bài viết
1 Khách hàng truy cập vào trang web
2 Khách hàng chọn bài viết cần xem
3 Hệ thống hiển thị nội dung bài viết đã chọn
6 Luồng sự kiện ngoại lệ
- Xem thông tin liên hệ:
Bảng 3.8: Đặc tả use case xem thông tin liên hệ
UC xem thông tin liên hệ
1 Mô tả Khách hàng có thể xem các thông tin liên hệ của trang web
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
4 Hậu điều kiện Hiển thị thông tin liên hệ
1 Khách hàng truy cập vào trang web
2 Khách hàng bấm vào mục liên hệ trên trang web
3 Hệ thống hiển thị các thông tin liên hệ
6 Luồng sự kiên ngoại lệ
- Thêm sản phẩm vào giỏ hàng:
Bảng 3.9: Đặc tả use case thêm sản phẩm vào giỏ hàng
UC thêm sản phẩm vào giỏ hàng
1 Mô tả Cho phép khách hàng thêm sản phẩm muốn mua vào giỏ hàng
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
4 Hậu điều kiện Bạn đã thêm sản phẩm vào giỏ hàng
1 Khách hàng truy cập trang web
2 Khách hàng tìm sản phẩm mình thích
3 Khách hàng chọn số lượng sản phẩm
4 Khách hàng bấm nút thêm giỏ hàng trên trang sản phẩm
5 Hệ thống kiểm tra thông tin
6 Sản phẩm đã được thêm vào giỏ hàng
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực số lượng sản phẩm vượt kho và hiện thông báo giảm số lượng
2 Use case quay lại bước 3 của luồng sự kiện chính
Bảng 3.10: Đặc tả use case quản lý giỏ hàng
UC quản lý giỏ hàng
1 Mô tả Cho phép khách hàng quản lý (cập nhât, xóa) sản phẩm trong giỏ hàng
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
3 Đã có sản phẩm trong giỏ hàng
4 Hậu điều kiện Hiển thị lại giỏ hàng đã sửa và xóa
5 1 Khách hàng truy cập vào trang web
2 Khách chọn phương thức đi đến giỏ hàng tại thông báo của button thêm giỏ hàng hoặc bấm vào giỏ hàng tại trang chủ của website
3 Hệ thống hiển thị trang giỏ hàng 2a Khách hàng bấm chọn số lượng sản phẩm và bấm nút cập nhật
Hệ thống kiểm tra thông tin đảm bảo tính chính xác trước khi cập nhật trạng thái đơn hàng hoặc dữ liệu khách hàng Khi khách hàng bấm nút xóa trong trang giỏ hàng, hệ thống xử lý nhanh chóng và thông báo xóa sản phẩm thành công để nâng cao trải nghiệm người dùng Đồng thời, hệ thống thông báo cập nhật số lượng thành công giúp khách hàng dễ dàng theo dõi các thay đổi về số lượng sản phẩm đã chỉnh sửa.
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực số lượng sản phẩm vượt kho và hiện thông báo
2 Use case quay lại bước 2a của luồng sự kiện chính
- Áp dụng mã khuyến mãi:
Bảng 3.11: Đặc tả use case tính mã khuyến mãi
UC Tính mã giảm giá
1 Mô tả Cho phép khách hàng tính mã khuyến mãi
2 Tác nhân Khách hàng thành viên, khách vãng lai
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
3 Đã có sản phẩm trong giỏ hàng
4 Hậu điều kiện Hiển thị thông báo thêm mã giảm giá thành công
1 Khách hàng truy cập vào trang web
2 Khách chọn phương thức đi đến giỏ hàng tại thông báo của button thêm giỏ hàng hoặc bấm vào giỏ hàng tại trang chủ của website
3 Hệ thống hiển thị trang giỏ hàng 2a Khách hàng nhập vào mã giảm giá tại input nhập của trang giỏ hàng
3a Hệ thống kiểm tra thông tin mã giảm giá 4a Hệ thống thông báo thêm mã giảm gia thành công
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực không thành công và hiển thị thông báo mã giảm giá không đúng
2 Use case quay lại bước 2a của luồng sự kiện chính
Bảng 3.12: Đặc tả use case đặt hàng
1 Mô tả Cho phép khách hàng đặt hàng và thanh toán
2 Tác nhân Khách hàng thành viên
3 Tiền điều kiện 1 Thiết bị của khách hàng đã được kết nối internet
2 Khách hàng đang ở trên trang web
3 Khách hàng có tài khoản và đã đăng nhập
4 Đã có sản phẩm trong giỏ hàng
4 Hậu điều kiện Khách hàng mua hàng thành công
1 Khách hàng đã đăng nhập thành công
2 Khách hàng bấm vào nút đặt hàng tại trang giỏ hàng hoặc bấm vào thanh toán tại trang chủ của website
3 Hệ thống hiển thị giao diện đặt hàng
4 Khách hàng chọn hình thức thanh toán 2a Khách hàng nhập vào thông tin nhận hàng 3a Khách hàng bấm vào thanh toán khi nhận hàng 4a Khách hàng bấm vào nút xác nhận mua hàng 5a Hệ thống kiểm tra thông tin
6a Hê thống thông báo đã mua hàng thành công
6 Luồng sự kiện ngoại lệ
Hệ thống xác thực thông tin nhận hàng không thành công, use case quay lại bước 2a của luồng sự kiện chính
- Quản lý danh mục và thương hiệu sản phẩm:
Bảng 3.13: Đặc tả use case quản lý danh mục hoặc thương hiệu
UC quản lý danh mục và thương hiệu
1 Mô tả Cho phép admin quản lý danh mục và thương hiệu của sản phẩm
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Đã có danh mục hoặc thương hiệu (đối với UC sửa và xóa)
4 Hậu điều kiện Admin thêm sửa xóa danh mục và thương hiệu thành công
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức danh mục hoặc thương hiệu
4 Hệ thống hiển thị ra phương thức quản lý danh mục hoặc thương hiệu
2a Admin bấm vào phương thức thêm danh mục hoặc thương hiệu
3a Hệ thống hiển thị trang thêm danh mục hoặc thương hiệu 4a Admin nhập vào thông tin và bấm nút thêm
5a Hệ thống kiểm tra thông tin 6a Hê thống thông báo đã thêm danh mục hoặc thương hiệu thành công
Để chỉnh sửa danh mục hoặc thương hiệu, admin chọn danh mục hoặc thương hiệu cần sửa và nhấn biểu tượng biểu tượng chỉnh sửa Hệ thống sẽ hiển thị trang chỉnh sửa danh mục hoặc thương hiệu, giúp admin dễ dàng nhập các thông tin cần cập nhật Sau khi điền đầy đủ dữ liệu mới, admin nhấn nút cập nhật để lưu thay đổi Cuối cùng, hệ thống sẽ kiểm tra và xác nhận các thông tin đã được chỉnh sửa chính xác, đảm bảo dữ liệu luôn đảm bảo tính nhất quán và chính xác.
6b Hệ thống thông báo sửa danh mục hoặc thương hiệu thành công
2c Admin chọn danh mục hoặc thương hiệu và bấm nút xóa 3c Hệ thống kiểm tra thông tin
4c Hệ thống thông báo xóa danh mục hoặc thương hiệu thành công
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực thông tin thêm không thành công, use case quay lại bước 4a của luồng sự kiện chính
2 Hệ thống xác thực thông tin sửa không thành công, use case quay lại bước 4b của luồng sự kiện chính
Bảng 3.14: Đặc tả use case quản lý sản phẩm
UC quản lý sản phẩm
1 Mô tả Cho phép admin quản lý sản phẩm
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Đã có sản phẩm (đối với UC sửa và xóa)
4 Hậu điều kiện Admin thêm sửa xóa sản phẩm thành công
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức sản phẩm
4 Hệ thống hiển thị ra phương thức quản lý sản phẩm 2a Admin bấm vào phương thức thêm sản phẩm 3a Hệ thống hiển thị trang thêm sản phẩm 4a Admin nhập vào thông tin và bấm nút thêm 5a Hệ thống kiểm tra thông tin
6a Hê thống thông báo đã thêm sản phẩm thành công 2b Admin chọn sản phẩm và bấm icon sửa sản phẩm 3b Hệ thống hiển thị trang sửa sản phẩm
4b Admin nhập vào thông tin cần sửa và bấm nút cập nhật 5b Hệ thống kiểm tra thông tin
6b Hệ thống thông báo sửa sản phẩm thành công 2c Admin chọn sản phẩm và bấm nút xóa
3c Hệ thống kiểm tra thông tin 4c Hệ thống thông báo xóa sản phẩm thành công
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực thông tin thêm không thành công, use case quay lại bước 4a của luồng sự kiện chính
2 Hệ thống xác thực thông tin sửa không thành công, use case quay lại bước 4b của luồng sự kiện chính
- Quản lý danh mục bài viết:
Bảng 3.15: Đặc tả use case quản lý danh mục bài viết
UC quản lý danh mục bài viết
1 Mô tả Cho phép admin quản lý danh mục bài viết
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Đã có danh mục bài viết (đối với UC sửa và xóa)
4 Hậu điều kiện Admin thêm sửa xóa danh mục bài viết thành công
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức danh mục bài viết
4 Hệ thống hiển thị ra phương thức quản lý danh mục bài viết
Để thêm danh mục bài viết, quản trị viên bấm vào phương thức "Thêm danh mục bài viết" trên hệ thống Sau đó, hệ thống hiển thị trang nhập thông tin danh mục mới để người dùng điền dữ liệu cần thiết Quản trị viên nhập thông tin chính xác và nhấn nút "Thêm" để xác nhận Hệ thống sẽ kiểm tra kỹ lưỡng các thông tin đã nhập nhằm đảm bảo dữ liệu hợp lệ trước khi lưu danh mục mới vào hệ thống.
Hệ thống thông báo đã thêm danh mục bài viết thành công, giúp người dùng nắm bắt ngay lập tức trạng thái thực hiện Quản trị viên chọn danh mục bài viết cần chỉnh sửa và nhấn biểu tượng sửa để bắt đầu quá trình chỉnh sửa Sau đó, hệ thống sẽ hiển thị trang sửa danh mục bài viết, tạo điều kiện thuận lợi cho việc cập nhật và quản lý nội dung dễ dàng và nhanh chóng.
4b Admin nhập vào thông tin cần sửa và bấm nút cập nhật 5b Hệ thống kiểm tra thông tin
6b Hệ thống thông báo sửa danh mục bài viết thành công 2c Admin chọn danh mục bài viết bấm vào nút xóa 3c Hệ thống kiểm tra thông tin
4c Hệ thống thông báo xóa danh mục bài viết thành công
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực thông tin thêm không thành công, use case quay lại bước 4a của luồng sự kiện chính
2 Hệ thống xác thực thông tin sửa không thành công, use case quay lại bước 4b của luồng sự kiện chính
Bảng 3.116: Đặc tả use case quản lý bài viết
UC quản lý bài viết
1 Mô tả Cho phép admin quản lý bài viết
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Đã có bài viết (đối với UC sửa và xóa)
4 Hậu điều kiện Admin thêm sửa xóa danh mục bài viết thành công
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức bài viết
4 Hệ thống hiển thị ra phương thức quản lý bài viết 2a Admin bấm vào phương thức thêm bài viết 3a Hệ thống hiển thị trang thêm bài viết 4a Admin nhập vào thông tin và bấm nút thêm 5a Hệ thống kiểm tra thông tin
6a Hê thống thông báo đã thêm bài viết thành công 2b Admin chọn bài viết cần sửa và bấm icon sửa 3b Hệ thống hiển thị trang sửa bài viết
4b Admin nhập vào thông tin cần sửa và bấm nút cập nhật 5b Hệ thống kiểm tra thông tin
6b Hệ thống thông báo sửa bài viết thành công 2c Admin bấm vào nút xóa
3c Hệ thống kiểm tra thông tin 4c Hệ thống thông báo xóa bài viết thành công
6 Luồng sự kiện ngoại lệ
1 Hệ thống xác thực thông tin thêm không thành công, use case quay lại bước 4a của luồng sự kiện chính
2 Hệ thống xác thực thông tin sửa không thành công, use case quay lại bước 4b của luồng sự kiện chính
- Quản lý mã khuyến mãi:
Bảng 3.17: Đặc tả use case quản lý mã khuyến mãi
UC quản lý mã khuyến mãi
1 Mô tả Cho phép admin quản lý mã khuyến mãi
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Hậu điều kiện Admin thêm, xóa, gửi mã khuyến mãi thành công
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức bài viết
4 Hệ thống hiển thị ra phương thức quản lý mã khuyến mãi 2a Admin bấm vào phương thức thêm mã khuyến mãi 3a Hệ thống hiển thị trang thêm mã khuyến mãi 4a Admin nhập vào thông tin và bấm nút thêm 5a Hệ thống kiểm tra thông tin
6a Hê thống thông báo đã thêm mã khuyến mãi thành công 2b Admin chon mã khuyến mãi và bấm icon gửi
3b Hệ thống kiểm tra thông tin 4b Hệ thống thông báo gửi mã thành công 2c Admin chọn mã khuyến mãi và bấm nút xóa 3c Hệ thống kiểm tra thông tin
4c Hệ thống thông báo xóa mã khuyến mãi thành công
6 Luồng sự kiện ngoại lệ
Hệ thống xác thực thông tin thêm không thành công, use case quay lại bước 4a của luồng sự kiện chính
Bảng 3.18: Đặc tả use case quản lý slider
1 Mô tả Cho phép admin quản lý slider
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Đã có slider (đối với UC xóa)
4 Hậu điều kiện Admin thêm, xóa slider thành công
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức slider
4 Hệ thống hiển thị ra phương thức quản lý slider 2a Admin bấm vào phương thức thêm slider 3a Hệ thống hiển thị trang thêm slider 4a Admin nhập vào thông tin và bấm nút thêm 5a Hệ thống kiểm tra thông tin
6a Hê thống thông báo đã thêm slider thành công 2b Admin chon slider và bấm nút xóa
3b Hệ thống kiểm tra thông tin 4b Hệ thống thông báo xóa slider thành công
6 Luồng sự kiện ngoại lệ
Hệ thống xác thực thông tin thêm không thành công, use case quay lại bước 4a của luồng sự kiện chính
Bảng 3.19: Đặc tả use case quản lý đơn hàng
UC quản lý đơn hàng
1 Mô tả Cho phép admin quản lý đơn hàng
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
4 Hậu điều kiện Admin xem được tình trạng của đơn hàng mà khách đặt và xóa đơn hàng
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức quản lý đơn hàng
4 Hệ thống hiển thị ra phương thức quản lý đơn hàng 2a Admin bấm vào phương thức xem đơn hàng 3a Hệ thống hiển thị trang đơn hàng chi tiết bao gồm các thông tin mà khách đặt cùng với tình trạng của đơn hàng 2b Admin bấm vào phương thức xóa đơn hàng
3b Hệ thống kiểm tra thông tin 4b Hệ thống hiển thị thông báo xóa đơn hàng thành công
6 Luồng sự kiện ngoại lệ
Bảng 3.20: Đặc tả use case thống kê
1 Mô tả Cho phép admin thống kê được số lượng đơn hàng, doanh thu bán được, lợi nhuận và số lượng sản phẩm đã bán
3 Tiền điều kiện 1 Thiết bị của admin đã được kết nối internet
2 Admin đang ở trên trang quản lý của admin
3 Amin có tài khoản và đã đăng nhập
3 Đơn hàng đã được xác nhận
4 Hậu điều kiện Admin xem được biểu đồ thống kê
1 Admin đã đăng nhập thành công
2 Hệ thống hiển thị trang quản lý
2 Admin bấm vào phương thức thống kê
4 Hệ thống hiển thị ra trang thống kê
5 Admin bấm vào hai ô input tương ứng thống kê theo ngày và bấm nút thống kê
6 Hệ thống hiển thị ra biểu đồ thống kê
6 Luồng sự kiện ngoại lệ
3.2.2 Sơ đồ tuần tự a Chức năng đăng ký
Hình 3.2: Sơ đồ tuần tự đăng ký
- Bước 1: Khách hàng truy cập vào trang đăng ký
- Bước 2: Trang đăng ký gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang đăng ký
- Bước 4: Khách hàng nhập các thông tin và bấm nút đăng ký
- Bước 5: Trang đăng ký gửi yêu cầu đăng ký
- Bước 6: Controller yêu cầu truy xuất thông tin tài khoản đăng ký
- Bước 7: Database trả về thông tin tài khoản
- Bước 8: Controller tiến hành kiểm tra các thông tin đăng ký
Trong bước 9, hệ thống sẽ xác minh tính trùng khớp của thông tin đăng ký với dữ liệu tài khoản đã tồn tại Nếu thông tin mới không trùng khớp với các tài khoản trước đó, hệ thống cho phép đăng ký và tạo mới tài khoản trong cơ sở dữ liệu Ngược lại, nếu thông tin trùng khớp, việc đăng ký sẽ bị từ chối để đảm bảo tính duy nhất và an toàn của dữ liệu người dùng.
Hình 3.3: Sơ đồ tuần tự đăng nhập
- Bước 1: Khách hàng truy cập vào trang đăng nhập
- Bước 2: Trang đăng nhập gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang đăng nhập
- Bước 4: Khách hàng nhập các email, mật khẩu và bấm nút đăng nhập
- Bước 5: Trang đăng nhập gởi thông tin email, mật khẩu của khách hàng
- Bước 6: Controller yêu cầu truy xuất các thông tin tài khoản trên database
- Bước 7: Database trả về thông tin tài khoản đăng nhập
- Bước 8: Controller tiến hành kiểm tra các thông tin tài khoản đăng nhập
- Bước 9: Nếu thông tin đúng thì cho phép đăng nhập Ngược lại thì không cho phép đăng nhập
36 c Chức năng thêm sản phẩm vào giỏ hàng
Hình 3.4: Sơ đồ tuần tự thêm sản phẩm vào giỏ hàng
- Bước 1: Khách hàng chọn sản phẩm
- Bước 2: Khách hàng chọn số lượng sản phẩm và bấm nút thêm vào giỏ hàng
- Bước 3: Trang chi tiết sản phẩm gửi yêu cầu thêm sản phẩm vào giỏ hàng
- Bước 4: Controller yêu cầu truy xuất các thông tin của sản phẩm
- Bước 5: Database trả về thông tin sản phẩm
- Bước 6: Controller tiến hành kiểm tra thông tin sản phẩm
- Bước 7: Nếu thông tin đúng thì cho phép thêm và thêm mới sản phẩm vào giỏ hàng Ngược lại thì không cho phép thêm
37 d Chức năng cập nhật sản phẩm trong giỏ hàng
Hình 3.5: Sơ đồ cập nhật sản phẩm trong giỏ hàng
- Bước 1: Khách hàng chọn sản phẩm
- Bước 2: Khách hàng chọn số lượng sản phẩm và bấm nút thêm cập nhật
- Bước 3: Trang giỏ hàng gửi yêu cầu cập nhật
- Bước 4: Controller yêu cầu truy xuất các thông tin của sản phẩm
- Bước 5: Database trả về thông tin sản phẩm
- Bước 6: Controller tiến hành kiểm tra số lượng sản phẩm
- Bước 7: Nếu thông tin đúng thì cho phép cập nhật và cập nhật số lượng sản mới phẩm vào giỏ hàng Ngược lại thì không cho phép cập nhật
38 e Xóa sản phẩm trong giỏ hàng
Hình 3.6: Sơ đồ tuần tự xóa sản phẩm trong giỏ hàng
- Bước 1: Khách hàng chọn số lượng sản phẩm và bấm nút xóa
- Bước 2: Trang giỏ hàng gửi yêu cầu xóa sản phẩm
- Bước 3: Controller yêu cầu truy xuất các thông tin của sản phẩm
- Bước 4: Database trả về thông tin sản phẩm
- Bước 5: Controller tiến hành kiểm tra, xử lý
- Bước 6: Controller tiến hành xóa sản phẩm
- Bước 7: Controller trả về thông báo xóa sản phẩm trong giỏ hàng thành công f Chức năng tìm kiếm sản phẩm
Hình 3.7: Sơ đồ tuần tự tìm kiếm sản phẩm
- Bước 1: Khách hàng nhập thông tin tìm kiếm và bấm nút tìm kiếm
- Bước 2: Trang tìm kiếm gửi yêu cầu tìm kiếm
- Bước 3: Controller yêu cầu truy xuất các thông tin tìm kiếm
- Bước 4: Database trả về thông tin tìm kiếm
- Bước 5: Controller hiển thị kết quả tìm kiếm
39 g Áp dụng mã khuyến mãi
Hình 3.8: Sơ đồ tuần tự áp dụng mã khuyến mãi
- Bước 1: Khách hàng nhập mã khuyến mãi và bấm áp dụng
- Bước 2: Trang giỏ hàng gửi yêu cầu tính mã khuyến mãi
- Bước 3: Controller yêu cầu truy xuất các thông tin của mã khuyến mãi
- Bước 4: Database trả về thông tin mã khuyến mãi
- Bước 5: Controller tiến hành kiểm tra thông tin mã khuyến mãi
- Bước 6: Nếu thông tin đúng thì cho phép áp dung và thêm mã giảm vào giỏ hàng Ngược lại thì không cho phép áp dụng
40 h Chức năng xem sản phẩm
Hình 3.9: Sơ đồ tuần tự xem sản phẩm
- Bước 1: Khách hàng truy cập vào trang sản phẩm và chọn sản phẩm cần xem
- Bước 2: Trang sản phẩm gửi yêu cầu xem sản phẩm
- Bước 3: Controller yêu cầu truy xuất các thông tin sản phẩm
- Bước 4: Database trả về thông tin sản phẩm
- Bước 6: Controller hiển thị thông tin sản phẩm tương ứng i Chức năng xem bài viết
Hình 3.10: Sơ đồ tuần tự xem chi tiết sản phẩm
- Bước 1: Khách hàng truy cập vào trang bài viết và chọn bài viết cần xem
- Bước 2: Trang bài viết gửi yêu cầu xem bài viết
- Bước 3: Controller yêu cầu truy xuất các thông tin bài viết
- Bước 4: Database trả về thông tin bài viết
- Bước 5: Controller hiển thị thông tin bài viết tương ứng
Hình 3.11: Sơ đồ tuần tự đặt hàng
- Bước 1: Khách hàng truy cập vào trang đặt hàng
- Bước 2: Trang đặt hàng gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang đặt hàng
- Bước 4: Khách hàng nhập các thông tin đặt hàng
- Bước 5: Khách hàng chọn hình thức thanh toán và bấm xác nhận
- Bước 6: Trang đặt hàng gửi yêu cầu đặt hàng
- Bước 7: Controller yêu cầu truy xuất các thông tin đặt hàng
- Bước 8: Database trả về các thông tin đặt hàng
- Bước 9: Controller tiến hành kiểm tra các thông tin đặt hàng
Bước 10 trong quá trình đặt hàng yêu cầu khách hàng phải nhập đầy đủ các thông tin phù hợp để được phép đặt hàng Nếu thông tin hợp lệ, hệ thống sẽ tạo mới đơn hàng trong cơ sở dữ liệu, đảm bảo quy trình diễn ra suôn sẻ Ngược lại, nếu thông tin không đầy đủ hoặc không chính xác, việc đặt hàng sẽ bị từ chối để đảm bảo tính chính xác và bảo vệ dữ liệu khách hàng.
42 k Chức năng đăng nhập admin
Hình 3.12: Sơ đồ tuần tự đăng nhập admin
- Bước 1: Admin truy cập vào trang đăng nhập
- Bước 2: Trang đăng nhập gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang đăng nhập
- Bước 4: Admin nhập các email, mật khẩu và bấm nút đăng nhập
- Bước 5: Trang đăng nhập gửi yêu cầu đăng nhập
- Bước 6: Controller yêu cầu truy xuất các thông tin tài khoản đăng nhập
- Bước 7: Database trả về thông tin tài khoản đăng nhập
- Bước 8: Controller tiến hành kiểm tra các thông tin tài khoản đăng nhập
- Bước 9: Nếu thông tin đúng thì cho phép đăng nhập Ngược lại thì không cho phép đăng nhập
43 l Chức năng quản lý sản phẩm
Hình 3.13: Sơ đồ tuần tự thêm sản phẩm
- Bước 1: Admin truy cập vào trang thêm sản phẩm
- Bước 2: Trang thêm sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang thêm sản phẩm
- Bước 4: Admin nhập các thông tin và bấm nút thêm
- Bước 5: Trang thêm sản phẩm gởi yêu cầu thêm mới sản phẩm
- Bước 6: Controller yêu cầu truy xuất các thông tin sản phẩm
- Bước 7: Database trả về thông tin sản phẩm
- Bước 8: Controller tiến hành kiểm tra các thông tin sản phẩm
- Bước 9: Nếu thông tin phù hợp thì cho phép thêm sản phẩm và thêm sản phẩm mới trong database Ngược lại thì không cho phép thêm sản phẩm
Hình 3.14: Sơ đồ tuần tự xóa sản phẩm
- Bước 1: Admin truy cập vào trang quản lý sản phẩm
- Bước 2: Trang quản lý sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang liệt kê sản phẩm
- Bước 4: Admin chọn sản phẩm và bấm nút xóa
- Bước 5: Trang quản lý sản phẩm gửi yêu cầu xóa sản phẩm
- Bước 6: Controller yêu cầu truy xuất các thông tin sản phẩm
- Bước 7: Database trả về thông tin sản phẩm
- Bước 8: Controller tiến hành kiểm tra sản phẩm
- Bước 9: Nếu thông tin phù hợp thì cho phép xóa sản phẩm và xóa sản phẩm trong database Ngược lại thì không cho phép xóa sản phẩm
Hình 3.15: Sơ đồ tuần tự sửa sản phẩm
- Bước 1: Admin truy cập vào trang cập nhật sản phẩm
- Bước 2: Trang cập nhật sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang cập nhật sản phẩm
- Bước 4: Admin nhập các thông tin và bấm nút cập nhật
- Bước 5: Trang cập nhật sản phẩm gửi yêu cầu cập nhật sản phẩm
- Bước 6: Controller yêu cầu truy xuất các thông tin sản phẩm
- Bước 7: Database trả về thông tin sản phẩm
- Bước 8: Controller tiến hành kiểm tra các thông tin sản phẩm
Trong bước 9, hệ thống sẽ kiểm tra tính phù hợp của thông tin trước khi tiến hành cập nhật sản phẩm vào cơ sở dữ liệu Nếu dữ liệu đạt yêu cầu, hệ thống sẽ cho phép cập nhật sản phẩm hiện tại hoặc thêm mới sản phẩm vào database Ngược lại, nếu thông tin không phù hợp, quá trình cập nhật sản phẩm sẽ bị từ chối để đảm bảo dữ liệu chính xác và nhất quán.
46 m Chức năng quản lý danh mục sản phẩm
- Thêm danh mục sản phẩm:
Hình 3.16: Sơ đồ tuần tự thêm danh mục sản phẩm
- Bước 1: Admin truy cập vào trang thêm danh mục sản phẩm
- Bước 2: Trang thêm danh mục sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang thêm danh mục sản phẩm
- Bước 4: Admin nhập các thông tin và bấm nút thêm
- Bước 5: Trang thêm danh mục sản phẩm gởi yêu cầu thêm mới
- Bước 6: Controller gửi yêu cầu truy xuất các thông tin
- Bước 7: Database trả về thông tin danh mục sản phẩm
- Bước 8: Controller tiến hành kiểm tra các thông tin
Bước 9 trong quá trình quản lý sản phẩm yêu cầu xác nhận tính phù hợp của thông tin trước khi cho phép thêm danh mục sản phẩm mới vào cơ sở dữ liệu Nếu thông tin đáp ứng các tiêu chí đã đặt ra, hệ thống sẽ cho phép người dùng thêm danh mục sản phẩm mới, giúp mở rộng danh mục sản phẩm một cách hiệu quả Ngược lại, khi thông tin không phù hợp, việc thêm danh mục mới sẽ bị từ chối để đảm bảo tính chính xác và nhất quán của dữ liệu Việc này giúp đảm bảo hệ thống quản lý danh mục sản phẩm luôn được cập nhật chuẩn xác, hỗ trợ tối ưu trong hoạt động kinh doanh.
- Cập nhật danh mục sản phẩm:
Hình 3.17: Sơ đồ tuần tự cập nhật danh mục sản phẩm
- Bước 1: Admin truy cập vào trang cập nhật danh mục sản phẩm
- Bước 2: Trang cập nhật danh mục sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang cập nhật danh mục sản phẩm
- Bước 4: Admin nhập các thông tin và bấm nút cập nhật
- Bước 5: Trang sửa danh mục sản phẩm gửi yêu cầu cập nhật
- Bước 6: Controller yêu cầu truy xuất các thông tin danh mục sản phẩm
- Bước 7: Database trả về thông tin danh mục sản phẩm
- Bước 8: Controller tiến hành kiểm tra các thông tin
Trong bước 9, hệ thống sẽ kiểm tra tính phù hợp của thông tin trước khi cho phép cập nhật sản phẩm Nếu thông tin hợp lệ, sản phẩm sẽ được cập nhật và danh mục mới sẽ được thêm vào cơ sở dữ liệu Ngược lại, nếu thông tin không chính xác hoặc không phù hợp, quá trình cập nhật sẽ bị từ chối để đảm bảo tính chính xác và nhất quán của dữ liệu sản phẩm.
- Xóa danh mục sản phẩm:
Hình 3 18: Sơ đồ tuần tự xóa danh mục sản phẩm
- Bước 1: Admin truy cập vào trang quản lý danh mục sản phẩm
- Bước 2: Trang quản lý danh mục sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang quản lý danh mục sản phẩm
- Bước 4: Admin chọn danh mục sản phẩm và bấm nút xóa
- Bước 5: Trang quản lý danh mục sản phẩm gửi yêu cầu xóa
- Bước 6: Controller yêu cầu truy xuất các thông tin danh mục
- Bước 7: Database trả về thông tin danh mục
- Bước 8: Controller tiến hành kiểm tra
- Bước 9: Nếu thông tin phù hợp thì cho phép xóa và xóa danh mục trong database Ngược lại thì không cho phép xóa
49 n Chức năng quản lý thương hiệu sản phẩm
- Thêm thương hiệu sản phẩm:
Hình 3.19: Sơ đồ tuần tự thêm thương hiệu sản phẩm
- Bước 1: Admin truy cập vào trang thêm thương hiệu sản phẩm
- Bước 2: Trang thêm thương hiệu sản phẩm gửi yêu cầu hiển thị
- Bước 3: Controller hiển thị trang thêm thương hiệu sản phẩm
- Bước 4: Admin nhập các thông tin và bấm nút thêm
- Bước 5: Trang thêm thương hiệu sản phẩm gởi yêu cầu thêm mới
- Bước 6: Controller gửi yêu cầu truy xuất các thông tin
- Bước 7: Database trả về thông tin thương hiệu sản phẩm
- Bước 8: Controller tiến hành kiểm tra các thông tin