- 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.. - 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 t
Trang 1ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU TẠI KON TUM
NGUYỄN MINH LỰC
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN MÁY
Kon Tum, tháng 04 năm 2022
Trang 2ĐẠI HỌC ĐÀ NẴNG PHÂN HIỆU TẠI KON TUM
ĐỒ ÁN TỐT NGHIỆP
XÂY DỰNG WEBSITE BÁN HÀNG ĐIỆN MÁY
GIẢNG VIÊN HƯỚNG DẪN : TS ĐỒNG NGỌC NGUYÊN THỊNH SINH VIÊN THỰC HIỆN :NGUYỄN MINH LỰC
Kon Tum, tháng 04 năm 2022
Trang 3Em xin chân thành cảm ơn!
Sinh viên
Nguyễn Minh Lực
Trang 4MỤC LỤC
CHƯƠNG 1 TỔNG QUAN 1
1.1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 1
1.2 LÝ DO CHỌN ĐỀ TÀI 1
1.3 MỤC TIÊU NGHIÊN CỨU 1
1.4 PHƯƠNG PHÁP NGHIÊN CỨU 2
1.4.1 Tiếp cận thực tế 2
1.4.2 Nghiên cứu lý thuyết 2
1.4.3 Nghiên cứu công nghệ 2
1.5 PHẠM VI NGHIÊN CỨU 2
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3
2.1 MÔ HÌNH MVC 3
2.2 FRAMEWORD LARAVEL 4
2.2.1 Lịch sử phát triển 4
2.2.2 Ưu điểm 4
2.2.3 Nhược điểm 4
2.2.4 Cách cài đặt 4
2.2.5 Mô hình MVC trong laravel 5
2.3 NGÔN NGỮ 5
2.3.1 HTML 5
2.3.2 CSS 6
2.3.3 Javascript 6
2.3.4 PHP 6
2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL 6
2.5 PHẦN MỀM 7
2.5.1 Xampp 7
2.5.2 Visual studio code 7
2.6 THƯ VIỆN HỖ TRỢ 8
2.6.1 Bootsrap 8
2.6.2 Font awesome 8
2.6.3 JQuery 8
2.6.4 AJAX 9
2.6.5 SweetAlert 10
2.6.6 Morris chart js 10
2.7 MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2B, B2C 10
2.7.1 Mô hình B2B 10
2.7.2 Mô hình B2C 10
CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ 11
3.1 CHỨC NĂNG CỦA CHƯƠNG TRÌNH 11
3.1.1 Khách hàng 11
Trang 53.1.2 Người quản lý 13
3.2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 17
3.2.1 Phân tích và thiết kế Usecase 17
3.2.2 Sơ đồ tuần tự 34
3.2.3 Sơ đồ lớp 62
3.2.4 Lược đồ quan hệ cơ sở dữ liệu 63
CHƯƠNG 4 KẾT QUẢ 69
4.1 GIAO DIỆN TRANG KHÁCH HÀNG 69
4.1.1 Giao diện trang chủ 69
4.1.2 Giao diện trang sản phẩm 70
4.1.3 Giao diện trang chi tiết sản phẩm 71
4.1.4 Giao diện trang đăng nhập 72
4.1.5 Giao diện trang đăng ký 72
4.1.6 Giao diện xem bài viết 73
4.1.7 Giao diện xem thông tin liên hệ 73
4.1.7 Giao diện tìm kiếm 74
4.1.8 Giao diện giỏ hàng 74
4.1.9 Giao diện trang đặt hàng thanh toán 75
4.1.10 Giao diện trang lịch sử đơn hàng 76
4.1.11 Giao diện trang lịch sử đơn hàng chi tiết 77
4.2 GIAO DIỆN NGƯỜI QUẢN LÝ 77
4.2.1 Giao diện trang đăng nhập 77
4.2.2 Giao diện trang chủ 78
4.2.3 Giao diện trang quản lý danh mục sản phẩm 78
4.2.4 Giao diện trang quản lý thương hiệu sản phẩm 80
4.2.5 Giao diện trang quản lý sản phẩm 81
4.2.6 Giao diện trang quản lý danh mục bài viết 84
4.2.7 Giao diện trang quản lý bài viết 85
4.2.8 Giao diện trang quản lý mã khuyến mãi 87
4.2.9 Giao diện trang quản lý slider 88
4.2.10 Giao diện trang quản lý đơn hàng 89
4.2.11 Giao diện trang thống kê 90
CHƯƠNG 5 KẾT LUẬN 91
5.1 ĐÁNH GIÁ KẾT QUẢ 91
5.1.1 Kết quả đạt được 91
5.1.2 Hạn chế của đề tài 91
5.2 HƯỚNG PHÁT TRIỂN 91
DANH MỤC TÀI LIỆU THAM KHẢO 92
Trang 7DANH MỤC BẢNG
Số hiệu bảng Tên bảng Trang 3.1 Mô tả use case 17 3.2 Đặc tả use case đăng ký 19 3.3 Đặc tả use case đăng nhập 19 3.4 Đặc tả use case quên mật khẩu 20 3.5 Đặc tả use case tìm kiếm sản phẩm 21 3.6 Đặc tả use case xem thông tin sản phẩm 21 3.7 Đặc tả use case xem bài viết 22 3.8 Đặc tả use case xem thông tin liên hệ 22 3.9 Đặc tả use case thêm sản phẩm vào giỏ hàng 23 3.10 Đặc tả use case quản lý giỏ hàng 23 3.11 Đặc tả use case tính mã khuyến mãi 24 3.12 Đặc tả use case đặt hàng 25 3.13 Đặc tả use case quản lý danh mục hoặc thương hiệu 25 3.14 Đặc tả use case quản lý sản phẩm 27 3.15 Đặc tả use case quản lý danh mục bài viết 28 3.16 Đặc tả use case quản lý bài viết 29 3.17 Đặc tả use case quản lý mã khuyến mãi 30 3.18 Đặc tả use case quản lý slider 31 3.19 Đặc tả use case quản lý đơn hàng 32 3.20 Đặc tả use case thống kê 33 3.21 Danh sách các lớp 62 3.22 Bảng dữ liệu Admin 63 3.23 Bảng dữ liệu thương hiệu sản phẩm 63 3.24 Bảng dữ liệu danh mục sản phẩm 63 3.25 Bảng dữ liệu sản phẩm 64 3.26 Bảng dữ liệu danh mục bài viết 64 3.27 Bảng dữ liệu bài viết 64 3.28 Bảng dữ liệu hình ảnh sản phẩm 65 3.29 Bảng dữ liệu mã khuyến mãi 65 3.30 Bảng dữ liệu slider 65 3.31 Bảng dữ liệu khách hàng 66 3.32 Dữ liệu về thống kê 66 3.33 Dữ liệu về đơn hàng 66
Trang 83.34 Dữ liệu về đơn hàng chi tiết 67 3.35 Dữ liệu về thông tin đặt hàng 67
Trang 103.32 Sơ đồ lớp 62 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.3 Giao diện footer 70 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.11 Giao diện giỏ hàng 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.17 Giao diện trang chủ 78 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
Trang 114.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
Trang 12CHƯƠNG 1 TỔNG QUAN 1.1 TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
Việc kinh doanh mua bán là nhu cầu không thể thiếu đối với mỗi chúng ta Trong thời đại cạnh tranh việc giới thiệu sản phẩm kinh doanh đến từng cá nhân với chi phí thấp, hiệu quả cao là vấn đề nan giải của nhà kinh doanh cùng với nhu cầu mua sắm với những sản phẩm đa dạng, đạt chất lượng và hợp túi tiền của người dùng Vì vậy thương mại điện tử trở nên phát triển trên toàn thế giới
Do đó, với sự ra đời các website bán hàng qua mạng, mọi người có thể mua mọi thứ hàng hóa mọi lúc mọi nơi mà không cần đến tận nơi để mua Các công ty, các doanh nghiệp và cá nhân không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành thương mại hóa trên Internet
Với sự phát triển như hiện nay thì việc mua sắm thì càng trở nên dễ dàng và thuận tiện hơn cho mọi người Chỉ cần một chiếc smartphone hay máy tính kết nối internet thì
có thể mua được những sản phẩm mình muốn Vậy việc “Xây dựng website kinh doanh điện máy” cũng đáp ứng nhu cầu của mọi người
1.2 LÝ DO CHỌN ĐỀ TÀI
Hiện nay trên thị trường thì việc cạnh tranh về kinh doanh ngày càng trở nên quyết liệt và hầu hết những nhà kinh doanh, những công ty lớn đều rất chú tâm đến việc thỏa mãn khách hàng một cách tốt nhất
So với việc kinh doanh truyền thống thì thương mại điện tử có chi phí thấp, hiệu quả cao hơn Hơn thế nữa, với lợi thế của công nghệ internet nên việc truyền tải thông tin về sản phẩm nhanh chóng, thuận tiện, dễ dàng Kết hợp với bộ phận giao hàng tận nơi nên loại hình này phát triển
Biết được những nhu cầu cần thiết đó chương trình xây dựng website bán hàng được xây dựng để đáp ứng cho mọi người tiêu dùng và thông qua hệ thống website này
họ có xem và đặt mua các sản phẩm Đặc biệt là các thiết bị điện tử-điện lạnh hiện nay rất cần thiết đối với cá nhân và các hộ gia đình Chính vì vậy việc xây dựng “Website kinh doanh điện máy” nhằm giúp cho mọi người có thể dễ dàng chọn mua cho mình các thiết bị điện tử- điện lạnh phù hợp với nhu cầu của bản thân cũng như tạo ra sự an toàn, thuận tiện, nhanh chóng trong quá trình mua sắm trên mạng hiện nay
1.3 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 đượ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
Trang 131.4 PHƯƠNG PHÁP NGHIÊN CỨU
1.4.1 Tiếp cận thực tế
- 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
1.4.2 Nghiên cứu lý thuyết
- 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
1.4.3 Nghiên cứu công nghệ
- 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
1.5 PHẠM VI NGHIÊN CỨU
Xây dựng một website thương mại điện tử để phục vụ nhu cầu mua sắm các thiết
bị điện tử-điện lạnh của mọi người Bên cạnh đó, giúp việc kinh doanh của các công ty hiệu quả hơn khi áp dụng website vào thực tế
Trang 14CHƯƠNG 2
CƠ SỞ LÝ THUYẾT 2.1 MÔ HÌNH MVC
MVC là một mô hình thiết kế, giúp bạn tổ chức code theo từng phần độc lập với nhau, và các phần tương tác với nhau theo một cách nhất định
- Mô hình MVC gồm 3 lớp: Model, View, Controller
Hình 2.1: Mô hình MVC + Model: Lớp này chịu trách nhiệm quản lí dữ liệu: giao tiếp với cơ sở dữ liệu,
chịu trách nhiệm lưu trữ hoặc truy vấn dữ liệu
+ 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
+ Controller: Lớp này đóng vai trò quản lí và điều phối luồng hoạt động của
ứng dụng Tầng này sẽ nhận request từ client, điều phối các Model và View để có thể cho ra output thích hợp và trả kết quả về cho người dùng
- Mô hình hoạt động: Trình duyệt gửi một request lên server, server nhận được request sẽ phân tích và gửi dữ liệu vào controller dựa vào router điều hướng Trong vài trường hợp thì controller sẽ render luôn ra view (một template được chuyển thành HTML) và gửi trả về cho trình duyệt Nhưng thông thường, cho các trang web động, controller sẽ tương tác với một model (đại diện cho một phần tử ví dụ như Post, chịu trách nhiệm giao tiếp với cơ sở dữ liệu) Sau khi gọi vào model, controller sẽ render view với dữ liệu lấy được và trả kết quả về cho trình duyệt để hiển thị [4]
Trang 152.2 FRAMEWORD LARAVEL
Laravel là một PHP framework, có mã nguồn mở và miễn phí, được xây dựng
nhằm hỗ trợ phát triển các phần mềm, ứng dụng, theo kiến trúc MVC Hiện nay, Laravel
đang là PHP framework phổ biến nhất và tốt nhất [7]
2.2.1 Lịch sử phát triển
Phiên bản đầu tiên của Laravel được Taylor Otwell tạo ra vào tháng 6 năm 2011
như một giải pháp thay thế cho CodeIgniter Với framework này, lập trình viên được hỗ trợ nhiều tính năng mới mẻ, hiệu quả và dễ thực hiện hơn Cho đến nay, Laravel đã được phát triển đến phiên bản 5.8 với nhiều cải tiến mới mẻ hơn [7]
2.2.2 Ưu điểm
Sử dụng Laravel 5 giúp các lập trình viên tiếp cận những tính năng mới nhất mà PHP cung cấp, nhất là đối với Namespaces, Interfaces, Overloading, Anonymous
functions và Shorter array syntax Nguồn tài nguyên của Laravel rất thân thiện với các
lập trình viên với đa dạng tài liệu khác nhau để tham khảo Các phiên bản được phát hành đều có nguồn tài liệu phù hợp với ứng dụng của mình Lavarel là framework được trang bị API sạch trên thư viện SwiftMailer, do đó, bạn có thể gửi thư qua các dịch vụ dựa trên nền tảng đám mây hoặc local [7]
2.2.3 Nhược điểm
Thiếu sự liên kết giữa các phiên bản, nếu cố cập nhật code, có thể khiến cho ứng dụng bị gián đoạn hoặc phá vỡ Bên cạnh đó, Lavarel cũng quá nặng cho ứng dụng di động, khiến việc tải trang trở nên chậm chạp [7]
2.2.4 Cách cài đặt
Thông qua Laravel Installer [7]
- 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 xong, bạn di chuyển vào thư mục htdocs của XAMPP Sau đó
mở cửa sổ lệnh (đối với windows thì nhấp Shift + chuột phải và chọn Command Window
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
Thông qua Composer [7]
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
Trang 162.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:
Từ trình duyệt người dùng sẽ gửi 1 yêu cầu đến web server, web server nhận yêu cầu và gửi cho bộ định tuyến (Route) của Laravel Bộ định tuyến của Laravel nhận được yêu cầu và chuyển hướng đến phương thức của lớp Controller thích hợp dựa trên khuôn mẫu định tuyến URL Lúc này Controller sẽ thực hiện việc điều hành của mình nhằm
có phản hồi phù hợp với tương tác từ phía người dùng Trong 1 số trường hợp Controller ngay lập tức render 1 View và gửi trả kết quả cho trình duyệt Còn thông thường, đối với các trang web động, Controller tương tác với Model, gọi đến cơ sở dữ liệu (CSDL) lấy ra các thông tin dữ liệu cần thiết, sau đó mới thực hiện render 1 View và gửi kết quả
Trang 17Mỗi trang HTML chứa một bộ các tag (cũng được gọi là elements), có thể xem
như là việc xây dựng từng khối của một trang web Nó tạo thành cấu trúc cây thư mục bao gồm section, paragraph, heading, và những khối nội dung khác
2.3.2 CSS
CSS là viết tắt của Cascading Style Sheets (tập tin định dạng theo tầng), mô 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 CSS có thể kiểm soát layout của nhiều trang web cùng một lúc
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
2.3.3 Javascript
- 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
2.3.4 PHP
PHP (Hypertext Preprocessor) là ngôn ngữ lập trình có mục đích chung ban đầu được thiết kế để phát triển web Ban đầu nó được tạo ra bởi Rasmus Lerdorf vào năm 1994; việc triển khai tham chiếu PHP hiện được sản xuất bởi The PHP Group Mã PHP
có thể được thực thi với giao diện dòng lệnh (CLI), được nhúng vào mã HTML hoặc được sử dụng kết hợp với các hệ thống web template khác nhau , hệ thống quản lý nội dung web và web framework Mã PHP thường được xử lý bởi trình thông dịch PHP được triển khai dưới dạng mô-đun trong máy chủ web hoặc dưới dạng thực thi Giao diện cổng chung (CGI) Máy chủ web đưa ra kết quả của 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
X, vv.)
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
2.4 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MYSQL
MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở (Relational Database Management System, viết tắt là RDBMS) hoạt động theo mô hình client-server MySQL
là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc
độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn
Trang 18phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS MySQL là một trong những ví dụ rất cơ bản về Hệ quản trị Cơ sở dữ liệu quan hệ
sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL được sử dụng cho việc bổ trợ NodeJs, PHP, Perl, và nhiều ngôn ngữ khác, làm nơi lưu trữ những thông tin trên các trang web viết bằng NodeJs, PHP hay Perl[10]
bố Apache nhẹ và đơn giản, khiến các lập trình viên có thể dễ dàng tạo ra máy chủ web local để kiểm tra và triển khai trang web của mình Tất cả mọi thứ cần cho phát triển một trang web - Apache (ứng dụng máy chủ), Cơ sở dữ liệu (MariaDB) và ngôn ngữ lập trình (PHP) được gói gọn trong 1 tệp Xampp cũng là 1 đa nền tảng vì nó có thể chạy tốt trên cả Linux, Windows và Mac Hầu hết việc triển khai máy chủ web thực tế đều sử dụng cùng thành phần như XAMPP nên rất dễ dàng để chuyển từ máy chủ local sang máy chủ online [10]
Xampp bao gồm các thành phần:
- Apache
- 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)
- Perl
2.5.2 Visual studio code
Visual Studio Code là một trình biên tập mã được phát triển bởi Microsoft dành cho Windows, Linux và macOS Nó hỗ trợ chức năng debug, đi kèm với Git, có syntax highlighting, tự hoàn thành mã thông minh, snippets, và cải tiến mã nguồn Nó cũng cho phép tùy chỉnh, do đó, người dùng có thể thay đổi theme, phím tắt, và cá tùy chọn khác
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ã Nó hỗ trợ nhiều ngôn ngữ và chức năng tùy vào ngôn ngữ sử dụng theo như trong bảng sau Nhiều chức năng của Visual Studio Code không hiển thị ra trong các menu tùy chọn hay giao diện người dùng Thay vào đó, chúng được gọi thông qua khung nhập lệnh hoặc qua một tập tin json (ví dụ như
Trang 19tập tin tùy chỉnh của người dùng) Khung nhập lệnh là một giao diện theo dòng lệnh Tuy nhiên, nó biến mất khi người dùng nhấp bất cứ nơi nào khác, hoặc nhấn tổ hợp phím
để tương tác với một cái gì đó ở bên ngoài đó Tương tự như vậy với những dòng lệnh tốn nhiều thời gian để xử lý Khi thực hiện những điều trên thì quá trình xử lý dòng lệnh
2.6.2 Font awesome
Font Awesome được biết đến là một trong những thư viện chứa các font chữ là
những ký hiệu về hình ảnh được sử dụng trong website Đây là một trong những chữ ký hiệu chính xác là những icons mà thường được sử dụng chèn trong các layout của website
2.6.3 JQuery
JQuery là một thư viện JavaScript đa tính năng, nhỏ gọn, nhanh, được tạo bởi John Resig vào năm 2006 với một phương châm hết sức ý nghĩa: Write less, do more - Viết
ít hơn, làm nhiều hơn
jQuery đơ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 web đã chỉ ra rằng, jQuery là thư viện JavaScript được triển khai rộng rãi nhất
jQuery là một bộ công cụ JavaScript được thiết kế để đơn giản hóa các tác vụ khác nhau bằng cách viết ít code hơn Dưới đây liệt kê một số tính năng tối quan trọng được
hỗ trợ bởi jQuery:
- Thao tác DOM jQuery giúp dễ dàng lựa chọn các phần tử DOM để traverse
(duyệt) một cách dễ dàng như sử dụng CSS, và chỉnh sửa nội dung của chúng bởi sử dụng phương tiện Selector mã nguồn mở
- Xử lý sự kiện jQuery giúp tương tác với người dùng tốt hơn bằng việc xử lý các
sự kiện đa dạng mà không làm cho HTML code rối tung lên với các Event Handler
- 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)
- Được hỗ trợ hầu hết bởi các trình duyệt hiện đại jQuery được hỗ trợ hầu hết bởi
các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+, FF 2.0+, Safari 3.0+, Chrome và Opera 9.0+
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
Trang 20- 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]
2.6.4 AJAX
AJAX "Asynchronous JavaScript and XML" là một bộ công cụ cho phép load dữ liệu từ server mà không yêu cầu tải lại trang Nó sử dụng chức năng sẵn có XMLHttpRequest(XHR) của trình duyệt để thực hiện một yêu cầu đến server và xử lý
- 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 “<form>”, mặc định là “GET” nếu như các bạn không truyền vào
- dataType: xác định dữ liệu trả về thuộc dạng nào? Nếu các bạn không truyền thì jQuery tự động nhận biết kiểu dữ liệu (script, html, json…) Tuy nhiên, tôi khuyến cáo các bạn nên truyền vào đầy đủ để nhận dữ liệu chính xác nhất Và thông dụng nhất chính
Trang 212.6.5 SweetAlert
SweetAlert là một thư viện mã nguồn mở giúp bạn xây dựng những thông báo cho trang web một cách nhanh chóng với tính thẩm mỹ cao và nhiều hiệu ứng chuyển động đẹp mắt Để sử dụng nó cho trang web của chúng ta cũng rất đơn giản, bạn chỉ cần gọi file sweetalert.min.js thông qua CDN và xác định thuộc tính cơ bản cho thông báo như
là title(tiêu đề), text(nội dung), icon Ngoài ra bạn có thể thêm các thuộc tính và chức năng khác như là button (nút), hiển thị thông qua Ajax [9]
2.6.6 Morris chart js
Morris.js là một thư viện mạnh mẽ với một giao diện sáng sủa Nó được phát triển dựa trên nền tảng jQuery và Raphael JavaScript library Mục đích chính của thư viện là cung cấp những biểu đồ đẹp mắt và dễ sử dụng Các loại biểu đồ mặc định bao gồm biểu
đồ đường, cột, biểu đồ vùng, và biểu đồ donut…[5]
2.7 MÔ HÌNH THƯƠNG MẠI ĐIỆN TỬ B2B, B2C
2.7.1 Mô hình B2B
B2B (Business to Business): được hiểu là Thương mại điện tử giữa (TMĐT) các doanh nghiệp, là mối quan hệ mua bán giữa các doanh nghiệp với nhau Mô hình này chiếm tới trên 80% doanh số TMĐT trên toàn cầu
Mô hình B2B được rất nhiều doanh nghiệp ưa chuộng bởi những lợi ích của nó như giảm chi phí về việc nghiên cứu thị trường, marketing hiệu quả, độ nhận diện cao, tăng cơ hội hợp tác giữa nhiều doanh nghiệp với nhau, tạo ra một thị trường đa dạng mặt hàng và các bên tham giá Cá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, thanh toán qua hệ thống này Mô hình này đã giúp hỗ trợ rất nhiều cho các doanh nghiệp trong việc kinh doanh nhất là kinh doanh quốc tế[8]
2.7.2 Mô hình B2C
Mô hình kinh doanh B2C (viết tắt của cụm từ Business to Customer) được sử dụng
để mô tả giao dịch thương mại giữa doanh nghiệp và người tiêu dùng cuối cùng Theo truyền thống, thuật ngữ này dùng để chỉ quá trình bán sản phẩm trực tiếp cho người tiêu dùng, bao gồm mua sắm tại cửa hàng hoặc ăn trong nhà hàng Ngày nay nó mô tả các giao dịch giữa các nhà bán lẻ trực tuyến và khách hàng của họ Hầu hết các doanh nghiệp bán trực tiếp cho người tiêu dùng có thể được gọi là các doanh nghiệp B2C
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 theo truyền thống được gọi là mua sắm tại các trung tâm thương mại, ăn uống tại nhà hàng, trả tiền cho việc xem phim, Tuy nhiên, sự trỗi dậy của Internet đã tạo ra một kênh kinh doanh B2C hoàn toàn mới dưới hình thức thương mại điện tử hoặc bán hàng hóa và dịch vụ qua Internet[8]
Trang 22CHƯƠNG 3 PHÂN TÍCH VÀ THIẾT KẾ 3.1 CHỨC NĂNG CỦA CHƯƠNG TRÌNH
3.1.1 Khách hàng
a Đăng ký
Chức năng cho phép khách hàng đăng ký trở thành thành viên của thống Khi đã trở thành thành viên họ mới được phép mua các sản phẩm trên website
- Đố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ý: Kiểm tra thông tin nhập Nếu thông tin chính xác, không trùng với các tài khoản đã đăng ký trước đó thì sẽ tiến hành tạo tài khoản cho người dùng Sau khi đăng ký thành công thì thông tin của người dùng sẽ được lưu trong cơ sở dữ liệu Ngược lại thì không
+ Đầ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
+ Xử lý: Hệ thống sẽ tiến hành kiểm tra, nếu thông tin đúng thì hệ thống sẽ thông báo và gởi đên email khách hàng một đường link ngược lại thì không
+ Đầu ra: Thông báo đổi mật khẩu thành công
Trang 23e Tìm kiếm sản phẩm
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:
+ Đầu vào: Khách hàng nhập vào tên sản phẩm cần tìm kiếm và bấm nút
+ Xử lý: Hệ thống sẽ tiến hành kiểm tra, nếu thông tin đúng thì sẽ hiện sản phẩm tương ứng ngược lại thì không
+ Đầ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
+ Xử lý: Hệ thống tiến hành kiểm tra và đưa ra thông tin bài viết tương ứng + Đầu ra: Hiển thị thông tin bài viết
h Thêm sản phẩm vào giỏ hàng
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
Trang 24 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
+ Áp dụng mã giảm
Đầ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:
+ Đầu vào: Người dùng đăng nhập vào hệ thống và chuyển đến trang nhập thông tin đặt hàng Người dùng nhập đầy đủ các thông tin trên trang và bấm xác nhận mua 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
Trang 25 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:
+ Thêm thương hiệu
Trang 26 Đầ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
+ Cập nhật thương hiệu
Đầ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á thương hiệu
Đầ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 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
+ Xoá sản phẩm
Đầ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:
+ Thêm bài viết
Trang 27 Đầ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
Đầ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á bài viết
Đầ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:
+ Xem đơn hàng
Đầ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
+ Xoá đơ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:
+ Thêm mã khuyến mãi
Đầ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
+ Gửi mã khuyến mãi
Đầu vào: Quản trị viên chọn mã khuyến mãi và bấm nút gửi
Trang 28 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
+ Xoá mã khuyến mãi
Đầ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: 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ê
3.2 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
1 Người quản lý (admin)
- Đăng nhập
- 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ý bài viết
- Quản lý sản phẩm
Trang 29- Quản lý mã giảm giá
- Xem thông tin sản phẩm
- Xem thông tin liên hệ
- Xem bài viết
- Thêm mã khuyến mãi
- Thêm sản phẩm vào giỏ hàng
3 Khách vãng lai
- Đăng ký
- Quản lý giỏ hàng
- Xem thông tin sản phẩm
- Xem thông tin liên hệ
- Xem bài viết
- Thêm mã khuyến mãi
- Thêm sản phẩm vào giỏ hàng
Hình 3.1: Biểu dồ use case tổng quát
Trang 30b Đặc tả use-case
- Đăng ký:
Bảng 3.2: Đặc tả use case đăng ký
STT Tên use case
UC đă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
5 Luồng sự kiện
chính
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
Bảng 3.3: Đặc tả use case đăng nhập
STT Tên use case
UC đă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
Trang 315 Luồng sự kiện
chính
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
- Quên mật khẩu:
Bảng 3.4: Đặc tả use case quên mật khẩu
STT Tên use case
UC 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
5 Luồng sự kiện
chính
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
8 Hệ thống kiểm tra
9 Hệ thống thông báo mật khẩu đã được đổi thành công
Trang 32Bảng 3.5: Đặc tả use case tìm kiếm sản phẩm
STT Tên use case
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
5 Luồng sự kiến
chính
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
- Xem thông tin sản phẩm:
Bảng 3.6: Đặc tả use case xem thông tin sản phẩm
STT Tên use case
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
Trang 33- Xem bài viết:
Bảng 3.7: Đặc tả use case xem bài viết
STT Tên use case
UC 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
5 Luồng sự kiện
chính
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ệ
Không
- Xem thông tin liên hệ:
Bảng 3.8: Đặc tả use case xem thông tin liên hệ
STT Tên use case
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ệ
5 Luồng sự kiện
chính
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ệ
Không
Trang 34- 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
STT Tên use case
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
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
Bảng 3.10: Đặc tả use case quản lý giỏ hàng
STT Tên use case
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
Trang 35Luồng sự kiện
chính
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
3a Hệ thống kiểm tra thông tin 4a Hệ thống thông báo cập nhật số lượng thành công 2b Khách hàng bấm nút xóa trong trang giỏ hàng 3b Hệ thống xử lý và thông báo xóa sản phẩm thành công
Bảng 3.11: Đặc tả use case tính mã khuyến mãi
STT Tên use case
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
5 Luồng sự kiện
chính
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
Trang 363 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
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
STT Tên use case
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
2 Tác nhân Admin
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
Trang 373 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
5 Luồng sự kiện
chính
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
2b Admin chọn danh mục hoặc thương hiệu và bấm icon sửa 3b Hệ thống hiển thị trang sửa danh mục hoặc thương hiệu 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 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
Trang 38- Quản lý sản phẩm:
Bảng 3.14: Đặc tả use case quản lý sản phẩm
STT Tên use case
UC quản lý sản phẩm
1 Mô tả Cho phép admin quản lý sản phẩm
2 Tác nhân Admin
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
5 Luồng sự kiện
chính
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
Trang 39- 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
STT Tên use case
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
2 Tác nhân Admin
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
5 Luồng sự kiện
chính
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
2a Admin bấm vào phương thức thêm danh mục bài viết 3a Hệ thống hiển thị trang thêm danh mục 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 danh mục bài viết thành công 2b Admin chọn danh mục bài viết cần sửa và bấm icon sửa 3b Hệ thống hiển thị trang sửa danh mục 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 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
Trang 40- Quản lý bài viết:
Bảng 3.116: Đặc tả use case quản lý bài viết
STT Tên use case
UC quản lý bài viết
1 Mô tả Cho phép admin quản lý bài viết
2 Tác nhân Admin
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
5 Luồng sự kiện
chính
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